From 5e2aafeede13d337380f736567caf74f49713be7 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Fri, 09 Aug 2024 14:38:32 +0800
Subject: [PATCH] 代码优化
---
src/views/property/process/maintenanceFundApply/edit.vue | 466 +++++++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 392 insertions(+), 74 deletions(-)
diff --git a/src/views/property/process/maintenanceFundApply/edit.vue b/src/views/property/process/maintenanceFundApply/edit.vue
index 7eb648f..2fa0bb8 100644
--- a/src/views/property/process/maintenanceFundApply/edit.vue
+++ b/src/views/property/process/maintenanceFundApply/edit.vue
@@ -13,7 +13,7 @@
<div slot="header">
<span>审批信息</span>
</div>
- <avue-form ref="crud" :option="option" v-model="form" @submit="handleSubmit">
+ <avue-form ref="crud" :option="option" v-model="form" @submit="handleSubmit" :upload-exceed="uploadExceed">
<template slot-scope="{ row, size, index }" slot="vote">
<div>{{ topicTitle }}</div>
@@ -50,8 +50,10 @@
<el-timeline>
<el-timeline-item :key="flow.id" :timestamp="flow.createTime" v-for="flow in flowList" placement="top">
<el-card shadow="hover">
- <p>{{ flow.assigneeName }} 在 [{{ flow.createTime }}] 开始处理 [{{ flow.historyActivityName }}] 环节</p>
- <p v-if="flow.historyActivityDurationTime !== ''">任务历时 [{{ flow.historyActivityDurationTime }}]</p>
+ <p>{{ flow.assigneeName }} 在 [{{ flow.createTime }}] 开始处理 [{{ flow.historyActivityName
+ }}] 环节</p>
+ <p v-if="flow.historyActivityDurationTime !== ''">任务历时 [{{
+ flow.historyActivityDurationTime }}]</p>
<p v-if="flow.comment !== ''">批复意见: [{{ flow.comment }}]</p>
<p v-if="flow.endTime !== ''">结束时间: [{{ flow.endTime }}]</p>
</el-card>
@@ -78,8 +80,9 @@
<el-button type="danger" @click="handleDisagree">关闭申请</el-button>
</div>
- <deitDiscussion ref="DeitDiscussion">
- </deitDiscussion>
+ <deitDiscussion ref="DeitDiscussion"> </deitDiscussion>
+
+ <userList ref="userList" @selectPersonList="selectPersonList"></userList>
</basic-container>
</template>
@@ -88,7 +91,8 @@
import {
historyFlowList,
leaveDetail
- } from "@/api/work/process";
+ } from "@/api/work/process"
+ import userList from "../../components/userList.vue"
import {
getList,
@@ -96,17 +100,18 @@
update,
add,
getPropertyCapitalApply
- } from "@/api/property/propertyCapitalApply";
+ } from "@/api/property/propertyCapitalApply"
import {
completeTask
- } from "@/api/work/work";
+ } from "@/api/work/work"
import {
getLists
} from "@/api/discuss/topics"
import deitDiscussion from "../../components/deitDiscussion.vue"
export default {
components: {
- deitDiscussion
+ deitDiscussion,
+ userList
},
data() {
return {
@@ -162,6 +167,33 @@
message: "请选择小区",
trigger: "blur",
}, ],
+ },
+ {
+ disabled: true,
+ label: "户室",
+ prop: "houseNames",
+ tags: true,
+ type: "input",
+ span: 12,
+ remote: true,
+ rules: [{
+ required: true,
+ message: '请选择户室',
+ trigger: 'blur'
+ }],
+ focus: ({
+ value,
+ column
+ }) => {
+ if (!this.form.districtId) {
+ this.$message({
+ type: "error",
+ message: "请先选择小区后,再选择户室!",
+ })
+ return
+ }
+ this.$refs.userList.show(this.form.districtId)
+ },
},
{
label: '维修项目名称',
@@ -291,7 +323,6 @@
viewDisabled: false,
type: 'select',
dicUrl: `/api/blade-article/article/getArticleByDistrictId?type=4&eventType=1&districtIdList={{districtId}}`,
- // slot: true,
formslot: true,
cascader: ['vote'],
props: {
@@ -308,9 +339,6 @@
}, ],
change: (val) => {
console.log("val===>", val)
- // console.log("form===>",this.form)
-
-
}
},
@@ -342,39 +370,287 @@
type: "textarea",
},
// {
- // label: "批复意见",
+ // label: '施工方案附件',
+ // prop: 'constructionSchemeUrls',
+ // type: 'upload',
// span: 24,
// hide: true,
- // prop: "comment",
// labelWidth: 140,
- // type: "textarea",
+ // multiple: true,
+ // // showFileList: true,
+ // propsHttp: {
+ // res: 'data',
+ // name: "originalName",
+ // url: "link"
+ // },
+ // action: '/api/blade-resource/oss/endpoint/put-file-attach',
// rules: [{
// required: true,
- // message: "请输入批复意见",
+ // message: "请上传施工方案",
// trigger: "blur",
// }, ],
- // },
+ // }
{
- label: '施工方案附件',
- prop: 'constructionSchemeUrls',
- type: 'upload',
+ label: "维修资金使用申请审批表",
+ offset: 2,
+ labelPosition: "top",
+ prop: "file1",
+ type: "upload",
+ dataType: 'object',
+ listType: "picture-card",
+ limit: 1,
+ props: {
+ label: 'fileUrl',
+ value: 'fileName'
+ },
+ action: "/api/blade-resource/oss/endpoint/put-file-attach",
+ propsHttp: {
+ res: "data",
+ name: 'name',
+ url: "link",
+ },
span: 24,
hide: true,
- labelWidth: 140,
- multiple: true,
- // showFileList: true,
- propsHttp: {
- res: 'data',
- name: "originalName",
- url: "link"
+ // rules: [{
+ // required: true,
+ // message: "请上传文件",
+ // trigger: "blur",
+ // }],
+ },
+ {
+ label: "申请使用维修资金的报告、附维修部位彩色照片、业委会(物管会)会议纪要(社区意见)",
+ offset: 2,
+ labelPosition: "top",
+ prop: "file2",
+ type: "upload",
+ dataType: 'object',
+ listType: "picture-card",
+ limit: 1,
+ props: {
+ label: 'fileUrl',
+ value: 'fileName'
},
- action: '/api/blade-resource/oss/endpoint/put-file-attach',
- rules: [{
- required: true,
- message: "请上传施工方案",
- trigger: "blur",
- }, ],
- }
+ action: "/api/blade-resource/oss/endpoint/put-file-attach",
+ propsHttp: {
+ res: "data",
+ name: 'name',
+ url: "link",
+ },
+ span: 24,
+ hide: true,
+ // rules: [{
+ // required: true,
+ // message: "请上传文件",
+ // trigger: "blur",
+ // }],
+ },
+ {
+ label: "公示单,预算,现场勘察图片、公示照片(公示期7天)",
+ offset: 2,
+ labelPosition: "top",
+ prop: "file3",
+ type: "upload",
+ listType: "picture-card",
+ limit: 1,
+ dataType: 'object',
+ action: "/api/blade-resource/oss/endpoint/put-file-attach",
+ propsHttp: {
+ res: "data",
+ name: 'name',
+ url: "link",
+ },
+ span: 24,
+ hide: true,
+ // rules: [{
+ // required: true,
+ // message: "请上传文件",
+ // trigger: "blur",
+ // }],
+ },
+ {
+ label: "维修单位出具的工程款发票(验收合格后以竣工决算审核报告审定金额开具)",
+ offset: 2,
+ labelPosition: "top",
+ prop: "file4",
+ type: "upload",
+ listType: "picture-card",
+ limit: 1,
+ dataType: 'object',
+ action: "/api/blade-resource/oss/endpoint/put-file-attach",
+ propsHttp: {
+ res: "data",
+ name: 'name',
+ url: "link",
+ },
+ span: 24,
+ hide: true,
+ // rules: [{
+ // required: true,
+ // message: "请上传文件",
+ // trigger: "blur",
+ // }],
+ },
+ {
+ label: "应急维修需提供专业机构出具的检验检测报告或(乡镇人民政府)街道办事处现场核实意见",
+ offset: 2,
+ labelPosition: "top",
+ prop: "file5",
+ type: "upload",
+ listType: "picture-card",
+ limit: 1,
+ dataType: 'object',
+ action: "/api/blade-resource/oss/endpoint/put-file-attach",
+ propsHttp: {
+ res: "data",
+ name: 'name',
+ url: "link",
+ },
+ span: 24,
+ hide: true,
+ // rules: [{
+ // required: true,
+ // message: "请上传文件",
+ // trigger: "blur",
+ // }],
+ },
+ {
+ label: "业主签名表或线上表决记录(应急情况不提供)",
+ offset: 2,
+ labelPosition: "top",
+ prop: "file6",
+ type: "upload",
+ listType: "picture-card",
+ limit: 1,
+ dataType: 'object',
+ action: "/api/blade-resource/oss/endpoint/put-file-attach",
+ propsHttp: {
+ res: "data",
+ name: 'name',
+ url: "link",
+ },
+ span: 24,
+ hide: true,
+ // rules: [{
+ // required: true,
+ // message: "请上传文件",
+ // trigger: "blur",
+ // }],
+ },
+ {
+ label: "政府采购资料",
+ offset: 2,
+ labelPosition: "top",
+ prop: "file7",
+ type: "upload",
+ listType: "picture-card",
+ limit: 1,
+ dataType: 'object',
+ action: "/api/blade-resource/oss/endpoint/put-file-attach",
+ propsHttp: {
+ res: "data",
+ name: 'name',
+ url: "link",
+ },
+ span: 24,
+ hide: true,
+ // rules: [{
+ // required: true,
+ // message: "请上传文件",
+ // trigger: "blur",
+ // }],
+ },
+ {
+ label: "维修和更新、改造方案、维修项目的协议或合同",
+ offset: 2,
+ labelPosition: "top",
+ prop: "file8",
+ type: "upload",
+ listType: "picture-card",
+ limit: 1,
+ dataType: 'object',
+ action: "/api/blade-resource/oss/endpoint/put-file-attach",
+ propsHttp: {
+ res: "data",
+ name: 'name',
+ url: "link",
+ },
+ span: 24,
+ hide: true,
+ // rules: [{
+ // required: true,
+ // message: "请上传文件",
+ // trigger: "blur",
+ // }],
+ },
+ {
+ label: "维修改造工程竣工验收单一式两份(维修完工需经申请人签字);维修项目签证单(超出预算清单内容的需出具签证单)",
+ offset: 2,
+ labelPosition: "top",
+ prop: "file9",
+ type: "upload",
+ listType: "picture-card",
+ limit: 1,
+ dataType: 'object',
+ action: "/api/blade-resource/oss/endpoint/put-file-attach",
+ propsHttp: {
+ res: "data",
+ name: 'name',
+ url: "link",
+ },
+ span: 24,
+ hide: true,
+ // rules: [{
+ // required: true,
+ // message: "请上传文件",
+ // trigger: "blur",
+ // }],
+ },
+ {
+ label: "维修项目决算、造价机构出具的决算审价报告",
+ offset: 2,
+ labelPosition: "top",
+ prop: "file10",
+ type: "upload",
+ listType: "picture-card",
+ limit: 1,
+ dataType: 'object',
+ action: "/api/blade-resource/oss/endpoint/put-file-attach",
+ propsHttp: {
+ res: "data",
+ name: 'name',
+ url: "link",
+ },
+ span: 24,
+ hide: true,
+ // rules: [{
+ // required: true,
+ // message: "请上传文件",
+ // trigger: "blur",
+ // }],
+ },
+ {
+ label: "业主委员会情况登记表;经办人或代理人证件(复印件),复印件上签名、联系电话",
+ offset: 2,
+ labelPosition: "top",
+ prop: "file11",
+ type: "upload",
+ listType: "picture-card",
+ limit: 1,
+ dataType: 'object',
+ action: "/api/blade-resource/oss/endpoint/put-file-attach",
+ propsHttp: {
+ res: "data",
+ name: 'name',
+ url: "link",
+ },
+ span: 24,
+ hide: true,
+ // rules: [{
+ // required: true,
+ // message: "请上传文件",
+ // trigger: "blur",
+ // }],
+ },
],
},
topictData: [],
@@ -389,7 +665,7 @@
handler(newData) {
const column = this.findObject(this.option.column, "articleId")
if (newData && this.form.articleId) {
- column.display = true;
+ column.display = true
} else {
column.display = false
}
@@ -402,7 +678,7 @@
this.getVoteDetail(this.form.articleId, this.articleRange)
const column = this.findObject(this.option.column, "vote")
if (newData) {
- column.display = true;
+ column.display = true
} else {
column.display = false
}
@@ -413,7 +689,7 @@
created() {
- this.init();
+ this.init()
},
beforeRouteUpdate(to, from, next) {
// 在当前路由改变,但是该组件被复用时调用
@@ -421,50 +697,87 @@
// 由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用
// 可以访问组件实例 `this`
if (to.fullPath !== from.fullPath) {
- next();
- this.init();
+ next()
+ this.init()
}
},
methods: {
+
+ uploadAfter(res, done, loading, column) {
+ console.log(res, column)
+ // this.form.attachment = []
+ this.form.attachment.push({
+ fileName: column.label,
+ fileUrl: res.link,
+ fileType: this.getFileExtension(res.originalName),
+ })
+ done()
+ // this.$message.success('上传后的方法')
+ },
+
+ getFileExtension(filename) {
+ var lastDotIndex = filename.lastIndexOf('.')
+ if (lastDotIndex !== -1) {
+ return filename.substring(lastDotIndex + 1)
+ }
+ return ''
+ },
+
+ selectPersonList(personList) {
+ console.log(personList, "++++++++++++")
+ this.personList = personList
+ let houseNameList = personList.map(e => {
+ if (e.houseName) {
+ return e.houseName
+ }
+ })
+ this.form.houseName = houseNameList.join(",")
+ let addressCodeList = personList.map(e => {
+ if (e.addressCode) {
+ return e.addressCode
+ }
+ })
+ this.form.addressCodes = addressCodeList.join(",")
+ },
handleSubmit(form, done, loading) {
if (form.constructionSchemeUrls.length > 0) {
var urls = []
- var split = form.constructionSchemeUrls.split(",");
+ var split = form.constructionSchemeUrls.split(",")
split.forEach(url => {
- var names = url.split("jczz/");
+ var names = url.split("jczz/")
urls.push(names[1])
})
form.constructionSchemeUrls = urls.join(",")
}
update(form).then(
() => {
- this.onLoad(this.page);
+ this.onLoad(this.page)
this.$message({
type: "success",
message: "操作成功!",
- });
- done();
+ })
+ done()
},
(error) => {
- window.console.log(error);
- loading();
+ window.console.log(error)
+ loading()
}
- );
+ )
},
init() {
- this.taskId = this.$route.params.taskId;
- this.processInstanceId = this.$route.params.processInstanceId;
- this.businessId = this.$route.params.businessId;
+ this.taskId = this.$route.params.taskId
+ this.processInstanceId = this.$route.params.processInstanceId
+ this.businessId = this.$route.params.businessId
historyFlowList(this.processInstanceId).then(res => {
- const data = res.data;
+ const data = res.data
if (data.success) {
- this.flowList = data.data;
+ this.flowList = data.data
}
})
getPropertyCapitalApply(this.businessId).then(res => {
- const data = res.data;
+ const data = res.data
if (data.success) {
- this.form = data.data;
+ this.form = data.data
}
})
},
@@ -478,49 +791,49 @@
processInstanceId: this.processInstanceId,
flag: 'ok',
comment: this.form.comment,
- };
+ }
completeTask(params).then(res => {
- const data = res.data;
+ const data = res.data
if (data.success) {
- this.$message.success(data.msg);
- this.$router.$avueRouter.closeTag();
+ this.$message.success(data.msg)
+ this.$router.$avueRouter.closeTag()
this.$router.push({
path: `/property/propertyCapitalApply`
- });
+ })
} else {
- this.$message.error(data.msg || '提交失败');
+ this.$message.error(data.msg || '提交失败')
}
})
},
handleDisagree() {
this.form.comment = '关闭申请'
if (!this.form.comment) {
- this.$message.warning('请先填写批复意见');
- return;
+ this.$message.warning('请先填写批复意见')
+ return
}
const params = {
taskId: this.taskId,
processInstanceId: this.processInstanceId,
comment: this.form.comment,
- };
+ }
completeTask(params).then(res => {
- const data = res.data;
+ const data = res.data
if (data.success) {
- this.$message.success(data.msg);
- this.$router.$avueRouter.closeTag();
+ this.$message.success(data.msg)
+ this.$router.$avueRouter.closeTag()
this.$router.push({
path: `/property/propertyCapitalApply`
- });
+ })
} else {
- this.$message.error(data.msg || '提交失败');
+ this.$message.error(data.msg || '提交失败')
}
})
},
handleCancel() {
- this.$router.$avueRouter.closeTag();
+ this.$router.$avueRouter.closeTag()
this.$router.push({
path: `/property/todo`
- });
+ })
},
getVoteDetail(articleId, districtId) {
@@ -532,8 +845,8 @@
getLists(1, 10, params).then(res => {
const data = res.data.data
if (data.length) {
- this.topictData = data[0].children;
- this.topicTitle = data[0].discussContent;
+ this.topictData = data[0].children
+ this.topicTitle = data[0].discussContent
}
})
},
@@ -541,6 +854,11 @@
openUserPopup(row) {
this.$refs.DeitDiscussion.openUser(row, 1, [this.form.districtId])
},
+
+ uploadExceed(limit, files, fileList, column) {
+ console.log(limit, files, fileList, column)
+ this.$message.error('超出上传限制文件数量')
+ }
}
}
</script>
@@ -549,4 +867,4 @@
.workOrderStyle {
font-weight: normal;
}
-</style>
+</style>
\ No newline at end of file
--
Gitblit v1.9.3