Ver Fonte

bug问题

Shannon_mu há 3 anos atrás
pai
commit
a8a016881d
18 ficheiros alterados com 568 adições e 383 exclusões
  1. 127 126
      operationSupport/src/views/businessManagement/InvestmentResources/index.js
  2. 15 15
      operationSupport/src/views/businessManagement/InvestmentResources/index.vue
  3. 18 4
      operationSupport/src/views/businessManagement/InvestmentResources/stepPage/programme.vue
  4. 8 0
      operationSupport/src/views/newWorkBench/components/addcommonfuntion.vue
  5. 71 62
      operationSupport/src/views/newWorkBench/components/collectionRate.vue
  6. 40 20
      operationSupport/src/views/newWorkBench/components/complaintsAndSuggestions.vue
  7. 43 23
      operationSupport/src/views/newWorkBench/components/complaintsSuggestions.vue
  8. 18 9
      operationSupport/src/views/newWorkBench/components/discount.vue
  9. 18 9
      operationSupport/src/views/newWorkBench/components/equipmentStatistics.vue
  10. 21 12
      operationSupport/src/views/newWorkBench/components/householdGender.vue
  11. 21 12
      operationSupport/src/views/newWorkBench/components/householdIdentity.vue
  12. 28 23
      operationSupport/src/views/newWorkBench/components/ownerApproval.vue
  13. 26 17
      operationSupport/src/views/newWorkBench/components/pendingComplaints.vue
  14. 25 14
      operationSupport/src/views/newWorkBench/components/permissionComponent.js
  15. 21 12
      operationSupport/src/views/newWorkBench/components/rentalAndSaleRate.vue
  16. 44 24
      operationSupport/src/views/newWorkBench/components/satisfaction.vue
  17. 20 0
      operationSupport/src/views/newWorkBench/template/noPermission.vue
  18. 4 1
      operationSupport/src/views/performanceManagement/evaluationSet/itemSettings/popups/itemAddOrEdit.vue

+ 127 - 126
operationSupport/src/views/businessManagement/InvestmentResources/index.js

@@ -1,132 +1,133 @@
 export default {
-  data() {
-    return {
-        cols: [
-            {
-                label: '所属社区',
-                prop: 'communityName'
-            },
-            {
-                label: '房屋地址',
-                prop: 'address'
-            },
-            {
-                label: '房屋编号',
-                prop: 'assetNumber'
-            },
-            {
-                label: '房屋类型',
-                prop: 'buildingType',
-                slot: 'buildingType'
-            },
-            {
-                label: '建筑面积',
-                prop: 'buildingArea'
-            },
-            {
-                label: '租售类型',
-                prop: 'salesType',
-                format(val) {
-                    if (val == 1) {
-                        return '可租可售';
-                    } else if (val == 2) {
-                        return '只租';
-                    } else if (val == 3) {
-                        return '只售';
+    data() {
+        return {
+            cols: [
+                {
+                    label: '所属社区',
+                    prop: 'communityName'
+                },
+                {
+                    label: '房屋地址',
+                    slot: 'address',
+                    width: "200px"
+                },
+                {
+                    label: '房屋编号',
+                    prop: 'assetNumber',
+                },
+                {
+                    label: '房屋类型',
+                    prop: 'buildingType',
+                    slot: 'buildingType'
+                },
+                {
+                    label: '建筑面积',
+                    prop: 'buildingArea'
+                },
+                {
+                    label: '租售类型',
+                    prop: 'salesType',
+                    format(val) {
+                        if (val == 1) {
+                            return '可租可售';
+                        } else if (val == 2) {
+                            return '只租';
+                        } else if (val == 3) {
+                            return '只售';
+                        }
                     }
-                }
-            },
-            {
-                label: '租售状态',
-                prop: 'salesStatus',
-                format(val) {
-                    if (val == 0) {
-                        return '待租售';
-                    } else if (val == 1) {
-                        return '已售';
-                    } else if (val == 2) {
-                        return '已租';
+                },
+                {
+                    label: '租售状态',
+                    prop: 'salesStatus',
+                    format(val) {
+                        if (val == 0) {
+                            return '待租售';
+                        } else if (val == 1) {
+                            return '已售';
+                        } else if (val == 2) {
+                            return '已租';
+                        }
                     }
-                }
-            },
-            {
-                label: '招商人员',
-                prop: 'username'
-            },
-            {
-                label: '发布状态',
-                prop: 'releaseStatus',
-                format(val) {
-                    if (val == 0) {
-                        return '未发布';
-                    } else if (val == 1) {
-                        return '已发布';
+                },
+                {
+                    label: '招商人员',
+                    prop: 'username'
+                },
+                {
+                    label: '发布状态',
+                    prop: 'releaseStatus',
+                    format(val) {
+                        if (val == 0) {
+                            return '未发布';
+                        } else if (val == 1) {
+                            return '已发布';
+                        }
                     }
+                },
+                {
+                    label: '发布时间',
+                    prop: 'releaseDate',
+                    width: '80'
+                },
+                {
+                    label: '操作',
+                    prop: 'id',
+                    slot: 'opt',
+                    width: 80
+                }
+            ],
+            buildingType: ['住宅', '商业'],
+            residenceType: [
+                {
+                    label: '高档住宅',
+                    value: 1
+                },
+                {
+                    label: '普通住宅',
+                    value: 2
+                },
+                {
+                    label: '公寓',
+                    value: 3
+                },
+                {
+                    label: '别墅',
+                    value: 4
+                },
+                {
+                    label: '复式',
+                    value: 5
+                },
+                {
+                    label: '办公',
+                    value: 6
+                },
+                {
+                    label: '酒店',
+                    value: 7
+                },
+                {
+                    label: '厂房',
+                    value: 8
+                },
+                {
+                    label: '商场',
+                    value: 9
+                },
+                {
+                    label: '综合体',
+                    value: 10
+                },
+                {
+                    label: '仓库',
+                    value: 11
+                },
+                {
+                    label: '广告位',
+                    value: 12
                 }
-            },
-            {
-                label: '发布时间',
-                prop: 'releaseDate',
-                width: '80'
-            },
-            {
-                label: '操作',
-                prop: 'id',
-                slot: 'opt',
-                width: 130
-            }
-        ],
-        buildingType: ['住宅', '商业'],
-        residenceType: [
-            {
-                label: '高档住宅',
-                value: 1
-            },
-            {
-                label: '普通住宅',
-                value: 2
-            },
-            {
-                label: '公寓',
-                value: 3
-            },
-            {
-                label: '别墅',
-                value: 4
-            },
-            {
-                label: '复式',
-                value: 5
-            },
-            {
-                label: '办公',
-                value: 6
-            },
-            {
-                label: '酒店',
-                value: 7
-            },
-            {
-                label: '厂房',
-                value: 8
-            },
-            {
-                label: '商场',
-                value: 9
-            },
-            {
-                label: '综合体',
-                value: 10
-            },
-            {
-                label: '仓库',
-                value: 11
-            },
-            {
-                label: '广告位',
-                value: 12
-            }
-        ],
-    };
-},
+            ],
+        };
+    },
 }

+ 15 - 15
operationSupport/src/views/businessManagement/InvestmentResources/index.vue

@@ -35,7 +35,7 @@
                 </div>
             </div>
             <zz-table
-                :settings="{ showCheckbox: true, showIndex: true, stripe: true }"
+                :settings="{ showCheckbox: true, stripe: true }"
                 :cols="cols"
                 :loading="mixins_onQuery"
                 :data="mixins_list"
@@ -43,6 +43,13 @@
                 @page-change="pageChange"
                 @selection-change="selectionChange"
             >
+                <template slot-scope="scope" slot="address">
+                    {{
+                        `${!!scope.row.buildingName ? scope.row.buildingName : ''}${!!scope.row.unitName ? '-' + scope.row.unitName : ''}${
+                            !!scope.row.roomNumber ? '-' + scope.row.roomNumber : ''
+                        }`
+                    }}
+                </template>
                 <template slot-scope="scope" slot="buildingType">
                     {{ !!scope.row.buildingType ? `${buildingType[Number(scope.row.buildingType) - 1]}` : ''
                     }}{{ !!scope.row.residenceType ? `-${residenceType[Number(scope.row.residenceType) + 1]['label']}` : '' }}
@@ -103,14 +110,8 @@ export default {
             });
         },
         release() {
-            // this.$router.push({
-            //     name: 'propertyManagement/inform',
-            //     params: {
-            //         showPop: true
-            //     }
-            // });
             if (!this.selectRow.length) {
-                this.$message.error('您尚未选择要发布的房间,请选择后再操作批量');
+                this.$message.error('请选择房间');
                 return;
             }
             let ids = [];
@@ -172,18 +173,17 @@ export default {
             this.mixins_query.communityId = '';
             this.mixins_query.buildingId = '';
             this.mixins_query.unitName = '';
-            this.mixins_query.roomNumber = '';
+            this.mixins_query.houseId = '';
             if (newValue.type) {
-                let newValueIds = newValue.id.split('-');
                 if (newValue.type === 'community') {
-                    this.mixins_query.communityId = newValueIds[0];
+                    this.mixins_query.communityId = newValue.communityId;
                 } else if (newValue.type === 'building') {
-                    this.mixins_query.buildingId = newValueIds[1];
+                    this.mixins_query.buildingId = newValue.buildingId;
                 } else if (newValue.type === 'unit') {
-                    this.mixins_query.buildingId = newValueIds[1];
-                    this.mixins_query.unitName = newValueIds[2];
+                    this.mixins_query.buildingId = newValue.buildingId;
+                    this.mixins_query.unitName = newValue.unitId;
                 } else if (newValue.type === 'room') {
-                    this.mixins_query.roomNumber = newValueIds[newValueIds.length - 1];
+                    this.mixins_query.houseId = newValue.houseId;
                 }
             }
             this.thisLeftData = newValue;

+ 18 - 4
operationSupport/src/views/businessManagement/InvestmentResources/stepPage/programme.vue

@@ -24,16 +24,30 @@
             <el-input v-model="formData.title" placeholder="请输入招商标题"></el-input>
         </el-form-item>
         <el-form-item label="月租金额" prop="monthlyRent">
-            <el-input class="width90" v-model="formData.monthlyRent" placeholder="请输入月租金额" oninput="value=value.replace(/[^0-9.]/g,'')"></el-input>元
+            <el-input
+                class="width90"
+                v-model="formData.monthlyRent"
+                placeholder="请输入月租金额"
+                maxlength="10"
+                oninput="value=value.replace(/[^0-9.]/g,'')"
+            ></el-input
+            >元
         </el-form-item>
         <el-form-item label="出售金额" prop="sell">
-            <el-input class="width90" v-model="formData.sell" placeholder="请输入出售金额" oninput="value=value.replace(/[^0-9.]/g,'')"></el-input>元
+            <el-input
+                class="width90"
+                v-model="formData.sell"
+                placeholder="请输入出售金额"
+                maxlength="10"
+                oninput="value=value.replace(/[^0-9.]/g,'')"
+            ></el-input
+            >元
         </el-form-item>
         <el-form-item label="房屋图片" prop="pictureUrl">
             <bz-upload type="img" :uploadArr="pictureArr" :limit="5"></bz-upload>
         </el-form-item>
         <el-form-item label="房屋视频" prop="videoUrl">
-            <bz-upload type="video" :uploadArr="videoArr"  :limit="5"></bz-upload>
+            <bz-upload type="video" :uploadArr="videoArr" :limit="5"></bz-upload>
         </el-form-item>
         <el-form-item label="招商描述" prop="userId">
             <tinymce v-model="formData.description" ref="endit" :height="150" />
@@ -224,7 +238,7 @@ export default {
 .formContent-item_title {
     clear: both;
 }
-.width90{
+.width90 {
     width: calc(100% - 25px);
     margin-right: 10px;
 }

+ 8 - 0
operationSupport/src/views/newWorkBench/components/addcommonfuntion.vue

@@ -4,18 +4,26 @@
             ><div class="checkImg"><img :src="item.imgPng" /></div>
             <div class="checkName">{{ item.lableTitle }}</div>
         </el-checkbox>
+        {{modelArrs}}
     </div>
 </template>
 <script>
 import { modelArr } from './commonModel.js';
+import permissionComponent from './permissionComponent';
 export default {
     props: ['params'],
+        mixins: [permissionComponent],
     data() {
         return {
             valueModel: [],
             modelArr: modelArr
         };
     },
+    computed:{
+        modelArrs(){
+               console.log( this.modelArr)
+        }
+    },
     methods: {
         clickIocn(item) {
             let sun = this.testingCheck();

+ 71 - 62
operationSupport/src/views/newWorkBench/components/collectionRate.vue

@@ -1,82 +1,91 @@
 <template>
     <div class="modelBlock">
-        <div class="model-title">
-            <div class="model-title-text">收款率分析</div>
-            <div class="model-title-right">
-                <el-date-picker
-                    value-format="yyyy-MM"
-                    v-model="date"
-                    type="month"
-                    placeholder="选择月"
-                    class="saveColumn-select saveColumn-select-time"
-                    @change="changeTime"
-                    :clearable="false"
-                >
-                </el-date-picker>
-                <div>
-                    <el-select
-                        v-model="mixins_query.communityId"
-                        placeholder="所有社区"
-                        clearable
-                        class="saveColumn-select"
-                        @change="getData"
-                    >
-                        <el-option
-                            v-for="(item, index) in communityList"
-                            :label="item.communityName"
-                            :value="item.id"
-                            :key="index"
-                        ></el-option>
-                    </el-select>
-                    <el-select
-                        v-model="mixins_query.chargeType"
-                        placeholder="所有费用"
-                        clearable
-                        class="saveColumn-select"
-                        @change="getData"
+        <template v-if="permissionFiltering">
+            <div class="model-title">
+                <div class="model-title-text">收款率分析</div>
+                <div class="model-title-right">
+                    <el-date-picker
+                        value-format="yyyy-MM"
+                        v-model="date"
+                        type="month"
+                        placeholder="选择月"
+                        class="saveColumn-select saveColumn-select-time"
+                        @change="changeTime"
+                        :clearable="false"
                     >
-                        <el-option v-for="(item, index) in amountType" :label="item.name" :value="item.value" :key="index"></el-option>
-                    </el-select>
+                    </el-date-picker>
+                    <div>
+                        <el-select
+                            v-model="mixins_query.communityId"
+                            placeholder="所有社区"
+                            clearable
+                            class="saveColumn-select"
+                            @change="getData"
+                        >
+                            <el-option
+                                v-for="(item, index) in communityList"
+                                :label="item.communityName"
+                                :value="item.id"
+                                :key="index"
+                            ></el-option>
+                        </el-select>
+                        <el-select
+                            v-model="mixins_query.chargeType"
+                            placeholder="所有费用"
+                            clearable
+                            class="saveColumn-select"
+                            @change="getData"
+                        >
+                            <el-option v-for="(item, index) in amountType" :label="item.name" :value="item.value" :key="index"></el-option>
+                        </el-select>
+                    </div>
                 </div>
             </div>
-        </div>
-        <div class="model-content">
-            <process-circle
-                class="item"
-                :strokeWidth="strokeWidth"
-                :strokeColor="strokeColor"
-                :trailWidth="trailWidth"
-                :trailColor="trailColor"
-                :percent="dataObj.receivedAmount"
-            >
-                <span class="ashText" style="font-size: 14px">收款率</span>
-                <span> {{ parseInt((dataObj.receivedAmount / dataObj.receivableAmount || 0).toFixed(2) * 100) }}%</span>
-            </process-circle>
-            <div class="textAmount">
-                <div class="listAmount">
-                    <div class="listText">应收金额</div>
-                    <div class="listNumber">{{ dataObj.receivableAmount }}</div>
-                </div>
-                <div class="listAmount">
-                    <div class="listText">已收金额</div>
-                    <div class="listNumber">{{ dataObj.receivedAmount }}</div>
-                </div>
-                <div class="listAmount">
-                    <div class="listText">未收金额</div>
-                    <div class="listNumber">{{ dataObj.uncollected }}</div>
+            <div class="model-content">
+                <process-circle
+                    class="item"
+                    :strokeWidth="strokeWidth"
+                    :strokeColor="strokeColor"
+                    :trailWidth="trailWidth"
+                    :trailColor="trailColor"
+                    :percent="dataObj.receivedAmount"
+                >
+                    <span class="ashText" style="font-size: 14px">收款率</span>
+                    <span> {{ parseInt((dataObj.receivedAmount / dataObj.receivableAmount || 0).toFixed(2) * 100) }}%</span>
+                </process-circle>
+                <div class="textAmount">
+                    <div class="listAmount">
+                        <div class="listText">应收金额</div>
+                        <div class="listNumber">{{ dataObj.receivableAmount }}</div>
+                    </div>
+                    <div class="listAmount">
+                        <div class="listText">已收金额</div>
+                        <div class="listNumber">{{ dataObj.receivedAmount }}</div>
+                    </div>
+                    <div class="listAmount">
+                        <div class="listText">未收金额</div>
+                        <div class="listNumber">{{ dataObj.uncollected }}</div>
+                    </div>
                 </div>
             </div>
-        </div>
+        </template>
+        <no-permission v-else tipsText="收款率分析"></no-permission>
     </div>
 </template>
 <script>
 import processCircle from './circle'; // 环形进度条
+import permissionComponent from './permissionComponent';
 export default {
+    mixins: [permissionComponent],
     components: {
         processCircle
     },
     data() {
         return {
+            defaultModel: {
+                permissUrl: '14',
+                titleName: '收费管理'
+            },
             strokeWidth: 15, // 线条宽度
             trailWidth: 15, // 背景线条宽度
             trailColor: '#2C3345', // 背景线条宽度

+ 40 - 20
operationSupport/src/views/newWorkBench/components/complaintsAndSuggestions.vue

@@ -1,31 +1,46 @@
 
 <template>
     <div class="modelBlock">
-        <div class="model-title">
-            <div class="model-title-text">投诉建议数量趋势</div>
-            <div class="model-title-right">
-                <el-select v-model="mixins_query.communityId" placeholder="所有社区" clearable class="saveColumn-select" @change="getData">
-                    <el-option v-for="(item, index) in communityList" :label="item.communityName" :value="item.id" :key="index"></el-option>
-                </el-select>
-                <el-date-picker
-                    value-format="yyyy-MM"
-                    v-model="date"
-                    type="month"
-                    placeholder="选择月"
-                    class="saveColumn-select"
-                    @change="changeTime"
-                    :clearable="false"
-                >
-                </el-date-picker>
+        <template v-if="permissionFiltering">
+            <div class="model-title">
+                <div class="model-title-text">投诉建议数量趋势</div>
+                <div class="model-title-right">
+                    <el-select
+                        v-model="mixins_query.communityId"
+                        placeholder="所有社区"
+                        clearable
+                        class="saveColumn-select"
+                        @change="getData"
+                    >
+                        <el-option
+                            v-for="(item, index) in communityList"
+                            :label="item.communityName"
+                            :value="item.id"
+                            :key="index"
+                        ></el-option>
+                    </el-select>
+                    <el-date-picker
+                        value-format="yyyy-MM"
+                        v-model="date"
+                        type="month"
+                        placeholder="选择月"
+                        class="saveColumn-select"
+                        @change="changeTime"
+                        :clearable="false"
+                    >
+                    </el-date-picker>
+                </div>
             </div>
-        </div>
-        <div class="model-content">
-            <zz-echart :option="clientOptions" class="chart"></zz-echart>
-        </div>
+            <div class="model-content">
+                <zz-echart :option="clientOptions" class="chart"></zz-echart>
+            </div>
+        </template>
+        <no-permission v-else tipsText="投诉建议数量趋势"></no-permission>
     </div>
 </template>
 <script>
 import { discountedWave } from './indexOptionChart';
+import permissionComponent from './permissionComponent';
 let dataArr = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
 let dataDay = [
     '01-01',
@@ -62,8 +77,13 @@ let dataDay = [
 ];
 export default {
     props: ['dataObj'],
+    mixins: [permissionComponent],
     data() {
         return {
+            defaultModel: {
+                permissUrl: 'propertyManagement/index',
+                titleName: '投诉建议'
+            },
             mixins_query: {
                 communityId: '',
                 date: ''

+ 43 - 23
operationSupport/src/views/newWorkBench/components/complaintsSuggestions.vue

@@ -1,41 +1,61 @@
 <template>
     <div class="modelBlock">
-        <div class="model-title">
-            <div class="model-title-text">投诉建议类型</div>
-            <div class="model-title-right">
-                <el-select v-model="mixins_query.communityId" placeholder="全部社区" clearable class="saveColumn-select" @change="getData">
-                    <el-option v-for="(item, index) in communityList" :label="item.communityName" :value="item.id" :key="index"></el-option>
-                </el-select>
-                <el-date-picker
-                    value-format="yyyy-MM"
-                    v-model="date"
-                    type="month"
-                    placeholder="选择月"
-                    class="saveColumn-select"
-                    @change="changeTime"
-                    :clearable="false"
-                >
-                </el-date-picker>
+        <template v-if="permissionFiltering">
+            <div class="model-title">
+                <div class="model-title-text">投诉建议类型</div>
+                <div class="model-title-right">
+                    <el-select
+                        v-model="mixins_query.communityId"
+                        placeholder="全部社区"
+                        clearable
+                        class="saveColumn-select"
+                        @change="getData"
+                    >
+                        <el-option
+                            v-for="(item, index) in communityList"
+                            :label="item.communityName"
+                            :value="item.id"
+                            :key="index"
+                        ></el-option>
+                    </el-select>
+                    <el-date-picker
+                        value-format="yyyy-MM"
+                        v-model="date"
+                        type="month"
+                        placeholder="选择月"
+                        class="saveColumn-select"
+                        @change="changeTime"
+                        :clearable="false"
+                    >
+                    </el-date-picker>
+                </div>
             </div>
-        </div>
-        <div class="model-content">
-            <zz-echart :option="clientOptions" class="chart"></zz-echart>
-            <div class="totals">
-                <span>{{ total }}</span>
-                <span class="numbers">总人数</span>
+            <div class="model-content">
+                <zz-echart :option="clientOptions" class="chart"></zz-echart>
+                <div class="totals">
+                    <span>{{ total }}</span>
+                    <span class="numbers">总人数</span>
+                </div>
             </div>
-        </div>
+        </template>
+        <no-permission v-else tipsText="投诉建议类型"></no-permission>
     </div>
 </template>
 <script>
 import { ringType } from './indexOptionChart';
+import permissionComponent from './permissionComponent';
 export default {
+    mixins: [permissionComponent],
     data() {
         return {
             mixins_query: {
                 communityId: '',
                 date: ''
             },
+            defaultModel: {
+                permissUrl: 'propertyManagement/index',
+                titleName: '投诉建议'
+            },
             date: '',
             total: 0,
             clientOptions: ringType(

+ 18 - 9
operationSupport/src/views/newWorkBench/components/discount.vue

@@ -1,18 +1,22 @@
 <template>
     <div class="modelBlock">
-        <div class="model-title">
-            <div class="model-title-text">设备告警趋势(近一个月)</div>
-            <el-select v-model="mixins_query.communityId" placeholder="所有社区" clearable class="saveColumn-select" @change="getData">
-                <el-option v-for="(item, index) in communityList" :label="item.communityName" :value="item.id" :key="index"></el-option>
-            </el-select>
-        </div>
-        <div class="model-content">
-            <zz-echart :option="clientOptions" class="chart"></zz-echart>
-        </div>
+        <template v-if="permissionFiltering">
+            <div class="model-title">
+                <div class="model-title-text">设备告警趋势(近一个月)</div>
+                <el-select v-model="mixins_query.communityId" placeholder="所有社区" clearable class="saveColumn-select" @change="getData">
+                    <el-option v-for="(item, index) in communityList" :label="item.communityName" :value="item.id" :key="index"></el-option>
+                </el-select>
+            </div>
+            <div class="model-content">
+                <zz-echart :option="clientOptions" class="chart"></zz-echart>
+            </div>
+        </template>
+        <no-permission v-else tipsText="设备告警趋势"></no-permission>
     </div>
 </template>
 <script>
 import { discountedWave } from './indexOptionChart';
+import permissionComponent from './permissionComponent';
 let dataArr = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
 let dataDay = [
     '01-01',
@@ -48,8 +52,13 @@ let dataDay = [
     '01-31'
 ];
 export default {
+    mixins: [permissionComponent],
     data() {
         return {
+            defaultModel: {
+                permissUrl: '16',
+                titleName: '告警管理'
+            },
             clientOptions: discountedWave('(次)', dataDay, dataArr),
             mixins_query: {
                 communityId: ''

+ 18 - 9
operationSupport/src/views/newWorkBench/components/equipmentStatistics.vue

@@ -1,23 +1,32 @@
 <template>
     <div class="modelBlock">
-        <div class="model-title">
-            <div class="model-title-text">设备设施统计</div>
-            <el-select v-model="mixins_query.communityId" placeholder="所有社区" clearable class="saveColumn-select">
-                <el-option v-for="(item, index) in communityList" :label="item.communityName" :value="item.id" :key="index"></el-option>
-            </el-select>
-        </div>
-        <div class="model-content">
-            <zz-echart :option="clientOptions" class="chart"></zz-echart>
-        </div>
+        <template v-if="permissionFiltering">
+            <div class="model-title">
+                <div class="model-title-text">设备设施统计</div>
+                <el-select v-model="mixins_query.communityId" placeholder="所有社区" clearable class="saveColumn-select">
+                    <el-option v-for="(item, index) in communityList" :label="item.communityName" :value="item.id" :key="index"></el-option>
+                </el-select>
+            </div>
+            <div class="model-content">
+                <zz-echart :option="clientOptions" class="chart"></zz-echart>
+            </div>
+        </template>
+        <no-permission v-else tipsText="设备设施统计"></no-permission>
     </div>
 </template>
 <script>
 import { columnOptionsChart } from '../EachartOptions.js';
+import permissionComponent from './permissionComponent';
 let timeDay = ['202201', '202202', '202203', '202204', '202205', '202206', '202207', '202208', '202209', '202210', '202211', '202212'];
 export default {
     props: ['dataObj'],
+    mixins: [permissionComponent],
     data() {
         return {
+            defaultModel: {
+                permissUrl: '15',
+                titleName: '设备管理'
+            },
             communityList: [],
             mixins_query: {
                 communityId: ''

+ 21 - 12
operationSupport/src/views/newWorkBench/components/householdGender.vue

@@ -1,25 +1,34 @@
 <template>
     <div class="modelBlock">
-        <div class="model-title">
-            <div class="model-title-text">住户性别占比</div>
-            <el-select v-model="mixins_query.communityId" placeholder="所有社区" clearable class="saveColumn-select" @change="getData">
-                <el-option v-for="(item, index) in communityList" :label="item.communityName" :value="item.id" :key="index"></el-option>
-            </el-select>
-        </div>
-        <div class="model-content">
-            <zz-echart :option="clientOptions" class="chart"></zz-echart>
-            <div class="totals">
-                <span>{{ total }}</span>
-                <span class="numbers">总人数</span>
+        <template v-if="permissionFiltering">
+            <div class="model-title">
+                <div class="model-title-text">住户性别占比</div>
+                <el-select v-model="mixins_query.communityId" placeholder="所有社区" clearable class="saveColumn-select" @change="getData">
+                    <el-option v-for="(item, index) in communityList" :label="item.communityName" :value="item.id" :key="index"></el-option>
+                </el-select>
             </div>
-        </div>
+            <div class="model-content">
+                <zz-echart :option="clientOptions" class="chart"></zz-echart>
+                <div class="totals">
+                    <span>{{ total }}</span>
+                    <span class="numbers">总人数</span>
+                </div>
+            </div>
+        </template>
+        <no-permission v-else tipsText="住户性别占比"></no-permission>
     </div>
 </template>
 <script>
 import { ringType } from './indexOptionChart';
+import permissionComponent from './permissionComponent';
 export default {
+    mixins: [permissionComponent],
     data() {
         return {
+            defaultModel: {
+                permissUrl: 'ownerManagement/index',
+                titleName: '住户管理'
+            },
             mixins_query: {
                 communityId: ''
             },

+ 21 - 12
operationSupport/src/views/newWorkBench/components/householdIdentity.vue

@@ -1,22 +1,26 @@
 <template>
     <div class="modelBlock">
-        <div class="model-title">
-            <div class="model-title-text">住户身份占比</div>
-            <el-select v-model="mixins_query.communityId" placeholder="所有社区" clearable class="saveColumn-select" @change="getData">
-                <el-option v-for="(item, index) in communityList" :label="item.communityName" :value="item.id" :key="index"></el-option>
-            </el-select>
-        </div>
-        <div class="model-content">
-            <zz-echart :option="clientOptions" class="chart"></zz-echart>
-            <div class="totals">
-                <span>{{ total }}</span>
-                <span class="numbers">总人数</span>
+        <template v-if="permissionFiltering">
+            <div class="model-title">
+                <div class="model-title-text">住户身份占比</div>
+                <el-select v-model="mixins_query.communityId" placeholder="所有社区" clearable class="saveColumn-select" @change="getData">
+                    <el-option v-for="(item, index) in communityList" :label="item.communityName" :value="item.id" :key="index"></el-option>
+                </el-select>
             </div>
-        </div>
+            <div class="model-content">
+                <zz-echart :option="clientOptions" class="chart"></zz-echart>
+                <div class="totals">
+                    <span>{{ total }}</span>
+                    <span class="numbers">总人数</span>
+                </div>
+            </div>
+        </template>
+        <no-permission v-else tipsText="住户身份占比"></no-permission>
     </div>
 </template>
 <script>
 import { GradualChange, ringType } from './indexOptionChart';
+import permissionComponent from './permissionComponent';
 const colors = [
     GradualChange('#22D8FF', '#00B2FF'),
     GradualChange('#F0646C', '#F4994E'),
@@ -25,8 +29,13 @@ const colors = [
     GradualChange('#884DD2', '#DF63CC')
 ];
 export default {
+    mixins: [permissionComponent],
     data() {
         return {
+            defaultModel: {
+                permissUrl: 'ownerManagement/index',
+                titleName: '住户管理'
+            },
             mixins_query: {
                 communityId: ''
             },

+ 28 - 23
operationSupport/src/views/newWorkBench/components/ownerApproval.vue

@@ -1,43 +1,48 @@
 
 <template>
     <div class="modelBlock">
-        <div class="model-title">
-            <div class="model-title-text">业主审批</div>
-            <div class="buttons" @click="$router.push({path:'/ownerManagement/ownerReview/index'})"><span class="text">查看更多</span> <span class="triangle"></span></div>
-        </div>
-        <div class="model-content">
-            <div class="listInformation" v-for="(item, index) in datas" :key="index">
-                <div class="flex">
-                    <img class="listInformation_img" src="@assets/img/homePage/icon_chuli@2x.png" />
-                    <div class="listInformation_text">
-                        <div>业主名称:{{ item.name }}</div>
-                        <div>房产地址:{{ item.roomNumber }}</div>
-                    </div>
+        <template v-if="permissionFiltering">
+            <div class="model-title">
+                <div class="model-title-text">业主审批</div>
+                <div class="buttons" @click="$router.push({ path: '/ownerManagement/ownerReview/index' })">
+                    <span class="text">查看更多</span> <span class="triangle"></span>
                 </div>
-                <div class="listInformation_operation">
-                    申请时间: {{ item.checkInDate }}<span @click="toPage(item)" class="zoniot_font zoniot-icon-shenhe"></span>
+            </div>
+            <div class="model-content">
+                <div class="listInformation" v-for="(item, index) in datas" :key="index">
+                    <div class="flex">
+                        <img class="listInformation_img" src="@assets/img/homePage/icon_chuli@2x.png" />
+                        <div class="listInformation_text">
+                            <div>业主名称:{{ item.name }}</div>
+                            <div>房产地址:{{ item.roomNumber }}</div>
+                        </div>
+                    </div>
+                    <div class="listInformation_operation">
+                        申请时间: {{ item.checkInDate }}<span @click="toPage(item)" class="zoniot_font zoniot-icon-shenhe"></span>
+                    </div>
                 </div>
+                <div v-if="datas.length <= 0" class="noData">暂无数据</div>
             </div>
-            <div v-if="datas.length <= 0" class="noData">暂无数据</div>
-        </div>
+        </template>
+        <no-permission v-else tipsText="业主审批"></no-permission>
     </div>
 </template>
 <script>
+import permissionComponent from './permissionComponent';
 export default {
+    mixins: [permissionComponent],
     data() {
         return {
+            defaultModel: {
+                permissUrl: 'ownerManagement/ownerReview/index',
+                titleName: '业主审核'
+            },
             mixins_query: {
                 pageNum: 1,
                 pageSize: 3,
                 auditStatus: 0
             },
-            datas: [
-                // {
-                //     name: 111,
-                //     roomNumber: 5555,
-                //     checkInDate: '2020'
-                // }
-            ]
+            datas: []
         };
     },
     created() {

+ 26 - 17
operationSupport/src/views/newWorkBench/components/pendingComplaints.vue

@@ -1,32 +1,41 @@
 
 <template>
     <div class="modelBlock">
-        <div class="model-title">
-            <div class="model-title-text">待处理投诉</div>
-            <div class="buttons" @click="$router.push({ path: '/propertyManagement/index' })">
-                <span class="text">查看更多</span> <span class="triangle"></span>
-            </div>
-        </div>
-        <div class="model-content">
-            <div class="listInformation" v-for="(item, index) in datas" :key="index">
-                <div class="listInformation_text">
-                    <div>住户姓名:{{ item.userName }}</div>
-                    <div>房产地址:{{ item.communityName + '-' + item.roomNumber }}</div>
+        <template v-if="permissionFiltering">
+            <div class="model-title">
+                <div class="model-title-text">待处理投诉</div>
+                <div class="buttons" @click="$router.push({ path: '/propertyManagement/index' })">
+                    <span class="text">查看更多</span> <span class="triangle"></span>
                 </div>
-                <div class="listInformation_text">
-                    <div>投诉内容:{{ item.content }}</div>
-                    <div>投诉时间:{{ item.createDate }}</div>
+            </div>
+            <div class="model-content">
+                <div class="listInformation" v-for="(item, index) in datas" :key="index">
+                    <div class="listInformation_text">
+                        <div>住户姓名:{{ item.userName }}</div>
+                        <div>房产地址:{{ item.communityName + '-' + item.roomNumber }}</div>
+                    </div>
+                    <div class="listInformation_text">
+                        <div>投诉内容:{{ item.content }}</div>
+                        <div>投诉时间:{{ item.createDate }}</div>
+                    </div>
+                    <div class="listInformation_operation"><span @click="toPage(item)" class="zoniot_font zoniot-icon-chuli"></span></div>
                 </div>
-                <div class="listInformation_operation"><span @click="toPage(item)" class="zoniot_font zoniot-icon-chuli"></span></div>
+                <div v-if="datas.length <= 0" class="noData">暂无数据</div>
             </div>
-            <div v-if="datas.length <= 0" class="noData">暂无数据</div>
-        </div>
+        </template>
+        <no-permission v-else tipsText="待处理投诉"></no-permission>
     </div>
 </template>
 <script>
+import permissionComponent from './permissionComponent';
 export default {
+    mixins: [permissionComponent],
     data() {
         return {
+            defaultModel: {
+                permissUrl: 'propertyManagement/index',
+                titleName: '投诉建议'
+            },
             mixins_query: {
                 pageNum: 1,
                 pageSize: 3,

+ 25 - 14
operationSupport/src/views/newWorkBench/components/permissionComponent.js

@@ -1,12 +1,20 @@
 import modularLoading from '@views/newWorkBench/template/modularLoading.vue';
+import noPermission from '@views/newWorkBench/template/noPermission.vue';
+
 export default {
   components: {
     //默认加载
     modularLoading,
+    noPermission
   },
   data() {
     return {
-      loadding: true
+      loadding: true,
+      defaultModel: {
+        permissUrl: "",
+        titleName: ""
+      },
+      permisStatus: false
     }
   },
   computed: {
@@ -17,27 +25,30 @@ export default {
         setTimeout(() => {
           this.loadding = false;
         }, 700)
-        return this.permissionStr(false, arr);
+        this.permissionStr(arr)
+        return this.permisStatus;
       } else {
-        return false;
+        return this.permisStatus;
       }
     }
   },
   methods: {
     // 需要什么权限才能查看
-    filterFuntion(status, arr, nameTitle, linkPaths) {
-      arr.some((item) => {
-        if (item.children == null && item.name == nameTitle && item.linkPath == linkPaths) {
-          status = true;
-          return false;
-        } else if (item.children !== null) {
-          this.filterFuntion(status, item.children, nameTitle, linkPaths);
+    filterFuntion(arr, nameTitle, linkPaths) {
+      arr.map((item) => {
+        if (item.name == nameTitle && item.linkPath == linkPaths) {
+          this.permisStatus = true
+        } else if (!!item.children) {
+          this.filterFuntion(item.children, nameTitle, linkPaths);
         }
       });
-      return status;
+
+    },
+    permissionStr(arr) {
+      const { permissUrl, titleName } = this.defaultModel;
+      if (!!permissUrl && !!titleName) {
+        return this.filterFuntion(arr, titleName, permissUrl);
+      }
     },
-    // permissionStr(status, arr) {
-    //   return this.filterFuntion(status, arr, 'xxx', 'newWorkBench/index');
-    // },
   }
 }

+ 21 - 12
operationSupport/src/views/newWorkBench/components/rentalAndSaleRate.vue

@@ -1,22 +1,26 @@
 <template>
     <div class="modelBlock">
-        <div class="model-title">
-            <div class="model-title-text">房屋租售率</div>
-            <el-select v-model="mixins_query.communityId" placeholder="所有社区" clearable class="saveColumn-select" @change="getData">
-                <el-option v-for="(item, index) in communityList" :label="item.communityName" :value="item.id" :key="index"></el-option>
-            </el-select>
-        </div>
-        <div class="model-content">
-            <zz-echart :option="clientOptions" class="chart"></zz-echart>
-            <div class="totals">
-                <span>{{ total }}</span>
-                <span class="numbers">房屋总数</span>
+        <template v-if="permissionFiltering">
+            <div class="model-title">
+                <div class="model-title-text">房屋租售率</div>
+                <el-select v-model="mixins_query.communityId" placeholder="所有社区" clearable class="saveColumn-select" @change="getData">
+                    <el-option v-for="(item, index) in communityList" :label="item.communityName" :value="item.id" :key="index"></el-option>
+                </el-select>
             </div>
-        </div>
+            <div class="model-content">
+                <zz-echart :option="clientOptions" class="chart"></zz-echart>
+                <div class="totals">
+                    <span>{{ total }}</span>
+                    <span class="numbers">房屋总数</span>
+                </div>
+            </div>
+        </template>
+        <no-permission v-else tipsText="房屋租售率"></no-permission>
     </div>
 </template>
 <script>
 import { ringType } from './indexOptionChart';
+import permissionComponent from './permissionComponent';
 let defaultTitle = {
     text: `{a|租售率}`,
     left: 'center',
@@ -42,11 +46,16 @@ let defaultTitle = {
     }
 };
 export default {
+    mixins: [permissionComponent],
     data() {
         return {
             mixins_query: {
                 communityId: ''
             },
+            defaultModel: {
+                permissUrl: '11',
+                titleName: '房产管理'
+            },
             total: 0,
             defaultTitle: {
                 text: `{a|租售率}`,

+ 44 - 24
operationSupport/src/views/newWorkBench/components/satisfaction.vue

@@ -1,38 +1,58 @@
 <template>
     <div class="modelBlock">
-        <div class="model-title">
-            <div class="model-title-text">服务满意度趋势</div>
-            <div class="model-title-right">
-                <el-select v-model="mixins_query.communityId" placeholder="所有社区" clearable class="saveColumn-select" @change="getData">
-                    <el-option v-for="(item, index) in communityList" :label="item.communityName" :value="item.id" :key="index"></el-option>
-                </el-select>
-                <el-select v-model="mixins_query.type" placeholder="所有服务" clearable class="saveColumn-select" @change="getData">
-                    <el-option label="投诉建议" :value="1"></el-option>
-                    <el-option label="运维工单" :value="2"></el-option>
-                </el-select>
-                <el-date-picker
-                    value-format="yyyy"
-                    v-model="date"
-                    type="year"
-                    placeholder="选择年"
-                    class="saveColumn-select"
-                    @change="changeTime"
-                    :clearable="false"
-                >
-                </el-date-picker>
+        <template v-if="permissionFiltering">
+            <div class="model-title">
+                <div class="model-title-text">服务满意度趋势</div>
+                <div class="model-title-right">
+                    <el-select
+                        v-model="mixins_query.communityId"
+                        placeholder="所有社区"
+                        clearable
+                        class="saveColumn-select"
+                        @change="getData"
+                    >
+                        <el-option
+                            v-for="(item, index) in communityList"
+                            :label="item.communityName"
+                            :value="item.id"
+                            :key="index"
+                        ></el-option>
+                    </el-select>
+                    <el-select v-model="mixins_query.type" placeholder="所有服务" clearable class="saveColumn-select" @change="getData">
+                        <el-option label="投诉建议" :value="1"></el-option>
+                        <el-option label="运维工单" :value="2"></el-option>
+                    </el-select>
+                    <el-date-picker
+                        value-format="yyyy"
+                        v-model="date"
+                        type="year"
+                        placeholder="选择年"
+                        class="saveColumn-select"
+                        @change="changeTime"
+                        :clearable="false"
+                    >
+                    </el-date-picker>
+                </div>
             </div>
-        </div>
-        <div class="model-content">
-            <zz-echart :option="clientOptions" class="chart"></zz-echart>
-        </div>
+            <div class="model-content">
+                <zz-echart :option="clientOptions" class="chart"></zz-echart>
+            </div>
+        </template>
+        <no-permission v-else tipsText="服务满意度趋势"></no-permission>
     </div>
 </template>
 <script>
 import { columnOptionsChart } from './indexOptionChart';
+import permissionComponent from './permissionComponent';
 let dataArr = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
 export default {
+    mixins: [permissionComponent],
     data() {
         return {
+            defaultModel: {
+                permissUrl: 'propertyManagement/index',
+                titleName: '投诉建议'
+            },
             mixins_query: {
                 communityId: '',
                 date: '',

+ 20 - 0
operationSupport/src/views/newWorkBench/template/noPermission.vue

@@ -0,0 +1,20 @@
+<template>
+    <div class="noPermission">
+        {{ `${tipsText}没有权限` }}
+    </div>
+</template>
+<script>
+export default {
+    name: 'noPermission',
+    props: ['tipsText']
+};
+</script>
+<style lang="scss" scoped>
+.noPermission {
+    position: relative;
+    top: 50%;
+    left: 50%;
+    text-align: center;
+    transform: translate(-50%, -50%);
+}
+</style>

+ 4 - 1
operationSupport/src/views/performanceManagement/evaluationSet/itemSettings/popups/itemAddOrEdit.vue

@@ -55,7 +55,7 @@
                 </div>
                 <div class="conditionTitle" v-if="formData.type == 0 || formData.type == 3">
                     <span>得分</span>
-                    <span>{{formData.type == 3?"用户评价平均分":'任务数'}} </span>
+                    <span>{{ formData.type == 3 ? '用户评价平均分' : '任务数' }} </span>
                     <span>数值</span>
                 </div>
                 <div class="conditionContent" v-for="(item, index) in formData.itemValues" :key="index">
@@ -271,6 +271,9 @@ export default {
             } else if (val == 2) {
                 //自定义
                 this.formCols = this.formCols3;
+            } else if (val == 3) {
+                this.formData.name = '用户评价';
+                this.formCols = this.formCols2;
             } else {
                 //任务完成数
                 this.formData.name = '任务完成数';