From b8154654b1f83b94f62874a0462b0cd2d5db7cd5 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Fri, 10 Dec 2021 09:35:37 +0800
Subject: [PATCH] +自动提交后 签到成功生成数据
---
src/views/qiandao/tables.vue | 162 ++++--
public/zhiwenDemo/app.css | 51 +
src/store/index.js | 3
src/store/modules/exam.js | 17
src/views/qiandao/forms.vue | 47 +
src/api/qiandao/qiandao.js | 13
src/views/qiandao/index.vue | 45 +
public/zhiwenDemo/CID.html | 24
src/views/desk/notice.vue | 543 ++++++++++++-----------
src/styles/element-ui.scss | 45 ++
src/views/qiandao/signIn.vue | 288 +++++++++++++
src/store/onresize.js | 39 +
src/main.js | 4
src/store/getters.js | 4
src/store/modules/control.js | 32 +
15 files changed, 952 insertions(+), 365 deletions(-)
diff --git a/public/zhiwenDemo/CID.html b/public/zhiwenDemo/CID.html
index ed2696b..cc43e0f 100644
--- a/public/zhiwenDemo/CID.html
+++ b/public/zhiwenDemo/CID.html
@@ -29,22 +29,24 @@
</select> -->
<div id="zhiwenOur">
- <div id="main">
- <div id="imgs">
- <img id="img" width="256" height="360" />
- </div>
- <div id="butDiv">
-
- <button id="connect_server" onclick="connect()">开始采集</button>
- <button id="closeG" onclick="closeGfn()">取消采集</button>
- <button id="onceGgin" onclick="onceGgin()">重新采集</button>
- </div>
+ <!-- <div id="main"> -->
+ <div id="imgs">
+ <img id="img" width="256" height="360" />
</div>
+
+ <!-- </div> -->
<div id="down">
- <div id="zhiwentip">请按下食指开始采集指纹!</div>
+ <div id="zhiwentip">请按下食指开始采集!</div>
<div id="zhiwentipok">指纹采集成功!</div>
<div id="zhiwentipno">未采集指纹!</div>
</div>
+ <div id="butDiv">
+ <button id="connect_server" onclick="connect()">开始采集</button>
+ <button id="closeG" onclick="closeGfn()">取消采集</button>
+ <button id="onceGgin" onclick="onceGgin()">重新采集</button>
+ </div>
+
+
</div>
<!--<button id="open_device" onclick="LIVESCAN_Init()">设备初始化</button>
diff --git a/public/zhiwenDemo/app.css b/public/zhiwenDemo/app.css
index 43be3e4..851e933 100644
--- a/public/zhiwenDemo/app.css
+++ b/public/zhiwenDemo/app.css
@@ -1,8 +1,9 @@
html,
body {
- width: 100%;
+ width: 140px;
height: 174px;
font-family: "Segoe UI", sans-serif;
+ margin-top: 0 !important;
padding: 0 !important;
margin-left: 0 !important;
margin-right: 0 !important;
@@ -13,12 +14,13 @@
font-style: italic;
}
#zhiwenOur {
- width: 100%;
- min-width: 208px;
- height: 174px;
+ /* border: 1px solid red; */
+ width: 139px;
+ /* min-width: 208px; */
+ height: 214px;
display: flex;
align-items: center;
- justify-content: space-around;
+ /* justify-content: center; */
flex-direction: column;
}
#main {
@@ -29,7 +31,7 @@
justify-content: space-around;
}
#imgs {
- width: 256px;
+ width: 138px;
height: 180px;
/* border: 1px dashed #fff; */
/* border-image:url(/img/zhiwen/zhi.png) 30 300 round; */
@@ -52,11 +54,11 @@
opacity: 0.9;
}
#butDiv {
- width: 200px;
- height: 180px;
+ width: 100%;
+ height: auto;
display: flex;
align-items: center;
- justify-content: space-around;
+ justify-content: center;
}
#down {
width: 100%;
@@ -69,6 +71,8 @@
font-size: 12px;
position: relative;
top: 20px;
+ text-align: center;
+ width: 100%;
display: none;
color: #606266;
}
@@ -76,6 +80,8 @@
font-size: 12px;
position: relative;
top: 20px;
+ text-align: center;
+ width: 100%;
display: none;
color: #606266;
}
@@ -83,41 +89,48 @@
font-size: 12px;
position: relative;
top: 20px;
+ text-align: center;
+ width: 100%;
display: none;
color: #606266;
}
#connect_server {
- width: 65px;
- height: 35px;
+ width: 75px;
+ height: 25px;
border: none;
- font-size: 16px;
+ font-size: 12px;
background-color: #409eff;
border-radius: 5px;
color: #fff;
position: relative;
- left: 13px;
+ top: 23px;
+ /*left: 13px; */
display: none;
}
#closeG {
- width: 65px;
- height: 40px;
+ width: 75px;
+ height: 25px;
border: none;
background-color: #e6a23c;
border-radius: 5px;
color: #fff;
display: none;
+ font-size: 12px;
+ top: 23px;
position: relative;
- left: 13px;
+ /* left: 13px; */
}
#onceGgin {
- width: 65px;
- height: 31px;
+ width: 75px;
+ height: 25px;
font-size: 12px;
border: none;
background-color: #409eff;
border-radius: 5px;
color: #fff;
+ font-size: 12px;
+ top: 23px;
display: none;
position: relative;
- left: 8px;
+ /* left: 8px; */
}
diff --git a/src/api/qiandao/qiandao.js b/src/api/qiandao/qiandao.js
index 50e3d5f..80163c3 100644
--- a/src/api/qiandao/qiandao.js
+++ b/src/api/qiandao/qiandao.js
@@ -11,6 +11,19 @@
})
}
+export const getListSign = (current, size, params) => {
+ return request({
+ url: '/api/signInRecords/page',
+ method: 'get',
+ params: {
+ ...params,
+ current,
+ size,
+ }
+ })
+}
+
+
export const upData = (params) => {
return request({
url: '/api/blade-user/updateUserInfo',
diff --git a/src/main.js b/src/main.js
index 7661545..d762e2e 100644
--- a/src/main.js
+++ b/src/main.js
@@ -7,7 +7,7 @@
import './error'; // 日志
import './cache';//页面缓存
import store from './store';
-import {loadStyle} from './util/util'
+import { loadStyle } from './util/util'
import * as urls from '@/config/env';
import Element from 'element-ui';
import {
@@ -45,6 +45,8 @@
Object.keys(urls).forEach(key => {
Vue.prototype[key] = urls[key];
});
+
+
// 加载website
Vue.prototype.website = website;
// 动态加载阿里云字体库
diff --git a/src/store/getters.js b/src/store/getters.js
index 29fd139..d100948 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -33,10 +33,12 @@
scoreId: state => state.exam.scoreId,
examUserData: state => state.exam.examUserData,
+ signData: state => state.exam.signData,
// 签到
cardInfor: state => state.exam.cardInfor,
haveCardid: state => state.exam.haveCardid,
useZhiWen: state => state.exam.useZhiWen,
-
+ isClears: state => state.exam.isClears,
+ windowWidth: state => state.control.windowWidth,
}
export default getters
diff --git a/src/store/index.js b/src/store/index.js
index 9b1f694..c265c09 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -4,6 +4,7 @@
import common from './modules/common'
import tags from './modules/tags'
import logs from './modules/logs'
+import control from './modules/control'
import dict from './modules/dict'
import getters from './getters'
@@ -19,7 +20,7 @@
logs,
tags,
exam,
- dict
+ dict, control
},
getters,
})
diff --git a/src/store/modules/control.js b/src/store/modules/control.js
new file mode 100644
index 0000000..50693d6
--- /dev/null
+++ b/src/store/modules/control.js
@@ -0,0 +1,32 @@
+// import {getStore, setStore} from '@/util/store'
+
+// import {getDictionary} from '@/api/system/dict'
+
+const dict = {
+ state: {
+ clearOtherBut: {
+ refreshBtn: false,
+ columnBtn: false,
+ searchShowBtn: false,
+ filterBtn: false,
+ },
+ changePageSize: {
+ pageSize: 15,
+ currentPage: 1,
+ total: 0,
+ pageSizes: [15, 30, 50, 100],
+ },
+ windowWidth: 1025,
+ },
+ actions: {
+ },
+ mutations: {
+ setWindowSize: (state, data) => {
+ state.windowWidth = data.innerWidth;
+ // console.log(data)
+ },
+ }
+};
+
+
+export default dict;
diff --git a/src/store/modules/exam.js b/src/store/modules/exam.js
index 6766098..e88579f 100644
--- a/src/store/modules/exam.js
+++ b/src/store/modules/exam.js
@@ -4,6 +4,9 @@
const exam = {
state: {
+ signData: getStore({
+ name: 'signData'
+ }) || {},
exam: getStore({
name: 'exam'
}) || {},
@@ -19,6 +22,7 @@
examUserData: {},
// 签到
scoreId: '',
+ isClears: false,
cardInfor: {},
haveCardid: false,
useZhiWen: function (fn, vals) {
@@ -62,6 +66,16 @@
}
},
mutations: {
+ // 签到数据
+ setSign(state, data) {
+ state.signData[cardid] = data;
+ console.log(data)
+ console.log(state.signData)
+ setStore({
+ name: 'signData',
+ content: state.signData
+ })
+ },
// 签到
setCardInfor(state, data) {
state.cardInfor = data;
@@ -69,6 +83,9 @@
setCardidState(state, data) {
state.haveCardid = data;
},
+ setIsClears(state, data) {
+ state.isClears = data;
+ },
// 重置考试id赋值
SetScoreId(state, data) {
window.localStorage.setItem("scoreId", data)
diff --git a/src/store/onresize.js b/src/store/onresize.js
new file mode 100644
index 0000000..da66589
--- /dev/null
+++ b/src/store/onresize.js
@@ -0,0 +1,39 @@
+import _this from '../main'
+
+
+// 设置 init 函数
+function init() {
+ if (_this) {
+ let innerWH = {
+ innerWidth: window.innerWidth,
+ innerHeight: window.innerHeight,
+ }
+ _this.$store.commit('setWindowSize', innerWH);
+ // console.log(' window.innerWidth', window.innerWidth);
+ // console.log(' window.innerHeight', window.innerHeight);
+
+ }
+}
+
+// 节流 ms 触发间隔毫秒
+var ms = 300;
+var lastClick = Date.now() - ms;
+// 初始化
+setTimeout(() => {
+ init();
+}, 500);
+// 改变窗口大小时重新设置 rem
+// window.onresize = function () {
+// // 节流
+// if (Date.now() - lastClick >= ms) {
+// init();
+// lastClick = Date.now();
+// }
+// }
+window.addEventListener('resize', () => {
+ // 节流
+ if (Date.now() - lastClick >= ms) {
+ init();
+ lastClick = Date.now();
+ }
+}, false)
\ No newline at end of file
diff --git a/src/styles/element-ui.scss b/src/styles/element-ui.scss
index 15f2472..8225327 100644
--- a/src/styles/element-ui.scss
+++ b/src/styles/element-ui.scss
@@ -291,3 +291,48 @@
// height: 220px;
// border: 1px solid rgba($color: #d3d3d3, $alpha: 1);
}
+
+.examine_body .el-tabs.el-tabs--top {
+ height: 100% !important;
+ .el-tabs__content {
+ height: 100% !important;
+ .el-tab-pane {
+ height: 100% !important;
+ .examine_body_left {
+ }
+ }
+ }
+}
+.e_m_right {
+ .el-card.is-always-shadow {
+ height: 100% !important;
+ .el-card__body {
+ height: 100% !important;
+ box-sizing: border-box !important;
+ .avue-crud {
+ height: 100% !important;
+ // border: 1px solid red;
+ }
+ .el-table__body-wrapper.is-scrolling-left {
+ height: 100% !important;
+ }
+ }
+ }
+ .avue-crud__menu {
+ display: none !important;
+ }
+}
+// el-card is-never-shadow
+.el-tabs__nav {
+ position: relative;
+ left: 10px;
+}
+#signIn {
+ .timeDom {
+ font-size: 20px !important;
+ padding-bottom: 5px;
+ }
+ .avue-crud__menu {
+ display: none !important;
+ }
+}
diff --git a/src/views/desk/notice.vue b/src/views/desk/notice.vue
index b459232..e9dc528 100644
--- a/src/views/desk/notice.vue
+++ b/src/views/desk/notice.vue
@@ -1,293 +1,310 @@
<template>
<basic-container>
- <avue-crud :option="option"
- :table-loading="loading"
- :data="data"
- :page.sync="page"
- ref="crud"
- @row-del="rowDel"
- 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">
+ <avue-crud
+ :option="option"
+ :table-loading="loading"
+ :data="data"
+ :page.sync="page"
+ ref="crud"
+ @row-del="rowDel"
+ 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="menuLeft">
- <el-button type="danger"
- size="small"
- icon="el-icon-delete"
- plain
- v-if="permission.notice_delete"
- @click="handleDelete">删 除
+ <el-button
+ type="danger"
+ size="small"
+ icon="el-icon-delete"
+ plain
+ v-if="permission.notice_delete"
+ @click="handleDelete"
+ >删 除
</el-button>
</template>
- <template slot-scope="{row}"
- slot="category">
- <el-tag>{{row.categoryName}}</el-tag>
+ <template slot-scope="{ row }" slot="category">
+ <el-tag>{{ row.categoryName }}</el-tag>
</template>
</avue-crud>
</basic-container>
</template>
<script>
- import {getList, remove, update, add, getNotice} from "@/api/desk/notice";
- import {mapGetters} from "vuex";
+import { getList, remove, update, add, getNotice } from "@/api/desk/notice";
+import { mapGetters } from "vuex";
- export default {
- data() {
- return {
- form: {},
- query: {},
- loading: true,
- page: {
- pageSize: 10,
- currentPage: 1,
- total: 0
- },
- selectionList: [],
- option: {
- height: 'auto',
- calcHeight: 30,
- dialogWidth: 950,
- tip: false,
- searchShow: true,
- searchMenuSpan: 6,
- border: true,
- index: true,
- viewBtn: true,
- selection: true,
- excelBtn: true,
- dialogClickModal: false,
- column: [
- {
- label: "通知标题",
- prop: "title",
- span: 24,
- row: true,
- search: true,
- rules: [{
+export default {
+ data() {
+ return {
+ form: {},
+ query: {},
+ loading: true,
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ },
+ selectionList: [],
+ option: {
+ height: "auto",
+ calcHeight: 30,
+ dialogWidth: 950,
+ tip: false,
+ searchShow: true,
+ searchMenuSpan: 6,
+ border: true,
+ index: true,
+ viewBtn: true,
+ selection: true,
+ excelBtn: true,
+ dialogClickModal: false,
+ column: [
+ {
+ label: "通知标题",
+ prop: "title",
+ span: 24,
+ row: true,
+ search: true,
+ rules: [
+ {
required: true,
message: "请输入通知标题",
- trigger: "blur"
- }]
- },
- {
- label: "通知类型",
- type: "select",
- dicUrl: "/api/blade-system/dict/dictionary?code=notice",
- props: {
- label: "dictValue",
- value: "dictKey"
+ trigger: "blur",
},
- dataType: "number",
- slot: true,
- prop: "category",
- search: true,
- rules: [{
+ ],
+ },
+ {
+ label: "通知类型",
+ type: "select",
+ dicUrl: "/api/blade-system/dict/dictionary?code=notice",
+ props: {
+ label: "dictValue",
+ value: "dictKey",
+ },
+ dataType: "number",
+ slot: true,
+ prop: "category",
+ search: true,
+ rules: [
+ {
required: true,
message: "请输入通知类型",
- trigger: "blur"
- }]
- },
- {
- label: "通知时间",
- prop: "releaseTimeRange",
- type: "datetime",
- format: "yyyy-MM-dd hh:mm:ss",
- valueFormat: "yyyy-MM-dd hh:mm:ss",
- searchRange:true,
- hide: true,
- addDisplay: false,
- editDisplay: false,
- viewDisplay: false,
- search: true,
- rules: [{
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "通知时间",
+ prop: "releaseTimeRange",
+ type: "datetime",
+ format: "yyyy-MM-dd hh:mm:ss",
+ valueFormat: "yyyy-MM-dd hh:mm:ss",
+ searchRange: true,
+ hide: true,
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ search: true,
+ rules: [
+ {
required: true,
message: "请输入通知时间",
- trigger: "blur"
- }]
- },
- {
- label: "通知日期",
- prop: "releaseTime",
- type: "date",
- format: "yyyy-MM-dd hh:mm:ss",
- valueFormat: "yyyy-MM-dd hh:mm:ss",
- rules: [{
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "通知日期",
+ prop: "releaseTime",
+ type: "date",
+ format: "yyyy-MM-dd hh:mm:ss",
+ valueFormat: "yyyy-MM-dd hh:mm:ss",
+ rules: [
+ {
required: true,
message: "请输入通知日期",
- trigger: "click"
- }]
- },
- {
- label: "通知内容",
- prop: "content",
- component: 'AvueUeditor',
- options: {
- action: '/api/blade-resource/oss/endpoint/put-file',
- props: {
- res: "data",
- url: "link",
- }
+ trigger: "click",
},
- hide: true,
- minRows: 6,
- span: 24,
- }
- ]
+ ],
+ },
+ {
+ label: "通知内容",
+ prop: "content",
+ component: "AvueUeditor",
+ options: {
+ action: "/api/blade-resource/oss/endpoint/put-file",
+ props: {
+ res: "data",
+ url: "link",
+ },
+ },
+ hide: true,
+ minRows: 6,
+ span: 24,
+ },
+ ],
+ },
+ data: [],
+ };
+ },
+ computed: {
+ ...mapGetters(["permission"]),
+ // permissionList() {
+ // return {
+ // addBtn: this.vaildData(this.permission.notice_add, false),
+ // viewBtn: this.vaildData(this.permission.notice_view, false),
+ // delBtn: this.vaildData(this.permission.notice_delete, false),
+ // editBtn: this.vaildData(this.permission.notice_edit, false)
+ // };
+ // },
+ ids() {
+ let ids = [];
+ this.selectionList.forEach((ele) => {
+ ids.push(ele.id);
+ });
+ return ids.join(",");
+ },
+ },
+ methods: {
+ rowSave(row, done, loading) {
+ add(row).then(
+ () => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ done();
},
- data: []
+ (error) => {
+ window.console.log(error);
+ loading();
+ }
+ );
+ },
+ rowUpdate(row, index, done, loading) {
+ update(row).then(
+ () => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ done();
+ },
+ (error) => {
+ window.console.log(error);
+ loading();
+ }
+ );
+ },
+ rowDel(row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ return remove(row.id);
+ })
+ .then(() => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ });
+ },
+ searchReset() {
+ this.query = {};
+ this.onLoad(this.page);
+ },
+ searchChange(params, done) {
+ this.query = params;
+ this.page.currentPage = 1;
+ this.onLoad(this.page, params);
+ done();
+ },
+ selectionChange(list) {
+ this.selectionList = list;
+ },
+ selectionClear() {
+ this.selectionList = [];
+ this.$refs.crud.toggleSelection();
+ },
+ handleDelete() {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据");
+ return;
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ return remove(this.ids);
+ })
+ .then(() => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ this.$refs.crud.toggleSelection();
+ });
+ },
+ beforeOpen(done, type) {
+ if (["edit", "view"].includes(type)) {
+ getNotice(this.form.id).then((res) => {
+ this.form = res.data.data;
+ });
+ }
+ done();
+ },
+ currentChange(currentPage) {
+ this.page.currentPage = currentPage;
+ },
+ sizeChange(pageSize) {
+ this.page.pageSize = pageSize;
+ },
+ refreshChange() {
+ this.onLoad(this.page, this.query);
+ },
+ onLoad(page, params = {}) {
+ const { releaseTimeRange } = this.query;
+ let values = {
+ ...params,
};
- },
- computed: {
- ...mapGetters(["permission"]),
- permissionList() {
- return {
- addBtn: this.vaildData(this.permission.notice_add, false),
- viewBtn: this.vaildData(this.permission.notice_view, false),
- delBtn: this.vaildData(this.permission.notice_delete, false),
- editBtn: this.vaildData(this.permission.notice_edit, false)
- };
- },
- ids() {
- let ids = [];
- this.selectionList.forEach(ele => {
- ids.push(ele.id);
- });
- return ids.join(",");
- }
- },
- methods: {
- rowSave(row, done, loading) {
- add(row).then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- rowUpdate(row, index, done, loading) {
- update(row).then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- done();
- }, error => {
- window.console.log(error);
- loading();
- });
- },
- rowDel(row) {
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(row.id);
- })
- .then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- });
- },
- searchReset() {
- this.query = {};
- this.onLoad(this.page);
- },
- searchChange(params, done) {
- this.query = params;
- this.page.currentPage = 1;
- this.onLoad(this.page, params);
- done();
- },
- selectionChange(list) {
- this.selectionList = list;
- },
- selectionClear() {
- this.selectionList = [];
- this.$refs.crud.toggleSelection();
- },
- handleDelete() {
- if (this.selectionList.length === 0) {
- this.$message.warning("请选择至少一条数据");
- return;
- }
- this.$confirm("确定将选择数据删除?", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- })
- .then(() => {
- return remove(this.ids);
- })
- .then(() => {
- this.onLoad(this.page);
- this.$message({
- type: "success",
- message: "操作成功!"
- });
- this.$refs.crud.toggleSelection();
- });
- },
- beforeOpen(done, type) {
- if (["edit", "view"].includes(type)) {
- getNotice(this.form.id).then(res => {
- this.form = res.data.data;
- });
- }
- done();
- },
- currentChange(currentPage) {
- this.page.currentPage = currentPage;
- },
- sizeChange(pageSize) {
- this.page.pageSize = pageSize;
- },
- refreshChange() {
- this.onLoad(this.page, this.query);
- },
- onLoad(page, params = {}) {
- const {releaseTimeRange} = this.query;
- let values = {
+ if (releaseTimeRange) {
+ values = {
...params,
+ releaseTime_datege: releaseTimeRange[0],
+ releaseTime_datelt: releaseTimeRange[1],
+ ...this.query,
};
- if (releaseTimeRange) {
- values = {
- ...params,
- releaseTime_datege: releaseTimeRange[0],
- releaseTime_datelt: releaseTimeRange[1],
- ...this.query
- };
- values.releaseTimeRange = null;
- }
- this.loading = true;
- getList(page.currentPage, page.pageSize, values).then(res => {
- const data = res.data.data;
- this.page.total = data.total;
- this.data = data.records;
- this.loading = false;
- this.selectionClear();
- });
+ values.releaseTimeRange = null;
}
- }
- };
+ this.loading = true;
+ getList(page.currentPage, page.pageSize, values).then((res) => {
+ const data = res.data.data;
+ this.page.total = data.total;
+ this.data = data.records;
+ this.loading = false;
+ this.selectionClear();
+ });
+ },
+ },
+};
</script>
<style>
diff --git a/src/views/qiandao/forms.vue b/src/views/qiandao/forms.vue
index 60e6c05..e834dbe 100644
--- a/src/views/qiandao/forms.vue
+++ b/src/views/qiandao/forms.vue
@@ -5,6 +5,7 @@
ref="form"
v-model="obj"
:option="option"
+ res="formss"
@reset-change="emptytChange"
>
<!-- @submit="submit" -->
@@ -35,7 +36,33 @@
import { mapGetters } from "vuex";
export default {
computed: {
- ...mapGetters(["userInfo", "cardInfor", "haveCardid", "useZhiWen"]),
+ ...mapGetters([
+ "userInfo",
+ "cardInfor",
+ "haveCardid",
+ "useZhiWen",
+ "isClears",
+ ]),
+ },
+ watch: {
+ isClears() {
+ if (this.isClears) {
+ this.obj = {
+ name: "",
+ national: "",
+ certAddress: "",
+ sex: "",
+ imgs: "",
+ yxqend: "",
+ yxqstart: "",
+ birthday: "",
+ id: "",
+ qfjg: "",
+ };
+ this.emptytChange();
+ this.$store.commit("setIsClears", false);
+ }
+ },
},
mounted() {
// console.log(CertCtl);
@@ -91,6 +118,8 @@
// mockBtn: true,
// submitText: "完成",
// printBtn: true,
+ // emptyBtn: false,
+ size: "small",
labelWidth: 70,
submitBtn: false,
disabled: true,
@@ -171,6 +200,11 @@
//回显相关数据
// console.log(resultObj, 123);
const data = resultObj.resultContent;
+ // 判断是否是重新读卡
+ // if (that.obj.id == data.certNumber) {
+ // //同一张身份证-不更新数据
+ // return;
+ // }
//赋值数据
that.obj = {
name: data.partyName,
@@ -214,6 +248,7 @@
id: data.certNumber,
qfjg: data.certOrg,
};
+ // console.log("应用数据");
that.$store.commit("setCardInfor", that.obj);
that.$store.commit("setCardidState", true);
} else if (resultObj.resultFlag == "-1") {
@@ -222,6 +257,9 @@
} else {
// console.log(resultObj.errorMsg);
//无卡片提醒
+ that.obj = {
+ id: "",
+ };
}
} else if (resultObj.resultFlag == "-2") {
console.log(resultObj.errorMsg);
@@ -240,7 +278,7 @@
clear: true,
};
this.useZhiWen("setZhiwenData", zhiwen);
- this.$message.success("清空身份证数据");
+ // this.$message.success("清空身份证数据");
},
// useZhiWen: function (fn, vals) {
// //读取指纹实例
@@ -257,13 +295,14 @@
</script>
<style lang="scss" scoped>
.zhiwenMain {
- width: 100%;
- height: 220px;
+ width: 180px;
+ height: 247px;
// border: 1px solid rgba($color: #d3d3d3, $alpha: 1);
}
.formsss {
height: 100% !important;
// overflow-x: hidden;
+ // border: 1px solid rgb(0, 255, 64);
// overflow-y: scroll;
}
.imgss {
diff --git a/src/views/qiandao/index.vue b/src/views/qiandao/index.vue
index 6773d72..d05f1f0 100644
--- a/src/views/qiandao/index.vue
+++ b/src/views/qiandao/index.vue
@@ -12,12 +12,21 @@
</div>
</div>
<div class="examine_body">
- <div class="e_m_left">
- <forms></forms>
- </div>
- <div class="e_m_right">
- <tables></tables>
- </div>
+ <el-tabs v-model="activeName" @tab-click="handleClick">
+ <el-tab-pane label="签到识别" name="first">
+ <div class="examine_body_left">
+ <div class="e_m_left">
+ <forms></forms>
+ </div>
+ <div class="e_m_right">
+ <tables></tables>
+ </div>
+ </div>
+ </el-tab-pane>
+ <el-tab-pane label="签到数据" name="second">
+ <signIn v-if="activeName == 'second'"></signIn>
+ </el-tab-pane>
+ </el-tabs>
</div>
</div>
</template>
@@ -27,16 +36,20 @@
import { resetRouter } from "@/router/router";
import tables from "./tables.vue";
import forms from "./forms.vue";
+import signIn from "./signIn.vue";
export default {
data() {
return {
+ tabs: "",
userName: "",
+ activeName: "first",
};
},
components: {
tables,
forms,
+ signIn,
},
computed: {
...mapGetters(["userInfo"]),
@@ -50,6 +63,9 @@
this.userName = this.userInfo.account;
},
methods: {
+ handleClick(tab, event) {
+ console.log(tab.name, 77777);
+ },
logout() {
this.$confirm(this.$t("logoutTip"), this.$t("tip"), {
confirmButtonText: this.$t("submitText"),
@@ -108,20 +124,31 @@
.examine_body {
width: 100%;
height: calc(100% - 50px);
+ // border: 1px solid red;
+ box-sizing: border-box;
+ }
+ .examine_body_left {
+ width: 100%;
+ height: calc(100% - 55px);
+ // height: 100% !important;
+ // border: 1px solid rgb(0, 26, 255);
box-sizing: border-box;
display: flex;
- align-items: center;
+ // align-items: center;
justify-content: center;
position: relative;
.e_m_left {
- width: 48%;
+ width: 47%;
height: 100%;
+
+ box-sizing: border-box;
overflow-x: hidden;
overflow-y: scroll;
}
.e_m_right {
- width: 52%;
+ width: 53%;
height: 100%;
+ // border: 1px solid rgb(0, 255, 64);
// border: 1px solid red;
}
}
diff --git a/src/views/qiandao/signIn.vue b/src/views/qiandao/signIn.vue
new file mode 100644
index 0000000..c30b26e
--- /dev/null
+++ b/src/views/qiandao/signIn.vue
@@ -0,0 +1,288 @@
+<template>
+ <basic-container class="signIn" id="signIn">
+ <div class="timeDom">当天时间:{{ timeDom }}</div>
+ <avue-crud
+ v-if="visible"
+ :option="option"
+ :table-loading="loading"
+ :data="data"
+ :page.sync="page"
+ :search.sync="search"
+ ref="signIn"
+ @row-del="rowDel"
+ v-model="form"
+ :permission="permissionList"
+ @row-update="rowUpdate"
+ @row-save="rowSave"
+ :before-open="beforeOpen"
+ @filter="filterChange"
+ @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="icon-zhengjian"
+ :size="size"
+ :type="type"
+ class="zhengJian-icon"
+ @click.stop="rowUps(row)"
+ >更新</el-button
+ >
+ </template>
+ </avue-crud>
+ </basic-container>
+</template>
+
+<script>
+import { mapGetters } from "vuex";
+import { getListSign } from "@/api/qiandao/qiandao";
+export default {
+ data() {
+ return {
+ timeDom: "",
+ visible: true,
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ },
+ query: {},
+ data: [],
+ form: {},
+ search: {},
+ option: {
+ // card: true,
+ // tip: false,
+ // searchSize: "mini",
+ searchMenuSpan: 6,
+ height: "auto",
+ index: true,
+ // selectable: (row, index) => {
+ // console.log(row, index);
+ // if (row.auditStatus == 4 && row.cancel == 1) {
+ // return true;
+ // } else {
+ // return false;
+ // }
+ // },
+ labelWidth: "120",
+ menuWidth: 200,
+ align: "center",
+ menuWidth: 90,
+ menu: false,
+ refreshBtn: false,
+ columnBtn: false,
+ emptyBtnText: " ",
+ searchBtnText: " ",
+ searchShowBtn: false,
+ // reserveSelection: true,
+ // selection: true,
+ column: [
+ {
+ label: "姓名",
+ prop: "realName",
+ search: true,
+ searchSpan: 6,
+ searchLabelWidth: 45,
+ width: 70,
+ },
+ {
+ label: "公司",
+ prop: "deptName",
+ search: true,
+ searchSpan: 7,
+ searchLabelWidth: 45,
+ },
+ {
+ label: "身份证号码",
+ prop: "idCardNo",
+ search: true,
+ searchSpan: 9,
+ searchLabelWidth: 80,
+ // searchRange: true,
+ // searchValue: this.getuserid(),
+ width: 180,
+ },
+ {
+ label: "签到时间",
+ prop: "updateTime",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ // search: true,
+ // searchSpan: 5,
+ // searchLabelWidth: 80,
+ width: 180,
+ },
+ {
+ label: "签到时间",
+ prop: "signTime",
+ type: "date",
+ hide: true,
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ search: true,
+ searchSpan: 5,
+ searchLabelWidth: 80,
+ width: 180,
+ },
+ ],
+ delBtn: false,
+ editBtn: false,
+ addBtn: false,
+ },
+ };
+ },
+ computed: {
+ ...mapGetters(["signData", "userInfo"]),
+ // permissionList() {
+ // return {
+ // addBtn: this.vaildData(this.permission.notice_add, false),
+ // viewBtn: this.vaildData(this.permission.notice_view, false),
+ // delBtn: this.vaildData(this.permission.notice_delete, false),
+ // editBtn: this.vaildData(this.permission.notice_edit, false),
+ // };
+ // },
+ },
+ mounted() {
+ var times = new Date();
+ this.year = times.getFullYear();
+ this.month = Number(times.getMonth()) + 1;
+ this.day = times.getDate();
+ this.timeDom = this.year + "-" + this.month + "-" + this.day;
+ this.search["signTime"] = this.timeDom;
+ this.query["signTime"] = this.timeDom;
+ let t = this;
+ window.addEventListener("resize", function () {
+ t.resetHeight();
+ });
+ t.resetHeight();
+ },
+ methods: {
+ // getuserid() {
+ // console.log(12345);
+ // console.log(this.haveCardid);
+ // if (this.haveCardid) {
+ // return this.cardInfor.id;
+ // } else {
+ // return;
+ // }
+ // },
+ resetHeight() {
+ //表格自适应高度
+ let windowHeight = document.body.clientHeight;
+ let table = document.getElementsByClassName("signIn");
+ let heard = table[0].getElementsByClassName("avue-crud__search");
+ this.option.height = windowHeight - (heard[0].clientHeight + 240);
+ this.visible = false;
+ this.$nextTick(() => {
+ this.visible = true;
+ this.onLoad(this.page, this.search);
+ });
+ },
+ rowUps(row, msg) {},
+
+ upDataMain(row) {},
+ sizeChange(val) {
+ this.page.pageSize = val;
+ },
+ currentChange(val) {
+ this.page.currentPage = val;
+ },
+ rowSave(form, done, loading) {},
+ searchChange(params, done) {
+ this.query = params;
+ this.page.currentPage = 1;
+ this.onLoad(this.page, params);
+ done();
+ },
+ searchReset() {
+ // console.log(5454);
+ this.query = {};
+ this.onLoad(this.page);
+ this.search["cardid"] = "";
+ },
+ rowUpdate(row, index, done, loading) {
+ // update(row).then(
+ // () => {
+ // this.onLoad(this.page);
+ // this.$message({
+ // type: "success",
+ // message: "操作成功!",
+ // });
+ // done();
+ // },
+ // (error) => {
+ // window.console.log(error);
+ // loading();
+ // }
+ // );
+ },
+ rowDel(row) {
+ // this.$confirm("确定将选择数据删除?", {
+ // confirmButtonText: "确定",
+ // cancelButtonText: "取消",
+ // type: "warning",
+ // })
+ // .then(() => {
+ // return remove(row.id);
+ // })
+ // .then(() => {
+ // this.onLoad(this.page);
+ // this.$message({
+ // type: "success",
+ // message: "操作成功!",
+ // });
+ // });
+ },
+ selectionChange(list) {
+ // this.selectionList = list;
+ // this.choiceName = [];
+ // // console.log(window.name);
+ // for (let k in list) {
+ // this.choiceName.push({
+ // label: list[k].realName,
+ // value: list[k].id,
+ // });
+ // }
+ // window.localStorage.setItem("baoming", JSON.stringify(this.choiceName));
+ // console.log(this.choiceName);
+ },
+ refreshChange() {
+ this.onLoad(this.page, this.query);
+ },
+ msg: function (type, msg) {
+ this.$message({
+ message: msg,
+ type: type,
+ });
+ },
+ onLoad(page, params = {}) {
+ this.loading = true;
+ params["trainingUnitId"] = this.userInfo.dept_id;
+ getListSign(
+ page.currentPage,
+ page.pageSize,
+ Object.assign(params, this.query)
+ ).then((res) => {
+ const data = res.data.data;
+ this.page.total = data.total;
+ this.data = data.records;
+ console.log(this.data, 456789);
+ this.loading = false;
+ });
+ },
+ },
+};
+</script>
+
+<style lang="scss" scoped>
+.tablesss {
+ height: 100% !important;
+}
+</style>
diff --git a/src/views/qiandao/tables.vue b/src/views/qiandao/tables.vue
index 826221c..89c533a 100644
--- a/src/views/qiandao/tables.vue
+++ b/src/views/qiandao/tables.vue
@@ -1,6 +1,7 @@
<template>
<basic-container class="tablesss">
<avue-crud
+ v-if="visible"
:option="option"
:table-loading="loading"
:data="data"
@@ -42,6 +43,7 @@
export default {
data() {
return {
+ visible: true,
page: {
pageSize: 10,
currentPage: 1,
@@ -118,14 +120,14 @@
"haveCardid",
"useZhiWen",
]),
- permissionList() {
- return {
- addBtn: this.vaildData(this.permission.notice_add, false),
- viewBtn: this.vaildData(this.permission.notice_view, false),
- delBtn: this.vaildData(this.permission.notice_delete, false),
- editBtn: this.vaildData(this.permission.notice_edit, false),
- };
- },
+ // permissionList() {
+ // return {
+ // addBtn: this.vaildData(this.permission.notice_add, false),
+ // viewBtn: this.vaildData(this.permission.notice_view, false),
+ // delBtn: this.vaildData(this.permission.notice_delete, false),
+ // editBtn: this.vaildData(this.permission.notice_edit, false),
+ // };
+ // },
},
watch: {
haveCardid() {
@@ -145,6 +147,8 @@
},
},
mounted() {
+ // let dom = document.getElementsByClassName("el-table--small");
+ // console.log((dom[0].clientHeight = 100), 9);
// console.log(1545);
// if (window.name == "baoming") {
// let old = JSON.parse(window.localStorage.getItem("baoming"));
@@ -155,6 +159,11 @@
// window.name = "baoming";
// console.log("不刷新");
// }
+ let t = this;
+ window.addEventListener("resize", function () {
+ t.resetHeight();
+ });
+ t.resetHeight();
},
methods: {
// getuserid() {
@@ -166,6 +175,18 @@
// return;
// }
// },
+ resetHeight() {
+ //表格自适应高度
+ let windowHeight = document.body.clientHeight;
+ let table = document.getElementsByClassName("tablesss");
+ let heard = table[0].getElementsByClassName("avue-crud__search");
+ this.option.height = windowHeight - (heard[0].clientHeight + 220);
+ this.visible = false;
+ this.$nextTick(() => {
+ this.visible = true;
+ this.onLoad(this.page, this.search);
+ });
+ },
rowUps(row, msg) {
row["cell"] = "2";
let zhiwenData = this.useZhiWen("outZhiwenData");
@@ -179,53 +200,53 @@
return;
}
// console.log(zhiwenData, 456);
- if (
- zhiwenData.imgSRC != "" &&
- zhiwenData.imgSRC != undefined &&
- zhiwenData.imgBMP != "" &&
- zhiwenData.imgBMP != undefined &&
- zhiwenData.featuredata != "" &&
- zhiwenData.featuredata != undefined &&
- zhiwenData.isoks
- ) {
- // console.log("存在指纹");
- row.realName = card.name;
- row.cardid = card.id;
- row.sex = card.sex == "男" ? "1" : card.sex == "女" ? "2" : "3";
- row.nation = card.national;
- row.registered = card.certAddress;
- row.fingerprint = zhiwenData.imgBMP;
- row.myPicture = zhiwenData.featuredata;
- this.upDataMain(row);
- } else {
- // this.msg("warning", "无指纹信息,请添加指纹信息后重试!");
- this.$confirm("检测到无指纹信息,是否确定修改?", "确认信息", {
- distinguishCancelAndClose: true,
- confirmButtonText: "保存",
- cancelButtonText: "放弃修改",
- })
- .then(() => {
- row.realName = card.name;
- row.cardid = card.id;
- row.sex = card.sex == "男" ? "1" : card.sex == "女" ? "2" : "3";
- row.nation = card.national;
- row.registered = card.certAddress;
- row.fingerprint = zhiwenData.imgBMP;
- row.myPicture = zhiwenData.featuredata;
- this.upDataMain(row);
- // this.$message({
- // type: "info",
- // message: "保存修改",
- // });
- })
- .catch((action) => {
- // this.$message({
- // type: "info",
- // message:
- // action === "cancel" ? "放弃保存并离开页面" : "停留在当前页面",
- // });
- });
- }
+ // if (
+ // zhiwenData.imgSRC != "" &&
+ // zhiwenData.imgSRC != undefined &&
+ // zhiwenData.imgBMP != "" &&
+ // zhiwenData.imgBMP != undefined &&
+ // zhiwenData.featuredata != "" &&
+ // zhiwenData.featuredata != undefined &&
+ // zhiwenData.isoks
+ // ) {
+ // console.log("存在指纹");
+ row.realName = card.name;
+ row.cardid = card.id;
+ row.sex = card.sex == "男" ? "1" : card.sex == "女" ? "2" : "3";
+ row.nation = card.national;
+ row.registered = card.certAddress;
+ row.fingerprint = zhiwenData.imgBMP;
+ row.myPicture = zhiwenData.featuredata;
+ this.upDataMain(row);
+ // } else {
+ // // this.msg("warning", "无指纹信息,请添加指纹信息后重试!");
+ // this.$confirm("检测到无指纹信息,是否确定修改?", "确认信息", {
+ // distinguishCancelAndClose: true,
+ // confirmButtonText: "保存",
+ // cancelButtonText: "放弃修改",
+ // })
+ // .then(() => {
+ // row.realName = card.name;
+ // row.cardid = card.id;
+ // row.sex = card.sex == "男" ? "1" : card.sex == "女" ? "2" : "3";
+ // row.nation = card.national;
+ // row.registered = card.certAddress;
+ // row.fingerprint = zhiwenData.imgBMP;
+ // row.myPicture = zhiwenData.featuredata;
+ // this.upDataMain(row);
+ // // this.$message({
+ // // type: "info",
+ // // message: "保存修改",
+ // // });
+ // })
+ // .catch((action) => {
+ // // this.$message({
+ // // type: "info",
+ // // message:
+ // // action === "cancel" ? "放弃保存并离开页面" : "停留在当前页面",
+ // // });
+ // });
+ // }
} else {
this.msg("warning", "请读取身份证后重试!");
}
@@ -268,12 +289,40 @@
registered: row.registered,
fingerprint: row.fingerprint,
myPicture: row.myPicture,
+ candidateNo: row.candidateNo,
};
upData(b).then((res) => {
const data = res.data;
// console.log(data);
if (data.code == 200) {
- this.msg("success", data.msg);
+ // this.msg("success", data.msg);
+ this.$confirm("签到成功!", "提示", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "success",
+ })
+ .then(() => {
+ this.$message({
+ type: "success",
+ message: "请继续放入身份证进行识别!",
+ });
+ this.$store.commit("setIsClears", true);
+ // this.$store.commit("setCardidState", false);
+ // let zhiwen = {
+ // featuredatas: "",
+ // imgBMP: "",
+ // url: "",
+ // isoks: false,
+ // clear: true,
+ // };
+ // this.useZhiWen("setZhiwenData", zhiwen);
+ })
+ .catch(() => {
+ // this.$message({
+ // type: "info",
+ // message: "已取消删除",
+ // });
+ });
} else {
this.msg("warning", data.msg);
}
@@ -385,6 +434,7 @@
params["auditStatus"] = "1";
params["cancel"] = "1";
params["isExam"] = "1";
+ params["trainingUnitId"] = this.userInfo.dept_id;
let values = Object.assign(params, this.query);
// console.log(values);
if (values.realName || values.deptName || values.idCardNo) {
--
Gitblit v1.9.3