shuishen
2024-04-18 4522ab3fe8bd45ee753ef187448c1e884bbc601f
src/views/patrolList/patrolRecord.vue
@@ -4,7 +4,78 @@
      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)">
          详情
        </el-button>
      </template>
      <template slot-scope="{type,size,row }" slot="menu">
        <el-button icon="el-icon-detail" :size="size" :type="type" @click.stop="getDetail(row)">
          详情
        </el-button>
      </template>
      <template slot-scope="{row, size}" slot="principalPhone">
        <el-button :size="size" type="text" @click="showStringDispose(row, 'principalPhoneflag')"
          v-text="textDispose(row, 'principalPhoneflag', 'principalPhone')">
        </el-button>
      </template>
    </avue-crud>
    <el-drawer title="巡查详情" :visible.sync="isDetail" :append-to-body="true" size="60%" direction="rtl">
      <el-card class="trackClass" style="overflow-y: auto">
        <el-collapse v-model="activeNames" @change="handleChange">
          <div v-for="(item, index) in 10" :key="index">
            <el-collapse-item title="一致性 Consistency" name="1">
              <div>{{ index }}
                <el-collapse v-model="activeNames" @change="handleChange">
                  <div v-for="(item, index) in 3" :key="index">
                    <el-collapse-item title="er致性 Consistency" name="1">
                      <div>在界面中一致:所有的元素和结构需保持一致,比如:设计样式、图标和文本、元素的位置等。{{ index }}</div>
                    </el-collapse-item>
                  </div>
                </el-collapse>
              </div>
            </el-collapse-item>
          </div>
        </el-collapse>
        <!--  <el-form :model="form" label-position="right" size="mini" class="taskinfoForm" label-width="70px">
          <el-row>
            <el-col :span="24">
              <el-form-item label="巡查内容">
                <el-input :disabled="true" v-model="form.content" autocomplete="off"></el-input>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="24">
              <el-form-item label="巡检状态">
                <el-input :disabled="true" v-model="form.$status" autocomplete="off"></el-input>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="24">
              <el-form-item label="巡查图片">
                <el-upload action="" :disabled="true" list-type="picture-card" :file-list="form.elUploadImageArr">
                </el-upload>
              </el-form-item>
            </el-col>
          </el-row>
        </el-form> -->
      </el-card>
      <!-- <DcMap v-if="isDetail" :is-detail="isDetail" :range="form.taskRoute" :patrolRoute="form.patrolRoute">
      </DcMap> -->
    </el-drawer>
  </basic-container>
</template>
@@ -13,22 +84,18 @@
  import {
    getList,
    remove,
    update,
    add,
    getNotice,
    upcomment
    update,
    getDetail,
    getPatrolGroupTree
  } from "@/api/patrol/placeChek"
  import {
    addPd,
  } from "@/api/discuss/publicDiscuss"
  import website from '@/config/website'
  import {
    getDistrictTree
  } from "@/api/district/index"
  // import {
  //   getDistrictTree
  // } from "@/api/district/index"
  import {
    mapGetters
@@ -37,8 +104,7 @@
  export default {
    data() {
      return {
        dialogVisibles: false,
        isDetail: false,
        form: {},
        query: {},
        loading: true,
@@ -54,20 +120,23 @@
          searchLabelWidth: 96,
          searchShow: true,
          searchMenuSpan: 3,
          menuWidth: 450,
          menu: false,
          // menuWidth: 450,
          // menu: false,
          height: "auto",
          calcHeight: 54,
          dialogWidth: 950,
          tip: false,
          border: true,
          addBtn: false,
          delBtn: false,
          //stripe:true,
          index: true,
          viewBtn: true,
          editBtn: false,
          viewBtn: false,
          // selection: true,
          excelBtn: true,
          dialogClickModal: false,
          header: false,
          column: [{
              label: "所属街道",
              prop: "streetName",
@@ -123,6 +192,7 @@
              span: 24,
              row: true,
              searchSpan: 4,
              slot: true
            },
            {
              label: "场所地址",
@@ -152,7 +222,7 @@
        },
        data: [],
        districtTree: [],
        patrolTree: [],
      }
    },
    watch: {
@@ -190,8 +260,28 @@
        }
      },
      textDispose() {
        return (row, flag, type) => {
          if (row[flag] || row[type] == null) {
            return row[type]
          } else {
            if (type == 'principalIdCard') {
              return row[type].replace(/^(.{6})(?:\d+)(.{4})$/, "$1******$2")
            } else {
              return row[type].replace(/^(.{3})(?:\d+)(.{4})$/, "$1****$2")
            }
          }
        }
      }
    },
    methods: {
      showStringDispose(row, type) {
        row[type] = !row[type]
      },
      getDetail(row) {
        this.isDetail = true
      },
      searchReset() {
        this.query = {}
        this.onLoad(this.page)
@@ -267,6 +357,7 @@
          this.page.total = data.total
          this.data = data.records
          this.data.forEach(item => {
            this.$set(item, 'principalPhoneflag', false)
            if (item.signaturePath.length > 0) {
              var urls = []
              var names = item.signaturePath.split(",")
@@ -279,13 +370,14 @@
          this.loading = false
          this.selectionClear()
        })
        getDistrictTree({
          filterFlag: 1
        getPatrolGroupTree({
          type: 1,
          childType: 1
        }).then((res) => {
          const data = res.data.data
          this.districtTree = data
          const column = this.findObject(this.option.column, "articleList")
          column.dicData = res.data.data
          this.patrolTree = data
          // const column = this.findObject(this.option.column, "articleList")
          // column.dicData = res.data.data
          this.loading = false
        })
      },
@@ -328,4 +420,4 @@
  .avue-upload__icon {
    line-height: 6;
  }
</style>
</style>