From bc72c8b614a6a57c20b6cbc9a1d140e08b46d649 Mon Sep 17 00:00:00 2001
From: Lou <luzhiping@qqyjz.com>
Date: Tue, 09 Apr 2024 18:05:05 +0800
Subject: [PATCH] 维修基金申请新增,11个附件上传处理

---
 src/views/property/propertyCapitalApply.vue | 1602 ++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 944 insertions(+), 658 deletions(-)

diff --git a/src/views/property/propertyCapitalApply.vue b/src/views/property/propertyCapitalApply.vue
index 1c4af13..a344c54 100644
--- a/src/views/property/propertyCapitalApply.vue
+++ b/src/views/property/propertyCapitalApply.vue
@@ -48,9 +48,9 @@
           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>
 
 
@@ -80,678 +80,964 @@
   </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"
+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"
 
-  import deitDiscussion from "./components/deitDiscussion"
+import deitDiscussion from "./components/deitDiscussion"
 
 
-  export default {
-    components: {
-      deitDiscussion
-    },
-    data() {
-      return {
-        showDialog: false,
-        form: {
-          // constructionSchemeUrls:[]
+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: false,
+        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,
-        },
-        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: false,
-          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&districtId={{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)
-                }
-
-              }
-            },
-
-            {
-              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"
-              },
-              action: '/api/blade-resource/oss/endpoint/put-file-attach',
-              rules: [{
-                required: true,
-                message: "请上传施工方案",
-                trigger: "blur",
-              }, ],
-            }
-          ],
-        },
-        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: 'optionContent',
-            },
-            {
-              label: '人数',
-              prop: 'number',
-              slot: true,
-            }
-          ]
-        },
-        topictData: [],
-        topicTitle: "",
-        articleRange: ""
-      }
-    },
-    watch: {
-      // 'form.districtId':{
-      //   handler(newVal,oldVal){
-      //     console.log("val===>", newVal)
-      //     if(newVal){
-      //         this.showDialog = true;
-      //       }
-      //   },
-      //   deep: true,
-      // 	immediate: true
-
-      // }
-
-      'form.districtId': {
-        handler(newData) {
-          const column = this.findObject(this.option.column, "articleId")
-          if (newData) {
-            column.display = true;
-          } 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: {
-      ...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(",")
-      },
-
-      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")
-            }
-          }
-        }
-      }
-    },
-    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()
+        {
+          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"
           },
-          (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()
+          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&districtId={{districtId}}`,
+          // slot: true,
+          formslot: true,
+          cascader: ['vote'],
+          props: {
+            label: "title",
+            value: "id"
           },
-          (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(",")
+          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)
             }
-          })
-        }
-        // 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
+        },
+
+        {
+          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,
+        //   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: "维修资金使用申请审批表",
+          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,
+          rules: [{
+            required: true,
+            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,
+        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,
         }
-        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])
-      },
-
+      topictData: [],
+      topicTitle: "",
+      articleRange: ""
     }
+  },
+  watch: {
+    // 'form.districtId':{
+    //   handler(newVal,oldVal){
+    //     console.log("val===>", newVal)
+    //     if(newVal){
+    //         this.showDialog = true;
+    //       }
+    //   },
+    //   deep: true,
+    // 	immediate: true
+    // }
+
+    'form.districtId': {
+      handler(newData) {
+        const column = this.findObject(this.option.column, "articleId")
+        if (newData) {
+          column.display = true;
+        } 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: {
+    ...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(",")
+    },
+
+    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")
+          }
+        }
+      }
+    }
+  },
+  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}`
+      })
+    },
+
+    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.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;
+}
 
-  .workOrderStyle {
-    font-weight: normal;
-  }
+.workOrderStyle {
+  font-weight: normal;
+}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3