lin
2024-04-11 aec6c2f5b7af18dc7d33997b29e146e0a06b1105
维修基金优化
16 files modified
288 ■■■■■ changed files
src/views/gzll/process/maintenanceFundApply/detail.vue 8 ●●●●● patch | view | raw | blame | history
src/views/gzll/process/maintenanceFundApply/form.vue 7 ●●●●● patch | view | raw | blame | history
src/views/gzll/process/maintenanceFundApply/handle.vue 7 ●●●●● patch | view | raw | blame | history
src/views/patrolList/patrolRecord.vue 12 ●●●●● patch | view | raw | blame | history
src/views/place/components/baseAllInfo.vue 28 ●●●●● patch | view | raw | blame | history
src/views/property/process/maintenanceFundApply/detail.vue 8 ●●●●● patch | view | raw | blame | history
src/views/property/process/maintenanceFundApply/edit.vue 14 ●●●●● patch | view | raw | blame | history
src/views/property/process/maintenanceFundApply/form.vue 7 ●●●●● patch | view | raw | blame | history
src/views/property/process/maintenanceFundApply/handle.vue 9 ●●●●● patch | view | raw | blame | history
src/views/property/propertyCapitalApply.vue 12 ●●●●● patch | view | raw | blame | history
src/views/propertySupervision/process/maintenanceFundApply/detail.vue 8 ●●●●● patch | view | raw | blame | history
src/views/propertySupervision/process/maintenanceFundApply/form.vue 7 ●●●●● patch | view | raw | blame | history
src/views/propertySupervision/process/maintenanceFundApply/handle.vue 8 ●●●● patch | view | raw | blame | history
src/views/publicSecurity/keynotePlaceManage.vue 61 ●●●●● patch | view | raw | blame | history
src/views/publicSecurity/ninePlaceManage/patrolRecord.vue 38 ●●●●● patch | view | raw | blame | history
src/views/publicSecurity/ninePlaceManage/situationRectification.vue 54 ●●●●● patch | view | raw | blame | history
src/views/gzll/process/maintenanceFundApply/detail.vue
@@ -198,10 +198,10 @@
              disabled: true
            },
            {
              label: "项目分摊方式",
              prop: "allocationWay",
              label: "楼栋",
              prop: "buildingName",
              labelWidth: 140,
              value: '按建筑面积分摊',
              value: '',
              span: 12,
              row: true,
              disabled: true
@@ -451,8 +451,6 @@
<style>
.workOrderStyle {
  font-weight: normal;
}
src/views/gzll/process/maintenanceFundApply/form.vue
@@ -100,12 +100,13 @@
              }, ],
            },
            {
              label: "项目分摊方式",
              prop: "allocationWay",
              label: "楼栋",
              prop: "buildingName",
              labelWidth: 140,
              value: '按建筑面积分摊',
              value: '',
              span: 12,
              row: true,
              disabled: true
            },
            {
              label: '联系人',
src/views/gzll/process/maintenanceFundApply/handle.vue
@@ -207,10 +207,10 @@
          disabled: true
        },
        {
          label: "项目分摊方式",
          prop: "allocationWay",
              label: "楼栋",
              prop: "buildingName",
          labelWidth: 140,
          value: '按建筑面积分摊',
              value: '',
          span: 12,
          row: true,
          disabled: true
@@ -542,6 +542,7 @@
  left: 50%;
  transform: translateX(-50%);
}
.workOrderStyle {
  font-weight: normal;
}
src/views/patrolList/patrolRecord.vue
@@ -1,10 +1,9 @@
<template>
    <basic-container>
        <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
            v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave"
            :before-open="beforeOpen" @search-change="searchChange" @search-reset="searchReset"
            @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
            @refresh-change="refreshChange" @on-load="onLoad">
      v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen"
      @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
      @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
            <template slot-scope="{type,size,row }" slot="menu">
                <el-button icon="el-icon-detail" :size="size" :type="type" @click.stop="getDetail(row)">
                    详情
@@ -371,7 +370,10 @@
                this.loading = false
                this.selectionClear()
            })
            getPatrolGroupTree({}).then((res) => {
        getPatrolGroupTree({
          type: 1,
          childType: 1
        }).then((res) => {
                const data = res.data.data
                this.patrolTree = data
                // const column = this.findObject(this.option.column, "articleList")
src/views/place/components/baseAllInfo.vue
@@ -16,7 +16,7 @@
        <box-title class="m10" :classVal="9" :title="'房东信息'"></box-title>
        <avue-form v-if="restShow" ref="restForm" :option="houseOwnerOption" v-model="form"></avue-form>
        <avue-form v-if="restShow" ref="restForm" :option="houseOwnerOption" v-model="placeForm"></avue-form>
        <box-title class="m10" :classVal="9" :title="'其他信息'"></box-title>
        <avue-form v-if="restShow" ref="restForm" :option="optionDetail" v-model="placeForm"></avue-form>
@@ -684,7 +684,11 @@
            search: true,
            searchSpan: 4,
            slot: true,
            overHidden: true
              overHidden: true,
              rules: [{
                // validator: validatorPhone,
                trigger: "blur",
              }, ],
          },
          {
            width: 96,
@@ -699,22 +703,6 @@
              trigger: "blur",
            },],
          },
          {
            width: 96,
            label: "微信号",
            prop: "legalTel",
            search: true,
            searchSpan: 4,
            slot: true,
            overHidden: true,
            rules: [{
              validator: validatorPhone,
              trigger: "blur",
            },],
          },
        ],
      },
      userOption: {
@@ -904,6 +892,8 @@
                ...data,
                imageUrls,
                planImageUrls,
              }
            }
@@ -1053,7 +1043,7 @@
        this.form.houseCodeBinds = this.form.houseCodeBinds.join(",")
      }
        this.form.placeExtEntity = null
      this.$refs.baseForm.validate((valid, done, msg) => {
        if (valid) {
          that.$axios
src/views/property/process/maintenanceFundApply/detail.vue
@@ -201,10 +201,10 @@
          disabled: true
        },
        {
          label: "项目分摊方式",
          prop: "allocationWay",
              label: "楼栋",
              prop: "buildingName",
          labelWidth: 140,
          value: '按建筑面积分摊',
              value: '',
          span: 12,
          row: true,
          disabled: true
@@ -455,8 +455,6 @@
<style>
.workOrderStyle {
  font-weight: normal;
}
src/views/property/process/maintenanceFundApply/edit.vue
@@ -206,12 +206,16 @@
          },],
        },
        {
          label: "项目分摊方式",
          prop: "allocationWay",
          labelWidth: 140,
          value: '按建筑面积分摊',
              label: "楼栋",
              prop: "buildingName",
              value: '',
          span: 12,
          row: true,
              rules: [{
                required: true,
                message: "请输入楼栋",
                trigger: "blur",
              }, ],
        },
        {
          label: '联系人',
@@ -542,8 +546,6 @@
</script>
<style>
.workOrderStyle {
  font-weight: normal;
}
src/views/property/process/maintenanceFundApply/form.vue
@@ -100,12 +100,13 @@
              }, ],
            },
            {
              label: "项目分摊方式",
              prop: "allocationWay",
              label: "楼栋",
              prop: "buildingName",
              labelWidth: 140,
              value: '按建筑面积分摊',
              value: '',
              span: 12,
              row: true,
              disabled: true
            },
            {
              label: '联系人',
src/views/property/process/maintenanceFundApply/handle.vue
@@ -207,12 +207,12 @@
          disabled: true
        },
        {
          label: "项目分摊方式",
          prop: "allocationWay",
              label: "楼栋",
              prop: "buildingName",
          labelWidth: 140,
          value: '按建筑面积分摊',
              value: '',
          span: 12,
          // row: true,
              row: true,
          disabled: true
        },
        {
@@ -535,6 +535,7 @@
  left: 50%;
  transform: translateX(-50%);
}
.workOrderStyle {
  font-weight: normal;
}
src/views/property/propertyCapitalApply.vue
@@ -242,12 +242,16 @@
          },],
        },
        {
          label: "项目分摊方式",
          prop: "allocationWay",
          value: '按建筑面积分摊',
              label: "楼栋",
              prop: "buildingName",
              value: '',
          span: 12,
          row: true,
              rules: [{
                required: true,
                message: "请输入楼栋",
                trigger: "blur",
              }, ],
        },
        {
          width: 110,
src/views/propertySupervision/process/maintenanceFundApply/detail.vue
@@ -201,10 +201,10 @@
          disabled: true
        },
        {
          label: "项目分摊方式",
          prop: "allocationWay",
              label: "楼栋",
              prop: "buildingName",
          labelWidth: 140,
          value: '按建筑面积分摊',
              value: '',
          span: 12,
          row: true,
          disabled: true
@@ -455,8 +455,6 @@
<style>
.workOrderStyle {
  font-weight: normal;
}
src/views/propertySupervision/process/maintenanceFundApply/form.vue
@@ -100,12 +100,13 @@
              }, ],
            },
            {
              label: "项目分摊方式",
              prop: "allocationWay",
              label: "楼栋",
              prop: "buildingName",
              labelWidth: 140,
              value: '按建筑面积分摊',
              value: '',
              span: 12,
              row: true,
              disabled: true
            },
            {
              label: '联系人',
src/views/propertySupervision/process/maintenanceFundApply/handle.vue
@@ -207,12 +207,12 @@
              disabled: true
            },
            {
              label: "项目分摊方式",
              prop: "allocationWay",
              label: "楼栋",
              prop: "buildingName",
              labelWidth: 140,
              value: '按建筑面积分摊',
              value: '',
              span: 12,
              // row: true,
              row: true,
              disabled: true
            },
            {
src/views/publicSecurity/keynotePlaceManage.vue
@@ -1,10 +1,9 @@
<template>
    <basic-container>
        <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
            v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave"
            :before-open="beforeOpen" @search-change="searchChange" @search-reset="searchReset"
            @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
            @refresh-change="refreshChange" @on-load="onLoad">
      v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen"
      @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
      @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
            <template slot-scope="{row, size}" slot="menu">
                <!-- <el-button type="text" :size="size" icon="el-icon-view" v-if="permission.place_view" plain
@@ -77,17 +76,15 @@
                检查记录
            </div>
            <div class="question-list" v-for="(tItem, tIndex) in rowDetail.qTypeList" :key='tIndex'
                v-loading="drawerLoading">
      <div class="question-list" v-for="(tItem, tIndex) in rowDetail.qTypeList" :key='tIndex' v-loading="drawerLoading">
                <div class="question-type" @click="flodQL(tIndex)">
                    <div class="type-name">
                        {{ CNNum[tIndex] }}、{{ tItem.questionName }}
                    </div>
                    <div class="icon-box"><i class="el-icon-arrow-down" v-show="tItem.isShowQList"></i><i
                            class="el-icon-arrow-up" v-show="!tItem.isShowQList"></i></div>
          <div class="icon-box"><i class="el-icon-arrow-down" v-show="tItem.isShowQList"></i><i class="el-icon-arrow-up"
              v-show="!tItem.isShowQList"></i></div>
                </div>
                <div class="question-item" v-for="(item, index) in tItem.questionList" :key='index'
                    v-show="tItem.isShowQList">
        <div class="question-item" v-for="(item, index) in tItem.questionList" :key='index' v-show="tItem.isShowQList">
                    <div class="question-name">
                        <div class="key">{{ index + 1 }}、{{ item.itemsNameTitle }}</div>
                        <div class="value"><el-radio v-model="radio" label="1" disabled>存在</el-radio>
@@ -152,7 +149,8 @@
    getTaskPlaceSelfCheckInfo
} from "@/api/publicSecurity/keynoteManage"
import {
    getPatrolGroupTree, getDictBizTree
    getPatrolGroupTree,
    getDictBizTree
} from "@/api/publicSecurity/ninePlaceManage"
import website from '@/config/website'
import NProgress from 'nprogress'
@@ -193,8 +191,14 @@
            refreshNum: 1,
            rowDetail: [],
            auditRules: {
                status: [{ required: true, message: "必填" }],
                remark: [{ required: true, message: "必填" }],
          status: [{
            required: true,
            message: "必填"
          }],
          remark: [{
            required: true,
            message: "必填"
          }],
            },
            visible: false,
            taskType: 0,
@@ -235,8 +239,7 @@
                searchShowBtn: false,
                columnBtn: false,
                dialogClickModal: false,
                column: [
                    {
          column: [{
                        label: "场所名称",
                        prop: "placeName",
                        span: 24,
@@ -457,19 +460,25 @@
        // 九小类型字典接口
        getDictBizTree () {
            getDictBizTree({ code: 'nineType' }).then(res => {
        getDictBizTree({
          code: 'nineType'
        }).then(res => {
                this.nineTypeList = res.data.data
            })
        },
        // 九小类型转换
        switchNineType (type) {
            return this.nineTypeList.find(item => item.key === type) ? this.nineTypeList.find(item => item.key === type).title : ''
        return this.nineTypeList.find(item => item.key === type) ? this.nineTypeList.find(item => item.key === type)
          .title : ''
        },
        // 获取问题类型
        getPatrolGroupTree () {
            getPatrolGroupTree().then(res => {
        getPatrolGroupTree({
          type: 1,
          childType: 1
        }).then(res => {
                this.questionTypeList = res.data.data
            })
        },
@@ -477,7 +486,9 @@
        getDetail (rowData) {
            this.drawerLoading = true
            this.isDetail = true
            getTaskPlaceSelfCheckInfo({ taskId: rowData.taskId }).then(res => {
        getTaskPlaceSelfCheckInfo({
          taskId: rowData.taskId
        }).then(res => {
                let row = res.data.data
                if (row.taskPlaceRecordVOList) {
                    row.taskPlaceRecordVOList.forEach(item => {
@@ -511,7 +522,11 @@
                    let arr = Object.entries(obj)
                    let newArr = []
                    arr.forEach(part => {
                        newArr.push({ questionName: part[0], questionList: part[1], isShowQList: true })
              newArr.push({
                questionName: part[0],
                questionList: part[1],
                isShowQList: true
              })
                    })
                    row.qTypeList = newArr
                }
@@ -536,7 +551,8 @@
                // data.isNine = 1
                data = Qs.stringify(data)
                exportBlob(
                    `/api/blade-taskPlaceSelfCheck/taskPlaceSelfCheck/export-taskPlaceSelfCheck?${this.website.tokenHeader}=${getToken()}&` + data
            `/api/blade-taskPlaceSelfCheck/taskPlaceSelfCheck/export-taskPlaceSelfCheck?${this.website.tokenHeader}=${getToken()}&` +
            data
                ).then(res => {
                    console.log('exportBlob', res)
                    downloadXls(res.data, `消防自查${dateNow()}.xlsx`)
@@ -802,8 +818,7 @@
            this.onLoad(this.page, this.query)
        },
        onLoad (page, params = {}) {
            const {
            } = this.query
        const {} = this.query
            let values = {
                ...params,
            }
src/views/publicSecurity/ninePlaceManage/patrolRecord.vue
@@ -1,10 +1,9 @@
<template>
    <basic-container>
        <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
            v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave"
            :before-open="beforeOpen" @search-change="searchChange" @search-reset="searchReset"
            @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
            @refresh-change="refreshChange" @on-load="onLoad">
      v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen"
      @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
      @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
            <template slot-scope="{row, size}" slot="principalPhone">
                <el-button :size="size" type="text" @click="showStringDispose(row, 'principalPhoneflag')"
                    v-text="textDispose(row, 'principalPhoneflag', 'principalPhone')">
@@ -55,11 +54,10 @@
                    <div class="type-name">
                        {{ CNNum[tIndex] }}、{{ tItem.questionName }}
                    </div>
                    <div class="icon-box"><i class="el-icon-arrow-down" v-show="tItem.isShowQList"></i><i
                            class="el-icon-arrow-up" v-show="!tItem.isShowQList"></i></div>
          <div class="icon-box"><i class="el-icon-arrow-down" v-show="tItem.isShowQList"></i><i class="el-icon-arrow-up"
              v-show="!tItem.isShowQList"></i></div>
                </div>
                <div class="question-item" v-for="(item, index) in tItem.questionList" :key='index'
                    v-show="tItem.isShowQList">
        <div class="question-item" v-for="(item, index) in tItem.questionList" :key='index' v-show="tItem.isShowQList">
                    <div class="question-name">
                        <div class="key">{{ index + 1 }}、{{ item.itemsNameTitle }}</div>
                        <div class="value"><el-radio v-model="radio" label="1" disabled>存在</el-radio>
@@ -120,7 +118,8 @@
} from "@/api/patrol/placeChek"
import {
    getPatrolGroupTree, getDictBizTree
    getPatrolGroupTree,
    getDictBizTree
} from "@/api/publicSecurity/ninePlaceManage"
import website from '@/config/website'
@@ -185,8 +184,7 @@
                searchShowBtn: false,
                columnBtn: false,
                dialogClickModal: false,
                column: [
                    {
          column: [{
                        label: "场所名称",
                        prop: "placeName",
                        span: 24,
@@ -404,19 +402,25 @@
        // 九小类型字典接口
        getDictBizTree () {
            getDictBizTree({ code: 'nineType' }).then(res => {
        getDictBizTree({
          code: 'nineType'
        }).then(res => {
                this.nineTypeList = res.data.data
            })
        },
        // 九小类型转换
        switchNineType (type) {
            return this.nineTypeList.find(item => item.key === type) ? this.nineTypeList.find(item => item.key === type).title : ''
        return this.nineTypeList.find(item => item.key === type) ? this.nineTypeList.find(item => item.key === type)
          .title : ''
        },
        // 获取问题类型
        getPatrolGroupTree () {
            getPatrolGroupTree().then(res => {
        getPatrolGroupTree({
          type: 1,
          childType: 1
        }).then(res => {
                this.questionTypeList = res.data.data
            })
        },
@@ -454,7 +458,11 @@
                let arr = Object.entries(obj)
                let newArr = []
                arr.forEach(part => {
                    newArr.push({ questionName: part[0], questionList: part[1], isShowQList: true })
            newArr.push({
              questionName: part[0],
              questionList: part[1],
              isShowQList: true
            })
                })
                row.qTypeList = newArr
            }
src/views/publicSecurity/ninePlaceManage/situationRectification.vue
@@ -1,10 +1,9 @@
<template>
    <basic-container>
        <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
            v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave"
            :before-open="beforeOpen" @search-change="searchChange" @search-reset="searchReset"
            @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
            @refresh-change="refreshChange" @on-load="onLoad">
      v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen"
      @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
      @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
            <template slot="menuLeft">
                <div class="tab-list">
                    <div :class="{ 'choose': typeStatus == 3 }" @click="changeType(3)">全部</div>
@@ -60,11 +59,10 @@
                    <div class="type-name">
                        {{ CNNum[tIndex] }}、{{ tItem.questionName }}
                    </div>
                    <div class="icon-box"><i class="el-icon-arrow-down" v-show="tItem.isShowQList"></i><i
                            class="el-icon-arrow-up" v-show="!tItem.isShowQList"></i></div>
          <div class="icon-box"><i class="el-icon-arrow-down" v-show="tItem.isShowQList"></i><i class="el-icon-arrow-up"
              v-show="!tItem.isShowQList"></i></div>
                </div>
                <div class="question-item" v-for="(item, index) in tItem.questionList" :key='index'
                    v-show="tItem.isShowQList">
        <div class="question-item" v-for="(item, index) in tItem.questionList" :key='index' v-show="tItem.isShowQList">
                    <div class="question-name">
                        <div class="key">{{ index + 1 }}、{{ item.itemsNameTitle }}</div>
                        <div class="value"><el-radio v-model="radio" label="1" disabled>存在</el-radio>
@@ -133,7 +131,9 @@
    mapGetters
} from "vuex"
import {
    getZGQKList, getPatrolGroupTree, applyRectification
    getZGQKList,
    getPatrolGroupTree,
    applyRectification
} from "@/api/publicSecurity/ninePlaceManage"
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
@@ -156,8 +156,14 @@
    data () {
        return {
            auditRules: {
                status: [{ required: true, message: "必填" }],
                reasonFailure: [{ required: true, message: "必填" }],
          status: [{
            required: true,
            message: "必填"
          }],
          reasonFailure: [{
            required: true,
            message: "必填"
          }],
            },
            visible: false,
            typeStatus: 1,
@@ -228,8 +234,7 @@
                    label: "是否下发《责令改正通知书》或是否处罚",
                    prop: "rectificationNoticeFlag",
                    align: 'center',
                    dicData: [
                        {
              dicData: [{
                            label: "否",
                            value: 1,
                        },
@@ -244,8 +249,7 @@
                    label: "是否整改完毕",
                    prop: "rectificationFlag",
                    align: 'center',
                    dicData: [
                        {
              dicData: [{
                            label: "否",
                            value: 1,
                        },
@@ -280,8 +284,7 @@
                    label: "审核状态",
                    prop: "status",
                    align: 'center',
                    dicData: [
                        {
              dicData: [{
                            label: "待审核",
                            value: 1,
                        },
@@ -315,7 +318,8 @@
                    hide: true,
                    searchSpan: 5,
                    searchLabelWidth: 76,
                }],
            }
          ],
            },
            data: [],
            refreshNum: 1,
@@ -438,7 +442,10 @@
        // 获取问题类型
        getPatrolGroupTree () {
            getPatrolGroupTree().then(res => {
        getPatrolGroupTree({
          type: 1,
          childType: 1
        }).then(res => {
                this.questionTypeList = res.data.data
            })
        },
@@ -475,7 +482,11 @@
            let arr = Object.entries(obj)
            let newArr = []
            arr.forEach(part => {
                newArr.push({ questionName: part[0], questionList: part[1], isShowQList: true })
          newArr.push({
            questionName: part[0],
            questionList: part[1],
            isShowQList: true
          })
            })
            row.qTypeList = newArr
            row.remarkNo = newArr.length
@@ -503,7 +514,8 @@
                }
                data = Qs.stringify(data)
                exportBlob(
                    `/api/blade-taskPlaceRectification/taskPlaceRectification/exportRectificationStatistics?${this.website.tokenHeader}=${getToken()}&` + data
            `/api/blade-taskPlaceRectification/taskPlaceRectification/exportRectificationStatistics?${this.website.tokenHeader}=${getToken()}&` +
            data
                ).then(res => {
                    downloadXls(res.data, `整改情况${dateNow()}.xlsx`)
                    NProgress.done()