Commit 6aca5566 by liyuhang19990520

串查、权限

parent 86eb7772
{
"tags": {
"allowUnknownTags": true,
"dictionaries": [
"jsdoc",
"closure"
]
},
"source": {
"include": [
"src/api"
],
"exclude": []
},
"opts": {
"template": "src/utils/docdash",
"encoding": "utf8",
"destination": "./public/docs/",
"recurse": true,
"verbose": false
},
"plugins": [],
"templates": {
"cleverLinks": false,
"monospaceLinks": false,
"default": {
"outputSourceFiles": true,
"useLongnameInNav": false,
"includeDate": true
}
}
}
\ No newline at end of file
......@@ -18,6 +18,7 @@
"element-ui": "^2.15.7",
"html2canvas": "^1.3.2",
"js-cookie": "^2.2.1",
"jwt-decode": "^3.1.2",
"lib-flexible": "^0.3.2",
"moment": "^2.29.1",
"nprogress": "^0.2.0",
......@@ -49,9 +50,11 @@
"@vue/eslint-config-prettier": "^6.0.0",
"axios": "^0.23.0",
"babel-eslint": "^10.1.0",
"docdash": "^1.2.0",
"eslint": "^6.7.2",
"eslint-plugin-prettier": "^3.1.3",
"eslint-plugin-vue": "^6.2.2",
"jsdoc": "^3.6.7",
"node-sass": "^4.12.0",
"prettier": "^1.19.1",
"sass-loader": "^8.0.2",
......
......@@ -1485,6 +1485,28 @@ div {
color: #CCCCCC;
}
}
.delDesc {
display: flex;
align-items: center;
font-size: 16px;
.del-icon {
width: 16px;
height: 16px;
margin-right: 3px;
}
.scsj {
font-size: 16px;
font-family: MicrosoftYaHei;
color: #E60012;
opacity: 0.5;
}
.scsj-content {
font-size: 16px;
font-family: MicrosoftYaHei;
color: #E60012;
margin-right: 24px;
}
}
.shade_target {
position: absolute;
top: 0;
......@@ -1512,6 +1534,9 @@ div {
font-family: MicrosoftYaHei;
color: #333333;
margin: 16px 0 0 24px;
display: flex;
align-items: center;
justify-content: space-between;
}
.edit {
width: 72px;
......
<!--
* @Author: your name
* @Date: 2021-09-09 09:28:46
* @LastEditTime: 2021-12-03 21:30:36
* @LastEditTime: 2021-12-08 15:11:05
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\src\views\cxyrd\LTz.vue
......@@ -406,7 +406,18 @@
<img class="del-img" src="@/assets/img/delete-image2.png" alt="">
<div class="del-name">源数据已删除,目标图像不显示</div>
</div>
<div class="title">目标数据</div>
<div class="del-pre" v-if="!isDelete && targetIsDelete">
<img class="del-img" src="@/assets/img/delete-image.png" alt="">
<div class="del-name">图像已删除</div>
</div>
<div class="title">
<span>目标数据</span>
<div class="delDesc" v-if="!isDelete && targetIsDelete">
<img class="del-icon" src="@/assets/img/del-time.png" alt="">
<span class="scsj">删除时间:</span>
<span class="scsj-content">{{targetDelTime}}</span>
</div>
</div>
<div class="preview-target" v-show="isShowTargetPrivew">
<img :src="previewTarget" alt="">
<img id="targetImage" style="display:none" :src="'data:image/jpeg;base64,'+targetImage" alt="">
......@@ -719,7 +730,12 @@ export default {
// 删除的信息
delMsg: '',
// 删除的时间
delTime: ''
delTime: '',
//目标删除标志
targetIsDelete: false,
//目标删除时间
targetDelTime: '',
};
},
components: {
......@@ -1930,7 +1946,6 @@ export default {
this.$bus.on('deleteMessage', (obj) => {
if(obj.delTime != null) {
self.isDelete = true
self.delMsg = obj.msg
self.delTime = obj.delTime
self.sourceImage = null;
imageEditor.loadImageFromURL("xxx.jpg", "SampleImage").then(function(sizeValue) {
......@@ -1951,6 +1966,23 @@ export default {
self.delTime = ''
}
})
this.$bus.on('targetDeleteMessage', (obj) => {
if(obj.delTime != null) {
self.targetIsDelete = true
self.targetDelTime = obj.delTime
self.targetImage = null;
imageEditor2.loadImageFromURL("xxx.jpg", "SampleImage").then(function(sizeValue) {
// //console.log(sizeValue);
imageEditor2.clearUndoStack();
}).catch(err => {
console.log(err);
});;
} else {
self.targetIsDelete = false
self.targetDelTime = ''
}
})
},
methods: {
/**
......@@ -5026,6 +5058,7 @@ export default {
this.$bus.off('changImageEdit');
this.$bus.off('changImageEditTarget')
this.$bus.off('deleteMessage')
this.$bus.off('targetDeleteMessage')
},
watch: {
isActive(val) {
......
......@@ -4,46 +4,28 @@
<div class="header">
<!-- 头部左侧 -->
<div class="left">
<div><img
src="../../assets/img/Home/jh.png"
alt=""
/></div>
<div><img src="../../assets/img/Home/jh.png" alt="" /></div>
<span><img
src="../../assets/img/Home/title.png"
alt=""
/></span>
<span><img src="../../assets/img/Home/title.png" alt="" /></span>
</div>
<!-- 头部右侧 -->
<div class="right">
<div>
<img
src="../../assets/img/Home/setting.svg"
alt=""
/> 系统管理
<div @click="$router.push('/UserManage')" style="cursor: pointer">
<img src="../../assets/img/Home/setting.svg" alt="" /> 系统管理
</div>
<div class="role">
<img
src="../../assets/img/Home/role.svg"
alt=""
/>用户角色
<img src="../../assets/img/Home/role.svg" alt="" />用户信息
<div class="rolelist">
<ul>
<li>姓名:李某某</li>
<li>单位:侦察大队</li>
<li>角色:系统管理员</li>
<li>用户名:{{ userInfo.id }}</li>
<li>&nbsp;&nbsp;&nbsp;名:{{ userInfo.name }}</li>
<li>&nbsp;&nbsp;&nbsp;位:{{ userInfo.unitName }}</li>
</ul>
</div>
</div>
<div
style="cursor: pointer"
@click="logout"
>
<img
src="../../assets/img/Home/exit.svg"
alt=""
/>安全退出
<div style="cursor: pointer" @click="logout">
<img src="../../assets/img/Home/exit.svg" alt="" />安全退出
</div>
</div>
<!-- 主体 -->
......@@ -54,10 +36,7 @@
<div class="todoview">
<div class="todo">
<div>
<img
src="../../assets/img/Home/todoview.svg"
alt=""
/>
<img src="../../assets/img/Home/todoview.svg" alt="" />
</div>
<p>待办工作</p>
</div>
......@@ -88,54 +67,27 @@
<div class="todolist">
<!-- 第一列 -->
<div class="list l1">
<div
class="import_images"
@click="goQBAJK"
>
<img
src="../../assets/img/Home/import_images.svg"
alt=""
/>
<div class="import_images" @click="goQBAJK">
<img src="../../assets/img/Home/import_images.svg" alt="" />
<div>案件图片导入</div>
</div>
<div
@click="godrFPTX"
class="import_FTP"
>
<img
src="../../assets/img/Home/import_FTP.svg"
alt=""
/>
<div @click="godrFPTX" class="import_FTP">
<img src="../../assets/img/Home/import_FTP.svg" alt="" />
<div>FPTX导入</div>
</div>
</div>
<!-- 第二列 -->
<div
class="list l2"
@click="gosjzygl"
>
<img
src="../../assets/img/Home/query.svg"
alt=""
/>
<div class="list l2" @click="gosjzygl">
<img src="../../assets/img/Home/query.svg" alt="" />
<p>发查询</p>
</div>
<!-- 第三列 -->
<div
@click="gobdrd"
class="list l2 l3"
>
<img
src="../../assets/img/Home/comparison.svg"
alt=""
/>
<div @click="gobdrd" class="list l2 l3">
<img src="../../assets/img/Home/comparison.svg" alt="" />
<p>比对认定</p>
</div>
<!-- 第四列 -->
<div
@click="gozzwcj"
class="list l1 l4"
>
<div @click="gozzwcj" class="list l1 l4">
<div class="import_images collect">
<img
src="../../assets/img/Home/collect_new.svg"
......@@ -144,14 +96,8 @@
/>
<div>活体采集</div>
</div>
<div
@click="gosjzygl"
class="import_FTP management"
>
<img
src="../../assets/img/Home/management.svg"
alt=""
/>
<div @click="gosjzygl" class="import_FTP management">
<img src="../../assets/img/Home/management.svg" alt="" />
<div>数据资源管理</div>
</div>
</div>
......@@ -163,16 +109,16 @@
<script>
import qs from "qs";
import jwtDecode from "jwt-decode";
export default {
name: "Home",
data () {
data() {
return {
userInfo: { userName: "admin", passWord: "123456" },
userInfo: {},
};
},
methods: {
goQBAJK () {
goQBAJK() {
this.$router.push({
path: "/qbalk",
query: {
......@@ -180,19 +126,19 @@ export default {
},
});
},
godrFPTX () {
godrFPTX() {
this.$router.push("/drFPTX");
},
gobdrd () {
gobdrd() {
this.$router.push("/cxyrd");
},
gosjzygl () {
gosjzygl() {
this.$router.push("/AllPersonnelBaseIndex/");
},
gozzwcj () {
gozzwcj() {
// this.$router.push("/AllPersonnelBaseIndex");
},
logout () {
logout() {
this.$axios
.get("/login/login/logout")
.then((res) => {
......@@ -203,12 +149,17 @@ export default {
this.$message.info("退出成功!");
}
})
.catch((err) => {
});
.catch((err) => {});
},
},
created () {
mounted() {
// const decode = jwtDecode('Security-ceyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiIxIiwic3ViIjoiYWRtaW4iLCJpYXQiOjE2Mzg5MzYwMTAsImF1dGhvcml0aWVzIjoiXCJST0xFX0EsUk9MRV9CLFJPTEVfQyxST0xFX0QsUk9MRV9FLFJPTEVfRixST0xFX0csUk9MRV9ILFJPTEVfSSxST0xFX0EtMSxST0xFX0EtMixST0xFX0ItMSxST0xFX0ItMixST0xFX0ItMyxST0xFX0ItNCxST0xFX0ItNSxST0xFX0MtMSxST0xFX0MtMixST0xFX0QtMSxST0xFX0QtMixST0xFX0QtMyxST0xFX0QtNCxST0xFX0QtNSxST0xFX0QtNixST0xFX0QtNyxST0xFX0QtOCxST0xFX0QtOSxST0xFX0QtMTAsUk9MRV9ELTExLFJPTEVfRC0xMixST0xFX0QtMTMsUk9MRV9ELTE0LFJPTEVfRC0xNSxST0xFX0QtMTYsUk9MRV9ELTE3LFJPTEVfRC0xOCxST0xFX0UtMSxST0xFX0UtMixST0xFX0UtMyxST0xFX0UtNCxST0xFX0UtNSxST0xFX0YtMSxST0xFX0YtMixST0xFX0YtMyxST0xFX0ctMSxST0xFX0ctMixST0xFX0ctMyxST0xFX0gtMSxST0xFX0gtMixST0xFX0gtMyxST0xFX0gtNCxST0xFX0gtNSxST0xFX0gtNixST0xFX0gtNyxST0xFX0gtOCxST0xFX0gtOSxST0xFX0gtMTAsUk9MRV9ILTExLFJPTEVfSS0xLFJPTEVfSS0yLFJPTEVfSS0zLFJPTEVfSS00LFJPTEVfSS01LFJPTEVfSS02LFJPTEVfSS03LFJPTEVfSS04LFJPTEVfSS05LFJPTEVfSS0xMCxST0xFX0ktMTEsUk9MRV9JLTEyLFJPTEVfSS0xMyxST0xFX0ktMTQsUk9MRV9JLTE1XCIiLCJpc3MiOiJ6Y2ciLCJleHAiOjE2Mzg5Mzk2MTB9.GsTfUvF1V54ow09aQPz9W0Uyu2INrwod2lqqVlL9S3cf8-cbXENa-LFyqUcfma5UFckPtj2ZrV6ZyPP-HhDvhg');
// console.log(decode);
},
created() {
sessionStorage.setItem("crumbs", []);
this.userInfo = JSON.parse(localStorage.getItem("userInfo")).user;
console.log(this.userInfo);
},
};
</script>
......@@ -277,30 +228,29 @@ export default {
position: absolute;
top: 170%;
left: -80%;
width: 160px;
width: 180px;
background-color: transparent;
color: #000;
display: none;
}
.header .right div .rolelist ul{
width: 160px;
.header .right div .rolelist ul {
width: 180px;
height: 144px;
background: #ffffff;
box-shadow: 0px 4px 14px 0px rgba(0, 0, 0, 0.2);
border-radius: 0px 0px 6px 6px;
}
.header .right div .rolelist li{
width: 160px;
.header .right div .rolelist li {
width: 180px;
height: 48px;
background: transparent;
padding: 12px 16px;
padding: 12px 16px;
font-size: 14px;
font-family: MicrosoftYaHei;
}
.header .right div img {
margin-right: 7px;
}
......
......@@ -641,8 +641,7 @@
</div>
</div>
<div class="addbtns">
<div class="btn1" @click="canceluser">确认</div>
<div class="btn2" @click="canceluser">取消</div>
<div class="btn2" @click="canceluser">关闭</div>
</div>
</div>
</el-container>
......@@ -657,7 +656,7 @@ import Cascader from "@/components/Cascader.vue";
import SelectCode from "@/components/SelectCode.vue";
import qs from "qs";
export default {
name: "GroupManage",
// name: "GroupManage",
components: {
Confirmation,
SelectCode,
......@@ -1348,6 +1347,7 @@ export default {
this.$bus.on("enter", () => {
this.search();
});
debugger;
this.$nextTick(() => {
document.body.appendChild(this.$refs.isShowEditGroupDialog);
document.body.appendChild(this.$refs.isShowAddUserDialog);
......@@ -1356,6 +1356,7 @@ export default {
});
},
destroyed() {
debugger;
$(".groupAddDialog").remove();
$(".groupEditDialog").remove();
$(".groupJueseDialog").remove();
......
......@@ -413,7 +413,7 @@
</div>
<div
class="userDialog groupYonghuDialog"
class="userDialog bjgroupYonghuDialog"
v-show="isShowUserDialog"
ref="isShowUserDialog"
>
......@@ -478,8 +478,7 @@
</div>
</div>
<div class="addbtns">
<div class="btn1" @click="canceluser">确认</div>
<div class="btn2" @click="canceluser">取消</div>
<div class="btn2" @click="canceluser">关闭</div>
</div>
</div>
</el-container>
......@@ -763,7 +762,7 @@ export default {
},
},
destroyed() {
$(".groupYonghuDialog").remove();
$(".bjgroupYonghuDialog").remove();
},
mounted() {
this.$nextTick(() => {
......
......@@ -460,7 +460,7 @@
</div>
<div
class="userDialog groupYonghuDialog"
class="userDialog perGroupYonghuDialog"
v-show="isShowUserDialog"
ref="isShowUserDialog"
>
......@@ -525,8 +525,7 @@
</div>
</div>
<div class="addbtns">
<div class="btn1" @click="canceluser">确认</div>
<div class="btn2" @click="canceluser">取消</div>
<div class="btn2" @click="canceluser">关闭</div>
</div>
</div>
</el-container>
......@@ -537,7 +536,7 @@ import "@/icons/group-item.svg";
import SelectCode from "@/components/SelectCode.vue";
import Cascader from "@/components/Cascader.vue";
export default {
name: "PermissionManage",
// name: "PermissionManage",
components: {
SelectCode,
Cascader,
......@@ -561,7 +560,7 @@ export default {
this.groupWidths.btnwidth = (this.groupWidths.btnwidth * w2) / w1;
},
destroyed() {
$(".groupYonghuDialog").remove();
$(".perGroupYonghuDialog").remove();
},
data() {
return {
......
......@@ -373,7 +373,7 @@ import "@/icons/copy_xuan.svg";
import qs from "qs";
import Confirmation from "@/components/Confirmation.vue";
export default {
name: "RoleManage",
// name: "RoleManage",
components: {
Confirmation,
},
......
......@@ -293,13 +293,13 @@
v-model="addFormParams.name"
></el-input>
</el-form-item>
<!-- <el-form-item class="info-item" label="身份证号:" prop="identityCard">
<el-form-item class="info-item" label="身份证号:" prop="idCard">
<el-input
placeholder="请输入用户警号"
placeholder="请输入身份证号"
class="input-info"
v-model="addFormParams.identityCard"
v-model="addFormParams.idCard"
></el-input>
</el-form-item> -->
</el-form-item>
<el-form-item class="info-item" label="所属单位:" prop="unitCode">
<Cascader :form="addFormParams" id="unitCode"></Cascader>
</el-form-item>
......@@ -406,6 +406,13 @@
v-model="editFormParams.name"
></el-input>
</el-form-item>
<el-form-item class="info-item" label="身份证号:" prop="idCard">
<el-input
placeholder="请输入身份证号"
class="input-info"
v-model="editFormParams.idCard"
></el-input>
</el-form-item>
<el-form-item class="info-item" label="所属单位:" prop="unitCode">
<Cascader :form="editFormParams" id="unitCode"></Cascader>
</el-form-item>
......@@ -469,7 +476,7 @@ import Cascader from "@/components/Cascader.vue";
import Confirmation from "@/components/Confirmation.vue";
import SelectCode from "@/components/SelectCode.vue";
export default {
name: "UserManage",
// name: "UserManage",
components: {
Confirmation,
Cascader,
......@@ -602,6 +609,7 @@ export default {
sWidth: 50,
// 新增对象
addFormParams: {
idCard: "",
identityCard: "",
username: "2233333",
phoneNumber: "13327454372",
......@@ -616,6 +624,7 @@ export default {
roleId: [],
},
editFormParams: {
idCard: '',//身份证号
identityCard: "",
username: "", //用户名
name: "", //姓名
......@@ -628,9 +637,7 @@ export default {
},
addrules: {
//身份证
identityCard: [
{ validator: validatePass, trigger: "blur", required: true },
],
idCard: [{ trigger: "blur", required: true }],
password: [
{ validator: validatePass, trigger: "blur", required: true },
], //密码
......@@ -659,6 +666,7 @@ export default {
], // 启用状态
},
editrules: {
idCard: [{ trigger: "blur", required: true }],
username: [
{ validator: validateUsername, trigger: "blur", required: true },
], //用户名
......
......@@ -330,6 +330,11 @@ export default {
let destbarcode = sessionStorage.getItem("destbarcode") || "";
let qqid = sessionStorage.getItem("qqid") || "";
let qid = sessionStorage.getItem("qid") || "";
if (!destbarcode) {
this.$message.error("信息不全,无法比中!");
return;
}
// 3:串查
let querytype = 3;
this.$axios({
......
......@@ -184,12 +184,20 @@ export default {
});
self.$bus.on("initCandidate", (tableData) => {
//console.log(tableData);
self.tableData = tableData;
if (self.tableData) {
self.total = self.tableData.length;
}
self.sourceTableData = tableData;
if (!tableData || tableData?.length <= 0) {
sessionStorage.removeItem("destbarcode");
this.$bus.emit("changImageEditTarget", "xxx");
self.$bus.emit("targetDeleteMessage", {
msg: null,
delTime: null,
});
return;
}
// 默认选中第一条数据
if (self.tableData && self.tableData.length > 0) {
self.$refs.singleTable.setCurrentRow(self.tableData[0]);
......@@ -1029,6 +1037,7 @@ export default {
* @return {*}
*/
handleCurrentChange(val, old) {
debugger;
if (!val) return;
// document
// .getElementsByClassName("lcurrte")[0]
......@@ -1037,6 +1046,22 @@ export default {
// );
this.targetBh = val.destbarcode;
let self = this;
if (val.removeFlag == "1") {
// 存储目标条码号
sessionStorage.setItem("destbarcode", val.destbarcode);
// 存储目的数据序号
sessionStorage.setItem("destseqno", val.destseqno);
this.$bus.emit("targetDeleteMessage", {
msg: "该条数据已删除!",
delTime: self.$moment(val.removeTime).format("YYYY.MM.DD HH:mm"),
});
return;
} else {
self.$bus.emit("targetDeleteMessage", {
msg: null,
delTime: null,
});
}
if (self.isDelete) {
// 存储目标条码号
sessionStorage.setItem("destbarcode", val.destbarcode);
......@@ -1054,7 +1079,6 @@ export default {
sessionStorage.setItem("destbarcode", val.destbarcode);
// 存储目的数据序号
sessionStorage.setItem("destseqno", val.destseqno);
self.$store.commit("loading/setLoading", true);
// 平面 --- 换压缩图
if (val.destseqno > 10) {
......
......@@ -333,7 +333,6 @@ export default {
sessionStorage.setItem("srcbarcode", val.barcode);
self.enumerate = [];
self.fingerTotal = 0;
// 请求该条码号的案件指纹图片
self.$axios
.post("/api/org/caseBybarcode/barcode", {
......
/*
* @Author: your name
* @Date: 2021-09-07 09:57:48
* @LastEditTime: 2021-12-07 10:37:43
* @LastEditTime: 2021-12-08 13:58:13
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\vue.config.js
......@@ -107,14 +107,14 @@ module.exports = {
}
},
"/login": {
target: "http://www.meetfood.cn:2390/", // 登录
// target: "http://192.168.128.121:8764/", // 登录
// target: "http://www.meetfood.cn:2390/", // 登录
target: "http://192.168.128.124:8764/", // 登录
// target: "http://192.168.128.114:8099", // 登录-马
ws: true,
changeOrigin: true,
pathRewrite: {
// "^/login": ""
"^/login": "/login"
"^/login": "" //本地
// "^/login": "/login" //线上
}
},
// "/system": {
......@@ -129,8 +129,8 @@ module.exports = {
"/security": {
//target: "http://192.168.128.106:8765", // 湖南-王
// target: "http://192.168.128.121:8764", // 湖南-张
target: "http://www.meetfood.cn:2390", // 湖南-王
target: "http://192.168.128.124:8764", // 湖南-张
// target: "http://www.meetfood.cn:2390", // 湖南-王
ws: true,
changeOrigin: true,
pathRewrite: {
......
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