You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							605 lines
						
					
					
						
							17 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							605 lines
						
					
					
						
							17 KiB
						
					
					
				
								<template>
							 | 
						|
								  <div v-if="pageLoading" class="resi-container">
							 | 
						|
								    <el-card ref="searchCard" class="search-card">
							 | 
						|
								      <div >
							 | 
						|
								        <el-form ref="searchForm" :inline="true" :model="form" class="demo-form-inline">
							 | 
						|
								          <el-form-item label="是否预警">
							 | 
						|
								            <el-select
							 | 
						|
								              v-model="isWarn"
							 | 
						|
								              placeholder="请选择"
							 | 
						|
								              size="small"
							 | 
						|
								              clearable
							 | 
						|
								            >
							 | 
						|
								              <el-option
							 | 
						|
								                v-for="item in options"
							 | 
						|
								                :key="item.value"
							 | 
						|
								                :label="item.label"
							 | 
						|
								                :value="item.value"
							 | 
						|
								              >
							 | 
						|
								                </el-option>
							 | 
						|
								            </el-select>
							 | 
						|
								          </el-form-item>
							 | 
						|
								          <el-form-item label="预警类型">
							 | 
						|
								            <el-select
							 | 
						|
								              v-model="level"
							 | 
						|
								              placeholder="请选择"
							 | 
						|
								              size="small"
							 | 
						|
								              clearable
							 | 
						|
								            >
							 | 
						|
								              <el-option
							 | 
						|
								                v-for="item in optionsType"
							 | 
						|
								                :key="item.value"
							 | 
						|
								                :label="item.label"
							 | 
						|
								                :value="item.value"
							 | 
						|
								              >
							 | 
						|
								                </el-option>
							 | 
						|
								            </el-select>
							 | 
						|
								          </el-form-item>
							 | 
						|
								          <el-form-item>
							 | 
						|
								            <el-button class="diy-button--search" size="small" @click="handleSearch">查询</el-button>
							 | 
						|
								          </el-form-item>
							 | 
						|
								          <el-form-item>
							 | 
						|
								            <el-button class="diy-button--reset" size="small" @click="resetForm('searchForm')">重置</el-button>
							 | 
						|
								          </el-form-item>
							 | 
						|
								          
							 | 
						|
								        </el-form>
							 | 
						|
								      </div>
							 | 
						|
								    </el-card>
							 | 
						|
								    <el-card class="resi-card-table">
							 | 
						|
								      
							 | 
						|
								      <el-table
							 | 
						|
								        :data="tableData"
							 | 
						|
								        row-key="id"
							 | 
						|
								        v-loading="tableLoading"
							 | 
						|
								        border
							 | 
						|
								        :height="tableHeight"
							 | 
						|
								        style="width: 100%"
							 | 
						|
								        class="resi-table"
							 | 
						|
								      >
							 | 
						|
								        <el-table-column label="序号" type="index" align="center" width="50">
							 | 
						|
								        </el-table-column>
							 | 
						|
								        <el-table-column
							 | 
						|
								          v-for="item in tableHeader"
							 | 
						|
								          :key="item.columnName"
							 | 
						|
								          :prop="item.columnName"
							 | 
						|
								          :label="item.label"
							 | 
						|
								          align="center"
							 | 
						|
								          width="180"
							 | 
						|
								        >
							 | 
						|
								          <template slot-scope="scope">
							 | 
						|
								            <el-image
							 | 
						|
								            v-if="filterImage(item.columnName)"
							 | 
						|
								            style="width: 70px; height: 70px"
							 | 
						|
								            :src="handleFilterSpan(scope.row, item) "
							 | 
						|
								            fit="fill"></el-image>
							 | 
						|
								            <span v-else>{{ handleFilterSpan(scope.row, item) }}</span>
							 | 
						|
								          </template>
							 | 
						|
								        </el-table-column>
							 | 
						|
								        <el-table-column fixed="right" label="操作" align="center" width="120">
							 | 
						|
								          <template slot-scope="scope">
							 | 
						|
								            <el-button
							 | 
						|
								              @click="handleLook(scope.row)"
							 | 
						|
								              type="text"
							 | 
						|
								              size="small"
							 | 
						|
								              class="div-table-button--detail"
							 | 
						|
								              >{{(scope.row.status === 'show'&&'隐藏') || '显示'}}</el-button
							 | 
						|
								            >
							 | 
						|
								            <el-button
							 | 
						|
								                @click="handleEdit(scope.row)"
							 | 
						|
								                type="text"
							 | 
						|
								                size="small"
							 | 
						|
								                class="div-table-button--edit"
							 | 
						|
								                >编辑</el-button
							 | 
						|
								              >
							 | 
						|
								          </template>
							 | 
						|
								        </el-table-column>
							 | 
						|
								      </el-table>
							 | 
						|
								      <div>
							 | 
						|
								        <el-pagination
							 | 
						|
								          @size-change="handleSizeChange"
							 | 
						|
								          @current-change="handleCurrentChange"
							 | 
						|
								          :current-page.sync="currentPage"
							 | 
						|
								          :page-sizes="[20, 50, 100, 200]"
							 | 
						|
								          :page-size="pageSize"
							 | 
						|
								          layout="sizes, prev, pager, next, total"
							 | 
						|
								          :total="total"
							 | 
						|
								        >
							 | 
						|
								        </el-pagination>
							 | 
						|
								      </div>
							 | 
						|
								    </el-card>
							 | 
						|
								
							 | 
						|
								    <el-dialog
							 | 
						|
								      title="居民类别配置"
							 | 
						|
								      :visible.sync="dialogVisible"
							 | 
						|
								      width="50%"
							 | 
						|
								      top="5vh"
							 | 
						|
								      append-to-body
							 | 
						|
								      class="dialog-h"
							 | 
						|
								      :close-on-click-modal="false"
							 | 
						|
								      :before-close="handlerCancle"
							 | 
						|
								    >
							 | 
						|
								      <el-form label-width="150px" :model="form" :rules="rules" ref="ruleForm" class="dialog-h-content scroll-h">
							 | 
						|
								        <el-form-item label="类别名称">
							 | 
						|
								          <el-input v-model="form.label" size="small" style="width: 180px;" disabled></el-input>
							 | 
						|
								        </el-form-item>
							 | 
						|
								        <el-form-item label="管理平台图标" prop="managementIcon">
							 | 
						|
								          <el-upload class="avatar-uploader"
							 | 
						|
								            :action="uploadUlr"
							 | 
						|
								            :data="{customerId:customerId}"
							 | 
						|
								            :show-file-list="false"
							 | 
						|
								            :on-success="(response, file, fileList) => handleImgSuccess('managementIcon', response, file, fileList)"
							 | 
						|
								            :before-upload="beforeImgUpload">
							 | 
						|
								            <img v-if="form.managementIcon"
							 | 
						|
								              :src="form.managementIcon"
							 | 
						|
								              style="width:70px;height:70px"
							 | 
						|
								              class="function-icon">
							 | 
						|
								            <i v-else class="el-icon-plus avatar-uploader-icon"></i>
							 | 
						|
								          </el-upload>
							 | 
						|
								        </el-form-item>
							 | 
						|
								        <el-form-item label="数据平台图标" prop="dataIcon">
							 | 
						|
								          <el-upload class="avatar-uploader"
							 | 
						|
								            :action="uploadUlr"
							 | 
						|
								            :data="{customerId:customerId}"
							 | 
						|
								            :show-file-list="false"
							 | 
						|
								            :on-success="(response, file, fileList) => handleImgSuccess('dataIcon', response, file, fileList)"
							 | 
						|
								            :before-upload="beforeImgUpload">
							 | 
						|
								            <img v-if="form.dataIcon"
							 | 
						|
								              :src="form.dataIcon"
							 | 
						|
								              style="width:70px;height:70px"
							 | 
						|
								              class="function-icon">
							 | 
						|
								            <i v-else class="el-icon-plus avatar-uploader-icon"></i>
							 | 
						|
								          </el-upload>
							 | 
						|
								        </el-form-item>
							 | 
						|
								        <el-form-item label="房屋显示图标" prop="houseShowIcon">
							 | 
						|
								          <el-upload class="avatar-uploader"
							 | 
						|
								            :action="uploadUlr"
							 | 
						|
								            :data="{customerId:customerId}"
							 | 
						|
								            :show-file-list="false"
							 | 
						|
								            :on-success="(response, file, fileList) => handleImgSuccess('houseShowIcon', response, file, fileList)"
							 | 
						|
								            :before-upload="beforeImgUpload">
							 | 
						|
								            <img v-if="form.houseShowIcon"
							 | 
						|
								              :src="form.houseShowIcon"
							 | 
						|
								              style="width:70px;height:70px"
							 | 
						|
								              class="function-icon">
							 | 
						|
								            <i v-else class="el-icon-plus avatar-uploader-icon"></i>
							 | 
						|
								          </el-upload>
							 | 
						|
								        </el-form-item>
							 | 
						|
								        <el-form-item label="是否预警">
							 | 
						|
								          <el-switch v-model="form.warn"></el-switch>
							 | 
						|
								        </el-form-item>
							 | 
						|
								        <el-form-item label="黄色预警">
							 | 
						|
								          <el-input-number v-model="form.level1" :min="0" size="small" label="描述文字" @change="handleLevelChange"></el-input-number> 人/楼宇
							 | 
						|
								        </el-form-item>
							 | 
						|
								        <el-form-item label="红色预警">
							 | 
						|
								          <el-input-number v-model="form.level2" :min="form.level1" size="small" label="描述文字" ></el-input-number> 人/楼宇
							 | 
						|
								        </el-form-item>
							 | 
						|
								      </el-form>
							 | 
						|
								      <div class="resi-btns">
							 | 
						|
								        <el-button size="small" @click="handlerCancle">取消</el-button>
							 | 
						|
								        <el-button
							 | 
						|
								          type="primary"
							 | 
						|
								          size="small"
							 | 
						|
								          :loading="btnLoading"
							 | 
						|
								          @click="handleSUbmit"
							 | 
						|
								          >提交</el-button
							 | 
						|
								        >
							 | 
						|
								      </div>
							 | 
						|
								    </el-dialog>
							 | 
						|
								
							 | 
						|
								  </div>
							 | 
						|
								</template>
							 | 
						|
								
							 | 
						|
								<script>
							 | 
						|
								import axios from 'axios'
							 | 
						|
								import Sortable from 'sortablejs'
							 | 
						|
								export default {
							 | 
						|
								  data() {
							 | 
						|
								    return {
							 | 
						|
								      tableLoading: false,
							 | 
						|
								      btnLoading: false,
							 | 
						|
								      disabled: false,
							 | 
						|
								      pageLoading: false,
							 | 
						|
								      dialogVisible: false,
							 | 
						|
								      uploadUlr: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadqrcodeV2',
							 | 
						|
								      currentPage: 1,
							 | 
						|
								      pageSize: 20,
							 | 
						|
								      total: null,
							 | 
						|
								      conditions: [],
							 | 
						|
								      tableData: [],
							 | 
						|
								      tableHeight: 500,
							 | 
						|
								      isWarn: null,
							 | 
						|
								      level: null,
							 | 
						|
								      options: [
							 | 
						|
								        {
							 | 
						|
								          label: '是',
							 | 
						|
								          value: 1
							 | 
						|
								        },{
							 | 
						|
								          label: '否',
							 | 
						|
								          value: 0
							 | 
						|
								        }
							 | 
						|
								      ],
							 | 
						|
								      optionsType: [
							 | 
						|
								        {
							 | 
						|
								          label: '黄色预警',
							 | 
						|
								          value: 1
							 | 
						|
								        },{
							 | 
						|
								          label: '红色预警',
							 | 
						|
								          value: 2
							 | 
						|
								        }
							 | 
						|
								      ],
							 | 
						|
								      tableHeader: [
							 | 
						|
								        {
							 | 
						|
								          label: '类别名称',
							 | 
						|
								          columnName: 'label'
							 | 
						|
								        }, {
							 | 
						|
								          label: '管理平台图标',
							 | 
						|
								          columnName: 'managementIcon'
							 | 
						|
								        }, {
							 | 
						|
								          label: '数据平台图标',
							 | 
						|
								          columnName: 'dataIcon'
							 | 
						|
								        }, {
							 | 
						|
								          label: '房屋显示图标',
							 | 
						|
								          columnName: 'houseShowIcon'
							 | 
						|
								        }, {
							 | 
						|
								          label: '状态',
							 | 
						|
								          columnName: 'status',
							 | 
						|
								          options: [{
							 | 
						|
								            value: 'show',
							 | 
						|
								            label: '显示'
							 | 
						|
								          }, {
							 | 
						|
								            value: 'hidden',
							 | 
						|
								            label: '隐藏'
							 | 
						|
								          }]
							 | 
						|
								        }, {
							 | 
						|
								          label: '是否预警',
							 | 
						|
								          columnName: 'warn',
							 | 
						|
								          options: [{
							 | 
						|
								            value: '1',
							 | 
						|
								            label: '是'
							 | 
						|
								          }, {
							 | 
						|
								            value: '0',
							 | 
						|
								            label: '否'
							 | 
						|
								          }]
							 | 
						|
								        }, {
							 | 
						|
								          label: '黄色预警',
							 | 
						|
								          columnName: 'level1'
							 | 
						|
								        }, {
							 | 
						|
								          label: '红色预警',
							 | 
						|
								          columnName: 'level2'
							 | 
						|
								        }
							 | 
						|
								      ],
							 | 
						|
								      customerId: '',
							 | 
						|
								      form: {
							 | 
						|
								        label: '',
							 | 
						|
								        dataIcon: '',
							 | 
						|
								        managementIcon: '',
							 | 
						|
								        houseShowIcon: '',
							 | 
						|
								        warn: '',
							 | 
						|
								        level1: 0,
							 | 
						|
								        level2: 0,
							 | 
						|
								        level3: 0
							 | 
						|
								      },
							 | 
						|
								      rules: {
							 | 
						|
								        managementIcon: [{ required: true, message: '管理平台图标不能为空', trigger: 'blur' }],
							 | 
						|
								        dataIcon: [{ required: true, message: '数据平台图标不能为空', trigger: 'blur' }],
							 | 
						|
								        houseShowIcon: [{ required: true, message: '房屋显示图标不能为空', trigger: 'blur' }]
							 | 
						|
								      }
							 | 
						|
								    }
							 | 
						|
								  },
							 | 
						|
								  async created() {
							 | 
						|
								    this.customerId = localStorage.getItem('customerId')
							 | 
						|
								    this.getTableData()
							 | 
						|
								    this.pageLoading = true
							 | 
						|
								  },
							 | 
						|
								  mounted() {
							 | 
						|
								    this.rowDrop()
							 | 
						|
								    this.$nextTick(() => {
							 | 
						|
								      this.tableHeight = document.documentElement.clientHeight - this.$refs.searchCard.$el.offsetHeight - 230 + 'px'
							 | 
						|
								      console.log('tableHeight', this.tableHeight)
							 | 
						|
								    })
							 | 
						|
								  },
							 | 
						|
								  methods: {
							 | 
						|
								    rowDrop() {
							 | 
						|
								      const tbody = document.querySelector('.el-table__body-wrapper tbody')
							 | 
						|
								      const _this = this
							 | 
						|
								      Sortable.create(tbody, {
							 | 
						|
								        onEnd({ newIndex, oldIndex }) {
							 | 
						|
								          const currRow = _this.tableData.splice(oldIndex, 1)[0]
							 | 
						|
								          _this.tableData.splice(newIndex, 0, currRow)
							 | 
						|
								          console.log('rowdrap', newIndex, oldIndex)
							 | 
						|
								          if (newIndex || newIndex === 0) _this.sortData()
							 | 
						|
								          // 
							 | 
						|
								        }
							 | 
						|
								      })
							 | 
						|
								    },
							 | 
						|
								    computedWidth(label) {
							 | 
						|
								      const wd = 20 * label.length
							 | 
						|
								      return wd > 80 ? wd : 80
							 | 
						|
								    },
							 | 
						|
								    filterImage(item) {
							 | 
						|
								      const arr = ['managementIcon', 'dataIcon', 'houseShowIcon']
							 | 
						|
								      return arr.includes(item)
							 | 
						|
								    },
							 | 
						|
								    handleSizeChange(val) {
							 | 
						|
								      console.log(`每页 ${val} 条`)
							 | 
						|
								      this.pageSize = val
							 | 
						|
								      this.getTableData()
							 | 
						|
								    },
							 | 
						|
								    handleCurrentChange(val) {
							 | 
						|
								      console.log(`当前页: ${val}`)
							 | 
						|
								      this.currentPage = val
							 | 
						|
								      this.getTableData()
							 | 
						|
								    },
							 | 
						|
								    handleFilterSpan(row, item) {
							 | 
						|
								      let _val = ''
							 | 
						|
								      if (item.options && item.options.length > 0) {
							 | 
						|
								        item.options.forEach((n) => {
							 | 
						|
								          if (n.value === row[item.columnName]) _val = n.label
							 | 
						|
								        })
							 | 
						|
								      }
							 | 
						|
								      return _val || row[item.columnName]
							 | 
						|
								    },
							 | 
						|
								    resetForm(formName) {
							 | 
						|
								      
							 | 
						|
								      this.isWarn = ''
							 | 
						|
								      this.level = ''
							 | 
						|
								      this.handleSearch();
							 | 
						|
								    },
							 | 
						|
								    handleSearch(val) {
							 | 
						|
								      console.log('searchhh--', val)
							 | 
						|
								      this.currentPage = 1
							 | 
						|
								      this.conditions = val
							 | 
						|
								      this.getTableData()
							 | 
						|
								    },
							 | 
						|
								    handleLevelChange(val) {
							 | 
						|
								      if (val > this.form.level2) this.form.level2 = val
							 | 
						|
								    },
							 | 
						|
								    
							 | 
						|
								    handlerCancle() {
							 | 
						|
								      this.dialogVisible = false
							 | 
						|
								    },
							 | 
						|
								    beforeImgUpload (file) {
							 | 
						|
								      const isPNG = (file.type === 'image/png') || (file.type === 'image/jpeg')
							 | 
						|
								      const isLt1M = file.size / 1024 / 1024 < 1
							 | 
						|
								
							 | 
						|
								      if (!isPNG) {
							 | 
						|
								        this.$message.error('上传图片只能是 PNG 格式!')
							 | 
						|
								      }
							 | 
						|
								      if (!isLt1M) {
							 | 
						|
								        this.$message.error('上传图片大小不能超过 1MB!')
							 | 
						|
								      }
							 | 
						|
								      return isPNG && isLt1M
							 | 
						|
								    },
							 | 
						|
								    handleImgSuccess (type, res, file) {
							 | 
						|
								      if (res.code === 0 && res.msg === 'success') {
							 | 
						|
								
							 | 
						|
								        console.log('type', type)
							 | 
						|
								        console.log('res.data.url', res.data.url)
							 | 
						|
								        this.form[type] = res.data.url
							 | 
						|
								
							 | 
						|
								      } else {
							 | 
						|
								        this.$message.error(res.msg)
							 | 
						|
								      }
							 | 
						|
								    },
							 | 
						|
								    async handleLook(row) {
							 | 
						|
								      const _show = {
							 | 
						|
								        show: 'hidden',
							 | 
						|
								        hidden: 'show'
							 | 
						|
								      }
							 | 
						|
								      const params = {
							 | 
						|
								        id: row.id,
							 | 
						|
								        status: _show[row.status]
							 | 
						|
								      }
							 | 
						|
								      this.$http
							 | 
						|
								        .post('/oper/customize/resicategorystatsconfig/updatestatus', params)
							 | 
						|
								        .then(({ data: res }) => {
							 | 
						|
								          if (res.code !== 0) {
							 | 
						|
								            return this.$message.error(res.msg)
							 | 
						|
								          } else {
							 | 
						|
								            this.getTableData()
							 | 
						|
								          }
							 | 
						|
								        })
							 | 
						|
								        .catch(() => {
							 | 
						|
								          return this.$message.error('网络错误')
							 | 
						|
								        })
							 | 
						|
								    },
							 | 
						|
								    async handleEdit(row) {
							 | 
						|
								      
							 | 
						|
								      this.form = { 
							 | 
						|
								        ...row, 
							 | 
						|
								        warn: row.warn == '1' ? true : false, 
							 | 
						|
								        level1: row.level1 || 0, 
							 | 
						|
								        level2: row.level2 || 0,
							 | 
						|
								        level3: row.level3 || 0 
							 | 
						|
								      }
							 | 
						|
								      this.dialogVisible = true
							 | 
						|
								    },
							 | 
						|
								    async handleSUbmit() {
							 | 
						|
								      this.$refs.ruleForm.validate(async (valid) => {
							 | 
						|
								        if (valid) {
							 | 
						|
								          if (this.form.warn) {
							 | 
						|
								            if (!this.form.level1) return this.$message.error('黄色预警不能为0')
							 | 
						|
								          }
							 | 
						|
								          this.btnLoading = true
							 | 
						|
								          const _form = {
							 | 
						|
								            ...this.form,
							 | 
						|
								            warn: (this.form.warn && 1) || 0
							 | 
						|
								          }
							 | 
						|
								          await this.$http
							 | 
						|
								            .post('/oper/customize/resicategorystatsconfig/update', _form)
							 | 
						|
								            .then(({ data: res }) => {
							 | 
						|
								              if (res.code !== 0) {
							 | 
						|
								                return this.$message.error(res.msg)
							 | 
						|
								              } else {
							 | 
						|
								                this.dialogVisible = false
							 | 
						|
								                this.getTableData()
							 | 
						|
								              } 
							 | 
						|
								            })
							 | 
						|
								            .catch(() => {
							 | 
						|
								              return this.$message.error('网络错误')
							 | 
						|
								            })
							 | 
						|
								            this.btnLoading = false
							 | 
						|
								        } else {
							 | 
						|
								          console.log('error submit!!');
							 | 
						|
								          return false;
							 | 
						|
								        }
							 | 
						|
								      });
							 | 
						|
								      
							 | 
						|
								    },
							 | 
						|
								    handleDel(row) {
							 | 
						|
								      let params = {
							 | 
						|
								        formCode: 'resi_base_info',
							 | 
						|
								        icResiUserId: row.icResiUserId
							 | 
						|
								      }
							 | 
						|
								      console.log('row1', row)
							 | 
						|
								      this.$http
							 | 
						|
								        .post('/epmetuser/icresiuser/delete', params)
							 | 
						|
								        .then(({ data: res }) => {
							 | 
						|
								          console.log('row2', row)
							 | 
						|
								          if (res.code !== 0) {
							 | 
						|
								            return this.$message.error(res.msg)
							 | 
						|
								          } else {
							 | 
						|
								            console.log('row3', row)
							 | 
						|
								            this.$message.success('删除成功')
							 | 
						|
								            this.getTableData()
							 | 
						|
								          }
							 | 
						|
								        })
							 | 
						|
								        .catch((err) => {
							 | 
						|
								          console.log('row4', err)
							 | 
						|
								          return this.$message.error('网络错误')
							 | 
						|
								        })
							 | 
						|
								    },
							 | 
						|
								    sortData() {
							 | 
						|
								      const _data = this.tableData.map((item, index)=> {
							 | 
						|
								        return {
							 | 
						|
								          id: item.id,
							 | 
						|
								          sort: index
							 | 
						|
								        }
							 | 
						|
								      })
							 | 
						|
								      this.$http
							 | 
						|
								        .post('/oper/customize/resicategorystatsconfig/updatesort', _data)
							 | 
						|
								        .then(({ data: res }) => {
							 | 
						|
								          if (res.code !== 0) {
							 | 
						|
								            return this.$message.error(res.msg)
							 | 
						|
								          } else {
							 | 
						|
								            // this.getTableData()
							 | 
						|
								          }
							 | 
						|
								        })
							 | 
						|
								        .catch((err) => {
							 | 
						|
								          console.log('row4', err)
							 | 
						|
								          return this.$message.error('网络错误')
							 | 
						|
								        })
							 | 
						|
								    },
							 | 
						|
								    getTableHeader() {
							 | 
						|
								      this.$http
							 | 
						|
								        .post('/oper/customize/icform/tableheaders', {
							 | 
						|
								          formCode: 'resi_base_info'
							 | 
						|
								        })
							 | 
						|
								        .then(({ data: res }) => {
							 | 
						|
								          if (res.code !== 0) {
							 | 
						|
								            return this.$message.error(res.msg)
							 | 
						|
								          } else {
							 | 
						|
								            this.tableHeader = res.data
							 | 
						|
								          }
							 | 
						|
								        })
							 | 
						|
								        .catch(() => {
							 | 
						|
								          return this.$message.error('网络错误')
							 | 
						|
								        })
							 | 
						|
								    },
							 | 
						|
								    async getTableData() {
							 | 
						|
								      this.tableLoading = true
							 | 
						|
								      let params = {
							 | 
						|
								        // formCode: 'resi_base_info',
							 | 
						|
								        isWarn: this.isWarn,
							 | 
						|
								        level: this.level,
							 | 
						|
								        pageNo: this.currentPage,
							 | 
						|
								        pageSize: this.pageSize
							 | 
						|
								      }
							 | 
						|
								      await this.$http
							 | 
						|
								        .post('/oper/customize/resicategorystatsconfig/list', params)
							 | 
						|
								        .then(({ data: res }) => {
							 | 
						|
								          if (res.code !== 0) {
							 | 
						|
								            return this.$message.error(res.msg)
							 | 
						|
								          } else {
							 | 
						|
								            this.tableData = res.data
							 | 
						|
								            this.total = res.data.length
							 | 
						|
								          }
							 | 
						|
								        })
							 | 
						|
								        .catch(() => {
							 | 
						|
								          return this.$message.error('网络错误')
							 | 
						|
								        })
							 | 
						|
								      this.tableLoading = false
							 | 
						|
								    }
							 | 
						|
								    
							 | 
						|
								  }
							 | 
						|
								}
							 | 
						|
								</script>
							 | 
						|
								
							 | 
						|
								<style lang="scss" scoped>
							 | 
						|
								.resi-container .resi-card-table {
							 | 
						|
								  ::v-deep .el-table th {
							 | 
						|
								    color: #fff;
							 | 
						|
								    background-color: rgba(33, 149, 254, 1);
							 | 
						|
								    // border-right: 1px solid rgba(33, 149, 254, 1);;
							 | 
						|
								  }
							 | 
						|
								}
							 | 
						|
								.resi-table {
							 | 
						|
								  ::v-deep .el-button--text {
							 | 
						|
								    text-decoration: underline;
							 | 
						|
								  }
							 | 
						|
								  ::v-deep .btn-color-del {
							 | 
						|
								    margin-left: 10px;
							 | 
						|
								    color: rgba(213, 16, 16, 1);
							 | 
						|
								  }
							 | 
						|
								  ::v-deep .btn-color-edit {
							 | 
						|
								    color: rgba(0, 167, 169, 1);
							 | 
						|
								  }
							 | 
						|
								}
							 | 
						|
								</style>
							 | 
						|
								
							 | 
						|
								<style lang="scss" scoped>
							 | 
						|
								.resi-row-btn {
							 | 
						|
								  display: flex;
							 | 
						|
								  margin-bottom: 13px;
							 | 
						|
								  ::v-deep .el-button {
							 | 
						|
								    // margin-left: 10px;
							 | 
						|
								    border: 0;
							 | 
						|
								  }
							 | 
						|
								  ::v-deep .el-select {
							 | 
						|
								    margin-right: 10px;
							 | 
						|
								  }
							 | 
						|
								}
							 | 
						|
								.avatar-uploader {
							 | 
						|
								  ::v-deep
							 | 
						|
								  .el-upload {
							 | 
						|
								    cursor: pointer;
							 | 
						|
								    position: relative;
							 | 
						|
								    overflow: hidden;
							 | 
						|
								  }
							 | 
						|
								  .el-upload:hover {
							 | 
						|
								    border-color: #409EFF;
							 | 
						|
								  }
							 | 
						|
								  .avatar {
							 | 
						|
								    width: 70px;
							 | 
						|
								    height: 70px;
							 | 
						|
								    display: block;
							 | 
						|
								  }
							 | 
						|
								  .avatar-uploader-icon {
							 | 
						|
								    border: 1px dashed #d9d9d9;
							 | 
						|
								    border-radius: 6px;
							 | 
						|
								    font-size: 28px;
							 | 
						|
								    color: #8c939d;
							 | 
						|
								    width: 70px;
							 | 
						|
								    height: 70px;
							 | 
						|
								    line-height: 70px;
							 | 
						|
								    text-align: center;
							 | 
						|
								  }
							 | 
						|
								}
							 | 
						|
								  
							 | 
						|
								  
							 | 
						|
								
							 | 
						|
								.resi-btns {
							 | 
						|
								  margin-top: 20px;
							 | 
						|
								  text-align: center;
							 | 
						|
								}
							 | 
						|
								</style>
							 | 
						|
								
							 |