Commit f380e6db by 张超军

as

parents a166a83f d88177d9
...@@ -244,16 +244,61 @@ export default [ ...@@ -244,16 +244,61 @@ export default [
component: () => import("@/views/SystemManage/RoleManage.vue") component: () => import("@/views/SystemManage/RoleManage.vue")
}, },
{ {
path: "AuthManage", path: "PermissionManage",
name: "AuthManage", name: "PermissionManage",
hidden: false, hidden: false,
meta: { meta: {
title: "权限管理", title: "权限管理",
auth: "5" auth: "5"
}, },
component: () => import("@/views/SystemManage/AuthManage.vue") component: () =>
import("@/views/SystemManage/PermissionManage.vue"),
children: [
// {
// path: "/UserPermission",
// name: "UserPermission",
// hidden: true,
// meta: {
// title: "编辑用户权限",
// auth: "5"
// },
// component: () =>
// import("@/views/SystemManage/UserPermission.vue")
// },
// {
// path: "/GroupPermission",
// name: "GroupPermission",
// hidden: true,
// meta: {
// title: "编辑用户权限",
// auth: "5"
// },
// component: () =>
// import("@/views/SystemManage/GroupPermission.vue")
// }
]
} }
] ]
},
{
path: "/UserPermission",
name: "UserPermission",
hidden: true,
meta: {
title: "编辑用户权限",
auth: "5"
},
component: () => import("@/views/SystemManage/UserPermission.vue")
},
{
path: "/GroupPermission",
name: "GroupPermission",
hidden: true,
meta: {
title: "编辑用户组权限",
auth: "5"
},
component: () => import("@/views/SystemManage/GroupPermission.vue")
} }
] ]
}, },
......
<template> <template>
<el-dialog <el-dialog
:title="title"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
width="36.375rem" width="36.375rem"
append-to-body append-to-body
......
<template> <template>
<el-dialog <el-dialog
:title="title"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
width="54.6875rem" width="54.6875rem"
append-to-body append-to-body
......
...@@ -306,8 +306,8 @@ ...@@ -306,8 +306,8 @@
<el-radio-group v-model="ruleForm.cxlx.querytype"> <el-radio-group v-model="ruleForm.cxlx.querytype">
<el-radio <el-radio
label="2" label="2"
style="color: #00ccb5" style="color: #00b47a"
class='color_00ccb5' class='color_00b47a'
>正查</el-radio> >正查</el-radio>
<el-radio <el-radio
label="3" label="3"
...@@ -1085,8 +1085,8 @@ export default { ...@@ -1085,8 +1085,8 @@ export default {
/deep/.color_fa9500 .el-radio__input.is-checked + .el-radio__label { /deep/.color_fa9500 .el-radio__input.is-checked + .el-radio__label {
color: #fa9500; color: #fa9500;
} }
/deep/.color_00ccb5 .el-radio__input.is-checked + .el-radio__label { /deep/.color_00b47a .el-radio__input.is-checked + .el-radio__label {
color: #00ccb5; color: #00b47a;
} }
/deep/.color_055fe7 .el-radio__input.is-checked + .el-radio__label { /deep/.color_055fe7 .el-radio__input.is-checked + .el-radio__label {
color: #055fe7; color: #055fe7;
......
...@@ -19,12 +19,15 @@ ...@@ -19,12 +19,15 @@
<el-input <el-input
v-if="type== 'ry'" v-if="type== 'ry'"
v-model="rowData.ysxtAsjxgrybh" v-model="rowData.ysxtAsjxgrybh"
:disabled="true"
></el-input> ></el-input>
<el-input <el-input
v-else v-else
v-model="rowData.ysxtAsjbh" v-model="rowData.ysxtAsjbh"
:disabled="true"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<div style="height:16px"></div>
<el-form-item <el-form-item
label="新数据条码号:" label="新数据条码号:"
prop='barcode' prop='barcode'
...@@ -193,6 +196,7 @@ export default { ...@@ -193,6 +196,7 @@ export default {
right: -4px; right: -4px;
} }
.tip1 { .tip1 {
margin-top: 26px;
height: 22px; height: 22px;
line-height: 22px; line-height: 22px;
font-size: 14px; font-size: 14px;
......
...@@ -19,14 +19,21 @@ ...@@ -19,14 +19,21 @@
label="源条码号:" label="源条码号:"
v-if="this.type == 'ry'" v-if="this.type == 'ry'"
> >
<el-input v-model="rowData.ysxtAsjxgrybh"></el-input> <el-input
v-model="rowData.ysxtAsjxgrybh"
:disabled="true"
></el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
label="源条码号:" label="源条码号:"
v-else v-if="this.type == 'aj'"
> >
<el-input v-model="rowData.ysxtAsjbh"></el-input> <el-input
v-model="rowData.ysxtAsjbh"
:disabled="true"
></el-input>
</el-form-item> </el-form-item>
<div style="height:16px"></div>
<el-form-item <el-form-item
label="修改条码号:" label="修改条码号:"
prop='barcode' prop='barcode'
...@@ -190,6 +197,7 @@ export default { ...@@ -190,6 +197,7 @@ export default {
padding: 0; padding: 0;
} }
.tip1 { .tip1 {
margin-top: 26px;
height: 22px; height: 22px;
line-height: 22px; line-height: 22px;
font-size: 14px; font-size: 14px;
......
...@@ -166,10 +166,16 @@ export default { ...@@ -166,10 +166,16 @@ export default {
for (let i = 0; i < this.rowData.length; i++) { for (let i = 0; i < this.rowData.length; i++) {
let personDo = { let personDo = {
ysxtAsjxgrybh: '', ysxtAsjxgrybh: '',
id: '' id: '',
xbdm: '',
zjhm: '',
xm: '',
} }
personDo.ysxtAsjxgrybh = this.rowData[i].ysxtAsjxgrybh personDo.ysxtAsjxgrybh = this.rowData[i].ysxtAsjxgrybh
personDo.id = this.rowData[i].id personDo.id = this.rowData[i].id
personDo.xbdm = this.rowData[i].xbdm
personDo.zjhm = this.rowData[i].zjhm
personDo.xm = this.rowData[i].xm
newReqParams.personDoList.push(personDo) newReqParams.personDoList.push(personDo)
} }
console.log('关注人员ID', newReqParams); console.log('关注人员ID', newReqParams);
...@@ -184,10 +190,12 @@ export default { ...@@ -184,10 +190,12 @@ export default {
for (let i = 0; i < this.rowData.length; i++) { for (let i = 0; i < this.rowData.length; i++) {
let caseBase = { let caseBase = {
ysxtAsjbh: '', ysxtAsjbh: '',
id: '' id: '',
ajlbdm: ''
} }
caseBase.ysxtAsjbh = this.rowData[i].ysxtAsjbh caseBase.ysxtAsjbh = this.rowData[i].ysxtAsjbh
caseBase.id = this.rowData[i].id caseBase.id = this.rowData[i].id
caseBase.ajlbdm = this.rowData[i].ajlbdm
newReqParams.caseBaseList.push(caseBase) newReqParams.caseBaseList.push(caseBase)
} }
console.log('关注案件ID', newReqParams); console.log('关注案件ID', newReqParams);
......
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
placeholder="请输入案事件编号" placeholder="请输入案事件编号"
maxlength="23" maxlength="23"
show-word-limit show-word-limit
clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -46,6 +47,7 @@ ...@@ -46,6 +47,7 @@
placeholder="请输入现场勘验编号" placeholder="请输入现场勘验编号"
maxlength="23" maxlength="23"
show-word-limit show-word-limit
clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -79,6 +81,7 @@ ...@@ -79,6 +81,7 @@
placeholder="请输入现场物掌指纹卡编号" placeholder="请输入现场物掌指纹卡编号"
maxlength="23" maxlength="23"
show-word-limit show-word-limit
clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -90,6 +93,7 @@ ...@@ -90,6 +93,7 @@
<el-input <el-input
v-model="ruleForm.ssjzrmby" v-model="ruleForm.ssjzrmby"
placeholder="请输入损失价值" placeholder="请输入损失价值"
clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -115,11 +119,11 @@ ...@@ -115,11 +119,11 @@
> >
<el-option <el-option
label="区域一" label="区域一"
value="shanghai" value="1"
></el-option> ></el-option>
<el-option <el-option
label="区域二" label="区域二"
value="beijing" value="2"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -181,8 +185,9 @@ ...@@ -181,8 +185,9 @@
<el-input <el-input
v-model="ruleForm.tqdwGajgjgdm" v-model="ruleForm.tqdwGajgjgdm"
placeholder="请输入提取单位代码" placeholder="请输入提取单位代码"
maxlength="23" maxlength="12"
show-word-limit show-word-limit
clearable
> >
</el-input> </el-input>
</el-form-item> </el-form-item>
...@@ -195,6 +200,7 @@ ...@@ -195,6 +200,7 @@
<el-input <el-input
v-model="ruleForm.tqryXm" v-model="ruleForm.tqryXm"
placeholder="请输入现场物证编号" placeholder="请输入现场物证编号"
clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -224,6 +230,7 @@ ...@@ -224,6 +230,7 @@
placeholder="请输入提取人身份证号" placeholder="请输入提取人身份证号"
maxlength="18" maxlength="18"
show-word-limit show-word-limit
clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -243,6 +250,7 @@ ...@@ -243,6 +250,7 @@
<el-input <el-input
v-model="ruleForm.tqryLxdh" v-model="ruleForm.tqryLxdh"
placeholder="请输入提取人联系电话" placeholder="请输入提取人联系电话"
clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
......
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
placeholder="请输入人员编号" placeholder="请输入人员编号"
maxlength="23" maxlength="23"
show-word-limit show-word-limit
clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -46,6 +47,7 @@ ...@@ -46,6 +47,7 @@
placeholder="请输入警综人员编号" placeholder="请输入警综人员编号"
maxlength="23" maxlength="23"
show-word-limit show-word-limit
clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -62,6 +64,7 @@ ...@@ -62,6 +64,7 @@
placeholder="请输入案事件相关人员编号" placeholder="请输入案事件相关人员编号"
maxlength="23" maxlength="23"
show-word-limit show-word-limit
clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -75,6 +78,7 @@ ...@@ -75,6 +78,7 @@
placeholder="请输入指掌纹卡编号" placeholder="请输入指掌纹卡编号"
maxlength="23" maxlength="23"
show-word-limit show-word-limit
clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -120,8 +124,7 @@ ...@@ -120,8 +124,7 @@
<el-input <el-input
v-model="ruleForm.xm" v-model="ruleForm.xm"
placeholder="请输入姓名" placeholder="请输入姓名"
maxlength="23" clearable
show-word-limit
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -130,8 +133,7 @@ ...@@ -130,8 +133,7 @@
<el-input <el-input
v-model="ruleForm.bmch" v-model="ruleForm.bmch"
placeholder="请输入别名/绰号" placeholder="请输入别名/绰号"
maxlength="23" clearable
show-word-limit
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -247,6 +249,7 @@ ...@@ -247,6 +249,7 @@
placeholder="请输入证件号码" placeholder="请输入证件号码"
maxlength="23" maxlength="23"
show-word-limit show-word-limit
clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -280,6 +283,7 @@ ...@@ -280,6 +283,7 @@
<el-input <el-input
v-model="ruleForm.hjdzDzmc" v-model="ruleForm.hjdzDzmc"
placeholder="请输入户籍地址" placeholder="请输入户籍地址"
clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -313,6 +317,7 @@ ...@@ -313,6 +317,7 @@
<el-input <el-input
v-model="ruleForm.xzzDzmc" v-model="ruleForm.xzzDzmc"
placeholder="请输入现住址" placeholder="请输入现住址"
clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -371,6 +376,7 @@ ...@@ -371,6 +376,7 @@
<el-input <el-input
v-model="ruleForm.nydwGajgmc" v-model="ruleForm.nydwGajgmc"
placeholder="请输入捺印单位名称" placeholder="请输入捺印单位名称"
clearable
> >
</el-input> </el-input>
</el-form-item> </el-form-item>
...@@ -383,6 +389,7 @@ ...@@ -383,6 +389,7 @@
<el-input <el-input
v-model="ruleForm.nyryXm" v-model="ruleForm.nyryXm"
placeholder="请输入现场物证编号" placeholder="请输入现场物证编号"
clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -412,6 +419,7 @@ ...@@ -412,6 +419,7 @@
placeholder="请输入捺印人身份证号" placeholder="请输入捺印人身份证号"
maxlength="18" maxlength="18"
show-word-limit show-word-limit
clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -431,6 +439,7 @@ ...@@ -431,6 +439,7 @@
<el-input <el-input
v-model="ruleForm.nyryLxdh" v-model="ruleForm.nyryLxdh"
placeholder="请输入捺印人联系电话" placeholder="请输入捺印人联系电话"
clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
......
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-10-22 11:36:10 * @Date: 2021-10-22 11:36:10
* @LastEditTime: 2021-11-10 15:51:00 * @LastEditTime: 2021-11-10 18:19:40
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\src\views\Editor\modules\imageEd.vue * @FilePath: \指纹系统\founder_vue\src\views\Editor\modules\imageEd.vue
......
...@@ -105,10 +105,28 @@ ...@@ -105,10 +105,28 @@
</el-header> </el-header>
<el-main class="main"> <el-main class="main">
<div class="contain"> <div class="contain">
<!-- 导航 --> <el-tabs
closable
v-model="routePath"
@tab-click="handleClick"
@tab-remove="tabRemove"
>
<el-tab-pane
label="活体指纹采集"
name="/Home/htzwcj"
></el-tab-pane>
<el-tab-pane
:label="item.name"
:name="item.path"
v-for="(item, i) in paths"
:key="i"
:class="{ active: $route.path == item.path }"
></el-tab-pane>
</el-tabs>
<div class="breadcrumb"> <div class="breadcrumb">
<div <!-- <div
@click="goManager" @click="goManager"
ref="path"
class="home-path path" class="home-path path"
:class="{ active: $route.path == '/Home/htzwcj' }" :class="{ active: $route.path == '/Home/htzwcj' }"
> >
...@@ -116,6 +134,7 @@ ...@@ -116,6 +134,7 @@
</div> </div>
<div <div
class="path" class="path"
ref="path"
@click="changeRouter(item)" @click="changeRouter(item)"
v-for="(item, i) in paths" v-for="(item, i) in paths"
:key="i" :key="i"
...@@ -125,7 +144,7 @@ ...@@ -125,7 +144,7 @@
<div class="closeIcon" @click.stop="closePaths(item.name)"> <div class="closeIcon" @click.stop="closePaths(item.name)">
× ×
</div> </div>
</div> </div> -->
</div> </div>
<!-- 路由出口 --> <!-- 路由出口 -->
<router-view></router-view> <router-view></router-view>
...@@ -160,6 +179,7 @@ export default { ...@@ -160,6 +179,7 @@ export default {
paths: [], paths: [],
menuActive: "", menuActive: "",
isHoverLogout: false, isHoverLogout: false,
routePath: "",
}; };
}, },
mounted() { mounted() {
...@@ -210,6 +230,32 @@ export default { ...@@ -210,6 +230,32 @@ export default {
this.searchTxt = ""; this.searchTxt = "";
console.log(this.searchTxt); console.log(this.searchTxt);
}, },
handleClick({ name }) {
if (name == "/Home/htzwcj") {
this.$router.push(name);
this.menuActive = "";
} else {
this.$router.push(name);
let routerObj = this.paths.find((i) => i.path == name);
this.menuActive = routerObj.routeName;
}
},
tabRemove(name) {
let routerObj = this.paths.find((i) => i.path == name);
if (routerObj) {
let pathName = routerObj.name;
let res = this.paths.filter((item) => {
return item.name != pathName;
});
this.paths = res;
console.log(pathName == this.$route.meta.title);
if (pathName == this.$route.meta.title) {
this.$router.push("/Home/htzwcj");
this.$refs.menu.activeIndex = "";
}
}
sessionStorage.setItem("crumbs", JSON.stringify(this.paths));
},
/** /**
* @description: 调回任务管理 * @description: 调回任务管理
* @param {*} * @param {*}
...@@ -271,6 +317,7 @@ export default { ...@@ -271,6 +317,7 @@ export default {
watch: { watch: {
$route: { $route: {
handler(newValue, oldValue) { handler(newValue, oldValue) {
this.routePath = newValue.path;
setTimeout(() => { setTimeout(() => {
console.log(1); console.log(1);
if (newValue.path != "/Home/htzwcj") { if (newValue.path != "/Home/htzwcj") {
...@@ -299,8 +346,13 @@ export default { ...@@ -299,8 +346,13 @@ export default {
immediate: true, immediate: true,
}, },
}, },
mounted() {
console.log(this.$refs.path);
},
created() { created() {
this.paths = sessionStorage.getItem("crumbs") ? JSON.parse(sessionStorage.getItem("crumbs")) : []; this.paths = sessionStorage.getItem("crumbs")
? JSON.parse(sessionStorage.getItem("crumbs"))
: [];
}, },
}; };
</script> </script>
...@@ -435,7 +487,44 @@ export default { ...@@ -435,7 +487,44 @@ export default {
.aside .minLogo { .aside .minLogo {
background-size: 36px auto; background-size: 36px auto;
} }
.el-tabs /deep/ {
.el-tabs__header {
margin: 0;
margin-top: 8px;
}
.is-active {
color: #0077ff;
border-bottom: 2px solid #006aff;
}
.el-tabs__active-bar {
background-color: #006aff;
display: none;
}
.el-tabs__item {
position: relative;
padding-right: 35px !important;
padding-left: 35px !important;
&:not(:nth-of-type(2)) {
&:hover {
.el-icon-close {
display: inline-block;
}
}
}
.el-icon-close {
&::before{
transform: scale(1.1)
}
display: none;
position: absolute;
top: 0;
right: 0;
}
&:hover {
color: #0077ff;
}
}
}
.header { .header {
height: 64px; height: 64px;
background: #ffffff; background: #ffffff;
...@@ -559,7 +648,16 @@ export default { ...@@ -559,7 +648,16 @@ export default {
background: #ffffff; background: #ffffff;
border-radius: 8px; border-radius: 8px;
overflow: hidden; overflow: hidden;
.scrollbar {
width: 100%;
position: relative;
height: 47px;
overflow: hidden;
}
.breadcrumb { .breadcrumb {
position: absolute;
left: 0;
top: 0;
display: flex; display: flex;
height: 47px; height: 47px;
border-bottom: 1px solid #eeeeee; border-bottom: 1px solid #eeeeee;
...@@ -571,6 +669,7 @@ export default { ...@@ -571,6 +669,7 @@ export default {
padding: 11px 24px; padding: 11px 24px;
font-size: 14px; font-size: 14px;
font-family: MicrosoftYaHei; font-family: MicrosoftYaHei;
flex-shrink: 0;
color: #666666; color: #666666;
&:hover { &:hover {
.closeIcon { .closeIcon {
......
<template>
<el-container class="manage-page" direction="vertical">
<!--权限管理-->
<dvi class="header">
<div class="btns">
<div class="btn" :class="{ active: isUser }" @click="getUser">
用户列表
</div>
<div class="btn" :class="{ active: isGroup }" @click="getGroup">
用户组列表
</div>
<el-button @click="add">add</el-button>
<el-button @click="edit">edit</el-button>
<el-button @click="del">del</el-button>
<el-button @click="search">search</el-button>
</div> </dvi
><br />
<div class="search">
<div class="search-item">
<div class="label">用户组:</div>
<div class="input">请输入并选择</div>
</div>
<div class="search-item">
<div class="label">用户名:</div>
<div class="input">请输入并选择</div>
</div>
<div class="search-item">
<div class="label">姓名:</div>
<div class="input">请输入并选择</div>
</div>
<div class="search-item">
<div class="label">用户所属单位代码:</div>
<div class="input">请输入并选择</div>
</div>
<div class="search-item">
<div class="label">组角色:</div>
<div class="input">请输入并选择</div>
</div>
<div class="btns">
<div class="btn-clear">清空</div>
<div class="btn-search">筛选用户组</div>
</div>
</div>
<div class="main">
<div v-if="isUser" class="user">
<el-table
height="720"
highlight-current-row
ref="userMultipleTable"
:data="userTableData"
class="table"
@selection-change="userHandleSelectionChange"
>
<el-table-column prop="date" label="用户名"> </el-table-column>
<el-table-column prop="name" label="姓名"> </el-table-column>
<el-table-column prop="address" label="警号"> </el-table-column
><el-table-column prop="date" label="用户组"> </el-table-column>
<el-table-column prop="name" label="所属单位"> </el-table-column>
<el-table-column prop="address" label="角色"> </el-table-column
><el-table-column prop="date" label="权限"> </el-table-column>
<el-table-column prop="name" label="启用状态"> </el-table-column>
<el-table-column prop="address" label="操作"></el-table-column>
</el-table>
</div>
<div v-if="isGroup" class="group">
<el-table
height="720"
highlight-current-row
ref="groupMultipleTable"
:data="groupTableData"
class="table"
@selection-change="groupHandleSelectionChange"
>
<el-table-column prop="date" label="用户组"> </el-table-column>
<el-table-column prop="name" label="组角色"> </el-table-column>
<el-table-column prop="address" label="组成员"> </el-table-column>
<el-table-column prop="date" label="启用状态"> </el-table-column>
<el-table-column prop="address" label="操作"></el-table-column>
</el-table>
</div>
</div>
<div class="footer">
<span class="count"
>{{ reqParam.page.total }} 条记录 第{{ reqParam.page.currPage }}/{{
Tpage
}}</span
>
<div class="page">
<el-pagination
class="paging"
background
@size-change="handleSizeChange"
@current-change="handleCurrPageChange"
:current-page="reqParam.page.currPage"
:page-sizes="[10, 20, 50, 100]"
:page-size="reqParam.page.pageSize"
layout="prev, pager, next"
:total="reqParam.page.total"
>
</el-pagination>
</div>
</div>
</el-container>
</template>
<script>
export default {
name: "AuthManage",
data() {
return {
reqParam: {
userdesc: "",
page: {
total: 0,
pageSize: 10,
currPage: 1
}
},
isUser: false,
isGroup: false,
userTableData: [],
groupTableData: [],
// 选中user的数据
userMultipleSelection: [],
// 选中group的数据
groupMultipleSelection: []
};
},
computed: {
// 计算总页数
Tpage() {
return (
Math.floor(this.reqParam.page.total / this.reqParam.page.pageSize) + 1
);
}
},
methods: {
getUser() {
this.isUser = true;
this.isGroup = false;
},
getGroup() {
this.isUser = false;
this.isGroup = true;
},
// 选择数据
userHandleSelectionChange(val) {
this.userMultipleSelection = val;
console.info("选择的数据", this.userMultipleSelection);
if (this.userMultipleSelection.length) {
this.isShowTip = true;
} else {
this.isShowTip = false;
}
},
// 选择数据
groupHandleSelectionChange(val) {
this.groupMultipleSelection = val;
console.info("选择的数据", this.groupMultipleSelection);
if (this.groupMultipleSelection.length) {
this.isShowTip = true;
} else {
this.isShowTip = false;
}
},
// 当期页发生变化
handleCurrPageChange: function(val) {
this.reqParam.page.currPage = val;
// this.search();
},
// 每页展示数量发生变化
handleSizeChange: function(val) {
this.reqParam.page.pageSize = val;
// this.search();
},
add() {
var permission = new URLSearchParams();
permission.append("menuname", "菜单30");
permission.append("pid", "3");
permission.append("zindex", "4");
// permission.append("roleId", "30");
// menuname; //菜单名称
// pid;//父级权限id
// permission;//资源权限字符串
// url;//资源 url
// description;//描述
// type;//权限类型
// zindex;//菜单排序
// flag;//是否生成菜单,0:默认不生成菜单,1:生成菜单
// status;//权限状态(01:显示,02:加锁,03:隐藏)
// roleId;/必填
this.$axios
.post("/login/permission/add", permission)
.then(res => {
console.log(res);
this.$message.success(res.message);
})
.catch(failResponse => {});
},
del() {
var permission = new URLSearchParams();
permission.append("menuId", "888");
this.$axios
.post("/login/permission/deletePermissionById", permission)
.then(res => {
console.log(res);
this.$message.success(res.message);
})
.catch(failResponse => {});
},
edit() {
var permission = new URLSearchParams();
permission.append("menuId", "777");
this.$axios
.post("/login/permission/querypermissionInfo", permission)
.then(res => {
console.log(res);
})
.catch(failResponse => {});
// menuId;//权限id
// menuname;//菜单名称
// pid;//父级权限id
// permission;//资源权限字符串
// url;//资源 url
// description;//描述
// type;//权限类型
// zindex;//菜单排序
// status;//权限状态(01:显示,02:加锁,03:隐藏)
var permission1 = new URLSearchParams();
permission1.append("menuId", "777");
permission1.append("menuname", "修改菜单名字");
this.$axios
.post("/login/permission/update", permission1)
.then(res => {
console.log(res);
})
.catch(failResponse => {});
},
search() {
var permission = new URLSearchParams();
// permission.append("menuId", "要删除的权限id");
// menuname,pid,
// userId(非admin用户,必填)
permission.append("page", "1"); //必填
permission.append("total", "20"); //必填
this.$axios
.post("/login/permission/querypermissionAll", permission)
.then(res => {
console.log(res);
this.$message.success(res.message);
})
.catch(failResponse => {});
}
},
mounted() {
this.isUser = true;
}
};
</script>
<style scoped lang="scss">
@import "scss/auth.scss";
</style>
...@@ -6,19 +6,6 @@ ...@@ -6,19 +6,6 @@
<div class="search"> <div class="search">
<div class="search-item"> <div class="search-item">
<div class="label">用户组:</div> <div class="label">用户组:</div>
<!-- <el-select-->
<!-- v-model="searchParams.groupname"-->
<!-- class="search-info"-->
<!-- placeholder="请输入并选择"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in options"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- >-->
<!-- </el-option>-->
<!-- </el-select>-->
<el-input <el-input
v-model="searchParams.groupname" v-model="searchParams.groupname"
class="search-info" class="search-info"
...@@ -43,12 +30,6 @@ ...@@ -43,12 +30,6 @@
</div> </div>
<div class="search-item"> <div class="search-item">
<div class="label">用户所属单位名称:</div> <div class="label">用户所属单位名称:</div>
<!-- <el-select-->
<!-- v-model="searchParams.unitcode"-->
<!-- class="search-info"-->
<!-- placeholder="请输入并选择"-->
<!-- >-->
<!-- </el-select>-->
<el-input <el-input
v-model="searchParams.unitcode" v-model="searchParams.unitcode"
class="search-info" class="search-info"
...@@ -57,12 +38,6 @@ ...@@ -57,12 +38,6 @@
</div> </div>
<div class="search-item"> <div class="search-item">
<div class="label">组角色:</div> <div class="label">组角色:</div>
<!-- <el-select-->
<!-- v-model="searchParams.roleId"-->
<!-- class="search-info"-->
<!-- placeholder="请输入并选择"-->
<!-- >-->
<!-- </el-select>-->
<el-input <el-input
v-model="searchParams.rolename" v-model="searchParams.rolename"
class="search-info" class="search-info"
...@@ -73,6 +48,7 @@ ...@@ -73,6 +48,7 @@
</div> </div>
<div class="operation"> <div class="operation">
<div class="btn1" @click="batch">批量操作</div> <div class="btn1" @click="batch">批量操作</div>
<div @click="addgroup" class="clear-btn">addgroup</div>
<div class="btns"> <div class="btns">
<div class="btn1" @click="delMore()">删除</div> <div class="btn1" @click="delMore()">删除</div>
<div class="add" @click="open"> <div class="add" @click="open">
...@@ -618,6 +594,18 @@ export default { ...@@ -618,6 +594,18 @@ export default {
} }
}, },
methods: { methods: {
addgroup() {
var group = {
userId: 39898889,
status: -17476821,
describe: "sit laborum Excepteur officia",
name: "ullamco esse",
roleId: -70041648
};
this.$axios.post("/system/user-groups", group).then(res => {
console.info(res);
});
},
clear() { clear() {
this.searchParams.page.page = 1; //必填 this.searchParams.page.page = 1; //必填
this.searchParams.page.total = 20; //必填 this.searchParams.page.total = 20; //必填
......
<template>
<el-container class="manage-page" direction="vertical">
<!-- 0停用 1启用-->
<div class="header" :class="{ down: status === '0', up: status === '1' }">
<div class="title" :class="{ down: status === '0', up: status === '1' }">
<div class="title-status">
<div v-if="status === '0'" class="circle-red"></div>
<div v-if="status === '1'" class="circle-blue"></div>
{{ status === "0" ? "停用" : status === "1" ? "启用" : "无状态" }}
</div>
</div>
<div class="info">
<div class="info-item">
<div class="info-title">用户组:</div>
<div class="info-value">{{ groupData.groupname }}</div>
</div>
<div class="info-item">
<div class="info-title">组角色:</div>
<!-- 有角色 角色长度<5-->
<div v-if="groupData.rolename !== ''" class="info-value">
<div
class="tags"
v-for="item in groupData.rolename &&
groupData.rolename.split(',')"
>
{{ item }}
</div>
</div>
<!-- 无角色-->
<div v-else-if="groupData.rolename === ''" class="info-value">
无角色
</div>
</div>
<div class="info-item1">
<div class="info-title">组用户:</div>
<div class="info-value">
<svg-icon
style="width: 1rem;height: .8125rem;margin-bottom: -0.0625rem;"
icon-class="group-item"
/>
{{ groupData.username.split(",").length }}
</div>
<div class="btn">用户设置</div>
</div>
</div>
</div>
<div class="main">
<div class="header">
<div class="btns">
<div class="btn" :class="{ active: funFlag }" @click="funAuth">
功能权限
</div>
<div class="btn" :class="{ active: dataFlag }" @click="dataAuth">
数据权限
</div>
</div>
<div class="save">
<div class="btn" @click="save">保存</div>
<!-- <el-button @click="add">add</el-button>-->
<!-- <el-button @click="edit">edit</el-button>-->
<!-- <el-button @click="del">del</el-button>-->
<!-- <el-button @click="search">search</el-button>-->
</div>
</div>
<div class="role-info">
<!-- 角色权限菜单列-->
<div class="menus">
<div class="div3">
<el-checkbox v-model="roleMenus[0].flag">
{{ roleMenus[0].name }}
</el-checkbox>
<el-checkbox v-model="roleMenus[1].flag">
{{ roleMenus[1].name }}
</el-checkbox>
<el-checkbox v-model="roleMenus[2].flag">
{{ roleMenus[2].name }}
</el-checkbox>
</div>
<div class="div3">
<el-checkbox v-model="roleMenus[3].flag">
{{ roleMenus[3].name }}
</el-checkbox>
</div>
<div class="div1">
<el-checkbox v-model="roleMenus[4].flag">
{{ roleMenus[4].name }}
</el-checkbox>
</div>
<div class="div1">
<el-checkbox v-model="roleMenus[5].flag">
{{ roleMenus[5].name }}
</el-checkbox>
</div>
<div class="div1">
<el-checkbox v-model="roleMenus[6].flag">
{{ roleMenus[6].name }}
</el-checkbox>
</div>
<div class="div2">
<el-checkbox v-model="roleMenus[7].flag">
{{ roleMenus[7].name }}
</el-checkbox>
</div>
<div class="div3">
<el-checkbox v-model="roleMenus[8].flag">
{{ roleMenus[8].name }}
</el-checkbox>
</div>
</div>
<div class="content">
<div class="div3">
<div
class="line"
v-for="item in printCollectMenus"
:key="item.code"
>
<el-checkbox v-model="item.flag"> {{ item.name }}</el-checkbox>
</div>
<br />
<div class="line" v-for="item in printInputMenus" :key="item.code">
<el-checkbox v-model="item.flag"> {{ item.name }}</el-checkbox>
</div>
<br />
<div
class="line"
v-for="item in fileInformationInputMenus"
:key="item.code"
>
<el-checkbox v-model="item.flag"> {{ item.name }}</el-checkbox>
</div>
</div>
<div class="div3">
<div
class="line"
v-for="item in comprehensiveMenus"
:key="item.code"
>
<el-checkbox v-model="item.flag"> {{ item.name }}</el-checkbox>
</div>
</div>
<div class="div1">
<div class="line" v-for="item in seniorMenus" :key="item.code">
<el-checkbox v-model="item.flag"> {{ item.name }}</el-checkbox>
</div>
</div>
<div class="div1">
<div
class="line"
v-for="item in qualityTestingMenus"
:key="item.code"
>
<el-checkbox v-model="item.flag"> {{ item.name }}</el-checkbox>
</div>
</div>
<div class="div1">
<div
class="line"
v-for="item in seniorQualityTestingMenus"
:key="item.code"
>
<el-checkbox v-model="item.flag"> {{ item.name }}</el-checkbox>
</div>
</div>
<div class="div2">
<div
class="line"
v-for="item in informationManageMenus"
:key="item.code"
>
<el-checkbox v-model="item.flag"> {{ item.name }}</el-checkbox>
</div>
</div>
<div class="div3">
<div
class="line"
v-for="item in seniorManageMenus"
:key="item.code"
>
<el-checkbox v-model="item.flag"> {{ item.name }}</el-checkbox>
</div>
</div>
<!-- <div class="line" v-for="item in " :key="item.code"></div>-->
</div>
</div>
</div>
</el-container>
</template>
<script>
import "@/icons/group-item.svg";
export default {
name: "GroupPermission",
data() {
return {
id: "",
rolename: "",
status: "-1",
groupData: {},
funFlag: false,
dataFlag: false,
// 角色按钮
defaultRoleBtns: [
{ name: "指纹入库员", value: 1, flag: false },
{ name: "综合认定员", value: 2, flag: false },
{ name: "高级认定员", value: 3, flag: false },
{ name: "质量检查员", value: 4, flag: false },
{ name: "高级质量检查", value: 5, flag: false },
{ name: "一般管理员", value: 6, flag: false },
{ name: "超级管理员", value: 7, flag: false }
],
// 角色权限菜单
roleMenus: [
{ name: "指掌纹采集", code: 0, flag: false },
{ name: "指掌纹录入", code: 1, flag: false },
{ name: "档案信息录入", code: 2, flag: false },
{ name: "综合认定", code: 3, flag: false },
{ name: "高级认定", code: 4, flag: false },
{ name: "质量检查", code: 5, flag: false },
{ name: "高级质量检查", code: 6, flag: false },
{ name: "信息管理", code: 7, flag: false },
{ name: "高级管理", code: 8, flag: false }
],
// 指掌纹采集菜单
printCollectMenus: [
{ name: "指掌纹采集", code: 0, flag: false },
{ name: "非违法人员指纹采集", code: 1, flag: false }
],
// 指掌纹录入菜单
printInputMenus: [
{ name: "图片导入", code: 0, flag: false },
{ name: "FPTX数据导入", code: 1, flag: false },
{ name: "人员指纹扫描", code: 2, flag: false },
{ name: "案件指纹扫描", code: 3, flag: false },
{ name: "笔录指纹", code: 4, flag: false }
],
// 档案信息录入菜单
fileInformationInputMenus: [
{ name: "人员文字信息录入", code: 0, flag: false },
{ name: "案件文字信息录入", code: 1, flag: false }
],
// 综合认定
comprehensiveMenus: [
{ name: "发查询", code: 0, flag: false },
{ name: "比中认定-隐藏条码号", code: 1, flag: false },
{ name: "比中信息反馈", code: 2, flag: false },
{ name: "比中信息管理", code: 3, flag: false },
{ name: "破案信息管理", code: 4, flag: false },
{ name: "导入比中认定", code: 5, flag: false },
{ name: "填写比中抓获", code: 6, flag: false },
{ name: "人员信息新增修改", code: 7, flag: false },
{ name: "比中信息反馈", code: 8, flag: false },
{ name: "关注人员", code: 9, flag: false },
{ name: "关注条件", code: 10, flag: false },
{ name: "协查信息上报", code: 11, flag: false },
{ name: "提取现勘信息", code: 12, flag: false },
{ name: "人员指纹编辑", code: 13, flag: false },
{ name: "案件指纹编辑", code: 14, flag: false },
{ name: "文字信息修改", code: 15, flag: false },
{ name: "二次打印", code: 16, flag: false },
{ name: "比中信息撤销", code: 17, flag: false }
],
// 高级认定
seniorMenus: [
{ name: "比中认定-显示条码号", code: 1, flag: false },
{ name: "高级案件编辑", code: 2, flag: false },
{ name: "人案控制条码规则", code: 3, flag: false },
{ name: "基本/比中数据上报", code: 4, flag: false },
{ name: "全用户认定权限", code: 5, flag: false }
],
// 质量检查
qualityTestingMenus: [
{ name: "比中信息复核", code: 1, flag: false },
{ name: "协查信息复核", code: 2, flag: false },
{ name: "人案控制条码规则", code: 3, flag: false }
],
// 高级质量检查
seniorQualityTestingMenus: [
{ name: "比中信息复核", code: 1, flag: false },
{ name: "协查信息复核", code: 2, flag: false },
{ name: "人案控制条码规则", code: 3, flag: false }
],
// 信息管理
informationManageMenus: [
{ name: "比中信息管理", code: 1, flag: false },
{ name: "破案信息管理", code: 2, flag: false },
{ name: "协查信息管理", code: 3, flag: false },
{ name: "工作信息统计", code: 4, flag: false },
{ name: "战果查询上报", code: 5, flag: false },
{ name: "人员队列管理", code: 6, flag: false },
{ name: "案件队列管理", code: 7, flag: false },
{ name: "系统操作日志", code: 8, flag: false },
{ name: "复制案件数据", code: 9, flag: false },
{ name: "FPTX数据导出", code: 10, flag: false },
{ name: "批量处理操作", code: 11, flag: false }
],
// 高级管理
seniorManageMenus: [
{ name: "人案更改条码号", code: 1, flag: false },
{ name: "人案控制条码规则", code: 2, flag: false },
{ name: "删除人员数据", code: 3, flag: false },
{ name: "删除案件数据", code: 4, flag: false },
{ name: "删除查询数据", code: 5, flag: false },
{ name: "系统用户管理", code: 6, flag: false },
{ name: "系统分库管理", code: 7, flag: false },
{ name: "资源库管理", code: 8, flag: false },
{ name: "协查用户管理", code: 9, flag: false },
{ name: "人员类型管理", code: 10, flag: false },
{ name: "用户组管理", code: 11, flag: false },
{ name: "查询模块管理", code: 12, flag: false },
{ name: "上报条件设置", code: 13, flag: false },
{ name: "本地重卡反馈", code: 14, flag: false },
{ name: "本地涉案反馈", code: 15, flag: false }
],
// 保存的角色选项
roleMenusSelection: []
};
},
methods: {
funAuth() {
this.funFlag = true;
this.dataFlag = false;
console.info("功能权限");
},
dataAuth() {
this.funFlag = false;
this.dataFlag = true;
console.info("数据权限");
},
// 保存
save() {
this.roleMenusSelection = this.roleMenus;
console.info("roleMenusSelection====", this.roleMenusSelection);
}
},
mounted() {
this.funFlag = true;
this.id = this.$route.params.id;
this.rolename = this.$route.params.rolename;
var usergroup = new URLSearchParams();
usergroup.append("Id", this.id);
// 获取用户组信息
this.$axios
.post("/login/usergroup/queryusergroup", usergroup)
.then(res => {
console.info(res.data);
this.groupData = res.data.usergroup;
this.status = res.data.usergroup.status;
console.info(res.data.usergroup.status);
})
.catch(failResponse => {});
}
};
</script>
<style scoped lang="scss">
@import "scss/grouppermission.scss";
</style>
<template>
<el-container class="manage-page" direction="vertical">
<!--权限管理-->
<div class="header">
<!-- 用户和用户组的切换按钮-->
<div class="btns">
<div class="btn" :class="{ active: isUser }" @click="getUser">
用户列表
</div>
<div class="btn" :class="{ active: isGroup }" @click="getGroup">
用户组列表
</div>
</div>
</div>
<br />
<!-- 用户-->
<div v-if="isUser" class="user">
<!-- 用户搜索框-->
<div class="search">
<div class="search-item">
<div class="label">用户名:</div>
<el-input
class="search-info"
v-model="userSearchParams.username"
placeholder="请输入用户名"
></el-input>
</div>
<div class="search-item">
<div class="label">姓名:</div>
<el-input
class="search-info"
v-model="userSearchParams.truename"
placeholder="请输入姓名"
/>
</div>
<div class="search-item">
<div class="label">用户组:</div>
<el-input
class="search-info"
v-model="userSearchParams.groupname"
placeholder="请输入用户组名"
/>
</div>
<div class="search-item">
<div class="label">单位代码:</div>
<el-input
class="search-info"
v-model="userSearchParams.unitcode"
placeholder="请输入单位代码"
/>
</div>
<div class="search-item">
<div class="label">角色:</div>
<el-input
class="search-info"
v-model="userSearchParams.roleName"
placeholder="请输入角色"
/>
</div>
<div class="search-item">
<div class="label">权限:</div>
<el-input
class="search-info"
v-model="userSearchParams.permissionname"
placeholder="请输入权限"
></el-input>
</div>
<div class="btn" @click="searchUser">筛选用户</div>
</div>
<!-- 用户表格-->
<div class="table">
<el-table
:height="userWidths.height"
style="width: 100%;"
highlight-current-row
ref="multipleTable"
:data="userTableData"
class="table"
>
<el-table-column
prop="username"
label="用户名"
:width="userWidths.width1"
>
</el-table-column>
<el-table-column
prop="truename"
label="姓名"
:width="userWidths.width1"
>
</el-table-column>
<el-table-column
prop="policemanid"
label="警号"
:width="userWidths.width2"
>
</el-table-column>
<el-table-column
prop="group"
label="用户组"
:width="userWidths.width3"
>
</el-table-column>
<el-table-column
prop="unitname"
label="所属单位"
:width="userWidths.width5"
>
</el-table-column>
<el-table-column
prop="roleName"
label="角色"
:width="userWidths.width4"
show-overflow-tooltip
>
<template slot-scope="scope">
<div
class="tags"
v-for="item in scope.row.roleName &&
scope.row.roleName.split(',')"
>
{{ item }}
</div>
</template>
</el-table-column>
<el-table-column
prop="groupid_list"
label="权限"
:width="userWidths.width5"
show-overflow-tooltip
>
<template slot-scope="scope">
<div
v-for="(item, index) in scope.row.permissionname &&
scope.row.permissionname.split(',')"
>
{{ index > 0 ? "/" : "" }}
{{ item }}
</div>
</template>
</el-table-column>
<el-table-column
prop="status"
label="启用状态"
:width="userWidths.width1"
>
<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>
{{
scope.row.status === "0"
? "停用"
: scope.row.status === "1"
? "启用"
: "无状态"
}}
</template>
</el-table-column>
<el-table-column prop="active" label="操作">
<template slot-scope="scope">
<img
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)"
/>
<!-- <img-->
<!-- style="width: 1.125rem;height: 1.125rem;cursor: pointer"-->
<!-- src="../../assets/img/qbryk/del.png"-->
<!-- @click="del(scope.row.userId)"-->
<!-- />-->
</template>
</el-table-column>
</el-table>
</div>
<!-- 用户分页-->
<div class="footer">
<span class="count"
>共{{ userSearchParams.page.count }} 条记录 第{{
userSearchParams.page.page
}}/{{ userTpage }}页</span
>
<div class="page">
<el-pagination
class="paging"
background
@size-change="userHandleSizeChange"
@current-change="userHandleCurrPageChange"
:current-page="userSearchParams.page.page"
:page-size="userSearchParams.page.total"
layout="prev, pager, next"
:total="userSearchParams.page.count"
>
</el-pagination>
</div>
</div>
</div>
<!-- 用户组-->
<div v-if="isGroup" class="group">
<!-- 用户组搜索框-->
<div class="search">
<div class="search-item">
<div class="label">用户组:</div>
<el-input
v-model="groupSearchParams.groupname"
class="search-info"
placeholder="请输入用户名"
></el-input>
</div>
<div class="search-item">
<div class="label">用户名:</div>
<el-input
v-model="groupSearchParams.username"
class="search-info"
placeholder="请输入用户名"
></el-input>
</div>
<div class="search-item">
<div class="label">姓名:</div>
<el-input
v-model="groupSearchParams.truename"
class="search-info"
placeholder="请输入用户名"
></el-input>
</div>
<div class="search-item">
<div class="label">用户所属单位名称:</div>
<el-input
v-model="groupSearchParams.unitcode"
class="search-info"
placeholder="请输入单位名称"
></el-input>
</div>
<div class="search-item">
<div class="label">组角色:</div>
<el-input
v-model="groupSearchParams.rolename"
class="search-info"
placeholder="请输入角色名"
></el-input>
</div>
<div class="clear" @click="groupClear">清空</div>
<div class="btn" @click="searchGroup">筛选用户组</div>
</div>
<!-- 用户组表格-->
<div class="table">
<el-table
:height="groupWidths.height"
highlight-current-row
ref="multipleTable"
:data="groupTableData"
class="table"
>
<el-table-column
prop="groupname"
label="用户组"
:width="groupWidths.width1"
>
</el-table-column>
<el-table-column
prop="rolename"
label="组角色"
:width="groupWidths.width2"
show-overflow-tooltip
>
<template slot-scope="scope">
<div
class="tags"
v-for="item in scope.row.rolename &&
scope.row.rolename.split(',')"
>
{{ item }}
</div>
</template>
</el-table-column>
<el-table-column
prop="username"
label="组成员"
:width="groupWidths.width3"
>
<template slot-scope="scope">
<div class="group-item">
<svg-icon
style="width: 1rem;height: .8125rem;margin-bottom: -0.0625rem;"
icon-class="group-item"
/>
{{ scope.row.username.split(",").length }}
</div>
<!-- <div class="set-btn">-->
<!-- 用户设置-->
<!-- </div>-->
</template>
</el-table-column>
<el-table-column>
<template slot-scope="scope">
<div class="set-btn" :width="groupWidths.btnwidth">
用户设置
</div>
</template>
</el-table-column>
<el-table-column
prop="status"
label="启用状态"
:width="groupWidths.width3"
>
<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>
{{
scope.row.status === "0"
? "停用"
: scope.row.status === "1"
? "启用"
: "无状态"
}}
</template>
</el-table-column>
<el-table-column prop="active" label="操作">
<template slot-scope="scope">
<img
style="width: 1.125rem;height: 1.125rem;margin-right: 1.125rem;cursor: pointer"
src="../../assets/img/qbryk/bj.png"
@click="groupEdit(scope.row.id)"
/>
<!-- <img-->
<!-- style="width: 1.125rem;height: 1.125rem;cursor: pointer"-->
<!-- src="../../assets/img/qbryk/del.png"-->
<!-- @click="del(scope.row.id)"-->
<!-- />-->
</template>
</el-table-column>
</el-table>
</div>
<!-- 用户组分页-->
<div class="footer">
<span class="count"
>共{{ groupSearchParams.page.count }} 条记录 第{{
groupSearchParams.page.page
}}/{{ groupTpage }}页</span
>
<div class="page">
<el-pagination
class="paging"
background
@size-change="groupHandleSizeChange"
@current-change="groupHandleCurrPageChange"
:current-page="groupSearchParams.page.page"
:page-size="groupSearchParams.page.total"
layout="prev, pager, next"
:total="groupSearchParams.page.count"
>
</el-pagination>
</div>
</div>
</div>
</el-container>
</template>
<script>
import "@/icons/group-item.svg";
export default {
name: "AuthManage",
created() {
let w1 = 1920;
let w2 = window.innerWidth;
this.userWidths.height = (this.userWidths.height * w2) / w1;
this.userWidths.width1 = (this.userWidths.width1 * w2) / w1;
this.userWidths.width2 = (this.userWidths.width2 * w2) / w1;
this.userWidths.width3 = (this.userWidths.width3 * w2) / w1;
this.userWidths.width4 = (this.userWidths.width4 * w2) / w1;
this.userWidths.width5 = (this.userWidths.width5 * w2) / w1;
this.groupWidths.height = (this.groupWidths.height * w2) / w1;
this.groupWidths.width1 = (this.groupWidths.width1 * w2) / w1;
this.groupWidths.width2 = (this.groupWidths.width2 * w2) / w1;
this.groupWidths.width3 = (this.groupWidths.width3 * w2) / w1;
this.groupWidths.btnwidth = (this.groupWidths.btnwidth * w2) / w1;
},
data() {
return {
isUser: false,
isGroup: false,
userTableData: [],
// 用户列表的表格宽度
userWidths: {
width4: 350,
width3: 200,
width2: 100,
width5: 220,
width1: 100,
height: 480
},
// 搜索用户
userSearchParams: {
username: "",
truename: "",
unitcode: "",
roleName: "",
permissionname: "",
groupname: "",
page: {
total: 20,
count: 0,
page: 1
}
},
src: require("@/assets/img/police-badge.png"),
groupTableData: [],
// 用户组列表的表格宽度
groupWidths: {
width3: 110,
width2: 400,
width1: 200,
height: 480,
btnwidth: 200
},
// 搜索用户组
groupSearchParams: {
groupname: "",
username: "",
userId: "",
truename: "",
unitcode: "",
roleId: "",
rolename: "",
page: {
total: 20,
count: 0,
page: 1
}
}
};
},
computed: {
// 计算总页数
userTpage() {
return (
Math.floor(
this.userSearchParams.page.count / this.userSearchParams.page.total
) + 1
);
},
// 计算总页数
groupTpage() {
return (
Math.floor(
this.groupSearchParams.page.count / this.groupSearchParams.page.total
) + 1
);
}
},
methods: {
getUser() {
this.isUser = true;
this.isGroup = false;
this.userClear();
this.searchUser();
},
getGroup() {
this.isUser = false;
this.isGroup = true;
this.groupClear();
this.searchGroup();
},
// 用户清空
userClear() {
this.userSearchParams.roleName = "";
this.userSearchParams.groupname = "";
this.userSearchParams.truename = "";
this.userSearchParams.unitcode = "";
this.userSearchParams.page.page = 1;
this.userSearchParams.page.total = 20;
this.userSearchParams.username = "";
this.userSearchParams.permissionname = "";
this.searchUser();
},
// 用户组清空
groupClear() {
this.groupSearchParams.page.page = 1; //必填
this.groupSearchParams.page.total = 20; //必填
this.groupSearchParams.groupname = "";
this.groupSearchParams.username = "";
this.groupSearchParams.truename = "";
this.groupSearchParams.unitcode = "";
this.groupSearchParams.rolename = "";
this.searchGroup();
},
// 用户当期页发生变化
userHandleCurrPageChange: function(val) {
this.userSearchParams.page.page = val;
this.searchUser();
},
// 用户每页展示数量发生变化
userHandleSizeChange: function(val) {
this.userSearchParams.page.total = val;
this.searchUser();
},
// 获取用户信息
searchUser() {
var user = new URLSearchParams();
user.append("username", this.userSearchParams.username);
user.append("truename", this.userSearchParams.truename);
user.append("roleName", this.userSearchParams.roleName);
user.append("unitcode", this.userSearchParams.unitcode);
user.append("permissionname", this.userSearchParams.permissionname);
user.append("groupname", this.userSearchParams.groupname);
user.append("page", this.userSearchParams.page.page);
user.append("total", this.userSearchParams.page.total);
// todo 多条件筛选
this.$axios
.post("/login/user/queryUserList", user)
.then(res => {
this.userTableData = res.data.data;
this.userSearchParams.page.total = res.data.total;
this.userSearchParams.page.page = res.data.page;
this.userSearchParams.page.count = res.data.count;
this.$message.success(res.message);
})
.catch(failResponse => {});
},
// 编辑用户权限
userEdit(id, rolename) {
console.info("用户id=====>", id);
this.$router.push({
name: "UserPermission",
params: {
id: id,
rolename: rolename
}
});
},
// 用户组当前页发生变化
groupHandleCurrPageChange: function(val) {
this.groupSearchParams.page.page = val;
this.searchGroup();
},
// 用户组每页展示数量发生变化
groupHandleSizeChange: function(val) {
this.groupSearchParams.page.total = val;
this.searchGroup();
},
// 获取用户组信息
searchGroup() {
console.info("用户组筛选条件=====>", this.groupSearchParams);
var usergroup = new URLSearchParams();
usergroup.append("page", this.groupSearchParams.page.page); //必填
usergroup.append("total", this.groupSearchParams.page.total); //必填
usergroup.append("groupname", this.groupSearchParams.groupname);
usergroup.append("username", this.groupSearchParams.username);
usergroup.append("truename", this.groupSearchParams.truename);
usergroup.append("unitcode", this.groupSearchParams.unitcode);
usergroup.append("rolename", this.groupSearchParams.rolename);
// todo 多条件筛选
this.$axios
.post("/login/usergroup/queryUserGroupList", usergroup)
.then(res => {
console.log(res.data);
this.groupTableData = res.data.data;
this.groupSearchParams.page.total = res.data.total;
this.groupSearchParams.page.page = res.data.page;
this.groupSearchParams.page.count = res.data.count;
this.$message.success(res.message);
})
.catch(failResponse => {});
},
groupEdit(id) {
console.info("用户id=====>", id);
this.$router.push({
name: "GroupPermission",
params: {
id: id
}
});
},
// 新增权限
add() {
var permission = new URLSearchParams();
permission.append("menuname", "菜单30");
permission.append("pid", "3");
permission.append("zindex", "4");
// permission.append("roleId", "30");
// menuname; //菜单名称
// pid;//父级权限id
// permission;//资源权限字符串
// url;//资源 url
// description;//描述
// type;//权限类型
// zindex;//菜单排序
// flag;//是否生成菜单,0:默认不生成菜单,1:生成菜单
// status;//权限状态(01:显示,02:加锁,03:隐藏)
// roleId;/必填
this.$axios
.post("/login/permission/add", permission)
.then(res => {
console.log(res);
this.$message.success(res.message);
})
.catch(failResponse => {});
},
// 删除权限
del() {
var permission = new URLSearchParams();
permission.append("menuId", "888");
this.$axios
.post("/login/permission/deletePermissionById", permission)
.then(res => {
console.log(res);
this.$message.success(res.message);
})
.catch(failResponse => {});
},
// 编辑权限
edit() {
var permission = new URLSearchParams();
permission.append("menuId", "777");
this.$axios
.post("/login/permission/querypermissionInfo", permission)
.then(res => {
console.log(res);
})
.catch(failResponse => {});
// menuId;//权限id
// menuname;//菜单名称
// pid;//父级权限id
// permission;//资源权限字符串
// url;//资源 url
// description;//描述
// type;//权限类型
// zindex;//菜单排序
// status;//权限状态(01:显示,02:加锁,03:隐藏)
var permission1 = new URLSearchParams();
permission1.append("menuId", "777");
permission1.append("menuname", "修改菜单名字");
this.$axios
.post("/login/permission/update", permission1)
.then(res => {
console.log(res);
})
.catch(failResponse => {});
},
// 刷新
search() {
var permission = new URLSearchParams();
// permission.append("menuId", "要删除的权限id");
// menuname,pid,
// userId(非admin用户,必填)
permission.append("page", "1"); //必填
permission.append("total", "20"); //必填
this.$axios
.post("/login/permission/querypermissionAll", permission)
.then(res => {
console.log(res);
this.$message.success(res.message);
})
.catch(failResponse => {});
}
},
mounted() {
this.isUser = true;
if (this.isUser) {
this.searchUser();
}
}
};
</script>
<style scoped lang="scss">
@import "scss/permission";
</style>
...@@ -60,6 +60,7 @@ ...@@ -60,6 +60,7 @@
数据权限 数据权限
</div> </div>
</div> </div>
<div @click="addrole">addrole</div>
<div class="save"> <div class="save">
<div class="btn" @click="save">保存</div> <div class="btn" @click="save">保存</div>
<!-- <el-button @click="add">add</el-button>--> <!-- <el-button @click="add">add</el-button>-->
...@@ -333,6 +334,15 @@ export default { ...@@ -333,6 +334,15 @@ export default {
}; };
}, },
methods: { methods: {
addrole() {
var role = {
name: "do aute officia irure voluptate",
permissionIds: []
};
this.$axios.post("/system/roles", role).then(res => {
console.info(res);
});
},
// 复制 // 复制
copy() { copy() {
console.info("复制数据"); console.info("复制数据");
...@@ -358,6 +368,7 @@ export default { ...@@ -358,6 +368,7 @@ export default {
del(id) { del(id) {
console.info("删除数据", id); console.info("删除数据", id);
this.diyRoleList.splice(id, 1); this.diyRoleList.splice(id, 1);
this.diyRoleItemIndex = -1;
// var sysRole = new URLSearchParams(); // var sysRole = new URLSearchParams();
// sysRole.append("roleId", "16"); // sysRole.append("roleId", "16");
// this.$axios // this.$axios
......
...@@ -56,6 +56,8 @@ ...@@ -56,6 +56,8 @@
</div> </div>
<div class="operation"> <div class="operation">
<div class="btn1" @click="batch">批量操作</div> <div class="btn1" @click="batch">批量操作</div>
<div class="clear-btn" @click="adduser">adduser</div>
<div class="clear-btn" @click="searchuser">searchuser</div>
<div class="btns"> <div class="btns">
<div class="btn1" @click="delMore()">删除</div> <div class="btn1" @click="delMore()">删除</div>
<div class="add" @click="open"> <div class="add" @click="open">
...@@ -384,6 +386,8 @@ ...@@ -384,6 +386,8 @@
<script> <script>
import "@/icons/ic_add.svg"; import "@/icons/ic_add.svg";
import qs from "qs";
export default { export default {
name: "UserManage", name: "UserManage",
created() { created() {
...@@ -499,7 +503,6 @@ export default { ...@@ -499,7 +503,6 @@ export default {
} }
}; };
return { return {
width5: 180,
width4: 350, width4: 350,
width3: 200, width3: 200,
width2: 100, width2: 100,
...@@ -633,6 +636,28 @@ export default { ...@@ -633,6 +636,28 @@ export default {
} }
}, },
methods: { methods: {
adduser() {
var user = {
username: "2021",
phoneNumber: "15806613121",
password: "2021",
policeNumber: "223",
unitName: "长沙",
unitCode: "123",
name: "王明光",
status: 1,
userGroupId: 1,
roleId: 1
};
this.$axios.post("/system/users", user).then(res => {
console.info(res);
});
},
searchuser() {
this.$axios.get("/system/users").then(res => {
console.info(res);
});
},
// 新增 // 新增
submitForm(formName) { submitForm(formName) {
this.$refs.addFormParams.validate(valid => { this.$refs.addFormParams.validate(valid => {
......
<template>
<el-container class="manage-page" direction="vertical">
<!-- 0停用 1启用-->
<div class="header" :class="{ down: status === '0', up: status === '1' }">
<div class="title" :class="{ down: status === '0', up: status === '1' }">
<div class="title-status">
<div v-if="status === '0'" class="circle-red"></div>
<div v-if="status === '1'" class="circle-blue"></div>
{{ status === "0" ? "停用" : status === "1" ? "启用" : "无状态" }}
</div>
</div>
<div class="info">
<div class="info-item">
<div class="info-title">用户名:</div>
<div class="info-value">{{ userData.username }}</div>
</div>
<div class="info-item">
<div class="info-title">姓名:</div>
<div class="info-value">{{ userData.truename }}</div>
</div>
<div class="info-item">
<div class="info-title">警号:</div>
<div class="info-value">{{ userData.policemanid }}</div>
</div>
<div class="info-item">
<div class="info-title">用户组:</div>
<div class="info-value">{{ userData.group }}</div>
</div>
<div class="info-item">
<div class="info-title">所属单位:</div>
<div class="info-value">{{ userData.unitname }}</div>
</div>
<div class="info-item1">
<div class="info-title">角色:</div>
<!-- 有角色 角色长度<5-->
<div v-if="userData.roleName !== ''" class="info-value">
<div
class="tags"
v-for="item in userData.roleName && userData.roleName.split(',')"
>
{{ item }}
</div>
</div>
<!-- 无角色-->
<div v-else-if="userData.roleName === ''" class="info-value">
无角色
</div>
</div>
</div>
</div>
<div class="main">
<div class="header">
<div class="btns">
<div class="btn" :class="{ active: funFlag }" @click="funAuth">
功能权限
</div>
<div class="btn" :class="{ active: dataFlag }" @click="dataAuth">
数据权限
</div>
</div>
<div class="save">
<div class="btn" @click="save">保存</div>
<!-- <el-button @click="add">add</el-button>-->
<!-- <el-button @click="edit">edit</el-button>-->
<!-- <el-button @click="del">del</el-button>-->
<!-- <el-button @click="search">search</el-button>-->
</div>
</div>
<div class="role-info">
<!-- 角色权限菜单列-->
<div class="menus">
<div class="div3">
<el-checkbox v-model="roleMenus[0].flag">
{{ roleMenus[0].name }}
</el-checkbox>
<el-checkbox v-model="roleMenus[1].flag">
{{ roleMenus[1].name }}
</el-checkbox>
<el-checkbox v-model="roleMenus[2].flag">
{{ roleMenus[2].name }}
</el-checkbox>
</div>
<div class="div3">
<el-checkbox v-model="roleMenus[3].flag">
{{ roleMenus[3].name }}
</el-checkbox>
</div>
<div class="div1">
<el-checkbox v-model="roleMenus[4].flag">
{{ roleMenus[4].name }}
</el-checkbox>
</div>
<div class="div1">
<el-checkbox v-model="roleMenus[5].flag">
{{ roleMenus[5].name }}
</el-checkbox>
</div>
<div class="div1">
<el-checkbox v-model="roleMenus[6].flag">
{{ roleMenus[6].name }}
</el-checkbox>
</div>
<div class="div2">
<el-checkbox v-model="roleMenus[7].flag">
{{ roleMenus[7].name }}
</el-checkbox>
</div>
<div class="div3">
<el-checkbox v-model="roleMenus[8].flag">
{{ roleMenus[8].name }}
</el-checkbox>
</div>
</div>
<div class="content">
<div class="div3">
<div
class="line"
v-for="item in printCollectMenus"
:key="item.code"
>
<el-checkbox v-model="item.flag"> {{ item.name }}</el-checkbox>
</div>
<br />
<div class="line" v-for="item in printInputMenus" :key="item.code">
<el-checkbox v-model="item.flag"> {{ item.name }}</el-checkbox>
</div>
<br />
<div
class="line"
v-for="item in fileInformationInputMenus"
:key="item.code"
>
<el-checkbox v-model="item.flag"> {{ item.name }}</el-checkbox>
</div>
</div>
<div class="div3">
<div
class="line"
v-for="item in comprehensiveMenus"
:key="item.code"
>
<el-checkbox v-model="item.flag"> {{ item.name }}</el-checkbox>
</div>
</div>
<div class="div1">
<div class="line" v-for="item in seniorMenus" :key="item.code">
<el-checkbox v-model="item.flag"> {{ item.name }}</el-checkbox>
</div>
</div>
<div class="div1">
<div
class="line"
v-for="item in qualityTestingMenus"
:key="item.code"
>
<el-checkbox v-model="item.flag"> {{ item.name }}</el-checkbox>
</div>
</div>
<div class="div1">
<div
class="line"
v-for="item in seniorQualityTestingMenus"
:key="item.code"
>
<el-checkbox v-model="item.flag"> {{ item.name }}</el-checkbox>
</div>
</div>
<div class="div2">
<div
class="line"
v-for="item in informationManageMenus"
:key="item.code"
>
<el-checkbox v-model="item.flag"> {{ item.name }}</el-checkbox>
</div>
</div>
<div class="div3">
<div
class="line"
v-for="item in seniorManageMenus"
:key="item.code"
>
<el-checkbox v-model="item.flag"> {{ item.name }}</el-checkbox>
</div>
</div>
<!-- <div class="line" v-for="item in " :key="item.code"></div>-->
</div>
</div>
</div>
</el-container>
</template>
<script>
export default {
name: "UserPermission",
data() {
return {
id: "",
rolename: "",
status: "-1",
userData: {},
funFlag: false,
dataFlag: false,
// 角色按钮
defaultRoleBtns: [
{ name: "指纹入库员", value: 1, flag: false },
{ name: "综合认定员", value: 2, flag: false },
{ name: "高级认定员", value: 3, flag: false },
{ name: "质量检查员", value: 4, flag: false },
{ name: "高级质量检查", value: 5, flag: false },
{ name: "一般管理员", value: 6, flag: false },
{ name: "超级管理员", value: 7, flag: false }
],
// 角色权限菜单
roleMenus: [
{ name: "指掌纹采集", code: 0, flag: false },
{ name: "指掌纹录入", code: 1, flag: false },
{ name: "档案信息录入", code: 2, flag: false },
{ name: "综合认定", code: 3, flag: false },
{ name: "高级认定", code: 4, flag: false },
{ name: "质量检查", code: 5, flag: false },
{ name: "高级质量检查", code: 6, flag: false },
{ name: "信息管理", code: 7, flag: false },
{ name: "高级管理", code: 8, flag: false }
],
// 指掌纹采集菜单
printCollectMenus: [
{ name: "指掌纹采集", code: 0, flag: false },
{ name: "非违法人员指纹采集", code: 1, flag: false }
],
// 指掌纹录入菜单
printInputMenus: [
{ name: "图片导入", code: 0, flag: false },
{ name: "FPTX数据导入", code: 1, flag: false },
{ name: "人员指纹扫描", code: 2, flag: false },
{ name: "案件指纹扫描", code: 3, flag: false },
{ name: "笔录指纹", code: 4, flag: false }
],
// 档案信息录入菜单
fileInformationInputMenus: [
{ name: "人员文字信息录入", code: 0, flag: false },
{ name: "案件文字信息录入", code: 1, flag: false }
],
// 综合认定
comprehensiveMenus: [
{ name: "发查询", code: 0, flag: false },
{ name: "比中认定-隐藏条码号", code: 1, flag: false },
{ name: "比中信息反馈", code: 2, flag: false },
{ name: "比中信息管理", code: 3, flag: false },
{ name: "破案信息管理", code: 4, flag: false },
{ name: "导入比中认定", code: 5, flag: false },
{ name: "填写比中抓获", code: 6, flag: false },
{ name: "人员信息新增修改", code: 7, flag: false },
{ name: "比中信息反馈", code: 8, flag: false },
{ name: "关注人员", code: 9, flag: false },
{ name: "关注条件", code: 10, flag: false },
{ name: "协查信息上报", code: 11, flag: false },
{ name: "提取现勘信息", code: 12, flag: false },
{ name: "人员指纹编辑", code: 13, flag: false },
{ name: "案件指纹编辑", code: 14, flag: false },
{ name: "文字信息修改", code: 15, flag: false },
{ name: "二次打印", code: 16, flag: false },
{ name: "比中信息撤销", code: 17, flag: false }
],
// 高级认定
seniorMenus: [
{ name: "比中认定-显示条码号", code: 1, flag: false },
{ name: "高级案件编辑", code: 2, flag: false },
{ name: "人案控制条码规则", code: 3, flag: false },
{ name: "基本/比中数据上报", code: 4, flag: false },
{ name: "全用户认定权限", code: 5, flag: false }
],
// 质量检查
qualityTestingMenus: [
{ name: "比中信息复核", code: 1, flag: false },
{ name: "协查信息复核", code: 2, flag: false },
{ name: "人案控制条码规则", code: 3, flag: false }
],
// 高级质量检查
seniorQualityTestingMenus: [
{ name: "比中信息复核", code: 1, flag: false },
{ name: "协查信息复核", code: 2, flag: false },
{ name: "人案控制条码规则", code: 3, flag: false }
],
// 信息管理
informationManageMenus: [
{ name: "比中信息管理", code: 1, flag: false },
{ name: "破案信息管理", code: 2, flag: false },
{ name: "协查信息管理", code: 3, flag: false },
{ name: "工作信息统计", code: 4, flag: false },
{ name: "战果查询上报", code: 5, flag: false },
{ name: "人员队列管理", code: 6, flag: false },
{ name: "案件队列管理", code: 7, flag: false },
{ name: "系统操作日志", code: 8, flag: false },
{ name: "复制案件数据", code: 9, flag: false },
{ name: "FPTX数据导出", code: 10, flag: false },
{ name: "批量处理操作", code: 11, flag: false }
],
// 高级管理
seniorManageMenus: [
{ name: "人案更改条码号", code: 1, flag: false },
{ name: "人案控制条码规则", code: 2, flag: false },
{ name: "删除人员数据", code: 3, flag: false },
{ name: "删除案件数据", code: 4, flag: false },
{ name: "删除查询数据", code: 5, flag: false },
{ name: "系统用户管理", code: 6, flag: false },
{ name: "系统分库管理", code: 7, flag: false },
{ name: "资源库管理", code: 8, flag: false },
{ name: "协查用户管理", code: 9, flag: false },
{ name: "人员类型管理", code: 10, flag: false },
{ name: "用户组管理", code: 11, flag: false },
{ name: "查询模块管理", code: 12, flag: false },
{ name: "上报条件设置", code: 13, flag: false },
{ name: "本地重卡反馈", code: 14, flag: false },
{ name: "本地涉案反馈", code: 15, flag: false }
],
// 保存的角色选项
roleMenusSelection: []
};
},
methods: {
funAuth() {
this.funFlag = true;
this.dataFlag = false;
console.info("功能权限");
},
dataAuth() {
this.funFlag = false;
this.dataFlag = true;
console.info("数据权限");
},
// 保存
save() {
this.roleMenusSelection = this.roleMenus;
console.info("roleMenusSelection====", this.roleMenusSelection);
}
},
mounted() {
this.funFlag = true;
this.id = this.$route.params.id;
this.rolename = this.$route.params.rolename;
var user = new URLSearchParams();
user.append("userId", this.id);
// 获取用户信息
this.$axios
.post("/login/user/queryuserInfo", user)
.then(res => {
if (res.data) {
console.info(res.data);
this.userData = res.data.user;
this.status = res.data.user.status;
console.info(res.data.user.status);
}
})
.catch(failResponse => {});
console.info("chuancan", this.$route.params.id);
}
};
</script>
<style scoped lang="scss">
@import "scss/userpermission.scss";
</style>
.manage-page {
width: 100%;
padding: 24px;
font-family: MicrosoftYaHei;
div {
display: inline-block;
}
.header{
width:100%;
.btns{
width: 260px;
height: 40px;
.btn{
text-align: center;
width: 129px;
height: 32px;
font-size: 14px;
color: #282F3C;
background: #F6F8FA;
border-radius: 2px;
line-height: 32px;
cursor: pointer;
&.active{
background: #055FE7;
color: #FFFFFF;
}
}
}
}
.search{
width:100%;
height:58px;
border-bottom: 1px solid #EEEEEE;
padding-top: 10px;
margin-bottom: 10px;
display: flex;
flex-direction: row;
.search-item{
width: auto;
margin-right: 17px;
.label{
width: auto;
height: 22px;
font-size: 14px;
color: #333333;
line-height: 22px;
margin-right: 5px;
}
.input{
width: 156px;
height: 32px;
background: #FFFFFF;
border-radius: 4px;
border: 1px solid #E6E6E8;
}
}
.btns{
width: 180px;
position: absolute;
right: 24px;
text-align: center;
.btn-clear{
width: 50px;
height: 23px;
font-size: 14px;
color: #055FE7;
line-height: 23px;
cursor: pointer;
}
.btn-search{
width: 110px;
height: 32px;
font-size: 14px;
color: #FFFFFF;
line-height: 32px;
background: #055FE7;
border-radius: 4px;
margin-left: 10px;
cursor: pointer;
}
}
}
.main{
.user{
width: 1550px;
height:700px;
}
.group{
width: 100%;
height: 700px;
}
}
.footer {
width: 1544px;
//width: calc(100vw - 367px);
position: absolute;
bottom: 27px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
.count {
font-size: 14px;
font-family: MicrosoftYaHei;
color: #666666;
}
.paging {
float: right;
}
/deep/.el-pager {
.number {
background-color: transparent;
}
.number.active {
background-color: #055fe7 !important;
box-shadow: 0px 12px 16px 1px rgba(0, 21, 51, 0.03);
border-radius: 6px;
}
.el-icon.more.btn-quicknext.el-icon-more,
.el-icon.more.btn-quickprev.el-icon-more {
background-color: transparent !important;
}
}
/deep/ .btn-prev,
/deep/ .btn-next {
background-color: transparent !important;
}
/deep/ .el-pagination__sizes {
position: absolute;
right: 0;
}
/deep/ .btn-next {
//margin-right: 120px !important;
}
}
//表格表头样式
/deep/.el-table th,
.el-table tr {
height: 48px;
background: #f6f8fa;
font-size: 14px;
color: #282f3c;
}
//表格内容样式
/deep/.el-table td,
.el-table tr {
height: 55px;
background: #ffffff;
font-size: 14px;
color: #333333;
padding: 0;
font-weight: 400;
}
}
\ No newline at end of file
.manage-page {
width: 100%;
padding: 24px;
font-family: MicrosoftYaHei;
div {
display: inline-block;
}
.header{
width: 1544px;
height: 54px;
border-radius: 8px;
overflow: hidden;
&.down{
background: #FEF5F6;
}
&.up{
background: #f2f7fe;
}
.title{
width: 96px;
height: 96px;
border-radius: 16px;
transform: rotate(40deg);
position: relative;
left: -23px;
top: -17px;
&.down{
background: #FAE1E4;
}
&.up{
background: #DDEBFF;
}
.title-status{
position: relative;
top: 28px;
left: 30px;
transform: rotate(-40deg);
.circle-red{
width: 8px;
height: 8px;
background-color:#FE0000;
border-radius: 50%;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
z-index: 100;
}
.circle-blue{
width: 8px;
height: 8px;
background-color:#055FE7;
border-radius: 50%;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
z-index: 100;
}
}
}
.info{
//border: 1px solid hotpink; width: auto;
.info-item{
padding:0 20px 0 20px;
border-right: 1px solid #E6E6E8;
.info-title{
width: auto;
height: 22px;
font-size: 14px;
color: #999999;
line-height: 22px;
}
.info-value{
width: auto;
height: 22px;
font-size: 14px;
color: #333333;
line-height: 22px;
.tags{
width: 100px;
height: 24px;
background: #FFFFFF;
border-radius: 4px;
text-align: center;
margin-right: 16px;
}
}
}
.info-item1{
padding:0 20px 0 20px;
.info-title{
width: auto;
height: 22px;
font-size: 14px;
color: #999999;
line-height: 22px;
}
.info-value{
width: 80px;
text-align: center;
//width: 80px;
height: 24px;
background: #FFFFFF;
border-radius: 12px;
}
.btn{
margin-left: 5px;
cursor: pointer;
width: 80px;
height: 22px;
font-size: 14px;
color: #055FE7;
line-height: 22px;
}
}
}
}
.main {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
.header {
height: 55px;
margin: 0 auto;
//margin-bottom: 3px;
.btns {
width: 224px;
height: 48px;
background: #f6f8fa;
border-radius: 8px;
text-align: center;
.btn {
margin-top: 8px;
width: 104px;
height: 32px;
line-height: 32px;
color: #666666;
cursor: pointer;
//&:hover{
// background: #FFFFFF;
// color: #055FE7;
// box-shadow: 0px 6px 8px 1px rgba(0, 21, 51, 0.05);
// border-radius: 6px;
//}
&.active {
background: #ffffff;
color: #055fe7;
box-shadow: 0px 6px 8px 1px rgba(0, 21, 51, 0.05);
border-radius: 6px;
}
}
}
.save {
.btn {
position: absolute;
right: 30px;
top: 150px;
width: 72px;
height: 32px;
background: #055fe7;
border-radius: 4px;
line-height: 32px;
color: #ffffff;
text-align: center;
}
}
}
.role-info {
width: 100%;
height: 690px;
background: #ffffff;
box-shadow: 1px 0px 3px 0px rgba(5, 95, 231, 0.3),
-1px 1px 3px 0px rgba(5, 95, 231, 0.24);
border-radius: 10px;
display: flex;
flex-direction: row;
.menus {
width: 155px;
height: 100%;
border-right: 1px solid #eeeeee;
.div3 {
width: 100%;
height: 130px;
border-bottom: 1px solid #eeeeee;
.el-checkbox {
margin: 12px 20px 0 20px;
}
}
.div2 {
width: 100%;
height: 90px;
border-bottom: 1px solid #eeeeee;
.el-checkbox {
margin: 25px 20px 0 25px;
}
}
.div1 {
width: 100%;
height: 70px;
border-bottom: 1px solid #eeeeee;
.el-checkbox {
margin: 25px 20px 0 25px;
}
}
// 未选中字体颜色
/deep/ .el-checkbox {
font-size: 14px;
color: #333333;
font-weight: 400;
}
/deep/ .el-checkbox__input .el-checkbox__inner:hover {
border-color: #055fe7;
}
// 选中样式
/deep/.el-checkbox__input.is-checked + .el-checkbox__label {
font-size: 14px;
font-weight: 400;
color: #333333;
}
/deep/ .el-checkbox__input.is-checked .el-checkbox__inner {
background: #055fe7;
border-color: #055fe7;
}
}
.content {
width: 100%;
height: 725px;
.div3 {
width: 100%;
height: 130px;
border-bottom: 1px solid #eeeeee;
padding-left: 30px;
padding-top: 8px;
.line {
height: 40px;
}
}
.div2 {
width: 100%;
height: 90px;
border-bottom: 1px solid #eeeeee;
.el-checkbox {
margin: 10px 20px 0 25px;
}
.line {
height: 35px;
}
}
.div1 {
width: 100%;
height: 70px;
border-bottom: 1px solid #eeeeee;
.el-checkbox {
margin: 25px 20px 0 25px;
}
}
// 未选中字体颜色
/deep/ .el-checkbox {
//border: 1px darkblue solid;
width: 140px;
font-size: 14px;
color: #666666;
font-weight: 400;
margin-right: 50px;
}
/deep/ .el-checkbox__input .el-checkbox__inner:hover {
border-color: #055fe7;
}
// 选中样式
/deep/.el-checkbox__input.is-checked + .el-checkbox__label {
font-size: 14px;
font-weight: 400;
color: #333333;
}
/deep/ .el-checkbox__input.is-checked .el-checkbox__inner {
background: #055fe7;
border-color: #055fe7;
}
}
}
}
}
\ No newline at end of file
.manage-page {
width: 100%;
padding: 24px;
font-family: MicrosoftYaHei;
div {
display: inline-block;
}
//用户和用户组切换按钮
.header{
width:100%;
.btns{
width: 260px;
height: 40px;
.btn{
text-align: center;
width: 129px;
height: 32px;
font-size: 14px;
color: #282F3C;
background: #F6F8FA;
border-radius: 2px;
line-height: 32px;
cursor: pointer;
&.active{
background: #055FE7;
color: #FFFFFF;
}
}
}
}
// 用户
.user{
width: 100%;
height: 870px;
.search {
width: 100%;
height: 50px;
.search-item {
width: auto;
height: 32px;
margin: 5px 16px 5px 0;
.label {
width: auto;
height: 32px;
font-size: 14px;
font-family: MicrosoftYaHei;
color: #333333;
line-height: 32px;
margin: 8px;
}
.search-info {
width: 155px;
height: 32px;
background: #ffffff;
border-radius: 4px;
//border: 1px solid #e6e6e8;
//margin-top: 8px;
}
}
.btn {
position:absolute;
top: 125px;
right: 24px;
width: 95px;
height: 32px;
background: #055fe7;
border-radius: 4px;
line-height: 32px;
color: #ffffff;
font-size: 14px;
text-align: center;
cursor: pointer;
}
}
.table{
height: 750px;
width: 100%;
margin-top: 10px;
.tags{
width: 100px;
height: 24px;
background: #F0F3F6;
border-radius: 4px;
text-align: center;
margin-right: 3px;
}
.circle-red{
width: 8px; height: 8px; background-color:#FE0000; border-radius: 50%; -moz-border-radius: 50%; -webkit-border-radius: 50%;
}
.circle-blue{
width: 8px; height: 8px; background-color:#055FE7; border-radius: 50%; -moz-border-radius: 50%; -webkit-border-radius: 50%;
}
}
.footer {
width: 1544px;
//width: calc(100vw - 367px);
position: absolute;
bottom: 27px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
.count {
font-size: 14px;
font-family: MicrosoftYaHei;
color: #666666;
}
.paging {
float: right;
}
/deep/.el-pager {
.number {
background-color: transparent;
}
.number.active {
background-color: #055fe7 !important;
box-shadow: 0px 12px 16px 1px rgba(0, 21, 51, 0.03);
border-radius: 6px;
}
.el-icon.more.btn-quicknext.el-icon-more,
.el-icon.more.btn-quickprev.el-icon-more {
background-color: transparent !important;
}
}
/deep/ .btn-prev,
/deep/ .btn-next {
background-color: transparent !important;
}
/deep/ .el-pagination__sizes {
position: absolute;
right: 0;
}
/deep/ .btn-next {
//margin-right: 120px !important;
}
}
}
// 用户组
.group{
width: 100%;
height: 870px;
.search {
width: 100%;
height: 50px;
.search-item {
width: auto;
height: 32px;
margin: 5px 16px 5px 0;
.label {
width: auto;
height: 32px;
font-size: 14px;
font-family: MicrosoftYaHei;
color: #333333;
line-height: 32px;
margin: 8px;
}
.search-info {
width: 155px;
height: 32px;
background: #ffffff;
border-radius: 4px;
//border: 1px solid #e6e6e8;
//margin-top: 8px;
}
}
.clear{
width: 38px;
border: none;
height: 22px;
padding: 0;
margin: 0 12px 0 12px;
font-size: 14px;
font-weight: 350;
color: #333333;
text-align: center;
position:absolute;
top: 130px;
right: 124px;
cursor: pointer;
&:hover {
color: #055fe7;
}
&:active {
color: #055fe7;
}
}
.btn {
position:absolute;
top: 125px;
right: 24px;
width: 95px;
height: 32px;
background: #055fe7;
border-radius: 4px;
line-height: 32px;
color: #ffffff;
font-size: 14px;
text-align: center;
cursor: pointer;
}
}
.table{
height: 750px;
width: 100%;
margin-top: 10px;
.tags{
width: 100px;
height: 24px;
background: #F0F3F6;
border-radius: 4px;
text-align: center;
margin-right: 3px;
}
.circle-red{
width: 8px; height: 8px; background-color:#FE0000; border-radius: 50%; -moz-border-radius: 50%; -webkit-border-radius: 50%;
}
.circle-blue{
width: 8px; height: 8px; background-color:#055FE7; border-radius: 50%; -moz-border-radius: 50%; -webkit-border-radius: 50%;
}
.group-item{
width: 70px;
height: 24px;
background: #F0F3F6;
border-radius: 12px;
font-size: 16px;
font-weight: bold;
color: #282F3C;
line-height: 24px;
text-align: center;
margin-right: 12px;
}
.set-btn{
width: 56px;
height: 22px;
font-size: 14px;
font-family: MicrosoftYaHei;
color: #055FE7;
line-height: 22px;
cursor: pointer;
//position: absolute;
//right: 100px;
}
}
.footer {
width: 1544px;
//width: calc(100vw - 367px);
position: absolute;
bottom: 27px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
.count {
font-size: 14px;
font-family: MicrosoftYaHei;
color: #666666;
}
.paging {
float: right;
}
/deep/.el-pager {
.number {
background-color: transparent;
}
.number.active {
background-color: #055fe7 !important;
box-shadow: 0px 12px 16px 1px rgba(0, 21, 51, 0.03);
border-radius: 6px;
}
.el-icon.more.btn-quicknext.el-icon-more,
.el-icon.more.btn-quickprev.el-icon-more {
background-color: transparent !important;
}
}
/deep/ .btn-prev,
/deep/ .btn-next {
background-color: transparent !important;
}
/deep/ .el-pagination__sizes {
position: absolute;
right: 0;
}
/deep/ .btn-next {
//margin-right: 120px !important;
}
}
}
//表格表头样式
/deep/.el-table th,
.el-table tr {
height: 48px;
background: #f6f8fa;
font-size: 14px;
color: #282f3c;
}
//表格内容样式
/deep/.el-table td,
.el-table tr {
height: 55px;
background: #ffffff;
font-size: 14px;
color: #333333;
padding: 0;
font-weight: 400;
}
}
\ No newline at end of file
...@@ -81,9 +81,8 @@ ...@@ -81,9 +81,8 @@
//border: saddlebrown 1px solid; //border: saddlebrown 1px solid;
width: 215px; width: 215px;
height: 366px; height: 366px;
display: flex; //display: flex;
flex-direction: column; //flex-direction: column;
padding-top: 10px;
overflow:scroll; overflow:scroll;
.diy-role-item{ .diy-role-item{
width: 190px; width: 190px;
...@@ -93,7 +92,8 @@ ...@@ -93,7 +92,8 @@
font-size: 14px; font-size: 14px;
color: #333333; color: #333333;
line-height: 40px; line-height: 40px;
margin-bottom: 10px; margin-top: 10px;
margin-left: -22px;
cursor: pointer; cursor: pointer;
overflow: hidden; overflow: hidden;
&.active{ &.active{
......
.manage-page {
width: 100%;
padding: 24px;
font-family: MicrosoftYaHei;
div {
display: inline-block;
}
.header{
width: 1544px;
height: 54px;
border-radius: 8px;
overflow: hidden;
&.down{
background: #FEF5F6;
}
&.up{
background: #f2f7fe;
}
.title{
width: 96px;
height: 96px;
border-radius: 16px;
transform: rotate(40deg);
position: relative;
left: -23px;
top: -17px;
&.down{
background: #FAE1E4;
}
&.up{
background: #DDEBFF;
}
.title-status{
position: relative;
top: 28px;
left: 30px;
transform: rotate(-40deg);
.circle-red{
width: 8px;
height: 8px;
background-color:#FE0000;
border-radius: 50%;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
z-index: 100;
}
.circle-blue{
width: 8px;
height: 8px;
background-color:#055FE7;
border-radius: 50%;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
z-index: 100;
}
}
}
.info{
//border: 1px solid hotpink; width: auto;
.info-item{
padding:0 20px 0 20px;
border-right: 1px solid #E6E6E8;
.info-title{
width: auto;
height: 22px;
font-size: 14px;
color: #999999;
line-height: 22px;
}
.info-value{
width: auto;
height: 22px;
font-size: 14px;
color: #333333;
line-height: 22px;
}
.info-value1{
width: auto;
height: 22px;
font-size: 14px;
color: #333333;
line-height: 22px;
.tags{
}
}
}
.info-item1{
padding:0 20px 0 20px;
.info-title{
width: auto;
height: 22px;
font-size: 14px;
color: #999999;
line-height: 22px;
}
.info-value{
width: auto;
height: 22px;
font-size: 14px;
color: #333333;
line-height: 22px;
.tags{
width: 100px;
height: 24px;
background: #FFFFFF;
border-radius: 4px;
text-align: center;
margin-right: 16px;
}
}
}
}
}
.main {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
.header {
height: 55px;
margin: 0 auto;
//margin-bottom: 3px;
.btns {
width: 224px;
height: 48px;
background: #f6f8fa;
border-radius: 8px;
text-align: center;
.btn {
margin-top: 8px;
width: 104px;
height: 32px;
line-height: 32px;
color: #666666;
cursor: pointer;
//&:hover{
// background: #FFFFFF;
// color: #055FE7;
// box-shadow: 0px 6px 8px 1px rgba(0, 21, 51, 0.05);
// border-radius: 6px;
//}
&.active {
background: #ffffff;
color: #055fe7;
box-shadow: 0px 6px 8px 1px rgba(0, 21, 51, 0.05);
border-radius: 6px;
}
}
}
.save {
.btn {
position: absolute;
right: 30px;
top: 150px;
width: 72px;
height: 32px;
background: #055fe7;
border-radius: 4px;
line-height: 32px;
color: #ffffff;
text-align: center;
}
}
}
.role-info {
width: 100%;
height: 690px;
background: #ffffff;
box-shadow: 1px 0px 3px 0px rgba(5, 95, 231, 0.3),
-1px 1px 3px 0px rgba(5, 95, 231, 0.24);
border-radius: 10px;
display: flex;
flex-direction: row;
.menus {
width: 155px;
height: 100%;
border-right: 1px solid #eeeeee;
.div3 {
width: 100%;
height: 130px;
border-bottom: 1px solid #eeeeee;
.el-checkbox {
margin: 12px 20px 0 20px;
}
}
.div2 {
width: 100%;
height: 90px;
border-bottom: 1px solid #eeeeee;
.el-checkbox {
margin: 25px 20px 0 25px;
}
}
.div1 {
width: 100%;
height: 70px;
border-bottom: 1px solid #eeeeee;
.el-checkbox {
margin: 25px 20px 0 25px;
}
}
// 未选中字体颜色
/deep/ .el-checkbox {
font-size: 14px;
color: #333333;
font-weight: 400;
}
/deep/ .el-checkbox__input .el-checkbox__inner:hover {
border-color: #055fe7;
}
// 选中样式
/deep/.el-checkbox__input.is-checked + .el-checkbox__label {
font-size: 14px;
font-weight: 400;
color: #333333;
}
/deep/ .el-checkbox__input.is-checked .el-checkbox__inner {
background: #055fe7;
border-color: #055fe7;
}
}
.content {
width: 100%;
height: 725px;
.div3 {
width: 100%;
height: 130px;
border-bottom: 1px solid #eeeeee;
padding-left: 30px;
padding-top: 8px;
.line {
height: 40px;
}
}
.div2 {
width: 100%;
height: 90px;
border-bottom: 1px solid #eeeeee;
.el-checkbox {
margin: 10px 20px 0 25px;
}
.line {
height: 35px;
}
}
.div1 {
width: 100%;
height: 70px;
border-bottom: 1px solid #eeeeee;
.el-checkbox {
margin: 25px 20px 0 25px;
}
}
// 未选中字体颜色
/deep/ .el-checkbox {
//border: 1px darkblue solid;
width: 140px;
font-size: 14px;
color: #666666;
font-weight: 400;
margin-right: 50px;
}
/deep/ .el-checkbox__input .el-checkbox__inner:hover {
border-color: #055fe7;
}
// 选中样式
/deep/.el-checkbox__input.is-checked + .el-checkbox__label {
font-size: 14px;
font-weight: 400;
color: #333333;
}
/deep/ .el-checkbox__input.is-checked .el-checkbox__inner {
background: #055fe7;
border-color: #055fe7;
}
}
}
}
}
\ No newline at end of file
...@@ -87,7 +87,11 @@ ...@@ -87,7 +87,11 @@
</div> </div>
<div class="bzitem"> <div class="bzitem">
<div class="bzname">比中人联系电话:</div> <div class="bzname">比中人联系电话:</div>
<el-input class="bzphone" v-model="phone" placeholder="请输入内容"></el-input> <el-input
class="bzphone"
v-model="phone"
placeholder="请输入内容"
></el-input>
<div class="input-error" v-show="isPhoneError"> <div class="input-error" v-show="isPhoneError">
<!-- <img src="@/assets/img/inputerror.png" alt=""> --> <!-- <img src="@/assets/img/inputerror.png" alt=""> -->
<svg-icon icon-class="error" class="icon" /> <svg-icon icon-class="error" class="icon" />
...@@ -100,7 +104,12 @@ ...@@ -100,7 +104,12 @@
<div class="line"></div> <div class="line"></div>
<div class="bzfooter"> <div class="bzfooter">
<div class="footer-title">备注</div> <div class="footer-title">备注</div>
<el-input type="textarea" :rows="5" placeholder="在此输入备注信息" v-model="textarea"> <el-input
type="textarea"
:rows="5"
placeholder="在此输入备注信息"
v-model="textarea"
>
</el-input> </el-input>
</div> </div>
<div class="bzbtns"> <div class="bzbtns">
...@@ -111,7 +120,11 @@ ...@@ -111,7 +120,11 @@
</div> </div>
<!-- 认定完成确认框 --> <!-- 认定完成确认框 -->
<div class="rdwcDialog" v-show="isShowrdwcDialogBg" @click="cancelrdwc"></div> <div
class="rdwcDialog"
v-show="isShowrdwcDialogBg"
@click="cancelrdwc"
></div>
<div class="rdwccontent" v-show="isShowrdwcDialog"> <div class="rdwccontent" v-show="isShowrdwcDialog">
<div class="title">当前候选未全部查看,是否确认认定完成?</div> <div class="title">当前候选未全部查看,是否确认认定完成?</div>
<div class="rdwcbtns"> <div class="rdwcbtns">
...@@ -136,7 +149,7 @@ export default { ...@@ -136,7 +149,7 @@ export default {
LTCandidate, LTCandidate,
ImageEd ImageEd
}, },
data () { data() {
return { return {
qid: null, qid: null,
radio: 6, radio: 6,
...@@ -161,12 +174,12 @@ export default { ...@@ -161,12 +174,12 @@ export default {
isShowrdwcDialog: false isShowrdwcDialog: false
}; };
}, },
created () { created() {
this.qid = this.$route.query.rowData; this.qid = this.$route.query.rowData;
console.log("源qid====>", this.qid); console.log("源qid====>", this.qid);
}, },
watch: { watch: {
phone (newValue, oldValue) { phone(newValue, oldValue) {
if (newValue.length < 7) { if (newValue.length < 7) {
this.isPhoneError = true; this.isPhoneError = true;
document document
...@@ -186,7 +199,7 @@ export default { ...@@ -186,7 +199,7 @@ export default {
* @param {*} * @param {*}
* @return {*} * @return {*}
*/ */
confirmrdwc () { confirmrdwc() {
let self = this; let self = this;
this.isShowrdwcDialogBg = false; this.isShowrdwcDialogBg = false;
this.isShowrdwcDialog = false; this.isShowrdwcDialog = false;
...@@ -228,7 +241,7 @@ export default { ...@@ -228,7 +241,7 @@ export default {
* @param {*} * @param {*}
* @return {*} * @return {*}
*/ */
cancelrdwc () { cancelrdwc() {
this.isShowrdwcDialogBg = false; this.isShowrdwcDialogBg = false;
this.isShowrdwcDialog = false; this.isShowrdwcDialog = false;
}, },
...@@ -237,7 +250,7 @@ export default { ...@@ -237,7 +250,7 @@ export default {
* @param {*} * @param {*}
* @return {*} * @return {*}
*/ */
cancelbz () { cancelbz() {
this.isShowbzDialogBg = false; this.isShowbzDialogBg = false;
this.isShowbzDialog = false; this.isShowbzDialog = false;
}, },
...@@ -246,7 +259,7 @@ export default { ...@@ -246,7 +259,7 @@ export default {
* @param {*} * @param {*}
* @return {*} * @return {*}
*/ */
confirmbz () { confirmbz() {
let self = this; let self = this;
console.log("比中"); console.log("比中");
let affirmstatus = "1"; let affirmstatus = "1";
...@@ -302,7 +315,7 @@ export default { ...@@ -302,7 +315,7 @@ export default {
* @param {*} * @param {*}
* @return {*} * @return {*}
*/ */
getUserInfo2 () { getUserInfo2() {
let self = this; let self = this;
let destbarcode = sessionStorage.getItem("destbarcode") || ""; let destbarcode = sessionStorage.getItem("destbarcode") || "";
console.log(destbarcode); console.log(destbarcode);
...@@ -323,7 +336,7 @@ export default { ...@@ -323,7 +336,7 @@ export default {
* @param {*} id * @param {*} id
* @return {*} * @return {*}
*/ */
getUserInfo (id = 1234) { getUserInfo(id = 1234) {
let self = this; let self = this;
this.$axios({ this.$axios({
method: "post", method: "post",
...@@ -354,7 +367,7 @@ export default { ...@@ -354,7 +367,7 @@ export default {
* @param {*} * @param {*}
* @return {*} * @return {*}
*/ */
Bz () { Bz() {
this.getUserInfo(); this.getUserInfo();
this.getUserInfo2(); this.getUserInfo2();
this.asjbh = sessionStorage.getItem("srcbarcode"); this.asjbh = sessionStorage.getItem("srcbarcode");
...@@ -369,7 +382,7 @@ export default { ...@@ -369,7 +382,7 @@ export default {
* @param {*} * @param {*}
* @return {*} * @return {*}
*/ */
Rdwc () { Rdwc() {
console.log("认定完成"); console.log("认定完成");
let qqid = sessionStorage.getItem("qqid") || ""; let qqid = sessionStorage.getItem("qqid") || "";
...@@ -396,7 +409,7 @@ export default { ...@@ -396,7 +409,7 @@ export default {
* @param {*} code * @param {*} code
* @return {*} * @return {*}
*/ */
judgeZw (code) { judgeZw(code) {
console.log(code); console.log(code);
switch (code) { switch (code) {
case 1: case 1:
...@@ -462,7 +475,7 @@ export default { ...@@ -462,7 +475,7 @@ export default {
} }
} }
}, },
beforeDestroy () { beforeDestroy() {
//组件销毁前需要解绑事件。否则会出现重复触发事件的问题 //组件销毁前需要解绑事件。否则会出现重复触发事件的问题
this.$bus.$off("updateFinderSource"); this.$bus.$off("updateFinderSource");
} }
...@@ -508,7 +521,7 @@ div { ...@@ -508,7 +521,7 @@ div {
height: 22px; height: 22px;
font-size: 16px; font-size: 16px;
font-weight: bold; font-weight: bold;
color: #00ccb5; color: #00b47a;
line-height: 22px; line-height: 22px;
margin-top: 14px; margin-top: 14px;
} }
......
...@@ -156,11 +156,11 @@ ...@@ -156,11 +156,11 @@
<el-button type="info" @click="batch">批量操作</el-button> <el-button type="info" @click="batch">批量操作</el-button>
<div class="middle"> <div class="middle">
<div class="font" @click="clearAll()"> <div class="font" @click="clearAll()">
全部数据&nbsp> 全部数据&nbsp;>
<!-- <span>共找到{{ reqParam.page.total }}</span>--> <!-- <span>共找到{{ reqParam.page.total }}</span>-->
</div> </div>
<el-tag <el-tag
style="margin-right: 10px;" style="margin-right: 10px"
:key="index" :key="index"
v-for="(tag, index) in dynamicTags" v-for="(tag, index) in dynamicTags"
closable closable
...@@ -209,18 +209,21 @@ ...@@ -209,18 +209,21 @@
</div> </div>
</div> </div>
<el-tag <el-tag
style="width:100%;color:#666666;margin-top:1rem;" style="width: 100%; color: #666666; margin-top: 1rem"
v-show="isShowTip" v-show="isShowTip"
> >
<i class="el-icon-info" style="color:#055FE7;font-size:.9375rem"></i> <i
class="el-icon-info"
style="color: #055fe7; font-size: 0.9375rem"
></i>
已选择 已选择
<span style="color:#055FE7">{{ selectionData.length }}</span> 项​ <span style="color: #055fe7">{{ selectionData.length }}</span> 项​
<span v-html="'&nbsp;&nbsp;'"></span> <span v-html="'&nbsp;&nbsp;'"></span>
​服务调用总计:<span v-html="'&nbsp;&nbsp;'"></span>36.4万 ​服务调用总计:<span v-html="'&nbsp;&nbsp;'"></span>36.4万
<el-link <el-link
type="primary" type="primary"
:underline="false" :underline="false"
style="margin-left:1.25rem;" style="margin-left: 1.25rem"
@click="toggleSelection()" @click="toggleSelection()"
>清除</el-link >清除</el-link
> >
...@@ -249,13 +252,22 @@ ...@@ -249,13 +252,22 @@
<el-table-column prop="" label="任务号/查询号" :width="cxyrdWidth1"> <el-table-column prop="" label="任务号/查询号" :width="cxyrdWidth1">
<template slot-scope="scope"> <template slot-scope="scope">
<svg-icon <svg-icon
style="width: .875rem;height: .6875rem;margin-bottom: .125rem ;margin-left: .3125rem ;" style="
width: 0.875rem;
height: 0.6875rem;
margin-bottom: 0.125rem;
margin-left: 0.3125rem;
"
v-if="scope.row.children || scope.row.children === null" v-if="scope.row.children || scope.row.children === null"
icon-class="tree_f" icon-class="tree_f"
> >
</svg-icon> </svg-icon>
<svg-icon <svg-icon
style="width: .8125rem;height: .375rem;margin: 0 0 .1875rem 0 ;" style="
width: 0.8125rem;
height: 0.375rem;
margin: 0 0 0.1875rem 0;
"
v-else-if="!scope.row.children || scope.row.children !== null" v-else-if="!scope.row.children || scope.row.children !== null"
icon-class="tree_c" icon-class="tree_c"
></svg-icon> ></svg-icon>
...@@ -279,27 +291,32 @@ ...@@ -279,27 +291,32 @@
:label="item.colume" :label="item.colume"
:prop="item.prop" :prop="item.prop"
:width="item.width" :width="item.width"
:sortable="
item.prop == 'affirmtime' || item.prop == 'requestdatetime'
? true
: false
"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<template v-if="item.prop === 'querytype'"> <template v-if="item.prop === 'querytype'">
<div v-if="scope.row.querytype === '3'" style="color: #FFA219"> <div v-if="scope.row.querytype === '3'" style="color: #ffa219">
{{ scope.row.queryTypeName }} {{ scope.row.queryTypeName }}
</div> </div>
<div <div
v-else-if="scope.row.querytype === '0'" v-else-if="scope.row.querytype === '0'"
style="color: #005FE7" style="color: #005fe7"
> >
{{ scope.row.queryTypeName }} {{ scope.row.queryTypeName }}
</div> </div>
<div <div
v-else-if="scope.row.querytype === '1'" v-else-if="scope.row.querytype === '1'"
style="color:#E60012 " style="color: #e60012"
> >
{{ scope.row.queryTypeName }} {{ scope.row.queryTypeName }}
</div> </div>
<div <div
v-else-if="scope.row.querytype === '2'" v-else-if="scope.row.querytype === '2'"
style="color:#08BD9E" style="color: #00b47a"
> >
{{ scope.row.queryTypeName }} {{ scope.row.queryTypeName }}
</div> </div>
...@@ -348,12 +365,12 @@ ...@@ -348,12 +365,12 @@
class="img" class="img"
@click="edit(scope.row)" @click="edit(scope.row)"
type="text" type="text"
style="font-size:1.5rem" style="font-size: 1.5rem"
v-if="scope.row.barcode" v-if="scope.row.barcode"
> >
<i> <i>
<img <img
style="width:1rem;height:1rem;cursor: pointer;" style="width: 1rem; height: 1rem; cursor: pointer"
:src="editUrl" :src="editUrl"
alt alt
/> />
...@@ -364,11 +381,11 @@ ...@@ -364,11 +381,11 @@
class="img" class="img"
@click.stop="delOne(scope.row.qqid)" @click.stop="delOne(scope.row.qqid)"
type="text" type="text"
style="font-size:1.5rem" style="font-size: 1.5rem"
> >
<i> <i>
<img <img
style="width:.75rem;height:.875rem;cursor: pointer;" style="width: 0.75rem; height: 0.875rem; cursor: pointer"
:src="delUrl" :src="delUrl"
alt alt
/> />
...@@ -631,6 +648,18 @@ export default { ...@@ -631,6 +648,18 @@ export default {
item => item.value !== value item => item.value !== value
); );
} else { } else {
//点击优先级先清除优先级的按钮在添加
if (type == "queryclasss") {
this.queryClassBtns.forEach(i => {
let listIndex = list.findIndex(j => j == i.value);
let dynamicTagsIndex = this.dynamicTags.findIndex(
j => j.name == i.name
);
if (listIndex >= 0) list.splice(listIndex, 1);
if (dynamicTagsIndex >= 0)
this.dynamicTags.splice(dynamicTagsIndex, 1);
});
}
list.push(value); list.push(value);
this.dynamicTags.push(data); this.dynamicTags.push(data);
} }
...@@ -921,7 +950,7 @@ export default { ...@@ -921,7 +950,7 @@ export default {
} }
}); });
this.dynamicTags = newdynamicTags; this.dynamicTags = newdynamicTags;
this.reqParam.contrastCustomSearchReq.querytypes = []; this.$set(this.reqParam.contrastCustomSearchReq, "querystates", []);
this.search(); this.search();
}, },
showHistory() { showHistory() {
......
...@@ -62,8 +62,8 @@ $phone: var(--phone, #606266); //#ff4242; ...@@ -62,8 +62,8 @@ $phone: var(--phone, #606266); //#ff4242;
color: #055fe7; color: #055fe7;
} }
&:active { &:active {
border: 1px solid #044CB9; border: 1px solid #044cb9;
color: #044CB9; color: #044cb9;
} }
} }
.rdwccancel { .rdwccancel {
...@@ -71,12 +71,12 @@ $phone: var(--phone, #606266); //#ff4242; ...@@ -71,12 +71,12 @@ $phone: var(--phone, #606266); //#ff4242;
background: #055fe7; background: #055fe7;
color: #ffffff; color: #ffffff;
&:hover { &:hover {
background: #377FEC; background: #377fec;
color: #FFFFFF; color: #ffffff;
} }
&:active { &:active {
background: #044CB9; background: #044cb9;
color: #FFFFFF; color: #ffffff;
} }
} }
} }
...@@ -144,14 +144,14 @@ $phone: var(--phone, #606266); //#ff4242; ...@@ -144,14 +144,14 @@ $phone: var(--phone, #606266); //#ff4242;
font-size: 14px; font-size: 14px;
font-family: MicrosoftYaHei-Bold, MicrosoftYaHei; font-family: MicrosoftYaHei-Bold, MicrosoftYaHei;
font-weight: bold; font-weight: bold;
color: #FFA219; color: #ffa219;
} }
.dot { .dot {
margin-bottom: 2px; margin-bottom: 2px;
margin-right: 5px; margin-right: 5px;
width: 6px; width: 6px;
height: 6px; height: 6px;
background: #FFA219; background: #ffa219;
border-radius: 50%; border-radius: 50%;
} }
} }
...@@ -196,7 +196,7 @@ $phone: var(--phone, #606266); //#ff4242; ...@@ -196,7 +196,7 @@ $phone: var(--phone, #606266); //#ff4242;
right: 36px; right: 36px;
font-size: 12px; font-size: 12px;
font-family: MicrosoftYaHei; font-family: MicrosoftYaHei;
color: #FF3745; color: #ff3745;
} }
.input-error { .input-error {
position: absolute; position: absolute;
...@@ -257,7 +257,8 @@ $phone: var(--phone, #606266); //#ff4242; ...@@ -257,7 +257,8 @@ $phone: var(--phone, #606266); //#ff4242;
align-items: center; align-items: center;
margin-left: 287px; margin-left: 287px;
margin-top: 30px; margin-top: 30px;
.bzconfirm,.bzcancel { .bzconfirm,
.bzcancel {
cursor: pointer; cursor: pointer;
display: flex; display: flex;
justify-content: center; justify-content: center;
...@@ -273,14 +274,14 @@ $phone: var(--phone, #606266); //#ff4242; ...@@ -273,14 +274,14 @@ $phone: var(--phone, #606266); //#ff4242;
} }
.bzcancel { .bzcancel {
margin-left: 24px; margin-left: 24px;
background: #055FE7; background: #055fe7;
color: #FFFFFF; color: #ffffff;
} }
} }
} }
} }
.detail{ .detail {
z-index: 1000; z-index: 1000;
position: absolute; position: absolute;
display: flex; display: flex;
...@@ -288,21 +289,24 @@ $phone: var(--phone, #606266); //#ff4242; ...@@ -288,21 +289,24 @@ $phone: var(--phone, #606266); //#ff4242;
text-align: center; text-align: center;
//justify-content:center; //justify-content:center;
//top: auto; //top: auto;
top: calc(50% - 470px); left: 50%;
left: calc(50% - 225px); top: 50%;
.head-title{ transform: translate(-50%, -50%);
width: 450px; height: 100vh;
height: 28px; .head-title {
width: calc(50vh - 35px);
height: 30px;
font-size: 16px; font-size: 16px;
font-family: MicrosoftYaHei-Bold, MicrosoftYaHei; font-family: MicrosoftYaHei-Bold, MicrosoftYaHei;
font-weight: bold; font-weight: bold;
color: #333333; color: #333333;
line-height: 28px; line-height: 30px;
} }
.finger{ .finger {
box-sizing: border-box;
border: #001e33 1px solid; border: #001e33 1px solid;
width: 450px; width: calc(50vh - 35px);
height: 450px; height: calc(50vh - 35px);;
margin-bottom: 20px; margin-bottom: 20px;
} }
} }
<template> <template>
<div class="tt"> <div class="tt" v-loading="screenLoading" element-loading-text="拼命加载中">
<div class="header"> <div class="header">
<div class="label">查重</div> <div class="label">查重</div>
<div class="btns"> <div class="btns">
...@@ -19,7 +19,11 @@ ...@@ -19,7 +19,11 @@
<div class="count"> <div class="count">
<img <img
src="../../assets/img/TT/ttcount.png" src="../../assets/img/TT/ttcount.png"
style="width: .875rem;height: .875rem;margin:0 .3125rem .1875rem 0" style="
width: 0.875rem;
height: 0.875rem;
margin: 0 0.3125rem 0.1875rem 0;
"
/>已认定:{{ rdcount }} />已认定:{{ rdcount }}
<!-- />已认定:{{ qid }}条--> <!-- />已认定:{{ qid }}条-->
</div> </div>
...@@ -32,15 +36,13 @@ ...@@ -32,15 +36,13 @@
<!-- 1 认定完成 蓝色--> <!-- 1 认定完成 蓝色-->
<!-- 2 比中 红色--> <!-- 2 比中 红色-->
<!-- 3 认定+比中--> <!-- 3 认定+比中-->
<div class="label"> <div class="label">查询ID:</div>
查询ID:
</div>
<div <div
class="value" class="value"
:class="{ :class="{
bz: bz:
item.affirmStatus === '2' || item.affirmStatus === '3', item.affirmStatus === '2' || item.affirmStatus === '3',
rd: item.affirmStatus === '1' rd: item.affirmStatus === '1',
}" }"
> >
{{ currentQqid }} {{ currentQqid }}
...@@ -53,7 +55,7 @@ ...@@ -53,7 +55,7 @@
:class="{ :class="{
bz: bz:
item.affirmStatus === '2' || item.affirmStatus === '3', item.affirmStatus === '2' || item.affirmStatus === '3',
rd: item.affirmStatus === '1' rd: item.affirmStatus === '1',
}" }"
> >
{{ sourcebarcode }} {{ sourcebarcode }}
...@@ -64,12 +66,12 @@ ...@@ -64,12 +66,12 @@
<img <img
v-show="index === 0" v-show="index === 0"
@click="last(index)" @click="last(index)"
style=" cursor: pointer;" style="cursor: pointer"
src="../../assets/img/TT/last.png" src="../../assets/img/TT/last.png"
/> />
<img <img
v-show="index > 0" v-show="index > 0"
style=" cursor: pointer;" style="cursor: pointer"
src="../../assets/img/TT/last-active.png" src="../../assets/img/TT/last-active.png"
@click="last(index)" @click="last(index)"
/> />
...@@ -77,13 +79,13 @@ ...@@ -77,13 +79,13 @@
<div class="next"> <div class="next">
<img <img
v-show="index === sourcedatas.length - 1" v-show="index === sourcedatas.length - 1"
style=" cursor: pointer;" style="cursor: pointer"
src="../../assets/img/TT/next.png" src="../../assets/img/TT/next.png"
@click="next(index)" @click="next(index)"
/> />
<img <img
v-show="index < sourcedatas.length - 1" v-show="index < sourcedatas.length - 1"
style=" cursor: pointer;" style="cursor: pointer"
src="../../assets/img/TT/next-active.png" src="../../assets/img/TT/next-active.png"
@click="next(index)" @click="next(index)"
/> />
...@@ -187,13 +189,23 @@ ...@@ -187,13 +189,23 @@
class="img" class="img"
src="@/assets/img/fingerprint.gif" src="@/assets/img/fingerprint.gif"
/> />
<div v-else> <div class="relative" v-else>
<!-- 有指纹图片 --> <!-- 有指纹图片 -->
<img <img
v-if="item.img" v-if="item.img && screenLoading == false"
:src="'data:image/jpeg;base64,' + item.img" :src="'data:image/jpeg;base64,' + item.img"
/> />
<div v-else>未查到相关记录</div> <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> </div>
<div class="label">{{ item.name }}</div> <div class="label">{{ item.name }}</div>
...@@ -213,13 +225,23 @@ ...@@ -213,13 +225,23 @@
class="img" class="img"
src="@/assets/img/fingerprint.gif" src="@/assets/img/fingerprint.gif"
/> />
<div v-else> <div class="relative" v-else>
<!-- 有指纹图片 --> <!-- 有指纹图片 -->
<img <img
v-if="item.img" v-if="item.img && screenLoading == false"
:src="'data:image/jpeg;base64,' + item.img" :src="'data:image/jpeg;base64,' + item.img"
/> />
<div v-else>未查到相关记录</div> <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> </div>
<div class="label">{{ item.name }}</div> <div class="label">{{ item.name }}</div>
...@@ -241,14 +263,23 @@ ...@@ -241,14 +263,23 @@
class="img" class="img"
src="@/assets/img/fingerprint.gif" src="@/assets/img/fingerprint.gif"
/> />
<div v-else> <div class="relative" v-else>
<!-- 有指纹图片 --> <!-- 有指纹图片 -->
<img <img
v-if="item.img" v-if="item.img && screenLoading == false"
:src="'data:image/jpeg;base64,' + item.img" :src="'data:image/jpeg;base64,' + item.img"
/> />
<!-- 无指纹图片 --> <img
<div v-else>未查到相关记录</div> 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> </div>
<div class="label">{{ item.name }}</div> <div class="label">{{ item.name }}</div>
...@@ -267,14 +298,23 @@ ...@@ -267,14 +298,23 @@
class="img" class="img"
src="@/assets/img/fingerprint.gif" src="@/assets/img/fingerprint.gif"
/> />
<div v-else> <div class="relative" v-else>
<!-- 有指纹图片 --> <!-- 有指纹图片 -->
<img <img
v-if="item.img" v-if="item.img && screenLoading == false"
:src="'data:image/jpeg;base64,' + item.img" :src="'data:image/jpeg;base64,' + item.img"
/> />
<!-- 无指纹图片 --> <img
<div v-else>未查到相关记录</div> 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> </div>
<div class="label">{{ item.name }}</div> <div class="label">{{ item.name }}</div>
...@@ -305,13 +345,23 @@ ...@@ -305,13 +345,23 @@
class="img" class="img"
src="@/assets/img/fingerprint.gif" src="@/assets/img/fingerprint.gif"
/> />
<div v-else> <div class="relative" v-else>
<!-- 有指纹图片 --> <!-- 有指纹图片 -->
<img <img
v-if="item.img" v-if="item.img && screenLoading == false"
:src="'data:image/jpeg;base64,' + item.img" :src="'data:image/jpeg;base64,' + item.img"
/> />
<div v-else>未查到相关记录</div> <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> </div>
<div class="label">{{ item.name }}</div> <div class="label">{{ item.name }}</div>
...@@ -331,14 +381,23 @@ ...@@ -331,14 +381,23 @@
class="img" class="img"
src="@/assets/img/fingerprint.gif" src="@/assets/img/fingerprint.gif"
/> />
<div v-else> <div class="relative" v-else>
<!-- 有指纹图片 --> <!-- 有指纹图片 -->
<img <img
v-if="item.img" v-if="item.img && screenLoading == false"
:src="'data:image/jpeg;base64,' + item.img" :src="'data:image/jpeg;base64,' + item.img"
/> />
<!-- 无指纹图片 --> <img
<div v-else>未查到相关记录</div> 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> </div>
<div class="label">{{ item.name }}</div> <div class="label">{{ item.name }}</div>
...@@ -360,14 +419,23 @@ ...@@ -360,14 +419,23 @@
class="img" class="img"
src="@/assets/img/fingerprint.gif" src="@/assets/img/fingerprint.gif"
/> />
<div v-else> <div class="relative" v-else>
<!-- 有指纹图片 --> <!-- 有指纹图片 -->
<img <img
v-if="item.img" v-if="item.img && screenLoading == false"
:src="'data:image/jpeg;base64,' + item.img" :src="'data:image/jpeg;base64,' + item.img"
/> />
<!-- 无指纹图片 --> <img
<div v-else>未查到相关记录</div> 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> </div>
<div class="label">{{ item.name }}</div> <div class="label">{{ item.name }}</div>
...@@ -386,14 +454,23 @@ ...@@ -386,14 +454,23 @@
class="img" class="img"
src="@/assets/img/fingerprint.gif" src="@/assets/img/fingerprint.gif"
/> />
<div v-else> <div class="relative" v-else>
<!-- 有指纹图片 --> <!-- 有指纹图片 -->
<img <img
v-if="item.img" v-if="item.img && screenLoading == false"
:src="'data:image/jpeg;base64,' + item.img" :src="'data:image/jpeg;base64,' + item.img"
/> />
<!-- 无指纹图片 --> <img
<div v-else>未查到相关记录</div> 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> </div>
<div class="label">{{ item.name }}</div> <div class="label">{{ item.name }}</div>
...@@ -421,7 +498,7 @@ ...@@ -421,7 +498,7 @@
<img <img
v-if="sourceImgdetail" v-if="sourceImgdetail"
:src="'data:image/jpeg;base64,' + sourceImgdetail" :src="'data:image/jpeg;base64,' + sourceImgdetail"
style="width: 28rem;height: 28rem;" style="width: 100%; height: 100%"
/> />
<div v-else>没有指纹详情</div> <div v-else>没有指纹详情</div>
</div> </div>
...@@ -429,7 +506,7 @@ ...@@ -429,7 +506,7 @@
<img <img
v-if="destImgdetail" v-if="destImgdetail"
:src="'data:image/jpeg;base64,' + destImgdetail" :src="'data:image/jpeg;base64,' + destImgdetail"
style="width: 28rem;height: 28rem;" style="width: 100%; height: 100%"
/> />
<div v-else>没有指纹详情</div> <div v-else>没有指纹详情</div>
</div> </div>
...@@ -562,7 +639,7 @@ export default { ...@@ -562,7 +639,7 @@ export default {
TTPlam, TTPlam,
TTFace, TTFace,
swiper, swiper,
swiperSlide swiperSlide,
}, },
data() { data() {
return { return {
...@@ -576,11 +653,11 @@ export default { ...@@ -576,11 +653,11 @@ export default {
// autoplay: true, // autoplay: true,
speed: 1000, speed: 1000,
pagination: { pagination: {
el: ".swiper-pagination" el: ".swiper-pagination",
}, },
scrollbar: { scrollbar: {
el: ".swiper-scrollbar" el: ".swiper-scrollbar",
} },
}, },
swiperOption1: { swiperOption1: {
//swiper3 //swiper3
...@@ -590,11 +667,11 @@ export default { ...@@ -590,11 +667,11 @@ export default {
// autoplay: true, // autoplay: true,
speed: 1000, speed: 1000,
pagination: { pagination: {
el: ".swiper-pagination" el: ".swiper-pagination",
}, },
scrollbar: { scrollbar: {
el: ".swiper-scrollbar" el: ".swiper-scrollbar",
} },
}, },
activeIndex3: 0, activeIndex3: 0,
dataType: null, dataType: null,
...@@ -627,56 +704,56 @@ export default { ...@@ -627,56 +704,56 @@ export default {
{ name: "食", code: 7, img: null }, { name: "食", code: 7, img: null },
{ name: "中", code: 8, img: null }, { name: "中", code: 8, img: null },
{ name: "环", code: 9, img: null }, { name: "环", code: 9, img: null },
{ name: "小", code: 10, img: null } { name: "小", code: 10, img: null },
], ],
sourceFingersRightR: [ sourceFingersRightR: [
{ name: "拇", code: 1, img: null }, { name: "拇", code: 1, img: null },
{ name: "食", code: 2, img: null }, { name: "食", code: 2, img: null },
{ name: "中", code: 3, img: null }, { name: "中", code: 3, img: null },
{ name: "环", code: 4, img: null }, { name: "环", code: 4, img: null },
{ name: "小", code: 5, img: null } { name: "小", code: 5, img: null },
], ],
sourceFingersLeftL: [ sourceFingersLeftL: [
{ name: "拇", code: 16, img: null }, { name: "拇", code: 16, img: null },
{ name: "食", code: 17, img: null }, { name: "食", code: 17, img: null },
{ name: "中", code: 18, img: null }, { name: "中", code: 18, img: null },
{ name: "环", code: 19, img: null }, { name: "环", code: 19, img: null },
{ name: "小", code: 20, img: null } { name: "小", code: 20, img: null },
], ],
sourceFingersRightL: [ sourceFingersRightL: [
{ name: "拇", code: 11, img: null }, { name: "拇", code: 11, img: null },
{ name: "食", code: 12, img: null }, { name: "食", code: 12, img: null },
{ name: "中", code: 13, img: null }, { name: "中", code: 13, img: null },
{ name: "环", code: 14, img: null }, { name: "环", code: 14, img: null },
{ name: "小", code: 15, img: null } { name: "小", code: 15, img: null },
], ],
destFingersLeftR: [ destFingersLeftR: [
{ name: "拇", code: 6, img: null }, { name: "拇", code: 6, img: null },
{ name: "食", code: 7, img: null }, { name: "食", code: 7, img: null },
{ name: "中", code: 8, img: null }, { name: "中", code: 8, img: null },
{ name: "环", code: 9, img: null }, { name: "环", code: 9, img: null },
{ name: "小", code: 10, img: null } { name: "小", code: 10, img: null },
], ],
destFingersRightR: [ destFingersRightR: [
{ name: "拇", code: 1, img: null }, { name: "拇", code: 1, img: null },
{ name: "食", code: 2, img: null }, { name: "食", code: 2, img: null },
{ name: "中", code: 3, img: null }, { name: "中", code: 3, img: null },
{ name: "环", code: 4, img: null }, { name: "环", code: 4, img: null },
{ name: "小", code: 5, img: null } { name: "小", code: 5, img: null },
], ],
destFingersLeftL: [ destFingersLeftL: [
{ name: "拇", code: 16, img: null }, { name: "拇", code: 16, img: null },
{ name: "食", code: 17, img: null }, { name: "食", code: 17, img: null },
{ name: "中", code: 18, img: null }, { name: "中", code: 18, img: null },
{ name: "环", code: 19, img: null }, { name: "环", code: 19, img: null },
{ name: "小", code: 20, img: null } { name: "小", code: 20, img: null },
], ],
destFingersRightL: [ destFingersRightL: [
{ name: "拇", code: 11, img: null }, { name: "拇", code: 11, img: null },
{ name: "食", code: 12, img: null }, { name: "食", code: 12, img: null },
{ name: "中", code: 13, img: null }, { name: "中", code: 13, img: null },
{ name: "环", code: 14, img: null }, { name: "环", code: 14, img: null },
{ name: "小", code: 15, img: null } { name: "小", code: 15, img: null },
], ],
rdcount: 0, // 认定条数 rdcount: 0, // 认定条数
// 指纹图片加载 // 指纹图片加载
...@@ -695,7 +772,10 @@ export default { ...@@ -695,7 +772,10 @@ export default {
isdestAffirmStatus: -1, isdestAffirmStatus: -1,
index: 0, index: 0,
flag: false, flag: false,
colors: 1 colors: 1,
screenLoading: false,
loadingIndex: 0,
timer: null,
}; };
}, },
created() { created() {
...@@ -726,8 +806,20 @@ export default { ...@@ -726,8 +806,20 @@ export default {
.getElementsByTagName("body")[0] .getElementsByTagName("body")[0]
.style.setProperty("--phone", "#606266"); .style.setProperty("--phone", "#606266");
} }
},
loadingIndex(val,oldval) {
console.log(val,oldval,'watch')
if(val == 1 && oldval == 0){
this.screenLoading = true;
}
if (this.timer) clearTimeout(this.timer);
if (val == 0) {
this.timer = setTimeout(() => {
this.screenLoading = false;
}, 200);
} }
}, },
},
methods: { methods: {
// 滚动平面选择切换 // 滚动平面选择切换
handleSelect(index) { handleSelect(index) {
...@@ -790,20 +882,33 @@ export default { ...@@ -790,20 +882,33 @@ export default {
// 获取源数据 // 获取源数据
getSourceList() { getSourceList() {
let me = this; let me = this;
this.screenLoading = true;
this.loadingIndex++;
if (me.dataType == "father") { if (me.dataType == "father") {
me.$axios me.$axios
.post("/api/queryque/standardAll", { .post(
contrastCustomSearchReq: { qid: me.qid } "/api/queryque/standardAll",
}) {
.then(res => { contrastCustomSearchReq: { qid: me.qid },
},
{ loading: false }
)
.then((res) => {
me.loadingIndex--;
if (res.data.code === 0) { if (res.data.code === 0) {
me.sourcedatas = res.data.ret; me.sourcedatas = res.data.ret;
me.sourcedatasLength = res.data.ret.length; me.sourcedatasLength = res.data.ret.length;
me.sourcebarcode = res.data.ret[0].barcode; me.sourcebarcode = res.data.ret[0].barcode;
me.currentQqid = res.data.ret[0].qqid; me.currentQqid = res.data.ret[0].qqid;
me.getMatchcandList(me.currentQqid); me.getMatchcandList(me.currentQqid);
this.getSourceRollFingerPrintDetail(res.data.ret[0].barcode); this.getSourceRollFingerPrintDetail(
this.getSourcePlainFingerPrintDetail(res.data.ret[0].barcode); res.data.ret[0].barcode,
"yes"
);
this.getSourcePlainFingerPrintDetail(
res.data.ret[0].barcode,
"yes"
);
// 认定条数 // 认定条数
let count = 0; let count = 0;
me.sourcedatas.forEach((item, index) => { me.sourcedatas.forEach((item, index) => {
...@@ -813,20 +918,30 @@ export default { ...@@ -813,20 +918,30 @@ export default {
}); });
this.rdcount = count; this.rdcount = count;
} }
console.info("源数据", this.sourcedatas);
}); });
} else { } else {
me.$axios me.$axios
.post("/api/queryque/standardAll", { .post(
contrastCustomSearchReq: { qqid: me.currentQqid } "/api/queryque/standardAll",
}) {
.then(res => { contrastCustomSearchReq: { qqid: me.currentQqid },
},
{ loading: false }
)
.then((res) => {
me.loadingIndex--;
if (res.data.code === 0) { if (res.data.code === 0) {
me.sourcedatas = res.data.ret; me.sourcedatas = res.data.ret;
me.sourcedatasLength = res.data.ret.length; me.sourcedatasLength = res.data.ret.length;
me.sourcebarcode = res.data.ret[0].barcode; me.sourcebarcode = res.data.ret[0].barcode;
this.getSourceRollFingerPrintDetail(res.data.ret[0].barcode); this.getSourceRollFingerPrintDetail(
this.getSourcePlainFingerPrintDetail(res.data.ret[0].barcode); res.data.ret[0].barcode,
"yes"
);
this.getSourcePlainFingerPrintDetail(
res.data.ret[0].barcode,
"yes"
);
me.getMatchcandList(me.currentQqid); me.getMatchcandList(me.currentQqid);
if (me.sourcedatas[0].affirmStatus === "1") { if (me.sourcedatas[0].affirmStatus === "1") {
this.rdcount = 1; this.rdcount = 1;
...@@ -843,12 +958,15 @@ export default { ...@@ -843,12 +958,15 @@ export default {
// 获取候选列表 // 获取候选列表
getMatchcandList() { getMatchcandList() {
let me = this; let me = this;
this.loadingIndex++;
if (me.currentQqid !== null) { if (me.currentQqid !== null) {
me.$axios me.$axios
.get( .get(
"/api/query/matchcand/" + me.currentQqid + "/" + me.sourcebarcode "/api/query/matchcand/" + me.currentQqid + "/" + me.sourcebarcode,
{ loading: false }
) )
.then(res => { .then((res) => {
me.loadingIndex--;
if (res.data.code === 0) { if (res.data.code === 0) {
me.tableData = res.data.ret; me.tableData = res.data.ret;
me.$nextTick(() => { me.$nextTick(() => {
...@@ -861,95 +979,103 @@ export default { ...@@ -861,95 +979,103 @@ export default {
}, },
// 获取源平面指纹图 // 获取源平面指纹图
getSourcePlainFingerPrintDetail(barcode) { getSourcePlainFingerPrintDetail(barcode, type) {
let self = this; let self = this;
this.loadingIndex++;
// 平面 // 平面
this.$axios this.$axios
.post("/api/org/plainByBarcode/barcode", { .post(
barcode: this.sourcebarcode "/api/org/plainByBarcode/barcode",
}) {
.then(function(response) { barcode: this.sourcebarcode,
},
{ loading: false }
)
.then(function (response) {
self.loadingIndex--;
if (response.data.code === 0) { if (response.data.code === 0) {
console.info("源plan", response.data.ret); console.info("源plan", response.data.ret);
response.data.ret.forEach((element, index) => { response.data.ret.forEach((element, index) => {
// 源 左手 平面 // 源 左手 平面
self.sourceFingersLeftL.forEach(item => { self.sourceFingersLeftL.forEach((item) => {
if (item.code === element.seq) { if (item.code === element.seq) {
item.img = element.image; item.img = element.image;
} }
}); });
// 源 右手 平面 // 源 右手 平面
self.sourceFingersRightL.forEach(item => { self.sourceFingersRightL.forEach((item) => {
if (item.code === element.seq) { if (item.code === element.seq) {
item.img = element.image; item.img = element.image;
} }
}); });
// 去掉加载状态
self.fingerLoading = false;
}); });
} else if (response.data.code === 4) {
// 去掉加载状态
self.fingerLoading = false;
} }
}) })
.catch(function(error) { .catch(function (error) {
console.log(error); console.log(error);
}); });
}, },
// 获取源滚动指纹图 // 获取源滚动指纹图
getSourceRollFingerPrintDetail(barcode) { getSourceRollFingerPrintDetail(barcode, type) {
this.loadingIndex++;
let self = this; let self = this;
// 滚动 源数据 // 滚动 源数据
this.$axios this.$axios
.post("/api/org/rollByBarcode/barcode", { barcode: barcode }) .post(
.then(function(response) { "/api/org/rollByBarcode/barcode",
{ barcode: barcode },
{ loading: false }
)
.then(function (response) {
self.loadingIndex--;
if (response.data.code === 0) { if (response.data.code === 0) {
console.info("源roll", response.data.ret); console.info("源roll", response.data.ret);
response.data.ret.forEach((element, index) => { response.data.ret.forEach((element, index) => {
// 源 左手 滚动 // 源 左手 滚动
self.sourceFingersLeftR.forEach(item => { self.sourceFingersLeftR.forEach((item) => {
if (item.code === element.seq) { if (item.code === element.seq) {
item.img = element.image; item.img = element.image;
} }
}); });
// 源 右手 滚动 // 源 右手 滚动
self.sourceFingersRightR.forEach(item => { self.sourceFingersRightR.forEach((item) => {
if (item.code === element.seq) { if (item.code === element.seq) {
item.img = element.image; item.img = element.image;
} }
}); });
}); });
// 去掉加载状态
self.fingerLoading = false;
} else if (response.data.code === 4) {
// 去掉加载状态
self.fingerLoading = false;
} }
}) })
.catch(function(error) { .catch(function (error) {
console.log(error); console.log(error);
}); });
}, },
// 获取目标的滚动指纹图 // 获取目标的滚动指纹图
getDestRollFingerPrintDetail(barcode) { getDestRollFingerPrintDetail(barcode) {
let self = this; let self = this;
this.loadingIndex++;
// 平面 目标 // 平面 目标
this.$axios this.$axios
.post("/api/org/plainByBarcode/barcode", { .post(
barcode: this.destbarcode "/api/org/plainByBarcode/barcode",
}) {
.then(function(response) { barcode: this.destbarcode,
},
{ loading: false }
)
.then(function (response) {
self.loadingIndex--;
if (response.data.code === 0) { if (response.data.code === 0) {
console.info("目标plan", response.data.ret); console.info("目标plan", response.data.ret);
response.data.ret.forEach((element, index) => { response.data.ret.forEach((element, index) => {
// 目标 左手 平面 // 目标 左手 平面
self.destFingersLeftL.forEach(item => { self.destFingersLeftL.forEach((item) => {
if (item.code === element.seq) { if (item.code === element.seq) {
item.img = element.image; item.img = element.image;
} }
}); });
// 目标 右手 平面 // 目标 右手 平面
self.destFingersRightL.forEach(item => { self.destFingersRightL.forEach((item) => {
if (item.code === element.seq) { if (item.code === element.seq) {
item.img = element.image; item.img = element.image;
} }
...@@ -962,41 +1088,44 @@ export default { ...@@ -962,41 +1088,44 @@ export default {
self.fingerLoading = false; self.fingerLoading = false;
} }
}) })
.catch(function(error) { .catch(function (error) {
console.log(error); console.log(error);
}); });
}, },
// 获取目标的平面指纹图 // 获取目标的平面指纹图
getDestPlainFingerPrintDetail(barcode) { getDestPlainFingerPrintDetail(barcode) {
let self = this; let self = this;
this.loadingIndex++;
// 滚动 目标数据 // 滚动 目标数据
this.$axios this.$axios
.post("/api/org/rollByBarcode/barcode", { barcode: this.destbarcode }) .post(
.then(function(response) { "/api/org/rollByBarcode/barcode",
{ barcode: this.destbarcode },
{ loading: false }
)
.then(function (response) {
self.loadingIndex--;
if (response.data.code === 0) { if (response.data.code === 0) {
response.data.ret.forEach((element, index) => { response.data.ret.forEach((element, index) => {
console.info("目标roll", response.data.ret); console.info("目标roll", response.data.ret);
// 目标 左手 滚动 // 目标 左手 滚动
self.destFingersLeftR.forEach(item => { self.destFingersLeftR.forEach((item) => {
if (item.code === element.seq) { if (item.code === element.seq) {
item.img = element.image; item.img = element.image;
} }
}); });
// 目标 右手 滚动 // 目标 右手 滚动
self.destFingersRightR.forEach(item => { self.destFingersRightR.forEach((item) => {
if (item.code === element.seq) { if (item.code === element.seq) {
item.img = element.image; item.img = element.image;
} }
}); });
}); // 去掉加载状态 }); // 去掉加载状态
self.fingerLoading = false;
} else if (response.data.code === 4) { } else if (response.data.code === 4) {
// 去掉加载状态
self.fingerLoading = false;
} }
console.log(response); console.log(response);
}) })
.catch(function(error) { .catch(function (error) {
console.log(error); console.log(error);
}); });
}, },
...@@ -1035,19 +1164,23 @@ export default { ...@@ -1035,19 +1164,23 @@ export default {
// 获取用户信息 // 获取用户信息
getUserInfo(id = 1) { getUserInfo(id = 1) {
let self = this; let self = this;
this.loadingIndex++;
this.$axios({ this.$axios({
method: "post", method: "post",
url: "/api/user/searchByUserid", url: "/api/user/searchByUserid",
loading: false,
data: { data: {
id: id id: id,
} },
}).then(async res => { }).then(async (res) => {
self.loadingIndex--;
if (res.data.code == 0) { if (res.data.code == 0) {
let data = res.data.ret[0]; let data = res.data.ret[0];
console.log("userInfo===>", data); console.log("userInfo===>", data);
let dw = await self.$axios({ let dw = await self.$axios({
method: "get", method: "get",
url: "/api/code/unit/one/" + data.userunit url: "/api/code/unit/one/" + data.userunit,
loading: false,
}); });
let time = new Date(data.updatetime); let time = new Date(data.updatetime);
self.bzsj = Utils.timeStampTurnTime2(time); self.bzsj = Utils.timeStampTurnTime2(time);
...@@ -1071,11 +1204,16 @@ export default { ...@@ -1071,11 +1204,16 @@ export default {
// 认定完成 // 认定完成
Rdwc() { Rdwc() {
console.info("认定完成"); console.info("认定完成");
this.loadingIndex++;
// 认定之前的操作 // 认定之前的操作
this.$axios this.$axios
.post("/api/matchcand/affirm/confirm", { qqid: this.currentQqid }) .post(
.then(res => { "/api/matchcand/affirm/confirm",
{ qqid: this.currentQqid },
{ loading: false }
)
.then((res) => {
this.loadingIndex--;
console.log(res); console.log(res);
if (!res.data.ret) { if (!res.data.ret) {
this.isShowrdwcDialogBg = true; this.isShowrdwcDialogBg = true;
...@@ -1091,17 +1229,23 @@ export default { ...@@ -1091,17 +1229,23 @@ export default {
let self = this; let self = this;
this.isShowrdwcDialogBg = false; this.isShowrdwcDialogBg = false;
this.isShowrdwcDialog = false; this.isShowrdwcDialog = false;
this.loadingIndex++;
// 1:倒查 // 1:倒查
let querytype = 0; let querytype = 0;
this.$axios this.$axios
.post("/api/matchcand/affirm/finish", { .post(
"/api/matchcand/affirm/finish",
{
srcbarcode: self.sourcebarcode, srcbarcode: self.sourcebarcode,
destbarcode: self.destbarcode, destbarcode: self.destbarcode,
qqid: self.currentQqid, qqid: self.currentQqid,
qid: self.qid, qid: self.qid,
querytype: querytype querytype: querytype,
}) },
.then(response => { { loading: false }
)
.then((response) => {
this.loadingIndex--;
// 跟新列表数据 // 跟新列表数据
self.$bus.emit("updateTTSourceData"); self.$bus.emit("updateTTSourceData");
console.log(response); console.log(response);
...@@ -1138,21 +1282,27 @@ export default { ...@@ -1138,21 +1282,27 @@ export default {
confirmbz() { confirmbz() {
let self = this; let self = this;
console.log("比中"); console.log("比中");
this.loadingIndex++;
let querytype = 0; let querytype = 0;
this.$axios this.$axios
.post("/api/matchcand/affirm/hit", { .post(
"/api/matchcand/affirm/hit",
{
srcbarcode: self.sourcebarcode, srcbarcode: self.sourcebarcode,
destbarcode: self.destbarcode, destbarcode: self.destbarcode,
// affirmstatus: "1" // affirmstatus: "1"
querytype: "0", querytype: "0",
qqid: self.currentQqid qqid: self.currentQqid,
}) },
.then(response => { { loading: false }
)
.then((response) => {
this.loadingIndex--;
// 跟新列表数据 // 跟新列表数据
self.$bus.emit("updateTTSourceData"); self.$bus.emit("updateTTSourceData");
console.log(response); console.log(response);
}) })
.catch(err => { .catch((err) => {
this.$message.error("比中失败!"); this.$message.error("比中失败!");
}); });
self.isShowbzDialogBg = false; self.isShowbzDialogBg = false;
...@@ -1210,28 +1360,28 @@ export default { ...@@ -1210,28 +1360,28 @@ export default {
{ name: "食", code: 7, img: null }, { name: "食", code: 7, img: null },
{ name: "中", code: 8, img: null }, { name: "中", code: 8, img: null },
{ name: "环", code: 9, img: null }, { name: "环", code: 9, img: null },
{ name: "小", code: 10, img: null } { name: "小", code: 10, img: null },
]), ]),
(this.sourceFingersRightR = [ (this.sourceFingersRightR = [
{ name: "拇", code: 1, img: null }, { name: "拇", code: 1, img: null },
{ name: "食", code: 2, img: null }, { name: "食", code: 2, img: null },
{ name: "中", code: 3, img: null }, { name: "中", code: 3, img: null },
{ name: "环", code: 4, img: null }, { name: "环", code: 4, img: null },
{ name: "小", code: 5, img: null } { name: "小", code: 5, img: null },
]), ]),
(this.sourceFingersLeftL = [ (this.sourceFingersLeftL = [
{ name: "拇", code: 16, img: null }, { name: "拇", code: 16, img: null },
{ name: "食", code: 17, img: null }, { name: "食", code: 17, img: null },
{ name: "中", code: 18, img: null }, { name: "中", code: 18, img: null },
{ name: "环", code: 19, img: null }, { name: "环", code: 19, img: null },
{ name: "小", code: 20, img: null } { name: "小", code: 20, img: null },
]), ]),
(this.sourceFingersRightL = [ (this.sourceFingersRightL = [
{ name: "拇", code: 11, img: null }, { name: "拇", code: 11, img: null },
{ name: "食", code: 12, img: null }, { name: "食", code: 12, img: null },
{ name: "中", code: 13, img: null }, { name: "中", code: 13, img: null },
{ name: "环", code: 14, img: null }, { name: "环", code: 14, img: null },
{ name: "小", code: 15, img: null } { name: "小", code: 15, img: null },
]); ]);
}, },
// 清空目标指纹图 // 清空目标指纹图
...@@ -1241,28 +1391,28 @@ export default { ...@@ -1241,28 +1391,28 @@ export default {
{ name: "食", code: 7, img: null }, { name: "食", code: 7, img: null },
{ name: "中", code: 8, img: null }, { name: "中", code: 8, img: null },
{ name: "环", code: 9, img: null }, { name: "环", code: 9, img: null },
{ name: "小", code: 10, img: null } { name: "小", code: 10, img: null },
]), ]),
(this.destFingersRightR = [ (this.destFingersRightR = [
{ name: "拇", code: 1, img: null }, { name: "拇", code: 1, img: null },
{ name: "食", code: 2, img: null }, { name: "食", code: 2, img: null },
{ name: "中", code: 3, img: null }, { name: "中", code: 3, img: null },
{ name: "环", code: 4, img: null }, { name: "环", code: 4, img: null },
{ name: "小", code: 5, img: null } { name: "小", code: 5, img: null },
]), ]),
(this.destFingersLeftL = [ (this.destFingersLeftL = [
{ name: "拇", code: 16, img: null }, { name: "拇", code: 16, img: null },
{ name: "食", code: 17, img: null }, { name: "食", code: 17, img: null },
{ name: "中", code: 18, img: null }, { name: "中", code: 18, img: null },
{ name: "环", code: 19, img: null }, { name: "环", code: 19, img: null },
{ name: "小", code: 20, img: null } { name: "小", code: 20, img: null },
]), ]),
(this.destFingersRightL = [ (this.destFingersRightL = [
{ name: "拇", code: 11, img: null }, { name: "拇", code: 11, img: null },
{ name: "食", code: 12, img: null }, { name: "食", code: 12, img: null },
{ name: "中", code: 13, img: null }, { name: "中", code: 13, img: null },
{ name: "环", code: 14, img: null }, { name: "环", code: 14, img: null },
{ name: "小", code: 15, img: null } { name: "小", code: 15, img: null },
]); ]);
}, },
scrollFunc(e) { scrollFunc(e) {
...@@ -1282,7 +1432,7 @@ export default { ...@@ -1282,7 +1432,7 @@ export default {
if (this.index >= this.colors) this.index = this.colors - 1; if (this.index >= this.colors) this.index = this.colors - 1;
window.scrollTo({ window.scrollTo({
top: 769 * this.index, top: 769 * this.index,
behavior: "smooth" behavior: "smooth",
}); });
} else if (e.detail) { } else if (e.detail) {
e.detail > 0 && this.index--; e.detail > 0 && this.index--;
...@@ -1291,19 +1441,19 @@ export default { ...@@ -1291,19 +1441,19 @@ export default {
if (this.index >= this.colors) this.index = this.colors - 1; if (this.index >= this.colors) this.index = this.colors - 1;
window.scrollTo({ window.scrollTo({
top: 769 * this.index, top: 769 * this.index,
behavior: "smooth" behavior: "smooth",
}); });
} }
} },
}, },
mounted() { mounted() {
this.finger(); this.finger();
this.$bus.on("ccbarcode", code => { this.$bus.on("ccbarcode", (code) => {
this.cleardest(); this.cleardest();
this.getDestRollFingerPrintDetail(code); this.getDestRollFingerPrintDetail(code);
this.getDestPlainFingerPrintDetail(code); this.getDestPlainFingerPrintDetail(code);
}); });
} },
}; };
</script> </script>
...@@ -1369,7 +1519,24 @@ div { ...@@ -1369,7 +1519,24 @@ div {
} }
} }
} }
.relative {
width: 100%;
height: 100%;
position: relative;
.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;
}
}
}
.main { .main {
width: 100%; width: 100%;
display: flex; display: flex;
......
...@@ -7,25 +7,25 @@ ...@@ -7,25 +7,25 @@
<div class="faces"> <div class="faces">
<div class="face_div"> <div class="face_div">
<div class="face"> <div class="face">
<img class="img" src="@/assets/img/face.gif" /> <img class="img" src="@/assets/img/zzjz/zmjz.gif" />
</div> </div>
<div class="face_label">正面</div> <div class="face_label">正面</div>
</div> </div>
<div class="face_div"> <div class="face_div">
<div class="face"> <div class="face">
<img class="img" src="@/assets/img/leftface.gif" /> <img class="img" src="@/assets/img/zzjz/zcjz.gif" />
</div> </div>
<div class="face_label">左侧面</div> <div class="face_label">左侧面</div>
</div> </div>
<div class="face_div"> <div class="face_div">
<div class="face"> <div class="face">
<img class="img" src="@/assets/img/rightface.gif" /> <img class="img" src="@/assets/img/zzjz/yljz.gif" />
</div> </div>
<div class="face_label">右侧面</div> <div class="face_label">右侧面</div>
</div> </div>
<div class="face_div"> <div class="face_div">
<div class="face"> <div class="face">
<img class="img-idcard" src="@/assets/img/idcard.gif" /> <img class="img-idcard" src="@/assets/img/zzjz/ID.gif" />
</div> </div>
<div class="face_label">身份证照</div> <div class="face_label">身份证照</div>
</div> </div>
...@@ -38,25 +38,25 @@ ...@@ -38,25 +38,25 @@
<div class="faces"> <div class="faces">
<div class="face_div"> <div class="face_div">
<div class="face"> <div class="face">
<img class="img" src="@/assets/img/face.gif" /> <img class="img" src="@/assets/img/zzjz/zmjz.gif" />
</div> </div>
<div class="face_label">正面</div> <div class="face_label">正面</div>
</div> </div>
<div class="face_div"> <div class="face_div">
<div class="face"> <div class="face">
<img class="img" src="@/assets/img/leftface.gif" /> <img class="img" src="@/assets/img/zzjz/zcjz.gif" />
</div> </div>
<div class="face_label">左侧面</div> <div class="face_label">左侧面</div>
</div> </div>
<div class="face_div"> <div class="face_div">
<div class="face"> <div class="face">
<img class="img" src="@/assets/img/rightface.gif" /> <img class="img" src="@/assets/img/zzjz/yljz.gif" />
</div> </div>
<div class="face_label">右侧面</div> <div class="face_label">右侧面</div>
</div> </div>
<div class="face_div"> <div class="face_div">
<div class="face"> <div class="face">
<img class="img-idcard" src="@/assets/img/idcard.gif" /> <img class="img-idcard" src="@/assets/img/zzjz/ID.gif" />
</div> </div>
<div class="face_label">身份证照</div> <div class="face_label">身份证照</div>
</div> </div>
...@@ -123,10 +123,10 @@ div { ...@@ -123,10 +123,10 @@ div {
/*-webkit-text-fill-color: transparent;*/ /*-webkit-text-fill-color: transparent;*/
} }
.img { .img {
margin-top: 30%; margin-top: 15%;
} }
.img-idcard { .img-idcard {
margin-top: 40%; margin-top: 5%;
} }
.tt_face_dest_label { .tt_face_dest_label {
width: 40px; width: 40px;
......
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-10-23 17:43:14 * @Date: 2021-10-23 17:43:14
* @LastEditTime: 2021-10-29 21:05:13 * @LastEditTime: 2021-11-10 17:38:25
* @LastEditors: your name * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\src\views\cxyrd\modules\TTPlam.vue * @FilePath: \指纹系统\founder_vue\src\views\cxyrd\modules\TTPlam.vue
--> -->
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<div class="slabel">源数据</div> <div class="slabel">源数据</div>
<br /> <br />
<div class="palm"> <div class="palm">
<img class="img" src="@/assets/img/handleft.gif" /> <img class="img" src="@/assets/img/zzjz/zsjz.gif" />
</div> </div>
<br /> <br />
<div class="left">左掌</div> <div class="left">左掌</div>
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
<div class="dlabel">目标数据</div> <div class="dlabel">目标数据</div>
<br /> <br />
<div class="palm"> <div class="palm">
<img class="img" src="@/assets/img/handright.gif" /> <img class="img" src="@/assets/img/zzjz/zsjz.gif" />
</div> </div>
<br /> <br />
<div class="palm_label">右掌</div> <div class="palm_label">右掌</div>
......
...@@ -85,8 +85,8 @@ ...@@ -85,8 +85,8 @@
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="name" prop="index"
label="文件名称" label="内序"
> >
</el-table-column> </el-table-column>
<!-- <el-table-column label="条码号"> <!-- <el-table-column label="条码号">
...@@ -150,8 +150,8 @@ ...@@ -150,8 +150,8 @@
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="name" prop="index"
label="文件名称" label="内序"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -225,7 +225,7 @@ ...@@ -225,7 +225,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div <div
v-if='scope.row.type==0' v-if='scope.row.type==0'
style="color: #ffa219;" style="color: #fa9500;"
>{{scope.row.type | typeNum}}</div> >{{scope.row.type | typeNum}}</div>
<div <div
v-if='scope.row.type==1' v-if='scope.row.type==1'
...@@ -233,7 +233,7 @@ ...@@ -233,7 +233,7 @@
>{{scope.row.type | typeNum}}</div> >{{scope.row.type | typeNum}}</div>
<div <div
v-if='scope.row.type==2' v-if='scope.row.type==2'
style="color: #08BD9E;" style="color: #00b47a;"
>{{scope.row.type | typeNum}}</div> >{{scope.row.type | typeNum}}</div>
<div <div
v-if='scope.row.type==3' v-if='scope.row.type==3'
...@@ -282,7 +282,7 @@ ...@@ -282,7 +282,7 @@
<el-table <el-table
height="550" height="550"
:data="selectArr" :data="selectArr"
ref="selection" ref="dataTable"
@selection-change="checkRightAll" @selection-change="checkRightAll"
style="width: 100%" style="width: 100%"
> >
...@@ -306,7 +306,7 @@ ...@@ -306,7 +306,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div <div
v-if='scope.row.type==0' v-if='scope.row.type==0'
style="color: #ffa219;" style="color: #fa9500;"
>{{scope.row.type | typeNum}}</div> >{{scope.row.type | typeNum}}</div>
<div <div
v-if='scope.row.type==1' v-if='scope.row.type==1'
...@@ -314,7 +314,7 @@ ...@@ -314,7 +314,7 @@
>{{scope.row.type | typeNum}}</div> >{{scope.row.type | typeNum}}</div>
<div <div
v-if='scope.row.type==2' v-if='scope.row.type==2'
style="color: #08BD9E;" style="color: #00b47a;"
>{{scope.row.type | typeNum}}</div> >{{scope.row.type | typeNum}}</div>
<div <div
v-if='scope.row.type==3' v-if='scope.row.type==3'
...@@ -393,10 +393,10 @@ ...@@ -393,10 +393,10 @@
:modal-append-to-body="false" :modal-append-to-body="false"
> >
<div v-if="showProgress"> <div v-if="showProgress">
<el-progress <!-- <el-progress
type="circle" type="circle"
:percentage="UploadPercent" :percentage="UploadPercent"
></el-progress> ></el-progress> -->
<div style="margin-top:.9375rem; margin-bottom:.9375rem;font-size: .875rem;font-family: MicrosoftYaHei;color: #909090;">正在解析指纹文件,点击“取消”可终止处理</div> <div style="margin-top:.9375rem; margin-bottom:.9375rem;font-size: .875rem;font-family: MicrosoftYaHei;color: #909090;">正在解析指纹文件,点击“取消”可终止处理</div>
<el-button @click="abort">取 消</el-button> <el-button @click="abort">取 消</el-button>
</div> </div>
...@@ -563,6 +563,16 @@ export default { ...@@ -563,6 +563,16 @@ export default {
onChange (file, fileList) { onChange (file, fileList) {
// console.log(file.raw, 2222233333) // console.log(file.raw, 2222233333)
console.log(fileList[0], 1111) console.log(fileList[0], 1111)
// 重复文件过滤
let existFile = fileList.slice(0, fileList.length - 1).find(f => f.name === file.name)
if (existFile) {
this.$message.error('当前文件已经存在!');
fileList.pop()
}
// 获取文件夹 // 获取文件夹
// var folder = fileList[0].raw.webkitRelativePath.split("/"); // var folder = fileList[0].raw.webkitRelativePath.split("/");
// console.log('fffff', folder[0]) // console.log('fffff', folder[0])
...@@ -574,7 +584,6 @@ export default { ...@@ -574,7 +584,6 @@ export default {
var reader = new FileReader(); var reader = new FileReader();
reader.readAsText(file); reader.readAsText(file);
if (this.drlx == 3) { if (this.drlx == 3) {
console.log('333333')
that.action = '/api/upload/person' that.action = '/api/upload/person'
reader.onload = function () { reader.onload = function () {
const reg = /\<ysxt_asjxgrybh\>(.*?)\<\/ysxt_asjxgrybh\>/ const reg = /\<ysxt_asjxgrybh\>(.*?)\<\/ysxt_asjxgrybh\>/
...@@ -582,7 +591,7 @@ export default { ...@@ -582,7 +591,7 @@ export default {
that.$set(newlist[i], 'barcode', barcode[1]) that.$set(newlist[i], 'barcode', barcode[1])
} }
} else if (this.drlx == 6) { } else if (this.drlx == 6) {
that.action = '/api/upload/person' that.action = '/api/upload/case'
reader.onload = function () { reader.onload = function () {
const reg = /\<ysxt_asjbh\>(.*?)\<\/ysxt_asjbh\>/ const reg = /\<ysxt_asjbh\>(.*?)\<\/ysxt_asjbh\>/
let barcode = this.result.match(reg) let barcode = this.result.match(reg)
...@@ -657,10 +666,71 @@ export default { ...@@ -657,10 +666,71 @@ export default {
}, },
// 上传 // 上传
submitUpload () { submitUpload () {
// 创建一个空的FormData对象:
const formData = new FormData()
// 可以使用FormData.append来添加键/值对到表单里面;
this.nowSelectRightData.forEach((file) => {
formData.append('file', file.raw)
})
// 添加自定义参数,不传可删除
// formData.append('parentId', '49')
// formData.append('uploadType', '备料单')
// formData.append('versions', 'v4.0')
console.log('formData', formData)
// console.log('this.selectArr', this.selectArr) // console.log('this.selectArr', this.selectArr)
// console.log('this.nowSelectRightData', this.nowSelectRightData) // console.log('this.nowSelectRightData', this.nowSelectRightData)
this.$refs.upload.uploadFiles = this.nowSelectRightData // this.$refs.upload.uploadFiles = formData
this.$refs.upload.submit(); // console.log('this.$refs.upload.uploadFiles', this.$refs.upload.uploadFiles)
// this.$refs.upload.submit();
// 自定义上传
// axios
// .post(this.upload.url, formData, { headers: { 'Content-Type': 'multipart/form-data', Authorization: getToken() } })
// .then(response => {
// if (response.code == 200) {
// this.upload.open = false;
// this.upload.isUploading = false;
// this.$refs.upload.clearFiles();
// this.msgSuccess('上传成功!');
// } else {
// this.$message.error(response.msg);
// }
// })
// .catch(error => {
// this.$message.error('上传失败!');
// });
// this.$axios
// .post(this.action, formData, { headers: { 'Content-Type': 'multipart/form-data' }, loading: false })
this.dialogVisible = true;
this.$axios({
method: 'post',
url: this.action,
data: formData,
loading: false
}).then(res => {
if (res.data.code === 0) {
// this.tableDate = response.data.ret.list;
// this.reqParam.page.total = response.data.ret.total;
if (this.drlx == 3 || this.drlx == 6) {
this.successCount = res.data.ret.successCount
this.failCount = res.data.ret.failCount
this.showProgress = false;
} else if (this.drlx == 9) {
this.successCount = res.data.ret.successCount
this.failCount = res.data.ret.failCount
this.showProgress = false;
}
// this.$refs.upload.clearFiles()
this.showProgress = false;
console.info("查询结果===>", res);
// this.userInfo = this.getUserInfo(this.tableDate);
} else {
this.$message.error(res.data.message);
}
});
}, },
// 删除文件 // 删除文件
handleRemove (file, fileList) { handleRemove (file, fileList) {
...@@ -742,12 +812,15 @@ export default { ...@@ -742,12 +812,15 @@ export default {
this.nowSelectData = val; this.nowSelectData = val;
}, },
checkRightAll (val) { checkRightAll (val) {
console.log('val', val) // console.log('val111', val)
this.nowSelectRightData = val; this.nowSelectRightData = val;
}, },
// 选中 // 选中
handelSelect () { handelSelect () {
// this.checkRightAll(this.nowSelectData)
// this.nowSelectRightData.push(this.nowSelectData)
this.selectArr = this.handleConcatArr(this.selectArr, this.nowSelectData) this.selectArr = this.handleConcatArr(this.selectArr, this.nowSelectData)
this.nowSelectRightData = this.selectArr
this.handleRemoveTabList(this.nowSelectData, this.datas); this.handleRemoveTabList(this.nowSelectData, this.datas);
this.nowSelectData = []; this.nowSelectData = [];
}, },
......
...@@ -8,15 +8,20 @@ ...@@ -8,15 +8,20 @@
class='head' class='head'
v-if="showType==1" v-if="showType==1"
> >
<el-radio-group v-model="drlx"> <el-radio-group
<el-radio :label="3">人员</el-radio> v-model="dataType"
<el-radio :label="6">案件</el-radio> class="chooseType"
>
<el-radio :label="1">人员</el-radio>
<el-radio :label="2">案件</el-radio>
</el-radio-group> </el-radio-group>
<div class='search tmh'> <div class='search barcode'>
<div class='item'> 条码号:</div> <div class='item'> 条码号:</div>
<el-input <el-input
placeholder="请输入条码号" placeholder="请输入条码号"
v-model="tmh" v-model="barcode"
maxlength="23"
show-word-limit
clearable clearable
> >
</el-input> </el-input>
...@@ -24,12 +29,11 @@ ...@@ -24,12 +29,11 @@
<div class='search ljfk'> <div class='search ljfk'>
<div class='item'> 逻辑分库:</div> <div class='item'> 逻辑分库:</div>
<el-select <el-select
v-model="value" v-model="logicDatabase"
clearable
placeholder="请选择逻辑分库" placeholder="请选择逻辑分库"
> >
<el-option <el-option
v-for="item in options" v-for="item in logicDatabaseoptions"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
...@@ -37,11 +41,13 @@ ...@@ -37,11 +41,13 @@
</el-option> </el-option>
</el-select> </el-select>
</div> </div>
<div class='search rwh'> <div class='search taskNumber'>
<div class='item'> 任务号:</div> <div class='item'> 任务号:</div>
<el-input <el-input
placeholder="请输入任务号" placeholder="请输入任务号"
v-model="rwh" v-model="taskNumber"
maxlength="14"
show-word-limit
clearable clearable
> >
</el-input> </el-input>
...@@ -49,12 +55,11 @@ ...@@ -49,12 +55,11 @@
<div class='search rkzt'> <div class='search rkzt'>
<div class='item'> 入库状态:</div> <div class='item'> 入库状态:</div>
<el-select <el-select
v-model="value" v-model="status"
clearable
placeholder="请选择入库状态" placeholder="请选择入库状态"
> >
<el-option <el-option
v-for="item in options" v-for="item in statusoptions"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
...@@ -77,24 +82,40 @@ ...@@ -77,24 +82,40 @@
class='head' class='head'
v-if="showType==2" v-if="showType==2"
> >
<div class='search tmh'> <div class='search barcode'>
<div class='item'> 条码号:</div> <div class='item'> 条码号:</div>
<el-input <el-input
placeholder="请输入条码号" placeholder="请输入条码号"
v-model="tmh" v-model="barcode"
maxlength="23"
show-word-limit
clearable clearable
> >
</el-input> </el-input>
</div> </div>
<div class='search ljfk'> <div class='search ljfk'>
<div class='item'>查询类型:</div>
<el-select
v-model="queryType"
placeholder="请选择查询类型"
>
<el-option
v-for="item in queryTypeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</div>
<div class='search ljfk'>
<div class='item'> 逻辑分库:</div> <div class='item'> 逻辑分库:</div>
<el-select <el-select
v-model="value" v-model="logicDatabase"
clearable
placeholder="请选择逻辑分库" placeholder="请选择逻辑分库"
> >
<el-option <el-option
v-for="item in options" v-for="item in logicDatabaseoptions"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
...@@ -102,24 +123,23 @@ ...@@ -102,24 +123,23 @@
</el-option> </el-option>
</el-select> </el-select>
</div> </div>
<div class='search rwh'> <!-- <div class='search taskNumber'>
<div class='item'> 任务号:</div> <div class='item'> 任务号:</div>
<el-input <el-input
placeholder="请输入任务号" placeholder="请输入任务号"
v-model="rwh" v-model="taskNumber"
clearable clearable
> >
</el-input> </el-input>
</div> </div> -->
<div class='search rkzt'> <div class='search rkzt'>
<div class='item'> 入库状态:</div> <div class='item'> 入库状态:</div>
<el-select <el-select
v-model="value" v-model="status"
clearable
placeholder="请选择入库状态" placeholder="请选择入库状态"
> >
<el-option <el-option
v-for="item in options" v-for="item in statusoptions"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
...@@ -127,7 +147,7 @@ ...@@ -127,7 +147,7 @@
</el-option> </el-option>
</el-select> </el-select>
</div> </div>
<div class='search sjxz'> <!-- <div class='search sjxz'>
<div class='item'> 时间选择:</div> <div class='item'> 时间选择:</div>
<el-date-picker <el-date-picker
v-model="value1" v-model="value1"
...@@ -136,7 +156,7 @@ ...@@ -136,7 +156,7 @@
end-placeholder="结束日期" end-placeholder="结束日期"
> >
</el-date-picker> </el-date-picker>
</div> </div> -->
</div> </div>
<!-- 二 --> <!-- 二 -->
<div class="buttons"> <div class="buttons">
...@@ -150,7 +170,7 @@ ...@@ -150,7 +170,7 @@
</el-radio-group> </el-radio-group>
</div> </div>
<div class='right'> <div class='right'>
<el-button>筛选</el-button> <el-button @click='search'>筛选</el-button>
</div> </div>
</div> </div>
...@@ -204,10 +224,11 @@ ...@@ -204,10 +224,11 @@
>清除</el-link> >清除</el-link>
</el-tag> </el-tag>
<!-- 五 --> <!-- 五 -->
<div v-if="showType==1">
<el-table <el-table
max-height="550" max-height="500"
ref="multipleTable" ref="multipleTable"
:data="tableDate" :data="tableDate1"
tooltip-effect="dark" tooltip-effect="dark"
style="width: 100%" style="width: 100%"
row-key="sequenceNumber" row-key="sequenceNumber"
...@@ -245,7 +266,7 @@ ...@@ -245,7 +266,7 @@
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="dataType" prop="logicDatabase"
label="逻辑分库" label="逻辑分库"
width="auto" width="auto"
> >
...@@ -321,6 +342,129 @@ ...@@ -321,6 +342,129 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</div>
<el-table
v-if="showType==2"
max-height="500"
ref="multipleTable"
:data="tableDate2"
tooltip-effect="dark"
style="width: 100%"
row-key="sequenceNumber"
:tree-props="{children: 'affirmImportRecordGrandchildren', hasChildren: 'hasChildren'}"
@selection-change="handleSelectionChange"
>
<el-table-column
type="selection"
width="auto"
v-if="isSelected"
>
</el-table-column>
<el-table-column
prop="taskNumber"
label="任务号"
width="200"
>
</el-table-column>
<el-table-column
prop="fileName"
label="文件名"
width="300"
>
</el-table-column>
<el-table-column
prop="queryType"
label="查询类型"
width="auto"
>
</el-table-column>
<el-table-column
prop="barcode"
label="人员编号/案事件编号"
width="300"
>
<template slot-scope="scope">
<div>{{scope.row.srcBarcode}}</div>
<div>{{scope.row.destBarcode}}</div>
</template>
</el-table-column>
<el-table-column
prop="logicDatabase"
label="逻辑分库"
width="auto"
>
</el-table-column>
<el-table-column
prop="status"
label="状态"
width="auto"
>
</el-table-column>
<el-table-column
fixed="right"
label="操作"
width="100"
>
<template slot-scope="scope">
<div class="ops">
<el-tooltip
class="item"
effect="dark"
content="编辑"
placement="top"
:open-delay='500'
@click="handleClick(scope.row)"
>
<div
class="icon bj"
@click="handleClick(scope.row)"
>
<img
src="../../assets/img/qbryk/bj.svg"
alt=""
>
</div>
</el-tooltip>
<el-tooltip
class="item"
effect="dark"
content="复制数据"
placement="top"
:open-delay='500'
>
<div
class="icon bz"
@click='isShowFztmBtn(scope.row)'
>
<img
src="../../assets/img/qbryk/bz.svg"
alt=""
>
</div>
</el-tooltip>
<el-tooltip
class="item"
effect="dark"
content="发查询"
placement="top"
:open-delay='500'
>
<div
class="icon look"
@click="isShowFcxBtn1(scope.row)"
>
<img
src="../../assets/img/qbryk/search.svg"
alt=""
>
</div>
</el-tooltip>
</div>
</template>
</el-table-column>
</el-table>
<!-- 六 --> <!-- 六 -->
<div class="block"> <div class="block">
<span class="record">共{{ reqParam.page.total }}条记录 第{{ reqParam.page.currPage }}/{{ Tpage }}页</span> <span class="record">共{{ reqParam.page.total }}条记录 第{{ reqParam.page.currPage }}/{{ Tpage }}页</span>
...@@ -375,16 +519,51 @@ export default { ...@@ -375,16 +519,51 @@ export default {
}, },
data () { data () {
return { return {
drlx: 3,// 导入类型 dataType: 1,// 导入类型
tmh: '',// 条码号 barcode: '',// 条码号
options: [{ logicDatabaseoptions: [{ // 逻辑库
value: '选项1', value: '1',
label: '黄金糕' label: '人员逻辑库'
}], }],
value: '',// 逻辑库 statusoptions: [
value1: '', { // 入库状态
rwh: '',// 任务号 value: '1',
showType: '1', label: '成功'
}, {
value: '0',
label: '失败'
}
],
status: null, // 入库状态
logicDatabase: '',// 逻辑库
value1: '', // 时间
taskNumber: '',// 任务号
showType: '1', // 1:人案 2:比中
queryType: '',// 比中类型
queryTypeOptions: [
{ // 比中类型
value: '0',
label: '查重'
},
{
value: '1',
label: '倒查'
},
{
value: '2',
label: '正查'
},
{
value: '3',
label: '串查'
},
],
tableDate1: [
], // 人员列表数据
tableDate2: [
], // 人员列表数据
...@@ -407,27 +586,66 @@ export default { ...@@ -407,27 +586,66 @@ export default {
checkboxQuery: [], //滚动平面等筛选条件 checkboxQuery: [], //滚动平面等筛选条件
} }
}, },
tableDate: [
], // 人员列表数据
multipleSelection: [], // 表单选择项目 multipleSelection: [], // 表单选择项目
isShowTip: false,//批量操作提示 isShowTip: false,//批量操作提示
selectionData: [], selectionData: [],
}; };
}, },
watch: {
showType (newNum, oldNum) {
// ...
console.log(newNum, 123)
this.search()
}
},
methods: { methods: {
// 获取全部人员列表请求 // 获取全部人员列表请求
search () { search () {
let reqUrl = null;
let reqParam = null;
if (this.showType == 1) {
reqUrl = "/api/record/import/pc/search"
reqParam = {
taskNumber: "", // 任务号
dataType: null, // 人员or案件
status: null,// 状态
barcode: '',// 条码号
logicDatabase: '',// 逻辑分库
}
reqParam.taskNumber = this.taskNumber
reqParam.dataType = Number(this.dataType)
// reqParam.status = Number(this.status)
reqParam.status = this.status != null ? Number(this.status) : null
reqParam.barcode = this.barcode
reqParam.logicDatabase = this.logicDatabase
} else if (this.showType == 2) {
// console.log('bizhong bizhong ')
reqUrl = "/api/record/import/affirm/search"
reqParam = {
status: null,// 状态
barcode: '',// 条码号
logicDatabase: '',// 逻辑分库
queryType: '',// 类型
}
reqParam.status = this.status != null ? Number(this.status) : null
reqParam.barcode = this.barcode
reqParam.logicDatabase = this.logicDatabase
reqParam.queryType = this.queryType
}
// console.info("请求===>", this.reqParam); // console.info("请求===>", this.reqParam);
this.$axios this.$axios
.get("/api/record/import/pc/search") .post(reqUrl, reqParam)
.then(response => { .then(response => {
// console.info("查询结果===>", response); // console.info("查询结果===>", response);
if (response.data.code === 0) { if (response.data.code === 0) {
this.tableDate = response.data.ret.pcImportRecordChildren; if (this.showType == 1) {
this.tableDate1 = response.data.ret.pcImportRecordChildren;
} else if (this.showType == 2) {
this.tableDate2 = response.data.ret.affirmImportRecordChildren;
}
// this.reqParam.page.total = response.data.ret.total; // this.reqParam.page.total = response.data.ret.total;
console.info("查询结果===>", this.tableDate); console.info("查询结果===>", this.tableDate);
// this.userInfo = this.getUserInfo(this.tableDate);
} else { } else {
this.$message.error(response.data.message); this.$message.error(response.data.message);
} }
...@@ -628,9 +846,13 @@ export default { ...@@ -628,9 +846,13 @@ export default {
display: flex; display: flex;
align-items: center; align-items: center;
} }
.tmh { .chooseType {
margin-top: 3px;
margin-right: 24px;
}
.barcode {
// margin-left: 65px; // margin-left: 65px;
margin-left: 24px; // margin-left: 24px;
.item { .item {
width: 60px; width: 60px;
font-size: 14px; font-size: 14px;
...@@ -661,7 +883,7 @@ export default { ...@@ -661,7 +883,7 @@ export default {
height: 32px; height: 32px;
} }
} }
.rwh { .taskNumber {
margin-left: 24px; margin-left: 24px;
.item { .item {
width: 80px; width: 80px;
...@@ -722,11 +944,11 @@ export default { ...@@ -722,11 +944,11 @@ export default {
/deep/.el-button { /deep/.el-button {
width: 72px; width: 72px;
height: 32px; height: 32px;
background: #ecedf1; background: #055fe7;
border-radius: 4px; border-radius: 4px;
font-size: 14px; font-size: 14px;
font-family: MicrosoftYaHei; font-family: MicrosoftYaHei;
color: #aeafb4; color: #ffffff;
line-height: 22px; line-height: 22px;
} }
} }
......
<template> <template>
<div id="homepage_hero_module" class="homepage_hero_module"> <div id="homepage_hero_module" class="homepage_hero_module">
<div class="video_container"> <!-- <div class="video_container">-->
<!-- <div :style="fixStyle" class="filter"></div>--> <!-- &lt;!&ndash; <div :style="fixStyle" class="filter"></div>&ndash;&gt;-->
<!-- autoplay 自动播放 loop 循环播放 muted 静音播放--> <!-- &lt;!&ndash; autoplay 自动播放 loop 循环播放 muted 静音播放&ndash;&gt;-->
<!-- <video autoplay loop muted class="fillWidth" v-on:canplay="canplay">--> <!-- &lt;!&ndash; <video autoplay loop muted class="fillWidth" v-on:canplay="canplay">&ndash;&gt;-->
<!-- <source :src="barcgroundUrl" type="video/mp4" />--> <!-- &lt;!&ndash; <source :src="barcgroundUrl" type="video/mp4" />&ndash;&gt;-->
<!-- 浏览器不支持 video 标签,建议升级浏览器。--> <!-- &lt;!&ndash; 浏览器不支持 video 标签,建议升级浏览器。&ndash;&gt;-->
<!-- </video>--> <!-- &lt;!&ndash; </video>&ndash;&gt;-->
<!-- &lt;!&ndash; todo 视频加载切换为图片加载 &ndash;&gt;--> <!-- &lt;!&ndash; &lt;!&ndash; todo 视频加载切换为图片加载 &ndash;&gt;&ndash;&gt;-->
<!-- &lt;!&ndash; 考虑视频加载失败 图片背景效果 &ndash;&gt;--> <!-- &lt;!&ndash; &lt;!&ndash; 考虑视频加载失败 图片背景效果 &ndash;&gt;&ndash;&gt;-->
<!-- <div class="poster hidden" v-if="!vedioCanPlay">--> <!-- &lt;!&ndash; <div class="poster hidden" v-if="!vedioCanPlay">&ndash;&gt;-->
<!-- <img :style="fixStyle" :src="barcgroundImgUrl" alt="" />--> <!-- &lt;!&ndash; <img :style="fixStyle" :src="barcgroundImgUrl" alt="" />&ndash;&gt;-->
<!-- &lt;!&ndash; </div>&ndash;&gt;-->
<!-- -->
<!-- </div>--> <!-- </div>-->
<img src="@/assets/img/login/login.gif" /> <img class="video_container" src="@/assets/img/login/login.gif" />
</div> <div :style="drawerStyle" class="login_main_layer" ref="loginWindow">
<transition name="slide_fade"> <div>
<div :style="drawerStyle" class="login_main_layer" v-if="isShow">
<transition name="login_fade">
<div v-if="loginShow">
<div class=" login_top_layer middle"> <div class=" login_top_layer middle">
<el-image class="login_emblem middle" :src="emblemUrl"></el-image> <el-image class="login_emblem middle" :src="emblemUrl"></el-image>
<br /> <br />
...@@ -42,22 +41,16 @@ ...@@ -42,22 +41,16 @@
</el-button> </el-button>
</div> </div>
<div> <div>
<accountsLogin <accountsLogin :login-type="loginType.accountStatus"></accountsLogin>
:login-type="loginType.accountStatus"
></accountsLogin>
</div> </div>
<div> <div>
<keyLogin :login-type="loginType.keyStatus"></keyLogin> <keyLogin :login-type="loginType.keyStatus"></keyLogin>
</div> </div>
</div> </div>
</transition>
<div class="login_bottom_layer middle "> <div class="login_bottom_layer middle ">
<span class=" font_color" <span class=" font_color">Copyright&nbsp;©&nbsp;2021&nbsp;Founder</span>
>Copyright&nbsp;©&nbsp;2021&nbsp;Founder</span
>
</div> </div>
</div> </div>
</transition>
</div> </div>
</template> </template>
...@@ -74,8 +67,7 @@ export default { ...@@ -74,8 +67,7 @@ export default {
data() { data() {
return { return {
isShow: false, isShow: true,
loginShow: false,
// drawerHeight: null, // drawerHeight: null,
barcgroundUrl: require("../../assets/video/login.mp4"), barcgroundUrl: require("../../assets/video/login.mp4"),
barcgroundImgUrl: require("../../assets/img/login/background.png"), barcgroundImgUrl: require("../../assets/img/login/background.png"),
...@@ -110,15 +102,18 @@ export default { ...@@ -110,15 +102,18 @@ export default {
}, },
created() { created() {
var me = this; var me = this;
console.log(this.$refs.loginWindow);
// 动画加载时间 // 动画加载时间
setTimeout(() => { // setTimeout(() => {
me.isShow = true; // me.isShow = true;
}, 1000); // }, 1000);
setTimeout(() => {
me.loginShow = true;
}, 3000);
}, },
mounted() { mounted() {
this.$nextTick(() => {
console.log(this.$refs.loginWindow);
this.$refs.loginWindow.right = "0px";
});
this.loginType.accountStatus = true; this.loginType.accountStatus = true;
if (localStorage.getItem("token") !== null) { if (localStorage.getItem("token") !== null) {
this.$router.push("/Home/Home"); this.$router.push("/Home/Home");
...@@ -177,6 +172,8 @@ export default { ...@@ -177,6 +172,8 @@ export default {
width: 100vw; width: 100vw;
height: 100vh; height: 100vh;
overflow: hidden; overflow: hidden;
background: rgba(36, 54, 76, 0.5);
position: relative;
} }
.homepage_hero_module img { .homepage_hero_module img {
width: 100%; width: 100%;
...@@ -224,6 +221,7 @@ video { ...@@ -224,6 +221,7 @@ video {
} */ } */
.video_container { .video_container {
height: 100%; height: 100%;
width: 100%;
} }
.video_container .poster img, .video_container .poster img,
.video_container video { .video_container video {
...@@ -238,30 +236,30 @@ video { ...@@ -238,30 +236,30 @@ video {
/*opacity: 0.5;*/ /*opacity: 0.5;*/
} }
/*滑动进入*/ /*!*滑动进入*!*/
/* 可以设置不同的进入和离开动画 */ /*!* 可以设置不同的进入和离开动画 *!*/
/* 设置动画持续时间和动画函数 */ /*!* 设置动画持续时间和动画函数 *!*/
.slide_fade-enter-active { /*.slide_fade-enter-active {*/
transition: all 2s ease; /* transition: all 2s ease;*/
} /*}*/
.slide_fade-leave-active { /*.slide_fade-leave-active {*/
transition: all 0.8s cubic-bezier(1, 0.5, 0.8, 1); /* transition: all 0.8s cubic-bezier(1, 0.5, 0.8, 1);*/
} /*}*/
.slide_fade-enter, .slide_fade-leave-to /*.slide_fade-enter, .slide_fade-leave-to*/
/* .slide-fade-leave-active for below version 2.1.8 */ /* !* .slide-fade-leave-active for below version 2.1.8 *!*/
{ /* {*/
transform: translateX(1000px); /* !*transform: translateX(100%);*!*/
opacity: 0; /* !*opacity: 0;*!*/
} /*}*/
/*淡入淡出*/ /*!*淡入淡出*!*/
.login_fade-enter-active, /*.login_fade-enter-active,*/
.login_-leave-active { /*.login_-leave-active {*/
/* opacity 透明度 */ /* !* opacity 透明度 *!*/
transition: opacity 2s; /* transition: opacity 2s;*/
} /*}*/
/* .fade-leave-active, 2.1.8 版本以下 */ /* .fade-leave-active, 2.1.8 版本以下 */
.login_fade-enter, .login_fade-enter,
...@@ -269,33 +267,33 @@ video { ...@@ -269,33 +267,33 @@ video {
opacity: 0; opacity: 0;
} }
@keyframes fade-in { /*@keyframes fade-in {*/
0% { /* 0% {*/
opacity: 0; /* opacity: 0;*/
} /* }*/
/*初始状态 透明度为0*/ /* !*初始状态 透明度为0*!*/
40% { /* 40% {*/
opacity: 0; /* opacity: 0;*/
} /* }*/
/*过渡状态 透明度为0*/ /* !*过渡状态 透明度为0*!*/
100% { /* 100% {*/
opacity: 1; /* opacity: 1;*/
} /* }*/
/*结束状态 透明度为1*/ /* !*结束状态 透明度为1*!*/
} /*}*/
@-webkit-keyframes fade-in { /*@-webkit-keyframes fade-in {*/
/*针对webkit内核*/ /* !*针对webkit内核*!*/
0% { /* 0% {*/
opacity: 0; /* opacity: 0;*/
} /* }*/
40% { /* 40% {*/
opacity: 0; /* opacity: 0;*/
} /* }*/
100% { /* 100% {*/
opacity: 1; /* opacity: 1;*/
} /* }*/
} /*}*/
/*#wrapper {*/ /*#wrapper {*/
/* animation: fade-in;!*动画名称*!*/ /* animation: fade-in;!*动画名称*!*/
...@@ -307,11 +305,12 @@ video { ...@@ -307,11 +305,12 @@ video {
height: 100%; height: 100%;
width: 600px; width: 600px;
position: absolute; position: absolute;
right: 0; right: -600px;
top: 0; top: 0;
z-index: 4; z-index: 4;
/*opacity: 0.5;*/ /*opacity: 0.5;*/
background: rgba(36, 54, 76, 0.5); background: rgba(36, 54, 76, 0.5);
transition: all 2s;
/*background-color: #24364c;*/ /*background-color: #24364c;*/
} }
...@@ -334,6 +333,7 @@ video { ...@@ -334,6 +333,7 @@ video {
z-index: 10; z-index: 10;
margin-bottom: 10px; margin-bottom: 10px;
opacity: 1; opacity: 1;
background: rgba(36, 54, 76, 0);
} }
.login_system { .login_system {
...@@ -341,11 +341,13 @@ video { ...@@ -341,11 +341,13 @@ video {
height: 55px; height: 55px;
opacity: 1; opacity: 1;
z-index: 10; z-index: 10;
background: rgba(36, 54, 76, 0);
} }
.login_top_layer { .login_top_layer {
margin-top: 20%; margin-top: 20%;
margin-bottom: 50px; margin-bottom: 50px;
background: rgba(36, 54, 76, 0);
} }
.login_bottom_layer { .login_bottom_layer {
......
...@@ -8,13 +8,13 @@ ...@@ -8,13 +8,13 @@
*/ */
const path = require("path"); const path = require("path");
// 引入等比适配插件 // 引入等比适配插件
const px2rem = require('postcss-px2rem') const px2rem = require("postcss-px2rem");
// 配置基本大小 // 配置基本大小
const postcss = px2rem({ const postcss = px2rem({
// 基准大小 baseSize,需要和rem.js中相同 // 基准大小 baseSize,需要和rem.js中相同
remUnit: 16 remUnit: 16
}) });
// const CompressionPlugin = require('compression-webpack-plugin'); // const CompressionPlugin = require('compression-webpack-plugin');
// const productionGzipExtensions = /\.(js|css|json|txt|html|ico|svg)(\?.*)?$/i; // const productionGzipExtensions = /\.(js|css|json|txt|html|ico|svg)(\?.*)?$/i;
...@@ -107,11 +107,20 @@ module.exports = { ...@@ -107,11 +107,20 @@ module.exports = {
}, },
"/login": { "/login": {
target: "http://47.92.226.24:3004/", // 登录 target: "http://47.92.226.24:3004/", // 登录
// target: "http://192.168.128.109:8765/", // 王
ws: true, ws: true,
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
"^/login": "" "^/login": ""
} }
},
"/system": {
target: "http://192.168.128.109:8765", // 湖南-王
ws: true,
changeOrigin: true,
pathRewrite: {
"^/system": ""
}
} }
// 阿里 // 阿里
// "/api": { // "/api": {
...@@ -127,9 +136,7 @@ module.exports = { ...@@ -127,9 +136,7 @@ module.exports = {
css: { css: {
loaderOptions: { loaderOptions: {
postcss: { postcss: {
plugins: [ plugins: [postcss]
postcss
]
} }
}, },
sourceMap: process.env.NODE_ENV === "development" ? true : false // 在开发环境下开启 CSS sourcemaps sourceMap: process.env.NODE_ENV === "development" ? true : false // 在开发环境下开启 CSS sourcemaps
......
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