| | |
| | | v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen" |
| | | @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange" |
| | | @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad"> |
| | | <template slot-scope="{ row, size, index }" slot="voteForm"> |
| | | <div>{{ topicTitle }}</div> |
| | | <el-table :data="topictData" v-if="topictData.length"> |
| | | <el-table-column width="300" property="optionContent" label="选项" |
| | | label-class-name="workOrderStyle"></el-table-column> |
| | | <el-table-column width="300" property="number" label="人数" label-class-name="workOrderStyle"> |
| | | </el-table-column> |
| | | <el-table-column width="300"> |
| | | <template slot-scope="scope"> |
| | | <el-button slot="reference" type="primary" size="mini" @click="openUserPopup(scope.row, 1)">详情</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </template> |
| | | |
| | | |
| | | |
| | | <template slot-scope="{ row, size, index }" slot="menu"> |
| | | |
| | | <el-button :size="size" type="text" @click="goDetail(row)">查看申请 |
| | | </el-button> |
| | | |
| | | <el-button :size="size" type="text" v-if="row.applyStatus === 4" @click="handleWork(row)">调整申请 |
| | | </el-button> |
| | | <!-- <el-button :size="size" type="text" @click="goDetail(row)">查看申请 |
| | |
| | | v-text="textDispose(row, 'linkPhoneflag', 'linkPhone')"> |
| | | </el-button> |
| | | </template> |
| | | |
| | | |
| | | <template slot="constructionSchemeUrlsType" slot-scope="{file}"> |
| | | <!-- <template slot="constructionSchemeUrlsType" slot-scope="{file}"> |
| | | <span>{{ file }}</span> |
| | | </template> |
| | | |
| | | |
| | | </template> --> |
| | | </avue-crud> |
| | | |
| | | |
| | | <el-dialog title="详情" append-to-body :visible.sync="showDialog" width="80%" > |
| | | <avue-crud :option="optionList" :data="topictData" ref="crud2"> |
| | | <template #icon="scope"> |
| | | <i :class="scope.row.icon" style="font-size:14px"></i> |
| | | </template> |
| | | <!-- <template #menu="{ row, size }"> |
| | | <el-button v-if="row.level === 1" :size="size" text type="primary" @click="edit(row)">编辑</el-button> |
| | | <el-button v-if="row.level === 1" :size="size" text type="danger" @click="deletes(row)">删除</el-button> |
| | | <el-button v-if="row.level === 2" :size="size" text type="primary" @click="openUser(row, 1)"> |
| | | 选择此项人数:{{ row.number }} 详情</el-button> |
| | | </template> --> |
| | | </avue-crud> |
| | | </el-dialog> |
| | | <el-drawer append-to-body :visible.sync="showDialog" width="80%" :modal="false"> |
| | | <span slot="title">{{ topicTitle }}</span> |
| | | <avue-crud :option="optionList" :data="topictData" ref="crud2"> |
| | | <!-- <template #icon="scope"> |
| | | <i :class="scope.row.icon" style="font-size:14px"></i> |
| | | </template> --> |
| | | <template slot-scope="{row}" slot="number"> |
| | | <span style="margin-right:10px;">1</span> |
| | | <el-button slot="reference" type="primary" size="mini" @click="openUserPopup(row, 1)">详情</el-button> |
| | | <!-- <el-popover placement="right" width="400" trigger="click"> |
| | | <el-table :data="gridData"> |
| | | <el-table-column width="150" property="date" label="日期"></el-table-column> |
| | | <el-table-column width="100" property="name" label="姓名"></el-table-column> |
| | | <el-table-column width="300" property="address" label="地址"></el-table-column> |
| | | </el-table> |
| | | <el-button slot="reference" type="primary" size="mini">详情</el-button> |
| | | </el-popover> --> |
| | | </template> |
| | | </avue-crud> |
| | | </el-drawer> |
| | | |
| | | |
| | | <deitDiscussion ref="DeitDiscussion"> |
| | | </deitDiscussion> |
| | | </basic-container> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | getList, |
| | |
| | | import { |
| | | getLists, |
| | | } from "@/api/discuss/topics" |
| | | |
| | | import deitDiscussion from "./components/deitDiscussion" |
| | | |
| | | |
| | | export default { |
| | | components: { |
| | | deitDiscussion |
| | | }, |
| | | data() { |
| | | return { |
| | | showDialog:false, |
| | | showDialog: false, |
| | | form: { |
| | | // constructionSchemeUrls:[] |
| | | }, |
| | |
| | | //stripe:true, |
| | | index: true, |
| | | editBtn: false, |
| | | viewBtn: true, |
| | | viewBtn: false, |
| | | delBtn: false, |
| | | selection: true, |
| | | dialogClickModal: false, |
| | | viewBtnText:"查看申请", |
| | | viewBtnText: "查看申请", |
| | | column: [{ |
| | | width: 220, |
| | | overHidden: true, |
| | |
| | | }, ], |
| | | }, |
| | | { |
| | | label: "项目分摊方式", |
| | | prop: "allocationWay", |
| | | value: '按建筑面积分摊', |
| | | label: "楼栋", |
| | | prop: "buildingName", |
| | | value: '', |
| | | span: 12, |
| | | row: true, |
| | | rules: [{ |
| | | required: true, |
| | | message: "请输入楼栋", |
| | | trigger: "blur", |
| | | }, ], |
| | | }, |
| | | { |
| | | width: 110, |
| | |
| | | label: "街道", |
| | | value: 2, |
| | | }, { |
| | | label: "住建局", |
| | | label: "区住建局", |
| | | value: 3, |
| | | }, { |
| | | label: "调整申请", |
| | |
| | | }, { |
| | | label: "审核不通过", |
| | | value: 6, |
| | | }, { |
| | | label: "上饶住建局", |
| | | value: 7, |
| | | }] |
| | | }, |
| | | { |
| | |
| | | value: '0.00' |
| | | }, |
| | | { |
| | | display:false, |
| | | display: false, |
| | | hide: true, |
| | | parent: false, |
| | | label: "议事标题", |
| | | label: "投票结果", |
| | | prop: "articleId", |
| | | search: false, |
| | | viewDisabled:false, |
| | | viewDisabled: false, |
| | | type: 'select', |
| | | dicUrl: `/api/blade-article/article/getArticleByDistrictId?type=4&eventType=1&districtIdList={{districtId}}`, |
| | | dicUrl: `/api/blade-article/article/getArticleByDistrictId?type=4&eventType=1&districtId={{districtId}}`, |
| | | // slot: true, |
| | | formslot: true, |
| | | cascader: ['vote'], |
| | | props: { |
| | | label: "title", |
| | | value: "id" |
| | |
| | | message: "请选择议事", |
| | | trigger: "blur", |
| | | }, ], |
| | | change:(val)=>{ |
| | | console.log ("val===>", val) |
| | | change: (val) => { |
| | | console.log("val===>", val) |
| | | // console.log("form===>",this.form) |
| | | if(val.value && !this.form.id){ |
| | | this.showDialog = true; |
| | | this.getDetail( val.value,val.articleRange) |
| | | if (val.value && !this.form.id) { |
| | | this.articleRange = val.articleRange; |
| | | // this.showDialog = true; |
| | | // this.getDetail(val.value, val.articleRange) |
| | | } |
| | | |
| | | } |
| | | }, |
| | | |
| | | { |
| | | display: false, |
| | | span: 24, |
| | | hide: true, |
| | | prop: "vote", |
| | | formslot: true, |
| | | label: "投票详情" |
| | | }, |
| | | |
| | | { |
| | |
| | | prop: "projectDescribe", |
| | | type: "textarea" |
| | | }, |
| | | // { |
| | | // label: '施工方案附件', |
| | | // prop: 'constructionSchemeUrls', |
| | | // type: 'upload', |
| | | // span: 24, |
| | | // hide: true, |
| | | // multiple: true, |
| | | // listType: "text", |
| | | // propsHttp: { |
| | | // res: 'data', |
| | | // name: "name", |
| | | // url: "link" |
| | | // }, |
| | | // action: '/api/blade-resource/oss/endpoint/put-file-attach', |
| | | // rules: [{ |
| | | // required: true, |
| | | // message: "请上传施工方案", |
| | | // trigger: "blur", |
| | | // }] |
| | | // }, |
| | | { |
| | | label: '施工方案附件', |
| | | prop: 'constructionSchemeUrls', |
| | | type: 'upload', |
| | | |
| | | label: "维修资金使用申请审批表", |
| | | offset: 2, |
| | | labelPosition: "top", |
| | | prop: "file1", |
| | | type: "upload", |
| | | listType: "text", |
| | | action: "/api/blade-resource/oss/endpoint/put-file-attach", |
| | | propsHttp: { |
| | | res: "data", |
| | | name: 'name', |
| | | url: "link", |
| | | }, |
| | | span: 24, |
| | | hide: true, |
| | | 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: "申请使用维修资金的报告、附维修部位彩色照片、业委会(物管会)会议纪要(社区意见)", |
| | | offset: 2, |
| | | labelPosition: "top", |
| | | prop: "file2", |
| | | type: "upload", |
| | | listType: "text", |
| | | 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: "text", |
| | | 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: "text", |
| | | 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: "text", |
| | | 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: "text", |
| | | 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: "text", |
| | | 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: "text", |
| | | 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: "text", |
| | | 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: "text", |
| | | 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: "text", |
| | | 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", |
| | | }], |
| | | }, |
| | | ], |
| | | }, |
| | | data: [], |
| | | |
| | | |
| | | optionList: { |
| | | header:false, |
| | | header: false, |
| | | menu: false, |
| | | headerAlign: 'center', |
| | | align: 'center', |
| | |
| | | rowKey: 'id', |
| | | rowParentKey: 'parentId', |
| | | column: [{ |
| | | label: '标题', |
| | | prop: 'discussContent', |
| | | }, |
| | | { |
| | | label: '选项内容', |
| | | prop: 'optionContent', |
| | | }, |
| | | { |
| | | label: '人数', |
| | | prop: 'number', |
| | | slot: true, |
| | | } |
| | | ] |
| | | }, |
| | | optionData:[ |
| | | { |
| | | title:"测试", |
| | | content:"选项1", |
| | | count:1 |
| | | }, |
| | | { |
| | | title:"测试", |
| | | content:"选项2", |
| | | count:2 |
| | | }, |
| | | { |
| | | title:"测试", |
| | | content:"选项", |
| | | count:2 |
| | | }, |
| | | ], |
| | | topictData:[] |
| | | topictData: [], |
| | | topicTitle: "", |
| | | articleRange: "" |
| | | } |
| | | }, |
| | | watch: { |
| | |
| | | // } |
| | | // }, |
| | | // deep: true, |
| | | // immediate: true |
| | | |
| | | // immediate: true |
| | | // } |
| | | |
| | | 'form.districtId': { |
| | |
| | | } else { |
| | | column.display = false |
| | | } |
| | | }, |
| | | } |
| | | }, |
| | | 'form.articleId': { |
| | | handler(newData) { |
| | | console.log("data===>", newData) |
| | | this.getDetail(this.form.articleId, this.articleRange) |
| | | const column = this.findObject(this.option.column, "vote") |
| | | if (newData) { |
| | | column.display = true; |
| | | } else { |
| | | column.display = false |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | computed: { |
| | |
| | | }, |
| | | methods: { |
| | | |
| | | rowView(){ |
| | | this.showDialog = false; |
| | | |
| | | rowView() { |
| | | this.showDialog = false; |
| | | }, |
| | | |
| | | |
| | |
| | | path: `/property/process/maintenanceFundApply/detail/${row.processInstanceId}/${row.id}` |
| | | }) |
| | | }, |
| | | rowSave(row, done, loading) { |
| | | row.constructionSchemeUrls = func.join(row.constructionSchemeUrls) |
| | | if (row.constructionSchemeUrls.length > 0) { |
| | | var urls = [] |
| | | var split = row.constructionSchemeUrls.split(",") |
| | | split.forEach(url => { |
| | | var names = url.split("jczz/") |
| | | urls.push(names[1]) |
| | | }) |
| | | row.constructionSchemeUrls = urls.join(",") |
| | | |
| | | setFile(fileObj) { |
| | | for (let i in fileObj) { |
| | | fileObj[i] = func.join(fileObj[i]) |
| | | if (fileObj[i].length > 0) { |
| | | var urls = [] |
| | | var split = fileObj[i].split(",") |
| | | split.forEach(url => { |
| | | var names = url.split("jczz/") |
| | | urls.push(names[1]) |
| | | }) |
| | | fileObj[i] = urls.join(",") |
| | | } |
| | | } |
| | | return fileObj; |
| | | }, |
| | | |
| | | rowSave(row, done, loading) { |
| | | // row.constructionSchemeUrls = func.join(row.constructionSchemeUrls) |
| | | // if (row.constructionSchemeUrls.length > 0) { |
| | | // var urls = [] |
| | | // var split = row.constructionSchemeUrls.split(",") |
| | | // split.forEach(url => { |
| | | // var names = url.split("jczz/") |
| | | // urls.push(names[1]) |
| | | // }) |
| | | // row.constructionSchemeUrls = urls.join(",") |
| | | // } |
| | | |
| | | let keys = ["file1", "file2", "file3", "file4", "file5", "file6", "file7", "file8", "file9", "file10", "file11"] |
| | | let files = {}; |
| | | for (let i in row) { |
| | | if (keys.indexOf(i) != -1) { |
| | | |
| | | files[i] = row[i]; |
| | | } |
| | | } |
| | | for (let k in files) { |
| | | files[k] = func.join(files[k]) |
| | | if (files[k].length) { |
| | | let urls = []; |
| | | let split = files[k].split(","); |
| | | split.forEach(url => { |
| | | let names = url.split("jczz/"); |
| | | urls.push(names[1]); |
| | | }) |
| | | files[k] = urls.join(",") |
| | | } |
| | | } |
| | | |
| | | row.attachment = JSON.stringify(files); |
| | | for (let j in row) { |
| | | if (keys.indexOf(j) != -1) { |
| | | delete row[j]; |
| | | } |
| | | } |
| | | console.log("提交===>", row); |
| | | row.propertyFlag = 1 |
| | | add(row).then( |
| | | () => { |
| | |
| | | this.data = data.records |
| | | this.data.forEach(item => { |
| | | this.$set(item, 'linkPhoneflag', false) |
| | | if (item.constructionSchemeUrls.length > 0) { |
| | | var urls = [] |
| | | var names = item.constructionSchemeUrls.split(",") |
| | | names.forEach(name => { |
| | | urls.push(website.minioUrl + name) |
| | | }) |
| | | item.constructionSchemeUrls = urls.join(",") |
| | | } |
| | | // if (item.constructionSchemeUrls.length > 0) { |
| | | // var urls = [] |
| | | // var names = item.constructionSchemeUrls.split(",") |
| | | // names.forEach(name => { |
| | | // urls.push(website.minioUrl + name) |
| | | // }) |
| | | // item.constructionSchemeUrls = urls.join(",") |
| | | // } |
| | | }) |
| | | this.loading = false |
| | | this.selectionClear() |
| | | }) |
| | | }, |
| | | spanMethod({ row, column, rowIndex, columnIndex }) { |
| | | if (columnIndex === 0) { |
| | | if (rowIndex % 2 === 0) { |
| | | return { |
| | | rowspan: 2, |
| | | colspan: 1 |
| | | } |
| | | } else { |
| | | return { |
| | | rowspan: 0, |
| | | colspan: 0 |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | getDetail(articleId,districtId){ |
| | | |
| | | getDetail(articleId, districtId) { |
| | | let params = { |
| | | level:1, |
| | | articleId:articleId, |
| | | districtId:districtId |
| | | level: 1, |
| | | articleId: articleId, |
| | | districtId: districtId |
| | | } |
| | | getLists(1,10,params).then(res => { |
| | | const data = res.data.data |
| | | this.topictData = data |
| | | }) |
| | | } |
| | | getLists(1, 10, params).then(res => { |
| | | const data = res.data.data |
| | | if (data.length) { |
| | | this.topictData = data[0].children; |
| | | this.topicTitle = data[0].discussContent; |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | openUserPopup(row) { |
| | | this.$refs.DeitDiscussion.openUser(row, 1, [this.form.districtId]) |
| | | }, |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | </script> |
| | | |
| | |
| | | .avue-upload__icon { |
| | | line-height: 6; |
| | | } |
| | | </style> |
| | | |
| | | .workOrderStyle { |
| | | font-weight: normal; |
| | | } |
| | | </style> |