feige
2023-11-10 bcac500a760877dc9140f1f381739793706c1af6
ruoyi-ui/src/views/secret/index.vue
@@ -1,11 +1,24 @@
<template>
    <div class="app-container" style="opacity: 1;">
      <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
        <el-form-item label="" prop="phone wx qq timeLimit type happenTime">
          <el-input
            v-model="queryParams.searchText"
            placeholder="在“财产”中搜索"
            clearable
            style="width: 240px"
            @keyup.enter.native="handleQuer1(queryParams)">
            <i slot="prefix" class="el-input__icon el-icon-search"></i>
          </el-input>
        </el-form-item>
        <el-form-item label="时间" prop="happenTime">
          <el-date-picker
            v-model="dateRange"
            style="width: 240px;"
            style="width: 200px;
                   height: 35px;
                   border-radius: 16px 16px 16px 16px;
                   opacity: 0.5;"
            value-format="yyyy-MM-dd"
            type="daterange"
            range-separator="-"
@@ -13,12 +26,16 @@
            end-placeholder="结束日期"
          ></el-date-picker>
        </el-form-item>
        <el-form-item label="类别" prop="type">
          <el-input
            v-model="queryParams.type"
            placeholder="请输入类别"
            clearable
            style="width: 240px"
            style="width: 200px;
                   height: 35px;
                   border-radius: 16px 16px 16px 16px;
                   opacity: 0.5;"
            @keyup.enter.native="handleQuery"
          />
        </el-form-item>
@@ -27,6 +44,18 @@
          <el-input
            v-model="queryParams.accNo"
            placeholder="请输入账号"
            clearable
            style="width: 200px;
                   height: 35px;
                   border-radius: 16px 16px 16px 16px;
                   opacity: 0.5;"
            @keyup.enter.native="handleQuery"
          />
        </el-form-item>
        <el-form-item label="期限" prop="timeLimit">
          <el-input
            v-model="queryParams.timeLimit"
            placeholder="请输入期限"
            clearable
            style="width: 240px"
            @keyup.enter.native="handleQuery"
@@ -81,7 +110,7 @@
            v-hasPermi="['family:note:export']"
          >导入模板下载</el-button>
        </el-col>
        <el-col :span="1.2">
        <el-col :span="1.5">
          <el-upload
            action=""
            class="upload-demo"
@@ -90,7 +119,7 @@
          >
            <el-button size="mini"   type="primary"
                       plain
                       icon="el-icon-plus" >导入</el-button>
                       icon="el-icon-top" >导入</el-button>
          </el-upload>
        </el-col>
@@ -100,20 +129,20 @@
      <el-table v-loading="loading" :data="secretList"  :row-key="getRowId" ref="multipleTable" @selection-change="handleSelectionChange" @row-click="handleCheck" :row-class-name="tableRowClassName" style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;">
        <el-table-column type="selection"  :reserve-selection="true" width="55"  align="center" />
        <el-table-column  label="序号" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="120"/>
        <el-table-column label="发生时间" prop="happenTime" sortable width="100" align="center">
        <el-table-column fixed label="序号" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="80"/>
        <el-table-column label="发生时间" prop="happenTime" sortable width="150" align="center">
          <template slot-scope="scope">{{scope.row.happenTime? scope.row.happenTime: '————'}}</template>
        </el-table-column>
        <el-table-column label="类别" prop="type" sortable width="100" />
        <el-table-column label="账号" prop="accNo" sortable width="100" />
        <el-table-column label="有效期" prop="validityDate" sortable width="100" align="center">
        <el-table-column label="有效期" prop="validityDate" sortable width="150" align="center">
          <template slot-scope="scope">{{scope.row.validityDate? scope.row.validityDate: '————'}}</template>
        </el-table-column>
        <el-table-column label="密码" prop="password" sortable width="100" />
        <el-table-column label="是否开启指纹" prop="isFinger" sortable width="120" >
        <el-table-column label="是否开启指纹" prop="isFinger" sortable width="130" >
            <template slot-scope="scope">{{scope.row.isFinger===1 ?'是': '否'}}</template>
        </el-table-column>>
        <el-table-column label="是否开启人脸" prop="isFace" sortable width="120" >
        <el-table-column label="是否开启人脸" prop="isFace" sortable width="130" >
            <template slot-scope="scope">{{scope.row.isFace===1 ?'是': '否'}}</template>
        </el-table-column>
        <el-table-column label="私有/公有" prop="isPrivate" sortable width="100" >
@@ -128,27 +157,29 @@
        <el-table-column label="电子文件" prop="url" align="center" sortable  width="110" >
          <template slot-scope="scope" >
            <div  @click="handleCheck(scope.row)">
            <img
              class="el-upload-list__item-thumbnail"
              src="../../assets/images/deviceLis.png"
              alt=""
              style="width: 35px; height: 35px;"
              fit="cover"
              v-if="scope.row.url !== ','"
            >
            <img
              class="el-upload-list__item-thumbnail"
              src="../../assets/images/deviceA.png"
              alt=""
              style="width: 35px; height: 35px;"
              fit="cover"
              v-if="scope.row.url === ','"
            ></div>
              <img
                class="el-upload-list__item-thumbnail"
                src="../../assets/images/deviceLis.png"
                alt=""
                style="width: 35px; height: 35px;"
                fit="cover"
                v-if="!(scope.row.url === '' || scope.row.url === ',' || scope.row.url === null)"
              >
              <img
                v-else
                class="el-upload-list__item-thumbnail"
                src="../../assets/images/deviceA.png"
                alt=""
                style="width: 35px; height: 35px;"
                fit="cover"
              ></div>
          </template>
        </el-table-column>
        <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
        <el-table-column label="操作" align="center" width="250" class-name="small-padding fixed-width">
          <template slot-scope="scope" v-if="scope.row.roleId !== 1">
            <div class="button-container">
            <el-button
              size="mini"
              type="text"
@@ -167,6 +198,7 @@
              <el-button size="mini" type="text" icon="el-icon-d-arrow-right"  @click="handleCheck(scope.row)">查看详情</el-button>
            </el-dropdown>
            </div>
          </template>
        </el-table-column>
      </el-table>
@@ -185,11 +217,9 @@
      <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
        <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="100px">
          <el-form-item label="时间" prop="happenTime">
            <el-date-picker
              v-model='formDat.happenTime'
              type='date'
              placeholder='选择日期'
          <el-form-item label="发生时间" prop="happenTime">
            <el-date-picker v-model="formDat.happenTime" type="date" placeholder="请选择日期"
                            :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
            ></el-date-picker>
          </el-form-item>
            <el-form-item label="类别" prop="type">
@@ -200,11 +230,11 @@
          </el-form-item>
          <el-form-item label="有效期" prop="validityDate">
            <el-date-picker
            <el-input
              v-model='formDat.validityDate'
              type='date'
              placeholder='选择日期'
            ></el-date-picker>
              placeholder='选择有效期'
            ></el-input>
          </el-form-item>
          <el-form-item label="密码" prop="password">
            <el-input v-model="formDat.password" placeholder="请输入密码" clearable :style="{width: '100%'}" ></el-input>
@@ -238,7 +268,7 @@
            <el-input v-model="formDat.remark" placeholder="请输入备注" clearable :style="{width: '100%'}" ></el-input>
          </el-form-item>
          <h4 class="form-header">相关图片 </h4>
          <h4 class="form-header">相关图片</h4>
          <el-upload
            action="#"
            list-type="picture-card"
@@ -246,7 +276,7 @@
            :http-request="requestUpload"
            :file-list="fileList"
          >
            <i slot="default" class="el-icon-plus"></i>
            <i  slot="default" class="el-icon-plus"></i>
            <div slot="file" slot-scope="{file}">
              <img
                class="el-upload-list__item-thumbnail"
@@ -283,11 +313,12 @@
            class="upload-demo"
            multiple
            :on-remove="handleRemove"
            :on-remove="handleRemoveFile"
            :http-request="requestUpload"
            :show-file-list="true"
          >
            <el-button type="primary">上传</el-button>
            <el-button type="primary">点击上传</el-button>
            <div v-if="uploading" class="upload-status">正在上传...</div>
            <template #tip>
              <div class="el-upload__tip">
              </div>
@@ -318,7 +349,7 @@
  //在system/note/index.js中导入接口函数  --接好了
  import {listSecret,enload,getEconomyInfo,delSecret, addSecret, uploadPic} from "@/api/secret/index";
  import {listSecret,enload,delSecret, addSecret, uploadPic} from "@/api/secret/index";
  export default {
    name: "Role",
@@ -362,6 +393,7 @@
        ],
        dsb:true,
        btn:false,
        uploading: false,
        formDat: {
          type: undefined,
          happenTime: undefined,
@@ -386,7 +418,7 @@
          type:undefined,
          accNo:undefined,
          happenTime:undefined,
          useFor:undefined,
          timeLimit:undefined,
        },
        // 表单参数
@@ -430,7 +462,7 @@
          }],
          validityDate: [{
            // required: true,
            required: true,
            message: '请选择有效期',
            trigger: 'change'
          }],
@@ -525,6 +557,13 @@
        );
      },
      handleRemove(file) {
        for(let i = 0; i < this.fileList.length; i++)
        {
          if(this.fileList[i].url==file.url)
            this.$delete(this.fileList,i);
        }
      },
      handleRemoveFile(file) {
        for(let i = 0; i < this.fileListOther.length; i++)
        {
          if(this.fileListOther[i].url==file.url)
@@ -574,6 +613,7 @@
        this.queryParams.pageNum = 1;
        this.getList();
      },
      /** 重置按钮操作 */
      resetQuery() {
        this.dateRange = [];
@@ -639,6 +679,17 @@
            });
          }
        });
        // 清空formDat对象的数据
        Object.keys(this.formDat).forEach(key => {
          this.formDat[key] = '';
        });
        for(let i = 0; i <= this.fileList.length; i++)
        {
          this.handleRemove(this.fileList[0]);
        }
        for(let i = 0; i < this.fileListOther.length; i++){
          this.handleRemoveFile(this.fileListOther[0]);
        }
      },
      requestUpload(params)
      {
@@ -646,10 +697,11 @@
        var formData = new FormData();
        formData.append('uploadFile', file);
        let _this = this
        this.uploading = true;
        uploadPic(formData).then(response => {
          let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length)
          this.uploading = false;
          this.$modal.msgSuccess("上传成功");
          if(_this.fot.includes(pth) === true)
          {
            _this.fileList.push({name:response.data.fileName, "url":response.data.url})
@@ -725,4 +777,10 @@
    background: #FFEFF2;
  }
  .el-table__cell {
    font-size: 14px; /* 设置字体大小 */
  }
  .button-container {
    display: inline-flex; /* 设置按钮容器为行内元素 */
  }
  </style>