Commit 62c6c3d6 by liyuhang19990520

Merge branch 'dev_zwpt' of http://47.92.108.28/changchao/founder_vue into dev_zwpt

parents 268b2629 62b4c4f7
<?xml version="1.0" encoding="UTF-8"?>
<svg width="14px" height="8px" viewBox="0 0 14 8" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>路径</title>
<defs>
<radialGradient cx="0%" cy="50%" fx="0%" fy="50%" r="175%" gradientTransform="translate(0.000000,0.500000),scale(0.571429,1.000000),translate(-0.000000,-0.500000)" id="radialGradient-1">
<stop stop-color="#7ED7FF" offset="0%"></stop>
<stop stop-color="#49AFFF" offset="100%"></stop>
</radialGradient>
</defs>
<g id="页面-2" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="人员工作流设置-串行交互备份" transform="translate(-768.000000, -455.000000)" fill="url(#radialGradient-1)" fill-rule="nonzero">
<path d="M776.783882,457.342107 L776.180818,455.550752 C776.006385,455.033803 776.229028,454.841214 776.684832,455.14438 L781.660116,458.450645 C782.110661,458.750126 782.115921,459.24496 781.660116,459.548126 L776.684832,462.855313 C776.234287,463.154794 776.002879,462.975105 776.180818,462.44802 L776.783882,460.656665 L768.783634,459.315914 C767.739666,459.140833 767.737912,458.857939 768.783634,458.682858 L776.783882,457.342107 Z" id="路径"></path>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="19px" viewBox="0 0 16 19" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>形状备份 10</title>
<defs>
<linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-1">
<stop stop-color="#7ED7FF" offset="0%"></stop>
<stop stop-color="#48AEFF" offset="100%"></stop>
</linearGradient>
</defs>
<g id="页面-2" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="人员工作流设置-串行交互备份" transform="translate(-662.000000, -443.000000)" fill="url(#linearGradient-1)" fill-rule="nonzero">
<g id="编组-4备份-3" transform="translate(662.000000, 443.000000)">
<path d="M15.5312,0.491054722 C15.2402967,0.180089589 14.8303435,0.00212861766 14.4,0 L1.60000001,0 C1.16965651,0.00212861766 0.759703314,0.180089589 0.468800006,0.491054722 C0.168,0.804827718 0,1.23155899 0,1.67554776 L0,17.1476939 C0,17.7517069 0.310400006,18.3086539 0.811199999,18.6067383 C1.30854526,18.9035297 1.93525277,18.8949948 2.424,18.5847742 L7.17760001,15.5976553 C7.67779148,15.2792707 8.32220852,15.2792707 8.82239999,15.5976553 L13.576,18.5847742 C14.0647472,18.8949948 14.6914547,18.9035297 15.1888,18.6067383 C15.6896,18.3086539 16,17.7517069 16,17.1476939 L16,1.67554776 C16,1.23155899 15.832,0.804827718 15.5312,0.491054722 Z" id="形状备份-10"></path>
</g>
</g>
</g>
</svg>
\ No newline at end of file
import addrType from '../../netmgr/NetAddressType'
/**
* Description: 逻辑分库相关接口类
* @author: li_hongchao
* @date: 2022/1/5 11:33
*/
const _path = {
ryfkgl: addrType.api + '/logic/person/',
ajfkgl: addrType.api + '/logic/case/'
ajfkgl: addrType.api + '/logic/case/',
ljkyh: addrType.security + '/r-user-user-group/',
gzl: addrType.api + '/workflow/'
}
export default {
/**
* Description: 获取人员逻辑库列表信息
* @author: li_hongchao
* @date: 2022/1/5 11:32
*/
ryList(_parameter) {// 获取人员逻辑库
return fHttp.postJson(_path.ryfkgl + 'queryAll', _parameter)
},
/**
* Description: 获取案件逻辑库列表信息
* @author: li_hongchao
* @date: 2022/1/5 11:32
*/
ajList(_parameter) {// 获取案件逻辑库
return fHttp.postJson(_path.ajfkgl + 'queryAll', _parameter)
},
/**
* Description: 获取用户、用户组列表信息,用于选择逻辑库用户选择控件
* @author: li_hongchao
* @date: 2022/1/5 11:31
*/
yhList() {
return fHttp.get(_path.ljkyh + 'getUserAndUserGroup', {})
},
/**
* Description: 更新逻辑分库信息
* @author: li_hongchao
* @date: 2022/1/5 11:31
*/
updateLjfkxx(_parameter, isPerson = true) {
let path = isPerson ? _path.ryfkgl : _path.ajfkgl
return fHttp.postJson(path + 'insert', _parameter)
},
saveGzl(_parameter) {
return fHttp.postJson(_path.gzl + 'save', _parameter)
},
queryGzl(_parameter) {
return fHttp.post(_path.gzl + 'queryByLogicIdAndType', _parameter,{
"Content-Type": 'application/x-www-form-urlencoded'
})
},
}
import axios from 'axios'
import { Message, MessageBox } from 'element-ui'
import {Message, MessageBox} from 'element-ui'
import qs from 'qs'
import { ACCESS_TOKEN } from '../store/mutation-types'
import {ACCESS_TOKEN} from '../store/mutation-types'
import router from '../router'
import { showLoading, hideLoading } from '@/utils/requestLoading'
import {showLoading, hideLoading} from '@/utils/requestLoading'
// debugger
axios.defaults.timeout = 0
......@@ -46,7 +46,7 @@ let initConfig = (config) => {
if (!window._axiosPromiseArr) {
window._axiosPromiseArr = []
}
window._axiosPromiseArr.push({ cancel })
window._axiosPromiseArr.push({cancel})
})
// 判断当前请求是否设置了不显示Loading,默认显示
if (config.loading !== false) {
......@@ -108,11 +108,11 @@ let onResponse = (response) => {
let message = response.data.message
if (status === 0) {
// return response.data
} else if (status === '200') {
} else if (status === '200' || status === 200) {
response.data.code = 0
} else if (status === 401) {
response.data.message = message === '未登录' ? '登超时,请重新登录!' : message
$(".tzdDrawing").css('z-index', '1')
response.data.message = message === '未登录' ? '登超时,请重新登录!' : message
$('.tzdDrawing').css('z-index', '1')
} else {
response.data.message = '未知异常:' + message
}
......@@ -126,7 +126,6 @@ let onResponse = (response) => {
// request 请求拦截器
common.interceptors.request.use(
config => {
config.headers['Content-Type'] = 'application/json'
config = initConfig(config)
return config
}, onError)
......@@ -201,11 +200,11 @@ export default {
/**
* 封装get方法
*/
get (url, params) {
get(url, data) {
return new Promise((resolve, reject) => {
common
.get(url, {
params: params
params: data
})
.then(response => {
logger.net(data, url, response)
......@@ -220,9 +219,9 @@ export default {
/**
* 封装post请求
*/
post (url, params, config) {
post(url, data, config) {
return new Promise((resolve, reject) => {
common.post(url, qs.stringify(params), config)
common.post(url, qs.stringify(data), {headers: config})
.then(response => {
logger.net(data, url, response)
parseResponse(resolve, reject, response)
......@@ -236,9 +235,9 @@ export default {
/**
* 封装post请求 multipart/form-data
*/
postform (url, data, config) {
postform(url, data, config) {
return new Promise((resolve, reject) => {
instance.post(url, data, config).then(response => {
instance.post(url, data, {headers: config}).then(response => {
logger.net(data, url, response)
parseResponse(resolve, reject, response)
})
......@@ -250,9 +249,9 @@ export default {
/**
* 封装post请求 文件下载
*/
postdown (url, data, config) {
postdown(url, data, config) {
return new Promise((resolve, reject) => {
down.post(url, data, config).then(response => {
down.post(url, data, {headers: config}).then(response => {
logger.net(data, url, response)
parseResponse(resolve, reject, response)
})
......@@ -265,9 +264,9 @@ export default {
/**
* 封装post请求 json格式
*/
postJson (url, data, config) {
postJson(url, data, config) {
return new Promise((resolve, reject) => {
json.post(url, data, config).then(response => {
json.post(url, data, {headers: config}).then(response => {
logger.net(data, url, response)
parseResponse(resolve, reject, response)
})
......@@ -276,7 +275,7 @@ export default {
})
},
cancel () {// 取消当前网络请求
cancel() {// 取消当前网络请求
if (window._axiosPromiseArr) {
window._axiosPromiseArr.forEach((ele, index) => {// 切换路由时,关闭当前页面请求
if (ele) {
......
/*
* @Author: your name
* @Date: 2021-09-07 09:57:48
* @LastEditTime: 2021-12-30 18:41:55
* @LastEditTime: 2022-01-07 16:54:43
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\src\router\index.js
......@@ -77,7 +77,7 @@ router.beforeEach((to, from, next) => {
fHttp.cancel() // 切换路由时,关闭当前页面所有请求
// if (from.name == 'ryzwbj' || from.name == 'ajzwbj') {
// sessionStorage.clear()
// // sessionStorage.clear()
// }
store.commit('loading/setPreRoute', from.name)
let token = localStorage.getItem('token')
......
<template>
<el-container
class="AllPersonnelBase"
direction="vertical"
id="AllPersonnelBase"
>
<el-container class="AllPersonnelBase" direction="vertical" id="AllPersonnelBase">
<!--一-->
<!-- <div class='title'>全部人员库</div> -->
<!--二-->
<div class="search">
<el-input
clear="search-input"
placeholder="请输入条码,*支持模糊搜索"
v-model.trim="reqParam.personStoreCustomSearch.ysxtAsjxgrybh"
@keyup.enter.native="search"
maxlength="23"
show-word-limit
>
<el-input clear="search-input" placeholder="请输入条码,*支持模糊搜索" v-model.trim="reqParam.personStoreCustomSearch.ysxtAsjxgrybh" @keyup.enter.native="search" maxlength="23" show-word-limit>
</el-input>
<i
class="el-icon-circle-close"
v-if="reqParam.personStoreCustomSearch.ysxtAsjxgrybh.length > 0"
@click="empty"
></i>
<div
class="search-icon el-icon-search"
@click="search"
></div>
<el-radio-group
v-model="reqParam.personStoreCustomSearch.searchOptions"
@change="searchStyle"
>
<i class="el-icon-circle-close" v-if="reqParam.personStoreCustomSearch.ysxtAsjxgrybh.length > 0" @click="empty"></i>
<div class="search-icon el-icon-search" @click="search"></div>
<el-radio-group v-model="reqParam.personStoreCustomSearch.searchOptions" @change="searchStyle">
<el-radio :label="3">通用搜索</el-radio>
<el-radio :label="6">指定条码搜索</el-radio>
<el-radio :label="9">高级搜索</el-radio>
......@@ -38,14 +17,8 @@
<!-- 三 -->
<div class="options">
<div class="left">
<div
class="btn"
@click="batch"
>批量操作</div>
<el-checkbox-group
v-model="reqParam.personStoreCustomSearch.checkboxQuery"
@change="searchCheckList"
>
<div class="btn" @click="batch">批量操作</div>
<el-checkbox-group v-model="reqParam.personStoreCustomSearch.checkboxQuery" @change="searchCheckList">
<el-checkbox label="gundong">滚动</el-checkbox>
<el-checkbox label="pingmian">平面</el-checkbox>
<el-checkbox label="zhangwen">掌纹</el-checkbox>
......@@ -53,198 +26,73 @@
</el-checkbox-group>
</div>
<div class="right">
<div
class="btn"
@click="isShowTjddlBtn"
v-if="roleArr.includes('F-1-1')"
>
<div class="btn" @click="isShowTjddlBtn" v-if="roleArr.includes('F-1-1')">
添加到队列
</div>
<div
class="btn"
v-if="roleArr.includes('F-1-2')"
v-clipboard:copy="ysxtAsjxgrybh"
@click="getysxtAsjxgrybh"
v-clipboard:success="onCopy"
v-clipboard:error="onError"
>
<div class="btn" v-if="roleArr.includes('F-1-2')" v-clipboard:copy="ysxtAsjxgrybh" @click="getysxtAsjxgrybh" v-clipboard:success="onCopy" v-clipboard:error="onError">
复制条码
</div>
<div
class="btn"
v-if="roleArr.includes('F-1-3')"
@click="isShowDcftpxBtn"
>
<div class="btn" v-if="roleArr.includes('F-1-3')" @click="isShowDcftpxBtn">
FPTX导出
</div>
<div
class="btn"
v-if="roleArr.includes('F-1-4')"
@click="isShowGzBtn"
>
<div class="btn" v-if="roleArr.includes('F-1-4')" @click="isShowGzBtn">
关注
</div>
<div
class="btn"
v-if="roleArr.includes('F-1-5')"
@click="delMore"
>
<div class="btn" v-if="roleArr.includes('F-1-5')" @click="delMore">
删除
</div>
<div
class="btn send"
v-if="roleArr.includes('F-1-6')"
@click="isShowFcxBtn"
>
<div class="btn send" v-if="roleArr.includes('F-1-6')" @click="isShowFcxBtn">
发查询
</div>
<button
v-if="roleArr.includes('F-1-7')"
:class="this.disabled ? 'btn disabled ' : 'btn new'"
@click="isShowXzryBtn"
:disabled="disabled"
>
<button v-if="roleArr.includes('F-1-7')" :class="this.disabled ? 'btn disabled ' : 'btn new'" @click="isShowXzryBtn" :disabled="disabled">
<i class="el-icon-plus"></i>新增人员
</button>
</div>
</div>
<!--四 -->
<el-tag
style="width: 100%; color: #666666;margin-bottom:1rem "
v-show="isShowTip"
>
<el-tag style="width: 100%; color: #666666;margin-bottom:1rem " 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>
<i class="iconfont icon-tanhao1" style="color: #055fe7; font-size: 16px; margin: 0 0.625rem;"></i>
已选择
<span style="color: #055fe7">{{ multipleSelection.length }}</span> 项​
<!-- <span v-html="'&nbsp;&nbsp;'"></span> -->
<!-- ​服务调用总计:<span v-html="'&nbsp;&nbsp;'"></span>36.4万 -->
<el-link
type="primary"
:underline="false"
style="margin-left: 1.25rem"
@click="toggleSelection()"
>清除</el-link>
<el-link type="primary" :underline="false" style="margin-left: 1.25rem" @click="toggleSelection()">清除</el-link>
</el-tag>
<!-- 五 -->
<el-table
:max-height="height"
ref="multipleTable"
:data="tableDate"
:row-key="getRowKeys"
tooltip-effect="dark"
style="width: 100%"
:class="{ delSelection: !selectBoo }"
@selection-change="handleSelectionChange"
@row-click="isShowRyxxkBtn"
>
<el-table-column
type="selection"
:reserve-selection="true"
:width="width33"
>
<el-table :max-height="height" ref="multipleTable" :data="tableDate" :row-key="getRowKeys" tooltip-effect="dark" style="width: 100%" :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 prop="ysxtAsjxgrybh" label="人员编号" :width="width1" show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="xm"
label="姓名"
:width="width2"
show-overflow-tooltip
>
<el-table-column prop="xm" label="姓名" :width="width2" show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="zjhm"
label="身份证号"
:width="width3"
show-overflow-tooltip
>
<el-table-column prop="zjhm" label="身份证号" :width="width3" show-overflow-tooltip>
</el-table-column>
<el-table-column
:formatter="dateTimeFormat"
prop="csrq"
label="出生日期"
:width="width4"
>
<el-table-column :formatter="dateTimeFormat" prop="csrq" label="出生日期" :width="width4">
</el-table-column>
<el-table-column
prop="xbdm"
label="性别"
:width="width5"
:formatter="xbdmFormat"
>
<el-table-column prop="xbdm" label="性别" :width="width5" :formatter="xbdmFormat">
</el-table-column>
<el-table-column
prop="rollcount"
label="滚动"
:width="width5"
>
<el-table-column prop="rollcount" label="滚动" :width="width5">
</el-table-column>
<el-table-column
prop="plancount"
label="平面"
:width="width5"
>
<el-table-column prop="plancount" label="平面" :width="width5">
</el-table-column>
<el-table-column
prop="plamcount"
label="掌纹"
:width="width5"
>
<el-table-column prop="plamcount" label="掌纹" :width="width5">
</el-table-column>
<el-table-column
prop="piccount"
label="人像"
:width="width5"
>
<el-table-column prop="piccount" label="人像" :width="width5">
</el-table-column>
<el-table-column
prop="ifidcard"
label="采集二代证"
:width="width2"
:formatter="ifidcardFormat"
>
<el-table-column prop="ifidcard" label="采集二代证" :width="width2" :formatter="ifidcardFormat">
</el-table-column>
<el-table-column
prop="nydwGajgmc"
label="捺印单位"
:width="width3"
show-overflow-tooltip
>
<el-table-column prop="nydwGajgmc" label="捺印单位" :width="width3" show-overflow-tooltip>
</el-table-column>
<el-table-column
fixed="right"
label="操作"
width="auto"
>
<el-table-column fixed="right" label="操作" width="auto">
<template slot-scope="scope">
<div
class="ops"
@click.stop="closeSelected"
>
<el-tooltip
class="item"
v-if="roleArr.includes('F-1-8')"
effect="dark"
content="编辑"
placement="top"
:open-delay="500"
>
<div class="ops" @click.stop="closeSelected">
<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)"
>
<div class="icon-div" @click="handleClick(scope.row)">
<!-- <img-->
<!-- src="../../assets/img/qbryk/bj.svg"-->
<!-- alt=""-->
......@@ -252,25 +100,9 @@
<span class="iconfont">&#xe63d;</span>
</div>
</el-tooltip>
<el-tooltip
class="item"
effect="dark"
content="关注"
placement="top"
:open-delay="500"
v-if="roleArr.includes('F-1-9')"
>
<div
v-if="scope.row.collectstatus == 1"
class="icon-div"
>
<el-popconfirm
placement="top-start"
:hide-icon="true"
confirm-button-text="确认"
@confirm="qxgz(scope.row.id)"
title="确认取消关注该数据吗?该操作无法撤消!"
>
<el-tooltip class="item" effect="dark" content="关注" placement="top" :open-delay="500" v-if="roleArr.includes('F-1-9')">
<div v-if="scope.row.collectstatus == 1" class="icon-div">
<el-popconfirm placement="top-start" :hide-icon="true" confirm-button-text="确认" @confirm="qxgz(scope.row.id)" title="确认取消关注该数据吗?该操作无法撤消!">
<div slot="reference">
<!-- <img-->
<!-- src="../../assets/img/qbryk/gz.svg"-->
......@@ -280,10 +112,7 @@
</div>
</el-popconfirm>
</div>
<div
v-else
class="icon-div"
>
<div v-else class="icon-div">
<!-- class="icon sc"-->
<div @click="isShowGzBtn1(scope.row)">
<!-- <img-->
......@@ -294,18 +123,8 @@
</div>
</div>
</el-tooltip>
<el-tooltip
class="item"
effect="dark"
content="改号"
placement="top"
:open-delay="500"
v-if="roleArr.includes('F-1-10')"
>
<div
class="icon-div"
@click="isShowGgrytmBtn(scope.row)"
>
<el-tooltip class="item" effect="dark" content="改号" placement="top" :open-delay="500" v-if="roleArr.includes('F-1-10')">
<div class="icon-div" @click="isShowGgrytmBtn(scope.row)">
<!-- <img-->
<!-- src="../../assets/img/qbryk/gx.svg"-->
<!-- alt=""-->
......@@ -313,18 +132,8 @@
<span class="iconfont">&#xe604;</span>
</div>
</el-tooltip>
<el-tooltip
class="item"
effect="dark"
content="发查询"
placement="top"
:open-delay="500"
v-if="roleArr.includes('F-1-11')"
>
<div
class="icon-div"
@click="isShowFcxBtn1(scope.row)"
>
<el-tooltip class="item" effect="dark" content="发查询" placement="top" :open-delay="500" v-if="roleArr.includes('F-1-11')">
<div class="icon-div" @click="isShowFcxBtn1(scope.row)">
<!-- <img-->
<!-- src="../../assets/img/qbryk/search.svg"-->
<!-- alt=""-->
......@@ -332,18 +141,8 @@
<span class="iconfont">&#xe607;</span>
</div>
</el-tooltip>
<el-tooltip
class="item"
effect="dark"
content="复制数据"
placement="top"
v-if="roleArr.includes('F-1-12')"
:open-delay="500"
>
<div
class="icon-div"
@click="isShowFztmBtn(scope.row)"
>
<el-tooltip class="item" effect="dark" content="复制数据" placement="top" v-if="roleArr.includes('F-1-12')" :open-delay="500">
<div class="icon-div" @click="isShowFztmBtn(scope.row)">
<!-- <img-->
<!-- src="../../assets/img/qbryk/bz.svg"-->
<!-- alt=""-->
......@@ -351,17 +150,8 @@
<span class="iconfont">&#xe605;</span>
</div>
</el-tooltip>
<el-tooltip
class="item"
effect="dark"
content="打印"
placement="top"
:open-delay="500"
>
<div
class="icon-div"
@click="handleClick(scope.row)"
>
<el-tooltip class="item" effect="dark" content="打印" placement="top" :open-delay="500">
<div class="icon-div" @click="handleClick(scope.row)">
<!-- <img-->
<!-- src="../../assets/img/qbryk/print.svg"-->
<!-- alt=""-->
......@@ -369,22 +159,9 @@
<span class="iconfont">&#xe606;</span>
</div>
</el-tooltip>
<el-tooltip
class="item"
effect="dark"
content="删除"
v-if="roleArr.includes('F-1-15')"
placement="top"
:open-delay="500"
>
<el-tooltip class="item" effect="dark" content="删除" v-if="roleArr.includes('F-1-15')" placement="top" :open-delay="500">
<div class="icon-div">
<el-popconfirm
placement="top-start"
:hide-icon="true"
confirm-button-text="确认"
@confirm="delOne(scope.row.id)"
title="确认要删除该数据吗?该操作无法撤消!"
>
<el-popconfirm placement="top-start" :hide-icon="true" confirm-button-text="确认" @confirm="delOne(scope.row.id)" title="确认要删除该数据吗?该操作无法撤消!">
<div slot="reference">
<!-- <img-->
<!-- src="../../assets/img/qbryk/del.svg"-->
......@@ -404,73 +181,28 @@
<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 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>
<!-- <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" :page-sizes="[10, 20, 30, 40]" background layout="sizes, prev, pager, next" :total="tableDataLength">
</el-pagination> -->
<!-- 添加到队列弹窗 -->
<tjddl
:isShowTjddl="isShowTjddl"
:rowData="rowData"
:type="type"
@closeTjddl="closeTjddl"
></tjddl>
<tjddl :isShowTjddl="isShowTjddl" :rowData="rowData" :type="type" @closeTjddl="closeTjddl"></tjddl>
<!-- 关注弹窗 -->
<gz
:isShowGz="isShowGz"
:rowData="rowData"
:type="type"
@closeGz="closeGz"
></gz>
<gz :isShowGz="isShowGz" :rowData="rowData" :type="type" @closeGz="closeGz"></gz>
<!-- 导出FPTX弹窗 -->
<dcftpx
:isShowDcftpx="isShowDcftpx"
:rowData="rowData"
@closeDcftpx="closeDcftpx"
></dcftpx>
<dcftpx :isShowDcftpx="isShowDcftpx" :rowData="rowData" @closeDcftpx="closeDcftpx"></dcftpx>
<!-- 复制数据弹窗 -->
<fztm
:isShowFztm="isShowFztm"
:rowData="rowData"
:type="type"
@closeFztm="closeFztm"
></fztm>
<fztm :isShowFztm="isShowFztm" :rowData="rowData" :type="type" @closeFztm="closeFztm"></fztm>
<!-- 更改人员条码弹窗 -->
<ggrytm
:isShowGgrytm="isShowGgrytm"
:rowData="rowData"
:type="type"
@closeGgrytm="closeGgrytm"
>
<ggrytm :isShowGgrytm="isShowGgrytm" :rowData="rowData" :type="type" @closeGgrytm="closeGgrytm">
</ggrytm>
<!-- 发查询弹窗 -->
<fcx
:isShowFcx="isShowFcx"
:rowData="rowData"
:type="type"
@closeFcx="closeFcx"
>
<fcx :isShowFcx="isShowFcx" :rowData="rowData" :type="type" @closeFcx="closeFcx">
</fcx>
<!-- 新增人员弹窗 -->
<xzry
:isShowXzry="isShowXzry"
@closeXzry="closeXzry"
> </xzry>
<xzry :isShowXzry="isShowXzry" @closeXzry="closeXzry"> </xzry>
<!-- 人员信息卡 -->
<ryxxk
:isShowRyxxk="isShowRyxxk"
:rowData="rowData"
@closeRyxxk="closeRyxxk"
>
<ryxxk :isShowRyxxk="isShowRyxxk" :rowData="rowData" @closeRyxxk="closeRyxxk">
</ryxxk>
<!-- <el-drawer
......@@ -964,7 +696,14 @@ export default {
*/
handleClick (row) {
this.closeSelected();
//console.log(row);
// console.log(row);
// 清除bus
this.$bus.off('ryzwbjImage');
this.$bus.off('ryzwbjType');
this.$bus.off('ryzwbjTDZ');
this.$bus.off('zwType');
this.$bus.off('setRxInfo')
this.$bus.off('openRyDaxx')
// 先清除路由懒加载
this.$store.commit('layout/delcachePageName', 'ryzwbj')
// 清除sessionStorage值
......@@ -1046,7 +785,7 @@ export default {
// .el-message-box__message {
// margin: 23px 24px 17px 24px;
// font-size: 14px;
// font-family: HarmonyOS_Sans_SC;
// font-family: MicrosoftYaHei;
// color: #333333;
// }
// .el-message-box__btns {
......@@ -1061,7 +800,7 @@ export default {
// background: #055fe7;
// border-radius: 4px;
// font-size: 14px;
// font-family: HarmonyOS_Sans_SC;
// font-family: MicrosoftYaHei;
// color: #ffffff;
// }
// .el-button:nth-child(2) {
......@@ -1073,14 +812,14 @@ export default {
// border-radius: 4px;
// border: 1px solid #aeb5c2;
// font-size: 14px;
// font-family: HarmonyOS_Sans_SC;
// font-family: MicrosoftYaHei;
// color: #2e3846;
// }
// }
.el-popconfirm__main {
margin: 23px 24px 17px 24px;
font-size: 14px;
font-family: HarmonyOS_Sans_SC;
font-family: MicrosoftYaHei;
color: #333333;
}
.el-popconfirm__action {
......@@ -1095,7 +834,7 @@ export default {
background: #055fe7;
border-radius: 4px;
font-size: 14px;
font-family: HarmonyOS_Sans_SC;
font-family: MicrosoftYaHei;
color: #ffffff;
}
.el-button:nth-child(2) {
......@@ -1107,7 +846,7 @@ export default {
border-radius: 4px;
border: 1px solid #aeb5c2;
font-size: 14px;
font-family: HarmonyOS_Sans_SC;
font-family: MicrosoftYaHei;
color: #2e3846;
}
}
......@@ -1134,10 +873,10 @@ export default {
height: 100%;
box-sizing: border-box;
padding: 24px;
font-family: HarmonyOS_Sans_SC;
font-family: MicrosoftYaHei;
.title {
font-size: 16px;
font-family: HarmonyOS_Sans_SC-Bold, HarmonyOS_Sans_SC;
font-family: MicrosoftYaHei-Bold, MicrosoftYaHei;
font-weight: bold;
color: #333333;
margin-bottom: 20px;
......@@ -1269,7 +1008,7 @@ export default {
border: none;
background: #055fe7;
font-size: 14px;
font-family: HarmonyOS_Sans_SC;
font-family: MicrosoftYaHei;
color: #ffffff;
&:hover {
background: #377fec;
......@@ -1282,7 +1021,7 @@ export default {
border: none;
border: 1px solid #055fe7;
font-size: 14px;
font-family: HarmonyOS_Sans_SC;
font-family: MicrosoftYaHei;
color: #055fe7;
background-color: #fff;
i {
......@@ -1302,7 +1041,7 @@ export default {
border: none;
border: 1px solid #ecedf1;
font-size: 14px;
font-family: HarmonyOS_Sans_SC;
font-family: MicrosoftYaHei;
background-color: #fff;
color: #c2c4c7;
i {
......@@ -1368,7 +1107,7 @@ export default {
// align-items: center;
.record {
font-size: 14px;
font-family: HarmonyOS_Sans_SC;
font-family: MicrosoftYaHei;
color: #666666;
}
.paging {
......@@ -1419,13 +1158,13 @@ export default {
}
/deep/.el-table th > .cell {
font-size: 14px;
font-family: HarmonyOS_Sans_SC;
font-family: MicrosoftYaHei;
font-weight: normal;
color: #282f3c;
}
/deep/.el-table td > .cell {
font-size: 14px;
font-family: HarmonyOS_Sans_SC;
font-family: MicrosoftYaHei;
color: #333333;
}
/deep/.el-checkbox__input.is-checked .el-checkbox__inner,
......
<template>
<el-container
class="AllPersonnelBase"
direction="vertical"
>
<el-container class="AllPersonnelBase" direction="vertical">
<!--一-->
<!-- <div class="title">全部案件库</div> -->
<!--二-->
<div class="search">
<el-input
clear="search-input"
placeholder="请输入条码,*支持模糊搜索"
v-model.trim="reqParam.caseStoreCustomSearchReq.ysxtAsjbh"
@keyup.enter.native="search"
maxlength="23"
show-word-limit
></el-input>
<i
class="el-icon-circle-close"
v-if="reqParam.caseStoreCustomSearchReq.ysxtAsjbh.length>0"
@click='empty'
></i>
<div
class="search-icon el-icon-search"
@click="search"
></div>
<el-input clear="search-input" placeholder="请输入条码,*支持模糊搜索" v-model.trim="reqParam.caseStoreCustomSearchReq.ysxtAsjbh" @keyup.enter.native="search" maxlength="23" show-word-limit></el-input>
<i class="el-icon-circle-close" v-if="reqParam.caseStoreCustomSearchReq.ysxtAsjbh.length>0" @click='empty'></i>
<div class="search-icon el-icon-search" @click="search"></div>
<el-radio-group v-model="reqParam.caseStoreCustomSearchReq.searchOptions">
<el-radio :label="3">通用搜索</el-radio>
<el-radio :label="6">指定条码搜索</el-radio>
......@@ -33,14 +16,8 @@
<!-- 三 -->
<div class="options">
<div class="left">
<div
class="btn"
@click="batch"
>批量操作</div>
<el-checkbox-group
v-model="reqParam.caseStoreCustomSearchReq.caseCheckboxQuery"
@change="searchCheckList"
>
<div class="btn" @click="batch">批量操作</div>
<el-checkbox-group v-model="reqParam.caseStoreCustomSearchReq.caseCheckboxQuery" @change="searchCheckList">
<el-checkbox label="shouwen">手纹</el-checkbox>
<el-checkbox label="shitizhiwen">尸体指纹</el-checkbox>
<el-checkbox label="wutezheng">无特征</el-checkbox>
......@@ -49,155 +26,48 @@
</el-checkbox-group>
</div>
<div class="right">
<div
class="btn"
@click="isShowTjddlBtn"
v-if="roleArr.includes('F-2-1')"
>添加到队列</div>
<div
class="btn"
v-clipboard:copy="ysxtAsjbh"
@click="getysxtAsjbh"
v-clipboard:success="onCopy"
v-clipboard:error="onError"
v-if="roleArr.includes('F-2-2')"
>复制条码</div>
<div
class="btn"
@click="dcFptx"
v-if="roleArr.includes('F-2-3')"
>FPTX导出</div>
<div
class="btn"
@click="isShowGzBtn"
v-if="roleArr.includes('F-2-4')"
>关注</div>
<div
class="btn"
@click="delMore"
v-if="roleArr.includes('F-2-5')"
>删除</div>
<div
class="btn send"
@click="isShowFcxBtn"
v-if="roleArr.includes('F-2-6')"
>发查询</div>
<button
:class="this.disabled?'btn disabled ':'btn new'"
:disabled="disabled"
v-if="roleArr.includes('F-2-7')"
@click="isShowXzajBtn"
><i class="el-icon-plus"></i>新增案件</button>
<div class="btn" @click="isShowTjddlBtn" v-if="roleArr.includes('F-2-1')">添加到队列</div>
<div class="btn" v-clipboard:copy="ysxtAsjbh" @click="getysxtAsjbh" v-clipboard:success="onCopy" v-clipboard:error="onError" v-if="roleArr.includes('F-2-2')">复制条码</div>
<div class="btn" @click="dcFptx" v-if="roleArr.includes('F-2-3')">FPTX导出</div>
<div class="btn" @click="isShowGzBtn" v-if="roleArr.includes('F-2-4')">关注</div>
<div class="btn" @click="delMore" v-if="roleArr.includes('F-2-5')">删除</div>
<div class="btn send" @click="isShowFcxBtn" v-if="roleArr.includes('F-2-6')">发查询</div>
<button :class="this.disabled?'btn disabled ':'btn new'" :disabled="disabled" v-if="roleArr.includes('F-2-7')" @click="isShowXzajBtn"><i class="el-icon-plus"></i>新增案件</button>
</div>
</div>
<!--四 -->
<el-tag
style="width:100%;color:#666666;margin-bottom:1rem"
v-show="isShowTip"
>
<el-tag style="width:100%;color:#666666;margin-bottom:1rem" 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>
<i class="iconfont icon-tanhao1" style="color: #055fe7; font-size: 16px; margin: 0 0.625rem;"></i>
已选择<span style="color:#055FE7">{{multipleSelection.length}}</span>项​
<!-- <span v-html="'&nbsp;&nbsp;'"></span> -->
<!-- ​服务调用总计:<span v-html="'&nbsp;&nbsp;'"></span>36.4万 -->
<el-link
type="primary"
:underline="false"
style="margin-left:1.25rem;"
@click="toggleSelection()"
>清除</el-link>
<el-link type="primary" :underline="false" style="margin-left:1.25rem;" @click="toggleSelection()">清除</el-link>
</el-tag>
<!-- 五 -->
<el-table
:max-height="height"
ref="multipleTable"
:data="tableDate"
:row-key="getRowKeys"
tooltip-effect="dark"
style="width: 100%;"
@selection-change="handleSelectionChange"
@row-click="isShowAjxxkBtn"
:class="{delSelection: !selectBoo}"
>
<el-table-column
type="selection"
:reserve-selection="true"
>
<el-table :max-height="height" ref="multipleTable" :data="tableDate" :row-key="getRowKeys" tooltip-effect="dark" style="width: 100%;" @selection-change="handleSelectionChange" @row-click="isShowAjxxkBtn" :class="{delSelection: !selectBoo}">
<el-table-column type="selection" :reserve-selection="true">
</el-table-column>
<el-table-column
prop="ysxtAsjbh"
label="案事件编号"
:width="width1"
show-overflow-tooltip
>
<el-table-column prop="ysxtAsjbh" label="案事件编号" :width="width1" show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="caseTypeNames"
label="案件类型"
:width="width2"
show-overflow-tooltip
>
<el-table-column prop="caseTypeNames" label="案件类型" :width="width2" show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="xckybh"
label="现勘编号"
:width="width1"
show-overflow-tooltip
>
<el-table-column prop="xckybh" label="现勘编号" :width="width1" show-overflow-tooltip>
</el-table-column>
<el-table-column
prop="ssjzrmby"
label="损失价值(元)"
:width="width2"
>
<el-table-column prop="ssjzrmby" label="损失价值(元)" :width="width2">
</el-table-column>
<el-table-column
prop="sfmaPdbz"
label="命案"
:width="width3"
:formatter="sfmaPdbzFormat"
>
<el-table-column prop="sfmaPdbz" label="命案" :width="width3" :formatter="sfmaPdbzFormat">
</el-table-column>
<el-table-column
prop="tqdwGajgmc"
label="提取单位名称"
:width="width1"
show-overflow-tooltip
>
<el-table-column prop="tqdwGajgmc" label="提取单位名称" :width="width1" show-overflow-tooltip>
</el-table-column>
<el-table-column
:formatter="dateTimeFormat"
prop="tqsj"
label="提取时间"
:width="width4"
>
<el-table-column :formatter="dateTimeFormat" prop="tqsj" label="提取时间" :width="width4">
</el-table-column>
<el-table-column
fixed="right"
label="操作"
width="auto"
>
<el-table-column fixed="right" label="操作" width="auto">
<template slot-scope="scope">
<div
class="ops"
@click.stop="closeSelected"
>
<el-tooltip
class="item"
effect="dark"
v-if="roleArr.includes('F-2-8')"
content="编辑"
placement="top"
:open-delay='500'
>
<div
class="icon-div"
@click="handleClick(scope.row)"
>
<div class="ops" @click.stop="closeSelected">
<el-tooltip class="item" effect="dark" v-if="roleArr.includes('F-2-8')" content="编辑" placement="top" :open-delay='500'>
<div class="icon-div" @click="handleClick(scope.row)">
<!-- <img-->
<!-- src="../../assets/img/qbryk/bj.svg"-->
<!-- alt=""-->
......@@ -205,26 +75,10 @@
<span class="iconfont">&#xe63d;</span>
</div>
</el-tooltip>
<el-tooltip
class="item"
effect="dark"
content="关注"
v-if="roleArr.includes('F-2-9')"
placement="top"
:open-delay='500'
>
<div
v-if="scope.row.collectstatus==1"
class="icon-div"
>
<el-tooltip class="item" effect="dark" content="关注" v-if="roleArr.includes('F-2-9')" placement="top" :open-delay='500'>
<div v-if="scope.row.collectstatus==1" class="icon-div">
<el-popconfirm
placement="top-start"
:hide-icon="true"
confirm-button-text="确认"
@confirm="qxgz(scope.row.id)"
title="确认取消关注该数据吗?该操作无法撤消!"
>
<el-popconfirm placement="top-start" :hide-icon="true" confirm-button-text="确认" @confirm="qxgz(scope.row.id)" title="确认取消关注该数据吗?该操作无法撤消!">
<div slot="reference">
<!-- <img-->
<!-- src="../../assets/img/qbryk/gz.svg"-->
......@@ -234,10 +88,7 @@
</div>
</el-popconfirm>
</div>
<div
v-else
class="icon-div"
>
<div v-else class="icon-div">
<div @click="isShowGzBtn1(scope.row)">
<!-- <img-->
<!-- src="../../assets/img/qbryk/sc.svg"-->
......@@ -247,18 +98,8 @@
</div>
</div>
</el-tooltip>
<el-tooltip
class="item"
effect="dark"
v-if="roleArr.includes('F-2-10')"
content="改号"
placement="top"
:open-delay='500'
>
<div
class="icon-div"
@click='isShowGgrytmBtn(scope.row)'
>
<el-tooltip class="item" effect="dark" v-if="roleArr.includes('F-2-10')" content="改号" placement="top" :open-delay='500'>
<div class="icon-div" @click='isShowGgrytmBtn(scope.row)'>
<!-- <img-->
<!-- src="../../assets/img/qbryk/gx.svg"-->
<!-- alt=""-->
......@@ -266,18 +107,8 @@
<span class="iconfont">&#xe604;</span>
</div>
</el-tooltip>
<el-tooltip
class="item"
effect="dark"
v-if="roleArr.includes('F-2-11')"
content="发查询"
placement="top"
:open-delay='500'
>
<div
class="icon-div"
@click="isShowFcxBtn1(scope.row)"
>
<el-tooltip class="item" effect="dark" v-if="roleArr.includes('F-2-11')" content="发查询" placement="top" :open-delay='500'>
<div class="icon-div" @click="isShowFcxBtn1(scope.row)">
<!-- <img-->
<!-- src="../../assets/img/qbryk/search.svg"-->
<!-- alt=""-->
......@@ -285,18 +116,8 @@
<span class="iconfont">&#xe607;</span>
</div>
</el-tooltip>
<el-tooltip
class="item"
effect="dark"
content="复制数据"
v-if="roleArr.includes('F-2-12')"
placement="top"
:open-delay='500'
>
<div
class="icon-div"
@click="isShowFztmBtn(scope.row)"
>
<el-tooltip class="item" effect="dark" content="复制数据" v-if="roleArr.includes('F-2-12')" placement="top" :open-delay='500'>
<div class="icon-div" @click="isShowFztmBtn(scope.row)">
<!-- <img-->
<!-- src="../../assets/img/qbryk/bz.svg"-->
<!-- alt=""-->
......@@ -304,17 +125,8 @@
<span class="iconfont">&#xe605;</span>
</div>
</el-tooltip>
<el-tooltip
class="item"
effect="dark"
content="打印"
placement="top"
:open-delay='500'
>
<div
class="icon-div"
@click="handleClick(scope.row)"
>
<el-tooltip class="item" effect="dark" content="打印" placement="top" :open-delay='500'>
<div class="icon-div" @click="handleClick(scope.row)">
<!-- <img-->
<!-- src="../../assets/img/qbryk/print.svg"-->
<!-- alt=""-->
......@@ -322,22 +134,9 @@
<span class="iconfont">&#xe606;</span>
</div>
</el-tooltip>
<el-tooltip
class="item"
effect="dark"
content="删除"
v-if="roleArr.includes('F-2-15')"
placement="top"
:open-delay='500'
>
<el-tooltip class="item" effect="dark" content="删除" v-if="roleArr.includes('F-2-15')" placement="top" :open-delay='500'>
<div class="icon-div">
<el-popconfirm
placement="top-start"
:hide-icon="true"
confirm-button-text="确认"
@confirm="delOne(scope.row.id)"
title="确认要删除该数据吗?该操作无法撤消!"
>
<el-popconfirm placement="top-start" :hide-icon="true" confirm-button-text="确认" @confirm="delOne(scope.row.id)" title="确认要删除该数据吗?该操作无法撤消!">
<div slot="reference">
<!-- <img-->
<!-- src="../../assets/img/qbryk/del.svg"-->
......@@ -355,76 +154,30 @@
<!-- 六 -->
<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="[3, 6, 9, 20, 50, 100, 500]"
:page-size="reqParam.page.pageSize"
layout="prev, pager, next"
:total="reqParam.page.total"
background
>
<el-pagination class="paging" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="reqParam.page.currPage" :page-sizes="[3, 6, 9, 20, 50, 100, 500]" :page-size="reqParam.page.pageSize" layout="prev, pager, next" :total="reqParam.page.total" background>
</el-pagination>
<!-- <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" :page-sizes="[10, 20, 30, 40]" background layout="sizes, prev, pager, next" :total="tableDateLength">
</el-pagination> -->
<!-- 添加到队列弹窗 -->
<tjddl
:isShowTjddl="isShowTjddl"
:rowData="rowData"
:type="type"
@closeTjddl="closeTjddl"
></tjddl>
<tjddl :isShowTjddl="isShowTjddl" :rowData="rowData" :type="type" @closeTjddl="closeTjddl"></tjddl>
<!-- 关注弹窗 -->
<gz
:isShowGz="isShowGz"
:rowData="rowData"
:type="type"
@closeGz="closeGz"
></gz>
<gz :isShowGz="isShowGz" :rowData="rowData" :type="type" @closeGz="closeGz"></gz>
<!-- 导出FPTX弹窗 -->
<dcfptxAj
:isShowDcfptx1="isShowDcfptx1"
:rowData="rowData"
@closeDcfptx1="closeDcfptx1"
></dcfptxAj>
<dcfptxAj :isShowDcfptx1="isShowDcfptx1" :rowData="rowData" @closeDcfptx1="closeDcfptx1"></dcfptxAj>
<!-- 更改条码弹窗 -->
<ggrytm
:isShowGgrytm="isShowGgrytm"
:rowData="rowData"
:type="type"
@closeGgrytm="closeGgrytm"
>
<ggrytm :isShowGgrytm="isShowGgrytm" :rowData="rowData" :type="type" @closeGgrytm="closeGgrytm">
</ggrytm>
<!-- 复制数据弹窗 -->
<fztm
:isShowFztm="isShowFztm"
:rowData="rowData"
:type="type"
@closeFztm="closeFztm"
></fztm>
<fztm :isShowFztm="isShowFztm" :rowData="rowData" :type="type" @closeFztm="closeFztm"></fztm>
<!-- 发查询弹窗 -->
<fcx
:isShowFcx="isShowFcx"
:rowData="rowData"
:type="type"
@closeFcx="closeFcx"
>
<fcx :isShowFcx="isShowFcx" :rowData="rowData" :type="type" @closeFcx="closeFcx">
</fcx>
<!-- 新增案件弹窗 -->
<xzaj
:isShowXzaj="isShowXzaj"
@closeXzaj="closeXzaj"
>
<xzaj :isShowXzaj="isShowXzaj" @closeXzaj="closeXzaj">
</xzaj>
<!-- 案件信息卡 -->
<ajxxk
:isShowAjxxk="isShowAjxxk"
:rowData="rowData"
@closeAjxxk="closeAjxxk"
> </ajxxk>
<ajxxk :isShowAjxxk="isShowAjxxk" :rowData="rowData" @closeAjxxk="closeAjxxk"> </ajxxk>
</div>
</el-container>
......@@ -816,6 +569,14 @@ export default {
*/
handleClick (row) {
console.log(row);
// 清除bus
this.$bus.off('ajzwbjImage');
this.$bus.off('ajzwbjType');
this.$bus.off('ajzwbjTDZ');
this.$bus.off('zwType');
this.$bus.off('openAjDaxx');
this.$bus.off('updateList');
this.$bus.off('updateList_hand')
// 先清除路由懒加载
this.$store.commit('layout/delcachePageName', 'ajzwbj')
// 清除sessionStorage值
......
......@@ -319,7 +319,6 @@ export default {
// 打开侧边抽屉
this.$bus.on("openRyDaxx", (flag) => {
debugger
self.drawer = flag;
// 开启毛玻璃
self.$bus.emit('isBlur', true)
......
<!--
* @Author: your name
* @Date: 2021-10-22 09:42:07
* @LastEditTime: 2022-01-07 15:56:31
* @LastEditTime: 2022-01-07 16:53:10
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\src\views\Editor\modules\ryzwbjLeft.vue
......@@ -11,7 +11,7 @@
<div class="title">人员编号:</div>
<div class="rybh">
<span :title="barcode">{{barcode}}</span>
<img src="@/assets/img/message.png" alt="">
<img src="@/assets/img/message.png" alt="" @click="daxxChange">
<div class="desc" @click="daxxChange">档案信息</div>
</div>
<div class="ryzwbj-content">
......@@ -1120,7 +1120,6 @@ export default {
this.$bus.off('ryzwbjTDZ');
this.$bus.off('zwType');
this.$bus.off('setRxInfo')
debugger
this.$bus.off('openRyDaxx')
},
watch: {
......
<template>
<div id="home-div">
<div id="home" :class="{ zhanshi: isCropper || loading_sd }">
<div
id="home"
:class="{ zhanshi: isCropper || loading_sd }"
>
<el-container class="layout-container">
<transition name="slide">
<el-aside :width="isCollapse ? '4rem' : '17.5rem'" class="aside">
<div class="logo" :class="{ minLogo: isCollapse }" @click="$router.push('/index')">
<img class="jh" src="../assets/img/Home/jh.png" alt="" />
<img v-show="!isCollapse" class="title" src="../assets/img/Home/title.png" alt="" />
<el-aside
:width="isCollapse ? '4rem' : '17.5rem'"
class="aside"
>
<div
class="logo"
:class="{ minLogo: isCollapse }"
@click="$router.push('/index')"
v-if="this.$store.state.tm.tmType==false"
>
<img
class="jh"
src="../assets/img/Home/jh.png"
alt=""
/>
<img
v-show="!isCollapse"
class="title"
src="../assets/img/Home/title.png"
alt=""
/>
</div>
<div
class="logo"
:class="{ minLogo: isCollapse }"
@click="$router.push('/index')"
v-if="this.$store.state.tm.tmType==true"
>
<img
v-show="isCollapse"
class="jh"
src="../assets/img/Home/tmLogoMini.svg"
alt=""
/>
<img
v-show="!isCollapse"
src="../assets/img/Home/tmLogo.svg"
alt=""
/>
</div>
<!-- <div class="search">
<el-input v-if="!isCollapse" @keyup.enter.native="goSearch()" class="searchTxt" prefix-icon="el-icon-search" v-model="searchTxt" placeholder="搜索"></el-input>
<i class="search-icon el-icon-search" v-else></i>
</div> -->
<el-menu :collapse-transition="false" ref="menu" :default-active="menuActive" text-color="#CCCCCC"
active-text-color="#ffffff" background-color="#1F2D45" class="el-menu-vertical-demo" @open="handleOpen"
@close="handleClose" :collapse="isCollapse" @select="selectPath" :unique-opened="true">
<div v-for="(menu, i) in routes" :key="i">
<el-submenu :index="menu.name" v-if="menu.children && !menu.hidden">
<el-menu
:collapse-transition="false"
ref="menu"
:default-active="menuActive"
text-color="#CCCCCC"
active-text-color="#ffffff"
background-color="#1F2D45"
class="el-menu-vertical-demo"
@open="handleOpen"
@close="handleClose"
:collapse="isCollapse"
@select="selectPath"
:unique-opened="true"
>
<div
v-for="(menu, i) in routes"
:key="i"
>
<el-submenu
:index="menu.name"
v-if="menu.children && !menu.hidden"
>
<template slot="title">
<img v-if="$route.path != menu.path" :src="menu.icon_d" alt="" />
<img v-else :src="menu.icon_a" alt="" />
<img
v-if="$route.path != menu.path"
:src="menu.icon_d"
alt=""
/>
<img
v-else
:src="menu.icon_a"
alt=""
/>
<span v-show="!isCollapse">{{ menu.meta.title }}</span>
</template>
<div v-for="(item, index) in menu.children" :key="index">
<el-menu-item v-if="!item.hidden" :index="item.name">{{
<div
v-for="(item, index) in menu.children"
:key="index"
>
<el-menu-item
v-if="!item.hidden"
:index="item.name"
>{{
item.meta.title
}}
</el-menu-item>
</div>
</el-submenu>
<el-menu-item :index="menu.name" v-else-if="!menu.children && !menu.hidden">
<img v-if="$route.path != menu.path" :src="menu.icon_d" alt="" />
<img v-else :src="menu.icon_a" alt="" />
<el-menu-item
:index="menu.name"
v-else-if="!menu.children && !menu.hidden"
>
<img
v-if="$route.path != menu.path"
:src="menu.icon_d"
alt=""
/>
<img
v-else
:src="menu.icon_a"
alt=""
/>
<span slot="title">{{ menu.meta.title }}</span>
</el-menu-item>
</div>
</el-menu>
<div class="fz">
<img v-if="!isCollapse" src="../assets/img/Home/logo.png" alt="" />
<img v-else src="../assets/img/Home/fang.png" alt="" />
<img
v-if="!isCollapse"
src="../assets/img/Home/logo.png"
alt=""
/>
<img
v-else
src="../assets/img/Home/fang.png"
alt=""
/>
</div>
</el-aside>
</transition>
<el-container class="container-dom">
<el-header class="header">
<div class="collapse" @click="switchCollapse">
<img v-if="isCollapse" :src="rightImg" alt="" />
<img v-else :src="leftImg" alt="" />
<div
class="collapse"
@click="switchCollapse"
>
<img
v-if="isCollapse"
:src="rightImg"
alt=""
/>
<img
v-else
:src="leftImg"
alt=""
/>
</div>
<div class="options">
<!-- <div class="sendFind">发查询</div> -->
......@@ -55,19 +154,43 @@
<div class="message">
<div class="circle"></div>
</div>
<div class="quit" @click="$router.push('/index')"></div>
<div class="logout" @click="logout">
<svg-icon v-show="!isHoverLogout" icon-class="logout_d" class="icon" @mouseover="isHoverLogout = true"
@mouseleave="isHoverLogout = false" />
<svg-icon v-show="isHoverLogout" icon-class="logout_a" class="icon" />
<div
class="quit"
@click="$router.push('/index')"
></div>
<div
class="logout"
@click="logout"
>
<svg-icon
v-show="!isHoverLogout"
icon-class="logout_d"
class="icon"
@mouseover="isHoverLogout = true"
@mouseleave="isHoverLogout = false"
/>
<svg-icon
v-show="isHoverLogout"
icon-class="logout_a"
class="icon"
/>
</div>
</div>
</el-header>
<el-main class="main">
<div class="contain">
<el-tabs :closable="paths.length > 1" v-model="routePath" @tab-click="handleClick"
@tab-remove="tabRemove">
<el-tab-pane :label="item.name" :name="item.routeName" v-for="item in paths" :key="item.routeName">
<el-tabs
:closable="paths.length > 1"
v-model="routePath"
@tab-click="handleClick"
@tab-remove="tabRemove"
>
<el-tab-pane
:label="item.name"
:name="item.routeName"
v-for="item in paths"
:key="item.routeName"
>
</el-tab-pane>
</el-tabs>
<div class="breadcrumb"></div>
......@@ -87,55 +210,96 @@
<button @click="toAllPersonnelBase">全部人员库</button> -->
</div>
<el-dialog class="jump-route" append-to-body :modal="false" @close="cancelJumpRoute"
:visible.sync="jumpRouteDialogVisible" width="27.625rem" :before-close="handleClose">
<el-dialog
class="jump-route"
append-to-body
:modal="false"
@close="cancelJumpRoute"
:visible.sync="jumpRouteDialogVisible"
width="27.625rem"
:before-close="handleClose"
>
<span>当前页面有未保存的指位特征,是否退出?</span>
<div class="dialog-footer">
<button class="confirm-btn" @click="confirmJumpRoute"></button>
<button class="cancel-btn" @click="cancelJumpRoute"></button>
<button
class="confirm-btn"
@click="confirmJumpRoute"
></button>
<button
class="cancel-btn"
@click="cancelJumpRoute"
></button>
</div>
</el-dialog>
<div class="shadow" v-show="isCropper"></div>
<div class="loading" v-show="loading_sd">
<div
class="shadow"
v-show="isCropper"
></div>
<div
class="loading"
v-show="loading_sd"
>
<div class="loading-finger">
<img src="../assets/img/loadingfinger.gif" alt="" />
<img
src="../assets/img/loadingfinger.gif"
alt=""
/>
</div>
<div class="loading-name">
<img src="../assets/img/loadingtxt.gif" alt="" />
<img
src="../assets/img/loadingtxt.gif"
alt=""
/>
</div>
</div>
<div class="smallLoading" v-show="smallLoading">
<div
class="smallLoading"
v-show="smallLoading"
>
<div class="loading-finger">
<img src="../assets/img/loadingfinger.gif" alt="" />
<img
src="../assets/img/loadingfinger.gif"
alt=""
/>
</div>
<div class="loading-name">
<img src="../assets/img/loadingtxt.gif" alt="" />
<img
src="../assets/img/loadingtxt.gif"
alt=""
/>
</div>
</div>
<!-- 人像 -->
<transition name="el-fade-in-linear">
<div class="face-big" v-show="enLargeFace">
<div
class="face-big"
v-show="enLargeFace"
>
<div class="face-name">{{ rxInfoEnlarge.name }}</div>
<img class="face-img" :src="'data:image/jpeg;base64,' + rxInfoEnlarge.image" alt="" />
<img
class="face-img"
:src="'data:image/jpeg;base64,' + rxInfoEnlarge.image"
alt=""
/>
</div>
</transition>
</div>
</template>
<script>
import html2canvas from 'html2canvas'
import '@/icons/logout_d.svg'
import '@/icons/logout_a.svg'
import indexRoutes from '@/router/modules/index'
import { mapGetters, mapState } from 'vuex'
import utils from '@/utils/util.js'
export default {
import html2canvas from 'html2canvas'
import '@/icons/logout_d.svg'
import '@/icons/logout_a.svg'
import indexRoutes from '@/router/modules/index'
import { mapGetters, mapState } from 'vuex'
import utils from '@/utils/util.js'
export default {
name: 'Home',
data() {
data () {
return {
searchTxt: '',
routes: this.$store.getters['layout/leftMenuData'],
......@@ -159,7 +323,7 @@
// isStRole: false,
}
},
mounted() {
mounted () {
console.log(this.loading_sd)
this.$store.commit('loading/setLoadingSd', false)
let self = this
......@@ -193,7 +357,7 @@
// this.isStRole = user.isStRole()
},
updated() {
updated () {
this.menuActive = this.$route.name
},
computed: {
......@@ -207,7 +371,7 @@
enLargeFace: (state) => state.ryzwbj.enLargeFace,
loading_sd: (state) => state.loading.loading_sd,
}),
cachePageName() {
cachePageName () {
return this.$store.state.layout.cachePageName
},
},
......@@ -226,7 +390,7 @@
* @return {*}
*/
logout() {
logout () {
this.$axios
.get('/security/logout')
.then((res) => {
......@@ -246,11 +410,11 @@
* @return {*}
*/
goSearch() {
goSearch () {
this.searchTxt = ''
//console.log(this.searchTxt);
},
handleClick({ name }) {
handleClick ({ name }) {
/*
if (
(this.$route.name === 'ryzwbj' || this.$route.name === 'ajzwbj') && !this.jumproute
......@@ -283,7 +447,7 @@
/**
* 确认需要跳转路由
*/
confirmJumpRoute() {
confirmJumpRoute () {
// 清除sessionStorage值
sessionStorage.clear()
this.isCropper = false
......@@ -333,13 +497,13 @@
/**
* 取消跳转路由
*/
cancelJumpRoute() {
cancelJumpRoute () {
this.jumpRouteDialogVisible = false
this.isCropper = false
this.routePath = this.$route.name
this.menuActive = ''
},
tabRemove(name) {
tabRemove (name) {
if (name != 'ryzwbj' && name != 'ajzwbj') {
let routerObj = this.paths.find((i) => i.routeName == name)
if (routerObj) {
......@@ -412,7 +576,7 @@
}
}
},
setKeepAlive() {
setKeepAlive () {
let cachePageName
if (
JSON.parse(utils.Decrypt(sessionStorage.getItem('crumbs'))).length > 0
......@@ -436,7 +600,7 @@
* @param {*}
* @return {*}
*/
goManager() {
goManager () {
this.$router.push('/Home/htzwcj')
this.menuActive = ''
},
......@@ -446,7 +610,7 @@
* @param {*} path
* @return {*}
*/
selectPath(index, path) {
selectPath (index, path) {
console.log(index)
console.log(path)
if (path == 'zzwcj') {
......@@ -477,7 +641,7 @@
* @param {*}
* @return {*}
*/
closePaths(pathName) {
closePaths (pathName) {
let res = this.paths.filter((item) => {
return item.name != pathName
})
......@@ -493,7 +657,7 @@
* @param {*}
* @return {*}
*/
changeRouter(route) {
changeRouter (route) {
this.$router.push(route.path)
this.menuActive = route.routeName
},
......@@ -502,28 +666,28 @@
* @param {*}
* @return {*}
*/
switchCollapse() {
switchCollapse () {
this.isCollapse = !this.isCollapse
},
handleOpen(key, keyPath) {
handleOpen (key, keyPath) {
//console.log(key, keyPath);
},
handleClose(key, keyPath) {
handleClose (key, keyPath) {
//console.log(key, keyPath);
},
},
beforeDestroy() {
beforeDestroy () {
//组件销毁前需要解绑事件。否则会出现重复触发事件的问题
},
watch: {
enLargeFace(newValue, oldValue) {
enLargeFace (newValue, oldValue) {
},
menuActive(newValue, oldValue) {
menuActive (newValue, oldValue) {
},
loading(newValue, oldValue) {
loading (newValue, oldValue) {
},
$route: {
handler(newValue, oldValue) {
handler (newValue, oldValue) {
// console.log(oldValue);
// 如果是人员指纹编辑界面或者是案件指纹编辑界面,进行判断是否跳转
// if(oldValue.name === 'ryzwbj' || oldValue.name === 'ajzwbj') {
......@@ -564,16 +728,16 @@
immediate: true,
},
},
created() {
created () {
this.paths = sessionStorage.getItem('crumbs')
? JSON.parse(utils.Decrypt(sessionStorage.getItem('crumbs')))
: []
},
}
}
</script>
<style scoped lang="scss">
// 人像
.face-big {
// 人像
.face-big {
z-index: 999;
position: fixed;
top: calc(50% - 361px);
......@@ -585,7 +749,7 @@
.face-name {
font-size: 16px;
font-family:HarmonyOS_Sans_SC-Bold,HarmonyOS_Sans_SC;
font-family: HarmonyOS_Sans_SC-Bold, HarmonyOS_Sans_SC;
font-weight: bold;
color: #333333;
margin-bottom: 6px;
......@@ -599,9 +763,9 @@
border: 1px solid #cccccc;
background: #ffffff;
}
}
}
/deep/ .dialog-footer {
/deep/ .dialog-footer {
margin-top: 26px;
width: 100%;
display: flex;
......@@ -611,9 +775,9 @@
button {
margin-right: 24px;
}
}
}
/deep/ .el-dialog__body {
/deep/ .el-dialog__body {
display: flex;
justify-content: center;
flex-direction: column;
......@@ -628,9 +792,9 @@
color: #333333;
line-height: 24px;
}
}
}
.el-dialog {
.el-dialog {
height: 169px;
background: #ffffff;
box-shadow: 0px 18px 28px 10px rgba(0, 21, 51, 0.08) !important;
......@@ -645,7 +809,7 @@
border-radius: 4px;
border: 1px solid #aeb5c2;
font-size: 14px;
font-family:HarmonyOS_Sans_SC;
font-family: HarmonyOS_Sans_SC;
color: #2e3846;
&:hover {
......@@ -668,7 +832,7 @@
border: 1px solid #055fe7;
border-radius: 4px;
font-size: 14px;
font-family:HarmonyOS_Sans_SC;
font-family: HarmonyOS_Sans_SC;
color: #ffffff;
&:hover {
......@@ -681,14 +845,14 @@
border: 1px solid #044cb9;
}
}
}
}
.v-modal {
.v-modal {
background: none;
}
}
// 模糊的背景
.cropper {
// 模糊的背景
.cropper {
position: fixed;
left: 0;
top: 0;
......@@ -700,9 +864,9 @@
height: 100%;
filter: blur(1.5px);
}
}
}
.shadow {
.shadow {
z-index: 999;
position: fixed;
left: 0;
......@@ -710,44 +874,43 @@
width: 100%;
height: 100%;
background: rgba($color: #fff, $alpha: 0.65);
}
}
#home {
#home {
height: 100vh;
//height: 100%;
// filter: blur(5px);
}
}
.zhanshi {
.zhanshi {
filter: blur(2px);
//display: none;
}
}
.layout-container {
.layout-container {
width: 100%;
height: 100%;
overflow: hidden;
display: flex;
}
}
.container-dom {
.container-dom {
background: #f5f5f5;
height: 100%;
}
}
/deep/ .el-menu.el-menu--inline {
/deep/ .el-menu.el-menu--inline {
.el-menu-item {
padding-left: 50px !important;
font-family:HarmonyOS_Sans_SC;
font-family: HarmonyOS_Sans_SC;
}
.el-menu-item.is-active {
padding-left: 46px !important;
}
}
.el-menu-vertical-demo:not(.el-menu--collapse) {
}
.el-menu-vertical-demo:not(.el-menu--collapse) {
.el-submenu,
.el-menu-item {
img {
......@@ -757,17 +920,16 @@
span {
margin-left: 16px;
font-family:HarmonyOS_Sans_SC;
}
font-family: HarmonyOS_Sans_SC;
}
}
}
.el-menu-item:hover {
.el-menu-item:hover {
background-color: #15243c !important;
}
.el-menu--collapse {
}
.el-menu--collapse {
.el-submenu,
.el-menu-item {
img {
......@@ -791,31 +953,31 @@
display: none;
}
}
}
}
.aside {
.aside {
background-color: #1f2d45;
}
}
.aside .el-menu {
.aside .el-menu {
border-right: none;
}
}
.aside .logo {
.aside .logo {
background: #001e33;
width: 100%;
height: 64px;
display: flex;
align-items: center;
justify-content: center;
}
}
.aside .logo .jh {
.aside .logo .jh {
width: 30px;
height: 31px;
}
}
.aside {
.aside {
/deep/ .el-menu-item.is-active {
box-sizing: border-box;
background-color: #15243c !important;
......@@ -852,32 +1014,32 @@
cursor: pointer;
}
}
}
}
.aside .logo .title {
.aside .logo .title {
width: 191px;
height: 24px;
margin-left: 11px;
}
}
.fz {
.fz {
position: fixed;
bottom: 32px;
left: 26px;
width: 137px;
height: 17px;
display: flex;
}
}
.fz img {
.fz img {
object-fit: contain;
}
}
.aside .minLogo {
.aside .minLogo {
background-size: 36px auto;
}
}
.el-tabs /deep/ {
.el-tabs /deep/ {
font-family: HarmonyOS_Sans_SC;
.el-tabs__header {
margin: 0;
......@@ -942,9 +1104,9 @@
color: #0077ff;
}
}
}
}
.header {
.header {
height: 64px;
background: #ffffff;
display: flex;
......@@ -975,7 +1137,7 @@
background: #ddebff;
border-radius: 4px;
font-size: 14px;
font-family:HarmonyOS_Sans_SC;
font-family: HarmonyOS_Sans_SC;
color: #055fe7;
line-height: 32px;
text-align: center;
......@@ -984,7 +1146,7 @@
.set,
.role {
font-size: 14px;
font-family:HarmonyOS_Sans_SC;
font-family: HarmonyOS_Sans_SC;
color: #333333;
}
......@@ -1074,9 +1236,9 @@
}
}
}
}
}
.main {
.main {
padding: 24px;
width: 100%;
height: calc(100% - 60px);
......@@ -1111,7 +1273,7 @@
height: 47px;
padding: 11px 24px;
font-size: 14px;
font-family:HarmonyOS_Sans_SC;
font-family: HarmonyOS_Sans_SC;
flex-shrink: 0;
color: #666666;
......@@ -1135,9 +1297,9 @@
}
}
}
}
}
.loading {
.loading {
z-index: 999998;
position: fixed;
left: 0;
......@@ -1170,9 +1332,9 @@
height: 100%;
}
}
}
}
.smallLoading {
.smallLoading {
z-index: 999999;
position: fixed;
right: 24px;
......@@ -1205,5 +1367,5 @@
height: 100%;
}
}
}
}
</style>
\ No newline at end of file
......@@ -142,6 +142,24 @@ export default {
let e1 = e || event || window.event || arguments.callee.caller.arguments[0]
if (e1 && e1.keyCode == 38) {
console.log('上');
if (self.tableData && self.tableData.length > 0) {
if(self.tableData.length == 1) {
return
} else {
self.tableIndex--
if(self.tableIndex < 0) {
self.tableIndex = self.total - 1
}
self.$refs.singleTable.setCurrentRow(this.tableData[self.tableIndex])
}
} else {
self.$bus.emit('bzJudgeTL', null)
if (self.isDelete) {
// self.$bus.emit('changImageEditTarget', 'xxx')
} else {
self.$bus.emit('changImageEditTarget', 'xxx')
}
}
} else if (e1 && e1.keyCode == 40) {
console.log('下');
if (self.tableData && self.tableData.length > 0) {
......
<template>
<div class="DialogBg">
<!-- class="addUserDialogBg"-->
<div class="addDialog dialog">
<div class="head-title">
<div class="left">{{ getTitle() }}</div>
<div class="close" @click="canceladd">
<img src="@/assets/img/manage/close.png" alt="" />
</div>
</div>
<div class="info">
<el-form
label-position="left"
:model="ruleForm"
:rules="addrules"
ref="ruleForm">
<div class="fix-height">
<div v-show="isShowLjfk()">
<el-row v-show="isShowTitle()" class="title">
<div class="colorDiv"></div>
<div>逻辑分库信息</div>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item class="info-item" label="逻辑分库名称:">
<el-input
class="input-info"
v-model.trim="ruleForm.ljfkmc"
placeholder="请输入"
clearable />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item class="info-item" label="数据库用户:">
<sjkyh-select></sjkyh-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item class="info-item" label="数据条件:">
<el-input
class="input-info"
v-model.trim="ruleForm.sjtj"
placeholder="请输入"
clearable />
</el-form-item>
</el-col>
<el-col :span="12" />
</el-row>
<el-row>
<el-col :span="24">
<el-form-item class="input-item-sm" label="逻辑库说明:">
<el-input
class="input-info-sm"
v-model.trim="ruleForm.ljksm"
placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col>
<el-form-item class="info-item" label="启用状态:" prop="status">
<el-radio-group class="radio-info" v-model="ruleForm.status">
<el-radio :label="1" class="qiyong">启用</el-radio>
<el-radio :label="0" class="tingyong">停用</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-divider />
<el-row v-show="isShowTitle()" class="title">
<div class="colorDiv"></div>
<div>工作流设置</div>
</el-row>
</div>
<div v-show="isShowGzl()">
<el-row>
<el-col>
<el-form-item class="info-item" style=" margin-bottom: 15px;" label="工作模式:"
prop="gzms">
<el-radio-group class="radio-info" v-model="ruleForm.gzms">
<el-radio :label="1">并行模式</el-radio>
<el-radio :label="0">串行模式</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<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="dlmc">
<div style="margin-left: 40px;">
<div
class="dui-lie-ming-cheng"
v-for="(item,index) in dlmcArr"
v-show="dlmcArr && dlmcArr.length > 0">
<i class="el-icon-circle-plus icon" style="color: #055fe7"
@click="addDl(item,index)" />
<div>
{{ item.name || '-'}}
<div v-if="item.type === 3">
<span class="line" />
<span v-if="isRy">
<span v-show="item.search === 3 || item.search === 1"
class="tag">倒查</span>
<span v-show="item.search === 3 || item.search === 2"
class="tag">查重</span>
</span>
<span v-else>
<span v-show="item.search === 3 || item.search === 1"
class="tag">正查</span>
<span v-show="item.search === 3 || item.search === 2"
class="tag">串查</span>
</span>
</div>
</div>
</div>
</div>
<div
v-show="!dlmcArr || dlmcArr.length <= 0"
v-for="(item, index) in getDlCount()"
:key="index + 'l'"
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="gzdlArr && gzdlArr.length > 1">
<!-- 串行模式;-->
<div v-if="ruleForm.gzms === 0"
class="gong-zuo-dui-lie-chuanxing"
v-for="(item,index) in gzdlArr">
<i class="el-icon-remove icon"
style="color: #055fe7" />
<div>
{{ item.name || '-'}}
<div v-if="item.type === 3">
<span class="gzdl-line" />
<span v-if="isRy">
<span v-show="item.search === 3 || item.search === 2"
class="gztl-tag chachong">查重</span>
<span v-show="item.search === 3 || item.search === 1"
class="gztl-tag daocha">倒查</span>
</span>
<span v-else>
<span v-show="item.search === 3 || item.search === 1"
class="gztl-tag zhengcha">正查</span>
<span v-show="item.search === 3 || item.search === 2"
class="gztl-tag chuancha">串查</span>
</span>
</div>
</div>
</div>
<!-- 并行模式;-->
<div
v-if="ruleForm.gzms === 1"
v-for="(item,index) in gzdlArr"
:class="{'gong-zuo-dui-lie-bingxing-item':true, kk:index !== 0}">
<div class="gong-zuo-dui-lie-bingxing-item-left">
<div :class="{verLine:true,verLineTrans: index === 0}" />
<div :class="{verLine:true,verLineTrans: index === gzdlArr.length -1}" />
</div>
<div class="gong-zuo-dui-lie-bingxing-item-right">
<span class="mid-line" />
<span class="mid-circle" />
<div class="gong-zuo-dui-lie-bingxing">
<i class="el-icon-remove icon" style="color: #055fe7" />
<div>
{{ item.name || '-'}}
<div v-if="item.type === 3">
<span class="gzdl-line" />
<span v-if="isRy">
<span v-show="item.search === 3 || item.search === 2"
class="gztl-tag chachong">查重</span>
<span v-show="item.search === 3 || item.search === 1"
class="gztl-tag daocha">倒查</span>
</span>
<span v-else>
<span v-show="item.search === 3 || item.search === 1"
class="gztl-tag zhengcha">正查</span>
<span v-show="item.search === 3 || item.search === 2"
class="gztl-tag chuancha">串查</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>
</div>
<el-row>
<el-col>
<el-form-item class="info-item" label="启用状态:" prop="gzlstatus">
<el-radio-group class="radio-info" v-model="ruleForm.gzlstatus">
<el-radio :label="1" class="qiyong">启用</el-radio>
<el-radio :label="0" class="tingyong">停用</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
<el-form-item class="addbtns">
<el-button
class="add"
type="primary"
@click="submitForm('ruleForm')">提交
</el-button>
<el-button class="cancel" @click="canceladd">取消</el-button>
</el-form-item>
</el-form>
</div>
<br />
</div>
</div>
</template>
<script>
import GzlView from '../xtfkgl/GzlView.vue'
import SjkyhSelect from '../xtfkgl/SjkyhSelect.vue'
const _TYPE_ALL = {type: 1} // 显示所有
const _TYPE_LJFK = {type: 2} // 显示逻辑库信息
const _TYPE_GZL = {type: 3} // 显示工作流信息
const _LIU_CLDL = {type: 4, name: '处理队列'}
const _LIU_BJDL = {type: 1, name: '编辑队列'}
const _LIU_JCDL = {type: 2, name: '检查队列'}
const _LIU_CXDL = {type: 3, name: '查询队列', search: 3} // search: 案件:正查1 串查2 全部3 人员:倒查1 查重2 全部3
export default {
name: 'AddXtfkView',
components: {
GzlView,
SjkyhSelect
},
props: {
isRy: {
type: Boolean,
default: true,
}
},
data() {
// 组名
var validateGroupname = (rule, value, callback) => {
if (value === '') {
callback(new Error('请输入用户组名称!'))
} else {
callback()
}
}
// 用户名ID
var validateUserId = (rule, value, callback) => {
if (value === '' || value.length == 0) {
callback(new Error('请选择加入用户组的用户!'))
} else {
callback()
}
}
// 用户名ID
var validateRoleId = (rule, value, callback) => {
if (value === '') {
callback(new Error('请选择用户组的角色!'))
} else {
callback()
}
}
// 启用状态校验
var validateStatus = (rule, value, callback) => {
if (value === '') {
callback(new Error('请选择状态!'))
} else {
callback()
}
}
return {
curOpt: [
{name: '编辑队列', value: '0', icon: '#icon-shenhe2'},
{name: '编辑队列', value: '1', icon: '#icon-shenhe1'},
{name: '检查队列', value: '2', icon: '#icon-shenhe3'},
{name: '查询队列', value: '3', icon: '#icon-shenhe4'},
],
ruleForm: {
gzms: 1,
gzlstatus: 0,
name: '', // 组名称
describe: '', // 用户组描述
userId: [], // 加入组用户
roleId: [], // 加入组角色
status: 1, // 0 未激活 1 已激活
},
addrules: {
name: [
{validator: validateGroupname, trigger: 'blur', required: true},
], //组名称
userId: [
{validator: validateUserId, trigger: 'change', required: true},
], // 用户名ID
roleId: [
{validator: validateRoleId, trigger: 'blur', required: true},
], //角色ID
status: [
{validator: validateStatus, trigger: 'blur', required: true},
], // 启用状态
},
// isShowAddUserDialogBg = true;
gzdlArr: [
{name: '编辑队列', value: '0', icon: '#icon-shenhe2'},
{name: '编辑队列', value: '1', icon: '#icon-shenhe1'},
{name: '检查队列', value: '2', icon: '#icon-shenhe3'},
{name: '查询队列', value: '3', icon: '#icon-shenhe4'},
],
curType: _TYPE_ALL.type,
dlmcArr: [],
}
},
mounted() {
this.init()
},
methods: {
addDl(item, index) {
let arrs = []
// logger.json(item)
// logger.info( this.gzdlArr)
// this.gzdlArr.forEach(info => {
// if (item.type !== info.type) {
// arrs.push(info)
// }
// })
// this.gzdlArr = arrs
// logger.info( this.gzdlArr)
// logger.info("arrs", arrs)
// if (item.type === _LIU_CXDL.type) {
// item.search = 3
// }
// this.gzdlArr.push(item)
},
getDlCount() {
return this.isRy ? 3 : 2
},
/**
* 案件: 处理队列 编辑队列 查询队列(正查、串查)*
* 人员: 处理队列 编辑队列 检查队列 查询队列(倒查、查重)
* @author: li_hongchao
* @date: 2021/12/28 13:57
*/
init() {
this.dlmcArr = []
this.gzdlArr = []
if (this.isRy) {
this.dlmcArr.push(_LIU_BJDL)
this.dlmcArr.push(_LIU_JCDL)
this.dlmcArr.push(_LIU_CXDL)
this.gzdlArr.push(_LIU_CLDL)
this.gzdlArr.push(_LIU_BJDL)
this.gzdlArr.push(_LIU_JCDL)
this.gzdlArr.push(_LIU_CXDL)
} else {
this.dlmcArr.push(_LIU_BJDL)
this.dlmcArr.push(_LIU_CXDL)
this.gzdlArr.push(_LIU_CLDL)
// this.gzdlArr.push(_LIU_BJDL)
// this.gzdlArr.push(_LIU_CXDL)
}
},
getTitle() {
let title = ''
if (this.isRy) {
title = '人员'
} else {
title = '案件'
}
switch (this.curType) {
case _TYPE_ALL.type:
return '新增' + title + '逻辑分库'
case _TYPE_GZL.type:
return title + '工作流设置'
case _TYPE_LJFK.type:
return '编辑' + title + '逻辑分库'
}
},
isShowLjfk() {
return this.curType !== _TYPE_GZL.type
},
isShowGzl() {
return this.curType !== _TYPE_LJFK.type
},
isShowTitle() {
return this.curType === _TYPE_ALL.type
},
showAll() {
this.curType = _TYPE_ALL.type
this.init()
},
showLjfk() {
this.curType = _TYPE_LJFK.type
this.init()
},
showGzl() {
this.curType = _TYPE_GZL.type
this.init()
},
submitForm() {
this.canceladd()
},
canceladd() {
this.$emit('close')
},
},
watch: {
// curType() {
// }
}
}
</script>
<style scoped lang="scss">
@import "./scss/dialog_table";
</style>
......@@ -7,9 +7,10 @@
style="width: 100%"
ref="multipleTable"
:data="tableDate"
:row-key="getRowKeys"
class="table">
<el-table-column prop="logicName" label="分库名称" :width="width1"></el-table-column>
<el-table-column prop="logicName" label="分库名称" :width="width1" show-overflow-tooltip></el-table-column>
<el-table-column prop="sjkyh" label="数据库用户组/用户" :width="width2">
<template slot-scope="scope">
<div class="tagsBox">
......@@ -117,7 +118,7 @@
content="编辑"
placement="top"
:open-delay="500">
<svg class="icon" aria-hidden="true" @click.stop="goBj"
<svg class="icon" aria-hidden="true" @click.stop="goBj(scope.row)"
style="width: 1.125rem;height: 1.125rem; margin-right: 1.125rem;cursor: pointer;">
<use xlink:href="#icon-bianji" />
</svg>
......@@ -129,7 +130,7 @@
placement="top"
:open-delay="500">
<svg class="icon" aria-hidden="true" @click.stop="goGzl"
<svg class="icon" aria-hidden="true" @click.stop="goGzl(scope.row)"
style="width: 1.125rem;height: 1.125rem; margin-right: 1.125rem;cursor: pointer;">
<use xlink:href="#icon-gongzuoliu" />
</svg>
......@@ -208,6 +209,9 @@ export default {
// this.getList()
},
methods: {
getRowKeys(row) {
return row.logicId
},
loadData() {
this.getList()
},
......@@ -254,13 +258,13 @@ export default {
return yhs
},
goBj() {
goBj(info) {
//TODO...编辑.
this.$emit('openBj')
this.$emit('openBj', info)
},
goGzl() {
goGzl(info) {
//TODO.... 工作流
this.$emit('openGzl')
this.$emit('openGzl', info)
},
goSjgl() {
//TODO....数据管理
......
/**
* Description: _DL_TYPES 队列类型 _CXDL_TYPES 队列中查询队列类型
* <pre>
* 1 处理队列
* 2 编辑队列
* 3 检查队列
* 4 查询队列(串査)
* 5 查询队列(倒查)
* 6 查询队列(正查)
* 7 查询队列(查重)
* </pre
* @author: li_hongchao
* @date: 2022/1/6 11:12
*/
const _DL_TYPES = {
CLDL: {type: 1, name: '处理队列'}, // 处理队列
BJDL: {type: 2, name: '编辑队列'}, // 编辑队列
JCDL: {type: 3, name: '检查队列'}, // 检查队列
CXDL: {type: 99, name: '查询队列'}// 用于页面逻辑构建,与业务无关
}
const _CXDL_TYPES = {// 案件:正查 串查 人员:倒查 查重
ChuanC: {type: 4, name: '串査'}, // 查询队列(串査)
DaoC: {type: 5, name: '倒查'}, // 查询队列(倒查)
ZhengC: {type: 6, name: '正查'}, // 查询队列(正查)
ChaC: {type: 7, name: '查重'} // 查询队列(查重)
}
/**
* Description:
* 案件: 处理队列(不可选择) 编辑队列 查询队列(正查、串查)*
* 人员: 处理队列(不可选择) 编辑队列 检查队列 查询队列(倒查、查重)
* @author: li_hongchao
* @date: 2022/1/6 19:23
*/
const _DLMC = function (isRy) {
return isRy ? ['1', '2', '3', '5', '7'] : ['1', '2', '4', '6']
}
const isDlcxItem = function (val) {
return val > 3
}
/**
* Description: 工作流类 用于处理工作流数据逻辑
* @author: li_hongchao
* @date: 2022/1/7 0:00
*/
class Gzlzz {
static _PARAMS_TYPE = {
GZDL: 'gzdlArr',
GZDL_CXDL: 'gzdlCxdlArr',
DLMC: 'dlmcArr',
DLMC_CXDL: 'dlmcCxdlArr',
DL_COUNT: '_DL_COUNT'
}
static _CXDL_TYPE = _DL_TYPES.CXDL.type
gzdlArr = []
gzdlCxdlArr = []
dlmcArr = []
dlmcCxdlArr = []
_DL_COUNT = 0
isRy = false
getDl(type) {
switch (type) {
case '1':
return _DL_TYPES.CLDL
case '2':
return _DL_TYPES.BJDL
case '3':
return _DL_TYPES.JCDL
case '4':
return _CXDL_TYPES.ChuanC
case '5':
return _CXDL_TYPES.DaoC
case '6':
return _CXDL_TYPES.ZhengC
case '7':
return _CXDL_TYPES.ChaC
}
}
/**
* Description: 新增逻辑库时,初始化队列信息
* <pre>
* 队列说明:
* 案件: 处理队列(不可选择) 编辑队列 查询队列(正查、串查)*
* 人员: 处理队列(不可选择) 编辑队列 检查队列 查询队列(倒查、查重)
*</pre>
* @author: li_hongchao
* @date: 2021/12/28 13:57
*/
init(isRy) {
this.isRy = isRy
this.clear()
if (this.isRy) {
this.dlmcArr.push(_DL_TYPES.BJDL)
this.dlmcArr.push(_DL_TYPES.JCDL)
this.dlmcArr.push(_DL_TYPES.CXDL)
this.dlmcCxdlArr.push(_CXDL_TYPES.DaoC)
this.dlmcCxdlArr.push(_CXDL_TYPES.ChaC)
this.gzdlArr.push(_DL_TYPES.CLDL)
} else {
this.dlmcArr.push(_DL_TYPES.BJDL)
this.dlmcArr.push(_DL_TYPES.CXDL)
this.dlmcCxdlArr.push(_CXDL_TYPES.ZhengC)
this.dlmcCxdlArr.push(_CXDL_TYPES.ChuanC)
this.gzdlArr.push(_DL_TYPES.CLDL)
}
this._DL_COUNT = this.dlmcArr.length
}
initByVal(val) {
this.clear()
let resDl = _DLMC(this.isRy)
let desDl = val.split(',')
let index = -1
let isAddCxdl = false
desDl.forEach(item => {
if (item && item !== '') {
index = resDl.indexOf(item)
if (index >= 0) {
resDl.splice(index, 1)
}
if (isDlcxItem(item)) {
if (!isAddCxdl) {
this.gzdlArr.push(_DL_TYPES.CXDL)
isAddCxdl = true
}
this.gzdlCxdlArr.push(this.getDl(item))
} else {
this.gzdlArr.push(this.getDl(item))
}
}
})
logger.info('resDl', resDl)
isAddCxdl = false
resDl.forEach(item => {
if (isDlcxItem(item)) {
if (!isAddCxdl) {
this.dlmcArr.push(_DL_TYPES.CXDL)
isAddCxdl = true
}
this.dlmcCxdlArr.push(this.getDl(item))
} else {
this.dlmcArr.push(this.getDl(item))
}
})
}
result() {
let result = ''
if (this.gzdlArr && this.gzdlArr.length > 0) {
this.gzdlArr.forEach(i => {
if (i.type === _DL_TYPES.CXDL.type) {
if (this.gzdlCxdlArr && this.gzdlCxdlArr.length > 0) {
this.gzdlCxdlArr.forEach(j => {
if (result === '') {
result += j.type
} else {
result += ',' + j.type
}
})
}
} else {
if (result === '') {
result += i.type
} else {
result += ',' + i.type
}
}
})
}
return result
}
clear() {
this.gzdlArr = []
this.gzdlCxdlArr = []
this.dlmcArr = []
this.dlmcCxdlArr = []
}
updateCxdl(group, groupIndex, child, childIndex, isAdd = false) {// 点击查询队列子项处理逻辑
if (isAdd) {
if (this.dlmcCxdlArr.length !== 2) {
this.dlmcArr.splice(groupIndex, 1)
}
this.dlmcCxdlArr.splice(childIndex, 1)
if (this.gzdlCxdlArr.length === 0) {
this.gzdlArr.push(group)
}
this.gzdlCxdlArr.push(child)
} else {
if (this.gzdlCxdlArr.length !== 2) {
this.gzdlArr.splice(groupIndex, 1)
}
this.gzdlCxdlArr.splice(childIndex, 1)
if (this.dlmcCxdlArr.length === 0) {
this.dlmcArr.push(group)
}
this.dlmcCxdlArr.push(child)
}
}
updateGzdl(clickItem, index, isAdd = false) {// 处理队列添加、取消逻辑
if (isAdd) {
this.dlmcArr.splice(index, 1)
if (clickItem.type === _DL_TYPES.CXDL.type) {
if (this.dlmcCxdlArr.length === 2) {
this.gzdlArr.push(_DL_TYPES.CXDL)
}
this.gzdlCxdlArr = this.gzdlCxdlArr.concat(this.dlmcCxdlArr)
this.dlmcCxdlArr = []
} else {
this.gzdlArr.push(clickItem)
}
} else {
this.gzdlArr.splice(index, 1)
if (clickItem.type === _DL_TYPES.CXDL.type) {
if (this.gzdlCxdlArr.length === 2) {
this.dlmcArr.push(_DL_TYPES.CXDL)
}
this.dlmcCxdlArr = this.dlmcCxdlArr.concat(this.gzdlCxdlArr)
this.gzdlCxdlArr = []
} else {
this.dlmcArr.push(clickItem)
}
}
}
}
module.exports = Gzlzz
/**
* Description: 工作流队列相关代码
* @author: li_hongchao
* @date: 2021/12/28 21:07
*/
<template>
<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="dlmc">
<div style="margin-left: 40px;">
<div
class="dui-lie-ming-cheng"
v-for="(item,index) in dlmcArr"
v-show="dlmcArr && dlmcArr.length > 0">
<i class="el-icon-circle-plus icon" style="color: #055fe7"
@click="addDl(item,index)" />
<div>
{{ item.name || '-'}}
<div v-if="item.type === 3">
<span class="line" />
<span v-if="isRy">
<span v-show="item.search === 3 || item.search === 1"
class="tag">倒查</span>
<span v-show="item.search === 3 || item.search === 2"
class="tag">查重</span>
</span>
<span v-else>
<span v-show="item.search === 3 || item.search === 1"
class="tag">正查</span>
<span v-show="item.search === 3 || item.search === 2"
class="tag">串查</span>
</span>
</div>
</div>
</div>
</div>
<div
v-show="!dlmcArr || dlmcArr.length <= 0"
v-for="(item, index) in getDlCount()"
:key="index + 'l'"
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="gzdlArr && gzdlArr.length > 1">
<!-- 串行模式;-->
<div v-if="ruleForm.gzms === 0"
class="gong-zuo-dui-lie-chuanxing"
v-for="(item,index) in gzdlArr">
<div v-if="index === 0" class="chu-li-dui-lie"
style="margin-left: 0px;">处理队列
</div>
<i v-if="index !== 0" class="el-icon-remove icon"
style="color: #055fe7"
@click="deledeDl(item,index)" />
<div v-if="index !== 0">
{{ item.name || '-'}}
<div v-if="item.type === 3">
<span class="gzdl-line" />
<span v-if="isRy">
<span v-show="item.search === 3 || item.search === 2"
class="gztl-tag chachong">查重</span>
<span v-show="item.search === 3 || item.search === 1"
class="gztl-tag daocha">倒查</span>
</span>
<span v-else>
<span v-show="item.search === 3 || item.search === 1"
class="gztl-tag zhengcha">正查</span>
<span v-show="item.search === 3 || item.search === 2"
class="gztl-tag chuancha">串查</span>
</span>
</div>
</div>
</div>
<!-- 并行模式;-->
<div
v-if="ruleForm.gzms === 1"
v-for="(item,index) in gzdlArr"
:class="{'gong-zuo-dui-lie-bingxing-item':true, kk:index !== 0}">
<div class="gong-zuo-dui-lie-bingxing-item-left">
<div :class="{verLine:true,verLineTrans: index === 0}" />
<div :class="{verLine:true,verLineTrans: index === gzdlArr.length -1}" />
</div>
<div class="gong-zuo-dui-lie-bingxing-item-right">
<span class="mid-line" />
<span class="mid-circle" />
<div v-if="index === 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="deledeDl(item,index)"
style="color: #055fe7" />
<div>
{{ item.name || '-'}}
<div v-if="item.type === 3">
<span class="gzdl-line" />
<span v-if="isRy">
<span v-show="item.search === 3 || item.search === 2"
class="gztl-tag chachong">查重</span>
<span v-show="item.search === 3 || item.search === 1"
class="gztl-tag daocha">倒查</span>
</span>
<span v-else>
<span v-show="item.search === 3 || item.search === 1"
class="gztl-tag zhengcha">正查</span>
<span v-show="item.search === 3 || item.search === 2"
class="gztl-tag chuancha">串查</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>
</div>
</template>
<script>
export default {
name: 'GzlDlView'
}
</script>
<style scoped>
</style>
......@@ -7,14 +7,14 @@
style="width: 100%"
ref="multipleTable"
:data="tableDate"
:row-key="getRowKeys"
class="table">
<el-table-column prop="logicName" label="分库名称" :width="width1"></el-table-column>
<el-table-column prop="logicName" label="分库名称" :width="width1" show-overflow-tooltip />
<el-table-column prop="sjkyh" label="数据库用户组/用户" :width="width2">
<template slot-scope="scope">
<div class="tagsBox">
<div
v-for="item in strArr(scope.row.groups)"
<div v-for="item in strArr(scope.row.groups)"
:class="{ tags: true, tagszu: item.type === 1 }"
:key="item.logicId"
v-show="item !== ''">
......@@ -46,8 +46,8 @@
effect="dark"
placement="right"
style="width: auto !important"
v-if="scope.row.groups && scope.row.groups.length > 4"
>
v-if="scope.row.groups && scope.row.groups.length > 4">
<span style="margin-left: 5px">...</span>
<div slot="content" class="tooTipBtn">
<div
......@@ -82,7 +82,6 @@
</el-tooltip>
</div>
</template>
</el-table-column>
<el-table-column prop="createTime" label="创建时间" :width="width3"></el-table-column>
<el-table-column prop="qyzt" label="启用状态" :width="width4">
......@@ -118,7 +117,7 @@
content="编辑"
placement="top"
:open-delay="500">
<svg class="icon" aria-hidden="true" @click.stop="goBj"
<svg class="icon" aria-hidden="true" @click.stop="goBj(scope.row)"
style="width: 1.125rem;height: 1.125rem; margin-right: 1.125rem;cursor: pointer;">
<use xlink:href="#icon-bianji" />
</svg>
......@@ -130,7 +129,7 @@
placement="top"
:open-delay="500">
<svg class="icon" aria-hidden="true" @click.stop="goGzl"
<svg class="icon" aria-hidden="true" @click.stop="goGzl(scope.row)"
style="width: 1.125rem;height: 1.125rem; margin-right: 1.125rem;cursor: pointer;">
<use xlink:href="#icon-gongzuoliu" />
</svg>
......@@ -211,6 +210,9 @@ export default {
this.getList()
},
methods: {
getRowKeys(row) {
return row.logicId
},
loadData() {
this.getList()
},
......@@ -258,13 +260,13 @@ export default {
},
goBj() {
goBj(info) {
//TODO...编辑.
this.$emit('openBj')
this.$emit('openBj', info)
},
goGzl() {
goGzl(info) {
//TODO.... 工作流
this.$emit('openGzl')
this.$emit('openGzl', info)
},
goSjgl() {
//TODO....数据管理
......
......@@ -9,37 +9,46 @@
<div style="float: left;" class="opt-select">
<div class="select-left">{{selValue}}</div>
<div :class="isShowing?'select-right-focus':'select-right-normal'">
<svg class="icon opt-select-right-svg" aria-hidden="true">
<use xlink:href="#icon-shenhe" />
</svg>
</div>
<!-- <div :class="isShowing?'select-right-focus':'select-right-normal'">-->
<!-- <svg class="icon opt-select-right-svg" aria-hidden="true">-->
<!-- <use xlink:href="#icon-shenhe" />-->
<!-- </svg>-->
<!-- </div>-->
</div>
<el-dropdown-menu slot="dropdown" class="select-list-content">
<div class="select-list-content-left">
<div class="list-item">用户</div>
<div class="list-item">用户组</div>
<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>
<div class="select-list-content-right">
<div class="top-div">
<div v-for="item in curOpt" class="top-item">{{item.name}}</div>
<div v-for="(item,index) in getItemArr()" class="top-item" @click="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>
</div>
<div class="bottom-div">
<div class="queding">确定</div>
<div class="quxiao">取消</div>
</div>
</div>
<div class="bottom-div">
<div class="queding" @click="commit()">确定</div>
<div class="quxiao" @click="cancel()">取消</div>
</div>
</div>
<!-- <div v-for="item in curOpt" :key="item.icon" class="select-list-content-item">-->
<!-- <svg class="icon opt-select-right-svg" aria-hidden="true"-->
<!-- style="margin-right: 5px;width: 20px;height: 20px;">-->
<!-- <use :xlink:href="item.icon" />-->
<!-- </svg>-->
<!-- {{item.name}}-->
<!-- </div>-->
</el-dropdown-menu>
</el-dropdown>
......@@ -50,6 +59,11 @@
<script>
export default {
name: 'SjkyhSelect',
props: {
params: {
type: Array
}
},
data() {
return {
isShowing: false,
......@@ -62,13 +76,132 @@ export default {
{name: '审核4', value: '4', icon: '#icon-shenhe'},
{name: '审核5', value: '5', icon: '#icon-shenhe'},
],
userGroupArr: [],
userArr: [],
userGroupSelectSet: [],
userSelectSet: [],
isYh: true,
}
},
created() {
this.userGroupSelectSet = new Set()
this.userSelectSet = new Set()
this.doQuery()
},
methods: {
isSelect(item) {
if (this.isYh) {
return this.userSelectSet.has(item.id)
} else {
return this.userGroupSelectSet.has(item.id)
}
},
selectItem(item) {
if (this.isYh) {
if (this.userSelectSet.has(item.id)) {
this.userSelectSet.delete(item.id)
} else {
this.userSelectSet.add(item.id)
}
} else {
if (this.userGroupSelectSet.has(item.id)) {
this.userGroupSelectSet.delete(item.id)
} else {
this.userGroupSelectSet.add(item.id)
}
}
this.$forceUpdate()
},
visibleChange(val) {
let _that = this
_that.isShowing = val
this.isYh = true
this.updateSelectSet()
},
updateSelectSet() {
this.userSelectSet.clear()
this.userGroupSelectSet.clear()
this.params.forEach(item => {
if (item.type === 0) {
this.userSelectSet.add(item.id)
} else {
this.userGroupSelectSet.add(item.id)
}
})
},
toggleYh(isyh) {
this.isYh = isyh
},
getItemArr() {
if (this.isYh) {
return this.userArr
} else {
return this.userGroupArr
}
},
commit() {
let userSize = this.userSelectSet.size
let groupSize = this.userGroupSelectSet.size
// logger.info('size', size)
if (userSize > 0 || groupSize > 0) {
let result = []
if (userSize > 0) {
this.userArr.forEach(item => {
if (this.userSelectSet.has(item.id)) {
result.push({
id: item.id,
name: item.name,
type: 0
})
}
})
}
if (groupSize > 0) {
this.userGroupArr.forEach(item => {
if (this.userGroupSelectSet.has(item.id)) {
result.push({
id: item.id,
name: item.name,
type: 1
})
}
})
}
if (this.$refs.dropdown) {
this.$refs.dropdown.visible = false
}
this.$emit('select', result)
} else {
this.$message({
type: 'info',
message: '请先选择用户',
})
}
},
cancel() {
if (this.$refs.dropdown) {
this.$refs.dropdown.visible = false
}
// this.userSelectSet.clear()
// this.userGroupSelectSet.clear()
},
doQuery() {
NetUtil.xtfkgl
.yhList()
.then(res => {
logger.info(res)
if (res && res.code === 0 && res.detail) {
this.userGroupArr = res.detail.userGroups
this.userArr = res.detail.users
}
})
}
},
watch: {
params() {
this.updateSelectSet()
}
}
}
</script>
......@@ -183,6 +316,9 @@ export default {
/*height: 40px;*/
background: #FFFFFF;
border: 1px none #EEEEEE;
border-right-style: solid;
.list-item {
width: 100%;
height: 40px;
......@@ -191,12 +327,23 @@ export default {
color: #333333;
line-height: 19px;
padding: 0px 0px 0px 15px;
padding: 0px 0px 0px 13px;
display: flex;
align-items: center;
justify-content: left;
border: 2px none white;
border-left-style: solid;
}
.list-item-focus {
border: 2px none #055FE7;
border-left-style: solid;
color: #055FE7;
}
}
.select-list-content-right {
......@@ -217,7 +364,18 @@ export default {
font-size: 14px;
font-family: HarmonyOS_Sans_SC;
color: #333333;
line-height: 19px;
line-height: 40px;
padding-left: 16px;
}
.top-item:hover {
background: #F5F5F7;
}
.span-name {
overflow: hidden;
float: left;
}
}
......@@ -331,6 +489,7 @@ export default {
width: 6px; // 横向滚动条
height: 6px; // 纵向滚动条 必写
}
// 滚动条的滑块
/deep/ .top-div::-webkit-scrollbar-thumb {
background-color: #dadde0;
......
/**
* Description: 逻辑分库、工作流 新增、编辑页面
* @author: li_hongchao
* @date: 2022/1/7 0:05
*/
<template>
<div class="DialogBg">
<!-- class="addUserDialogBg"-->
<div class="addDialog dialog">
<div class="head-title">
<div class="left">{{ getTitle() }}</div>
<div class="close" @click="canceladd()">
<img src="@/assets/img/manage/close.png" alt="" />
</div>
</div>
<div class="info">
<el-form
label-position="left"
ref="ruleForm">
<div class="fix-height">
<div v-show="isShowLjfk()">
<el-row v-show="isShowTitle()" class="title">
<div class="colorDiv"></div>
<div>逻辑分库信息</div>
</el-row>
<el-row style="margin-top: 20px">
<el-col :span="12">
<el-form-item class="info-item" label="逻辑分库名称:">
<el-input
class="input-info"
v-model.trim="ljfkRuleForm.name"
placeholder="请输入"
clearable />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item class="info-item" label="数据库用户:">
<sjkyh-select :params='ljfkRuleForm.usersOrUserGroups'
@select="selectYh"></sjkyh-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item class="info-item" label="数据条件:">
<el-input
class="input-info"
v-model.trim="ljfkRuleForm.sjtj"
placeholder="请输入"
clearable />
</el-form-item>
</el-col>
<el-col :span="12" />
</el-row>
<el-row>
<el-col :span="24">
<el-form-item class="input-item-sm" label="逻辑库说明:">
<el-input
class="input-info-sm"
v-model.trim="ljfkRuleForm.description"
placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col>
<el-form-item class="info-item" label="启用状态:" prop="status">
<el-radio-group class="radio-info" v-model="ljfkRuleForm.status">
<el-radio :label="0" class="qiyong">启用</el-radio>
<el-radio :label="1" class="tingyong">停用</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-divider v-if="isShowTitle()" />
<span v-show="isShowTitle()" class="title" @click="toggleGzl()" style="margin-left: 28px;">
<div class="colorDiv"></div>
<div>工作流设置</div>
</span>
</div>
<div v-show="isShowGzl()" style="margin-top: 20px;">
<el-row>
<el-col>
<el-form-item class="info-item" style=" margin-bottom: 15px;" label="工作模式:"
prop="pattern">
<el-radio-group class="radio-info" v-model="gzlRuleForm.pattern">
<el-radio :label="0">串行模式</el-radio>
<el-radio :label="1">并行模式</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<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">
<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)}"
v-show="getDlmcArr() && getDlmcArr().length > 0">
<i v-if="!isBxCxdl(item.type)"
class="el-icon-circle-plus icon" style="color: #055fe7"
@click="updateGzdl(item,gindex,true)" />
<div :key="item.type">
{{ item.name || '-'}}
<div v-if="item.type === CXDL_TYPE">
<span class="line" />
<span v-for="(child,cindex) in getDlmcCxdlArr()">
<span class="tag"
:key="child.type"
@click="updateCxdl(item,gindex,child,cindex,true)">
{{ child.name}}
</span>
</span>
</div>
</div>
</div>
</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="gzlRuleForm.pattern === 0"
v-for="(item,gindex) in getGzdlArr()"
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>
<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" />
<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>
</div>
</div>
</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;" />
</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 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" />
<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>
{{ 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>
</div>
</div>
</div>
</div>
</div>
</div>
<!--没有队列-->
<div v-else>
<div class="chu-li-dui-lie">处理队列</div>
</div>
</el-form-item>
</el-col>
</el-row>
</div>
<el-row>
<el-col>
<el-form-item class="info-item" label="启用状态:" prop="status">
<el-radio-group class="radio-info" v-model="gzlRuleForm.status">
<el-radio :label="0" class="qiyong">启用</el-radio>
<el-radio :label="1" class="tingyong">停用</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
<el-form-item class="addbtns">
<el-button
class="add"
type="primary"
@click="submitForm()">提交
</el-button>
<el-button class="cancel" @click="canceladd()">取消</el-button>
</el-form-item>
</el-form>
</div>
<br />
</div>
</div>
</template>
<script>
import SjkyhSelect from '../xtfkgl/SjkyhSelect.vue'
import Gzlzz from '../xtfkgl/GzlClass.js'
/**
* Description: 页面状态标识
* <pre>
* ALL: 显示所有 逻辑库信息 工作流信息
* LJFK: 显示逻辑库信息
* GZL: 显示工作流信息
* </pre>
* @author: li_hongchao
* @date: 2022/1/6 15:37
*/
const _VIEW_TYPES = {
ALL: 1,
LJFK: 2,
GZL: 3
}
export default {
name: 'XtfkAndGzlView',
components: {
SjkyhSelect
},
props: {
isRy: {
type: Boolean,
default: true,
}
},
data() {
return {
ljfkRuleForm: {// 逻辑库数据
id: '',// 逻辑库id 编辑时要传值
name: '', // 名称
description: '', // 逻辑库说明
status: 0, // 启用状态,0 代表启用,1代表禁用
usersOrUserGroups: [] // 用户或用户组信息
},
gzlRuleForm: {// 工作流数据
logicId: '',// 逻辑库id
pattern: 1,// 0 代表串行模式,1 代表并行模式
ququeIds: '',// 队列id值,例:1,2,代表第一个队列为1,第二个队列为2
status: 0,// 启用状态,0 代表启用,1 代表禁用
type: '',// 0 代表案件,1 代表人员
id: '',// 主键id
},
curType: _VIEW_TYPES.ALL,// 当前页面状态标识,
isShowGzlView: false,
CXDL_TYPE: Gzlzz._CXDL_TYPE,
cxGzl: new Gzlzz(), // 串行工作流
bxGzl: new Gzlzz(), // 并行工作流
}
},
mounted() {
},
methods: {
isBxCxdl(type) {
return type === this.CXDL_TYPE && this.gzlRuleForm.pattern === 1
},
getCurGzl() {
let objName = this.gzlRuleForm.pattern === 1 ? 'bxGzl' : 'cxGzl'
return this.$data[objName]
},
getDlmcArr() {
return this.getCurGzl()[Gzlzz._PARAMS_TYPE.DLMC]
},
getDlmcCxdlArr() {
return this.getCurGzl()[Gzlzz._PARAMS_TYPE.DLMC_CXDL]
},
getGzdlArr() {
return this.getCurGzl()[Gzlzz._PARAMS_TYPE.GZDL]
},
getGzdlCxdlArr() {
return this.getCurGzl()[Gzlzz._PARAMS_TYPE.GZDL_CXDL]
},
getDlCount() {
return this.getCurGzl()[Gzlzz._PARAMS_TYPE.DL_COUNT]
},
selectYh(selArr) {
this.ljfkRuleForm.usersOrUserGroups = selArr
},
updateCxdl(group, groupIndex, child, childIndex, isAdd = false) {// 点击查询队列子项处理逻辑
if (this.gzlRuleForm.pattern === 1) return
this.getCurGzl().updateCxdl(group, groupIndex, child, childIndex, isAdd)
},
toggleGzl() {
this.isShowGzlView = !this.isShowGzlView
},
updateGzdl(clickItem, index, isAdd = false) {// 处理队列添加、取消逻辑
this.getCurGzl().updateGzdl(clickItem, index, isAdd)
},
getTitle() {
let title = this.isRy ? '人员' : '案件'
switch (this.curType) {
case _VIEW_TYPES.ALL:
return '新增' + title + '逻辑分库'
case _VIEW_TYPES.GZL:
return title + '工作流设置'
case _VIEW_TYPES.LJFK:
return '编辑' + title + '逻辑分库'
}
},
isShowLjfk() {
return this.curType !== _VIEW_TYPES.GZL
},
isShowGzl() {
if (this.curType === _VIEW_TYPES.ALL) {
return this.isShowGzlView
}
return this.curType !== _VIEW_TYPES.LJFK
},
isShowTitle() {
return this.curType === _VIEW_TYPES.ALL
},
/**
* Description: 新增操作触发,显示逻辑分库信息和工作流信息,
* @author: li_hongchao
* @date: 2022/1/6 15:27
*/
showAll() {
this.curType = _VIEW_TYPES.ALL
this.ljfkRuleForm = {
id: '',// 逻辑库id 编辑时要传值
name: '', // 名称
description: '', // 逻辑库说明
status: 0, // 启用状态,0 代表启用,1代表禁用
usersOrUserGroups: [] // 用户或用户组信息
}
this.gzlRuleForm.type = this.isRy ? 1 : 0
this.isShowGzlView = false
this.cxGzl.init(this.isRy)
this.bxGzl.init(this.isRy)
},
/**
* Description: 编辑逻辑分库信息触发
* @author: li_hongchao
* @date: 2022/1/6 15:28
*/
showLjfk(info) {
logger.info('showLjfk', info)
this.curType = _VIEW_TYPES.LJFK
this.ljfkRuleForm = {
id: info.logicId,// 逻辑库id 编辑时要传值
name: info.logicName, // 名称
description: info.des, // 逻辑库说明
status: info.status, // 启用状态,0 代表启用,1代表禁用
usersOrUserGroups: info.groups // 用户或用户组信息
}
},
/**
* Description: 新增或编辑工作流信息触发
* @author: li_hongchao
* @date: 2022/1/6 15:28
*/
showGzl(info) {
logger.info('showGzl-info', info)
this.curType = _VIEW_TYPES.GZL
this.gzlRuleForm.logicId = info.logicId
this.gzlRuleForm.type = this.isRy ? 1 : 0
this.cxGzl.init(this.isRy)
this.bxGzl.init(this.isRy)
this.queryGzl(info.logicId)
},
submitForm() {
if (this.curType === _VIEW_TYPES.ALL || this.curType === _VIEW_TYPES.LJFK) {
this.saveLjfkxx()
} else {
this.saveGzl()
}
},
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') // 获取用户逻辑库
}
})
},
saveGzl() {
this.gzlRuleForm.ququeIds = this.getCurGzl().result()
NetUtil.xtfkgl
.saveGzl(this.gzlRuleForm)
.then(res => {
this.canceladd(true, this.curType !== _VIEW_TYPES.GZL)
})
},
queryGzl(id) {
let request = {
logicId: id,
type: this.isRy ? 1 : 0 // 是 0代表案件,1代表人员
}
NetUtil.xtfkgl
.queryGzl(request)
.then(res => {
if (res && res.code === 0 && res.ret) {
this.gzlRuleForm = res.ret
this.getCurGzl().initByVal(this.gzlRuleForm.ququeIds)
}
})
},
canceladd(isSuccess = false, isRefresh = true) {
logger.info('result', this.getCurGzl().result())
this.$emit('close', isSuccess, isRefresh)
},
},
}
</script>
<style scoped lang="scss">
@import "./scss/dialog_table";
</style>
......@@ -42,29 +42,25 @@
@openGzl="openGzl"
@openSjgl="openSjgl" />
<!-- 新增分库页面-->
<add-xtfk-view ref="addXtfk" :is-ry="isPerson" v-show="isAddFk" @close="closeXtfkView" />
<gzl-view ref="gzlView" v-show="isShowGzl" @close="closeGzlView" />
<!-- 逻辑分库、工作流 新增、编辑页面 -->
<xtfk-and-gzl-view ref="addXtfk" :is-ry="isPerson" v-show="isAddFk" @close="closeXtfkView" />
</el-container>
</template>
<script>
import RyXtljfkView from '../xtfkgl/RyXtljfkView.vue'
import AjXtljfkView from '../xtfkgl/AjXtljfkView.vue'
import AddXtfkView from '../xtfkgl/AddXtfkView.vue'
import GzlView from '../xtfkgl/GzlView.vue'
import XtfkAndGzlView from '../xtfkgl/XtfkAndGzlView.vue'
export default {
name: 'XtfkglMain',
components: {
GzlView,
RyXtljfkView,
AjXtljfkView,
AddXtfkView
XtfkAndGzlView
},
data() {
return {
isShowGzl: false,
isAddFk: false,
isPerson: true,
}
......@@ -85,30 +81,29 @@ export default {
this.$refs.addXtfk.showAll()
},
openBj() { // 人员/案件编辑
openBj(info) { // 人员/案件编辑
this.isAddFk = true
this.$refs.addXtfk.showLjfk()
this.$refs.addXtfk.showLjfk(info)
},
openGzl() {// 人员/案件工作流
openGzl(info) {// 人员/案件工作流
this.isAddFk = true
this.$refs.addXtfk.showGzl()
this.$refs.addXtfk.showGzl(info)
},
openSjgl() { // 人员/案件数据管理
if (this.isPerson) {
} else {
}
},
closeXtfkView() {
closeXtfkView(isSuccess) {
this.isAddFk = false
},
closeGzlView() {
this.isShowGzl = false
if (isSuccess && isRefresh) {
if (this.isPerson) {
this.$refs.ryXtfk.loadData()
} else {
this.$refs.ajXtfk.loadData()
}
}
},
},
}
......
......@@ -53,7 +53,7 @@
.title {
display: flex;
padding: 30px 0 20px 0px;
padding: 20px 0px 0px 0px;
div {
font-size: 16px;
......@@ -115,10 +115,10 @@
}
.radio-info {
margin-top: 10px;
margin-top: 2px;
width: 204px;
height: 35px;
height: 40px;
}
.el-input__inner {
......@@ -177,7 +177,7 @@
//box-shadow: 4px 4px 4px 0px rgba(193, 216, 251, 0.8), -4px -4px 4px 0px #ffffff;
position: relative;
text-align: center;
margin-right: 25px;
margin-right: 5px;
//margin-top: 7px;
> div {
......@@ -236,7 +236,8 @@
border: 1px dashed #aeb5c2 !important;
position: relative !important;
display: inline-block;
margin-right: 25px;
margin-right: 5px;
margin-left: 20px;
border-radius: 4px;
}
......@@ -247,6 +248,20 @@
}
}
.dui-lie-ming-cheng-bx { // 并行,查询队列布局
border: 0px solid #AEB5C2;
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: MicrosoftYaHei;
color: #999999;
line-height: 22px;
}
.chu-li-dui-lie {
width: 96px;
height: 32px;
......@@ -363,7 +378,7 @@
position: relative;
text-align: center;
margin-left: 30px;
margin-left: 8px;
> div {
line-height: 32px;
......@@ -391,7 +406,6 @@
margin-left: 73px;
}
.gong-zuo-dui-lie-bingxing-item {
height: 52px;
......@@ -554,6 +568,18 @@
}
}
.slide-fade-leave-active,
.slide-fade-enter-active {
transition: all 0.8s;
}
.slide-fade-enter,
.slide-fade-leave-to {
transform: translateY(230px);
opacity: 0;
}
.dialog /deep/ {
.el-form-item__content {
margin-left: 20px !important;
......@@ -671,6 +697,7 @@
width: 6px; // 横向滚动条
height: 6px; // 纵向滚动条 必写
}
// 滚动条的滑块
/deep/ .fix-height::-webkit-scrollbar-thumb {
background-color: #dadde0;
......
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