Commit 641c1b53 by liyuhang19990520

卡片、删除前判断、比中信息接口姓名和时间、角色设置显示、毛玻璃、以及其他ui样式

parent dc4e0d0c
<!--
* @Author: your name
* @Date: 2021-11-13 16:32:50
* @LastEditTime: 2021-11-17 17:34:20
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \founder_vue\src\components\swiper.vue
-->
<template>
<div>
<transition name="fade">
<div @touchend="end" @touchstart="start" @touchmove="move" class="swiper">
<div
@click="chooseItem(item, index)"
v-for="(item, index) in imgs"
:style="config5[index]"
:key="item.cover"
<div class="parentBox">
<img src="@/assets/img/car.png" alt="" />
<div style="height: 100%">
<el-carousel
style="height: 100%"
:interval="5000"
arrow="always"
ref="carousel"
:autoplay="false"
@change="change"
>
<el-carousel-item
v-for="item in carData"
:key="item.barcode"
style="height: 100%"
>
<!-- <img :src="item.cover" style="width: 100%; height: 100%" />-->
</div>
<div class="carItem">
<div class="youshang">
<span>{{ carIndex + 1 }}</span>
<span>/{{ carData.length }}</span>
</div>
<div class="wenzi">
<p>
<span>查询ID:</span>
<span>{{ item.qqid }}</span>
</p>
<p>
<span>源条码号:</span>
<span>{{ item.barcode }}</span>
</p>
</div>
</div>
</el-carousel-item>
</el-carousel>
<div class="carBtn">
<span
v-for="(item, index) in carData"
@click="qiehuan(index)"
:class="{ active: carIndex == index }"
:key="item.barcode"
></span>
</div>
</transition>
<h1 @click="prev">上一个</h1>
<h1 @click="next">下一个</h1>
<h1>当前:{{ centerInfo.id }}</h1>
<h1
@click="chooseItem(item, index)"
v-for="(item, index) in imgs"
:key="item.cover"
class="swperNum"
>
{{ index }}
</h1>
</div>
<div class="left" @click="btnQiehuan('left')">
<img src="@/assets/img/left.png" alt="" />
</div>
<div class="right" @click="btnQiehuan('right')">
<img src="@/assets/img/right.png" alt="" />
</div>
</div>
</template>
<script>
export default {
name: "zt",
data() {
return {
loading: true,
currentIndex: 3, //当前中间imgs数组中index
centerInfo: "", // 当前中间信息
startX: "",
endX: "",
imgs: [
{
id: "莱因哈特1",
index: 0,
cover:
"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fhbimg.b0.upaiyun.com%2F945cad7c7105d352aa3c513c94846bb0c2f1a61342067-OWFZcE_fw658&refer=http%3A%2F%2Fhbimg.b0.upaiyun.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1639222834&t=e54dd111b99d115d33f09f237530dcbf"
},
{
id: "安娜2",
index: 1,
cover:
"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fhbimg.b0.upaiyun.com%2F945cad7c7105d352aa3c513c94846bb0c2f1a61342067-OWFZcE_fw658&refer=http%3A%2F%2Fhbimg.b0.upaiyun.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1639222834&t=e54dd111b99d115d33f09f237530dcbf"
},
{
id: "卢西奥3",
index: 2,
cover:
"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fhbimg.b0.upaiyun.com%2F945cad7c7105d352aa3c513c94846bb0c2f1a61342067-OWFZcE_fw658&refer=http%3A%2F%2Fhbimg.b0.upaiyun.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1639222834&t=e54dd111b99d115d33f09f237530dcbf"
},
{
id: "DVA4",
index: 3,
cover:
"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fhbimg.b0.upaiyun.com%2F945cad7c7105d352aa3c513c94846bb0c2f1a61342067-OWFZcE_fw658&refer=http%3A%2F%2Fhbimg.b0.upaiyun.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1639222834&t=e54dd111b99d115d33f09f237530dcbf"
},
{
id: "莫伊拉5",
index: 4,
cover:
"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fhbimg.b0.upaiyun.com%2F945cad7c7105d352aa3c513c94846bb0c2f1a61342067-OWFZcE_fw658&refer=http%3A%2F%2Fhbimg.b0.upaiyun.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1639222834&t=e54dd111b99d115d33f09f237530dcbf"
},
{
id: "裂空6",
index: 5,
cover:
"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fhbimg.b0.upaiyun.com%2F945cad7c7105d352aa3c513c94846bb0c2f1a61342067-OWFZcE_fw658&refer=http%3A%2F%2Fhbimg.b0.upaiyun.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1639222834&t=e54dd111b99d115d33f09f237530dcbf"
},
{
id: "麦克雷7",
index: 6,
cover:
"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fhbimg.b0.upaiyun.com%2F945cad7c7105d352aa3c513c94846bb0c2f1a61342067-OWFZcE_fw658&refer=http%3A%2F%2Fhbimg.b0.upaiyun.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1639222834&t=e54dd111b99d115d33f09f237530dcbf"
},
{
id: "士兵76 8",
index: 7,
cover:
"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fhbimg.b0.upaiyun.com%2F945cad7c7105d352aa3c513c94846bb0c2f1a61342067-OWFZcE_fw658&refer=http%3A%2F%2Fhbimg.b0.upaiyun.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1639222834&t=e54dd111b99d115d33f09f237530dcbf"
},
{
id: "狂鼠9",
index: 8,
cover:
"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fhbimg.b0.upaiyun.com%2F945cad7c7105d352aa3c513c94846bb0c2f1a61342067-OWFZcE_fw658&refer=http%3A%2F%2Fhbimg.b0.upaiyun.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1639222834&t=e54dd111b99d115d33f09f237530dcbf"
},
{
id: "死神 10",
index: 9,
cover:
"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fhbimg.b0.upaiyun.com%2F945cad7c7105d352aa3c513c94846bb0c2f1a61342067-OWFZcE_fw658&refer=http%3A%2F%2Fhbimg.b0.upaiyun.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1639222834&t=e54dd111b99d115d33f09f237530dcbf"
},
{
id: "禅雅塔 11",
index: 10,
cover:
"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fhbimg.b0.upaiyun.com%2F945cad7c7105d352aa3c513c94846bb0c2f1a61342067-OWFZcE_fw658&refer=http%3A%2F%2Fhbimg.b0.upaiyun.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1639222834&t=e54dd111b99d115d33f09f237530dcbf"
},
{
id: "黑百合 12",
index: 11,
cover:
"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fhbimg.b0.upaiyun.com%2F945cad7c7105d352aa3c513c94846bb0c2f1a61342067-OWFZcE_fw658&refer=http%3A%2F%2Fhbimg.b0.upaiyun.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1639222834&t=e54dd111b99d115d33f09f237530dcbf"
}
],
previous: 0,
config5: [
{
id: "-A",
position: "absolute",
width: "22%",
height: "72%",
top: "19.2%",
left: "20%",
opacity: 0,
zIndex: 0,
transition: ".4s"
},
{
id: "A",
position: "absolute",
width: "22%",
height: "72%",
top: "19.2%",
left: "17%",
opacity: 1,
zIndex: 1,
transition: ".4s"
},
{
id: "B",
position: "absolute",
width: "28%",
height: "82%",
top: "14%",
left: "22%",
opacity: 1,
zIndex: 2,
transition: ".4s"
},
{
id: "center",
position: "absolute",
width: "45%",
height: "100%",
top: "0px",
left: "50%",
marginLeft: "-22.5%",
opacity: 1,
zIndex: 4,
transition: ".4s"
},
{
id: "D",
position: "absolute",
width: "28%",
height: "82%",
top: "14%",
left: "50%",
opacity: 1,
zIndex: 2,
transition: ".4s"
},
{
id: "E",
position: "absolute",
width: "22%",
height: "72%",
top: "19.2%",
left: "60%",
opacity: 1,
zIndex: 1,
transition: ".4s"
},
{
id: "E+",
position: "absolute",
width: "22%",
height: "72%",
top: "19.2%",
left: "60%",
opacity: 0,
zIndex: 0,
transition: ".4s"
}
]
carIndex: 0,
};
},
methods: {
// 获取数据
async getData() {
this.$nextTick(() => {
this.loading = false;
});
},
bianhua(num) {
this.currentIndex = num - 1;
if (this.currentIndex > this.imgs.length - 1) {
this.currentIndex = 0;
}
this.centerCard();
this.centerIndex("next");
},
// 滑动上一个
prev(index) {
// this.imgs.unshift(this.imgs.pop());
this.config5.push(this.config5.shift());
this.currentIndex = this.currentIndex - 1;
if (this.currentIndex < 0) {
this.currentIndex = this.imgs.length - 1;
}
this.centerCard();
this.centerIndex("prev");
},
// 滑动下一个
next() {
// this.imgs.push(this.imgs.shift());
this.config5.unshift(this.config5.pop());
this.currentIndex = this.currentIndex + 1;
if (this.currentIndex > this.imgs.length - 1) {
this.currentIndex = 0;
}
this.centerCard();
this.centerIndex("next");
// console.log(this.currentIndex);
},
// 开始移动端滑动屏幕
start(event) {
this.startX = event.changedTouches[0].clientX;
this.startY = event.changedTouches[0].clientY;
},
// 连续滑动
move(event) {
this.endY = event.changedTouches[0].clientY;
this.endX = event.changedTouches[0].clientX;
this.stopDefault(event);
// 如果是滑动,注解(223行到231行)这段。如果是连续滑动,放开(223行到231行)注解
this.interval = this.endX - this.startX;
if (this.interval > 40) {
this.startX = this.endX;
this.prev();
}
if (this.interval < -40) {
this.startX = this.endX;
this.next();
}
},
// 滑动
end(event) {
// 如果是滑动,放开(236行到238行)的注解。如果是连续滑动,注解(236行到238行)
// this.endY = event.changedTouches[0].clientY;
// this.endX = event.changedTouches[0].clientX;
// this.formatSwiper();
},
formatSwiper() {
if (this.startX > this.endX) {
console.log("左边滑动");
if (this.startX > this.endX + 40) {
this.next();
}
} else {
console.log("右边滑动");
if (this.endX > this.startX + 40) {
this.prev();
}
}
change(index) {
this.carIndex = index;
},
// 阻止touchmove的横向默认事件(ios快捷操作会关闭页面)
stopDefault(event) {
let differenceY = this.endY - this.startY;
let differenceX = this.endX - this.startX;
if (Math.abs(differenceX) > Math.abs(differenceY)) {
event.preventDefault();
}
qiehuan(index) {
this.$refs.carousel.setActiveItem(index);
this.$emit("qiehuan", index);
},
// 当前imgs在位置上的index(并非img数组的index)
centerIndex(val) {
if (val == "prev") {
for (let val of this.imgs) {
if (val.index == this.imgs.length - 1) {
val.index = 0;
} else {
val.index = val.index + 1;
}
}
btnQiehuan(type) {
console.log(this.carIndex);
if (type == "left") {
this.$refs.carousel.prev();
this.$emit("prev", this.carIndex);
} else {
for (let val of this.imgs) {
if (val.index == 0) {
val.index = this.imgs.length - 1;
} else {
val.index = val.index - 1;
}
}
this.$refs.carousel.next();
this.$emit("next", this.carIndex);
}
},
// 点击
chooseItem(item, index) {
let cycles = item.index;
if (item.index < 3) {
for (let i = 0; i < 3 - cycles; i++) {
console.log(item.index);
this.prev();
}
} else if (item.index > 3) {
for (let i = -1; i < item.index - 3; i++) {
this.next();
}
} else if (item.index == 3) {
console.log("投票");
}
},
// 计算中间卡片信息
centerCard() {
this.centerInfo = this.imgs[this.currentIndex];
this.$emit("centerInfo", this.centerInfo);
},
props: {
carData: {
type: Array,
default: () => [],
},
addCardStyle() {
if (this.imgs.length > 7) {
let addtime = this.imgs.length - 7;
for (let i = 0; i < addtime; i++) {
console.log("add");
this.config5.push({
id: "center",
position: "absolute",
width: "45%",
height: "100%",
top: "0px",
left: "50%",
marginLeft: "-22.5%",
opacity: 0,
transition: ".1s"
});
}
}
}
},
created() {
this.getData();
this.centerCard(); // 获取中间卡片信息
this.addCardStyle(); // 加入样式位置的index
}
};
</script>
<style lang="scss" scoped>
.swiper {
.el-carousel__item h3 {
color: #475669;
font-size: 18px;
opacity: 0.75;
line-height: 200px;
margin: 0;
}
.el-carousel {
position: relative;
}
.el-carousel__item:nth-child(2n) {
background-color: #99a9bf;
}
.el-carousel__item:nth-child(2n + 1) {
background-color: #d3dce6;
}
.parentBox /deep/ {
width: 100%;
border: 1px red solid;
height: 400px;
height: 100%;
margin: 0 auto;
position: relative;
overflow: hidden;
div {
opacity: 0;
text-align: center;
.el-carousel__indicators {
display: none;
}
> img {
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
width: 98%;
height: 98%;
}
> div {
width: 87%;
margin: 0 auto;
}
.el-carousel__item {
background: #ffffff;
box-shadow: -2px 4px 4px 0px rgba(193, 216, 251, 0.35);
border-radius: 10px;
height: 100%;
// border: 1px solid rgba(5, 95, 231, 0.4);
}
.el-carousel__container {
background: #ffffff;
box-shadow: -2px 4px 4px 0px rgba(193, 216, 251, 0.35);
border-radius: 10px;
height: 100%;
border: 1px solid rgba(5, 95, 231, 0.4);
overflow: hidden;
}
.carBtn {
position: absolute;
left: 50%;
transform: translateX(-50%) translateY(0px);
> span {
display: inline-block;
width: 30px;
height: 7px;
background-color: #f2f7fe;
border-radius: 10px;
margin: 0 5px;
cursor: pointer;
}
.active {
background-color: #055fe7;
}
}
.el-carousel__arrow {
display: none;
}
.left {
position: absolute;
width: 30px;
height: 90px;
background-color: #f6f8fa;
left: -30px;
top: 50%;
transform: translateY(-50%);
line-height: 90px;
cursor: pointer;
}
.right {
position: absolute;
width: 30px;
height: 90px;
background-color: #f6f8fa;
right: -30px;
top: 50%;
transform: translateY(-50%);
line-height: 90px;
cursor: pointer;
}
.carItem {
height: 100%;
position: relative;
.youshang {
width: 80px;
height: 30px;
background-color: #f2f7fe;
border-radius: 0 0 0 30px;
position: absolute;
right: 0;
top: 0;
> span {
&:first-of-type {
color: #666666;
}
}
}
.wenzi {
height: 100%;
display: flex;
flex-flow: column nowrap;
justify-content: space-around;
align-items: flex-start;
padding-left: 30px;
p {
span {
display: inline-block;
font-size: 15px;
&:first-of-type {
color: #666666;
width: 90px;
text-align: left;
}
&:last-of-type {
color: #333333;
}
}
}
}
}
}
</style>
</style>
\ No newline at end of file
......@@ -92,7 +92,12 @@
>
<el-table-column type="selection" height width="auto">
</el-table-column>
<el-table-column prop="name" label="用户组" :width="width1">
<el-table-column
prop="name"
label="用户组"
:width="width1"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="roleNames"
......@@ -166,7 +171,7 @@
cursor: pointer;
"
src="../../assets/img/qbryk/bj.png"
@click="openedit(scope.row.id)"
@click="openedit(scope.row)"
/>
</Confirmation>
<Confirmation
......@@ -281,7 +286,7 @@
v-show="isShowEditGroupDialogBg"
@click="canceledit"
></div>
<div class="addUserDialog" v-show="isShowEditGroupDialog">
<div class="addUserDialog dialog" v-show="isShowEditGroupDialog">
<div class="head-title">
<div class="left">编辑用户组</div>
<div class="close" @click="canceledit">
......@@ -327,8 +332,8 @@
</el-form-item>
<el-form-item class="info-item" label="启用状态:" prop="status">
<el-radio-group class="radio-info" v-model="editFormParams.status">
<el-radio :label="1">启用</el-radio>
<el-radio :label="0">停用</el-radio>
<el-radio :label="1" class="qiyong">启用</el-radio>
<el-radio :label="0" class="tingyong">停用</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item class="addbtns">
......@@ -353,7 +358,7 @@
<div class="head-title">
<div class="left">
<img class="title-img" :src="src" alt="" />
{{ title.unitname }}
{{ checkItem.name }}
</div>
<div class="close" @click="cancelrole">
<img src="@/assets/img/manage/close.png" alt="" />
......@@ -368,20 +373,13 @@
</div>
</div>
<div class="default-role-group">
<div class="default-btn">
<span>指纹入库员</span>
<div class="triangle">
<i class="el-icon-close"></i>
</div>
</div>
<div class="default-btn">
<span>综合认定员</span>
<div class="triangle">
<i class="el-icon-close"></i>
</div>
</div>
<div class="default-btn">
<span>高级认定员</span>
<div
class="default-btn"
v-for="item in checkItem.roleNames &&
checkItem.roleNames.split(',')"
:key="item"
>
<span>{{ item }}</span>
<div class="triangle">
<i class="el-icon-close"></i>
</div>
......@@ -392,24 +390,8 @@
添加完成
</div>
<div class="add-role-group">
<div class="default-btn">
<span>指纹入库员</span>
<img src="@/assets/img/jiahao.png" alt="" />
</div>
<div class="default-btn">
<span>综合认定员</span>
<img src="@/assets/img/jiahao.png" alt="" />
</div>
<div class="default-btn">
<span>高级认定员</span>
<img src="@/assets/img/jiahao.png" alt="" />
</div>
<div class="default-btn">
<span>指纹入库员</span>
<img src="@/assets/img/jiahao.png" alt="" />
</div>
<div class="default-btn custom">
<span>综合认定员</span>
<div class="default-btn" v-for="item in userArr" :key="item.id">
<span>{{ item.name }}</span>
<img src="@/assets/img/jiahao.png" alt="" />
</div>
<div class="default-btn custom">
......@@ -651,6 +633,8 @@ export default {
isShowUserDialog: false, // 用户设置 弹窗
isShowRoleDialogBg: false, // 角色设置 背景
isShowRoleDialog: false, // 角色设置 弹窗
checkItem: {}, //选中后的信息
userArr: [], //用户集合
};
},
computed: {
......@@ -668,6 +652,19 @@ export default {
this.selectBoo = false;
this.$refs.multipleTable.clearSelection();
},
searchUser() {
let self = this;
this.$axios
.get("/system/roles")
.then((res) => {
if (res.data !== null) {
self.userArr = res.data;
} else {
this.$message.error("获取角色信息失败!");
}
})
.catch(() => {});
},
clear() {
this.searchParams.page.page = 1; //必填
this.searchParams.page.total = 20; //必填
......@@ -763,7 +760,9 @@ export default {
this.isShowAddUserDialogBg = false;
},
// 打开编辑弹窗
openedit(id) {
openedit(row) {
this.checkItem = row;
let id = row.id;
var usergroup = new URLSearchParams();
usergroup.append("Id", id);
this.$axios
......@@ -800,6 +799,7 @@ export default {
},
// 打开用户设置弹窗
setUser(row) {
this.checkItem = row;
// this.visible.setUserVisible = true;
this.isShowUserDialog = true;
this.isShowUserDialogBg = true;
......@@ -807,6 +807,7 @@ export default {
},
// 打开角色弹窗
setRole(row) {
this.checkItem = row;
// this.visible.setRoleVisible = true;
this.isShowRoleDialog = true;
this.isShowRoleDialogBg = true;
......@@ -906,6 +907,7 @@ export default {
},
mounted() {
this.search();
this.searchUser();
},
watch: {
selectBoo: {
......
......@@ -71,7 +71,7 @@
<div class="table">
<el-table
:height="userWidths.height"
style="width: 100%;"
style="width: 100%"
highlight-current-row
ref="multipleTable"
:key="key1"
......@@ -114,7 +114,7 @@
<div
class="tags"
v-for="item in scope.row.roleNames &&
scope.row.roleNames.split(',')"
scope.row.roleNames.split(',')"
>
{{ item }}
</div>
......@@ -129,18 +129,14 @@
<template slot-scope="scope">
<div
v-for="(item, index) in scope.row.permissionNames &&
scope.row.permissionNames.split(',')"
scope.row.permissionNames.split(',')"
>
{{ index > 0 ? "/" : "" }}
{{ item }}
</div>
</template>
</el-table-column>
<el-table-column
prop="status"
label="启用状态"
:width="userWidths.width1"
>
<el-table-column prop="status" label="启用状态" width="110">
<template slot-scope="scope">
<div v-if="scope.row.status === 0" class="circle-red"></div>
<div v-if="scope.row.status === 1" class="circle-blue"></div>
......@@ -156,7 +152,12 @@
<el-table-column prop="active" label="操作">
<template slot-scope="scope">
<img
style="width: 1.125rem;height: 1.125rem;margin-right: 1.125rem;cursor: pointer"
style="
width: 1.125rem;
height: 1.125rem;
margin-right: 1.125rem;
cursor: pointer;
"
src="../../assets/img/qbryk/bj.png"
@click="userEdit(scope.row.userId, scope.row.roleName)"
/>
......@@ -264,7 +265,7 @@
<div
class="tags"
v-for="item in scope.row.roleNames &&
scope.row.roleNames.split(',')"
scope.row.roleNames.split(',')"
>
{{ item }}
</div>
......@@ -278,7 +279,11 @@
<template slot-scope="scope">
<div class="group-item">
<svg-icon
style="width: 1rem;height: .8125rem;margin-bottom: -0.0625rem;"
style="
width: 1rem;
height: 0.8125rem;
margin-bottom: -0.0625rem;
"
icon-class="group-item"
/>
{{ scope.row.userCount }}
......@@ -290,9 +295,7 @@
</el-table-column>
<el-table-column>
<template slot-scope="scope">
<div class="set-btn" :width="groupWidths.btnwidth">
用户设置
</div>
<div class="set-btn" :width="groupWidths.btnwidth">用户设置</div>
</template>
</el-table-column>
......@@ -305,7 +308,7 @@
<template slot-scope="scope">
<div
v-for="(item, index) in scope.row.permissionNames &&
scope.row.permissionNames.split(',')"
scope.row.permissionNames.split(',')"
>
{{ index > 0 ? "/" : "" }}
{{ item }}
......@@ -333,7 +336,12 @@
<el-table-column prop="active" label="操作">
<template slot-scope="scope">
<img
style="width: 1.125rem;height: 1.125rem;margin-right: 1.125rem;cursor: pointer"
style="
width: 1.125rem;
height: 1.125rem;
margin-right: 1.125rem;
cursor: pointer;
"
src="../../assets/img/qbryk/bj.png"
@click="groupEdit(scope.row.id)"
/>
......@@ -407,7 +415,7 @@ export default {
width2: 100,
width5: 220,
width1: 100,
height: 480
height: 480,
},
// 搜索用户
userSearchParams: {
......@@ -420,18 +428,18 @@ export default {
page: {
total: 20,
count: 0,
page: 1
}
page: 1,
},
},
src: require("@/assets/img/police-badge.png"),
groupTableData: [],
// 用户组列表的表格宽度
groupWidths: {
width3: 110,
width3: 220,
width2: 400,
width1: 200,
height: 480,
btnwidth: 200
btnwidth: 200,
},
// 搜索用户组
groupSearchParams: {
......@@ -445,9 +453,9 @@ export default {
page: {
total: 20,
count: 0,
page: 1
}
}
page: 1,
},
},
};
},
computed: {
......@@ -466,7 +474,7 @@ export default {
this.groupSearchParams.page.count / this.groupSearchParams.page.total
) + 1
);
}
},
},
methods: {
getUser() {
......@@ -508,19 +516,19 @@ export default {
this.searchGroup();
},
// 用户当期页发生变化
userHandleCurrPageChange: function(val) {
userHandleCurrPageChange: function (val) {
this.userSearchParams.page.page = val;
this.searchUser();
},
// 用户每页展示数量发生变化
userHandleSizeChange: function(val) {
userHandleSizeChange: function (val) {
this.userSearchParams.page.total = val;
this.searchUser();
},
// 获取用户信息
searchUser() {
console.info("搜索用户列表");
this.$axios.get("/system/users").then(res => {
this.$axios.get("/system/users").then((res) => {
console.info(res);
this.userTableData = res.data;
});
......@@ -543,24 +551,24 @@ export default {
name: "UserPermission",
params: {
id: id,
rolename: rolename
}
rolename: rolename,
},
});
},
// 用户组当前页发生变化
groupHandleCurrPageChange: function(val) {
groupHandleCurrPageChange: function (val) {
this.groupSearchParams.page.page = val;
this.searchGroup();
},
// 用户组每页展示数量发生变化
groupHandleSizeChange: function(val) {
groupHandleSizeChange: function (val) {
this.groupSearchParams.page.total = val;
this.searchGroup();
},
// 获取用户组信息
searchGroup() {
this.$axios.get("/system/user-groups").then(res => {
this.$axios.get("/system/user-groups").then((res) => {
console.info(res);
this.groupTableData = res.data;
});
......@@ -582,8 +590,8 @@ export default {
this.$router.push({
name: "GroupPermission",
params: {
id: id
}
id: id,
},
});
},
......@@ -606,11 +614,11 @@ export default {
// roleId;/必填
this.$axios
.post("/login/permission/add", permission)
.then(res => {
.then((res) => {
console.log(res);
this.$message.success(res.message);
})
.catch(failResponse => {});
.catch((failResponse) => {});
},
// 删除权限
del() {
......@@ -618,11 +626,11 @@ export default {
permission.append("menuId", "888");
this.$axios
.post("/login/permission/deletePermissionById", permission)
.then(res => {
.then((res) => {
console.log(res);
this.$message.success(res.message);
})
.catch(failResponse => {});
.catch((failResponse) => {});
},
// 编辑权限
edit() {
......@@ -630,10 +638,10 @@ export default {
permission.append("menuId", "777");
this.$axios
.post("/login/permission/querypermissionInfo", permission)
.then(res => {
.then((res) => {
console.log(res);
})
.catch(failResponse => {});
.catch((failResponse) => {});
// menuId;//权限id
// menuname;//菜单名称
// pid;//父级权限id
......@@ -649,10 +657,10 @@ export default {
permission1.append("menuname", "修改菜单名字");
this.$axios
.post("/login/permission/update", permission1)
.then(res => {
.then((res) => {
console.log(res);
})
.catch(failResponse => {});
.catch((failResponse) => {});
},
// 刷新
search() {
......@@ -664,22 +672,27 @@ export default {
permission.append("total", "20"); //必填
this.$axios
.post("/login/permission/querypermissionAll", permission)
.then(res => {
.then((res) => {
console.log(res);
this.$message.success(res.message);
})
.catch(failResponse => {});
}
.catch((failResponse) => {});
},
},
mounted() {
this.isUser = true;
if (this.isUser) {
this.searchUser();
}
}
},
};
</script>
<style lang="css">
.el-tooltip__popper {
font-size: 14px;
max-width: 50%;
}
</style>
<style scoped lang="scss">
@import "scss/permission";
</style>
<template>
<el-container class="manage-page" direction="vertical">
<div class="sider">
<div class="sider" @click="resetEdit('screen')">
<div class="btns">
<div class="add" @click="add">
<div class="add" @click.stop="add">
<svg-icon
style="
width: 0.8125rem;
......@@ -73,6 +73,7 @@
>1</el-checkbox
>
<div
@click.stop="() => {}"
:class="{
'diy-role-item': true,
active: item.id === diyRoleItemIndex,
......@@ -96,8 +97,15 @@
<img
class="img"
:src="editurl"
v-if="!item.edit"
@click.stop="editDiyRoleItem(item)"
/>
<img
class="img"
v-else
src="~@/assets/img/duigou.png"
@click.stop="editName(item)"
/>
</div>
</div>
</div>
......@@ -105,7 +113,7 @@
</div>
</div>
</div>
<div class="main">
<div class="main" @click="resetEdit('screen')">
<div class="header">
<div class="btns">
<div class="btn" :class="{ active: funFlag }" @click="funAuth">
......@@ -300,9 +308,20 @@ export default {
roleMenusSelection: function (val) {
console.info(val);
},
diyRoleItemIndex: {
handler(val, oldval) {
this.oldCurrtId = oldval;
let arr = [...this.diyRoleList, ...this.defaultRoleBtns];
let obj = arr.find((i) => i.id == val);
this.checkItem = JSON.parse(JSON.stringify(obj));
console.log(this.checkItem);
},
},
// checkItem: null
btnType: {
immediate: true,
handler(val) {
handler(val, oldval) {
this.oldBtnType = oldval;
if (val == "default") {
this.disabled = true;
} else {
......@@ -341,6 +360,12 @@ export default {
btnCheckList: [],
//手动新添加的用户集合
customAddUser: [],
//点击后的对象信息
checkItem: null,
//上一次选中的对象id
oldCurrtId: null,
//上一次选中的对象类型
oldBtnType: null,
};
},
methods: {
......@@ -490,9 +515,12 @@ export default {
this.checkList = [];
}
});
let arr = [...this.diyRoleList, ...this.defaultRoleBtns];
let obj = arr.find((i) => i.id == this.diyRoleItemIndex);
this.checkItem = JSON.parse(JSON.stringify(obj));
console.info("角色权限===》", this.defaultRoleBtns);
console.info("角色权限===》", this.diyRoleList);
console.info("选中的角色信息", this.checkItem);
} else {
this.$message.error("获取角色信息失败!");
}
......@@ -529,6 +557,20 @@ export default {
this.$refs.diyRoles.scrollTop = this.$refs.diyRoles.scrollHeight;
}, 20);
},
//查看用户组的信息
viewGroupItem(id) {
let arr = [...this.diyRoleList, ...this.defaultRoleBtns];
let obj = arr.find((i) => i.id == id);
return JSON.parse(JSON.stringify(obj));
},
//修改名
editName(item) {
let edit;
let index = this.diyRoleList.findIndex((i) => i.id == item.id);
if (!item.edit && typeof item.edit != Boolean) edit = false;
edit = !item.edit;
this.$set(this.diyRoleList[index], "edit", edit);
},
// 编辑
edit() {
console.info("编辑数据");
......@@ -567,7 +609,10 @@ export default {
this.viewSelect(item);
},
//重置编辑状态
resetEdit() {
resetEdit(type) {
if (type == "screen") {
}
let newArr = this.diyRoleList.map((i) => {
i.edit = false;
return i;
......
......@@ -106,7 +106,12 @@
</el-table-column>
<el-table-column prop="policeNumber" label="警号" :width="width2">
</el-table-column>
<el-table-column prop="userGroupNames" label="用户组" :width="width3">
<el-table-column
prop="userGroupNames"
label="用户组"
show-overflow-tooltip
:width="width3"
>
</el-table-column>
<el-table-column prop="unitName" label="所属单位" :width="width5">
</el-table-column>
......@@ -121,6 +126,7 @@
class="tags"
v-for="item in scope.row.roleNames &&
scope.row.roleNames.split(',')"
:key="item"
>
{{ item }}
</div>
......@@ -136,6 +142,7 @@
<div
v-for="(item, index) in scope.row.permissionNames &&
scope.row.permissionNames.split(',')"
:key="index"
>
{{ index > 0 ? "/" : "" }}
{{ item }}
......@@ -430,7 +437,7 @@ export default {
if (value === "") {
callback(new Error("请输入用户名!"));
} else {
if (/[\u4e00-\u9fa5]+/g.test(value) || value.length >= 8) {
if (/[\u4e00-\u9fa5]+/g.test(value) || value.length > 8) {
callback(new Error("用户名不可为汉字字符,最长8位!"));
} else {
callback();
......@@ -490,7 +497,7 @@ export default {
if (value === "") {
callback(new Error("请输入密码!"));
} else {
if (value.length >= 8) {
if (value.length > 8) {
callback(new Error("密码长度需在8位数以内!"));
} else {
callback();
......@@ -574,7 +581,7 @@ export default {
{ validator: validateTruename, trigger: "blur", required: true },
], //用户真实姓名
policeNumber: [
{ validator: validatePolicemanid, trigger: "blur", required: true },
{ validator: validatePolicemanid, trigger: "blur", required: false },
], //警号
phoneNumber: [
{ validator: validateTelphone, trigger: "blur", required: true },
......@@ -967,6 +974,12 @@ const data1 = [
},
];
</script>
<style lang="css">
.el-tooltip__popper {
font-size: 14px;
max-width: 50%;
}
</style>
<style scoped lang="scss">
.delSelection /deep/ .el-table-column--selection .cell {
display: none;
......@@ -981,6 +994,7 @@ const data1 = [
.info {
margin-top: 0px !important;
}
@import "scss/user";
@import "./scss/dialog_table";
</style>
......@@ -567,7 +567,7 @@
left: calc(50% - 471.5px);
z-index: 1000;
width: 626px;
height: 440px;
padding-bottom: 20px;
background: #ffffff;
box-shadow: 0px 14px 30px 0px rgba(0, 21, 51, 0.25);
border-radius: 6px;
......@@ -609,7 +609,8 @@
//border: saddlebrown 1px solid;
.default-role-group {
width: 578px;
height: auto;
max-height: 125px;
overflow: auto;
background: #fdfeff;
box-shadow: 1px 0px 3px 0px rgba(5, 95, 231, 0.3), -1px 1px 3px 0px rgba(5, 95, 231, 0.24);
border-radius: 4px;
......@@ -620,6 +621,7 @@
flex-wrap: wrap;
.default-btn {
position: relative;
margin: 5px 0;
width: 160px;
height: 32px;
background: #f6f8fa;
......@@ -660,8 +662,9 @@
margin: 16px 0 16px 0;
}
.add-role-group {
overflow: auto;
width: 578px;
height: 111px;
height: 150px;
background: #f6f8fa;
box-shadow: 1px 0px 3px 0px rgba(5, 95, 231, 0.3), -1px 1px 3px 0px rgba(5, 95, 231, 0.24);
border-radius: 4px;
......
......@@ -102,7 +102,7 @@
? 'btn-active-dc'
: btn.value === '0'
? 'btn-active-cc'
: ''
: '',
]"
>
{{ btn.name }}
......@@ -118,7 +118,7 @@
:class="[
reqParam.contrastCustomSearchReq.queryclasss.includes(btn.value)
? 'btn-active'
: ''
: '',
]"
>
{{ btn.name }}
......@@ -134,7 +134,7 @@
:class="[
reqParam.contrastCustomSearchReq.remoteflags.includes(btn.value)
? 'btn-active'
: ''
: '',
]"
>
{{ btn.name }}
......@@ -158,7 +158,7 @@
:class="[
reqParam.contrastCustomSearchReq.querystates.includes(btn.value)
? 'btn-active'
: ''
: '',
]"
>
{{ btn.name }}
......@@ -456,7 +456,7 @@ export default {
page: {
total: 0,
pageSize: 10,
currPage: 1
currPage: 1,
},
contrastCustomSearchReq: {
barcode: "",
......@@ -468,8 +468,8 @@ export default {
querytypes: [],
querystates: [],
remoteflags: [],
queryclasss: []
}
queryclasss: [],
},
},
list: [],
currentPage: 5,
......@@ -499,7 +499,7 @@ export default {
"queryclass",
"affirmtime",
"requestdatetime",
"userdesc"
"userdesc",
],
defaultTableProps: content,
//标签数组
......@@ -508,20 +508,20 @@ export default {
{ value: "2", name: "正查", type: "querytypes" },
{ value: "1", name: "倒查", type: "querytypes" },
{ value: "0", name: "查重", type: "querytypes" },
{ value: "3", name: "串查", type: "querytypes" }
{ value: "3", name: "串查", type: "querytypes" },
],
queryClassBtns: [
{ value: "1", name: "最高", type: "queryclasss" },
{ value: "2", name: "高", type: "queryclasss" },
{ value: "3", name: "中", type: "queryclasss" },
{ value: "4", name: "低", type: "queryclasss" },
{ value: "5", name: "最低", type: "queryclasss" }
{ value: "5", name: "最低", type: "queryclasss" },
],
remoteFlagBtns: [
{ value: "0", name: "本地查询", type: "remoteflags" },
{ value: "0", name: "远程查询", type: "remoteflags" },
{ value: "0", name: "城市", type: "remoteflags" },
{ value: "0", name: "国家库", type: "remoteflags" }
{ value: "0", name: "国家库", type: "remoteflags" },
],
queryStateBtns: [
{ value: "0", name: "等待比对", type: "querystates" },
......@@ -535,12 +535,12 @@ export default {
{ value: "29", name: "复核出错", type: "querystates" },
{ value: "99", name: "标记删除", type: "querystates" },
{ value: "-1", name: "无效", type: "querystates" },
{ value: "-2", name: "同步特征", type: "querystates" }
{ value: "-2", name: "同步特征", type: "querystates" },
],
expanded: false, // 展开标志
historyDialogVisible: false,
cxyrdWidth1: 200,
height: 450
height: 450,
// cxyrdWidth1: sessionStorage.getItem('cxyrdWidth1'),
// height: sessionStorage.getItem('tableHeight')
};
......@@ -553,7 +553,7 @@ export default {
this.height = (h1 * w2) / w1;
this.cxyrdWidth1 = (this.cxyrdWidth1 * w2) / w1;
content.forEach(item => {
content.forEach((item) => {
// console.log(item);
self.$set(item, "width", (item.width * w2) / w1);
});
......@@ -563,11 +563,11 @@ export default {
// 批量处理
checkedProps(val) {
this.tableProps = this.defaultTableProps.filter(
i => val.indexOf(i.prop) >= 0
(i) => val.indexOf(i.prop) >= 0
);
//挑选被选中的对象
this.key = this.key + 1; //为了保证table 每次都会重渲,这样做体验感更好,如果不为table设置key值的话,用户一旦选中了复选框选项,就是在原来table基础上添加删除每一列,页面就有跳动的感觉,体验感不好
}
},
},
computed: {
// 计算总页数
......@@ -575,7 +575,7 @@ export default {
return (
Math.floor(this.reqParam.page.total / this.reqParam.page.pageSize) + 1
);
}
},
},
methods: {
// 获取认定列表
......@@ -584,7 +584,7 @@ export default {
// console.info("请求===>", this.reqParam.contrastCustomSearchReq);
this.$axios
.post("/api/queryque/standardQid", this.reqParam)
.then(response => {
.then((response) => {
if (response.data.code === 0) {
if (response.data.ret !== null) {
// 请求成功有返回值
......@@ -632,13 +632,13 @@ export default {
// 获取用户信息
getUserInfo(val) {
var userInfo = [];
val.forEach(item => {
val.forEach((item) => {
var user = {};
user.userid = item.userid;
user.userdesc = item.userdesc;
userInfo.push(user);
if (item.children) {
item.children.forEach(ite => {
item.children.forEach((ite) => {
var use = {};
use.userid = ite.userid;
use.userdesc = ite.userdesc;
......@@ -657,7 +657,7 @@ export default {
// 返回arr数组过滤后对结果,结果为一个数组 过滤条件是对象中的value值
// 如果res中没有某个键,就设置这个键为1
return arr.filter(
arr => !res.has(arr.username) && res.set(arr.username, arr.username)
(arr) => !res.has(arr.username) && res.set(arr.username, arr.username)
);
},
// 多条件查询 获取查询条件
......@@ -665,17 +665,17 @@ export default {
let { name, value } = data;
let list = this.reqParam.contrastCustomSearchReq[type];
if (list.includes(value)) {
list = list.filter(item => item !== value);
list = list.filter((item) => item !== value);
this.dynamicTags = this.dynamicTags.filter(
item => item.value !== value
(item) => item.value !== value
);
} else {
//点击优先级先清除优先级的按钮在添加
if (type == "queryclasss") {
this.queryClassBtns.forEach(i => {
let listIndex = list.findIndex(j => j == i.value);
this.queryClassBtns.forEach((i) => {
let listIndex = list.findIndex((j) => j == i.value);
let dynamicTagsIndex = this.dynamicTags.findIndex(
j => j.name == i.name
(j) => j.name == i.name
);
if (listIndex >= 0) list.splice(listIndex, 1);
if (dynamicTagsIndex >= 0)
......@@ -740,12 +740,12 @@ export default {
this.$confirm("是否确定删除已选择的数据?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
type: "warning",
})
.then(() => {
this.$axios
.post("/api/queryque/delete", { qqid: qqid })
.then(response => {
.then((response) => {
if (response.data.code === 0) {
this.$message.success("删除成功");
this.search();
......@@ -757,16 +757,47 @@ export default {
.catch(() => {
this.$message({
type: "info",
message: "已取消删除"
message: "已取消删除",
});
});
},
// 认定
confirm(row) {
// tt 查重 0
let self = this;
let index = row.barcode.indexOf("R");
if (index >= 0) {
this.$axios
.post(`/api/personstore/deletestatus?ysxtAsjxgrybh=${row.barcode}`)
.then((response) => {
if (response.data.code == 0) {
if (response.data.ret.removeflag == 0) {
self.enterInto(row);
} else {
self.$message.error(
"该人员已经删除,删除时间是" + response.data.ret.deleteTime
);
}
}
});
} else {
this.$axios
.post(`/api/casestore/deletestatus?ysxtAsjbh=${row.barcode}`)
.then((response) => {
if (response.data.code == 0) {
if (response.data.ret.deleteflag == 0) {
self.enterInto(row);
} else {
self.$message.error(
"该案件已经删除,删除时间是" + response.data.ret.deleteTime
);
}
}
});
}
},
//进入页面
enterInto(row) {
if (row.querytype === "0") {
console.log(row);
// console.info("查重", row.querytype, row);
if (row.children) {
let routeUrl = this.$router.resolve({
path: "/confirm/TT",
......@@ -774,8 +805,8 @@ export default {
qqid: row.qqid,
qid: row.qid,
barcode: row.barcode,
type: "father"
}
type: "father",
},
});
window.open(routeUrl.href, "_blank");
} else {
......@@ -785,28 +816,25 @@ export default {
qqid: row.qqid,
qid: row.qid,
barcode: row.barcode,
type: "son"
}
type: "son",
},
});
window.open(routeUrl.href, "_blank");
}
} // tl 倒查 1
else if (row.querytype === "1") {
// console.info("倒查", row.querytype);
// this.$router.push({ path: "/confirm/TL", query: { rowData: row } });
// console.log(row);
if (row.children) {
// 父级
let routeUrl = this.$router.resolve({
path: "/confirm/TL",
query: { qid: row.qid, qqid: row.qqid, type: "father" }
query: { qid: row.qid, qqid: row.qqid, type: "father" },
});
window.open(routeUrl.href, "_blank");
} else {
// 子级
let routeUrl = this.$router.resolve({
path: "/confirm/TL",
query: { qid: row.qid, qqid: row.qqid, type: "son" }
query: { qid: row.qid, qqid: row.qqid, type: "son" },
});
window.open(routeUrl.href, "_blank");
}
......@@ -818,13 +846,13 @@ export default {
if (row.children) {
let routeUrl = this.$router.resolve({
path: "/confirm/LT",
query: { qid: row.qid, qqid: row.qqid, type: "father" }
query: { qid: row.qid, qqid: row.qqid, type: "father" },
});
window.open(routeUrl.href, "_blank");
} else {
let routeUrl = this.$router.resolve({
path: "/confirm/LT",
query: { qid: row.qid, qqid: row.qqid, type: "son" }
query: { qid: row.qid, qqid: row.qqid, type: "son" },
});
window.open(routeUrl.href, "_blank");
}
......@@ -837,14 +865,14 @@ export default {
// 获取展开标志
this.expanded = expanded;
// 获取下标
var i = this.list.findIndex(table => table.queryId === row.queryId);
var i = this.list.findIndex((table) => table.queryId === row.queryId);
// var i = this.tableData.findIndex(table => table.id === row.id);
// console.log(i);
if (expanded) {
this.list[i] = {
qid: row.qid,
children: row.children,
queryId: row.queryId
queryId: row.queryId,
};
this.$forceUpdate();
// console.info("展开时row数据", this.list[i]);
......@@ -876,7 +904,7 @@ export default {
affirmtime: row.children[0].affirmtime,
requestdatetime: row.children[0].requestdatetime,
userdesc: row.children[0].userdesc,
queryTypeName: row.children[0].queryTypeName
queryTypeName: row.children[0].queryTypeName,
};
console.log(this.list[i]);
this.$forceUpdate();
......@@ -908,7 +936,7 @@ export default {
this.$message.error("请选择需要复制条码号的数据!");
} else {
console.log(this.selectionData);
self.selectionData.forEach(item => {
self.selectionData.forEach((item) => {
self.barcode.push(item.barcode);
});
this.barcode = this.barcode.join(",");
......@@ -921,7 +949,7 @@ export default {
this.$message({
type: "success",
// message: "复制条码号:" + this.barcode + "成功!"
message: "已复制到剪切板"
message: "已复制到剪切板",
});
}
},
......@@ -936,24 +964,25 @@ export default {
// console.info("选中", this.checkedProps);
},
// 当期页发生变化
handleCurrPageChange: function(val) {
handleCurrPageChange: function (val) {
this.reqParam.page.currPage = val;
this.search();
},
// 每页展示数量发生变化
handleSizeChange: function(val) {
handleSizeChange: function (val) {
this.reqParam.page.pageSize = val;
this.search();
},
// 标签关闭 isTag:是否为标签点击
handleClose(tag) {
let { type, value } = tag;
this.dynamicTags = this.dynamicTags.filter(item => item.value !== value);
this.reqParam.contrastCustomSearchReq[
type
] = this.reqParam.contrastCustomSearchReq[type].filter(
item => item !== value
this.dynamicTags = this.dynamicTags.filter(
(item) => item.value !== value
);
this.reqParam.contrastCustomSearchReq[type] =
this.reqParam.contrastCustomSearchReq[type].filter(
(item) => item !== value
);
this.search();
},
// 标签生成
......@@ -1021,14 +1050,14 @@ export default {
*/
toggleSelection(rows) {
if (rows) {
rows.forEach(row => {
rows.forEach((row) => {
this.$refs.confirmTable.toggleRowSelection(row);
});
} else {
this.$refs.confirmTable.clearSelection();
}
console.log(this.selectionData);
}
},
},
mounted() {
console.log(this.height);
......@@ -1042,7 +1071,7 @@ export default {
// this.height = h1 -h2 -h3
// console.log(this.height);
this.search();
}
},
};
// 用户ID 下拉的数据
const users = [{ username: "张三" }, { username: "李四" }, { username: "赵6" }];
......@@ -1057,14 +1086,14 @@ const content = [
{ colume: "优先级", prop: "queryclass", width: 100 },
{ colume: "认定时间", prop: "affirmtime", width: 200 },
{ colume: "发送时间", prop: "requestdatetime", width: 200 },
{ colume: "用户名", prop: "username", width: 100 }
{ colume: "用户名", prop: "username", width: 100 },
];
const setQueryClass = [
{ queryclass: "1", name: "最高" },
{ queryclass: "2", name: "高" },
{ queryclass: "3", name: "中" },
{ queryclass: "4", name: "低" },
{ queryclass: "5", name: "最低" }
{ queryclass: "5", name: "最低" },
];
</script>
<style scoped lang="scss">
......
......@@ -177,17 +177,17 @@ $phone: var(--phone, #606266); //#ff4242;
}
}
.bz-src-item{
.bz-src-item {
width: 333px;
height: 150px;
.img{
border: 1px #CCCCCC solid;
.img {
border: 1px #cccccc solid;
width: 105px;
height: 150px;
position: relative;
top: -105px;
margin-right: 5px;
.title{
.title {
text-align: center;
position: relative;
bottom: -100px;
......@@ -195,24 +195,25 @@ $phone: var(--phone, #606266); //#ff4242;
width: 104px;
height: 20px;
background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #000000 100%);
color: #FFFFFF;
color: #ffffff;
font-size: 12px;
line-height: 20px;
z-index: 100;
}
}
.item{
.item {
height: 150px;
width: 220px;
font-size: 14px;
.title{
.title {
color: #999999;
height:22px ;
height: 22px;
width: 180px;
height: 22px;
}
.value{
color: #333333; height:22px ;
.value {
color: #333333;
height: 22px;
width: 180px;
height: 22px;
}
......@@ -347,21 +348,29 @@ $phone: var(--phone, #606266); //#ff4242;
}
.finger {
box-sizing: border-box;
border: #001e33 1px solid;
border-radius: 8px;
border: 1px solid #cccccc;
background: #ffffff;
box-shadow: 0px 14px 30px 2px rgba(0, 21, 51, 0.16);
width: calc(50vh - 35px);
height: calc(50vh - 35px);;
height: calc(50vh - 35px);
margin-bottom: 20px;
// .wtx {
// position: absolute;
// width: 75%;
// left: 50%;
// top: 45%;
// transform: translate(-50%, -50%);
// > span {
// display: inline-block;
// margin-top: 20px;
// font-size: 14px;
// color: #cccccc;
// }
//}
}}
position: relative;
.wtx {
position: absolute;
width: 100%;
top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
}
img {
width: 100% !important;
}
span {
font-size: 17px;
}
}
}
.bzActive {
filter: blur(2px);
}
<template>
<div class="tt" v-loading="screenLoading" element-loading-text="拼命加载中">
<div class="header">
<div class="label">查重</div>
<div class="btns">
<div class="bz-btn" @click="Bz">比中</div>
<div class="rd-btn" @click="Rdwc">认定完成</div>
<div v-loading="screenLoading" element-loading-text="拼命加载中">
<div :class="{ bzActive: isShowbzDialogBg, tt: true }">
<div class="header">
<div class="label">查重</div>
<div class="btns">
<div class="bz-btn" @click="Bz">比中</div>
<div class="rd-btn" @click="Rdwc">认定完成</div>
</div>
</div>
</div>
<!-- <Swiper /> -->
<div class="main">
<div class="data">
<!-- 卡片源数据-->
<div class="source-data">
<template v-for="(item, index) in sourcedatas">
<div v-if="sourcedatas.length > 0 && index === activeIndex3">
<div class="source-top">
<div class="barcode">任务号:{{ qid }}</div>
<div class="count">
<img
src="../../assets/img/TT/ttcount.png"
style="
width: 0.875rem;
height: 0.875rem;
margin: 0 0.3125rem 0.1875rem 0;
"
/>已认定:{{ rdcount }}
<!-- />已认定:{{ qid }}条-->
</div>
</div>
<div class="source-bottom">
<div class="source-count">
{{ activeIndex3 + 1 }}/{{ sourcedatas.length }}
</div>
<div class="source">
<!-- 1 认定完成 蓝色-->
<!-- 2 比中 红色-->
<!-- 3 认定+比中-->
<div class="label">查询ID:</div>
<div
class="value"
:class="{
bz:
item.affirmStatus === '2' || item.affirmStatus === '3',
rd: item.affirmStatus === '1'
}"
>
{{ currentQqid }}
</div>
</div>
<div class="source">
<div class="label">源条码号:</div>
<div
class="value"
:class="{
bz:
item.affirmStatus === '2' || item.affirmStatus === '3',
rd: item.affirmStatus === '1'
}"
>
{{ sourcebarcode }}
</div>
</div>
<div class="more">
<div class="last">
<img
v-show="index === 0"
@click="last(index)"
style="cursor: pointer"
src="../../assets/img/TT/last.png"
/>
<img
v-show="index > 0"
style="cursor: pointer"
src="../../assets/img/TT/last-active.png"
@click="last(index)"
/>
</div>
<div class="next">
<div class="main">
<div class="data">
<!-- 卡片源数据-->
<div class="source-data">
<template>
<div v-if="sourcedatas.length">
<div class="source-top">
<div class="barcode">任务号:{{ qid }}</div>
<div class="count">
<img
v-show="index === sourcedatas.length - 1"
style="cursor: pointer"
src="../../assets/img/TT/next.png"
@click="next(index)"
/>
<img
v-show="index < sourcedatas.length - 1"
style="cursor: pointer"
src="../../assets/img/TT/next-active.png"
@click="next(index)"
/>
src="../../assets/img/TT/ttcount.png"
style="
width: 0.875rem;
height: 0.875rem;
margin: 0 0.3125rem 0.1875rem 0;
"
/>已认定:{{ rdcount }}
<!-- />已认定:{{ qid }}条-->
</div>
</div>
<div class="source-bottom">
<Swiper
:carData="sourcedatas"
@prev="last"
@next="next"
@qiehuan="
(index) => {
next(index - 1);
}
"
/>
</div>
</div>
</div>
<!-- 数据加载中 -->
</template>
</div>
<!--指纹 掌纹 人像 按钮组-->
<div class="btns">
<div
class="btn"
:class="{ active: isFinger === true }"
@click="finger"
>
指纹
<!-- 数据加载中 -->
</template>
</div>
<div class="btn" :class="{ active: isPlam === true }" @click="plam">
掌纹
</div>
<div class="btn" :class="{ active: isFace === true }" @click="face">
人像
</div>
<br />
<!--滚动 平面 切换-->
<div v-show="isFinger" class="menu middle">
<!-- <div class="source-data">
<Swiper />
</div> -->
<!--指纹 掌纹 人像 按钮组-->
<div class="btns">
<div
class="menu-item"
:class="{ active: activeIndex === 1 }"
@click="handleSelect(1)"
class="btn"
:class="{ active: isFinger === true }"
@click="finger"
>
滚动
指纹
</div>
<div
class="menu-item"
:class="{ active: activeIndex === 2 }"
@click="handleSelect(2)"
>
平面
<div class="btn" :class="{ active: isPlam === true, hui: true }">
<!-- @click="plam" -->
掌纹
</div>
<div class="btn" :class="{ active: isFace === true, hui: true }">
<!-- @click="face" -->
人像
</div>
<br />
<!--滚动 平面 切换-->
<div v-show="isFinger" class="menu middle">
<div
class="menu-item"
:class="{ active: activeIndex === 1 }"
@click="handleSelect(1)"
>
滚动
</div>
<div
class="menu-item"
:class="{ active: activeIndex === 2 }"
@click="handleSelect(2)"
>
平面
</div>
</div>
</div>
<!-- 目标数据 -->
<div class="dest-data">
<el-table
highlight-current-row
:data="tableData"
ref="singleTable"
class="dest-table"
:height="height"
@current-change="handleCurrentChange"
:row-class-name="tableRowClassName"
>
<el-table-column
label="排名"
type="index"
:width="width1"
></el-table-column>
<el-table-column
prop="score"
label="得分"
:width="width1"
></el-table-column>
<el-table-column
prop="destbarcode"
label="目标条码号"
width="auto"
></el-table-column>
</el-table>
</div>
</div>
<!-- 目标数据 -->
<div class="dest-data">
<el-table
highlight-current-row
:data="tableData"
ref="singleTable"
class="dest-table"
:height="height"
@current-change="handleCurrentChange"
:row-class-name="tableRowClassName"
>
<el-table-column
label="排名"
type="index"
:width="width1"
></el-table-column>
<el-table-column
prop="score"
label="得分"
:width="width1"
></el-table-column>
<el-table-column
prop="destbarcode"
label="目标条码号"
width="auto"
></el-table-column>
</el-table>
</div>
</div>
<div class="imgs middle">
<div v-show="isFinger === true" class="fingers">
<div class="data-label">
<div class="source-label"><br /><br /></div>
<div class="dest-label"><br /><br /><br /></div>
</div>
<!-- 指纹图部分-->
<div class="finger-data">
<!-- 滚动 1-10 右拇始 -->
<div v-if="activeIndex === 1">
<!-- Swiper -->
<div class="swiper-main">
<swiper :options="swiperOption">
<swiper-slide>
<div class="hands">右手</div>
<div class="outside">
<div v-for="(item, index) in sourceFingersRightR">
<div
class="finger-img"
@dblclick="
showDetail(item, index, 'sourceFingersRightR')
"
>
<img
v-if="fingerLoading"
class="img"
src="@/assets/img/fingerprint.gif"
/>
<div class="relative" v-else>
<!-- 有指纹图片 -->
<img
v-if="item.img && screenLoading == false"
:src="'data:image/jpeg;base64,' + item.img"
/>
<div class="imgs middle">
<div v-show="isFinger === true" class="fingers">
<div class="data-label">
<div class="source-label"><br /><br /></div>
<div class="dest-label"><br /><br /><br /></div>
</div>
<!-- 指纹图部分-->
<div class="finger-data">
<!-- 滚动 1-10 右拇始 -->
<div v-if="activeIndex === 1">
<!-- Swiper -->
<div class="swiper-main">
<swiper :options="swiperOption" ref="swiper1">
<swiper-slide>
<div class="hands">右手</div>
<div class="outside">
<div v-for="(item, index) in sourceFingersRightR">
<div
class="finger-img"
@dblclick="
showDetail(item, index, 'sourceFingersRightR')
"
>
<img
v-if="screenLoading == true"
src="@/assets/img/zzjz/zwjz.gif"
v-if="fingerLoading"
class="img"
src="@/assets/img/fingerprint.gif"
/>
<div
v-else-if="!item.img && screenLoading == false"
class="wtx"
>
<img src="@/assets/img/TT/zwtp.png" />
<span>暂无图像</span>
<div class="relative" v-else>
<!-- 有指纹图片 -->
<img
v-if="item.img && screenLoading == false"
:src="'data:image/jpeg;base64,' + item.img"
/>
<img
v-if="screenLoading == true"
src="@/assets/img/zzjz/zwjz.gif"
/>
<div
v-else-if="!item.img && screenLoading == false"
class="wtx"
>
<img src="@/assets/img/TT/zwtp.png" />
<span>暂无图像</span>
</div>
</div>
</div>
<div class="label">{{ item.name }}</div>
</div>
<div class="label">{{ item.name }}</div>
</div>
</div>
<div class="outside">
<div v-for="(item, index) in destFingersRightR">
<div
class="finger-img"
@dblclick="
showDetail(item, index, 'destFingersRightR')
"
>
<img
v-if="fingerLoading"
class="img"
src="@/assets/img/fingerprint.gif"
/>
<div class="relative" v-else>
<!-- 有指纹图片 -->
<img
v-if="item.img && screenLoading == false"
:src="'data:image/jpeg;base64,' + item.img"
/>
<div class="outside">
<div v-for="(item, index) in destFingersRightR">
<div
class="finger-img"
@dblclick="
showDetail(item, index, 'destFingersRightR')
"
>
<img
v-if="screenLoading == true"
src="@/assets/img/zzjz/zwjz.gif"
v-if="fingerLoading"
class="img"
src="@/assets/img/fingerprint.gif"
/>
<div
v-else-if="!item.img && screenLoading == false"
class="wtx"
>
<img src="@/assets/img/TT/zwtp.png" />
<span>暂无图像</span>
<div class="relative" v-else>
<!-- 有指纹图片 -->
<img
v-if="item.img && screenLoading == false"
:src="'data:image/jpeg;base64,' + item.img"
/>
<img
v-if="screenLoading == true"
src="@/assets/img/zzjz/zwjz.gif"
/>
<div
v-else-if="!item.img && screenLoading == false"
class="wtx"
>
<img src="@/assets/img/TT/zwtp.png" />
<span>暂无图像</span>
</div>
</div>
</div>
<div class="label">{{ item.name }}</div>
</div>
<div class="label">{{ item.name }}</div>
</div>
</div>
</swiper-slide>
<swiper-slide>
<div class="hands">左手</div>
<div class="outside">
<!-- 源 左手 滚动 -->
<div v-for="(item, index) in sourceFingersLeftR">
<div
class="finger-img"
@dblclick="
showDetail(item, index, 'sourceFingersLeftR')
"
>
<img
v-if="fingerLoading"
class="img"
src="@/assets/img/fingerprint.gif"
/>
<div class="relative" v-else>
<!-- 有指纹图片 -->
</swiper-slide>
<swiper-slide>
<div class="hands">左手</div>
<div class="outside">
<!-- 源 左手 滚动 -->
<div v-for="(item, index) in sourceFingersLeftR">
<div
class="finger-img"
@dblclick="
showDetail(item, index, 'sourceFingersLeftR')
"
>
<img
v-if="item.img && screenLoading == false"
:src="'data:image/jpeg;base64,' + item.img"
v-if="fingerLoading"
class="img"
src="@/assets/img/fingerprint.gif"
/>
<img
v-if="screenLoading == true"
src="@/assets/img/zzjz/zwjz.gif"
/>
<div
v-else-if="!item.img && screenLoading == false"
class="wtx"
>
<img src="@/assets/img/TT/zwtp.png" />
<span>暂无图像</span>
<div class="relative" v-else>
<!-- 有指纹图片 -->
<img
v-if="item.img && screenLoading == false"
:src="'data:image/jpeg;base64,' + item.img"
/>
<img
v-if="screenLoading == true"
src="@/assets/img/zzjz/zwjz.gif"
/>
<div
v-else-if="!item.img && screenLoading == false"
class="wtx"
>
<img src="@/assets/img/TT/zwtp.png" />
<span>暂无图像</span>
</div>
</div>
</div>
<div class="label">{{ item.name }}</div>
</div>
<div class="label">{{ item.name }}</div>
</div>
</div>
<div class="outside">
<!-- 左手 滚动 目标 -->
<div v-for="(item, index) in destFingersLeftR">
<div
class="finger-img"
@dblclick="
showDetail(item, index, 'destFingersLeftR')
"
>
<img
v-if="fingerLoading"
class="img"
src="@/assets/img/fingerprint.gif"
/>
<div class="relative" v-else>
<!-- 有指纹图片 -->
<img
v-if="item.img && screenLoading == false"
:src="'data:image/jpeg;base64,' + item.img"
/>
<div class="outside">
<!-- 左手 滚动 目标 -->
<div v-for="(item, index) in destFingersLeftR">
<div
class="finger-img"
@dblclick="
showDetail(item, index, 'destFingersLeftR')
"
>
<img
v-if="screenLoading == true"
src="@/assets/img/zzjz/zwjz.gif"
v-if="fingerLoading"
class="img"
src="@/assets/img/fingerprint.gif"
/>
<div
v-else-if="!item.img && screenLoading == false"
class="wtx"
>
<img src="@/assets/img/TT/zwtp.png" />
<span>暂无图像</span>
<div class="relative" v-else>
<!-- 有指纹图片 -->
<img
v-if="item.img && screenLoading == false"
:src="'data:image/jpeg;base64,' + item.img"
/>
<img
v-if="screenLoading == true"
src="@/assets/img/zzjz/zwjz.gif"
/>
<div
v-else-if="!item.img && screenLoading == false"
class="wtx"
>
<img src="@/assets/img/TT/zwtp.png" />
<span>暂无图像</span>
</div>
</div>
</div>
<div class="label">{{ item.name }}</div>
</div>
<div class="label">{{ item.name }}</div>
</div>
</div>
</swiper-slide>
</swiper>
</swiper-slide>
</swiper>
</div>
</div>
</div>
<!-- 平面 11-20 右拇始 -->
<div v-if="activeIndex === 2">
<!-- Swiper -->
<div class="swiper-main">
<swiper :options="swiperOption1">
<swiper-slide>
<div class="hands">右手</div>
<div class="outside">
<div v-for="(item, index) in sourceFingersRightL">
<div
class="finger-img"
@dblclick="
showDetail(item, index, 'sourceFingersRightL')
"
>
<img
v-if="fingerLoading"
class="img"
src="@/assets/img/fingerprint.gif"
/>
<div class="relative" v-else>
<!-- 有指纹图片 -->
<img
v-if="item.img && screenLoading == false"
:src="'data:image/jpeg;base64,' + item.img"
/>
<!-- 平面 11-20 右拇始 -->
<div v-if="activeIndex === 2">
<!-- Swiper -->
<div class="swiper-main">
<swiper :options="swiperOption1" ref="swiper1">
<swiper-slide>
<div class="hands">右手</div>
<div class="outside">
<div v-for="(item, index) in sourceFingersRightL">
<div
class="finger-img"
@dblclick="
showDetail(item, index, 'sourceFingersRightL')
"
>
<img
v-if="screenLoading == true"
src="@/assets/img/zzjz/zwjz.gif"
v-if="fingerLoading"
class="img"
src="@/assets/img/fingerprint.gif"
/>
<div
v-else-if="!item.img && screenLoading == false"
class="wtx"
>
<img src="@/assets/img/TT/zwtp.png" />
<span>暂无图像</span>
<div class="relative" v-else>
<!-- 有指纹图片 -->
<img
v-if="item.img && screenLoading == false"
:src="'data:image/jpeg;base64,' + item.img"
/>
<img
v-if="screenLoading == true"
src="@/assets/img/zzjz/zwjz.gif"
/>
<div
v-else-if="!item.img && screenLoading == false"
class="wtx"
>
<img src="@/assets/img/TT/zwtp.png" />
<span>暂无图像</span>
</div>
</div>
</div>
<div class="label">{{ item.name }}</div>
</div>
<div class="label">{{ item.name }}</div>
</div>
</div>
<div class="outside">
<div v-for="(item, index) in destFingersRightL">
<div
class="finger-img"
@dblclick="
showDetail(item, index, 'destFingersRightL')
"
>
<img
v-if="fingerLoading"
class="img"
src="@/assets/img/fingerprint.gif"
/>
<div class="relative" v-else>
<!-- 有指纹图片 -->
<img
v-if="item.img && screenLoading == false"
:src="'data:image/jpeg;base64,' + item.img"
/>
<div class="outside">
<div v-for="(item, index) in destFingersRightL">
<div
class="finger-img"
@dblclick="
showDetail(item, index, 'destFingersRightL')
"
>
<img
v-if="screenLoading == true"
src="@/assets/img/zzjz/zwjz.gif"
v-if="fingerLoading"
class="img"
src="@/assets/img/fingerprint.gif"
/>
<div
v-else-if="!item.img && screenLoading == false"
class="wtx"
>
<img src="@/assets/img/TT/zwtp.png" />
<span>暂无图像</span>
<div class="relative" v-else>
<!-- 有指纹图片 -->
<img
v-if="item.img && screenLoading == false"
:src="'data:image/jpeg;base64,' + item.img"
/>
<img
v-if="screenLoading == true"
src="@/assets/img/zzjz/zwjz.gif"
/>
<div
v-else-if="!item.img && screenLoading == false"
class="wtx"
>
<img src="@/assets/img/TT/zwtp.png" />
<span>暂无图像</span>
</div>
</div>
</div>
<div class="label">{{ item.name }}</div>
</div>
<div class="label">{{ item.name }}</div>
</div>
</div>
</swiper-slide>
<swiper-slide>
<div class="hands">左手</div>
<div class="outside">
<!-- 源 左手 滚动 -->
<div v-for="(item, index) in sourceFingersLeftL">
<div
class="finger-img"
@dblclick="
showDetail(item, index, 'sourceFingersLeftL')
"
>
<img
v-if="fingerLoading"
class="img"
src="@/assets/img/fingerprint.gif"
/>
<div class="relative" v-else>
<!-- 有指纹图片 -->
</swiper-slide>
<swiper-slide>
<div class="hands">左手</div>
<div class="outside">
<!-- 源 左手 滚动 -->
<div v-for="(item, index) in sourceFingersLeftL">
<div
class="finger-img"
@dblclick="
showDetail(item, index, 'sourceFingersLeftL')
"
>
<img
v-if="item.img && screenLoading == false"
:src="'data:image/jpeg;base64,' + item.img"
v-if="fingerLoading"
class="img"
src="@/assets/img/fingerprint.gif"
/>
<img
v-if="screenLoading == true"
src="@/assets/img/zzjz/zwjz.gif"
/>
<div
v-else-if="!item.img && screenLoading == false"
class="wtx"
>
<img src="@/assets/img/TT/zwtp.png" />
<span>暂无图像</span>
<div class="relative" v-else>
<!-- 有指纹图片 -->
<img
v-if="item.img && screenLoading == false"
:src="'data:image/jpeg;base64,' + item.img"
/>
<img
v-if="screenLoading == true"
src="@/assets/img/zzjz/zwjz.gif"
/>
<div
v-else-if="!item.img && screenLoading == false"
class="wtx"
>
<img src="@/assets/img/TT/zwtp.png" />
<span>暂无图像</span>
</div>
</div>
</div>
<div class="label">{{ item.name }}</div>
</div>
<div class="label">{{ item.name }}</div>
</div>
</div>
<div class="outside">
<!-- 左手 滚动 目标 -->
<div v-for="(item, index) in destFingersLeftL">
<div
class="finger-img"
@dblclick="
showDetail(item, index, 'destFingersLeftL')
"
>
<img
v-if="fingerLoading"
class="img"
src="@/assets/img/fingerprint.gif"
/>
<div class="relative" v-else>
<!-- 有指纹图片 -->
<img
v-if="item.img && screenLoading == false"
:src="'data:image/jpeg;base64,' + item.img"
/>
<div class="outside">
<!-- 左手 滚动 目标 -->
<div v-for="(item, index) in destFingersLeftL">
<div
class="finger-img"
@dblclick="
showDetail(item, index, 'destFingersLeftL')
"
>
<img
v-if="screenLoading == true"
src="@/assets/img/zzjz/zwjz.gif"
v-if="fingerLoading"
class="img"
src="@/assets/img/fingerprint.gif"
/>
<div
v-else-if="!item.img && screenLoading == false"
class="wtx"
>
<img src="@/assets/img/TT/zwtp.png" />
<span>暂无图像</span>
<div class="relative" v-else>
<!-- 有指纹图片 -->
<img
v-if="item.img && screenLoading == false"
:src="'data:image/jpeg;base64,' + item.img"
/>
<img
v-if="screenLoading == true"
src="@/assets/img/zzjz/zwjz.gif"
/>
<div
v-else-if="!item.img && screenLoading == false"
class="wtx"
>
<img src="@/assets/img/TT/zwtp.png" />
<span>暂无图像</span>
</div>
</div>
</div>
<div class="label">{{ item.name }}</div>
</div>
<div class="label">{{ item.name }}</div>
</div>
</div>
</swiper-slide>
</swiper>
</swiper-slide>
</swiper>
</div>
</div>
</div>
</div>
<!-- <t-t-finger-print-->
<!-- style="margin-top: -40px"-->
<!-- v-show="isFinger === true"-->
<!-- ></t-t-finger-print>-->
<t-t-plam v-show="isPlam === true"></t-t-plam>
<t-t-face v-show="isFace === true"></t-t-face>
</div>
</div>
<!-- 认定完成确认框 -->
<div
class="rdwcDialog"
v-show="isShowrdwcDialogBg"
@click="cancelrdwc"
></div>
<div class="rdwccontent" v-show="isShowrdwcDialog">
<div class="title">当前候选未全部查看,是否确认认定完成?</div>
<div class="rdwcbtns">
<button class="rdwcconfirm" @click="confirmrdwc">确认</button>
<button class="rdwccancel" @click="cancelrdwc">取消</button>
</div>
<!-- <t-t-finger-print-->
<!-- style="margin-top: -40px"-->
<!-- v-show="isFinger === true"-->
<!-- ></t-t-finger-print>-->
<t-t-plam v-show="isPlam === true"></t-t-plam>
<t-t-face v-show="isFace === true"></t-t-face>
</div>
<div
class="jiantou"
ref="jiantou"
style="width: 100px; height: 100px"
@click="jiantoudianji"
>
<img
src="@/assets/img/jiantou.gif"
alt=""
width="100px"
height="100px"
/>
</div>
</div>
<!-- 指纹详情 -->
<div class="bzDialog" v-show="isShowDetailBg" @click="cancelDetail"></div>
<div class="detail" v-show="isShowDetail">
<div class="head-title">拇指</div>
<div class="finger">
......@@ -517,6 +499,7 @@
</div>
</div>
</div>
<!-- 比中弹窗 -->
<div class="bzDialog" v-show="isShowbzDialogBg" @click="cancelbz"></div>
<div class="bzcontent" v-show="isShowbzDialog">
......@@ -545,9 +528,9 @@
<div class="title">人员编号:</div>
<div class="value">{{ sourcebarcode }}</div>
<div class="title">姓名:</div>
<div class="value">1</div>
<div class="value">{{ userName }}</div>
<div class="title">捺印日期:</div>
<div class="value">1</div>
<div class="value">{{ dateTime }}</div>
</div>
</div>
<div class="bz-src-item">
......@@ -559,9 +542,9 @@
<div class="title">人员编号:</div>
<div class="value">{{ sourcebarcode }}</div>
<div class="title">姓名:</div>
<div class="value">1</div>
<div class="value">{{ userName }}</div>
<div class="title">捺印日期:</div>
<div class="value">1</div>
<div class="value">{{ dateTime }}</div>
</div>
</div>
</div>
......@@ -619,19 +602,6 @@
</div>
</div>
</div>
<!-- 认定完成确认框 -->
<div
class="rdwcDialog"
v-show="isShowrdwcDialogBg"
@click="cancelrdwc"
></div>
<div class="rdwccontent" v-show="isShowrdwcDialog">
<div class="title">当前候选未全部查看,是否确认认定完成?</div>
<div class="rdwcbtns">
<button class="rdwcconfirm" @click="confirmrdwc">确认</button>
<button class="rdwccancel" @click="cancelrdwc">取消</button>
</div>
</div>
</div>
</template>
......@@ -651,7 +621,7 @@ export default {
TTFace,
swiper,
swiperSlide,
Swiper
Swiper,
},
data() {
return {
......@@ -665,11 +635,11 @@ export default {
// autoplay: true,
speed: 1000,
pagination: {
el: ".swiper-pagination"
el: ".swiper-pagination",
},
scrollbar: {
el: ".swiper-scrollbar"
}
el: ".swiper-scrollbar",
},
},
swiperOption1: {
//swiper3
......@@ -679,11 +649,11 @@ export default {
// autoplay: true,
speed: 1000,
pagination: {
el: ".swiper-pagination"
el: ".swiper-pagination",
},
scrollbar: {
el: ".swiper-scrollbar"
}
el: ".swiper-scrollbar",
},
},
activeIndex3: 0,
dataType: null,
......@@ -716,56 +686,56 @@ export default {
{ name: "食", code: 7, img: null },
{ name: "中", code: 8, img: null },
{ name: "环", code: 9, img: null },
{ name: "小", code: 10, img: null }
{ name: "小", code: 10, img: null },
],
sourceFingersRightR: [
{ name: "拇", code: 1, img: null },
{ name: "食", code: 2, img: null },
{ name: "中", code: 3, img: null },
{ name: "环", code: 4, img: null },
{ name: "小", code: 5, img: null }
{ name: "小", code: 5, img: null },
],
sourceFingersLeftL: [
{ name: "拇", code: 16, img: null },
{ name: "食", code: 17, img: null },
{ name: "中", code: 18, img: null },
{ name: "环", code: 19, img: null },
{ name: "小", code: 20, img: null }
{ name: "小", code: 20, img: null },
],
sourceFingersRightL: [
{ name: "拇", code: 11, img: null },
{ name: "食", code: 12, img: null },
{ name: "中", code: 13, img: null },
{ name: "环", code: 14, img: null },
{ name: "小", code: 15, img: null }
{ name: "小", code: 15, img: null },
],
destFingersLeftR: [
{ name: "拇", code: 6, img: null },
{ name: "食", code: 7, img: null },
{ name: "中", code: 8, img: null },
{ name: "环", code: 9, img: null },
{ name: "小", code: 10, img: null }
{ name: "小", code: 10, img: null },
],
destFingersRightR: [
{ name: "拇", code: 1, img: null },
{ name: "食", code: 2, img: null },
{ name: "中", code: 3, img: null },
{ name: "环", code: 4, img: null },
{ name: "小", code: 5, img: null }
{ name: "小", code: 5, img: null },
],
destFingersLeftL: [
{ name: "拇", code: 16, img: null },
{ name: "食", code: 17, img: null },
{ name: "中", code: 18, img: null },
{ name: "环", code: 19, img: null },
{ name: "小", code: 20, img: null }
{ name: "小", code: 20, img: null },
],
destFingersRightL: [
{ name: "拇", code: 11, img: null },
{ name: "食", code: 12, img: null },
{ name: "中", code: 13, img: null },
{ name: "环", code: 14, img: null },
{ name: "小", code: 15, img: null }
{ name: "小", code: 15, img: null },
],
rdcount: 0, // 认定条数
// 指纹图片加载
......@@ -787,7 +757,10 @@ export default {
colors: 1,
screenLoading: false,
loadingIndex: 0,
timer: null
timer: null,
btnPlace: "top",
userName: "",
dateTime: "",
};
},
created() {
......@@ -830,7 +803,7 @@ export default {
this.screenLoading = false;
}, 200);
}
}
},
},
methods: {
// 滚动平面选择切换
......@@ -844,53 +817,51 @@ export default {
console.info("平面指纹");
}
},
jiantoudianji() {
if (this.btnPlace == "top") {
this.btnPlace = "bottom";
this.$refs.swiper1.swiper.slideNext(1500);
this.$refs.jiantou.style.transform = "rotate(180deg)";
} else {
this.btnPlace = "top";
this.$refs.swiper1.swiper.slidePrev(1500);
this.$refs.jiantou.style.transform = "rotate(0deg)";
}
},
// 获取上一条
last(index) {
if (index > 0) {
let i = index;
this.currentQqid = this.sourcedatas[i - 1].qqid;
this.sourcebarcode = this.sourcedatas[i - 1].barcode;
this.activeIndex3 -= 1;
let i = index;
this.currentQqid = this.sourcedatas[i - 1].qqid;
this.sourcebarcode = this.sourcedatas[i - 1].barcode;
this.fingerLoading = true;
// 指纹图清空
this.clearsource();
this.cleardest();
// 获取源的滚动
this.getSourceRollFingerPrintDetail(this.sourcebarcode);
// 获取源的平面
this.getSourcePlainFingerPrintDetail(this.sourcebarcode);
// 获取候选列表
this.getMatchcandList();
} else {
this.$message.error("已经是第一条数据了");
}
console.info(this.currentQqid);
console.info(this.sourcebarcode);
this.fingerLoading = true;
// 指纹图清空
this.clearsource();
this.cleardest();
// 获取源的滚动
this.getSourceRollFingerPrintDetail(this.sourcebarcode);
// 获取源的平面
this.getSourcePlainFingerPrintDetail(this.sourcebarcode);
// 获取候选列表
this.getMatchcandList();
},
// 获取下一条
next(index) {
if (index < this.sourcedatas.length - 1) {
let i = index;
this.currentQqid = this.sourcedatas[i + 1].qqid;
this.sourcebarcode = this.sourcedatas[i + 1].barcode;
this.activeIndex3 += 1;
let i = index;
this.currentQqid = this.sourcedatas[i + 1].qqid;
this.sourcebarcode = this.sourcedatas[i + 1].barcode;
this.fingerLoading = true;
// 指纹图清空
this.clearsource();
this.cleardest();
// 获取源的滚动
this.getSourceRollFingerPrintDetail(this.sourcebarcode);
// 获取源的平面
this.getSourcePlainFingerPrintDetail(this.sourcebarcode);
// 获取候选列表
this.getMatchcandList();
} else {
this.$message.error("已经是最后一条数据了");
}
console.info(this.currentQqid);
console.info(this.sourcebarcode);
this.fingerLoading = true;
// 指纹图清空
this.clearsource();
this.cleardest();
// 获取源的滚动
this.getSourceRollFingerPrintDetail(this.sourcebarcode);
// 获取源的平面
this.getSourcePlainFingerPrintDetail(this.sourcebarcode);
// 获取候选列表
this.getMatchcandList();
},
// 获取源数据
getSourceList() {
......@@ -902,11 +873,11 @@ export default {
.post(
"/api/queryque/standardAll",
{
contrastCustomSearchReq: { qid: me.qid }
contrastCustomSearchReq: { qid: me.qid },
},
{ loading: false }
)
.then(res => {
.then((res) => {
me.loadingIndex--;
if (res.data.code === 0) {
me.sourcedatas = res.data.ret;
......@@ -938,11 +909,11 @@ export default {
.post(
"/api/queryque/standardAll",
{
contrastCustomSearchReq: { qqid: me.currentQqid }
contrastCustomSearchReq: { qqid: me.currentQqid },
},
{ loading: false }
)
.then(res => {
.then((res) => {
me.loadingIndex--;
if (res.data.code === 0) {
me.sourcedatas = res.data.ret;
......@@ -979,7 +950,7 @@ export default {
"/api/query/matchcand/" + me.currentQqid + "/" + me.sourcebarcode,
{ loading: false }
)
.then(res => {
.then((res) => {
me.loadingIndex--;
if (res.data.code === 0) {
me.tableData = res.data.ret;
......@@ -1001,23 +972,23 @@ export default {
.post(
"/api/org/plainByBarcode/barcode",
{
barcode: this.sourcebarcode
barcode: this.sourcebarcode,
},
{ loading: false }
)
.then(function(response) {
.then(function (response) {
self.loadingIndex--;
if (response.data.code === 0) {
console.info("源plan", response.data.ret);
response.data.ret.forEach((element, index) => {
// 源 左手 平面
self.sourceFingersLeftL.forEach(item => {
self.sourceFingersLeftL.forEach((item) => {
if (item.code === element.seq) {
item.img = element.image;
}
});
// 源 右手 平面
self.sourceFingersRightL.forEach(item => {
self.sourceFingersRightL.forEach((item) => {
if (item.code === element.seq) {
item.img = element.image;
}
......@@ -1030,12 +1001,13 @@ export default {
self.fingerLoading = false;
}
})
.catch(function(error) {
.catch(function (error) {
console.log(error);
});
},
// 获取源滚动指纹图
getSourceRollFingerPrintDetail(barcode, type) {
debugger;
this.loadingIndex++;
let self = this;
// 滚动 源数据
......@@ -1045,19 +1017,19 @@ export default {
{ barcode: barcode },
{ loading: false }
)
.then(function(response) {
.then(function (response) {
self.loadingIndex--;
if (response.data.code === 0) {
console.info("源roll", response.data.ret);
response.data.ret.forEach((element, index) => {
// 源 左手 滚动
self.sourceFingersLeftR.forEach(item => {
self.sourceFingersLeftR.forEach((item) => {
if (item.code === element.seq) {
item.img = element.image;
}
});
// 源 右手 滚动
self.sourceFingersRightR.forEach(item => {
self.sourceFingersRightR.forEach((item) => {
if (item.code === element.seq) {
item.img = element.image;
}
......@@ -1070,7 +1042,7 @@ export default {
self.fingerLoading = false;
}
})
.catch(function(error) {
.catch(function (error) {
console.log(error);
});
},
......@@ -1083,23 +1055,23 @@ export default {
.post(
"/api/org/plainByBarcode/barcode",
{
barcode: this.destbarcode
barcode: this.destbarcode,
},
{ loading: false }
)
.then(function(response) {
.then(function (response) {
self.loadingIndex--;
if (response.data.code === 0) {
console.info("目标plan", response.data.ret);
response.data.ret.forEach((element, index) => {
// 目标 左手 平面
self.destFingersLeftL.forEach(item => {
self.destFingersLeftL.forEach((item) => {
if (item.code === element.seq) {
item.img = element.image;
}
});
// 目标 右手 平面
self.destFingersRightL.forEach(item => {
self.destFingersRightL.forEach((item) => {
if (item.code === element.seq) {
item.img = element.image;
}
......@@ -1112,7 +1084,7 @@ export default {
self.fingerLoading = false;
}
})
.catch(function(error) {
.catch(function (error) {
console.log(error);
});
},
......@@ -1127,19 +1099,19 @@ export default {
{ barcode: this.destbarcode },
{ loading: false }
)
.then(function(response) {
.then(function (response) {
self.loadingIndex--;
if (response.data.code === 0) {
console.info("目标roll", response.data.ret);
response.data.ret.forEach((element, index) => {
// 目标 左手 滚动
self.destFingersLeftR.forEach(item => {
self.destFingersLeftR.forEach((item) => {
if (item.code === element.seq) {
item.img = element.image;
}
});
// 目标 右手 滚动
self.destFingersRightR.forEach(item => {
self.destFingersRightR.forEach((item) => {
if (item.code === element.seq) {
item.img = element.image;
}
......@@ -1149,12 +1121,13 @@ export default {
}
console.log(response);
})
.catch(function(error) {
.catch(function (error) {
console.log(error);
});
},
// 目标数据table的选中事件
handleCurrentChange(val) {
debugger;
this.destbarcode = val.destbarcode;
console.info("destbarcode", this.destbarcode);
this.$bus.emit("ccbarcode", this.destbarcode);
......@@ -1181,41 +1154,56 @@ export default {
this.isShowbzDialog = true;
console.info("比中弹窗");
// 获取用户信息
this.getUserInfo();
// 比中人
// this.userdesc = sessionStorage.getItem("userdesc");
// this.getUserInfo();
this.getUser();
},
// 获取用户信息
getUserInfo(id = 1) {
getUser() {
let self = this;
this.loadingIndex++;
this.$axios({
method: "post",
url: "/api/user/searchByUserid",
url: `/api/personstore/findname?ysxtAsjxgrybh=R430795G000002021100002`,
loading: false,
data: {
id: id
}
}).then(async res => {
self.loadingIndex--;
}).then((res) => {
this.loadingIndex--;
if (res.data.code == 0) {
let data = res.data.ret[0];
console.log("userInfo===>", data);
let dw = await self.$axios({
method: "get",
url: "/api/code/unit/one/" + data.userunit,
loading: false
});
let time = new Date(data.updatetime);
self.bzsj = Utils.timeStampTurnTime2(time);
self.bzr = data.userdesc;
self.dwdm = dw.data.ret.code;
self.bzdw = dw.data.ret.name;
self.bzrsfzh = data.idcard;
self.phone = data.telephone;
let result = res.data.ret;
self.userName = result.xm;
self.dateTime = result.nysj;
}
});
},
// 获取用户信息
// getUserInfo(id = 1) {
// let self = this;
// this.loadingIndex++;
// this.$axios({
// method: "post",
// url: "/api/user/searchByUserid",
// loading: false,
// data: {
// id: id,
// },
// }).then(async (res) => {
// self.loadingIndex--;
// if (res.data.code == 0) {
// let data = res.data.ret[0];
// console.log("userInfo===>", data);
// let dw = await self.$axios({
// method: "get",
// url: "/api/code/unit/one/" + data.userunit,
// loading: false,
// });
// let time = new Date(data.updatetime);
// self.bzsj = Utils.timeStampTurnTime2(time);
// self.bzr = data.userdesc;
// self.dwdm = dw.data.ret.code;
// self.bzdw = dw.data.ret.name;
// self.bzrsfzh = data.idcard;
// self.phone = data.telephone;
// }
// });
// },
/**
* @description: 取消认定完成
* @param {*}
......@@ -1236,7 +1224,7 @@ export default {
{ qqid: this.currentQqid },
{ loading: false }
)
.then(res => {
.then((res) => {
this.loadingIndex--;
console.log(res);
if (!res.data.ret) {
......@@ -1264,11 +1252,11 @@ export default {
destbarcode: self.destbarcode,
qqid: self.currentQqid,
qid: self.qid,
querytype: querytype
querytype: querytype,
},
{ loading: false }
)
.then(response => {
.then((response) => {
this.loadingIndex--;
// 跟新列表数据
self.$bus.emit("updateTTSourceData");
......@@ -1301,6 +1289,7 @@ export default {
cancelbz() {
this.isShowbzDialogBg = false;
this.isShowbzDialog = false;
this.cancelDetail();
},
// 确认比中
confirmbz() {
......@@ -1316,17 +1305,17 @@ export default {
destbarcode: self.destbarcode,
// affirmstatus: "1"
querytype: "0",
qqid: self.currentQqid
qqid: self.currentQqid,
},
{ loading: false }
)
.then(response => {
.then((response) => {
this.loadingIndex--;
// 跟新列表数据
self.$bus.emit("updateTTSourceData");
console.log(response);
})
.catch(err => {
.catch((err) => {
this.$message.error("比中失败!");
});
self.isShowbzDialogBg = false;
......@@ -1338,7 +1327,7 @@ export default {
console.info("指纹详情", index);
console.info(name);
this.isShowDetail = true;
this.isShowDetailBg = true;
this.isShowbzDialogBg = true;
let sourceimg = "";
let destimg = "";
// 源 左手的滚动
......@@ -1375,7 +1364,7 @@ export default {
// 取消详情
cancelDetail() {
this.isShowDetail = false;
this.isShowDetailBg = false;
this.isShowbzDialogBg = false;
},
// 清空源指纹图
clearsource() {
......@@ -1384,28 +1373,28 @@ export default {
{ name: "食", code: 7, img: null },
{ name: "中", code: 8, img: null },
{ name: "环", code: 9, img: null },
{ name: "小", code: 10, img: null }
{ name: "小", code: 10, img: null },
]),
(this.sourceFingersRightR = [
{ name: "拇", code: 1, img: null },
{ name: "食", code: 2, img: null },
{ name: "中", code: 3, img: null },
{ name: "环", code: 4, img: null },
{ name: "小", code: 5, img: null }
{ name: "小", code: 5, img: null },
]),
(this.sourceFingersLeftL = [
{ name: "拇", code: 16, img: null },
{ name: "食", code: 17, img: null },
{ name: "中", code: 18, img: null },
{ name: "环", code: 19, img: null },
{ name: "小", code: 20, img: null }
{ name: "小", code: 20, img: null },
]),
(this.sourceFingersRightL = [
{ name: "拇", code: 11, img: null },
{ name: "食", code: 12, img: null },
{ name: "中", code: 13, img: null },
{ name: "环", code: 14, img: null },
{ name: "小", code: 15, img: null }
{ name: "小", code: 15, img: null },
]);
},
// 清空目标指纹图
......@@ -1415,28 +1404,28 @@ export default {
{ name: "食", code: 7, img: null },
{ name: "中", code: 8, img: null },
{ name: "环", code: 9, img: null },
{ name: "小", code: 10, img: null }
{ name: "小", code: 10, img: null },
]),
(this.destFingersRightR = [
{ name: "拇", code: 1, img: null },
{ name: "食", code: 2, img: null },
{ name: "中", code: 3, img: null },
{ name: "环", code: 4, img: null },
{ name: "小", code: 5, img: null }
{ name: "小", code: 5, img: null },
]),
(this.destFingersLeftL = [
{ name: "拇", code: 16, img: null },
{ name: "食", code: 17, img: null },
{ name: "中", code: 18, img: null },
{ name: "环", code: 19, img: null },
{ name: "小", code: 20, img: null }
{ name: "小", code: 20, img: null },
]),
(this.destFingersRightL = [
{ name: "拇", code: 11, img: null },
{ name: "食", code: 12, img: null },
{ name: "中", code: 13, img: null },
{ name: "环", code: 14, img: null },
{ name: "小", code: 15, img: null }
{ name: "小", code: 15, img: null },
]);
},
scrollFunc(e) {
......@@ -1456,7 +1445,7 @@ export default {
if (this.index >= this.colors) this.index = this.colors - 1;
window.scrollTo({
top: 769 * this.index,
behavior: "smooth"
behavior: "smooth",
});
} else if (e.detail) {
e.detail > 0 && this.index--;
......@@ -1465,19 +1454,35 @@ export default {
if (this.index >= this.colors) this.index = this.colors - 1;
window.scrollTo({
top: 769 * this.index,
behavior: "smooth"
behavior: "smooth",
});
}
}
},
},
mounted() {
setTimeout(() => {
console.log(this.sourcedatas);
}, 2000);
this.finger();
this.$bus.on("ccbarcode", code => {
this.$bus.on("ccbarcode", (code) => {
this.cleardest();
this.getDestRollFingerPrintDetail(code);
this.getDestPlainFingerPrintDetail(code);
});
}
setTimeout(() => {
let self = this;
this.$refs.swiper1.swiper.on("slideChangeTransitionStart", function () {
if (self.$refs.swiper1.swiper.isEnd) {
self.btnPlace = "bottom";
self.$refs.jiantou.style.transform = "rotate(180deg)";
} else {
self.btnPlace = "top";
self.$refs.jiantou.style.transform = "rotate(0deg)";
}
});
}, 200);
},
};
</script>
......@@ -1600,9 +1605,8 @@ div {
}
}
.source-bottom {
width: 315px;
height: 147px;
background: #ffffff;
width: 400px;
height: 120px;
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.06);
border-radius: 6px;
.source-count {
......@@ -1749,7 +1753,7 @@ div {
flex-direction: column;
justify-content: center;
align-items: center;
font-size: 16px;
font-size: 18px;
font-family: MicrosoftYaHei;
color: #055fe7;
line-height: 40px;
......@@ -1764,7 +1768,7 @@ div {
flex-direction: column;
justify-content: center;
align-items: center;
font-size: 16px;
font-size: 18px;
font-family: MicrosoftYaHei;
color: #ff6200;
line-height: 40px;
......@@ -1892,5 +1896,51 @@ div {
::v-deep .swiper-pagination-bullet {
margin: 0 5px;
}
.main .data .btns .hui {
background-color: #ecedf1;
color: #c2c4c7;
border: none;
&:hover {
background-color: #ecedf1 !important;
color: #c2c4c7 !important;
}
}
.jiantou {
position: fixed;
width: 60px !important;
height: 60px !important;
background: #ffffff;
box-shadow: 0px 0px 5px 0px rgba(5, 95, 231, 0.4);
border-radius: 8px;
line-height: 60px;
text-align: center;
right: 30px;
top: 50%;
transform: translateY(-50%);
cursor: pointer;
z-index: 888;
transition: all 1s;
transform: rotate(0deg);
> img {
height: 50px !important;
width: 50px !important;
cursor: pointer;
}
}
.el-carousel__item h3 {
color: #475669;
font-size: 18px;
opacity: 0.75;
line-height: 300px;
margin: 0;
}
.el-carousel__item:nth-child(2n) {
background-color: #99a9bf;
}
.el-carousel__item:nth-child(2n + 1) {
background-color: #d3dce6;
}
@import "./TT.scss";
</style>
/*
* @Author: your name
* @Date: 2021-09-07 09:57:48
* @LastEditTime: 2021-11-15 21:11:13
* @LastEditTime: 2021-11-17 14:02:53
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\vue.config.js
......@@ -92,12 +92,12 @@ module.exports = {
// target: "http://192.168.0.137:8080/", //统一的请求头部每次修改都要重启才会生效 http://39.99.224.27:8006/
// target: "http://172.18.108.2:8099/", // 张 认定
// target: "http://192.168.128.110:8099", // 湖南-张
// target: "http://192.168.128.114:8099", // 湖南-马
target: "http://192.168.128.114:8099", // 湖南-马
// target: "http://192.168.128.116:8099", // 湖南-王
// target: "http://172.18.116.73:8099/", //统一的请求头部每次修改都要重启才会生效 http://39.99.224.27:8006/ ma
// target: "http://127.0.0.1:8099",
// target: "http://47.92.225.109:5602",
target: "http://www.meetfood.cn:2390/", // 湖南-线上
// target: "http://www.meetfood.cn:2390/", // 湖南-线上
ws: true,
changeOrigin: true,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment