Browse Source

在建-质量检测

dev_kxc
xzt 1 year ago
parent
commit
0022f0f406
  1. 10
      jwtech-admin-page/src/api/build/attachment.js
  2. 7
      jwtech-admin-page/src/api/build/subProject.js
  3. 3
      jwtech-admin-page/src/router/index.js
  4. 264
      jwtech-admin-page/src/views/build/attachment/index.vue
  5. 281
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/qualityControl/options/EngineeringQualitySupervisionAndInspection.vue
  6. 466
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/qualityControl/options/components/divAssess.vue
  7. 380
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/qualityControl/options/components/unitAssess.vue
  8. 28
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/qualityControl/options/components/viewReport.vue
  9. 634
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/qualityControl/options/engineeringQualityEvaluation.vue
  10. 830
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/qualityControl/options/engineeringQualityInspection.vue
  11. 14
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/qualityControl/options/itemDivision/components/itemDivisionManage.vue
  12. 258
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/qualityControl/options/itemDivision/components/segmentProject.vue
  13. 34
      jwtech-admin-page/src/views/building/projectInfo/projectProcess/qualityControl/options/itemDivision/components/unitProject.vue

10
jwtech-admin-page/src/api/build/attachment.js

@ -9,6 +9,16 @@ export function listAttachment(query) {
}) })
} }
// 获取质量报告合格率
export function listAttachmentRate(query) {
return request({
url: '/build/attachment/listReport',
method: 'post',
data: query
})
}
// 查询工程质量报告详细 // 查询工程质量报告详细
export function getAttachment(id) { export function getAttachment(id) {
return request({ return request({

7
jwtech-admin-page/src/api/build/subProject.js

@ -16,6 +16,13 @@ export function getSubProject(id) {
method: 'get' method: 'get'
}) })
} }
// 查询分部工程详细(通过单位工程id)
export function formUnitGetSubProject(id) {
return request({
url: '/build/subProject/getSubProject/' + id,
method: 'get'
})
}
// 新增分部工程 // 新增分部工程
export function addSubProject(data) { export function addSubProject(data) {

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

@ -133,7 +133,8 @@ export const constantRoutes = [
] ]
const router = new Router({ const router = new Router({
mode: 'hash', // 去掉url中的# mode: 'hash',
// mode: 'history', // 去掉url中的#
base:"/admin/", base:"/admin/",
scrollBehavior: () => ({ y: 0 }), scrollBehavior: () => ({ y: 0 }),
routes: constantRoutes routes: constantRoutes

264
jwtech-admin-page/src/views/build/attachment/index.vue

@ -1,6 +1,12 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> <el-form
:model="queryParams"
ref="queryForm"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<el-form-item label="工程监测id" prop="supervisionId"> <el-form-item label="工程监测id" prop="supervisionId">
<el-input <el-input
v-model="queryParams.data.supervisionId" v-model="queryParams.data.supervisionId"
@ -38,11 +44,15 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="工程监测id" prop="uploadTime"> <el-form-item label="工程监测id" prop="uploadTime">
<el-date-picker clearable size="small" style="width: 200px" <el-date-picker
clearable
size="small"
style="width: 200px"
v-model="queryParams.uploadTime" v-model="queryParams.uploadTime"
type="date" type="date"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
placeholder="选择工程监测id"> placeholder="选择工程监测id"
>
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="工程监测id" prop="remarks"> <el-form-item label="工程监测id" prop="remarks">
@ -82,13 +92,26 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="工程监测id" prop="reportType"> <el-form-item label="工程监测id" prop="reportType">
<el-select v-model="queryParams.data.reportType" placeholder="请选择工程监测id" clearable size="small"> <el-select
v-model="queryParams.data.reportType"
placeholder="请选择工程监测id"
clearable
size="small"
>
<el-option label="请选择字典生成" value="" /> <el-option label="请选择字典生成" value="" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</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
>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -100,7 +123,8 @@
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
v-hasPermi="['build:attachment:add']" v-hasPermi="['build:attachment:add']"
>新增</el-button> >新增</el-button
>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
@ -110,7 +134,8 @@
:disabled="single" :disabled="single"
@click="handleUpdate" @click="handleUpdate"
v-hasPermi="['build:attachment:edit']" v-hasPermi="['build:attachment:edit']"
>修改</el-button> >修改</el-button
>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
@ -120,7 +145,8 @@
:disabled="multiple" :disabled="multiple"
@click="handleDelete" @click="handleDelete"
v-hasPermi="['build:attachment:remove']" v-hasPermi="['build:attachment:remove']"
>删除</el-button> >删除</el-button
>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
@ -129,30 +155,47 @@
size="mini" size="mini"
@click="handleExport" @click="handleExport"
v-hasPermi="['build:attachment:export']" v-hasPermi="['build:attachment:export']"
>导出</el-button> >导出</el-button
>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row> </el-row>
<el-table v-loading="loading" :data="attachmentList" @selection-change="handleSelectionChange"> <el-table
v-loading="loading"
:data="attachmentList"
@selection-change="handleSelectionChange"
>
<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="工程监测id" align="center" prop="supervisionId" /> <el-table-column label="工程监测id" align="center" prop="supervisionId" />
<el-table-column label="工程监测id" align="center" prop="reportAttachment" /> <el-table-column label="文件" align="center" prop="reportAttachment" />
<el-table-column label="工程监测id" align="center" prop="isOk" /> <el-table-column label="是否合格" align="center" prop="isOk" />
<el-table-column label="工程监测id" align="center" prop="reportAttachmentName" /> <el-table-column
<el-table-column label="工程监测id" align="center" prop="uploadTime" width="180"> label="文件名称"
align="center"
prop="reportAttachmentName"
/>
<el-table-column
label="上传时间"
align="center"
prop="uploadTime"
width="180"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.uploadTime, '{y}-{m}-{d}') }}</span> <span>{{ parseTime(scope.row.uploadTime, "{y}-{m}-{d}") }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="工程监测id" align="center" prop="remarks" /> <el-table-column label="文件类型" align="center" prop="reportType" />
<el-table-column label="工程监测id" align="center" prop="createUid" /> <el-table-column
<el-table-column label="工程监测id" align="center" prop="updateUid" /> label="操作"
<el-table-column label="工程监测id" align="center" prop="owerDept" /> align="center"
<el-table-column label="工程监测id" align="center" prop="reportType" /> class-name="small-padding fixed-width"
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
@ -160,20 +203,22 @@
icon="el-icon-edit" icon="el-icon-edit"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['build:attachment:edit']" v-hasPermi="['build:attachment:edit']"
>修改</el-button> >修改</el-button
>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['build:attachment:remove']" v-hasPermi="['build:attachment:remove']"
>删除</el-button> >删除</el-button
>
</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"
@ -184,23 +229,36 @@
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<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="工程监测id" prop="supervisionId"> <el-form-item label="工程监测id" prop="supervisionId">
<el-input v-model="form.supervisionId" placeholder="请输入工程监测id" /> <el-input
v-model="form.supervisionId"
placeholder="请输入工程监测id"
/>
</el-form-item> </el-form-item>
<el-form-item label="工程监测id" prop="reportAttachment"> <el-form-item label="工程监测id" prop="reportAttachment">
<el-input v-model="form.reportAttachment" placeholder="请输入工程监测id" /> <el-input
v-model="form.reportAttachment"
placeholder="请输入工程监测id"
/>
</el-form-item> </el-form-item>
<el-form-item label="工程监测id" prop="isOk"> <el-form-item label="工程监测id" prop="isOk">
<el-input v-model="form.isOk" placeholder="请输入工程监测id" /> <el-input v-model="form.isOk" placeholder="请输入工程监测id" />
</el-form-item> </el-form-item>
<el-form-item label="工程监测id" prop="reportAttachmentName"> <el-form-item label="工程监测id" prop="reportAttachmentName">
<el-input v-model="form.reportAttachmentName" placeholder="请输入工程监测id" /> <el-input
v-model="form.reportAttachmentName"
placeholder="请输入工程监测id"
/>
</el-form-item> </el-form-item>
<el-form-item label="工程监测id" prop="uploadTime"> <el-form-item label="工程监测id" prop="uploadTime">
<el-date-picker clearable size="small" style="width: 200px" <el-date-picker
clearable
size="small"
style="width: 200px"
v-model="form.uploadTime" v-model="form.uploadTime"
type="date" type="date"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
placeholder="选择工程监测id"> placeholder="选择工程监测id"
>
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="工程监测id" prop="remarks"> <el-form-item label="工程监测id" prop="remarks">
@ -230,7 +288,14 @@
</template> </template>
<script> <script>
import { listAttachment, getAttachment, delAttachment, addAttachment, updateAttachment, exportAttachment } from "@/api/build/attachment"; import {
listAttachment,
getAttachment,
delAttachment,
addAttachment,
updateAttachment,
exportAttachment,
} from "@/api/build/attachment";
export default { export default {
name: "Attachment", name: "Attachment",
@ -258,26 +323,24 @@ export default {
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
ids:null, ids: null,
data:{ data: {
supervisionId: null, supervisionId: null,
reportAttachment: null, reportAttachment: null,
isOk: null, isOk: null,
reportAttachmentName: null, reportAttachmentName: null,
uploadTime: null, uploadTime: null,
remarks: null, remarks: null,
createUid: null, createUid: null,
updateUid: null, updateUid: null,
owerDept: null, owerDept: null,
reportType: null reportType: null,
} },
}, },
// //
form: {}, form: {},
// //
rules: { rules: {},
}
}; };
}, },
created() { created() {
@ -287,7 +350,7 @@ export default {
/** 查询工程质量报告列表 */ /** 查询工程质量报告列表 */
getList() { getList() {
this.loading = true; this.loading = true;
listAttachment(this.queryParams).then(response => { listAttachment(this.queryParams).then((response) => {
this.attachmentList = response.records; this.attachmentList = response.records;
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
@ -313,7 +376,7 @@ export default {
updateUid: null, updateUid: null,
updateTime: null, updateTime: null,
owerDept: null, owerDept: null,
reportType: null reportType: null,
}; };
this.resetForm("form"); this.resetForm("form");
}, },
@ -322,21 +385,21 @@ export default {
this.queryParams = { this.queryParams = {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
data:{ data: {
id: null, id: null,
supervisionId: null, supervisionId: null,
reportAttachment: null, reportAttachment: null,
isOk: null, isOk: null,
reportAttachmentName: null, reportAttachmentName: null,
uploadTime: null, uploadTime: null,
remarks: null, remarks: null,
createTime: null, createTime: null,
createUid: null, createUid: null,
updateUid: null, updateUid: null,
updateTime: null, updateTime: null,
owerDept: null, owerDept: null,
reportType: null reportType: null,
} },
}; };
this.resetForm("form"); this.resetForm("form");
}, },
@ -352,9 +415,9 @@ export default {
}, },
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.id) this.ids = selection.map((item) => item.id);
this.single = selection.length!==1 this.single = selection.length !== 1;
this.multiple = !selection.length this.multiple = !selection.length;
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd() { handleAdd() {
@ -365,8 +428,8 @@ export default {
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
this.reset(); this.reset();
const id = row.id || this.ids const id = row.id || this.ids;
getAttachment(id).then(response => { getAttachment(id).then((response) => {
this.form = response.data; this.form = response.data;
this.open = true; this.open = true;
this.title = "修改工程质量报告"; this.title = "修改工程质量报告";
@ -374,10 +437,10 @@ export default {
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.$refs["form"].validate(valid => { this.$refs["form"].validate((valid) => {
if (valid) { if (valid) {
if (this.form.id != null) { if (this.form.id != null) {
updateAttachment(this.form).then(response => { updateAttachment(this.form).then((response) => {
if (response.code === 200) { if (response.code === 200) {
this.msgSuccess("修改成功"); this.msgSuccess("修改成功");
this.open = false; this.open = false;
@ -385,7 +448,7 @@ export default {
} }
}); });
} else { } else {
addAttachment(this.form).then(response => { addAttachment(this.form).then((response) => {
if (response.code === 200) { if (response.code === 200) {
this.msgSuccess("新增成功"); this.msgSuccess("新增成功");
this.open = false; this.open = false;
@ -399,41 +462,46 @@ export default {
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const ids = row.id || this.ids; const ids = row.id || this.ids;
if(ids){ if (ids) {
this.$confirm("是否删除选中的数据?", "警告", { this.$confirm("是否删除选中的数据?", "警告", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning" type: "warning",
}).then(function() { })
return delAttachment(ids); .then(function () {
}).then(() => { return delAttachment(ids);
this.getList(); })
this.msgSuccess("删除成功"); .then(() => {
}).catch(function() {}); this.getList();
}else{ this.msgSuccess("删除成功");
this.$message.warning("请选择要删除的数据!!"); })
.catch(function () {});
} else {
this.$message.warning("请选择要删除的数据!!");
} }
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
const queryParams = this.queryParams; const queryParams = this.queryParams;
let message = "是否确认导出所有的数据项?"; let message = "是否确认导出所有的数据项?";
if(this.ids){ if (this.ids) {
message = "是否确认导出选中的数据项?"; message = "是否确认导出选中的数据项?";
queryParams.ids = this.ids; queryParams.ids = this.ids;
} }
this.$confirm(message, "警告", { this.$confirm(message, "警告", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning" type: "warning",
}).then(function() { })
.then(function () {
return exportAttachment(queryParams); return exportAttachment(queryParams);
}).then(response => { })
this.downloadFile(response, true, response.msg); .then((response) => {
this.downloadFile(response, true, response.msg);
// this.download(response.msg); // this.download(response.msg);
}).catch(function() {}); })
} .catch(function () {});
} },
},
}; };
</script> </script>

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

@ -25,72 +25,6 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="检查意见报告" prop="inspectTime">
<el-date-picker
clearable
size="small"
style="width: 200px"
v-model="queryParams.inspectTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择检查意见报告"
>
</el-date-picker>
</el-form-item>
<el-form-item label="整改落实情况" prop="createUid">
<el-input
v-model="queryParams.data.createUid"
placeholder="请输入整改落实情况"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="整改落实情况" prop="updateUid">
<el-input
v-model="queryParams.data.updateUid"
placeholder="请输入整改落实情况"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="整改落实情况" prop="owerDept">
<el-input
v-model="queryParams.data.owerDept"
placeholder="请输入整改落实情况"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="整改落实情况" prop="remarks">
<el-input
v-model="queryParams.data.remarks"
placeholder="请输入整改落实情况"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="整改落实情况" prop="proCode">
<el-input
v-model="queryParams.data.proCode"
placeholder="请输入整改落实情况"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="整改落实情况" prop="proNo">
<el-input
v-model="queryParams.data.proNo"
placeholder="请输入整改落实情况"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item> <el-form-item>
<el-button <el-button
type="cyan" type="cyan"
@ -138,16 +72,7 @@
>删除</el-button >删除</el-button
> >
</el-col> </el-col>
<el-col :span="1.5">
<el-button
type="warning"
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['build:inspect:export']"
>导出</el-button
>
</el-col>
<right-toolbar <right-toolbar
:showSearch.sync="showSearch" :showSearch.sync="showSearch"
@queryTable="getList" @queryTable="getList"
@ -159,42 +84,62 @@
:data="inspectList" :data="inspectList"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" fixed />
<el-table-column label="序号" type="index" width="50" align="center" /> <el-table-column
label="序号"
type="index"
width="50"
align="center"
fixed
/>
<el-table-column label="检查内容" align="center" prop="inspectContent" />
<el-table-column label="检查单位" align="center" prop="inspectUnit" />
<el-table-column label="检察人员" align="center" prop="inspectPerson" />
<el-table-column <el-table-column
label="检查意见报告" label="检查内容"
align="center" align="center"
prop="inspectOpinion" prop="inspectContent"
min-width="120"
/> />
<el-table-column <el-table-column
label="检查意见报告" label="检查时间"
align="center" align="center"
prop="inspectTime" prop="inspectTime"
width="180" min-width="120"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.inspectTime, "{y}-{m}-{d}") }}</span> <span>{{ parseTime(scope.row.inspectTime, "{y}-{m}-{d}") }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column
label="检查单位"
align="center"
prop="inspectUnit"
min-width="120"
/>
<el-table-column
label="现场检查人员"
align="center"
prop="inspectPerson"
min-width="120"
/>
<!-- <el-table-column
label="检查意见报告"
align="center"
prop="inspectOpinion"
min-width="120"
/> -->
<el-table-column <el-table-column
label="整改落实情况" label="整改落实情况"
align="center" align="center"
prop="rectificationContent" prop="rectificationContent"
min-width="120"
/> />
<el-table-column label="整改落实情况" align="center" prop="createUid" />
<el-table-column label="整改落实情况" align="center" prop="updateUid" />
<el-table-column label="整改落实情况" align="center" prop="owerDept" />
<el-table-column label="整改落实情况" align="center" prop="remarks" />
<el-table-column label="整改落实情况" align="center" prop="proCode" />
<el-table-column label="整改落实情况" align="center" prop="proNo" />
<el-table-column <el-table-column
label="操作" label="操作"
align="center" align="center"
class-name="small-padding fixed-width" class-name="small-padding fixed-width"
width="180"
fixed="right"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@ -226,8 +171,14 @@
/> />
<!-- 添加或修改工程质量监管与检查对话框 --> <!-- 添加或修改工程质量监管与检查对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> :title="title"
:visible.sync="open"
width="1200px"
append-to-body
@close="closeDiglog"
>
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-form-item label="检查内容" prop="inspectContent"> <el-form-item label="检查内容" prop="inspectContent">
<el-input <el-input
v-model="form.inspectContent" v-model="form.inspectContent"
@ -238,25 +189,22 @@
<el-form-item label="检查单位" prop="inspectUnit"> <el-form-item label="检查单位" prop="inspectUnit">
<el-input v-model="form.inspectUnit" placeholder="请输入检查单位" /> <el-input v-model="form.inspectUnit" placeholder="请输入检查单位" />
</el-form-item> </el-form-item>
<el-form-item label="检察人员" prop="inspectPerson"> <el-form-item label="现场检查人员" prop="inspectPerson">
<el-input v-model="form.inspectPerson" placeholder="请输入检察人员" />
</el-form-item>
<el-form-item label="检查意见报告" prop="inspectOpinion">
<el-input <el-input
v-model="form.inspectOpinion" v-model="form.inspectPerson"
type="textarea" placeholder="请输入现场检查人员"
placeholder="请输入内容"
/> />
</el-form-item> </el-form-item>
<el-form-item label="检查意见报告" prop="inspectTime">
<el-form-item label="检查时间" prop="inspectTime">
<el-date-picker <el-date-picker
clearable clearable
size="small" size="small"
style="width: 200px" style="width: 100%"
v-model="form.inspectTime" v-model="form.inspectTime"
type="date" type="date"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
placeholder="选择检查意见报告" placeholder="选择检查时间"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@ -267,23 +215,31 @@
placeholder="请输入内容" placeholder="请输入内容"
/> />
</el-form-item> </el-form-item>
<el-form-item label="整改落实情况" prop="createUid"> <el-form-item label="检查意见报告" prop="inspectOpinion">
<el-input v-model="form.createUid" placeholder="请输入整改落实情况" /> <!-- <el-input
</el-form-item> v-model="form.inspectOpinion"
<el-form-item label="整改落实情况" prop="updateUid"> type="textarea"
<el-input v-model="form.updateUid" placeholder="请输入整改落实情况" /> placeholder="请输入内容"
</el-form-item> /> -->
<el-form-item label="整改落实情况" prop="owerDept"> <el-upload
<el-input v-model="form.owerDept" placeholder="请输入整改落实情况" /> class="upload-demo"
</el-form-item> action="thinking/common/upload"
<el-form-item label="整改落实情况" prop="remarks"> :headers="headers"
<el-input v-model="form.remarks" placeholder="请输入整改落实情况" /> :on-preview="handlePreview"
</el-form-item> :on-remove="handleRemove"
<el-form-item label="整改落实情况" prop="proCode"> :before-remove="beforeRemove"
<el-input v-model="form.proCode" placeholder="请输入整改落实情况" /> multiple
</el-form-item> :on-success="submitUpload"
<el-form-item label="整改落实情况" prop="proNo"> :file-list="fileList"
<el-input v-model="form.proNo" placeholder="请输入整改落实情况" /> >
<el-button size="small" type="primary" plain>
<i class="el-icon-upload el-icon--right"></i>
点击上传
</el-button>
<div slot="tip" class="el-upload__tip">
支持jpg/png/pdf/word/excel文件等不超过100M
</div>
</el-upload>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -303,6 +259,8 @@ import {
updateInspect, updateInspect,
exportInspect, exportInspect,
} from "@/api/build/inspect"; } from "@/api/build/inspect";
import { getToken } from "@/utils/auth";
import { getFileStream } from "@/api/system/upload";
export default { export default {
name: "Inspect", name: "Inspect",
@ -350,12 +308,21 @@ export default {
form: {}, form: {},
// //
rules: {}, rules: {},
//
fileList: [],
//
headers: {
jianwei: "jwtech " + getToken(),
},
}; };
}, },
created() { created() {
this.getList(); this.getList();
}, },
methods: { methods: {
closeDiglog() {
this.fileList = [];
},
/** 查询工程质量监管与检查列表 */ /** 查询工程质量监管与检查列表 */
getList() { getList() {
this.loading = true; this.loading = true;
@ -444,6 +411,9 @@ export default {
const id = row.id || this.ids; const id = row.id || this.ids;
getInspect(id).then((response) => { getInspect(id).then((response) => {
this.form = response.data; this.form = response.data;
if (response.data.inspectOpinion) {
this.fileList = JSON.parse(response.data.inspectOpinion);
}
this.open = true; this.open = true;
this.title = "修改工程质量监管与检查"; this.title = "修改工程质量监管与检查";
}); });
@ -452,6 +422,9 @@ export default {
submitForm() { submitForm() {
this.$refs["form"].validate((valid) => { this.$refs["form"].validate((valid) => {
if (valid) { if (valid) {
this.form.proNo = this.proNo;
this.form.proCode = this.proCode;
this.form.inspectOpinion = JSON.stringify(this.fileList);
if (this.form.id != null) { if (this.form.id != null) {
updateInspect(this.form).then((response) => { updateInspect(this.form).then((response) => {
if (response.code === 200) { if (response.code === 200) {
@ -493,27 +466,53 @@ export default {
this.$message.warning("请选择要删除的数据!!"); this.$message.warning("请选择要删除的数据!!");
} }
}, },
/** 导出按钮操作 */ //
handleExport() { submitUpload(_, fileList) {
const queryParams = this.queryParams; console.log("fileList", fileList);
let message = "是否确认导出所有的数据项?"; this.fileList.push({
if (this.ids) { name: fileList.name,
message = "是否确认导出选中的数据项?"; fileName: fileList.response.fileName,
queryParams.ids = this.ids; url: fileList.response.url,
} uid: fileList.uid,
this.$confirm(message, "警告", { });
confirmButtonText: "确定", },
cancelButtonText: "取消", //
type: "warning", downloadFile(scope, index) {
}) console.log(scope);
.then(function () { let file = JSON.parse(scope.row.contractFile)[index];
return exportInspect(queryParams); this.handlePreview(file);
}) },
.then((response) => { // ,
this.downloadFile(response, true, response.msg); downloadFile2(info, index) {
// this.download(response.msg); console.log(info);
}) this.handlePreview(info);
.catch(function () {}); },
handleRemove(file, fileList) {
// console.log(file, fileList);
let index = this.fileList.findIndex((item) => item.uid === file.uid);
//
this.fileList.splice(index, 1);
},
//
handlePreview(file) {
// console.log(file);
getFileStream({ fileName: file.fileName }).then((res) => {
const blob = new Blob([res], {
// type
// application/xlsx application/zip
type: "application/xlsx",
}); //excel,pdf
const href = URL.createObjectURL(blob); //URLblob
const a = document.createElement("a"); //a
a.style.display = "none";
a.href = href; //
a.download = file.name; //
a.click(); //
URL.revokeObjectURL(a.href); //URL
});
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}`);
}, },
}, },
}; };

466
jwtech-admin-page/src/views/building/projectInfo/projectProcess/qualityControl/options/components/divAssess.vue

@ -0,0 +1,466 @@
<template>
<div class="app-container">
<el-table v-loading="loading" :data="divisionRateList">
<el-table-column label="序号" type="index" width="100" align="center" />
<!-- <el-table-column label="单位工程id" align="center" prop="unitId" /> -->
<el-table-column
label="单位工程名称"
align="center"
prop="unitName"
min-width="120"
/>
<el-table-column
label="分部工程名称"
align="center"
prop="divisionalWork"
min-width="120"
/>
<el-table-column
label="评定时间"
align="center"
prop="evaluateTime"
min-width="120"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.evaluateTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column
label="质量等级"
align="center"
prop="qualityLevel"
min-width="120"
/>
<el-table-column
label="单元工程优良率"
align="center"
prop="cellProjectRate"
min-width="120"
/>
<!-- <el-table-column
label="关键部位和重要隐藏单元优良率"
align="center"
prop="majorCellRate"
/>
<el-table-column
label="分部工程质量评定表"
align="center"
prop="divisionalAttachment"
/> -->
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
width="180"
>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['build:divisionRate:edit']"
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['build:divisionRate:remove']"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改分部工程质量评定对话框 -->
<el-dialog
:title="title"
:visible.sync="open"
width="1200px"
append-to-body
@close="closeDialog"
:close-on-click-modal="false"
>
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<!-- <el-form-item label="单位工程id" prop="unitId">
<el-input v-model="form.unitId" placeholder="请输入单位工程id" />
</el-form-item> -->
<el-form-item label="单位工程名称" prop="unitName">
<!-- <el-input v-model="form.unitName" placeholder="请输入单位工程名称" /> -->
<el-select
v-model="form.unitName"
placeholder="请选择单位工程名称"
filterable
clearable
size="small"
style="width: 100%"
>
<el-option
v-for="dict in unitProjectOptions"
:key="dict.id"
:label="dict.unitProjectName"
:value="dict.unitProjectName"
@click.native="chooseUnitProjectName(dict)"
/>
</el-select>
</el-form-item>
<el-form-item label="分部工程名称" prop="divisionalWork">
<!-- <el-input
v-model="form.divisionalWork"
placeholder="请输入分部工程名称"
:disabled="divProjectOptions.length === 0"
/> -->
<el-select
v-model="form.divisionalWork"
placeholder="请选择单位工程名称"
filterable
clearable
size="small"
style="width: 100%"
:disabled="divProjectOptionsStatus"
>
<el-option
v-for="dict in divProjectOptions"
:key="dict.id"
:label="dict.divisionalWork"
:value="dict.divisionalWork"
/>
</el-select>
</el-form-item>
<el-form-item label="评定时间" prop="evaluateTime">
<el-date-picker
clearable
size="small"
style="width: 100%"
v-model="form.evaluateTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择评定时间"
>
</el-date-picker>
</el-form-item>
<el-form-item label="质量等级" prop="qualityLevel">
<!-- <el-input v-model="form.qualityLevel" placeholder="请输入质量等级" /> -->
<el-select
v-model="form.qualityLevel"
placeholder="请选择质量等级"
filterable
clearable
size="small"
style="width: 100%"
>
<el-option
v-for="dict in qualityLevelOptions"
:key="dict.dictLabel + dict.id"
:label="dict.dictLabel"
:value="dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item label="单元工程优良率" prop="cellProjectRate">
<el-input
v-model="form.cellProjectRate"
placeholder="请输入单元工程优良率"
>
<template slot="append">%</template>
</el-input>
</el-form-item>
<el-form-item label="关键部位和重要隐藏单元优良率" prop="majorCellRate">
<el-input
v-model="form.majorCellRate"
placeholder="请输入关键部位和重要隐藏单元优良率"
/>
</el-form-item>
<el-form-item label="分部工程质量评定表" prop="divisionalAttachment">
<el-input
v-model="form.divisionalAttachment"
placeholder="请输入分部工程质量评定表"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
listDivisionRate,
getDivisionRate,
delDivisionRate,
addDivisionRate,
updateDivisionRate,
exportDivisionRate,
} from "@/api/build/divisionRate";
import { listUnitProject } from "@/api/build/unitProject";
import { formUnitGetSubProject } from "@/api/build/subProject";
export default {
name: "DivisionRate",
props: ["proNo", "proCode"],
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
divisionRateList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 3,
ids: null,
data: {
unitId: null,
unitName: null,
divisionalWork: null,
evaluateTime: null,
qualityLevel: null,
cellProjectRate: null,
majorCellRate: null,
divisionalAttachment: null,
createUid: null,
updateUid: null,
proCode: null,
proNo: null,
},
},
//
form: {},
//
rules: {},
unitProjectOptions: [],
divProjectOptions: [],
divProjectOptionsStatus: true,
qualityLevelOptions: [],
};
},
created() {
listUnitProject({
data: {
proNo: this.proNo,
proCode: this.proCode,
},
}).then((response) => {
this.unitProjectOptions = response.records;
});
this.getList();
this.getDicts("quality_level").then((response) => {
this.qualityLevelOptions = response.data;
});
},
methods: {
closeDialog() {
this.divProjectOptionsStatus = true;
},
chooseUnitProjectName(data) {
this.form.unitId = data.id;
formUnitGetSubProject(data.id).then((response) => {
console.log(response);
this.divProjectOptions = response.data;
this.divProjectOptionsStatus = false;
});
},
/** 查询分部工程质量评定列表 */
getList() {
this.loading = true;
listDivisionRate(this.queryParams).then((response) => {
this.divisionRateList = response.records;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
unitId: null,
unitName: null,
divisionalWork: null,
evaluateTime: null,
qualityLevel: null,
cellProjectRate: null,
majorCellRate: null,
divisionalAttachment: null,
createUid: null,
updateUid: null,
proCode: null,
proNo: null,
createTime: null,
updateTime: null,
remark: null,
};
this.resetForm("form");
},
//
resetQueryForm() {
this.queryParams = {
pageNum: 1,
pageSize: 10,
data: {
id: null,
unitId: null,
unitName: null,
divisionalWork: null,
evaluateTime: null,
qualityLevel: null,
cellProjectRate: null,
majorCellRate: null,
divisionalAttachment: null,
createUid: null,
updateUid: null,
proCode: null,
proNo: null,
createTime: null,
updateTime: null,
remark: null,
},
};
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.open = true;
this.title = "添加分部工程质量评定";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getDivisionRate(id).then((response) => {
this.form = response.data;
// console.log(response.data);
if (response.data.unitId) this.divProjectOptionsStatus = false;
formUnitGetSubProject(response.data.unitId).then((res) => {
// console.log(res.data.id, res.data);
this.divProjectOptions = res.data;
});
this.open = true;
this.title = "修改分部工程质量评定";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.id != null) {
updateDivisionRate(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
}
});
} else {
addDivisionRate(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
}
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
if (ids) {
this.$confirm("是否删除选中的数据?", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(function () {
return delDivisionRate(ids);
})
.then(() => {
this.getList();
this.msgSuccess("删除成功");
})
.catch(function () {});
} else {
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 exportDivisionRate(queryParams);
})
.then((response) => {
this.downloadFile(response, true, response.msg);
// this.download(response.msg);
})
.catch(function () {});
},
},
};
</script>
<style lang="scss" scoped>
@import "@/assets/css/dialog.scss";
</style>

380
jwtech-admin-page/src/views/building/projectInfo/projectProcess/qualityControl/options/components/unitAssess.vue

@ -0,0 +1,380 @@
<template>
<div class="app-container">
<el-table v-loading="loading" :data="unitRateList">
<!-- <el-table-column type="selection" width="55" align="center" /> -->
<el-table-column label="序号" type="index" width="100" align="center" />
<el-table-column
label="单位工程名称"
align="center"
prop="unitName"
min-width="120"
/>
<el-table-column
label="评定时间"
align="center"
prop="evaluateTime"
min-width="120"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.evaluateTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column
label="分部工程优良率"
align="center"
prop="divisionalRate"
min-width="120"
/>
<el-table-column
label="主要分部工程优良率"
align="center"
prop="majorDivisionalRate"
min-width="150"
/>
<el-table-column
label="外观质量优良率"
align="center"
prop="appearanceRate"
min-width="120"
/>
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
width="180"
>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['build:unitRate:edit']"
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['build:unitRate:remove']"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改单位工程质量评定对话框 -->
<el-dialog
:title="title"
:visible.sync="open"
width="1200px"
append-to-body
:close-on-click-modal="false"
>
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-form-item label="单位工程名称" prop="unitName">
<!-- <el-input v-model="form.unitName" placeholder="请输入单位工程名称" /> -->
<el-select
v-model="form.unitName"
placeholder="请选择单位工程名称"
filterable
clearable
size="small"
style="width: 100%"
>
<el-option
v-for="dict in unitProjectOptions"
:key="dict.id"
:label="dict.unitProjectName"
:value="dict.unitProjectName"
/>
</el-select>
</el-form-item>
<el-form-item label="评定时间" prop="evaluateTime">
<el-date-picker
clearable
size="small"
style="width: 100%"
v-model="form.evaluateTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择评定时间"
>
</el-date-picker>
</el-form-item>
<el-form-item label="分部工程优良率" prop="divisionalRate">
<el-input
v-model="form.divisionalRate"
placeholder="请输入分部工程优良率"
>
<template slot="append">%</template>
</el-input>
</el-form-item>
<el-form-item label="主要分部工程优良率" prop="majorDivisionalRate">
<el-input
v-model="form.majorDivisionalRate"
placeholder="请输入主要分部工程优良率"
>
<template slot="append">%</template>
</el-input>
</el-form-item>
<el-form-item label="外观优良率" prop="appearanceRate">
<el-input
v-model="form.appearanceRate"
placeholder="请输入外观优良率"
>
<template slot="append">%</template>
</el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
listUnitRate,
getUnitRate,
delUnitRate,
addUnitRate,
updateUnitRate,
exportUnitRate,
} from "@/api/build/unitRate";
import { listUnitProject } from "@/api/build/unitProject";
export default {
name: "UnitRate",
props: ["proNo", "proCode"],
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
unitRateList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 3,
ids: null,
data: {
unitName: null,
evaluateTime: null,
divisionalRate: null,
majorDivisionalRate: null,
appearanceRate: null,
createUid: null,
updateUid: null,
proCode: null,
proNo: null,
},
},
//
form: {},
//
rules: {},
unitProjectOptions: [],
};
},
created() {
listUnitProject({
data: {
proNo: this.proNo,
proCode: this.proCode,
},
}).then((response) => {
this.unitProjectOptions = response.records;
});
this.getList();
},
methods: {
/** 查询单位工程质量评定列表 */
getList() {
this.loading = true;
listUnitRate(this.queryParams).then((response) => {
this.unitRateList = response.records;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
unitName: null,
evaluateTime: null,
divisionalRate: null,
majorDivisionalRate: null,
appearanceRate: null,
createUid: null,
updateUid: null,
createTime: null,
updateTime: null,
proCode: null,
proNo: null,
remark: null,
};
this.resetForm("form");
},
//
resetQueryForm() {
this.queryParams = {
pageNum: 1,
pageSize: 10,
data: {
id: null,
unitName: null,
evaluateTime: null,
divisionalRate: null,
majorDivisionalRate: null,
appearanceRate: null,
createUid: null,
updateUid: null,
createTime: null,
updateTime: null,
proCode: null,
proNo: null,
remark: null,
},
};
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.open = true;
this.title = "添加单位工程质量评定";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getUnitRate(id).then((response) => {
this.form = response.data;
this.open = true;
this.title = "修改单位工程质量评定";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.id != null) {
updateUnitRate(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
}
});
} else {
addUnitRate(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
}
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
if (ids) {
this.$confirm("是否删除选中的数据?", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(function () {
return delUnitRate(ids);
})
.then(() => {
this.getList();
this.msgSuccess("删除成功");
})
.catch(function () {});
} else {
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 exportUnitRate(queryParams);
})
.then((response) => {
this.downloadFile(response, true, response.msg);
// this.download(response.msg);
})
.catch(function () {});
},
},
};
</script>
<style lang="scss" scoped>
@import "@/assets/css/dialog.scss";
</style>

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

@ -0,0 +1,28 @@
<template>
<div>检测报告统计</div>
</template>
<script>
import {
listAttachmentRate,
listAttachment,
getAttachment,
delAttachment,
addAttachment,
updateAttachment,
exportAttachment,
} from "@/api/build/attachment";
export default {
props: ["supervisionId"],
created() {
listAttachmentRate({
data: {
supervisionId: this.supervisionId,
},
}).then((res) => {
console.log(5484864684684, res);
});
},
methods: {},
};
</script>

634
jwtech-admin-page/src/views/building/projectInfo/projectProcess/qualityControl/options/engineeringQualityEvaluation.vue

@ -1,515 +1,181 @@
<template> <template>
<div class="app-container"> <div>
<el-form <!-- ===============分部工程质量评定==================== -->
:model="queryParams" <div class="listTitle">
ref="queryForm" <span>分部工程质量评定</span>
:inline="true" <span class="addBtn" @click="openDivDiglog">
v-show="showSearch" <i class="el-icon-plus"></i>
label-width="68px" 新增
> </span>
<el-form-item label="工程监测id" prop="supervisionId"> </div>
<el-input <divAssess ref="divAssess" :proNo="proNo" :proCode="proCode" />
v-model="queryParams.data.supervisionId" <!-- ===============单位工程质量评定==================== -->
placeholder="请输入工程监测id" <div class="listTitle">
clearable <span>单位工程质量评定</span>
size="small" <span class="addBtn" @click="openUnitDiglog">
@keyup.enter.native="handleQuery" <i class="el-icon-plus"></i>
/> 新增
</el-form-item> </span>
<el-form-item label="工程监测id" prop="reportAttachment"> </div>
<el-input <unitAssess ref="unitAssess" :proNo="proNo" :proCode="proCode" />
v-model="queryParams.data.reportAttachment"
placeholder="请输入工程监测id"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工程监测id" prop="isOk">
<el-input
v-model="queryParams.data.isOk"
placeholder="请输入工程监测id"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工程监测id" prop="reportAttachmentName">
<el-input
v-model="queryParams.data.reportAttachmentName"
placeholder="请输入工程监测id"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工程监测id" prop="uploadTime">
<el-date-picker
clearable
size="small"
style="width: 200px"
v-model="queryParams.uploadTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择工程监测id"
>
</el-date-picker>
</el-form-item>
<el-form-item label="工程监测id" prop="remarks">
<el-input
v-model="queryParams.data.remarks"
placeholder="请输入工程监测id"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工程监测id" prop="createUid">
<el-input
v-model="queryParams.data.createUid"
placeholder="请输入工程监测id"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工程监测id" prop="updateUid">
<el-input
v-model="queryParams.data.updateUid"
placeholder="请输入工程监测id"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工程监测id" prop="owerDept">
<el-input
v-model="queryParams.data.owerDept"
placeholder="请输入工程监测id"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工程监测id" prop="reportType">
<el-select
v-model="queryParams.data.reportType"
placeholder="请选择工程监测id"
clearable
size="small"
>
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item>
<el-button
type="cyan"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8"> <div class="listTitle">
<el-col :span="1.5"> <span>项目评定</span>
<el-button </div>
type="primary" <div class="footerForm">
icon="el-icon-plus" <el-row :gutter="15">
size="mini" <el-form ref="form" :model="form">
@click="handleAdd" <el-col :span="8">
v-hasPermi="['build:attachment:add']" <el-form-item
>新增</el-button label="项目是否完成评定"
> label-width="124px"
</el-col> prop="isEvaluate"
<el-col :span="1.5"> >
<el-button <el-radio v-model="form.isEvaluate" label="1"></el-radio>
type="success" <el-radio v-model="form.isEvaluate" label="0"></el-radio>
icon="el-icon-edit" </el-form-item>
size="mini" </el-col>
:disabled="single" <el-col :span="8">
@click="handleUpdate" <el-form-item
v-hasPermi="['build:attachment:edit']" label="评定时间"
>修改</el-button prop="evaluateTime"
> label-width="84px"
</el-col> >
<el-col :span="1.5"> <el-date-picker
<el-button clearable
type="danger" size="small"
icon="el-icon-delete" style="width: 100%"
size="mini" v-model="form.evaluateTime"
:disabled="multiple" type="date"
@click="handleDelete" value-format="yyyy-MM-dd"
v-hasPermi="['build:attachment:remove']" placeholder="选择评定时间"
>删除</el-button >
> </el-date-picker>
</el-col> </el-form-item>
<el-col :span="1.5"> </el-col>
<el-button <el-col :span="8">
type="warning" <el-form-item
icon="el-icon-download" label="质量等级"
size="mini" label-width="84px"
@click="handleExport" prop="qualityLevel"
v-hasPermi="['build:attachment:export']" >
>导出</el-button <el-select
> v-model="form.qualityLevel"
</el-col> placeholder="请选择质量等级"
<right-toolbar filterable
:showSearch.sync="showSearch" clearable
@queryTable="getList" size="small"
></right-toolbar> style="width: 100%"
</el-row> >
<el-option
<el-table v-for="dict in qualityLevelOptions"
v-loading="loading" :key="dict.dictLabel + dict.id"
:data="attachmentList" :label="dict.dictLabel"
@selection-change="handleSelectionChange" :value="dict.dictValue"
> />
<el-table-column type="selection" width="55" align="center" /> </el-select>
<el-table-column label="序号" type="index" width="50" align="center" /> </el-form-item>
</el-col>
<el-table-column label="工程监测id" align="center" prop="supervisionId" /> <el-col :span="24" style="text-align: right; margin-top: 10px">
<el-table-column <el-button type="primary" @click="submitForm">保存</el-button>
label="工程监测id" </el-col>
align="center" </el-form>
prop="reportAttachment" </el-row>
/> </div>
<el-table-column label="工程监测id" align="center" prop="isOk" />
<el-table-column
label="工程监测id"
align="center"
prop="reportAttachmentName"
/>
<el-table-column
label="工程监测id"
align="center"
prop="uploadTime"
width="180"
>
<template slot-scope="scope">
<span>{{ parseTime(scope.row.uploadTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column label="工程监测id" align="center" prop="remarks" />
<el-table-column label="工程监测id" align="center" prop="createUid" />
<el-table-column label="工程监测id" align="center" prop="updateUid" />
<el-table-column label="工程监测id" align="center" prop="owerDept" />
<el-table-column label="工程监测id" align="center" prop="reportType" />
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['build:attachment:edit']"
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['build:attachment:remove']"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改工程质量报告对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="工程监测id" prop="supervisionId">
<el-input
v-model="form.supervisionId"
placeholder="请输入工程监测id"
/>
</el-form-item>
<el-form-item label="工程监测id" prop="reportAttachment">
<el-input
v-model="form.reportAttachment"
placeholder="请输入工程监测id"
/>
</el-form-item>
<el-form-item label="工程监测id" prop="isOk">
<el-input v-model="form.isOk" placeholder="请输入工程监测id" />
</el-form-item>
<el-form-item label="工程监测id" prop="reportAttachmentName">
<el-input
v-model="form.reportAttachmentName"
placeholder="请输入工程监测id"
/>
</el-form-item>
<el-form-item label="工程监测id" prop="uploadTime">
<el-date-picker
clearable
size="small"
style="width: 200px"
v-model="form.uploadTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择工程监测id"
>
</el-date-picker>
</el-form-item>
<el-form-item label="工程监测id" prop="remarks">
<el-input v-model="form.remarks" placeholder="请输入工程监测id" />
</el-form-item>
<el-form-item label="工程监测id" prop="createUid">
<el-input v-model="form.createUid" placeholder="请输入工程监测id" />
</el-form-item>
<el-form-item label="工程监测id" prop="updateUid">
<el-input v-model="form.updateUid" placeholder="请输入工程监测id" />
</el-form-item>
<el-form-item label="工程监测id" prop="owerDept">
<el-input v-model="form.owerDept" placeholder="请输入工程监测id" />
</el-form-item>
<el-form-item label="工程监测id" prop="reportType">
<el-select v-model="form.reportType" placeholder="请选择工程监测id">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import divAssess from "./components/divAssess.vue";
import unitAssess from "./components/unitAssess.vue";
import { import {
listAttachment, listInfo,
getAttachment, getInfo,
delAttachment, delInfo,
addAttachment, addInfo,
updateAttachment, updateInfo,
exportAttachment, exportInfo,
} from "@/api/build/attachment"; } from "@/api/build/projectInfo";
export default { export default {
name: "Attachment", props: ["proNo", "proCode"],
components: {
divAssess,
unitAssess,
},
data() { data() {
return { return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
attachmentList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
ids: null,
data: {
supervisionId: null,
reportAttachment: null,
isOk: null,
reportAttachmentName: null,
uploadTime: null,
remarks: null,
createUid: null,
updateUid: null,
owerDept: null,
reportType: null,
},
},
//
form: {}, form: {},
// qualityLevelOptions: [],
rules: {},
}; };
}, },
created() { created() {
this.getList(); this.getList();
this.getDicts("quality_level").then((response) => {
this.qualityLevelOptions = response.data;
});
}, },
methods: { methods: {
/** 查询工程质量报告列表 */
getList() { getList() {
this.loading = true; getInfo(this.$route.query.baseDataId).then((response) => {
listAttachment(this.queryParams).then((response) => { // console.log("response,", response);
this.attachmentList = response.records; this.form = response.data;
this.total = response.total; console.log("basedata", this.form);
this.loading = false;
}); });
}, },
// openDivDiglog() {
cancel() { this.$refs.divAssess.handleAdd();
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
supervisionId: null,
reportAttachment: null,
isOk: null,
reportAttachmentName: null,
uploadTime: null,
remarks: null,
createTime: null,
createUid: null,
updateUid: null,
updateTime: null,
owerDept: null,
reportType: null,
};
this.resetForm("form");
}, },
// openUnitDiglog() {
resetQueryForm() { this.$refs.unitAssess.handleAdd();
this.queryParams = {
pageNum: 1,
pageSize: 10,
data: {
id: null,
supervisionId: null,
reportAttachment: null,
isOk: null,
reportAttachmentName: null,
uploadTime: null,
remarks: null,
createTime: null,
createUid: null,
updateUid: null,
updateTime: null,
owerDept: null,
reportType: null,
},
};
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.open = true;
this.title = "添加工程质量报告";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids;
getAttachment(id).then((response) => {
this.form = response.data;
this.open = true;
this.title = "修改工程质量报告";
});
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.$refs["form"].validate((valid) => { this.$refs["form"].validate((valid) => {
if (valid) { if (valid) {
if (this.form.id != null) { updateInfo(this.form).then((response) => {
updateAttachment(this.form).then((response) => { if (response.code === 200) {
if (response.code === 200) { this.msgSuccess("修改成功");
this.msgSuccess("修改成功"); this.getList();
this.open = false; }
this.getList(); });
}
});
} else {
addAttachment(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
}
});
}
} }
}); });
}, },
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
if (ids) {
this.$confirm("是否删除选中的数据?", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(function () {
return delAttachment(ids);
})
.then(() => {
this.getList();
this.msgSuccess("删除成功");
})
.catch(function () {});
} else {
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 exportAttachment(queryParams);
})
.then((response) => {
this.downloadFile(response, true, response.msg);
// this.download(response.msg);
})
.catch(function () {});
},
}, },
}; };
</script> </script>
<style lang="scss" scoped>
@import "@/assets/css/dialog.scss";
// ::v-deep {
// .el-dialog {
// margin-top: 10vh !important;
// }
// }
.footerForm {
background: #fff;
padding: 10px;
::v-deep {
.el-form-item {
margin-bottom: 0;
}
}
}
.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;
}
}
</style>

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

File diff suppressed because it is too large

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

@ -314,18 +314,18 @@ export default {
@import "@/assets/css/dialog.scss"; @import "@/assets/css/dialog.scss";
::v-deep { ::v-deep {
.el-dialog__wrapper { .el-dialog__wrapper {
transform: scale(1); // transform: scale(1);
} }
.el-dialog { .el-dialog {
margin-top: 10vh !important; margin-top: 4vh !important;
height: 800px; height: 850px;
overflow: auto; overflow: auto;
.el-dialog__footer { .el-dialog__footer {
position: fixed; // position: fixed;
right: 35px; // right: 35px;
bottom: 45px; // bottom: 45px;
z-index: 2100; // z-index: 2100;
} }
} }
} }

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

@ -4,56 +4,149 @@
<div class="dialog-footer"> <div class="dialog-footer">
<el-button @click="submitForm"> </el-button> <el-button @click="submitForm"> </el-button>
</div> </div>
<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="unitProjectName"> <el-row>
<el-input <el-col :span="24">
v-model="form.unitProjectName" <el-form-item label="单位工程名称" prop="unitProjectName">
placeholder="请输入单位工程名称" <!-- <el-input
/> v-model="form.unitProjectName"
</el-form-item> placeholder="请输入单位工程名称"
<el-form-item label="是否主要分部工程" prop="isMajor"> /> -->
<!-- <el-input <el-select
v-model="form.unitProjectName"
placeholder="请选择单位工程名称"
clearable
size="small"
style="width: 100%"
>
<el-option
v-for="dict in unitProjectList"
:key="dict.id"
:label="dict.unitProjectName"
:value="dict.unitProjectName"
@click.native="chooseUnitProjectName(dict.id)"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="是否主要分部工程" prop="isMajor">
<!-- <el-input
v-model="form.isMajor" v-model="form.isMajor"
placeholder="请选择是否主要分部工程" placeholder="请选择是否主要分部工程"
/> --> /> -->
<el-select <el-select
v-model="form.isMajor" v-model="form.isMajor"
placeholder="请选择是否主要分部工程" placeholder="请选择是否主要分部工程"
clearable clearable
size="small" size="small"
style="width: 100%" style="width: 100%"
> >
<el-option <el-option
v-for="dict in whetherOptions" v-for="dict in whetherOptions"
:key="dict.dictValue" :key="dict.dictValue"
:label="dict.dictLabel" :label="dict.dictLabel"
:value="dict.dictValue" :value="dict.dictValue"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="分部工程名称" prop="divisionalWork"> </el-col>
<el-input <el-col :span="24">
v-model="form.divisionalWork" <el-form-item label="分部工程名称" prop="divisionalWork">
placeholder="请输入分部工程名称" <el-input
/> v-model="form.divisionalWork"
</el-form-item> placeholder="请输入分部工程名称"
<el-form-item label="分部工程编号" prop="divisionalWorkCode"> />
<el-input </el-form-item>
v-model="form.divisionalWorkCode" </el-col>
placeholder="请输入分部工程名称" <el-col :span="24">
/> <el-form-item label="分部工程编号" prop="divisionalWorkCode">
</el-form-item> <el-input
<el-form-item label="单元工程数量(个)" prop="unitNumber"> v-model="form.divisionalWorkCode"
<el-input placeholder="请输入分部工程名称"
v-model="form.unitNumber" />
placeholder="请输入单元工程数量" </el-form-item>
/> </el-col>
</el-form-item> <el-col :span="12">
<el-form-item label="单元工程数量(个)" prop="unitNumber">
<el-input
v-model="form.unitNumber"
placeholder="请输入单元工程数量"
/>
</el-form-item>
</el-col>
<el-col :span="12" style="height: 51px">
<div
style="
height: 46px;
display: flex;
justify-content: center;
align-items: center;
"
>
<el-button icon="el-icon-circle-plus-outline"
>新增重要单元</el-button
>
</div>
</el-col>
</el-row>
<!-- 表格头 -->
<el-row>
<el-col :span="8">
<div class="tableTitle">单元工程名称</div>
<!-- <el-form-item label="单元工程名称" label=> -->
<!-- <el-input placeholder="请输入单元工程名称" /> -->
<!-- </el-form-item> -->
</el-col>
<el-col :span="8">
<div class="tableTitle">单元工程编号</div>
<!-- <el-form-item label="单元工程编号">
<el-input placeholder="请输入单元工程编号" />
</el-form-item> -->
</el-col>
<el-col :span="4">
<div class="tableTitle">位置</div>
<!-- <el-form-item label="位置">
<el-input placeholder="请输入位置" />
</el-form-item> -->
</el-col>
<el-col :span="4">
<div class="tableTitle">操作</div>
<!-- <el-form-item label="操作"> 4 </el-form-item> -->
</el-col>
</el-row>
<!-- 列表项 -->
<el-row>
<el-col :span="8">
<!-- <el-form-item label="单元工程名称"> -->
<el-input v-model="value" placeholder="请输入单元工程名称" />
<!-- </el-form-item> -->
</el-col>
<el-col :span="8">
<!-- <el-form-item label="单元工程编号"> -->
<el-input v-model="value" placeholder="请输入单元工程编号" />
<!-- </el-form-item> -->
</el-col>
<el-col :span="4">
<!-- <el-form-item label="位置"> -->
<el-input v-model="value" placeholder="请输入位置" />
<!-- </el-form-item> -->
</el-col>
<el-col :span="4" style="text-align: center">
<el-button type="primary" plain>删除</el-button>
</el-col>
</el-row>
<!-- <el-form-item label="单位id" prop="unitId"> <!-- <el-form-item label="单位id" prop="unitId">
<el-input v-model="form.unitId" placeholder="请输入单位id" /> <el-input v-model="form.unitId" placeholder="请输入单位id" />
</el-form-item> --> </el-form-item> -->
</el-form> </el-form>
</div> </div>
<div class="listTitle" style="margin-top: 0">
<span>分部工程划分</span>
</div>
<el-table <el-table
v-loading="loading" v-loading="loading"
:data="subProjectList" :data="subProjectList"
@ -124,7 +217,13 @@
/> />
<!-- 添加或修改分部工程对话框 --> <!-- 添加或修改分部工程对话框 -->
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> <el-dialog
:title="title"
:visible.sync="open"
width="800px"
append-to-body
:close-on-click-modal="false"
>
<el-form <el-form
ref="editForm" ref="editForm"
:model="editForm" :model="editForm"
@ -132,10 +231,25 @@
label-width="150px" label-width="150px"
> >
<el-form-item label="单位工程名称" prop="unitProjectName"> <el-form-item label="单位工程名称" prop="unitProjectName">
<el-input <!-- <el-input
v-model="editForm.unitProjectName" v-model="editForm.unitProjectName"
placeholder="请输入单位工程名称" placeholder="请输入单位工程名称"
/> /> -->
<el-select
v-model="editForm.unitProjectName"
placeholder="请选择单位工程名称"
clearable
size="small"
style="width: 100%"
>
<el-option
v-for="dict in unitProjectList"
:key="dict.id"
:label="dict.unitProjectName"
:value="dict.unitProjectName"
@click.native="chooseUnitProjectName(dict.id, 'edit')"
/>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="是否主要分部工程" prop="isMajor"> <el-form-item label="是否主要分部工程" prop="isMajor">
<!-- <el-input <!-- <el-input
@ -196,12 +310,21 @@ import {
updateSubProject, updateSubProject,
exportSubProject, exportSubProject,
} from "@/api/build/subProject"; } from "@/api/build/subProject";
import {
listUnitProject,
getUnitProject,
delUnitProject,
addUnitProject,
updateUnitProject,
exportUnitProject,
} from "@/api/build/unitProject";
export default { export default {
name: "SubProject", name: "SubProject",
props: ["proNo", "proCode"], props: ["proNo", "proCode"],
data() { data() {
return { return {
value: "",
// //
loading: true, loading: true,
// //
@ -266,15 +389,29 @@ export default {
}, },
// //
whetherOptions: [], whetherOptions: [],
unitProjectList: [],
}; };
}, },
created() { created() {
listUnitProject({
data: { proNo: this.proNo, proCode: this.proCode },
}).then((response) => {
this.unitProjectList = response.records;
console.log("this.unitProjectList", this.unitProjectList);
});
this.getList(); this.getList();
this.getDicts("whether").then((response) => { this.getDicts("whether").then((response) => {
this.whetherOptions = response.data; this.whetherOptions = response.data;
}); });
}, },
methods: { methods: {
chooseUnitProjectName(id, key) {
if (key === "edit") {
this.editForm.unitId = id;
} else {
this.form.unitId = id;
}
},
// //
whetherFormat(row) { whetherFormat(row) {
return this.selectDictLabel(this.whetherOptions, row.isMajor); return this.selectDictLabel(this.whetherOptions, row.isMajor);
@ -450,16 +587,17 @@ export default {
@import "@/assets/css/dialog.scss"; @import "@/assets/css/dialog.scss";
.formBox { .formBox {
border: 1px solid #dddddd; border: 1px solid #dddddd;
margin-bottom: 10px; margin-bottom: 20px;
padding: 10px; padding: 10px;
.dialog-footer { .dialog-footer {
display: flex; display: flex;
justify-content: right; justify-content: right;
margin-bottom: 10px; margin-bottom: 5px;
} }
::v-deep { ::v-deep {
.el-form-item { .el-form-item {
border: 1px solid #e2e2e2; border: 1px solid #e2e2e2;
// margin-bottom: 0;
.el-form-item__label { .el-form-item__label {
border-right: 1px solid #e2e2e2; border-right: 1px solid #e2e2e2;
background: #fbfbfb; background: #fbfbfb;
@ -470,5 +608,33 @@ export default {
} }
} }
} }
.tableTitle {
height: 49px;
line-height: 49px;
background: #fbfbfb;
border: 1px solid #e2e2e2;
color: #595959;
font-weight: bold;
text-align: center;
}
}
.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;
}
} }
</style> </style>

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

@ -28,6 +28,9 @@
</div> </div>
</div> </div>
<div class="listTitle" style="margin-top: 0">
<span>单位工程划分</span>
</div>
<el-table <el-table
v-loading="loading" v-loading="loading"
:data="unitProjectList" :data="unitProjectList"
@ -107,7 +110,13 @@
/> />
<!-- 添加或修改单位工程对话框 --> <!-- 添加或修改单位工程对话框 -->
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> <el-dialog
:title="title"
:visible.sync="open"
width="800px"
append-to-body
:close-on-click-modal="false"
>
<el-form <el-form
ref="editForm" ref="editForm"
:model="editForm" :model="editForm"
@ -423,15 +432,17 @@ export default {
@import "@/assets/css/dialog.scss"; @import "@/assets/css/dialog.scss";
.formBox { .formBox {
border: 1px solid #dddddd; border: 1px solid #dddddd;
margin-bottom: 10px; margin-bottom: 20px;
padding: 10px; padding: 10px;
.dialog-footer { .dialog-footer {
margin-top: 5px;
display: flex; display: flex;
justify-content: center; justify-content: center;
} }
::v-deep { ::v-deep {
.el-form-item { .el-form-item {
border: 1px solid #e2e2e2; border: 1px solid #e2e2e2;
// margin-bottom: 0;
.el-form-item__label { .el-form-item__label {
border-right: 1px solid #e2e2e2; border-right: 1px solid #e2e2e2;
background: #fbfbfb; background: #fbfbfb;
@ -443,4 +454,23 @@ export default {
} }
} }
} }
.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;
}
}
</style> </style>

Loading…
Cancel
Save