Commit 762708d4 by 张超军

Merge branch 'dev_zwpt' of http://39.99.224.27:9022/changchao/founder_vue into dev_zwpt

parents 5640f73d ae12d5f3
......@@ -11,6 +11,7 @@ import './utils/CrashHandle'
import './plugins/axios'
import fHttp from './request/http.js'
import NetUtil from './netmgr/NetUtil'
import VerifyDataType from './utils/verify-data/VerifyDataType.js'
import App from './App.vue'
import router from './router'
import store from './store'
......@@ -42,7 +43,8 @@ Vue.prototype.$moment = moment
import uploader from 'vue-simple-uploader'
Vue.use(uploader)
import md5 from "js-md5";
import md5 from 'js-md5'
Vue.prototype.$md5 = md5
Vue.prototype.$driver = new Driver({
......@@ -71,6 +73,7 @@ window.util = Util
window.logger = LoggerUtil
window.user = UserUtil
window.fHttp = fHttp
window.verifyData = VerifyDataType
window.NetUtil = NetUtil
Vue.use(VueWechatTitle)
Vue.use(VueClipboard)
......
......@@ -32,6 +32,20 @@ export default [
component: () => import('@/views/zzwlr/htcj.vue')
},
{
path: '/xzry',
// redirect: "/fingerprintIndex/R4300000000002021125008/admin",
name: 'xzry',
hidden: true,
// icon_d: '/img/zzwcj_d.png',
// icon_a: '/img/zzwcj_a.png',
meta: {
parentId: 'zzwlr',
title: '新增人员',
auth: 'A'
},
component: () => import('@/views/zzwlr/xzry.vue')
},
{
path: '/zzwlr',
name: 'zzwlr',
hidden: false,
......@@ -41,7 +55,7 @@ export default [
title: '指掌纹录入',
auth: 'B'
},
component: () => import('@/views/zzwlr/Index.vue'),
component: () => import('@/views/zzwlr/index.vue'),
},
{
path: '/drFPTX',
......
export default {
/**
* Description: 逻辑分库名称正则
* @author: li_hongchao
* @date: 2022/1/9 19:47
*/
_LJFKM: /(([\u4E00-\u9FA5·]{2,})|([a-zA-Z]{4,}))/,
_NUMBER: /^(0|([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$/,
/**
* Description: 自然数
* @author: li_hongchao
* @date: 2022/1/9 19:06
* ^(0|([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"
*/
_NATURAL_NUMBER: /^\\+?[1-9][0-9]*$/,
/**
* Description: 校验中文姓名和英文姓名
* @author: li_hongchao
* @date: 2022/1/9 19:07
*/
_NAME: /(([\u4E00-\u9FA5·]{1,17})|([a-zA-Z]{1,17}))/,
/**
* Description: 18位身份证号
* @author: li_hongchao
* @date: 2022/1/9 19:41
*/
_18_IDCard: /^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X|x)$/,
/**
* Description:15位身份证号
* @author: li_hongchao
* @date: 2022/1/9 19:42
*/
_15_IDCard: /^[1-9]\\d{7}((0\\[1-9])|(1[0-2]))(([0\\[1-9]|1\\d|2\\d])|3[0-1])\\d{2}([0-9]|x|X){1}$/,
/**
* Description: URL
* @author: li_hongchao
* @date: 2022/1/9 19:42
*/
_URL: /(http|https):\/\/([\w.]+\/?)\S*/,
/**
* Description: QQ号
* @author: li_hongchao
* @date: 2022/1/9 19:42
*/
_QQ: /^[1-9]\\d{4,10}$/,
/**
* Description: 一个或多个汉字
* @author: li_hongchao
* @date: 2022/1/9 19:42
*/
_CHINESE: /^[\\u0391-\\uFFE5]+$/,
/**
* Description: 手机号码
* @author: li_hongchao
* @date: 2022/1/9 19:42
*/
_MOBILE_PHONE: /^1[3|4|5|8][0-9]\\d{8}$/,
/**
* Description: 所有电话格式校验
* @author: li_hongchao
* @date: 2022/1/9 19:42
*/
_ALL_PHONE: /^((1[0,1,2,3,4,5,6,7,8,9]))\\d{9}|((\\d{4})?(\\-)?\\d{7})$/,
/**
* Description: 邮箱验证
* @author: li_hongchao
* @date: 2022/1/9 19:43
*/
_MAIL: /^[A-Za-z0-9\\u4e00-\\u9fa5]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$"/,
/**
* Description: 邮政编码
* @author: li_hongchao
* @date: 2022/1/9 19:43
*/
_POST_CODE: /^[1-9]\\d{5}$/,
}
......@@ -785,7 +785,7 @@ export default {
// .el-message-box__message {
// margin: 23px 24px 17px 24px;
// font-size: 14px;
// font-family: MicrosoftYaHei;
// font-family: HarmonyOS_Sans_SC;
// color: #333333;
// }
// .el-message-box__btns {
......@@ -800,7 +800,7 @@ export default {
// background: #055fe7;
// border-radius: 4px;
// font-size: 14px;
// font-family: MicrosoftYaHei;
// font-family: HarmonyOS_Sans_SC;
// color: #ffffff;
// }
// .el-button:nth-child(2) {
......@@ -812,14 +812,14 @@ export default {
// border-radius: 4px;
// border: 1px solid #aeb5c2;
// font-size: 14px;
// font-family: MicrosoftYaHei;
// font-family: HarmonyOS_Sans_SC;
// color: #2e3846;
// }
// }
.el-popconfirm__main {
margin: 23px 24px 17px 24px;
font-size: 14px;
font-family: MicrosoftYaHei;
font-family: HarmonyOS_Sans_SC;
color: #333333;
}
.el-popconfirm__action {
......@@ -834,7 +834,7 @@ export default {
background: #055fe7;
border-radius: 4px;
font-size: 14px;
font-family: MicrosoftYaHei;
font-family: HarmonyOS_Sans_SC;
color: #ffffff;
}
.el-button:nth-child(2) {
......@@ -846,7 +846,7 @@ export default {
border-radius: 4px;
border: 1px solid #aeb5c2;
font-size: 14px;
font-family: MicrosoftYaHei;
font-family: HarmonyOS_Sans_SC;
color: #2e3846;
}
}
......@@ -873,10 +873,10 @@ export default {
height: 100%;
box-sizing: border-box;
padding: 24px;
font-family: MicrosoftYaHei;
font-family: HarmonyOS_Sans_SC;
.title {
font-size: 16px;
font-family: MicrosoftYaHei-Bold, MicrosoftYaHei;
font-family: HarmonyOS_Sans_SC-Bold, HarmonyOS_Sans_SC;
font-weight: bold;
color: #333333;
margin-bottom: 20px;
......@@ -1008,7 +1008,7 @@ export default {
border: none;
background: #055fe7;
font-size: 14px;
font-family: MicrosoftYaHei;
font-family: HarmonyOS_Sans_SC;
color: #ffffff;
&:hover {
background: #377fec;
......@@ -1021,7 +1021,7 @@ export default {
border: none;
border: 1px solid #055fe7;
font-size: 14px;
font-family: MicrosoftYaHei;
font-family: HarmonyOS_Sans_SC;
color: #055fe7;
background-color: #fff;
i {
......@@ -1041,7 +1041,7 @@ export default {
border: none;
border: 1px solid #ecedf1;
font-size: 14px;
font-family: MicrosoftYaHei;
font-family: HarmonyOS_Sans_SC;
background-color: #fff;
color: #c2c4c7;
i {
......@@ -1107,7 +1107,7 @@ export default {
// align-items: center;
.record {
font-size: 14px;
font-family: MicrosoftYaHei;
font-family: HarmonyOS_Sans_SC;
color: #666666;
}
.paging {
......@@ -1158,13 +1158,13 @@ export default {
}
/deep/.el-table th > .cell {
font-size: 14px;
font-family: MicrosoftYaHei;
font-family: HarmonyOS_Sans_SC;
font-weight: normal;
color: #282f3c;
}
/deep/.el-table td > .cell {
font-size: 14px;
font-family: MicrosoftYaHei;
font-family: HarmonyOS_Sans_SC;
color: #333333;
}
/deep/.el-checkbox__input.is-checked .el-checkbox__inner,
......
......@@ -327,7 +327,7 @@
name="type"
></el-checkbox> -->
<el-checkbox
label="已中,不发送查询"
label="已中,不发送查询"
name="type"
></el-checkbox>
<el-checkbox
......
......@@ -1382,7 +1382,7 @@ $tableHeight: var(--tableHeight, 320px);
}
}
}
}
}
/deep/ .el-checkbox {
color: #666;
......
......@@ -15,9 +15,9 @@
<template slot-scope="scope">
<div class="tagsBox">
<div v-for="item in strArr(scope.row.groups)"
:class="{ tags: true, tagszu: item.type === 1 }"
:key="item.logicId"
v-show="item !== ''">
:class="{ tags: true, tagszu: item.type === 1 }"
:key="item.logicId"
v-show="item !== ''">
<div v-if="item.type === 1 && item.user && item.user.length >0">
<el-tooltip
......@@ -53,9 +53,7 @@
<div
v-for="item in scope.row.groups"
:class="{divtext:item.type === 1}"
:title="item.name"
:key="item.id"
>
:title="item.name">
<div v-if="item.type === 1 && item.user && item.user.length >0">
<el-tooltip
class="item"
......
......@@ -18,27 +18,36 @@
<el-dropdown-menu slot="dropdown" class="select-list-content">
<div class="select-list-content-left">
<div :class="{'list-item':true,'list-item-focus':isYh}" @click="toggleYh(true)">用户</div>
<div :class="{'list-item':true,'list-item-focus':!isYh}" @click="toggleYh(false)">用户组</div>
<div :class="{'list-item':true,'list-item-focus':isYh}" @click="toggleYh(true)">
用户
<div v-if="userSelectSet.size > 0" style="position: absolute; right:4px;">
{{userSelectSet.size}}
</div>
</div>
<div :class="{'list-item':true,'list-item-focus':!isYh}" @click="toggleYh(false)">
用户组
<div v-if="userGroupSelectSet.size > 0" style="position: absolute; right:4px;">
{{userGroupSelectSet.size}}
</div>
</div>
</div>
<div class="select-list-content-right">
<div class="top-div">
<div v-for="(item,index) in getItemArr()" class="top-item" @click="selectItem(item)"
<div v-for="(item,index) in getItemArr()" class="top-item" @click.stop="selectItem(item)"
:key="index">
<span v-if='item.name.length > 6'>
<el-tooltip effect="dark" :content="item.name" placement="top">
<div class="span-name">
{{ item.name.slice(0,6) + '...'}}
</div>
</el-tooltip>
</span>
<span v-else>
{{ item.name}}
</span>
<div v-show="isSelect(item)" class="look" style="float: right;margin-right: 17px;">
<i class="iconfont icon-duihao"></i>
<!-- <span v-if='item.name.length > 7'>-->
<!-- <el-tooltip effect="dark" :content="item.name" placement="right">-->
<!-- <div class="span-name">-->
<!-- {{ item.name.slice(0,7) + '...'}}-->
<!-- </div>-->
<!-- </el-tooltip>-->
<!-- </span>-->
<!-- <span v-else>{{ item.name}}</span>-->
<span style="margin-right: 36px;">{{ item.name}}</span>
<div v-show="isSelect(item)" class="look"
style="position: absolute; top:0px; right:16px;">
<i class=" iconfont icon-duihao"></i>
</div>
</div>
......@@ -182,6 +191,29 @@ export default {
})
}
},
getAllUsers() {
let result = []
if (this.userArr.length > 0) {
this.userArr.forEach(item => {
result.push({
id: item.id,
name: item.name,
type: 0
})
})
}
if (this.userGroupArr.length > 0) {
this.userGroupArr.forEach(item => {
result.push({
id: item.id,
name: item.name,
type: 1
})
})
}
return result
},
cancel() {
if (this.$refs.dropdown) {
this.$refs.dropdown.visible = false
......@@ -331,20 +363,21 @@ export default {
color: #333333;
line-height: 19px;
padding: 0px 0px 0px 13px;
padding: 0px 0px 0px 8px;
display: flex;
align-items: center;
justify-content: left;
border: 2px none white;
border-left-style: solid;
border-left: 2px solid white;
position: relative;
}
.list-item-focus {
border: 2px none #055FE7;
border-left-style: solid;
border-left: 2px solid #055FE7;
color: #055FE7;
}
......@@ -363,14 +396,16 @@ export default {
.top-item {
width: 100%;
height: 40px;
background: #FFFFFF;
/*background: #FFFFFF;*/
background: transparent;
font-size: 14px;
font-family: HarmonyOS_Sans_SC;
color: #333333;
line-height: 40px;
padding-left: 16px;
position: relative;
}
.top-item:hover {
......@@ -378,8 +413,8 @@ export default {
}
.span-name {
overflow: hidden;
float: left;
/*overflow: hidden;*/
/*float: left;*/
}
}
......
......@@ -17,6 +17,10 @@
<div class="info">
<el-form
label-position="left"
:inline="true"
:rules="rules"
:model="ljfkRuleForm"
class="demo-form-inline"
ref="ruleForm">
<div class="fix-height">
......@@ -30,7 +34,7 @@
<el-row style="margin-top: 20px">
<el-col :span="12">
<el-form-item class="info-item" label="逻辑分库名称:">
<el-form-item class="info-item" label="逻辑分库名称:" prop="name">
<el-input
class="input-info"
v-model.trim="ljfkRuleForm.name"
......@@ -40,7 +44,7 @@
</el-col>
<el-col :span="12">
<el-form-item class="info-item" label="数据库用户:">
<sjkyh-select :params='ljfkRuleForm.usersOrUserGroups'
<sjkyh-select ref='sjkyhSelect' :params='ljfkRuleForm.usersOrUserGroups'
@select="selectYh"></sjkyh-select>
</el-form-item>
</el-col>
......@@ -81,7 +85,8 @@
</el-col>
</el-row>
<el-divider v-if="isShowTitle()" />
<div v-if="isShowTitle()" class="divider-line" />
<span v-show="isShowTitle()" class="title" @click="toggleGzl()" style="margin-left: 28px;">
<div class="colorDiv"></div>
......@@ -91,7 +96,6 @@
</div>
<div v-show="isShowGzl()" style="margin-top: 20px;">
<el-row>
<el-col>
<el-form-item class="info-item" style=" margin-bottom: 15px;" label="工作模式:"
......@@ -107,7 +111,7 @@
<div style="background: #F7F9FB; padding: 30px 0px;">
<el-row style="margin-bottom: 20px;">
<el-col :span="24">
<el-form-item class="dui-lie-ming-cheng-layout" label="队列名称:" prop="pattern">
<el-form-item label="队列名称:" prop="pattern">
<div style="margin-left: 40px;">
<div v-for="(item,gindex) in getDlmcArr()"
:class="{'dui-lie-ming-cheng':true,'dui-lie-ming-cheng-bx':isBxCxdl(item.type)}"
......@@ -129,118 +133,103 @@
</div>
</div>
</div>
<div v-show="!getDlmcArr() || getDlmcArr().length <= 0"
v-for="item in getDlCount()" class="kong" />
</div>
<div
v-show="!getDlmcArr() || getDlmcArr().length <= 0"
v-for="(item, index) in getDlCount()"
:key="index"
class="kong"
></div>
</el-form-item>
</el-col>
</el-row>
<!--工作队列-->
<el-row>
<el-col>
<el-form-item class="gong-zuo-dui-lie-layout" label="工作队列:" prop="gzdl">
<div v-if="getGzdlArr() && getGzdlArr().length > 1">
<div v-if="getGzdlArr() && getGzdlArr().length > 0">
<!-- 串行模式;-->
<div v-if="gzlRuleForm.pattern === 0"
v-for="(item,gindex) in getGzdlArr()"
class="GongZuoDuiLieChuanXing"
style="float:left;">
<div class="gong-zuo-dui-lie-chuanxing"
:key="item.type"
:style="{marginLeft: gindex===0?'24px':'0px'}">
<div v-if="gindex === 0" class="chu-li-dui-lie"
style="margin-left: 0px;">
<!-- <span style="position: absolute;float:left;top:-4px;left: 10px;color: white">-->
<!-- <img src="../../assets/img/ljfkgl/ljfk_gzl_num_bg.svg" />-->
<!-- <span style="position: absolute;">{{index+1}}</span>-->
<!-- </span>-->
处理队列
<div :key="item.type"
class="itemBox"
:style="{marginLeft: gindex===0?'40px':'0px'}">
<div>
<img class="dlIndexBg"
src="../../assets/img/ljfkgl/ljfk_gzl_num_bg.svg" />
<div class="dlIndex">{{gindex+1}}</div>
</div>
<i v-if="gindex !== 0" class="el-icon-remove icon"
style="color: #055fe7"
@click="updateGzdl(item,gindex)" />
<div v-if="gindex !== 0">
{{ item.name || '-'}}
<div v-if="item.type === CXDL_TYPE">
<span class="gzdl-line" />
<div :class="{dlNoSelect: isFirstItem(gindex)}"
style="margin-left: 28px;">
{{ item.name ||'-'}}
<div v-if="item.type === CXDL_TYPE" style="float: right">
<span class="gzdl-line" />
<span v-for="(child,cindex) in getGzdlCxdlArr()">
<span
:key="child.type"
:class="{'gztl-tag':true,
'chachong':child.type ===7,
'daocha':child.type ===5,
'chuancha':child.type ===4,
'zhengcha':child.type ===6}"
@click="updateCxdl(item,gindex,child,cindex)">
{{ child.name }}
<span
:key="child.type"
:class="{'gztl-tag':true,
'chachong':child.type ===7,
'daocha':child.type ===5,
'chuancha':child.type ===4,
'zhengcha':child.type ===6}"
@click="updateCxdl(item,gindex,child,cindex)">
{{ child.name }}
</span>
</span>
</span>
</div>
</div>
<i v-if="gindex !== 0" class="el-icon-remove iconChuanXing"
@click="updateGzdl(item,gindex)" />
</div>
<img v-if='gindex !== getGzdlArr().length - 1'
src="../../assets/img/ljfkgl/ljfk_gzl_arrow.svg"
style="display: inline-flex; margin-left: 8px;margin-right: 8px;" />
class="jiantou" />
</div>
<!-- 并行模式;-->
<div
v-if="gzlRuleForm.pattern === 1"
v-for="(item,gindex) in getGzdlArr()"
:class="{'gong-zuo-dui-lie-bingxing-item':true, kk:gindex !== 0}">
<div v-if="gzlRuleForm.pattern === 1"
v-for="(item,gindex) in getGzdlArr()"
:class="{'gong-zuo-dui-lie-bingxing-item':true, kk:gindex !== 0}">
<div class="gong-zuo-dui-lie-bingxing-item-left">
<div :class="{verLine:true,verLineTrans: gindex === 0}" />
<div :class="{verLine:true,verLineTrans: gindex === getGzdlArr().length -1}" />
</div>
<div class="gong-zuo-dui-lie-bingxing-item-right">
<span class="mid-line" />
<span class="mid-circle" />
<span :class="{'mid-line':true,'mid-line-hide': getGzdlArr().length ===1}" />
<span :class="{'mid-circle':true,'mid-circle-hide': getGzdlArr().length ===1}" />
<div v-if="gindex === 0" class="chu-li-dui-lie"
style="margin-left: 8px;">处理队列
</div>
<div v-else class="gong-zuo-dui-lie-bingxing">
<i class="el-icon-remove icon"
@click="updateGzdl(item,gindex)"
style="color: #055fe7" />
<div>
<div class="gong-zuo-dui-lie-bingxing">
<i v-if="gindex !== 0" class="el-icon-remove icon"
@click="updateGzdl(item,gindex)" />
<div :class="{dlNoSelect: isFirstItem(gindex)}">
{{ item.name || '-'}}
<div v-if="item.type === CXDL_TYPE">
<span class="gzdl-line" />
<span v-for="(child,cindex) in getGzdlCxdlArr()">
<span
:key="child.type"
:class="{'gztl-tag':true,
'chachong':child.type ===7,
'daocha':child.type ===5,
'chuancha':child.type ===4,
'zhengcha':child.type ===6}"
@click="updateCxdl(item,gindex,child,cindex)">
{{ child.name }}
</span>
</span>
<span
:key="child.type"
:class="{'gztl-tag':true,
'chachong':child.type ===7,
'daocha':child.type ===5,
'chuancha':child.type ===4,
'zhengcha':child.type ===6}"
@click="updateCxdl(item,gindex,child,cindex)">
{{ child.name }}
</span>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<!--没有队列-->
<div v-else>
<div class="chu-li-dui-lie">处理队列</div>
</div>
</el-form-item>
</el-col>
</el-row>
......@@ -261,11 +250,7 @@
</div>
<el-form-item class="addbtns">
<el-button
class="add"
type="primary"
@click="submitForm()">提交
</el-button>
<el-button class="add" type="primary" @click="submitForm()">提交</el-button>
<el-button class="cancel" @click="canceladd()">取消</el-button>
</el-form-item>
</el-form>
......@@ -320,7 +305,7 @@ export default {
},
gzlRuleForm: {// 工作流数据
logicId: '',// 逻辑库id
pattern: 1,// 0 代表串行模式,1 代表并行模式
pattern: 0,// 0 代表串行模式,1 代表并行模式
ququeIds: '',// 队列id值,例:1,2,代表第一个队列为1,第二个队列为2
status: 0,// 启用状态,0 代表启用,1 代表禁用
type: '',// 0 代表案件,1 代表人员
......@@ -334,12 +319,25 @@ export default {
CXDL_TYPE: Gzlzz._CXDL_TYPE,
cxGzl: new Gzlzz(), // 串行工作流
bxGzl: new Gzlzz(), // 并行工作流
rules: {
name: [
{required: true, message: '请输入逻辑库名称', trigger: 'change'},
{
pattern: verifyData._LJFKM,
message: '名称必须至少两个汉字或四个字母!',
trigger: 'change'
}
]
},
}
},
mounted() {
},
methods: {
isFirstItem(index) {
return index === 0
},
isBxCxdl(type) {
return type === this.CXDL_TYPE && this.gzlRuleForm.pattern === 1
},
......@@ -463,24 +461,36 @@ export default {
}
},
saveLjfkxx() {
NetUtil.xtfkgl
.updateLjfkxx(this.ljfkRuleForm, this.isRy)
.then(res => {
if (this.curType === _VIEW_TYPES.ALL) {// 工作流
if (res && res.code === 0) {
this.gzlRuleForm.logicId = res.ret
this.saveGzl()
}
} else {
this.canceladd(true)
}
if (this.isRy) {
this.$store.dispatch('ljk/_ljkRy') // 获取用户逻辑库
} else {
this.$store.dispatch('ljk/_ljkAj') // 获取用户逻辑库
let hasYh = true
this.$refs.ruleForm.validate((valid) => {
if (valid) {
if (this.ljfkRuleForm.usersOrUserGroups && this.ljfkRuleForm.usersOrUserGroups.length === 0) {
hasYh = false
this.ljfkRuleForm.usersOrUserGroups = this.$refs.sjkyhSelect.getAllUsers()
}
NetUtil.xtfkgl
.updateLjfkxx(this.ljfkRuleForm, this.isRy)
.then(res => {
if (this.curType === _VIEW_TYPES.ALL) {// 工作流
if (res && res.code === 0) {
this.gzlRuleForm.logicId = res.ret
this.saveGzl()
}
} else {
this.canceladd(true)
}
if (this.isRy) {
this.$store.dispatch('ljk/_ljkRy') // 获取用户逻辑库
} else {
this.$store.dispatch('ljk/_ljkAj') // 获取用户逻辑库
}
})
} else {
this.$message.error('信息填写错误!')
}
})
})
},
saveGzl() {
this.gzlRuleForm.ququeIds = this.getCurGzl().result()
......
......@@ -16,7 +16,7 @@
//margin-bottom: 40px;
top: 50%;
left: 50%;
transform: translate(-40%, -50%);
transform: translate(-50%, -50%);
z-index: 1000;
width: 892px;
//height: 830px;
......@@ -92,11 +92,6 @@
max-height: 600px;
overflow: scroll;
}
.addbtns {
.el-form-item__content {
}
}
}
.info-item {
......@@ -159,7 +154,60 @@
}
}
.dui-lie-ming-cheng-layout {
.GongZuoDuiLieChuanXing { // 串行
display: inline-flex;
align-items: center;
justify-content: center;
position: relative;
float: left;
.itemBox {
min-width: 96px;
height: 32px;
display: inline-block;
float: left;
position: relative;
background: #F6F8FA;
box-shadow: 4px 4px 4px 0px rgba(193, 216, 251, 0.8), -4px -4px 4px 0px #FFFFFF;
border-radius: 4px;
color: #333333;
font-size: 14px;
font-family: MicrosoftYaHei;
line-height: 32px;
.dlIndexBg { // 序号背景
position: absolute;
width: 16px;
height: 19px;
}
.dlIndex { // 序号
position: absolute;
width: 16px;
height: 14px;
font-size: 12px;
font-family: MicrosoftYaHei-Bold, MicrosoftYaHei;
font-weight: bold;
color: #FFFFFF;
line-height: 14px;
text-align: center;
}
.iconChuanXing {
position: absolute;
color: #055fe7;
top: -6px;
right: -6px;
cursor: pointer;
}
}
}
.dlNoSelect {
color: #999999;
}
......@@ -168,17 +216,14 @@
height: 32px;
border-radius: 4px;
border: 1px solid #AEB5C2;
//margin-right: 4px;
margin-right: 4px;
margin-left: 20px;
display: inline-block;
background: #f6f8fa;
//box-shadow: 4px 4px 4px 0px rgba(193, 216, 251, 0.8), -4px -4px 4px 0px #ffffff;
position: relative;
text-align: center;
margin-right: 5px;
//margin-top: 7px;
> div {
line-height: 32px;
......@@ -236,7 +281,7 @@
border: 1px dashed #aeb5c2 !important;
position: relative !important;
display: inline-block;
margin-right: 5px;
margin-right: 4px;
margin-left: 20px;
border-radius: 4px;
}
......@@ -262,157 +307,23 @@
line-height: 22px;
}
.chu-li-dui-lie {
width: 96px;
height: 32px;
background: #F6F8FA;
box-shadow: 4px 4px 4px 0px rgba(193, 216, 251, 0.8), -4px -4px 4px 0px #FFFFFF;
border-radius: 4px;
font-size: 14px;
font-family: HarmonyOS_Sans_SC;
color: #999999;
line-height: 22px;
//-webkit-background-clip: text;
//-webkit-text-fill-color: transparent;
margin-left: 30px;
.jiantou {
width: 14px;
height: 8px;
display: inline-flex;
align-items: center;
justify-content: center;
margin-left: 10px;
margin-right: 10px;
}
//.gong-zuo-dui-lie-chuanxing { // 串行
// min-width: 96px;
// height: 32px;
// margin-right: 25px;
// display: inline-block;
//
// background: #F6F8FA;
// border: 1px solid #AEB5C2;
// box-shadow: 4px 4px 4px 0px rgba(193, 216, 251, 0.8), -4px -4px 4px 0px #FFFFFF;
// border-radius: 4px;
// position: relative;
// text-align: center;
//
// > div {
// line-height: 32px;
// width: 100%;
// overflow: hidden;
// text-overflow: ellipsis;
// white-space: nowrap;
// box-sizing: border-box;
// padding: 0 10px;
//
// display: flex;
// align-items: center;
// justify-content: center;
//
// .line {
// margin-right: 14px;
// margin-left: 14px;
//
// width: 1px;
// height: 16px;
// background: #D8D8D8;
// border: 1px solid #979797;
// }
//
// //.gztl-tag {
// // width: 32px;
// // height: 20px;
// // background: #D8D8D8;
// // border-radius: 2px;
// //
// // margin-right: 8px;
// // font-size: 12px;
// // font-family: HarmonyOS_Sans_SC;
// // color: #FFFFFF;
// // line-height: 16px;
// //
// // display: inline-flex;
// // align-items: center;
// // justify-content: center;
// //
// //}
// //
// //.zhengcha { /* 案件 正查*/
// // background: #08BD9E;
// //}
// //
// //.chuancha { /* 案件 串查*/
// // background: #055FE7;
// //}
// //
// //.chachong { /* 人员 查重*/
// // background: #FFA219;
// //}
// //
// //.daocha { /* 人员 倒查*/
// // background: #FE0000;
// //}
//
// }
//
// > .icon {
// position: absolute;
// top: -6px;
// right: -6px;
// cursor: pointer;
// }
//}
.gong-zuo-dui-lie-chuanxing { // 串行
min-width: 96px;
height: 32px;
margin-right: 0px;
display: inline-block;
background: #F6F8FA;
border: 1px solid #AEB5C2;
box-shadow: 4px 4px 4px 0px rgba(193, 216, 251, 0.8), -4px -4px 4px 0px #FFFFFF;
border-radius: 4px;
position: relative;
text-align: center;
margin-left: 8px;
> div {
line-height: 32px;
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
box-sizing: border-box;
padding: 0 10px;
display: flex;
align-items: center;
justify-content: center;
}
> .icon {
position: absolute;
top: -6px;
right: -6px;
cursor: pointer;
}
}
.kk {
margin-left: 73px;
}
.gong-zuo-dui-lie-bingxing-item {
height: 52px;
display: flex;
vertical-align: middle;
//align-items: center;
//justify-content: center; DialogBg
.gong-zuo-dui-lie-bingxing-item-left {
width: 1px;
......@@ -428,39 +339,49 @@
background: transparent;
}
.mid-line {
width: 14px;
height: 2px;
background: linear-gradient(90deg, #7CD5FF 0%, #49AFFF 100%);
}
.mid-line-hide {
background: transparent;
}
.mid-circle {
width: 7px;
height: 7px;
background: #FFFFFF;
border: 1px solid #49AFFF;
border-radius: 100px;
}
.mid-circle-hide {
border: 1px solid transparent;
background: transparent;
}
.gong-zuo-dui-lie-bingxing-item-right {
width: auto;
height: 52px;
/*background: black;*/
display: flex;
align-items: center;
justify-content: center;
.gong-zuo-dui-lie-bingxing { // 并行
min-width: 96px;
height: 32px;
margin-left: 12px;
display: inline-block;
background: #F6F8FA;
border: 1px solid #AEB5C2;
box-shadow: 4px 4px 4px 0px rgba(193, 216, 251, 0.8), -4px -4px 4px 0px #FFFFFF;
border-radius: 4px;
//border: 1px solid #AEB5C2;
border-radius: 4px;
position: relative;
text-align: center;
......@@ -480,6 +401,7 @@
> .icon {
position: absolute;
color: #055fe7;
top: -6px;
right: -6px;
cursor: pointer;
......@@ -491,8 +413,8 @@
.gzdl-line {
margin-right: 14px;
margin-left: 14px;
margin-right: 12px;
margin-left: 12px;
width: 1px;
height: 16px;
......@@ -568,6 +490,11 @@
}
}
.divider-line {
margin: 0px 31px 0px 32px;
height: 2px;
border: 1px solid #E6E6E8;
}
.slide-fade-leave-active,
.slide-fade-enter-active {
......@@ -590,15 +517,15 @@
}
}
.el-form-item__error {
left: 100%;
width: 100%;
top: 50%;
box-sizing: border-box;
transform: translateY(-50%);
padding-left: 10px;
padding-top: 0 !important;
}
//.el-form-item__error {
// left: 0%;
// width: 100%;
// top: 100%;
// box-sizing: border-box;
// transform: translateY(-50%);
// padding-left: 10px;
// padding-top: 0 !important;
//}
.el-form-item__label {
position: relative;
......
<!--
* @Author: your name
* @Date: 2021-09-07 10:31:34
* @LastEditTime: 2021-11-11 16:31:53
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \founder_vue\src\views\zzwlr\Index.vue
-->
<template>
<div id="zzwlr"></div>
</template>
<script>
import zoom from "@/utils/autosize";
export default {
name: 'zzwlr'
};
</script>
<style lang="scss" scoped>
#zzwlr {
width: 100% !important;
height: 100% !important;
overflow: hidden !important;
}
</style>
\ No newline at end of file
......@@ -131,7 +131,7 @@
.xzry{
border: 1px solid #055fe7 !important;
// font-size: 14px;
font-family: MicrosoftYaHei;
font-family: HarmonyOS_Sans_SC;
color: #055fe7;
background-color: #fff;
i {
......@@ -149,4 +149,106 @@
}
.el-tag{
margin-top: 16px;
}
// 表格
.delSelection /deep/ .el-table-column--selection .cell {
display: none;
}
/deep/ .el-table__body-wrapper::-webkit-scrollbar {
width: 6px; // 横向滚动条
height: 6px; // 纵向滚动条 必写
}
// 滚动条的滑块
/deep/ .el-table__body-wrapper::-webkit-scrollbar-thumb {
background-color: #dadde0;
border-radius: 3px;
}
/deep/.el-table th {
background-color: #f6f8fa;
}
/deep/.el-popover {
padding: 15px 20px !important;
}
/deep/.el-popconfirm__action {
display: flex;
justify-content: center;
}
/deep/.el-popover.el-popper {
background: #006aff;
}
/deep/.el-form-item__label {
color: #333333;
}
/deep/ .disableheadselection > .cell .el-checkbox__inner {
display: none;
}
/deep/.el-table th > .cell {
font-size: 14px;
font-family: HarmonyOS_Sans_SC;
font-weight: normal;
color: #282f3c;
}
/deep/.el-table td > .cell {
font-size: 14px;
font-family: HarmonyOS_Sans_SC;
color: #333333;
}
/deep/.el-table {
width: 100%;
max-height: 435px !important;
margin-top: 16px;
.cell:empty::before {
content: "---";
color: gray;
}
.is-leaf {
.cell:empty::before {
content: "---";
color: gray;
}
}
}
/deep/.el-table--enable-row-transition .el-table__body td.el-table__cell {
height: 55px;
}
.iconfont {
width: 16px;
height: 16px;
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
color: #055fe7;
object-fit: fill;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.block {
position: absolute;
bottom: 27px;
// width: calc(100vw - 367px);
width: 1544px;
// justify-content: space-between;
// align-items: center;
.record {
font-size: 14px;
font-family: HarmonyOS_Sans_SC;
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;
}
}
\ No newline at end of file
......@@ -76,15 +76,15 @@
<div class="middle_rig">
<div class="btn ">复制条码</div>
<div class="btn">删除</div>
<div class="btn xzry">
<router-link tag="div" to="/xzry" class="btn xzry">
<i class="el-icon-plus"></i>
新增人员
</div>
</router-link>
</div>
</div>
<!-- 3 已选择x项弹弹出框 -->
<el-tag style="width: 100%; color: #666666;margin-bottom:1rem " v-show="isShowTip">
<el-tag style="width: 100%; color: #666666 " v-show="isShowTip">
<span v-html="'&nbsp;&nbsp;'"></span>
<i class="iconfont icon-tanhao1" style="color: #055fe7; font-size: 16px; margin: 0 0.625rem;"></i>
已选择
......@@ -92,7 +92,57 @@
<el-link type="primary" :underline="false" style="margin-left: 1.25rem" @click="toggleSelection()">清除</el-link>
</el-tag>
<!-- 4 表格 -->
<el-table :max-height="height" ref="multipleTable" :data="tableDate" :row-key="getRowKeys" tooltip-effect="dark" :class="{ delSelection: !selectBoo }" @selection-change="handleSelectionChange" @row-click="isShowRyxxkBtn">
<el-table-column type="selection" :reserve-selection="true" :width="width33" >
</el-table-column>
<el-table-column prop="ysxtAsjxgrybh" label="人员编号" :width="width1" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="xm" label="姓名" :width="width5" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="xbdm" label="性别" :width="width5" :formatter="xbdmFormat">
</el-table-column>
<el-table-column prop="zjhm" label="身份证号" :width="width3" show-overflow-tooltip>
</el-table-column>
<el-table-column prop="zz" label="现住址" :width="width4">
</el-table-column>
<el-table-column prop="piccount" label="人像" :width="width33">
</el-table-column>
<el-table-column prop="rollcount" label="滚动" :width="width33">
</el-table-column>
<el-table-column prop="plancount" label="平面" :width="width33">
</el-table-column>
<el-table-column prop="plamcount" label="掌纹" :width="width33">
</el-table-column>
<el-table-column prop="wzd" label="完整度" :width="width5">
</el-table-column>
<el-table-column prop="nysj" label="捺印时间" :width="width3">
</el-table-column>
<el-table-column prop="nydwGajgmc" label="捺印单位" :width="width3" show-overflow-tooltip>
</el-table-column>
<el-table-column label="操作" width="auto">
<template slot-scope="scope">
<el-tooltip class="item" v-if="roleArr.includes('F-1-8')" effect="dark" content="编辑" placement="top" :open-delay="500">
<!-- <i></i> -->
<!-- <span class="iconfont icon-bianji1 zttb"></span> -->
<div class="icon-div" @click="handleClick(scope.row)">
<!-- <img-->
<!-- src="../../assets/img/qbryk/bj.svg"-->
<!-- alt=""-->
<!-- />-->
<span class="iconfont">&#xe63d;</span>
</div>
</el-tooltip>
</template>
</el-table-column>
</el-table>
<!-- 页码 -->
<div class="block">
<span class="record">共{{ reqParam.page.total }}条记录 第{{ reqParam.page.currPage }}/{{
Tpage
}}页</span>
<el-pagination class="paging" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="reqParam.page.currPage" :page-sizes="[10, 20, 30, 40]" background layout="prev, pager, next" :total="reqParam.page.total">
</el-pagination>
</div>
</div>
</template>
......@@ -116,6 +166,28 @@
xb: '',
cjdw: ''
},
selectBoo: false, // 是否批量操作,
tableDate: [],
reqParam: {
// 请求参数
page: {
total: 0, //表格条数
pageSize: 10, //当前选择要显示的条数
currPage: 1 // 当前在第几页
},
personStoreCustomSearch: {
ysxtAsjxgrybh: "", // 搜索框内容
searchOptions: 3, // 默认搜索方式
checkboxQuery: [] //滚动平面等筛选条件
}
},
width33: "50",
width5: 80,
width4: 110,
width3: 180,
width2: 100,
width1: 220,
height: 500,
}
},
methods: {
......@@ -145,7 +217,87 @@
}
// this.$set(this.multipleSelection, [])
},
search () { // 获取全部人员列表请求
// //console.info("请求===>", this.reqParam);
this.$axios
.post("/api/personstore/person/list", this.reqParam)
.then(response => {
if (response.data.code === 0) {
this.tableDate = response.data.ret.list;
this.reqParam.page.total = response.data.ret.total;
//console.info("查询结果===>", this.tableDate);
// this.userInfo = this.getUserInfo(this.tableDate);
} else {
this.$message.error(response.data.message);
}
});
},
getRowKeys (row) {// 保存选中的数据,row-key就是要指定一个key标识这一行的数据
return row.id;
},
handleSelectionChange (val) {
this.multipleSelection = val;
//console.log(this.multipleSelection);
// if (this.multipleSelection.length) {
// this.isShowTip = true;
// } else {
// this.isShowTip = false;
// }
},
isShowRyxxkBtn (row) {// 人员信息卡操作
// console.log("row", row)
this.rowData = row;
console.log("row", row);
this.isShowRyxxk = true;
},
// 性别格式化
xbdmFormat (row, colnum) {
let xbdm = row.xbdm;
let showProp = null;
if (xbdm == 0) {
showProp = "未知";
} else if (xbdm == 1) {
showProp = "男";
} else if (xbdm == 2) {
showProp = "女";
} else if (xbdm == 9) {
showProp = "未说明";
} else {
showProp = "---";
}
return showProp;
},
handleSizeChange (pageSize) {
this.reqParam.page.pageSize = pageSize;
//console.log("每页条数", this.reqParam.page.pageSize);
},
handleCurrentChange (page) {
this.reqParam.page.currPage = page;
//console.log("当前页", this.reqParam.page.currPage);
this.search();
},
},
mounted () {
this.search();
if (this.$route.query.xzry === "true") {
this.isShowXzry = true;
}
},
computed: {
roleArr () {
return this.$store.state.layout.Menu;
},
Tpage () {
return Math.floor(this.reqParam.page.total / this.reqParam.page.pageSize);
}
}
};
</script>
......
#xzry{
width: 100%;
height: 100%;
}
.top {
width: 100%;
height: 82px;
background: linear-gradient(270deg, rgba(249, 251, 254, 0.5) 0%, #F2F6FA 49%, rgba(249, 251, 254, 0.5) 100%);
filter: blur(0px);
display: flex;
align-items: center;
justify-content: center;
.fir {
display: flex;
.cir {
width: 24px;
height: 24px;
background: #055FE7;
font-size: 12px;
border-radius: 50%;
padding: 3px 8px;
color: #fff;
}
span {
font-size: 16px;
font-family: HarmonyOS_Sans_SC;
color: #055FE7;
line-height: 22px;
margin-left: 5px;
}
.dashed{
margin: 10px 10px;
width: 112px;
height: 1px;
border: 1px dashed #055FE7;
}
.solid{
margin: 10px 10px;
width: 112px;
height: 1px;
background: #CCCCCC;
}
}
.unactive{
display: flex;
.cir {
width: 24px;
height: 24px;
border: 1px solid #999999;
font-size: 12px;
border-radius: 50%;
padding: 2px 7px;
color: #999999;
}
span {
font-size: 16px;
font-family: HarmonyOS_Sans_SC;
color: #999999 !important;
line-height: 22px;
margin-left: 5px;
}
.dashed{
margin: 10px 10px;
width: 112px;
height: 1px;
border: 1px dashed #055FE7;
}
.solid{
margin: 10px 10px;
width: 112px;
height: 1px;
background: #CCCCCC;
}
}
}
.content{
height: 100%;
padding-bottom: 200px;
.el-form{
height: 100%;
overflow: auto;
padding: 0 245px;
}
}
.inputBh {
/deep/.el-input-group__prepend {
width: 40px;
text-align: center;
padding: 0;
}
/deep/.el-input__inner {
width: 224px;
}
}
// 滚动条的宽度
/deep/ .el-form::-webkit-scrollbar {
width: 6px; // 横向滚动条
height: 6px; // 纵向滚动条 必写
}
// 滚动条的滑块
/deep/ .el-form::-webkit-scrollbar-thumb {
background-color: #dadde0;
border-radius: 3px;
}
/deep/.el-checkbox__input.is-checked .el-checkbox__inner,
.el-checkbox__input.is-indeterminate .el-checkbox__inner {
background-color: #055fe7;
border-color: #055fe7;
}
/deep/.el-checkbox__input.is-checked .el-checkbox__inner,
/deep/.el-checkbox__input.is-indeterminate .el-checkbox__inner {
background-color: #055fe7;
border-color: #055fe7;
}
/deep/.el-checkbox__input.is-checked + .el-checkbox__label {
color: #333333;
}
/deep/.flexBox {
display: flex;
.el-checkbox {
margin-right: 24px;
margin-bottom: 10px;
}
}
/deep/.el-radio {
margin-right: 30px;
}
.title {
display: flex;
margin-top: 30px;
div {
font-size: 16px;
font-family: HarmonyOS_Sans_SC;
color: #282f3c;
line-height: 24px;
}
.colorDiv {
width: 4px;
height: 16px;
background: #055fe7;
border-radius: 2px;
margin-right: 10px;
margin-top: 5px;
}
}
/deep/.el-button {
width: 72px;
height: 40px;
background: #ffffff;
color: #333333;
border-radius: 4px;
border: 1px solid #aeb5c2;
}
/deep/.el-button--primary {
border-color: #055fe7;
background: #055fe7;
color: #fff;
width: 72px;
height: 40px;
}
/deep/.el-button + .el-button {
margin-left: 24px;
}
/deep/.el-textarea__inner {
width: 722px;
height: 76px;
overflow: auto;
}
/deep/.el-row {
margin-bottom: 24px;
}
/deep/.el-input__inner {
width: 264px;
}
/deep/.el-form-item__label {
width: 160px;
padding: 0;
font-size: 14px;
font-family: HarmonyOS_Sans_SC;
color: #333333;
}
/deep/.el-divider--horizontal{
width: 89% !important;
}
\ No newline at end of file
<!--
* @Author: your name
* @Date: 2021-09-07 10:31:34
* @LastEditTime: 2021-11-11 16:31:53
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \founder_vue\src\views\zzwlr\Index.vue
-->
<template>
<div id="xzry">
<div class="top">
<div class="fir">
<div class="cir">1</div>
<span>新增人员</span>
<div class="dashed"></div>
</div>
<div class="unactive">
<div class="cir">2</div>
<span>人像采集</span>
<div class="solid"></div>
</div>
<div class="unactive">
<div class="cir">3</div>
<span>指掌纹采集</span>
</div>
</div>
<div class="content">
<el-form :label-position="labelPosition" :inline="true" :model="ruleForm" :rules="rules" ref="ruleForm"
class="demo-form-inline">
<!-- 一 -->
<el-row class="title">
<div class="colorDiv"></div>
<div>捺印指掌纹基本信息</div>
</el-row>
<!-- 二 -->
<el-row>
<el-col :span="12">
<el-form-item label="人员编号:" prop="ysxtAsjxgrybh">
<el-input class="inputBh" v-model.trim="ruleForm.ysxtAsjxgrybh" placeholder="请输入人员编号" maxlength="22"
show-word-limit clearable><template slot="prepend">R</template></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="警综人员编号:">
<!-- prop="jzrybh" -->
<el-input v-model.trim="ruleForm.jzrybh" placeholder="请输入警综人员编号" maxlength="23" show-word-limit clearable>
</el-input>
</el-form-item>
</el-col>
</el-row>
<!-- 三 -->
<el-row>
<el-col :span="12">
<el-form-item label="采集信息原因:" prop="cjxxyydm">
<SelectCode codeUrl="/api/code/cjxxyydm" width="16.5" clearable :form="ruleForm" id="cjxxyydm" multiple
:multipleLimit="5"></SelectCode>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="指掌纹卡编号:">
<!-- prop="zzhwkbh" -->
<el-input v-model.trim="ruleForm.zzhwkbh" placeholder="请输入指掌纹卡编号" maxlength="23" show-word-limit
clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<!-- 四 -->
<el-row>
<el-col :span="12">
<el-form-item>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="案事件相关人员编号:">
<!-- prop="asjxgrybh" -->
<el-input v-model.trim="ruleForm.asjxgrybh" placeholder="请输入案事件相关人员编号" maxlength="23" show-word-limit
clearable></el-input>
</el-form-item>
</el-col>
</el-row>
<el-divider></el-divider>
<!-- 五 -->
<el-row class="title">
<div class="colorDiv"></div>
<div>指掌纹提取信息</div>
</el-row>
<!-- 六 -->
<el-row>
<el-col :span="12">
<el-form-item label="姓名:" prop="xm">
<el-input v-model.trim="ruleForm.xm" placeholder="请输入姓名" clearable maxlength="50" show-word-limit>
</el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="别名/绰号:">
<el-input v-model.trim="ruleForm.bmch" placeholder="请输入别名/绰号" maxlength="50" show-word-limit clearable>
</el-input>
</el-form-item>
</el-col>
</el-row>
<!-- 七 -->
<el-row>
<el-col :span="12">
<el-form-item label="性别:" prop="xbdm">
<SelectCode codeUrl="/api/code/sex" width="16.5" clearable :form="ruleForm" id="xbdm"></SelectCode>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="出生日期:" prop="csrq">
<el-date-picker type="date" placeholder="请选择出生日期" v-model="ruleForm.csrq" style="width: 100%"
:picker-options="{
disabledDate: disabledDate,
}"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<!-- 八 -->
<el-row>
<el-col :span="12">
<el-form-item label="国籍:" prop="gjdm">
<SelectCode codeUrl="/api/code/nationality" width="16.5" :form="ruleForm" id="gjdm"></SelectCode>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="民族:" prop="mzdm">
<SelectCode codeUrl="/api/code/nation" width="16.5" clearable :form="ruleForm" id="mzdm"></SelectCode>
</el-form-item>
</el-col>
</el-row>
<!-- 九 -->
<el-row>
<el-col :span="12">
<el-form-item label="证件类型:" prop="cyzjdm">
<SelectCode codeUrl="/api/code/certificates" width="16.5" clearable :form="ruleForm" id="cyzjdm">
</SelectCode>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="证件号码:" prop="zjhm">
<el-input v-model.trim="ruleForm.zjhm" placeholder="请输入证件号码" maxlength="30" show-word-limit clearable>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="户籍地行政区:" prop="hjdzXzqhdm">
<Cascader :form="ruleForm" id="hjdzXzqhdm" codeName="CODE_XZQH"></Cascader>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="户籍地址:" prop="hjdzDzmc">
<el-input v-model="ruleForm.hjdzDzmc" placeholder="请输入户籍地址" maxlength="100" show-word-limit clearable>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="现住址行政区:" prop="xzzXzqhdm">
<Cascader :form="ruleForm" id="xzzXzqhdm" codeName="CODE_XZQH"></Cascader>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="现住址:" prop="xzzDzmc">
<el-input v-model.trim="ruleForm.xzzDzmc" placeholder="请输入现住址" maxlength="100" show-word-limit clearable>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注信息:">
<el-input resize="none" type="textarea" placeholder="请输入内容" v-model.trim="ruleForm.bz" maxlength="1024"
show-word-limit>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-divider></el-divider>
<!-- 逻辑库 -->
<el-row class="title">
<div class="colorDiv"></div>
<div>人员逻辑分库</div>
</el-row>
<el-row class="flexBox">
<div style="margin: 15px 0"></div>
<el-checkbox-group v-model="checkedTargets">
<el-checkbox v-for="(value,key) in targets" :key="key" :label="value.code">{{ value.name }}</el-checkbox>
</el-checkbox-group>
</el-row>
<el-divider></el-divider>
<!-- 六 -->
<el-row class="title">
<div class="colorDiv"></div>
<div>捺印信息</div>
</el-row>
<!-- 七 -->
<el-row>
<el-col :span="12">
<el-form-item label="捺印单位:" prop="nydwGajgjgdm">
<Cascader :form="ruleForm" id="nydwGajgjgdm"></Cascader>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="捺印人姓名:" prop="nyryXm">
<el-input v-model="ruleForm.nyryXm" placeholder="请输入捺印人姓名" maxlength="50" show-word-limit clearable>
</el-input>
</el-form-item>
</el-col>
</el-row>
<!-- 八 -->
<el-row>
<el-col :span="12">
<el-form-item label="捺印时间:" prop="nysj">
<el-date-picker type="datetime" placeholder="请输入捺印时间" v-model="ruleForm.nysj" style="width: 100%"
:picker-options="{
disabledDate: disabledDate,
}"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="捺印人身份证号:" prop="nyryGmsfhm">
<el-input v-model="ruleForm.nyryGmsfhm" placeholder="请输入捺印人身份证号" maxlength="18" show-word-limit clearable>
</el-input>
</el-form-item>
</el-col>
</el-row>
<!-- 九 -->
<el-row>
<el-col :span="12">
<el-form-item> </el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="捺印人联系电话:" prop="nyryLxdh">
<el-input v-model="ruleForm.nyryLxdh" placeholder="请输入捺印人联系电话" maxlength="18" show-word-limit clearable>
</el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="submitForm('ruleForm')">提交</el-button>
<el-button @click="resetForm('ruleForm')" type="primary">取 消</el-button>
</span>
</div>
</div>
</template>
<script>
import Cascader from "@/components/Cascader.vue";
import SelectCode from "@/components/SelectCode.vue";
export default {
name: 'xzry',
components: {
Cascader,
SelectCode
},
props: {
isShowXzry: {
type: [Number, String, Boolean],
default: false,
},
},
data() {
return {
dialogVisible: false, // 弹窗状态
labelPosition: "left", // 数据项对齐方式
checkedTargets: ['1'], // 选定的目标逻辑库
targets: this.$store.state.ljk.targetOptions_ry, // 目标逻辑库
ruleForm: {
ysxtAsjxgrybh: "", // 人员编号
jzrybh: "", // 警综人员编号
asjxgrybh: "", // 案事件相关人员编号号
zzhwkbh: "", // 现场掌指纹卡编号
cjxxyydm: "", // 采集信息原因
xm: "", // 姓名
bmch: "", // 别名
xbdm: "", // 性别
csrq: "", // 出生日期
gjdm: "", // 国籍
mzdm: "", // 民族
cyzjdm: "", // 证件类型
zjhm: "", // 证件号码
hjdzXzqhdm: "", // 户籍地行政区
hjdzDzmc: "", // 户籍地址
xzzXzqhdm: "", // 现住址行政区
xzzDzmc: "", // 现住址
bz: "", // 备注
nydwGajgjgdm: "", // 捺印单位
nyryXm: "", // 捺印人姓名
nysj: "", // 捺印时间
nyryGmsfhm: "", // 捺印人身份证号
nyryLxdh: "", // 捺印人电话
ifidcard: "是", // 是否采集二代身份证
zwbdxtlxms: "1", // 指纹比对描述
},
logicList: [],// 逻辑库代码
rules: {
ysxtAsjxgrybh: [
{ min: 22, max: 22, message: '编号长度有误!', trigger: 'change' },
{ required: true, message: "请输入人员条码号", trigger: "blur" },
],
jzrybh: [
{ required: true, message: "请输入警综人员编号", trigger: "blur" },
],
asjxgrybh: [
{ required: true, message: "请输入案事件人员号", trigger: "blur" },
],
zzhwkbh: [
{ required: true, message: "请输入掌指纹卡编号", trigger: "blur" },
],
cjxxyydm: [
{ required: true, message: "请选择采集信息原因", trigger: "blur" },
],
xm: [{ required: true, message: "请输入姓名", trigger: "blur" }],
xbdm: [{ required: true, message: "请选择性别", trigger: "blur" }],
csrq: [
{
type: "date",
required: true,
message: "请选择出生日期",
trigger: "change",
},
],
gjdm: [{ required: true, message: "请选择国籍", trigger: "blur" }],
mzdm: [{ required: true, message: "请选择民族", trigger: "blur" }],
cyzjdm: [
{ required: true, message: "请选择证件类型", trigger: "blur" },
],
zjhm: [{ required: true, message: "请输入证件号码", trigger: "blur" }],
hjdzXzqhdm: [
{ required: true, message: "请选择户籍地行政区", trigger: "blur" },
],
hjdzDzmc: [
{ required: true, message: "请输入户籍地址", trigger: "blur" },
],
xzzXzqhdm: [
{ required: true, message: "请选现住地行政区", trigger: "blur" },
],
xzzDzmc: [
{ required: true, message: "请输入现住地址", trigger: "blur" },
],
nydwGajgjgdm: [
{ required: true, message: "请输入捺印单位", trigger: "change" },
],
nyryXm: [
{ required: true, message: "请输入捺印人员姓名", trigger: "change" },
],
nysj: [
{
type: "date",
required: true,
message: "请选择捺印时间",
trigger: "change",
},
],
nyryGmsfhm: [
{ required: true, message: "请输入捺印人身份证号", trigger: "blur" },
{
pattern: /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$)/,
message: '证件号码格式有误!',
trigger: 'blur'
}
],
nyryLxdh: [
{ required: true, message: "请输入捺印人联系电话", trigger: "blur" },
],
},
}
},
mounted() {
this.dialogVisible = this.isShowXzry;
},
watch: {
isShowXzry(newVal, oldVal) {
this.dialogVisible = newVal;
},
dialogVisible(val) {
this.$emit("closeXzry", this.dialogVisible);
},
},
methods: {
disabledDate(a) {
if (a.getTime() > new Date().getTime()) {
return true;
} else {
return false;
}
},
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
if (this.checkedTargets.length == 0) {
this.$message.error('请选择逻辑库')
} else {
this.logicList = this.checkedTargets
let reqParam = {
personDo: "",
logicList: [],
cjxxyyList: []
};
reqParam.cjxxyyList = this.ruleForm.cjxxyydm
delete this.ruleForm.cjxxyydm
reqParam.personDo = this.ruleForm;
reqParam.personDo.ysxtAsjxgrybh = 'R' + this.ruleForm.ysxtAsjxgrybh
reqParam.logicList = this.logicList
this.$axios
.post("/api/personstore/personadd", reqParam)
.then((response) => {
if (response.data.code === 0) {
this.$message.success("新增成功");
this.dialogVisible = false;
this.$router.pushToTab({
path: `/fingerprintIndex/${reqParam.personDo.ysxtAsjxgrybh}/${this.ruleForm.xm}`,
query: {
type: 0
}
})
this.ruleForm = {
ysxtAsjxgrybh: "", // 人员编号
jzrybh: "", // 警综人员编号
asjxgrybh: "", // 案事件相关人员编号号
zzhwkbh: "", // 现场掌指纹卡编号
cjxxyydm: "", // 采集信息原因
xm: "", // 姓名
bmch: "", // 别名
xbdm: "", // 性别
csrq: "", // 出生日期
gjdm: "", // 国籍
mzdm: "", // 民族
cyzjdm: "", // 证件类型
zjhm: "", // 证件号码
hjdzXzqhdm: "", // 户籍地行政区
hjdzDzmc: "", // 户籍地址
xzzXzqhdm: "", // 现住址行政区
xzzDzmc: "", // 现住址
bz: "", // 备注
nydwGajgjgdm: "", // 捺印单位
nyryXm: "", // 捺印人姓名
nysj: "", // 捺印时间
nyryGmsfhm: "", // 捺印人身份证号
nyryLxdh: "", // 捺印人电话
ifidcard: "是", // 是否采集二代身份证
zwbdxtlxms: "1", // 指纹比对描述
}
this.checkedTargets = ['1']// 选定的目标逻辑库
} else {
this.$message.error("新增失败");
this.$set(this.ruleForm, 'cjxxyydm', [])
this.$set(this.ruleForm, 'ysxtAsjxgrybh', this.ruleForm.ysxtAsjxgrybh.substring(1, 23))
}
});
}
} else {
return false;
}
});
},
resetForm(formName) {
this.$refs[formName].resetFields();
this.dialogVisible = false;
},
handleClose(done) {
this.dialogVisible = false;
this.$refs[formName].resetFields();
},
}
};
</script>
<style lang="scss" scoped>
@import './xzry.scss'
</style>
\ No newline at end of file
......@@ -113,7 +113,7 @@ module.exports = {
// target: "http://192.168.128.166:8099/", // 张 认定
// target: "http://192.168.128.104:8099", // 湖南-马
// target: "http://192.168.128.116:8099", // 湖南-王
// target: "http://192.168.128.109:8099", // 湖南-张呈光
// target: "http://192.168.128.114:8099", // 湖南-张呈光
// target: "http://172.18.116.73:8099/", //统一的请求头部每次修改都要重启才会生效 http://39.99.224.27:8006/ ma
// target: "http://127.0.0.1:8099",
// target: "http://47.92.225.109:5602",
......@@ -129,9 +129,9 @@ module.exports = {
"/security": {
// target: "http://192.168.128.106:8765", // 湖南-王
// target: "http://192.168.128.166:8099/", // 张 认定
target: "http://192.168.128.114:8765/", // 张 认定
// target: "http://www.meetfood.cn:2390", // 湖南-王
target: "http://zwpt.xzclub.top:9333",
// target: "http://zwpt.xzclub.top:9333",
// target: "http://192.168.128.109:8765",
ws: true,
changeOrigin: true,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment