| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078 |
- <template>
- <div class="content-box">
- <div class="left">
- <!-- <el-icon :size="23" class="camera"><VideoCameraFilled /></el-icon> -->
- <span class="cameratxt">业务日志</span>
- </div>
- <div>
- <div class="middle">
- <div class="filter">
- <div class="condition">
- <el-input
- :clearable="true"
- @clear="searchBtn"
- v-model="searchInput.keyWord"
- class="sel"
- placeholder="请输入任务名称"
- />
- <el-select v-model="value" class="sel" placeholder="执行方式">
- <el-option label="Mariadb 数据库" value="1" />
- <el-option label="MySQL6.0 及以下数据库" value="2" />
- <el-option label="MySQL8.0 及以下数据库" value="3" />
- <el-option label="Oracle 10g、11g 数据库" value="3" />
- <el-option label="PostgreSQL 数据库" value="3" />
- </el-select>
- <el-select v-model="value" class="sel" placeholder="任务状态">
- <el-option label="已启动" value="1" />
- <el-option label="停止" value="2" />
- </el-select>
- <el-input
- :clearable="true"
- @clear="searchBtn"
- v-model="searchInput.keyWord"
- class="sel"
- placeholder="请输入目的表名"
- />
- <el-button
- color="rgba(0, 97, 255, 1)"
- type="primary"
- class="search"
- @click="searchBtn"
- ><el-icon>
- <Search />
- </el-icon>
- <span>查询</span></el-button
- >
- </div>
- </div>
- <!-- 按钮列表 -->
- <!-- <div class="gongneng">
- <el-button
- type="primary"
- color="rgba(0, 97, 255, 1)"
- @click="addClick"
- plain
- >新建身份</el-button
- >
- </div> -->
- </div>
- <div class="footer" v-loading="loading">
- <el-table
- :row-class-name="tableRowClassName"
- :data="tableData.list"
- @selection-change="handleSelectionChange"
- style="width: 100%"
- :header-cell-style="{
- background: 'rgba(240, 243, 247, 1)',
- height: '50px',
- }"
- >
- <el-table-column align="center" type="selection" width="55" />
- <el-table-column
- width="55"
- align="center "
- type="index"
- label="序号"
- />
- <el-table-column align="center" prop="name" label="任务名称" />
- <el-table-column align="center" prop="department" label="业务部门" />
- <el-table-column align="center" prop="source" label="来源库" />
- <el-table-column align="center" prop="targetKu" label="目的库" />
- <el-table-column align="center" prop="targetB" label="目的表" />
- <el-table-column
- align="center"
- prop="interchangerName"
- label="交换机名称"
- />
- <el-table-column align="center" prop="identifying" label="执行标识" />
- <el-table-column align="center" prop="way" label="执行方式" />
- <el-table-column align="center" prop="status" label="执行状态">
- <template #default="scope">
- <span class="normal">{{ scope.row.status }}</span>
- </template>
- </el-table-column>
- <el-table-column
- align="center"
- prop="timeStart"
- label="执行开始时间"
- />
- <el-table-column align="center" prop="timeEnd" label="执行结束时间" />
- <el-table-column align="center" prop="elapsedTime" label="耗时" />
- <el-table-column
- align="center"
- prop="readVolume"
- label="读取数据量"
- />
- <el-table-column align="center" prop="addVolume" label="增加数据量" />
- <el-table-column
- align="center"
- prop="updateVolume"
- label="更新数据量"
- />
- <el-table-column
- align="center"
- prop="errorVolume"
- label="错误数据量"
- />
- <el-table-column align="center" label="操作" width="80">
- <template #default="scope">
- <div class="edit">
- <div class="look" @click="editClick(scope.row)">查看</div>
- </div>
- </template>
- </el-table-column>
- </el-table>
- </div>
- <!-- 分页组件 -->
- <div class="pageSize">
- <span></span>
- <el-pagination
- background
- :current-page="currentPage"
- :page-size="pageSize"
- layout="total, prev, pager, next, jumper, slot"
- :total="total"
- @update:current-page="handleCurrentChange"
- />
- </div>
- <!-- 编辑按钮 -->
- <el-dialog
- class="editDialog"
- v-model="editVisible"
- :close-on-click-modal="false"
- :close-on-press-escape="false"
- title="日志详情"
- align-center
- width="600"
- :before-close="cancelEdit"
- >
- <div>
- {"log":"2023/12/18 17:22:18 - 0c8ee93ef21d4c96abd6a381657b6e91 -
- Dispatching started for transformation
- [0c8ee93ef21d4c96abd6a381657b6e91]\n2023/12/18 17:22:25 - table
- input.0 - Finished reading query, closing connection.\n2023/12/18
- 17:22:25 - table input.0 - Finished processing (I=35677, O=0, R=0,
- W=35677, U=0, E=0)\n2023/12/18 17:22:26 - table output.0 - Finished
- processing (I=35677, O=0, R=35677, W=35677, U=0,
- E=0)\n","finished":false,"stepMeasure":[["table
- input","0","0","35677","35677","0","0","0","0","Finished","5.0s","
- 7,121","-"],["table
- output","0","35677","35677","35677","0","0","0","0","Running","6.8s","
- 5,278"," 0/0"],["error
- data","0","0","0","0","0","0","0","0","Finished","6.8s"," 0","-"]]}
- </div>
- <div class="options">
- <el-button @click="cancelEdit">关闭</el-button>
- </div>
- </el-dialog>
- </div>
- <div class="bgImg" v-if="bgImg">
- <el-carousel
- @click="bgImg = false"
- ref="bgImgs"
- indicator-position
- arrow="always"
- :autoplay="false"
- trigger
- >
- <el-carousel-item v-for="item in bgImgList" :key="item.id">
- <img :src="item.url" alt="" />
- </el-carousel-item>
- </el-carousel>
- </div>
- </div>
- </template>
- <script setup>
- import {
- ref,
- reactive,
- watch,
- nextTick,
- onBeforeMount,
- onUnmounted,
- } from "vue";
- import { useRouter } from "vue-router";
- import { ElMessage, ElMessageBox } from "element-plus";
- import { Calendar } from "@element-plus/icons-vue";
- import vidiconsApi from "@/api/vidicons.js";
- import { dayjs } from "element-plus";
- import lodash from "lodash";
- import axios from "axios";
- import { useStore } from "vuex";
- const store = useStore();
- const api = ref("");
- const router = useRouter();
- // 表格数据
- const loading = ref(false);
- const tableData = reactive({
- list: [
- {
- name: "标准库教职工-bpmx中间库", // 任务名称
- department: "部门通用", //业务部门
- source: "标准数据库", //来源库
- targetKu: "bpmX中间库", // 目的库
- targetB: "GXJG_JZGJCSJZLB", // 目的表
- interchangerName: "交换机172.16.40.40", //交换机名称
- identifying: "自动执行", // 执行标识
- way: "间隔执行", //执行方式
- status: "执行中", //执行状态
- timeStart: "2023-12-15 11:06:12", //执行开始时间
- timeEnd: "2023-12-15 11:06:12", //执行结束时间
- elapsedTime: "-", // 耗时
- readVolume: "-", // 读取数据量
- addVolume: "-", // 增加数据量
- updateVolume: "-", // 更新数据量
- errorVolume: "-", // 错误数据量
- },
- {
- name: "标准库学生-bpmx中间库", // 任务名称
- department: "部门通用", //业务部门
- source: "标准数据库", //来源库
- targetKu: "bpmX中间库", // 目的库
- targetB: "GXXS_XSJBSJZL", // 目的表
- interchangerName: "交换机172.16.40.40", //交换机名称
- identifying: "自动执行", // 执行标识
- way: "间隔执行", //执行方式
- status: "执行中", //执行状态
- timeStart: "2023-12-15 11:06:12", //执行开始时间
- timeEnd: "2023-12-15 11:06:12", //执行结束时间
- elapsedTime: "-", // 耗时
- readVolume: "-", // 读取数据量
- addVolume: "-", // 增加数据量
- updateVolume: "-", // 更新数据量
- errorVolume: "-", // 错误数据量
- },
- {
- name: "密码", // 任务名称
- department: "部门通用", //业务部门
- source: "新认证正式库", //来源库
- targetKu: "教务数据库", // 目的库
- targetB: "GXJG_JZGJCSJZLB", // 目的表
- interchangerName: "交换机172.16.40.40", //交换机名称
- identifying: "自动执行", // 执行标识
- way: "间隔执行", //执行方式
- status: "执行成功", //执行状态
- timeStart: "2023-12-15 11:06:12", //执行开始时间
- timeEnd: "2023-12-15 11:06:12", //执行结束时间
- elapsedTime: "8秒", // 耗时
- readVolume: "35676", // 读取数据量
- addVolume: "0", // 增加数据量
- updateVolume: "0", // 更新数据量
- errorVolume: "0", // 错误数据量
- },
- ],
- });
- const searchInput = reactive({
- keyWord: "",
- createTime: "",
- }); // 搜索按钮数据
- const currentPage = ref(1); // 当前页
- const pageSize = ref(10);
- const total = ref(5); // 当前总数
- // 编辑功能
- const editVisible = ref(false);
- const editRef = ref();
- const editRuleForm = reactive({
- userDepartment: "", // 用户部门
- userName: "", // 用户名
- userRoles: "", // 用户角色
- schoolCard: "", // 微校卡号
- idNumber: "", // 身份证号
- fingerprint: "", // 指纹
- id: "",
- });
- // 查看房型列表
- const getList = async () => {
- // loading.value = true;
- // let data = {
- // page: currentPage.value,
- // rows: pageSize.value,
- // hName: searchInput.keyWord, // 房型名称
- // managerId: sessionStorage.getItem("token"),
- // };
- // let res = await axios({
- // method: "post",
- // url: api.value + "/mhotel/housequeryPage.action",
- // headers: {
- // // token: sessionStorage.getItem("token"),
- // // user_head: sessionStorage.getItem("userhead"),
- // },
- // params: data,
- // });
- // console.log(res, "房型管理");
- // if (res.data.code == 200) {
- // loading.value = false;
- // tableData.list = res.data.data.pageList;
- // total.value = res.data.data.total;
- // // ElMessage({
- // // type: "success",
- // // showClose: true,
- // // message: res.data.message,
- // // center: true,
- // // });
- // } else {
- // loading.value = false;
- // ElMessage({
- // type: "error",
- // showClose: true,
- // message: res.data.message,
- // center: true,
- // });
- // }
- };
- // 搜索功能
- const searchBtn = lodash.debounce(async () => {
- getList();
- }, 300);
- //编辑按钮 (-------------------------------------------)
- const editClick = async () => {
- editVisible.value = true;
- // let data = {
- // linkId: row.id,
- // };
- // let res = await axios({
- // method: "post",
- // url: api.value + "/mhotel/uploadgetByLinkId.action",
- // headers: {},
- // params: data,
- // });
- // console.log(res, "编辑中查找图片");
- // if (res.data.code == 200) {
- // // res.data.data.fileInfoList.forEach((item) => {
- // // item.uid = item.id;
- // // });
- // // fileList.list = res.data.data.fileInfoList;
- // // ruleForm.fileListJson = fileList.list;
- // res.data.data.forEach((item) => {
- // item.uid = item.id;
- // });
- // fileList.list = res.data.data;
- // ruleForm.fileListJson = fileList.list;
- // // ElMessage({
- // // type: "success",
- // // showClose: true,
- // // message: res.data.message,
- // // center: true,
- // // });
- // } else {
- // ElMessage({
- // type: "error",
- // showClose: true,
- // message: res.data.message,
- // center: true,
- // });
- // }
- };
- const cancelEdit = () => {
- editVisible.value = false;
- editRef.value.resetFields();
- };
- // // 树形结构 复选框被触发
- // const handleCheckChange = (data, checked, indeterminate) => {
- // // console.log(data, checked, indeterminate);
- // if (data.list) {
- // // console.log(data.list);
- // } else {
- // if (checked) {
- // roomNumRef.value.setCheckedKeys([data.id]);
- // }
- // let keys = roomNumRef.value.getCheckedKeys();
- // console.log(keys);
- // editRuleForm.roomNum = keys;
- // }
- // };
- // // 树形结构 被点击时触发
- // const roomNumClick = (data, node, component) => {
- // // * @description: node - click 节点被点击时的回调
- // // * @param {*} data 该节点所对应的对象
- // // * @param {*} node 节点对应的 Node
- // // * @param {*} component 节点组件本身
- // console.log("子组件触发 node-click 事件", data, node, component);
- // // buildIdsRef.value.setCheckedKeys(item.build);
- // };
- // 确定编辑
- const confirmEdit = (formEl) => {
- if (!formEl) return;
- formEl.validate(async (valid, fields) => {
- if (valid) {
- }
- });
- };
- //删除按钮
- const del = async (row) => {
- let data = {
- id: row.id,
- };
- // let res = await axios({
- // method: "post",
- // url: api.value + "/mhotel/housedelHouser.action",
- // headers: {
- // // token: sessionStorage.getItem("token"),
- // // user_head: sessionStorage.getItem("userhead"),
- // },
- // params: data,
- // });
- // if (res.data.code == 200) {
- // if (tableData.list.length == 1 && currentPage.value != 1) {
- // currentPage.value = currentPage.value - 1;
- // }
- // getList();
- // ElMessage({
- // type: "success",
- // showClose: true,
- // message: res.data.message,
- // center: true,
- // });
- // } else {
- // ElMessage({
- // type: "error",
- // showClose: true,
- // message: res.data.message,
- // center: true,
- // });
- // }
- // console.log(res);
- };
- // 指纹录取 下一步 (-------------------------------------------------)
- const entering = () => {
- addFingerprintVisible.value = true;
- step.list = [
- { id: 1, title: "" },
- { id: 2, title: "" },
- { id: 3, title: "" },
- { id: 4, title: "" },
- ];
- stepindex.value = 0;
- var wsUrl = "ws://localhost:8181/";
- let websocket = new WebSocket(wsUrl);
- ws.value = websocket;
- websocket.onopen = function (evt) {
- var params = { type: 101, data: null };
- websocket.send(JSON.stringify(params));
- };
- websocket.onmessage = function (evt) {
- // console.log(evt.data, "输出指纹数据");
- let data = JSON.parse(evt.data);
- if (data.type == 0) {
- console.log(JSON.parse(evt.data).data.portNames[1]); // 获取到 USB接口
- let params1 = {
- type: 1,
- data: {
- type: 0,
- portName: JSON.parse(evt.data).data.portNames[1],
- baudRate: 115200,
- },
- };
- websocket.send(JSON.stringify(params1));
- } else if (data.type == 110) {
- console.log("已获取设备信息");
- } else if (data.type == 11) {
- var params2 = {
- type: 2,
- data: {
- totalStep: 4,
- },
- };
- websocket.send(JSON.stringify(params2));
- } else if (data.type == 21) {
- if (data.data.step == 0) {
- // console.log("请按压指纹");
- ElMessage({
- message: "请开始按压指纹",
- type: "success",
- });
- } else {
- // console.log(`请按下同一指纹,第${data.data.step}次按压`);
- if (data.data.step <= 4) {
- step.list.forEach((item) => {
- if (item.id == data.data.step) {
- item.title = `请按下同一指纹,第${data.data.step}次录入指纹成功`;
- }
- });
- }
- stepindex.value = data.data.step;
- }
- // _this.$message.warning("请将手指按在传感器上");
- if (data.data.step > 4) {
- var params = {
- type: 3,
- data: {
- id: data.data.id,
- },
- };
- websocket.send(JSON.stringify(params));
- }
- } else if (data.type == 31) {
- editRuleForm.fingerprint = data.data.template;
- console.log(data.data.template, "指纹数据");
- addFingerprintVisible.value = false;
- ws.value.close();
- ElMessage({
- message: "指纹录取成功",
- type: "success",
- });
- // setTimeout(() => {
- // _this.fingerprintShow = false;
- // ws.value.close();
- // }, 1500);
- } else {
- ElMessage({
- message: "设备连接失败,请刷新重新录入",
- type: "error",
- });
- }
- };
- websocket.onclose = function (evt) {
- console.log("关闭连接");
- // ws.value.close();
- };
- websocket.onerror = function (evt) {
- // console.log("错误提示");
- };
- };
- // 关闭指纹录入
- const cancelAddFingerprint = () => {
- addFingerprintVisible.value = false;
- // var wsUrl = "ws://localhost:8181/";
- // const websocket = new WebSocket(wsUrl);
- ws.value.close();
- };
- // 读卡操作(---------------------------------------------)
- const Card = () => {
- var wsUrl = "ws://localhost:8181/";
- let websocket = new WebSocket(wsUrl);
- // wsidentityCard.value = websocket;
- websocket.onopen = function (evt) {
- var params = { type: 104, data: null };
- websocket.send(JSON.stringify(params));
- };
- websocket.onmessage = function (evt) {
- let data = JSON.parse(evt.data);
- console.log(data);
- if (data.type == 141) {
- identityCardTitle.value = "请插入设备";
- identityCardIndex.value = 0;
- } else if (data.type == 150) {
- identityCardTitle.value = "配置失败,请放置卡片";
- identityCardIndex.value = 1;
- } else if (data.type == 140) {
- console.log(data.data.uid, "读取的卡号");
- identityCardIndex.value = 2;
- identityCardTitle.value = "读卡中";
- if (data.data.uid) {
- setTimeout(() => {
- identityCardIndex.value = 3;
- identityCardTitle.value = "读卡成功";
- }, 1500);
- }
- editRuleForm.idNumber = data.data.uid;
- // ElMessage({
- // type: "success",
- // showClose: true,
- // message: "添加卡片成功",
- // center: true,
- // });
- // identityCardTitle.value = "获取卡号成功";
- // addIdentityCardVisible.value = false;
- // identityCardVisible.value = false;
- // identityCardRef.value.resetFields();
- // setTimeout(() => {
- // _this.icCardShow = false;
- // }, 2000);
- }
- };
- };
- // 身份证读卡 下一步
- const readCard = () => {
- addIdentityCardVisible.value = true;
- Card();
- };
- // 重试 身份卡
- const retry = () => {
- // identityCardNum.value = "";
- Card();
- };
- const cancelAddIdentityCard = () => {
- addIdentityCardVisible.value = false;
- identityCardIndex.value = 0;
- };
- // 多选框功能
- const handleSelectionChange = (val) => {
- console.log(val);
- selectData.list = val;
- };
- //导出功能
- // const importExcel = async () => {
- // if (searchInput.createTime == null) {
- // searchInput.createTime = "";
- // }
- // let data = new FormData();
- // data.set("car_number", searchInput.carnumber);
- // data.set("create_time", searchInput.createTime);
- // let res = await axios({
- // method: "post",
- // url: api.value + "/carBook/cinfotoExcel.action",
- // headers: {
- // token: sessionStorage.getItem("token"),
- // },
- // data: data,
- // });
- // // console.log(res, "导出账号");
- // if (res.data.code == 200) {
- // // const elt = document.createElement("a");
- // // elt.setAttribute(
- // // "href",
- // // "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl
- // // );
- // // elt.setAttribute("download", "file.png");
- // // elt.style.display = "none";
- // // document.body.appendChild(elt);
- // // elt.click();
- // var downloadPath = "https://chtech.ncjti.edu.cn/carstop" + res.data.downurl;
- // console.log("获得地址数据:", downloadPath);
- // var downloadLink = document.createElement("a");
- // downloadLink.style.display = "none"; // 使其隐藏
- // downloadLink.href = downloadPath;
- // downloadLink.download = "";
- // downloadLink.click();
- // document.body.appendChild(downloadLink);
- // document.body.removeChild(downloadLink);
- // ElMessage({
- // type: "success",
- // showClose: true,
- // message: res.data.message,
- // center: true,
- // });
- // } else {
- // ElMessage({
- // type: "error",
- // showClose: true,
- // message: res.data.message,
- // center: true,
- // });
- // }
- // };
- // 表格斑马纹颜色修改
- const tableRowClassName = ({ row, rowIndex }) => {
- if (rowIndex % 2 === 0) {
- return "even";
- } else if (rowIndex % 2 !== 0) {
- return "odd";
- }
- return "";
- };
- // 分页
- const handleCurrentChange = (value) => {
- // console.log(value);
- currentPage.value = value;
- getList();
- };
- onBeforeMount(async () => {
- api.value = store.state.user.api;
- getList();
- });
- onUnmounted(() => {
- // document.removeEventListener("keyup", Enters);
- });
- </script>
- <style scoped lang="scss">
- .content-box {
- width: 97.5%;
- height: 89%;
- margin: 20px auto;
- background-color: #fff;
- color: #fff;
- display: flex;
- flex-direction: column;
- box-shadow: 0px 3px 10px rgba(0, 97, 255, 0.2);
- .left {
- // width: calc(100wh - 40px);
- display: flex;
- align-items: center;
- height: 60px;
- margin: 0 30px;
- border-bottom: 1px solid #ccc;
- color: rgb(0, 0, 0);
- font-size: 18px;
- font-weight: 600;
- span {
- margin-right: 20px;
- cursor: pointer;
- }
- .is_active {
- color: rgba(111, 182, 184, 1);
- }
- }
- .middle {
- width: 96%;
- margin: 0 auto;
- color: #000;
- // border-bottom: 1px solid rgb(231, 231, 231);
- .filter {
- display: flex;
- flex-wrap: wrap;
- align-items: center;
- margin: 10px 0 0 0;
- .search {
- color: #fff;
- }
- .condition {
- display: flex;
- align-items: center;
- margin: 10px 10px 10px 0;
- .sel {
- margin-right: 10px;
- }
- :deep(.el-input .el-input__inner) {
- font-size: 14px;
- }
- }
- }
- .gongneng {
- margin: 10px 0 20px 0;
- span {
- color: #fff;
- }
- .el-button {
- margin-right: 10px;
- }
- }
- :deep(.cont) {
- width: 60%;
- margin: 20px auto;
- }
- :deep(.download) {
- display: flex;
- align-items: center;
- margin: 10px;
- }
- :deep(.download span) {
- font-size: 16px;
- margin-left: 20px;
- }
- :deep(.cont .el-button) {
- margin-left: 60px;
- margin-bottom: 30px;
- }
- :deep(.cont .accomplish) {
- width: 100%;
- display: flex;
- justify-content: center;
- }
- :deep(.cont .accomplish .el-button) {
- width: 50%;
- margin: 0;
- }
- }
- .footer {
- width: 96%;
- height: 550px;
- margin: 10px auto 30px;
- .el-table--fit {
- height: 100%;
- :deep(.el-table__header-wrapper) {
- background-color: #000;
- font-size: 14px;
- tr {
- // color: #000;
- }
- }
- :deep(.el-table__row) {
- height: 50px;
- font-size: 14 px;
- // color: #000;
- &:hover {
- td {
- background-color: rgba(223, 236, 254, 1);
- }
- }
- }
- :deep(.el-table__row):nth-child(2n) {
- .el-table-fixed-column--right {
- background-color: rgba(240, 243, 247, 1);
- }
- }
- :deep(.el-table__row td) {
- padding: 0;
- border: 0;
- .normal {
- background-color: rgb(139, 195, 74);
- color: #fff;
- padding: 5px;
- }
- }
- .el-button--primary {
- margin-left: 5px;
- }
- :deep(.el-table__body .even) {
- background-color: #fff;
- }
- :deep(.el-table__body .odd) {
- background-color: rgba(240, 243, 247, 1);
- }
- :deep(.edit) {
- display: flex;
- align-items: center;
- justify-content: center;
- color: rgba(111, 182, 184, 1);
- }
- :deep(.look) {
- padding: 0 10px;
- cursor: pointer;
- color: rgba(30, 125, 251, 1);
- }
- .del {
- padding: 0 10px;
- color: rgba(212, 48, 48, 1);
- cursor: pointer;
- }
- // :deep(.look):hover {
- // color: red;
- // }
- // :deep(.del):hover {
- // color: red;
- // }
- }
- }
- // 编辑按钮
- :deep(.editDialog) {
- // height: 420px;
- border-radius: 11px;
- .el-dialog__header {
- border-radius: 11px 11px 0 0;
- background: rgba(237, 241, 245, 1);
- font-weight: 600;
- margin: 0;
- .el-dialog__headerbtn {
- outline: none;
- }
- }
- .el-dialog__body {
- padding: 20px 30px 10px 30px;
- .options {
- margin: 50px 20px 20px 0;
- width: 100%;
- display: flex;
- flex-direction: row-reverse;
- .queding {
- color: #fff;
- margin-left: 15px;
- }
- }
- }
- }
- // 指纹弹窗
- :deep(.fingerprint) {
- width: 611px;
- height: 486px;
- border-radius: 11px;
- .el-dialog__header {
- border-radius: 11px 11px 0 0;
- background: rgba(237, 241, 245, 1);
- font-weight: 600;
- margin: 0;
- .el-dialog__headerbtn {
- outline: none;
- }
- }
- .el-dialog__body {
- padding: 0;
- .elbody {
- display: flex;
- justify-content: space-between;
- align-items: center;
- padding: 20px 20px;
- font-size: 18px;
- color: #000;
- border-bottom: 0.5px solid #ccc;
- i {
- cursor: pointer;
- }
- }
- }
- .el-dialog__footer {
- .el-button--primary {
- background: rgba(41, 109, 227, 1);
- }
- }
- }
- // 身份证读取
- :deep(.addIdentityCard) {
- // height: 420px;
- border-radius: 11px;
- .el-dialog__header {
- border-radius: 11px 11px 0 0;
- background: rgba(237, 241, 245, 1);
- font-weight: 600;
- margin: 0;
- .el-dialog__headerbtn {
- outline: none;
- }
- }
- .el-dialog__body {
- padding: 30px 20px 10px 20px;
- height: 330px;
- font-size: 16px;
- font-weight: 600;
- color: #000;
- .el-steps {
- width: 600px;
- transform: translateX(90px);
- margin: 0 0 40px 0;
- }
- .title {
- text-align: center;
- }
- .icons {
- display: flex;
- justify-content: center;
- img {
- width: 70px;
- margin: 40px 0;
- }
- .loading {
- animation: move 3s linear;
- }
- @keyframes move {
- 0% {
- transform: rotate(0);
- }
- 100% {
- transform: rotate(360deg);
- }
- }
- }
- .retry {
- text-align: center;
- span {
- color: red;
- padding: 0 8px;
- cursor: pointer;
- }
- }
- }
- }
- .pageSize {
- display: flex;
- align-items: center;
- justify-content: space-between;
- margin: 0 30px;
- span {
- color: #000;
- }
- .el-pagination {
- // width: 1600px;
- :deep(.el-pagination__total) {
- color: #000;
- }
- :deep(.el-pagination__goto) {
- color: #000;
- }
- :deep(.el-pagination__classifier) {
- color: #000;
- }
- :deep(.el-input__wrapper) {
- border: 1px solid rgba(0, 0, 0, 1);
- border-radius: 5px;
- box-shadow: none;
- }
- :deep(.el-pager li) {
- margin: 0 5px;
- border: 1px solid rgba(0, 0, 0, 1);
- border-radius: 5px;
- background-color: transparent;
- }
- :deep(.el-pager li.is-active) {
- // background-color: rgba(0, 97, 255, 0.8);
- border: 1px solid rgba(0, 97, 255, 1);
- color: rgba(0, 97, 255, 1);
- }
- :deep(.btn-prev) {
- margin-right: 5px;
- border: 1px solid rgba(0, 0, 0, 1);
- border-radius: 5px;
- background-color: transparent;
- }
- :deep(.btn-next) {
- margin-left: 5px;
- border: 1px solid rgba(0, 0, 0, 1);
- border-radius: 5px;
- background-color: transparent;
- }
- }
- }
- }
- .el-input {
- width: 192px;
- }
- </style>
|