Surpriseplus
2022-10-12 efe31fc8087dba6629fcb0a04f73f75c6686abde
资源管理,样式管理上传下载,角色管理页面变更
已修改5个文件
553 ■■■■■ 文件已修改
src/api/api.js 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/auth.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/datamanage/styleManage.vue 274 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/userManage/resourceManage.vue 86 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/userManage/roleManage.vue 175 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/api.js
@@ -45,9 +45,9 @@
  return request.post('/role/insertRole', params);
}
//角色管理删除
export function deleteRole(params) {
export function deleteRoles(params) {
  //请求地址
  return request.get('/role/deleteRole', { params: params });
  return request.get('/role/deleteAuths', { params: params });
}
//角色管理修改
export function updateRole(params) {
@@ -107,6 +107,11 @@
export function updateStyle(params) {
  return request.post('/Style/updateStyle', params);
}
//样式管理上传
export function upload_style(params) {
  return request.post('/Style/upload', params);
}
//登录日志
export function loginSelectByPageAndCount(params) {
  //请求地址
@@ -155,7 +160,10 @@
export function deleteRess(params) {
  return request.get('/res/deleteRess', { params: params });
}
//资源上传
export function upload_res(params) {
  return request.post('/res/upload', params);
}
//获取公钥用于加密
export function getPublicKey(params) {
  //请求地址
@@ -171,7 +179,6 @@
  //请求地址
  return request.get('/sign/logout', { params: params });
}
//请求菜单栏数据
export function queryMenuTree() {
@@ -206,7 +213,6 @@
export function updateDirTrees(params) {
  return request.post('/dir/updateDirs', params);
}
//请求单位树
export function queryDepTree() {
src/utils/auth.js
@@ -22,7 +22,7 @@
// }
//===========================
//=======使用sessionStorage======
const TokenKey = "Admin-Token";
const TokenKey = 'Admin-Token';
export function getToken() {
  return window.sessionStorage.getItem(TokenKey);
}
src/views/datamanage/styleManage.vue
@@ -106,7 +106,7 @@
              prop="descr"
              :label="$t('dataManage.styleObj.descr')"
            />
            <el-table-column
            <!-- <el-table-column
              align="center"
              prop="fileGuid"
              :label="$t('dataManage.styleObj.fileguid')"
@@ -137,13 +137,13 @@
              prop="updateTime"
              :label="$t('dataManage.styleObj.updateTime')"
              :formatter="formatTime"
            />
            /> -->
            <el-table-column
              align="center"
              prop="bak"
              :label="$t('dataManage.styleObj.bak')"
            />
            <el-table-column min-width="150" :label="$t('common.operate')">
            <el-table-column min-width="120" :label="$t('common.operate')">
              <template slot-scope="scope">
                <el-button
                  @click="showDetail(scope.$index, scope.row)"
@@ -228,12 +228,14 @@
          <el-divider></el-divider>
          <p>
            <label> {{ $t('dataManage.styleObj.fileguid') }}:</label>
            <label class="boxlabel">{{ itemdetail.fileguid }}</label>
            <label class="boxlabel">{{ itemdetail.fileGuid }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('dataManage.styleObj.viewguid') }}:</label>
            <label class="boxlabel">{{ itemdetail.viewguid }}</label>
            <label class="boxlabel">  <div style="width:440px;height:200px;">
                <img style="width:100%; height:100%" :src="itemdetail.imageFile" alt=""/>
              </div></label>
          </p>
          <el-divider></el-divider>
          <p>
@@ -360,13 +362,57 @@
          :label="$t('dataManage.styleObj.fileguid')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="upform.fileGuid" autocomplete="off"></el-input>
          <el-input v-model="upform.fileGuid" disabled autocomplete="off"></el-input>
           <input
            name="file1"
            type="file"
            id="editFile"
            multiple="multiple"
            style="display: none"
            @change="editFile(0)"
          />
           <el-link
            :underline="false"
            @click="geteditFile(0)"
            style="margin-left: 10px"
            ><i class="el-icon-plus"></i
          ></el-link>
           <el-link
           :title="$t('common.upload')"
            :underline="false"
            @click="seteditFile(0)"
            style="margin-left: 10px"
            ><i class="el-icon-upload2"></i
          ></el-link>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.styleObj.viewguid')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="upform.viewGuid" autocomplete="off"></el-input>
          <el-input v-model="upform.viewGuid" disabled autocomplete="off"></el-input>
           <input
            name="file1"
            :accept="'.jpg,.png'"
            type="file"
            id="editimageFile"
            multiple="multiple"
            style="display: none"
            @change="editFile(1)"
          />
           <el-link
            :underline="false"
            @click="geteditFile(1)"
            style="margin-left: 10px"
            ><i class="el-icon-plus"></i
          ></el-link>
           <el-link
           :title="$t('common.upload')"
            :underline="false"
             @click="seteditFile(1)"
            style="margin-left: 10px"
            ><i class="el-icon-upload2"></i
          ></el-link>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.styleObj.bak')"
@@ -443,7 +489,7 @@
        >
          <el-select
            v-model="insertform.status"
            style="width: 745px"
            style="width: 730px"
            :placeholder="$t('common.choose')"
          >
            <el-option
@@ -475,13 +521,57 @@
          :label="$t('dataManage.styleObj.fileguid')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="insertform.fileGuid" autocomplete="off"></el-input>
          <el-input v-model="insertform.fileGuid" disabled autocomplete="off" />
           <input
            name="file1"
            type="file"
            id="insertFile"
            multiple="multiple"
            style="display: none"
            @change="insertFile(0)"
          />
           <el-link
            :underline="false"
            @click="getInsertFile(0)"
            style="margin-left: 10px"
            ><i class="el-icon-plus"></i
          ></el-link>
           <el-link
           :title="$t('common.upload')"
            :underline="false"
  @click="setinsertFile(0)"
            style="margin-left: 10px"
            ><i class="el-icon-upload2"></i
          ></el-link>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.styleObj.viewguid')"
          :label-width="formLabelWidth"
        >
          <el-input v-model="insertform.viewGuid" autocomplete="off"></el-input>
          <el-input v-model="insertform.viewGuid" disabled autocomplete="off"/>
           <input
            name="file1"
            :accept="'.jpg,.png'"
            type="file"
            id="insertimageFile"
            multiple="multiple"
            style="display: none"
            @change="insertFile(1)"
          />
           <el-link
            :underline="false"
            @click="getInsertFile(1)"
            style="margin-left: 10px"
            ><i class="el-icon-plus"></i
          ></el-link>
           <el-link
           :title="$t('common.upload')"
            :underline="false"
             @click="setinsertFile(1)"
            style="margin-left: 10px"
            ><i class="el-icon-upload2"></i
          ></el-link>
        </el-form-item>
        <el-form-item
          :label="$t('dataManage.styleObj.bak')"
@@ -527,6 +617,9 @@
<script>
import $ from 'jquery';
import moment from 'moment';
import {
  getToken
} from '../../utils/auth.js'
import MyBread from '../../components/MyBread.vue';
import styleDirTree from './styleDirTree.vue';
import styleDepTree from './styleDepTree.vue';
@@ -534,7 +627,8 @@
  select_Style_ByPageAndCount,
  insertStyle,
  deleteStyles,
  updateStyle
  updateStyle,
  upload_style
} from '../../api/api';
export default {
  name: 'styleManage',
@@ -560,9 +654,14 @@
      showDirCata: false,
      showDepCata: false,
      tableData: [],
      insertform: {},
      insertform: {
        fileGuid: null,
        viewGuid: null,
      },
      dirFlag: null,
      depFlag: null,
      guidFile: null,
      viewFile: null,
      count: 0,
      listData: {
        name: null,
@@ -575,6 +674,134 @@
    this.getRoleTabelData();
  },
  methods: {
    filesReset() {
      document.getElementById('insertFile').reset();
      document.getElementById('insertimageFile').reset();
      this.guidFile = null;
      this.fileGuid = null;
    },
    getInsertFile(res) {
      if (res == 0) {
        $('#insertFile').click();
      } else if (res == 1) {
        $('#insertimageFile').click();
      }
    },
    insertFile(res) {
      if (res == 0) {
        var val = document.getElementById('insertFile').files;
        if (!val || !val.length) return;
        this.insertform.fileGuid = val[0].name;
      } else if (res == 1) {
        var val = document.getElementById('insertimageFile').files;
        if (!val || !val.length) return;
        this.insertform.viewGuid = val[0].name;
      }
    },
    async setinsertFile(res) {
      if (res == 0) {
        var fs = document.getElementById("insertFile");
        if (fs.files.length == 0) {
          return;
        }
        var formData = new FormData();
        formData.append("file", fs.files[0]);
        var val_data = await upload_style(formData);
        if (val_data.code == 200) {
          this.guidFile = val_data.result;
          this.$message({
            message: '上传成功!',
            type: 'success',
          });
        } else {
          this.$message({
            message: '上传失败!',
            type: 'warning',
          });
        }
      } else if (res == 1) {
        var fs = document.getElementById("insertimageFile");
        if (fs.files.length == 0) {
          return;
        }
        var formData = new FormData();
        formData.append("file", fs.files[0]);
        var val_data = await upload_style(formData);
        if (val_data.code == 200) {
          this.viewFile = val_data.result;
          this.$message({
            message: '上传成功!',
            type: 'success',
          });
        } else {
          this.$message({
            message: '上传失败!',
            type: 'warning',
          });
        }
      }
    },
     geteditFile(res) {
      if (res == 0) {
        $('#editFile').click();
      } else if (res == 1) {
        $('#editimageFile').click();
      }
    },
   editFile(res) {
      if (res == 0) {
        var val = document.getElementById('editFile').files;
        if (!val || !val.length) return;
        this.upform.fileGuid = val[0].name;
      } else if (res == 1) {
        var val = document.getElementById('editimageFile').files;
        if (!val || !val.length) return;
        this.upform.viewGuid = val[0].name;
      }
    },
    async seteditFile(res) {
      if (res == 0) {
        var fs = document.getElementById("editFile");
        if (fs.files.length == 0) {
          return;
        }
        var formData = new FormData();
        formData.append("file", fs.files[0]);
        var val_data = await upload_style(formData);
        if (val_data.code == 200) {
          this.guidFile = val_data.result;
          this.$message({
            message: '上传成功!',
            type: 'success',
          });
        } else {
          this.$message({
            message: '上传失败!',
            type: 'warning',
          });
        }
      } else if (res == 1) {
        var fs = document.getElementById("editimageFile");
        if (fs.files.length == 0) {
          return;
        }
        var formData = new FormData();
        formData.append("file", fs.files[0]);
        var val_data = await upload_style(formData);
        if (val_data.code == 200) {
          this.viewFile = val_data.result;
          this.$message({
            message: '上传成功!',
            type: 'success',
          });
        } else {
          this.$message({
            message: '上传失败!',
            type: 'warning',
          });
        }
      }
    },
    handleSelectionChange(val) {
      this.multipleSelection = val;
    },
@@ -644,6 +871,7 @@
    insertFromDataClose() {
      this.InsertFormdialog = false;
      this.insertform = {};
       this.filesReset();
    },
    async insertFromData() {
      if (this.insertform.dirid == null || this.insertform.depid == null) {
@@ -653,10 +881,18 @@
        });
        return;
      }
      if (this.guidFile != null) {
        this.insertform.fileGuid = this.guidFile;
      }
      if (this.viewFile != null) {
        this.insertform.viewGuid = this.viewFile;
      }
      const data = await insertStyle(this.insertform);
      if (data.code == 200) {
        this.InsertFormdialog = false;
        this.insertform = {};
        this.filesReset();
        this.$message({
          message: '添加成功!',
          type: 'success',
@@ -832,6 +1068,12 @@
    if(Number.isInteger(this.upform.status) == false){
      this.upform.status = this.statusFormat(this.upform.status)
    }
        if (this.guidFile != null) {
        this.upform.fileGuid = this.guidFile;
      }
      if (this.viewFile != null) {
        this.upform.viewGuid = this.viewFile;
      }
     const data = await updateStyle(this.upform);
      if (data.code == 200) {
        this.dialogFormVisible = false;
@@ -854,7 +1096,8 @@
    removeUpdate() {
      this.upflag = false;
      this.dialogFormVisible = false;
      this.upform = {}
      this.upform = {};
       this.filesReset();
    },
    submitForm(formName) {
      this.getRoleTabelData()
@@ -873,11 +1116,12 @@
      this.getRoleTabelData();
    },
    showDetail(index, row) {
      var token = getToken();
      this.showinfoBox = true;
      this.itemdetail = row;
      this.itemdetail.createTime = this.formomentTime(this.itemdetail.createTime);
      this.itemdetail.updateTime = this.formomentTime(this.itemdetail.updateTime);
      this.itemdetail.imageFile = BASE_URL + "/res/download?guid=" + row.viewGuid + "&token=" + token
    },
    closeDetial() {
      this.showinfoBox = false;
@@ -931,7 +1175,7 @@
  box-sizing: border-box;
  .el-input {
    width: 745px;
    width: 730px;
  }
  .searchComp {
src/views/userManage/resourceManage.vue
@@ -91,19 +91,19 @@
        >
        </el-table-column>
        <el-table-column
        <!-- <el-table-column
          prop="img"
          align="center"
          :label="$t('userManage.resManageObj.img')"
        >
        </el-table-column>
         <el-table-column
        </el-table-column> -->
         <!-- <el-table-column
          prop="createUser"
          align="center"
          :label="$t('userManage.resManageObj.createUser')"
        >
        </el-table-column>
         <el-table-column
        </el-table-column> -->
         <!-- <el-table-column
          prop="createTime"
          align="center"
          :label="$t('userManage.resManageObj.createTime')"
@@ -122,7 +122,7 @@
          :label="$t('userManage.resManageObj.updateTime')"
            :formatter="formatTime"
        >
        </el-table-column>
        </el-table-column>-->
         <el-table-column
          prop="bak"
          align="center"
@@ -208,7 +208,11 @@
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.resManageObj.img') }}:</label>
            <label class="boxlabel">{{ itemdetail.img }}</label>
            <label class="boxlabel">
              <div style="width:440px;height:200px;">
                <img style="width:100%; height:100%" :src="itemdetail.imageFile" alt=""/>
              </div>
            </label>
          </p>
           <el-divider></el-divider>
             <p>
@@ -328,10 +332,18 @@
            @change="insertFile"
          />
            <el-link
            :title="$t('common.append')"
            :underline="false"
            @click="getIsertFile"
            style="margin-left: 10px"
            ><i class="el-icon-plus"></i
          ></el-link>
           <el-link
           :title="$t('common.upload')"
            :underline="false"
            @click="setUploadFile(0)"
            style="margin-left: 10px"
            ><i class="el-icon-upload2"></i
          ></el-link>
        </el-form-item>
         <el-form-item
@@ -426,6 +438,13 @@
            style="margin-left: 10px"
            ><i class="el-icon-plus"></i
          ></el-link>
           <el-link
           :title="$t('common.upload')"
            :underline="false"
            @click="setUploadFile(1)"
            style="margin-left: 10px"
            ><i class="el-icon-upload2"></i
          ></el-link>
        </el-form-item>
         <el-form-item
          :label="$t('userManage.resManageObj.bak')"
@@ -475,9 +494,12 @@
<script>
import $ from 'jquery';
import {
  getToken
} from '../../utils/auth.js'
import moment from 'moment';
import MyBread from '../../components/MyBread.vue';
import { select_Res_ByPageAndCount, insertRes, updateRes, deleteRess }
import { select_Res_ByPageAndCount, insertRes, updateRes, deleteRess, upload_res }
  from '../../api/api.js';
import styleDirTree from '../datamanage/styleDirTree.vue';
import styleDepTree from '../datamanage/styleDepTree.vue';
@@ -497,6 +519,8 @@
      showDepCata: false,
      dirFlag: null,
      depFlag: null,
      ImageFile: null,
      uploadFile: null,
      insertform: {
        img:''
      },
@@ -525,6 +549,33 @@
    },
    getupdateFile(){
 $('#editimageFile').click();
    },
    async setUploadFile(res) {
      var fs;
      if (res == 0) {
       fs = document.getElementById("imageFile");
      }else if (res ==1) {
        fs = document.getElementById("editimageFile");
        if(fs.files.length == 0){
          return;
        }
      }
      var formData = new FormData();
      formData.append("file", fs.files[0]);
      var val_data = await upload_res(formData);
      if (val_data.code == 200) {
        this.uploadFile = val_data.result;
        this.$message({
          message: '上传成功!',
          type: 'success',
        });
      } else {
        this.$message({
          message: '上传失败!',
          type: 'warning',
        });
      }
    },
    insertFile() {
      var val = document.getElementById('imageFile').files;
@@ -606,10 +657,16 @@
      this.upform = {};
    },
    async EditFromData() {
       if (this.uploadFile != null) {
        this.upform.img = this.uploadFile;
      }
      const data = await updateRes(this.upform);
      if (data.code == 200) {
        this.EditFormdialog = false;
        this.upform = {};
        this.uploadFile = null;
        this.$message({
          message: '修改成功!',
          type: 'success',
@@ -625,10 +682,11 @@
    },
    showDetail(index, row) {
      this.showinfoBox = true;
      var token = getToken();
      this.itemdetail = row;
      this.itemdetail.createTime = this.formomentTime(this.itemdetail.createTime);
      this.itemdetail.updateTime = this.formomentTime(this.itemdetail.updateTime);
      this.itemdetail.imageFile = BASE_URL + "/res/download?guid=" + row.img + "&token=" + token
    },
    handleEdit(index, row) {
      this.EditFormdialog = true;
@@ -660,10 +718,16 @@
        });
        return;
      }
      if (this.uploadFile != null) {
        this.insertform.img = this.uploadFile;
      }
      const data = await insertRes(this.insertform);
      if (data.code == 200) {
        this.InsertFormdialog = false;
        this.insertform = {};
        this.insertform= {
        img: ''
      };
        this.uploadFile = null;
        this.$message({
          message: '添加成功!',
          type: 'success',
@@ -716,7 +780,7 @@
  padding: 10px;
  box-sizing: border-box;
  .el-input {
    width: 745px;
    width: 730px;
  }
  .power_quire {
    margin: 10px auto;
src/views/userManage/roleManage.vue
@@ -47,10 +47,24 @@
            }}</el-button
          >
        </el-form-item>
        <el-form-item>
          <el-button @click="handleDelete()"
            ><i class="el-icon-delete"></i>&nbsp;{{
              $t('common.delete')
            }}</el-button
          >
        </el-form-item>
      </el-form>
    </div>
    <div class="table_box">
      <el-table :data="tableData" stripe style="width: 100%" height="99%">
      <el-table
        :data="tableData"
        stripe
        style="width: 100%"
        @selection-change="handleSelectionChange"
        height="99%"
      >
        <el-table-column type="selection" width="55" />
        <el-table-column
          align="center"
          type="index"
@@ -75,7 +89,7 @@
          :label="$t('userManage.RM.describe')"
        />
        <el-table-column
        <!-- <el-table-column
          align="center"
          prop="createUser"
          :label="$t('userManage.RM.creationuser')"
@@ -101,7 +115,7 @@
          align="center"
          prop="bak"
          :label="$t('userManage.RM.remarks')"
        />
        /> -->
        <el-table-column
          fixed="right"
          :label="$t('common.operate')"
@@ -114,12 +128,9 @@
              size="small"
              >{{ $t('common.update') }}</el-button
            >
            <el-button
              type="danger"
              @click="handleDelete(scope.$index, scope.row)"
              size="small"
              >{{ $t('common.delete') }}</el-button
            >
            <el-button  @click="showDetail(scope.$index, scope.row)" type="primary" size="small">{{
              $t('common.see')
            }}</el-button>
          </template>
        </el-table-column>
      </el-table>
@@ -136,6 +147,7 @@
        </el-pagination>
      </div>
    </div>
    <el-dialog
      :title="$t('userManage.RM.insertRole')"
      top="15vh"
@@ -247,6 +259,62 @@
        >
      </div>
    </div>
     <div class="infoBox" v-show="showinfoBox">
      <el-card>
        <div slot="header" class="clearfix">
          <span>{{ $t('dataManage.styleObj.deInformation') }}</span>
          <div style="float: right; cursor: pointer" @click="closeDetial"   >
            <i class="el-icon-close"></i>
          </div>
        </div>
               <div class="contentBox">
          <p>
            <label> {{ $t('userManage.RM.roleName') }}:</label>
            <label class="boxlabel">{{ itemdetail.name }}</label>
          </p>
          <el-divider></el-divider>
          <p>
           <p>
            <label> {{ $t('userManage.RM.ownedSystem') }}:</label>
            <label class="boxlabel">{{ itemdetail.depName }}</label>
          </p>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.RM.describe') }}:</label>
            <label class="boxlabel">{{ itemdetail.descr }}</label>
          </p>
          <el-divider></el-divider>
           <p>
            <label> {{ $t('userManage.RM.creationuser') }}:</label>
            <label class="boxlabel">{{ itemdetail.createUser }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.RM.creationtime') }}:</label>
            <label class="boxlabel">{{ itemdetail.createTime }}</label>
          </p>
          <el-divider></el-divider>
          <p>
            <label> {{ $t('userManage.RM.updateonuser') }}:</label>
            <label class="boxlabel">{{ itemdetail.UpdateUser }}</label>
          </p>
          <el-divider></el-divider>
             <p>
            <label> {{ $t('userManage.RM.updateontime') }}:</label>
            <label class="boxlabel">{{ itemdetail.updateTime }}</label>
          </p>
           <el-divider></el-divider>
             <p>
            <label> {{ $t('userManage.RM.remarks') }}:</label>
            <label class="boxlabel">{{ itemdetail.bak }}</label>
          </p>
           <el-divider></el-divider>
        </div>
      </el-card>
    </div>
  </div>
</template>
@@ -258,7 +326,7 @@
  select_Role_ByPageAndCount,
  selectdepTab,
  insertRole,
  deleteRole,
  deleteRoles,
  selectDep,
  updateRole,
} from '../../api/api';
@@ -270,6 +338,7 @@
  },
  data() {
    return {
      showinfoBox: false,
      showCata: false,
      formLabelWidth: '120px',
      InsertFormdialog: false,
@@ -284,6 +353,9 @@
      updateform: {},
      count: 0,
      selData: [],
      itemdetail: {},
      multipleSelection: [],
      listData: {
        name: null,
        depName: null,
@@ -293,13 +365,28 @@
    };
  },
  methods: {
        closeDetial() {
      this.showinfoBox = false;
      this.itemdetail = {};
    },
      showDetail(index, row) {
      this.showinfoBox = true;
      this.itemdetail = row;
      this.itemdetail.createTime = this.formomentTime(this.itemdetail.createTime);
      this.itemdetail.updateTime = this.formomentTime(this.itemdetail.updateTime);
    },
    handleSelectionChange(val) {
      this.multipleSelection = val;
    },
    formatTime(row, column) {
      let date = row[column.property];
      return this.formomentTime(date);
    },
    formomentTime(date) {
      if (date === undefined || date === null) {
        return '';
        return;
      }
      return moment(parseInt(date)).format('YYYY-MM-DD HH:mm:ss');
    },
    showDepTree(res) {
@@ -418,8 +505,13 @@
        });
      }
    },
    async handleDelete(index, row) {
      const data = await deleteRole({ id: row.id.toString() });
    async handleDelete() {
      var std = [];
      for (var i in this.multipleSelection) {
        std.push(this.multipleSelection[i].id);
      }
      const data = await deleteRoles({ ids: std.toString() });
      if (data.code == 200) {
        this.InsertFormdialog = false;
        this.$message({
@@ -519,5 +611,58 @@
  .text-center {
    text-align: center;
  }
  .infoBox {
    width: 500px;
    border: 1px solid #eee;
    position: absolute;
    z-index: 100;
    top: 25%;
    right: 12%;
    background-color: #fff;
    .el-card {
      background-color: transparent;
      span {
        font-size: 16px;
        font-weight: 600;
      }
    }
    .contentBox {
      margin: 0 aotu 10px;
      height: 485px;
      overflow: auto;
      p {
        // background-color: #bfa;
        // margin-bottom: 10px;
        font-size: 14px;
      }
      .boxlabel {
        margin-left: 10px;
      }
    }
    /* 整体样式 */
    .contentBox::-webkit-scrollbar {
      width: 6px;
      height: 6px;
    }
    /* 滚动条 */
    .contentBox::-webkit-scrollbar-thumb {
      background-color: #b3d8ff;
      border-radius: 6px;
    }
    /* 滚动条鼠标经过样式 */
    .contentBox::-webkit-scrollbar-thumb:hover {
      background-color: #b3d8ff;
      border-radius: 6px;
    }
    /* 滚动条轨道 */
    .contentBox::-webkit-scrollbar-track-piece {
      -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
      border-radius: 10px;
      background: #ededed;
    }
  }
}
</style>