From fd9fd5a0f0382411f53a23bf2342a78301ee93dc Mon Sep 17 00:00:00 2001
From: Lou <luzhiping@qqyjz.com>
Date: Mon, 26 Feb 2024 17:02:18 +0800
Subject: [PATCH] 维修基金样式修改

---
 src/views/property/components/deitDiscussion.vue |  475 +++++++++++++++
 vue.config.js                                    |    4 
 src/views/property/propertyCapitalApply.vue      | 1358 +++++++++++++++++++++++--------------------
 3 files changed, 1,190 insertions(+), 647 deletions(-)

diff --git a/src/views/property/components/deitDiscussion.vue b/src/views/property/components/deitDiscussion.vue
new file mode 100644
index 0000000..c8c6deb
--- /dev/null
+++ b/src/views/property/components/deitDiscussion.vue
@@ -0,0 +1,475 @@
+<!--
+ * @Author: shuishen 1109946754@qq.com
+ * @Date: 2024-01-04 15:18:13
+ * @LastEditors: shuishen 1109946754@qq.com
+ * @LastEditTime: 2024-01-04 17:13:22
+ * @FilePath: \jczz_web\src\views\article\components\deitDiscussion.vue
+ * @Description:
+ *
+ * Copyright (c) 2024 by shuishen, All Rights Reserved.
+-->
+<template>
+    <div>
+      <el-dialog title="" append-to-body :visible.sync="popupTableShow" width="80%" :before-close="handleClose">
+        <span slot="title" class="dialog-footer">
+          {{ ontitle }}
+        </span>
+  
+        <div id="" v-if="editFlag">
+          <avue-form @submit="handleSubmit" :option="optionDiscuss" @reset-change="handleReset" v-model="disCussFrom">
+          </avue-form>
+        </div>
+  
+        <div id="" v-if="!editFlag">
+          <avue-crud :table-loading="loading" :option="optionList" :data="data" v-model="form" ref="crud"
+            @row-update="rowUpdate" @row-del="rowDel">
+            <template slot="menuLeft" v-if="!editFlag">
+              <el-button type="primary" size="small" plain icon="el-icon-circle-plus-outline" @click="add()">添加
+              </el-button>
+            </template>
+            <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>
+        </div>
+      </el-dialog>
+  
+      <el-dialog title="" append-to-body :visible.sync="popupTableUserShow" width="80%" :before-close="userHandleClose">
+        <avue-crud :data="userData" :page="userPage" :option="userOption" @search-change="searchChange"
+          @search-reset="searchReset"></avue-crud>
+      </el-dialog>
+    </div>
+  </template>
+  
+  <script>
+    import {
+      getListPd,
+      getDetailPd,
+      addPd,
+      updatePd,
+      removePd
+    } from "@/api/discuss/publicDiscuss"
+  
+    import {
+      getPage
+    } from "@/api/discuss/userTopics"
+  
+    import website from '@/config/website'
+  
+  
+    import {
+      getLists,
+      getList,
+      getDetail,
+      add,
+      update,
+      remove
+    } from "@/api/discuss/topics"
+  
+    export default {
+      data() {
+        return {
+          popupTableShow: false,
+          popupTableUserShow: false,
+  
+          loading: true,
+  
+          ontitle: '编辑议题',
+          editFlag: false,
+  
+          disCussFrom: {
+            discussContent: '',
+            optionRange: 0,
+            sort: 1,
+            optionContent: '',
+            optionDetail: '',
+            number: '',
+            createTime: '',
+            updateTime: '',
+            deleteFlag: '',
+            articleId: '',
+            parentId: '',
+            level: '',
+            children: [{
+              optionContent: '',
+              optionDetail: '',
+              number: '',
+              createTime: '',
+              updateTime: '',
+              deleteFlag: '',
+              articleId: '',
+              parentId: '',
+              level: '',
+            }]
+          },
+          optionDiscuss: {
+            emptyText: '取消',
+            column: [{
+                label: '议题',
+                prop: 'discussContent',
+                type: 'input',
+                row: true,
+                rules: [{
+                  required: true,
+                  message: '请输入议题',
+                  trigger: 'blur'
+                }],
+              },
+              {
+                label: '选项范围',
+                prop: 'optionRange',
+                type: 'radio',
+                value: 0,
+                button: true,
+                row: true,
+                dicData: [{
+                  label: '多选',
+                  value: 1
+                }, {
+                  label: '单选',
+                  value: 0
+                }],
+                rules: [{
+                  required: true,
+                  message: '请选项范围',
+                  trigger: 'blur'
+                }],
+              },
+              // {
+              //   label: '排序',
+              //   prop: 'sort',
+              //   controlsPosition: '',
+              //   type: 'number'
+              // },
+              {
+                label: '选项内容',
+                prop: 'children',
+                type: 'dynamic',
+                span: 24,
+                children: {
+                  column: [{
+                    label: '选项标题',
+                    prop: 'optionContent',
+                    type: 'input',
+                    rules: [{
+                      required: true,
+                      message: '请输入选项标题',
+                      trigger: 'blur'
+                    }]
+                  }, {
+                    label: '选项说明',
+                    prop: 'optionDetail',
+                    type: 'input',
+                  }]
+                }
+              },
+            ]
+          },
+  
+          // 表单数据
+          form: {},
+          data: [],
+          optionList: {
+            headerAlign: 'center',
+            align: 'center',
+            border: true,
+            addBtn: false,
+            editBtn: false,
+            delBtn: false,
+            defaultExpandAll: true,
+            rowKey: 'id',
+            rowParentKey: 'parentId',
+            column: [{
+                label: '标题',
+                prop: 'discussContent',
+              },
+              {
+                label: '选项内容',
+                prop: 'optionContent',
+              }
+            ]
+          },
+  
+          articleId: '',
+  
+          userData: [],
+          userOption: {
+            labelWidth: 96,
+            searchLabelWidth: 96,
+            searchShow: true,
+            searchMenuSpan: 3,
+            // menuWidth: 500,
+            menu: false,
+  
+            height: "auto",
+            calcHeight: 54,
+            dialogWidth: 950,
+            tip: false,
+            border: true,
+            //stripe:true,
+            index: true,
+            editBtn: false,
+            addBtn: false,
+            viewBtn: false,
+            selection: true,
+            delBtn: false,
+            excelBtn: true,
+            dialogClickModal: false,
+            header:false,
+            column: [{
+              label: '姓名',
+              prop: 'name',
+              searchSpan: 4,
+              search: true,
+            }, {
+              label: '头像',
+              type: 'upload',
+              listType: "picture-img",
+              prop: 'avatar'
+            }, {
+              label: '手机',
+              prop: 'phone',
+              searchSpan: 4,
+              search: true,
+            }, {
+              label: '小区',
+              prop: 'aoiName'
+            }, {
+              label: '地址',
+              prop: 'addressName'
+            }, {
+              label: '签名',
+              type: 'upload',
+              listType: "picture-img",
+              prop: 'signaturePath'
+            }, {
+              label: '时间',
+              prop: 'createTime'
+            }]
+          },
+          // 分页信息
+          userPage: {
+            pageSize: 10,
+            pageSizes: [10, 20, 30, 50, 100],
+            currentPage: 1,
+            total: 0
+          },
+          query: {},
+          newData: {},
+          articleRange: {},
+        }
+      },
+  
+      watch: {},
+  
+      methods: {
+  
+        userHandleClose() {
+  
+          this.popupTableUserShow = false
+        },
+  
+        searchReset() {
+          if (this.articleRange) {
+            this.query.districtId = this.newData.articleRange
+          }
+          this.query.articleId = this.articleId
+          this.userPage.currentPage = 1
+          this.getUserPage(this.userPage, this.query)
+        },
+  
+        searchChange(params, done) {
+          if (this.articleRange) {
+            this.query.districtId = this.newData.articleRange
+          }
+          this.query = params
+          this.query.articleId = this.articleId
+          this.userPage.currentPage = 1
+          this.getUserPage(this.userPage, this.query)
+          done()
+        },
+        initData(newData) {
+          this.editFlag = false
+          this.popupTableShow = true
+          this.articleId = newData.id
+          this.query.level = 1
+          this.query.articleId = this.articleId
+          this.newData = newData
+          this.query.districtId = newData.articleRange
+          this.onLoad(this.userPage, this.query)
+        },
+        // initData(newData) {
+        //   this.editFlag = false
+        //   this.popupTableShow = true
+        //   this.articleId = newData.id
+  
+        //   this.onLoad()
+        // },
+  
+        handleClose() {
+          this.popupTableShow = false
+          this.disCussFrom = {}
+        },
+  
+        handleSubmit(form, done) {
+          done()
+          form.articleId = this.articleId
+  
+          add(form).then(
+            () => {
+              this.$message({
+                type: "success",
+                message: "操作成功!",
+              })
+              form = {}
+              this.editFlag = false
+  
+              let params = {
+                level: 1,
+                articleId: this.articleId
+              }
+  
+              getLists(1, 100, Object.assign(params, this.query)).then(res => {
+                const data = res.data.data
+                this.data = data
+              })
+            },
+            (error) => {
+              window.console.log(error)
+            }
+          )
+        },
+  
+        handleReset() {
+          this.editFlag = false
+        },
+  
+        // 提交修改
+        rowUpdate(row, index, done, loading) {
+          done()
+          if (!row.id) {
+            addPd(row).then(() => {
+              this.onLoad()
+  
+              this.$message({
+                type: "success",
+                message: "操作成功!"
+              })
+            })
+          } else {
+            updatePd(row).then(() => {
+              this.onLoad()
+  
+              this.$message({
+                type: "success",
+                message: "操作成功!"
+              })
+            })
+          }
+        },
+  
+        rowDel(row) {
+          this.$confirm("确定将选择数据删除?", {
+              confirmButtonText: "确定",
+              cancelButtonText: "取消",
+              type: "warning"
+            })
+            .then(() => {
+              return remove(row.id)
+            })
+            .then(() => {
+              this.getUserPage(this.userPage)
+  
+              this.$message({
+                type: "success",
+                message: "操作成功!"
+              })
+            })
+        },
+  
+        add() {
+          this.editFlag = true
+        },
+  
+        edit(row) {
+          this.disCussFrom = row
+          this.editFlag = true
+        },
+  
+        deletes(row) {
+          this.$confirm("确定将选择数据删除?", {
+              confirmButtonText: "确定",
+              cancelButtonText: "取消",
+              type: "warning"
+            })
+            .then(() => {
+              return remove(row.id)
+            })
+            .then(() => {
+              this.onLoad()
+  
+              this.$message({
+                type: "success",
+                message: "操作成功!"
+              })
+            })
+        },
+  
+        openUser(row, type = 0,disId) {
+          this.popupTableUserShow = true
+          this.query = {}
+          this.articleId = row.id
+          let districtId
+          if (type == 0) {
+            this.newData = row
+            districtId = this.newData.articleRange || disId
+            this.userParams = {
+              articleId: row.id,
+              districtId: JSON.stringify(districtId) 
+            }
+          } else {
+            districtId = this.newData.articleRange || disId
+            this.userParams = {
+              topicsId: row.id,
+              districtId: JSON.stringify(districtId) 
+            }
+          }
+          this.getUserPage(this.userPage, this.userParams)
+        },
+  
+        getUserPage(page, params = {}) {
+          getPage(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+            const data = res.data.data
+            this.userPage.total = data.total
+            this.userData = data.records
+            this.userData.forEach(item => {
+              if (item.avatar.length > 0) {
+                item.avatar = website.minioUrl + item.avatar
+              }
+              if (item.signaturePath && item.signaturePath.length > 0) {
+                item.signaturePath = website.minioUrl + item.signaturePath
+                // console.log("=====>", item.signaturePath)
+              }
+            })
+          })
+        },
+  
+        onLoad(page, params = {}) {
+          this.loading = true
+          getLists(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+            const data = res.data.data
+            this.data = data
+            this.loading = false
+          })
+        }
+      },
+    }
+  </script>
+  
+  <style lang="scss" scoped></style>
\ No newline at end of file
diff --git a/src/views/property/propertyCapitalApply.vue b/src/views/property/propertyCapitalApply.vue
index 6d52448..c6dbbea 100644
--- a/src/views/property/propertyCapitalApply.vue
+++ b/src/views/property/propertyCapitalApply.vue
@@ -6,6 +6,30 @@
       @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">
+        <el-table :data="topictData" v-if="topictData.length">
+          <el-table-column width="300" property="optionContent" label="选项"></el-table-column>
+          <el-table-column width="300" property="number" label="人数">
+
+
+          </el-table-column>
+          <el-table-column width="300">
+
+            <template slot-scope="scope">
+              <!-- <span style="margin-right: 10px;">{{scope.row.number}}</span> -->
+              <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" v-if="row.applyStatus === 4" @click="handleWork(row)">调整申请
         </el-button>
@@ -35,691 +59,735 @@
       </template>
 
 
+
+
     </avue-crud>
 
 
-    <el-dialog title="详情" append-to-body :visible.sync="showDialog" width="80%">
+    <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">
+        <!-- <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>
+
+
         <!-- <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="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)">
+          <el-button v-if="row.level === 2" :size="size" text type="primary" @click="openUser(row, 1)">
               选择此项人数:{{ row.number }} 详情</el-button>
-          </template> -->
+
+
+          <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">详情</el-button>
+          </el-popover>
+
+
+
+        </template> -->
       </avue-crud>
-    </el-dialog>
+    </el-drawer>
+
+    <deitDiscussion ref="DeitDiscussion">
+    </deitDiscussion>
 
 
   </basic-container>
 </template>
 
 <script>
-  import {
-    getList,
-    remove,
-    update,
-    add,
-    getPropertyCapitalApply
-  } from "@/api/property/propertyCapitalApply"
-  import {
-    mapGetters
-  } from "vuex"
-  import website from '@/config/website'
-  import func from "@/util/func"
-  import {
-    getLists,
-  } from "@/api/discuss/topics"
-  export default {
-    data() {
-      return {
-        showDialog: false,
-        form: {
-          // constructionSchemeUrls:[]
+import {
+  getList,
+  remove,
+  update,
+  add,
+  getPropertyCapitalApply
+} from "@/api/property/propertyCapitalApply"
+import {
+  mapGetters
+} from "vuex"
+import website from '@/config/website'
+import func from "@/util/func"
+import {
+  getLists,
+  getPage
+} from "@/api/discuss/topics"
+
+import deitDiscussion from "./components/deitDiscussion"
+
+
+export default {
+  components: {
+    deitDiscussion
+  },
+  data() {
+    return {
+      showDialog: false,
+      form: {
+        // constructionSchemeUrls:[]
+      },
+      query: {},
+      loading: true,
+      page: {
+        pageSize: 10,
+        currentPage: 1,
+        total: 0,
+      },
+      datetime: "",
+      selectionList: [],
+      option: {
+        labelWidth: 154,
+        searchLabelWidth: 96,
+        searchShow: true,
+        searchMenuSpan: 3,
+        menuWidth: 210,
+
+        height: "auto",
+        calcHeight: 54,
+        dialogWidth: 1150,
+        tip: false,
+        border: true,
+        //stripe:true,
+        index: true,
+        editBtn: false,
+        viewBtn: true,
+        delBtn: false,
+        selection: true,
+        dialogClickModal: false,
+        viewBtnText: "查看申请",
+        column: [{
+          width: 220,
+          overHidden: true,
+          label: '小区名称',
+          addDisplay: false,
+          editDisplay: false,
+          viewDisplay: false,
+          prop: "districtName",
+          search: true,
+          searchSpan: 4,
+          searchLabelWidth: 76,
+          rules: [{
+            required: true,
+            message: "请输入小区名称",
+            trigger: "blur",
+          }],
         },
-        query: {},
-        loading: true,
-        page: {
-          pageSize: 10,
-          currentPage: 1,
-          total: 0,
+
+        {
+          hide: true,
+          parent: false,
+          label: "小区",
+          prop: "districtId",
+          search: false,
+          type: 'tree',
+          dicUrl: `/api/blade-district/district/getDistrictTree?filterFlag=1`,
+          cascader: ['articleId'],
+          props: {
+            label: "name",
+            value: "id"
+          },
+          defaultExpandedKeys: ["361102003"],
+          span: 12,
+          width: 260,
+          rules: [{
+            required: true,
+            message: "请选择小区",
+            trigger: "blur",
+          },],
         },
-        datetime: "",
-        selectionList: [],
-        option: {
-          labelWidth: 154,
-          searchLabelWidth: 96,
-          searchShow: true,
-          searchMenuSpan: 3,
-          menuWidth: 210,
 
-          height: "auto",
-          calcHeight: 54,
-          dialogWidth: 1150,
-          tip: false,
-          border: true,
-          //stripe:true,
-          index: true,
-          editBtn: false,
-          viewBtn: true,
-          delBtn: false,
-          selection: true,
-          dialogClickModal: false,
-          viewBtnText: "查看申请",
-          column: [{
-              width: 220,
-              overHidden: true,
-              label: '小区名称',
-              addDisplay: false,
-              editDisplay: false,
-              viewDisplay: false,
-              prop: "districtName",
-              search: true,
-              searchSpan: 4,
-              searchLabelWidth: 76,
-              rules: [{
-                required: true,
-                message: "请输入小区名称",
-                trigger: "blur",
-              }],
-            },
-
-            {
-              hide: true,
-              parent: false,
-              label: "小区",
-              prop: "districtId",
-              search: false,
-              type: 'tree',
-              dicUrl: `/api/blade-district/district/getDistrictTree?filterFlag=1`,
-              cascader: ['articleId'],
-              props: {
-                label: "name",
-                value: "id"
-              },
-              defaultExpandedKeys: ["361102003"],
-              span: 12,
-              width: 260,
-              rules: [{
-                required: true,
-                message: "请选择小区",
-                trigger: "blur",
-              }, ],
-            },
-
-            {
-              label: '维修项目名称',
-              prop: 'name',
-              searchSpan: 5,
-              searchLabelWidth: 124,
-              search: true,
-              span: 12,
-              rules: [{
-                required: true,
-                message: "请输入维修项目名称",
-                trigger: "blur",
-              }, ],
-            },
-            {
-              width: 110,
-              label: "所属街道",
-              addDisplay: false,
-              editDisplay: false,
-              viewDisplay: false,
-              prop: "streetName",
-              search: true,
-              searchSpan: 4
-            },
-            {
-              width: 156,
-              overHidden: true,
-              label: "所属社区",
-              addDisplay: false,
-              editDisplay: false,
-              viewDisplay: false,
-              prop: "communityName",
-              search: true,
-              searchSpan: 4
-            },
-            {
-              width: 100,
-              label: "预计开工时间",
-              prop: "runTime",
-              span: 12,
-              type: "date",
-              format: "yyyy-MM-dd",
-              valueFormat: "yyyy-MM-dd",
-              rules: [{
-                required: true,
-                message: "请选择合同开始时间",
-                trigger: "blur",
-              }, ],
-            },
-            {
-              width: 100,
-              label: "预计竣工时间",
-              prop: "completedTime",
-              span: 12,
-              type: "date",
-              format: "yyyy-MM-dd",
-              valueFormat: "yyyy-MM-dd",
-              rules: [{
-                required: true,
-                message: "请选择合同结束时间",
-                trigger: "blur",
-              }, ],
-            },
-            {
-              label: "项目分摊方式",
-              prop: "allocationWay",
-              value: '按建筑面积分摊',
-              span: 12,
-              row: true,
-            },
-            {
-              width: 110,
-              label: '联系人',
-              prop: 'linkman',
-              span: 12,
-              searchSpan: 4,
-              searchLabelWidth: 80,
-              search: true,
-              rules: [{
-                required: true,
-                message: "请输入联系人",
-                trigger: "blur",
-              }, ],
-            },
-            {
-              width: 120,
-              label: '联系方式',
-              prop: 'linkPhone',
-              span: 12,
-              rules: [{
-                required: true,
-                message: "请输入联系方式",
-                trigger: "blur",
-              }, ],
-            },
-            {
-              width: 100,
-              label: '申请时间',
-              prop: 'applyTime',
-              span: 12,
-              display: false,
-            }, {
-              label: '审核进度',
-              prop: 'applyStatus',
-              span: 12,
-              display: false,
-              dicData: [{
-                label: "待审核",
-                value: 0,
-              }, {
-                label: "业委会",
-                value: 1,
-              }, {
-                label: "街道",
-                value: 2,
-              }, {
-                label: "区住建局",
-                value: 3,
-              }, {
-                label: "调整申请",
-                value: 4,
-              }, {
-                label: "审核通过",
-                value: 5,
-              }, {
-                label: "审核不通过",
-                value: 6,
-              }, {
-                label: "上饶住建局",
-                value: 7,
-              }]
-            },
-            {
-              label: "项目预算总金额(元)",
-              prop: "budgetAmount",
-              span: 12,
-              hide: true,
-              type: 'number',
-              precision: 2,
-              value: '0.00'
-            },
-            {
-              label: "实际预算金额(元)",
-              prop: "actualAmount",
-              span: 12,
-              hide: true,
-              type: 'number',
-              precision: 2,
-              value: '0.00'
-            },
-            {
-              label: "自筹金额(元)",
-              prop: "selfAmount",
-              span: 12,
-              hide: true,
-              type: 'number',
-              precision: 2,
-              value: '0.00'
-            },
-            {
-              label: "预算应拨付金额(元)",
-              prop: "budgetAppropriateAmount",
-              span: 12,
-              hide: true,
-              type: 'number',
-              precision: 2,
-              value: '0.00'
-            },
-            {
-              display: false,
-              hide: true,
-              parent: false,
-              label: "议事标题",
-              prop: "articleId",
-              search: false,
-              viewDisabled: false,
-              type: 'select',
-              dicUrl: `/api/blade-article/article/getArticleByDistrictId?type=4&eventType=1&districtIdList={{districtId}}`,
-              props: {
-                label: "title",
-                value: "id"
-              },
-              defaultExpandedKeys: ["361102003"],
-              span: 12,
-              width: 260,
-              rules: [{
-                required: true,
-                message: "请选择议事",
-                trigger: "blur",
-              }, ],
-              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)
-                }
-
-              }
-            },
-
-            {
-              label: "项目摘要",
-              span: 24,
-              hide: true,
-              prop: "projectDigest",
-              placeholder: "例如:“XX小区XX栋XX设施设备维修,总的预算金额是X,是否含有审价,本次维修涉及范围共XX户,总面积的建筑面积为XX平方米”",
-              type: "textarea"
-            },
-            {
-              label: "项目进度描述",
-              span: 24,
-              hide: true,
-              prop: "projectDescribe",
-              type: "textarea"
-            },
-            {
-              label: '施工方案附件',
-              prop: 'constructionSchemeUrls',
-              type: 'upload',
-              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: "请上传施工方案",
-                trigger: "blur",
-              }, ],
+        {
+          label: '维修项目名称',
+          prop: 'name',
+          searchSpan: 5,
+          searchLabelWidth: 124,
+          search: true,
+          span: 12,
+          rules: [{
+            required: true,
+            message: "请输入维修项目名称",
+            trigger: "blur",
+          },],
+        },
+        {
+          width: 110,
+          label: "所属街道",
+          addDisplay: false,
+          editDisplay: false,
+          viewDisplay: false,
+          prop: "streetName",
+          search: true,
+          searchSpan: 4
+        },
+        {
+          width: 156,
+          overHidden: true,
+          label: "所属社区",
+          addDisplay: false,
+          editDisplay: false,
+          viewDisplay: false,
+          prop: "communityName",
+          search: true,
+          searchSpan: 4
+        },
+        {
+          width: 100,
+          label: "预计开工时间",
+          prop: "runTime",
+          span: 12,
+          type: "date",
+          format: "yyyy-MM-dd",
+          valueFormat: "yyyy-MM-dd",
+          rules: [{
+            required: true,
+            message: "请选择合同开始时间",
+            trigger: "blur",
+          },],
+        },
+        {
+          width: 100,
+          label: "预计竣工时间",
+          prop: "completedTime",
+          span: 12,
+          type: "date",
+          format: "yyyy-MM-dd",
+          valueFormat: "yyyy-MM-dd",
+          rules: [{
+            required: true,
+            message: "请选择合同结束时间",
+            trigger: "blur",
+          },],
+        },
+        {
+          label: "项目分摊方式",
+          prop: "allocationWay",
+          value: '按建筑面积分摊',
+          span: 12,
+          row: true,
+        },
+        {
+          width: 110,
+          label: '联系人',
+          prop: 'linkman',
+          span: 12,
+          searchSpan: 4,
+          searchLabelWidth: 80,
+          search: true,
+          rules: [{
+            required: true,
+            message: "请输入联系人",
+            trigger: "blur",
+          },],
+        },
+        {
+          width: 120,
+          label: '联系方式',
+          prop: 'linkPhone',
+          span: 12,
+          rules: [{
+            required: true,
+            message: "请输入联系方式",
+            trigger: "blur",
+          },],
+        },
+        {
+          width: 100,
+          label: '申请时间',
+          prop: 'applyTime',
+          span: 12,
+          display: false,
+        }, {
+          label: '审核进度',
+          prop: 'applyStatus',
+          span: 12,
+          display: false,
+          dicData: [{
+            label: "待审核",
+            value: 0,
+          }, {
+            label: "业委会",
+            value: 1,
+          }, {
+            label: "街道",
+            value: 2,
+          }, {
+            label: "区住建局",
+            value: 3,
+          }, {
+            label: "调整申请",
+            value: 4,
+          }, {
+            label: "审核通过",
+            value: 5,
+          }, {
+            label: "审核不通过",
+            value: 6,
+          }, {
+            label: "上饶住建局",
+            value: 7,
+          }]
+        },
+        {
+          label: "项目预算总金额(元)",
+          prop: "budgetAmount",
+          span: 12,
+          hide: true,
+          type: 'number',
+          precision: 2,
+          value: '0.00'
+        },
+        {
+          label: "实际预算金额(元)",
+          prop: "actualAmount",
+          span: 12,
+          hide: true,
+          type: 'number',
+          precision: 2,
+          value: '0.00'
+        },
+        {
+          label: "自筹金额(元)",
+          prop: "selfAmount",
+          span: 12,
+          hide: true,
+          type: 'number',
+          precision: 2,
+          value: '0.00'
+        },
+        {
+          label: "预算应拨付金额(元)",
+          prop: "budgetAppropriateAmount",
+          span: 12,
+          hide: true,
+          type: 'number',
+          precision: 2,
+          value: '0.00'
+        },
+        {
+          display: false,
+          hide: true,
+          parent: false,
+          label: "议事标题",
+          prop: "articleId",
+          search: false,
+          viewDisabled: false,
+          type: 'select',
+          dicUrl: `/api/blade-article/article/getArticleByDistrictId?type=4&eventType=1&districtIdList={{districtId}}`,
+          // slot: true,
+          formslot: true,
+          cascader: ['vote'],
+          props: {
+            label: "title",
+            value: "id"
+          },
+          defaultExpandedKeys: ["361102003"],
+          span: 12,
+          width: 260,
+          rules: [{
+            required: true,
+            message: "请选择议事",
+            trigger: "blur",
+          },],
+          change: (val) => {
+            console.log("val===>", val)
+            // console.log("form===>",this.form)
+            if (val.value && !this.form.id) {
+              this.articleRange = val.articleRange;
+              // this.showDialog = true;
+              // this.getDetail(val.value, val.articleRange)
             }
-          ],
-        },
-        data: [],
 
-        optionList: {
-          header: false,
-          menu: false,
-          headerAlign: 'center',
-          align: 'center',
-          border: true,
-          addBtn: false,
-          editBtn: false,
-          delBtn: false,
-          defaultExpandAll: true,
-          rowKey: 'id',
-          rowParentKey: 'parentId',
-          column: [{
-              label: '标题',
-              prop: 'discussContent',
-            },
-            {
-              label: '选项内容',
-              prop: 'optionContent',
-            },
-            {
-              label: '人数',
-              prop: 'number',
-            }
-          ]
+          }
         },
-        optionData: [{
-            title: "测试",
-            content: "选项1",
-            count: 1
+
+        {
+          display: false,
+          span: 24,
+          hide: true,
+          prop: "vote",
+          formslot: true,
+          label: "议事选项"
+        },
+
+        {
+          label: "项目摘要",
+          span: 24,
+          hide: true,
+          prop: "projectDigest",
+          placeholder: "例如:“XX小区XX栋XX设施设备维修,总的预算金额是X,是否含有审价,本次维修涉及范围共XX户,总面积的建筑面积为XX平方米”",
+          type: "textarea"
+        },
+        {
+          label: "项目进度描述",
+          span: 24,
+          hide: true,
+          prop: "projectDescribe",
+          type: "textarea"
+        },
+        {
+          label: '施工方案附件',
+          prop: 'constructionSchemeUrls',
+          type: 'upload',
+          span: 24,
+          hide: true,
+          multiple: true,
+          // showFileList: true,
+          propsHttp: {
+            res: 'data',
+            name: "originalName",
+            url: "link"
           },
-          {
-            title: "测试",
-            content: "选项2",
-            count: 2
-          },
-          {
-            title: "测试",
-            content: "选项",
-            count: 2
-          },
+          action: '/api/blade-resource/oss/endpoint/put-file-attach',
+          rules: [{
+            required: true,
+            message: "请上传施工方案",
+            trigger: "blur",
+          },],
+        }
         ],
-        topictData: []
-      }
-    },
-    watch: {
-      // 'form.districtId':{
-      //   handler(newVal,oldVal){
-      //     console.log("val===>", newVal)
-      //     if(newVal){
-      //         this.showDialog = true;
-      //       }
-      //   },
-      //   deep: true,
-      // 	immediate: true
+      },
+      data: [],
 
-      // }
-
-      'form.districtId': {
-        handler(newData) {
-          const column = this.findObject(this.option.column, "articleId")
-          if (newData) {
-            column.display = true;
-          } else {
-            column.display = false
+      optionList: {
+        header: false,
+        menu: false,
+        headerAlign: 'center',
+        align: 'center',
+        border: true,
+        addBtn: false,
+        editBtn: false,
+        delBtn: false,
+        defaultExpandAll: true,
+        rowKey: 'id',
+        rowParentKey: 'parentId',
+        column: [
+          {
+            label: '选项内容',
+            prop: 'optionContent',
+          },
+          {
+            label: '人数',
+            prop: 'number',
+            slot: true,
           }
-        },
+        ]
       },
-    },
-    computed: {
-      ...mapGetters(["permission", "userInfo"]),
-      permissionList() {
-        return {
-          addBtn: this.vaildData(this.permission.propertyCapitalApply_add, true),
-          viewBtn: this.vaildData(this.permission.propertyCapitalApply_view, true),
-          delBtn: this.vaildData(this.permission.propertyCapitalApply_delete, true),
-          editBtn: this.vaildData(this.permission.propertyCapitalApply_edit, true),
-        }
-      },
-      ids() {
-        let ids = []
-        this.selectionList.forEach((ele) => {
-          ids.push(ele.id)
-        })
-        return ids.join(",")
-      },
+      topictData: [],
+      topicTitle: "",
+      articleRange: ""
+    }
+  },
+  watch: {
+    // 'form.districtId':{
+    //   handler(newVal,oldVal){
+    //     console.log("val===>", newVal)
+    //     if(newVal){
+    //         this.showDialog = true;
+    //       }
+    //   },
+    //   deep: true,
+    // 	immediate: true
 
-      textDispose() {
-        return (row, flag, type) => {
-          if (row[flag] || row[type] == null) {
-            return row[type]
-          } else {
-            if (type == 'principalIdCard') {
-              return row[type].replace(/^(.{6})(?:\d+)(.{4})$/, "$1******$2")
-            } else {
-              return row[type].replace(/^(.{3})(?:\d+)(.{4})$/, "$1****$2")
-            }
-          }
+    // }
+
+    'form.districtId': {
+      handler(newData) {
+        const column = this.findObject(this.option.column, "articleId")
+        if (newData) {
+          column.display = true;
+        } else {
+          column.display = false
         }
       }
     },
-    methods: {
+    '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: {
+    ...mapGetters(["permission", "userInfo"]),
+    permissionList() {
+      return {
+        addBtn: this.vaildData(this.permission.propertyCapitalApply_add, true),
+        viewBtn: this.vaildData(this.permission.propertyCapitalApply_view, true),
+        delBtn: this.vaildData(this.permission.propertyCapitalApply_delete, true),
+        editBtn: this.vaildData(this.permission.propertyCapitalApply_edit, true),
+      }
+    },
+    ids() {
+      let ids = []
+      this.selectionList.forEach((ele) => {
+        ids.push(ele.id)
+      })
+      return ids.join(",")
+    },
 
-      rowView() {
-        this.showDialog = false;
-      },
-
-
-      showStringDispose(row, type) {
-        row[type] = !row[type]
-      },
-
-      handleWork(row) {
-        this.$router.push({
-          path: `/property/process/maintenanceFundApply/edit/${row.taskId}/${row.processInstanceId}/${row.id}`
-        })
-      },
-      goDetail(row) {
-        this.$router.push({
-          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(",")
-        }
-        row.propertyFlag = 1
-        add(row).then(
-          () => {
-            this.onLoad(this.page)
-            this.$message({
-              type: "success",
-              message: "操作成功!",
-            })
-            done()
-          },
-          (error) => {
-            window.console.log(error)
-            loading()
-          }
-        )
-      },
-      rowUpdate(row, index, done, loading) {
-        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(",")
-        }
-        update(row).then(
-          () => {
-            this.onLoad(this.page)
-            this.$message({
-              type: "success",
-              message: "操作成功!",
-            })
-            done()
-          },
-          (error) => {
-            window.console.log(error)
-            loading()
-          }
-        )
-      },
-      rowDel(row) {
-        this.$confirm("确定将选择数据删除?", {
-            confirmButtonText: "确定",
-            cancelButtonText: "取消",
-            type: "warning",
-          })
-          .then(() => {
-            return remove(row.id)
-          })
-          .then(() => {
-            this.onLoad(this.page)
-            this.$message({
-              type: "success",
-              message: "操作成功!",
-            })
-          })
-      },
-      searchReset() {
-        this.query = {}
-        this.onLoad(this.page)
-      },
-      searchChange(params, done) {
-        this.query = params
-        this.page.currentPage = 1
-        this.onLoad(this.page, params)
-        done()
-      },
-      selectionChange(list) {
-        console.log(111);
-        this.selectionList = list
-      },
-      selectionClear() {
-        this.selectionList = []
-        this.$refs.crud.toggleSelection()
-      },
-      handleDelete() {
-        if (this.selectionList.length === 0) {
-          this.$message.warning("请选择至少一条数据")
-          return
-        }
-        this.$confirm("确定将选择数据删除?", {
-            confirmButtonText: "确定",
-            cancelButtonText: "取消",
-            type: "warning",
-          })
-          .then(() => {
-            return remove(this.ids)
-          })
-          .then(() => {
-            this.onLoad(this.page)
-            this.$message({
-              type: "success",
-              message: "操作成功!",
-            })
-            this.$refs.crud.toggleSelection()
-          })
-      },
-      beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getPropertyCapitalApply(this.form.id).then((res) => {
-            this.form = res.data.data
-            this.form.propertyFlag = 1
-            if (this.form.constructionSchemeUrls.length > 0) {
-              var urls = []
-              var names = this.form.constructionSchemeUrls.split(",")
-              names.forEach(name => {
-                urls.push(website.minioUrl + name)
-              })
-              this.form.constructionSchemeUrls = urls.join(",")
-            }
-          })
-        }
-        // con
-        done()
-      },
-      currentChange(currentPage) {
-        this.page.currentPage = currentPage
-      },
-      sizeChange(pageSize) {
-        this.page.pageSize = pageSize
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query)
-      },
-      onLoad(page, params = {}) {
-        const {
-          dateTime
-        } = this.query
-        let values = {
-          ...params,
-        }
-        if (dateTime) {
-          values = {
-            ...params,
-            startTime: dateTime[0],
-            endTime: dateTime[1],
-            ...this.query,
-          }
-          values.dateTime = null
-        }
-        this.loading = true
-        getList(page.currentPage, page.pageSize, values).then((res) => {
-          const data = res.data.data
-          this.page.total = data.total
-          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(",")
-            }
-          })
-          this.loading = false
-          this.selectionClear()
-        })
-      },
-      spanMethod({
-        row,
-        column,
-        rowIndex,
-        columnIndex
-      }) {
-        if (columnIndex === 0) {
-          if (rowIndex % 2 === 0) {
-            return {
-              rowspan: 2,
-              colspan: 1
-            }
+    textDispose() {
+      return (row, flag, type) => {
+        if (row[flag] || row[type] == null) {
+          return row[type]
+        } else {
+          if (type == 'principalIdCard') {
+            return row[type].replace(/^(.{6})(?:\d+)(.{4})$/, "$1******$2")
           } else {
-            return {
-              rowspan: 0,
-              colspan: 0
-            }
+            return row[type].replace(/^(.{3})(?:\d+)(.{4})$/, "$1****$2")
           }
         }
-      },
-      getDetail(articleId, districtId) {
-        let params = {
-          level: 1,
-          articleId: articleId,
-          districtId: districtId
-        }
-        getLists(1, 10, params).then(res => {
-          const data = res.data.data
-          this.topictData = data
-        })
       }
     }
+  },
+  methods: {
+
+    rowView() {
+      this.showDialog = false;
+    },
+
+
+    showStringDispose(row, type) {
+      row[type] = !row[type]
+    },
+
+    handleWork(row) {
+      this.$router.push({
+        path: `/property/process/maintenanceFundApply/edit/${row.taskId}/${row.processInstanceId}/${row.id}`
+      })
+    },
+    goDetail(row) {
+      this.$router.push({
+        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(",")
+      }
+      row.propertyFlag = 1
+      add(row).then(
+        () => {
+          this.onLoad(this.page)
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          })
+          done()
+        },
+        (error) => {
+          window.console.log(error)
+          loading()
+        }
+      )
+    },
+    rowUpdate(row, index, done, loading) {
+      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(",")
+      }
+      update(row).then(
+        () => {
+          this.onLoad(this.page)
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          })
+          done()
+        },
+        (error) => {
+          window.console.log(error)
+          loading()
+        }
+      )
+    },
+    rowDel(row) {
+      this.$confirm("确定将选择数据删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          return remove(row.id)
+        })
+        .then(() => {
+          this.onLoad(this.page)
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          })
+        })
+    },
+    searchReset() {
+      this.query = {}
+      this.onLoad(this.page)
+    },
+    searchChange(params, done) {
+      this.query = params
+      this.page.currentPage = 1
+      this.onLoad(this.page, params)
+      done()
+    },
+    selectionChange(list) {
+      console.log(111);
+      this.selectionList = list
+    },
+    selectionClear() {
+      this.selectionList = []
+      this.$refs.crud.toggleSelection()
+    },
+    handleDelete() {
+      if (this.selectionList.length === 0) {
+        this.$message.warning("请选择至少一条数据")
+        return
+      }
+      this.$confirm("确定将选择数据删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          return remove(this.ids)
+        })
+        .then(() => {
+          this.onLoad(this.page)
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          })
+          this.$refs.crud.toggleSelection()
+        })
+    },
+    beforeOpen(done, type) {
+      if (["edit", "view"].includes(type)) {
+        getPropertyCapitalApply(this.form.id).then((res) => {
+          this.form = res.data.data
+          this.form.propertyFlag = 1
+          if (this.form.constructionSchemeUrls.length > 0) {
+            var urls = []
+            var names = this.form.constructionSchemeUrls.split(",")
+            names.forEach(name => {
+              urls.push(website.minioUrl + name)
+            })
+            this.form.constructionSchemeUrls = urls.join(",")
+          }
+        })
+      }
+      // con
+      done()
+    },
+    currentChange(currentPage) {
+      this.page.currentPage = currentPage
+    },
+    sizeChange(pageSize) {
+      this.page.pageSize = pageSize
+    },
+    refreshChange() {
+      this.onLoad(this.page, this.query)
+    },
+    onLoad(page, params = {}) {
+      const {
+        dateTime
+      } = this.query
+      let values = {
+        ...params,
+      }
+      if (dateTime) {
+        values = {
+          ...params,
+          startTime: dateTime[0],
+          endTime: dateTime[1],
+          ...this.query,
+        }
+        values.dateTime = null
+      }
+      this.loading = true
+      getList(page.currentPage, page.pageSize, values).then((res) => {
+        const data = res.data.data
+        this.page.total = data.total
+        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(",")
+          }
+        })
+        this.loading = false
+        this.selectionClear()
+      })
+    },
+
+    getDetail(articleId, districtId) {
+      let params = {
+        level: 1,
+        articleId: articleId,
+        districtId: districtId
+      }
+      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>
 
 <style>
-  .avue-upload__icon {
-    line-height: 6;
-  }
+.avue-upload__icon {
+  line-height: 6;
+}
 </style>
\ No newline at end of file
diff --git a/vue.config.js b/vue.config.js
index a0627eb..05e3c04 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -38,8 +38,8 @@
         proxy: {
             "/api": {
                 //本地服务接口地址
-                target:"http://192.168.2.109:9528",
-                // target: "https://srgdjczzxtpt.com:2080/api",
+                // target:"http://192.168.2.109:9528",
+                target: "https://srgdjczzxtpt.com:2080/api",
                 // target: "https://kt39592615.goho.co",
                 // target: "http://z4042833u6.wicp.vip",
                 // target: "http://localhost:9528",

--
Gitblit v1.9.3