Commit d085f632 by 米嘉伟

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

parents 901ad4e0 eb716714
...@@ -12,6 +12,7 @@ import './plugins/axios' ...@@ -12,6 +12,7 @@ import './plugins/axios'
import fHttp from './request/http.js' import fHttp from './request/http.js'
import NetUtil from './netmgr/NetUtil' import NetUtil from './netmgr/NetUtil'
import RegExpUtil from './utils/verify-data/RegExpUtil.js' import RegExpUtil from './utils/verify-data/RegExpUtil.js'
import ValueFormatUtil from './utils/ValueFormatUtil.js'
import App from './App.vue' import App from './App.vue'
import router from './router' import router from './router'
import store from './store' import store from './store'
...@@ -44,6 +45,7 @@ import IconSvg from './utils/IconSvg.vue' ...@@ -44,6 +45,7 @@ import IconSvg from './utils/IconSvg.vue'
Vue.component('svg-icon', IconSvg) Vue.component('svg-icon', IconSvg)
moment.locale('zh-cn') moment.locale('zh-cn')
Vue.prototype.$moment = moment Vue.prototype.$moment = moment
window.moment = moment
// 引入上传组件 // 引入上传组件
import uploader from 'vue-simple-uploader' import uploader from 'vue-simple-uploader'
...@@ -87,6 +89,8 @@ window.user = UserUtil ...@@ -87,6 +89,8 @@ window.user = UserUtil
window.ljkUtil = LjkUtil window.ljkUtil = LjkUtil
window.fHttp = fHttp window.fHttp = fHttp
window.fRegExp = RegExpUtil window.fRegExp = RegExpUtil
Vue.prototype.$fFormatUtil = ValueFormatUtil
window.fFormatUtil = ValueFormatUtil
window.NetUtil = NetUtil window.NetUtil = NetUtil
Vue.use(VueWechatTitle) Vue.use(VueWechatTitle)
Vue.use(VueClipboard) Vue.use(VueClipboard)
......
...@@ -23,7 +23,7 @@ const _path = { ...@@ -23,7 +23,7 @@ const _path = {
} }
export default { export default {
// 获取案件指纹 // 获取案件指纹
ajfinger(_parameter) { ajfinger(_parameter) { A
return fHttp.postJson(_path.ajfinger, _parameter, HttpConfigUtil.closeLoadAndTip()) return fHttp.postJson(_path.ajfinger, _parameter, HttpConfigUtil.closeLoadAndTip())
}, },
// 获取案件掌纹 // 获取案件掌纹
......
...@@ -80,11 +80,11 @@ let initConfig = (config) => { ...@@ -80,11 +80,11 @@ let initConfig = (config) => {
if (config[HttpConfig._TYPE.LOADING] !== false) { if (config[HttpConfig._TYPE.LOADING] !== false) {
showLoading(config[HttpConfig._TYPE.LOADING_TARGET]) // 如果设置了targer,使用设置的target,比如el-table showLoading(config[HttpConfig._TYPE.LOADING_TARGET]) // 如果设置了targer,使用设置的target,比如el-table
} }
logger.info('_IS_SHOW_TIP', _IS_SHOW_TIP) // logger.info('_IS_SHOW_TIP', _IS_SHOW_TIP+'')
if (config[HttpConfig._TYPE.TIP]) { if (config[HttpConfig._TYPE.TIP] !== true) {
_IS_SHOW_TIP = config[HttpConfig._TYPE.TIP] _IS_SHOW_TIP = config[HttpConfig._TYPE.TIP]
} }
logger.info('_IS_SHOW_TIP', _IS_SHOW_TIP) // logger.info('_IS_SHOW_TIP', _IS_SHOW_TIP +'')
console.log('initConfig', config) console.log('initConfig', config)
return config return config
} }
......
export default {
// 时间格式化
dateTimeFormat (row, colnum) {
let prop = colnum.property;
return row[prop] ? moment(row[prop]).format("YYYY-MM-DD") : "---";
},
dateTimeFormat1 (row, colnum) {
let prop = colnum.property;
return row[prop] ? moment(row[prop]).format("YYYY-MM-DD hh:mm:ss") : "---";
},
// 普通值非空格式化 空返回 '---'
valueFormat(row, colnum) {
let prop = colnum.property
return row[prop] ? row[prop] : '---'
},
// 普通值非空格式化 空返回 '0'
valueFormat0(row, colnum) {
let prop = colnum.property
return row[prop] ? row[prop] : '0'
},
}
...@@ -1763,3 +1763,12 @@ export default { ...@@ -1763,3 +1763,12 @@ export default {
// @import "@/assets/css/globalBase.scss"; // @import "@/assets/css/globalBase.scss";
</style> </style>
<style scoped lang="scss">
/deep/ .el-table .el-table__body tr.current-row > td {
background-color: transparent !important;
}
/deep/ .el-table .el-table__body tr:hover > td {
background-color: transparent !important;
}
</style>
...@@ -18,4 +18,13 @@ export default { ...@@ -18,4 +18,13 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
</style> </style>
\ No newline at end of file <style scoped lang="scss">
/deep/ .el-table .el-table__body tr.current-row > td {
background-color: transparent !important;
}
/deep/ .el-table .el-table__body tr:hover > td {
background-color: transparent !important;
}
</style>
...@@ -1219,3 +1219,12 @@ export default { ...@@ -1219,3 +1219,12 @@ export default {
height: 56px !important; height: 56px !important;
} }
</style> </style>
<style scoped lang="scss">
/deep/ .el-table .el-table__body tr.current-row > td {
background-color: transparent !important;
}
/deep/ .el-table .el-table__body tr:hover > td {
background-color: transparent !important;
}
</style>
...@@ -1984,3 +1984,12 @@ export default { ...@@ -1984,3 +1984,12 @@ export default {
// @import "@/assets/css/globalBase.scss"; // @import "@/assets/css/globalBase.scss";
</style> </style>
<style scoped lang="scss">
/deep/ .el-table .el-table__body tr.current-row > td {
background-color: transparent !important;
}
/deep/ .el-table .el-table__body tr:hover > td {
background-color: transparent !important;
}
</style>
...@@ -326,3 +326,12 @@ export default { ...@@ -326,3 +326,12 @@ export default {
border: 1px solid #EEEEEE; border: 1px solid #EEEEEE;
} }
</style> </style>
<style scoped lang="scss">
/deep/ .el-table .el-table__body tr.current-row > td {
background-color: transparent !important;
}
/deep/ .el-table .el-table__body tr:hover > td {
background-color: transparent !important;
}
</style>
...@@ -963,7 +963,6 @@ export default { ...@@ -963,7 +963,6 @@ export default {
/deep/.flexBox { /deep/.flexBox {
display: flex; display: flex;
.el-checkbox { .el-checkbox {
margin-right: 24px; margin-right: 24px;
...@@ -1157,4 +1156,4 @@ export default { ...@@ -1157,4 +1156,4 @@ export default {
transition: transform 0.4s linear; transition: transform 0.4s linear;
} }
} }
</style> </style>
\ No newline at end of file
...@@ -1559,3 +1559,12 @@ const datas1 = [ ...@@ -1559,3 +1559,12 @@ const datas1 = [
} }
// @import "@/assets/css/globalBase.scss"; // @import "@/assets/css/globalBase.scss";
</style> </style>
<style scoped lang="scss">
/deep/ .el-table .el-table__body tr.current-row > td {
background-color: transparent !important;
}
/deep/ .el-table .el-table__body tr:hover > td {
background-color: transparent !important;
}
</style>
...@@ -1956,3 +1956,12 @@ export default { ...@@ -1956,3 +1956,12 @@ export default {
@import "./scss/boxShadow"; @import "./scss/boxShadow";
// @import "@/assets/css/globalBase.scss"; // @import "@/assets/css/globalBase.scss";
</style> </style>
<style scoped lang="scss">
/deep/ .el-table .el-table__body tr.current-row > td {
background-color: transparent !important;
}
/deep/ .el-table .el-table__body tr:hover > td {
background-color: transparent !important;
}
</style>
...@@ -930,3 +930,12 @@ export default { ...@@ -930,3 +930,12 @@ export default {
@import "scss/userpermission.scss"; @import "scss/userpermission.scss";
@import "scss/group"; @import "scss/group";
</style> </style>
<style scoped lang="scss">
/deep/ .el-table .el-table__body tr.current-row > td {
background-color: transparent !important;
}
/deep/ .el-table .el-table__body tr:hover > td {
background-color: transparent !important;
}
</style>
...@@ -183,13 +183,14 @@ ...@@ -183,13 +183,14 @@
> >
<template slot-scope="scope"> <template slot-scope="scope">
<div <div
v-if="scope.row.permissionNames && scope.row.permissionNames !== '/'"
v-for="(item, index) in scope.row.permissionNames && v-for="(item, index) in scope.row.permissionNames &&
scope.row.permissionNames.split(',')" scope.row.permissionNames.split(',')"
:key="index" :key="index">
>
{{ index > 0 ? "/" : "" }} {{ index > 0 ? "/" : "" }}
{{ item }} {{ item }}
</div> </div>
<span v-else>{{ '---' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="status" label="启用状态" width="auto"> <el-table-column prop="status" label="启用状态" width="auto">
...@@ -669,7 +670,7 @@ export default { ...@@ -669,7 +670,7 @@ export default {
? Math.ceil(this.userTotal / 10) ? Math.ceil(this.userTotal / 10)
: 1; : 1;
}, },
//用户组总条数 //用户组总条数
groupCont() { groupCont() {
return Math.ceil(this.groupTotal / 10) > 0 return Math.ceil(this.groupTotal / 10) > 0
? Math.ceil(this.groupTotal / 10) ? Math.ceil(this.groupTotal / 10)
...@@ -1151,3 +1152,12 @@ export default { ...@@ -1151,3 +1152,12 @@ export default {
} }
} }
</style> </style>
<style scoped lang="scss">
/deep/ .el-table .el-table__body tr.current-row > td {
background-color: transparent !important;
}
/deep/ .el-table .el-table__body tr:hover > td {
background-color: transparent !important;
}
</style>
...@@ -964,3 +964,12 @@ export default { ...@@ -964,3 +964,12 @@ export default {
// @import "@/assets/css/globalBase.scss"; // @import "@/assets/css/globalBase.scss";
</style> </style>
<style scoped lang="scss">
/deep/ .el-table .el-table__body tr.current-row > td {
background-color: transparent !important;
}
/deep/ .el-table .el-table__body tr:hover > td {
background-color: transparent !important;
}
</style>
...@@ -31,8 +31,7 @@ ...@@ -31,8 +31,7 @@
<div <div
@click.stop="copy(item.id)" @click.stop="copy(item.id)"
@mouseenter="$set(item, 'enter', true)" @mouseenter="$set(item, 'enter', true)"
@mouseleave="$set(item, 'enter', false)" @mouseleave="$set(item, 'enter', false)">
>
<svg-icon <svg-icon
icon-class="copy" icon-class="copy"
v-show="fuzhi" v-show="fuzhi"
...@@ -93,23 +92,17 @@ ...@@ -93,23 +92,17 @@
<div class="autoPlay" ref="diyRoles"> <div class="autoPlay" ref="diyRoles">
<el-checkbox-group v-model="btnCheckList"> <el-checkbox-group v-model="btnCheckList">
<div v-for="item in diyRoleList" :key="item.id" class="chooseItem"> <div v-for="item in diyRoleList" :key="item.id" class="chooseItem">
<el-checkbox :label="item.id" class="checkChoose" v-if="delimgBoo" <el-checkbox :label="item.id" class="checkChoose" v-if="delimgBoo">1</el-checkbox>
>1</el-checkbox <div @click.stop="() => {}"
>
<div
@click.stop="() => {}"
:class="{ :class="{
'diy-role-item': true, 'diy-role-item': true,
active: item.id === diyRoleItemIndex, active: item.id === diyRoleItemIndex,
delWidth: delimgBoo, delWidth: delimgBoo,}">
}"
>
<div <div
v-show="!item.edit" v-show="!item.edit"
class="diy-edit-title" class="diy-edit-title"
:title="item.value" :title="item.value"
@click="chooseDiyRoleItem(item)" @click="chooseDiyRoleItem(item)">
>
{{ item.value }} {{ item.value }}
</div> </div>
<el-input <el-input
...@@ -873,7 +866,7 @@ export default { ...@@ -873,7 +866,7 @@ export default {
this.diyRoleList = newArr; this.diyRoleList = newArr;
}, },
/** /**
* *
* 下面两个暂时没什么用。可以删除 * 下面两个暂时没什么用。可以删除
*/ */
funAuth() { funAuth() {
...@@ -1022,6 +1015,7 @@ export default { ...@@ -1022,6 +1015,7 @@ export default {
padding-right: 15px; padding-right: 15px;
padding-left: 20px; padding-left: 20px;
overflow: auto; overflow: auto;
background: #30fd5301;
&::-webkit-scrollbar { &::-webkit-scrollbar {
width: 10px; /*高宽分别对应横竖滚动条的尺寸*/ width: 10px; /*高宽分别对应横竖滚动条的尺寸*/
height: 10px; height: 10px;
...@@ -1098,3 +1092,12 @@ export default { ...@@ -1098,3 +1092,12 @@ export default {
} }
} }
</style> </style>
<style scoped lang="scss">
/deep/ .el-table .el-table__body tr.current-row > td {
background-color: transparent !important;
}
/deep/ .el-table .el-table__body tr:hover > td {
background-color: transparent !important;
}
</style>
<template> <template>
<el-container class="manage-page" direction="vertical"> <el-container class="manage-page" direction="vertical">
<!-- 标题--> <!-- 标题-->
<div class="search"> <div class="search">
<div class="search-item"> <div class="search-item">
<div class="label">用户名:</div> <div class="label">用户名:</div>
<el-input <el-input
class="search-info" class="search-info"
v-model="searchParams.username" v-model="searchParams.username"
placeholder="请输入用户名" placeholder="请输入用户名"
></el-input> ></el-input>
</div> </div>
<div class="search-item"> <div class="search-item">
<div class="label">姓名:</div> <div class="label">姓名:</div>
<el-input <el-input
class="search-info" class="search-info"
v-model="searchParams.name" v-model="searchParams.name"
placeholder="请输入姓名" placeholder="请输入姓名"
/> />
</div> </div>
<div class="search-item"> <div class="search-item">
<div class="label">用户组:</div> <div class="label">用户组:</div>
<SelectCode <SelectCode
width="9.6875" width="9.6875"
:form="searchParams" :form="searchParams"
id="userGroupId" id="userGroupId"
codeUrl="/security/user-groups/userGroupMenu" codeUrl="/security/user-groups/userGroupMenu"
multiple multiple
></SelectCode> ></SelectCode>
</div> </div>
<div class="search-item"> <div class="search-item">
<div class="label">单位:</div> <div class="label">单位:</div>
<Cascader <Cascader
:form="searchParams" :form="searchParams"
id="unitCode" id="unitCode"
width="9.6875" width="9.6875"
:props="props" :props="props"
></Cascader> ></Cascader>
</div> </div>
<div class="search-item"> <div class="search-item">
<div class="label">角色:</div> <div class="label">角色:</div>
<SelectCode <SelectCode
width="9.6875" width="9.6875"
:form="searchParams" :form="searchParams"
id="roleId" id="roleId"
codeUrl="/security/roles/roleMenu" codeUrl="/security/roles/roleMenu"
multiple multiple
></SelectCode> ></SelectCode>
</div> </div>
<div class="search-item"> <div class="search-item">
<div class="label">权限:</div> <div class="label">权限:</div>
<SelectCode <SelectCode
width="9.6875" width="9.6875"
:form="searchParams" :form="searchParams"
id="permissionId" id="permissionId"
codeUrl="/security/permissions/getAllPermission" codeUrl="/security/permissions/getAllPermission"
multiple multiple
></SelectCode> ></SelectCode>
</div> </div>
<div class="pRight"> <div class="pRight">
<div <div
class="clear-btn" class="clear-btn"
@click="clear" @click="clear"
:style="{ visibility: newStr ? '' : 'hidden' }" :style="{ visibility: newStr ? '' : 'hidden' }"
> >
清空 清空
</div>
<div class="btn f-primary-button" @click="search('yes')">筛选</div>
</div>
</div> </div>
<div class="btn f-primary-button" @click="search('yes')">筛选</div> <div class="split-line">
</div> <div class="operation">
</div> <div class="btn1 f-default-button" @click="batch">批量操作</div>
<div class="split-line"> <div class="btns">
<div class="operation"> <el-checkbox v-model="checked" style="margin-right: 0.625rem"
<div class="btn1 f-default-button" @click="batch">批量操作</div> >停用
<div class="btns"> </el-checkbox
<el-checkbox v-model="checked" style="margin-right: 0.625rem" >
>停用</el-checkbox <div
> class="btn1 f-default-button"
<div @click="delMore()"
class="btn1 f-default-button" v-if="roleArr.includes('H-1-1')"
@click="delMore()" >
v-if="roleArr.includes('H-1-1')" 删除
> </div>
删除 <div class="add f-youling-button" @click="open">
</div> <svg-icon
<div class="add f-youling-button" @click="open"> style="
<svg-icon
style="
width: 0.8125rem; width: 0.8125rem;
height: 0.8125rem; height: 0.8125rem;
margin-bottom: -0.0625rem; margin-bottom: -0.0625rem;
margin-right: 0.25rem; margin-right: 0.25rem;
" "
icon-class="ic_add" icon-class="ic_add"
/>新增用户 />
</div> 新增用户
</div> </div>
</div> </div>
<el-tag </div>
style="width: 100%; color: #666666; margin-bottom: 0.5rem" <el-tag
v-show="isShowTip" style="width: 100%; color: #666666; margin-bottom: 0.5rem"
> v-show="isShowTip"
<i >
class="iconfont icon-tanhao1" <i
style="color: #055fe7; font-size: 1rem; margin: 0 0.625rem" class="iconfont icon-tanhao1"
></i> style="color: #055fe7; font-size: 1rem; margin: 0 0.625rem"
已选择 ></i>
<span style="color: #055fe7">{{ multipleSelection.length }}</span> 项​ 已选择
<span v-html="'&nbsp;&nbsp;'"></span> <span style="color: #055fe7">{{ multipleSelection.length }}</span> 项​
<span v-html="'&nbsp;&nbsp;'"></span>
<el-link
type="primary" <el-link
:underline="false" type="primary"
:style="{ :underline="false"
:style="{
marginLeft: '1.25rem', marginLeft: '1.25rem',
color: multipleSelection.length > 0 ? '#055FE7' : '#C2C4C7', color: multipleSelection.length > 0 ? '#055FE7' : '#C2C4C7',
}" }"
@click="toggleSelection()" @click="toggleSelection()"
>清除</el-link >清除
> </el-link
</el-tag>
<div class="table-data">
<el-table
:height="height"
style="width: 100%"
ref="multipleTable"
:data="tableData"
:key="key"
:class="{ table: true, delSelection: !selectBoo }"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" height :width="sWidth">
</el-table-column>
<el-table-column
prop="username"
label="用户名"
:width="width1"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="name"
label="姓名"
align="center"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="policeNumber"
label="警号"
:width="width2"
show-overflow-tooltip
>
<template slot-scope="scope">
{{ scope.row.policeNumber || "---" }}
</template>
</el-table-column>
<el-table-column
prop="userGroupNames"
label="用户组"
show-overflow-tooltip
:width="width3"
>
<template slot-scope="scope">
{{ scope.row.userGroupNames || "---" }}
</template>
</el-table-column>
<el-table-column
prop="unitName"
label="所属单位"
:width="width3"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="roleNames" label="角色" :width="newWidth">
<template slot-scope="scope">
<div
class="tagsBox"
v-if="strArr(scope.row.roleNames).length > 0"
>
<div
class="tags"
v-for="item in strArr(scope.row.roleNames).arr"
:key="item"
v-show="item !== ''"
> >
{{ item }} </el-tag>
</div> <div class="table-data">
<el-tooltip <el-table
class="item" :height="height"
effect="dark" style="width: 100%"
placement="right" ref="multipleTable"
style="width: auto !important" :data="tableData"
v-if="strArr(scope.row.roleNames).length > 3" :key="key"
:class="{ table: true, delSelection: !selectBoo }"
@selection-change="handleSelectionChange"
> >
<span style="margin-left: 5px">...</span> <el-table-column type="selection" height :width="sWidth">
<div slot="content" class="tooTipBtn"> </el-table-column>
<div <el-table-column
v-for="item in scope.row.roleNames && prop="username"
label="用户名"
:width="width1"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="name"
label="姓名"
align="center"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="policeNumber"
label="警号"
:width="width2"
show-overflow-tooltip
>
<template slot-scope="scope">
{{ scope.row.policeNumber || '---' }}
</template>
</el-table-column>
<el-table-column
prop="userGroupNames"
label="用户组"
show-overflow-tooltip
:width="width3"
>
<template slot-scope="scope">
{{ scope.row.userGroupNames || '---' }}
</template>
</el-table-column>
<el-table-column
prop="unitName"
label="所属单位"
:width="width3"
show-overflow-tooltip
>
</el-table-column>
<el-table-column prop="roleNames" label="角色" :width="newWidth">
<template slot-scope="scope">
<div
class="tagsBox"
v-if="strArr(scope.row.roleNames).length > 0"
>
<div
class="tags"
v-for="item in strArr(scope.row.roleNames).arr"
:key="item"
v-show="item !== ''"
>
{{ item }}
</div>
<el-tooltip
class="item"
effect="dark"
placement="right"
style="width: auto !important"
v-if="strArr(scope.row.roleNames).length > 3"
>
<span style="margin-left: 5px">...</span>
<div slot="content" class="tooTipBtn">
<div
v-for="item in scope.row.roleNames &&
scope.row.roleNames.split(',')" scope.row.roleNames.split(',')"
:title="item" :title="item"
:key="item" :key="item"
>
{{ item }}
</div>
</div>
</el-tooltip>
</div>
<span v-else class="kong">---</span>
</template>
</el-table-column>
<el-table-column
prop="permissionNames"
label="权限"
:width="width5"
show-overflow-tooltip
> >
{{ item }} <template slot-scope="scope">
</div> <div v-if="scope.row.permissionNames && scope.row.permissionNames !== '/'">
</div> <div v-for="(item, index) in scope.row.permissionNames && scope.row.permissionNames.split(',')"
</el-tooltip> :key="index">
</div> {{ index > 0 && item ? '/' : '' }}
<span v-else class="kong">---</span> {{ item }}
</template> </div>
</el-table-column> </div>
<el-table-column <span v-else> {{ '---' }} </span>
prop="permissionNames" </template>
label="权限" </el-table-column>
:width="width5" <el-table-column prop="status" label="启用状态" align="center">
show-overflow-tooltip <template slot-scope="scope">
> <div v-if="scope.row.status === 0" class="circle-red"></div>
<template slot-scope="scope"> <div v-if="scope.row.status === 1" class="circle-blue"></div>
<div {{
v-for="(item, index) in scope.row.permissionNames && scope.row.status === 0
scope.row.permissionNames.split(',')" ? '停用'
:key="index" : scope.row.status === 1
> ? '启用'
{{ index > 0 ? "/" : "" }} : '无状态'
{{ item }} }}
</div> </template>
</template> </el-table-column>
</el-table-column> <el-table-column prop="active" label="操作" :width="width2">
<el-table-column prop="status" label="启用状态" align="center"> <template slot-scope="scope">
<template slot-scope="scope"> <div @click="offMultiple()">
<div v-if="scope.row.status === 0" class="circle-red"></div> <Confirmation content="编辑用户">
<div v-if="scope.row.status === 1" class="circle-blue"></div> <img
{{ style="
scope.row.status === 0
? "停用"
: scope.row.status === 1
? "启用"
: "无状态"
}}
</template>
</el-table-column>
<el-table-column prop="active" label="操作" :width="width2">
<template slot-scope="scope">
<div @click="offMultiple()">
<Confirmation content="编辑用户">
<img
style="
width: 1.125rem; width: 1.125rem;
height: 1.125rem; height: 1.125rem;
margin-right: 1.125rem; margin-right: 1.125rem;
cursor: pointer; cursor: pointer;
" "
src="../../assets/img/qbryk/bj.png" src="../../assets/img/qbryk/bj.png"
@click="openedit(scope.row)" @click="openedit(scope.row)"
/> />
</Confirmation> </Confirmation>
<Confirmation <Confirmation
@onConfirm="del(scope.row.id)" @onConfirm="del(scope.row.id)"
content="删除" content="删除"
v-if="roleArr.includes('H-1-4')" v-if="roleArr.includes('H-1-4')"
:hintBoo="true" :hintBoo="true"
> >
<div slot="reference"> <div slot="reference">
<img <img
style="width: 1.125rem; height: 1.125rem; cursor: pointer" style="width: 1.125rem; height: 1.125rem; cursor: pointer"
src="../../assets/img/qbryk/del.png" src="../../assets/img/qbryk/del.png"
/> />
</div> </div>
</Confirmation> </Confirmation>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
</div> </div>
<div class="footer"> <div class="footer">
<span class="count" <span class="count"
>共{{ total }} 条记录 第{{ >共{{ total }} 条记录 第{{
searchParams.page > countPage ? countPage : searchParams.page searchParams.page > countPage ? countPage : searchParams.page
}}/{{ countPage }}页</span }}/{{ countPage }}页</span
> >
<div class="page"> <div class="page">
<el-pagination <el-pagination
class="paging" class="paging"
background background
@size-change="handleSizeChange" @size-change="handleSizeChange"
@current-change="handleCurrPageChange" @current-change="handleCurrPageChange"
:current-page="searchParams.page" :current-page="searchParams.page"
:page-sizes="[10, 20, 50, 100]" :page-sizes="[10, 20, 50, 100]"
:page-size="searchParams.size" :page-size="searchParams.size"
layout="prev, pager, next" layout="prev, pager, next"
:total="total" :total="total"
> >
</el-pagination> </el-pagination>
</div> </div>
</div>
<!-- 新增弹窗-->
<div
class="addUserDialog dialog addDialog"
v-show="isShowAddUserDialog"
ref="addUserDialog"
>
<div class="head-title">
<div class="left">新增用户</div>
<div class="close" @click="canceladd">
<img src="@/assets/img/manage/close.png" alt="" />
</div> </div>
</div> <!-- 新增弹窗-->
<div class="info"> <div
<el-form class="addUserDialog dialog addDialog"
label-position="left" v-show="isShowAddUserDialog"
label-width="7rem" ref="addUserDialog"
:model="addFormParams"
:rules="addrules"
ref="addFormParams"
> >
<el-form-item class="info-item" label="用户名:" prop="username"> <div class="head-title">
<el-input <div class="left">新增用户</div>
placeholder="请输入用户名" <div class="close" @click="canceladd">
maxlength="8" <img src="@/assets/img/manage/close.png" alt="" />
show-word-limit </div>
class="input-info" </div>
v-model="addFormParams.username" <div class="info">
></el-input> <el-form
</el-form-item> label-position="left"
<el-form-item class="info-item" label="姓名:" prop="name"> label-width="7rem"
<el-input :model="addFormParams"
placeholder="请输入姓名" :rules="addrules"
class="input-info" ref="addFormParams"
maxlength="50" >
show-word-limit <el-form-item class="info-item" label="用户名:" prop="username">
v-model="addFormParams.name" <el-input
></el-input> placeholder="请输入用户名"
</el-form-item> maxlength="8"
<el-form-item class="info-item" label="身份证号:" prop="idCard"> show-word-limit
<el-input class="input-info"
placeholder="请输入身份证号" v-model="addFormParams.username"
class="input-info" ></el-input>
maxlength="18" </el-form-item>
show-word-limit <el-form-item class="info-item" label="姓名:" prop="name">
v-model="addFormParams.idCard" <el-input
></el-input> placeholder="请输入姓名"
</el-form-item> class="input-info"
<el-form-item class="info-item" label="所属单位:" prop="unitCode"> maxlength="50"
<Cascader show-word-limit
:form="addFormParams" v-model="addFormParams.name"
id="unitCode" ></el-input>
:props="props" </el-form-item>
></Cascader> <el-form-item class="info-item" label="身份证号:" prop="idCard">
</el-form-item> <el-input
<el-form-item class="info-item" label="用户警号:" prop="policeNumber"> placeholder="请输入身份证号"
<el-input class="input-info"
placeholder="请输入用户警号" maxlength="18"
class="input-info" show-word-limit
v-model="addFormParams.policeNumber" v-model="addFormParams.idCard"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item class="info-item" label="加入用户组:"> <el-form-item class="info-item" label="所属单位:" prop="unitCode">
<SelectCode <Cascader
:form="addFormParams" :form="addFormParams"
id="userGroupId" id="unitCode"
codeUrl="/security/user-groups/userGroupMenu" :props="props"
multiple ></Cascader>
></SelectCode> </el-form-item>
</el-form-item> <el-form-item class="info-item" label="用户警号:" prop="policeNumber">
<el-form-item class="info-item" label="加入角色:"> <el-input
<SelectCode placeholder="请输入用户警号"
:form="addFormParams" class="input-info"
id="roleId" v-model="addFormParams.policeNumber"
codeUrl="/security/roles/roleMenu" ></el-input>
multiple </el-form-item>
></SelectCode> <el-form-item class="info-item" label="加入用户组:">
</el-form-item> <SelectCode
<el-form-item class="info-item" label="密码:" prop="password"> :form="addFormParams"
<el-input id="userGroupId"
placeholder="请输入密码" codeUrl="/security/user-groups/userGroupMenu"
type="password" multiple
class="input-info" ></SelectCode>
maxlength="8" </el-form-item>
v-model="addFormParams.password" <el-form-item class="info-item" label="加入角色:">
></el-input> <SelectCode
</el-form-item> :form="addFormParams"
<el-form-item class="info-item" label="确认密码:" prop="okpassword"> id="roleId"
<el-input codeUrl="/security/roles/roleMenu"
placeholder="请确认密码" multiple
type="password" ></SelectCode>
maxlength="8" </el-form-item>
class="input-info" <el-form-item class="info-item" label="密码:" prop="password">
v-model="addFormParams.okpassword" <el-input
></el-input> placeholder="请输入密码"
</el-form-item> type="password"
<el-form-item class="info-item" label="联系电话:" prop="phoneNumber"> class="input-info"
<el-input maxlength="8"
placeholder="请输入联系电话" v-model="addFormParams.password"
class="input-info" ></el-input>
maxlength="18" </el-form-item>
show-word-limit <el-form-item class="info-item" label="确认密码:" prop="okpassword">
v-model="addFormParams.phoneNumber" <el-input
></el-input> placeholder="请确认密码"
</el-form-item> type="password"
<el-form-item class="info-item" label="启用状态:" prop="status"> maxlength="8"
<el-radio-group class="input-info" v-model="addFormParams.status"> class="input-info"
<el-radio :label="1" class="qiyong">启用</el-radio> v-model="addFormParams.okpassword"
<el-radio :label="0" class="tingyong">停用</el-radio> ></el-input>
</el-radio-group> </el-form-item>
</el-form-item> <el-form-item class="info-item" label="联系电话:" prop="phoneNumber">
<el-form-item class="addbtns"> <el-input
<el-button placeholder="请输入联系电话"
class="add" class="input-info"
type="primary" maxlength="18"
@click="submitForm(addFormParams)" show-word-limit
>提交</el-button v-model="addFormParams.phoneNumber"
> ></el-input>
<el-button class="cancel" @click="canceladd">取消</el-button> </el-form-item>
</el-form-item> <el-form-item class="info-item" label="启用状态:" prop="status">
</el-form> <el-radio-group class="input-info" v-model="addFormParams.status">
</div> <el-radio :label="1" class="qiyong">启用</el-radio>
</div> <el-radio :label="0" class="tingyong">停用</el-radio>
<!-- 编辑弹窗--> </el-radio-group>
</el-form-item>
<div <el-form-item class="addbtns">
class="addUserDialog dialog editDialog edit" <el-button
v-show="isShowEditUserDialog" class="add"
ref="isShowEditUserDialog" type="primary"
v-loading="loading" @click="submitForm(addFormParams)"
element-loading-text="拼命加载中" >提交
> </el-button
<div class="head-title"> >
<div class="left">编辑用户</div> <el-button class="cancel" @click="canceladd">取消</el-button>
<div class="close" @click="canceledit"> </el-form-item>
<img src="@/assets/img/manage/close.png" alt="" /> </el-form>
</div>
</div> </div>
</div> <!-- 编辑弹窗-->
<div class="info">
<el-form <div
label-position="left" class="addUserDialog dialog editDialog edit"
label-width="7rem" v-show="isShowEditUserDialog"
:model="editFormParams" ref="isShowEditUserDialog"
:rules="editrules" v-loading="loading"
ref="editFormParams" element-loading-text="拼命加载中"
> >
<el-form-item class="info-item" label="用户名:" prop="username"> <div class="head-title">
<el-input <div class="left">编辑用户</div>
placeholder="请输入用户名" <div class="close" @click="canceledit">
class="input-info" <img src="@/assets/img/manage/close.png" alt="" />
disabled </div>
maxlength="8" </div>
show-word-limit <div class="info">
v-model="editFormParams.username" <el-form
></el-input> label-position="left"
</el-form-item> label-width="7rem"
<el-form-item class="info-item" label="姓名:" prop="name"> :model="editFormParams"
<el-input :rules="editrules"
placeholder="请输入姓名" ref="editFormParams"
class="input-info" >
maxlength="50" <el-form-item class="info-item" label="用户名:" prop="username">
show-word-limit <el-input
v-model="editFormParams.name" placeholder="请输入用户名"
></el-input> class="input-info"
</el-form-item> disabled
<el-form-item class="info-item" label="身份证号:" prop="idCard"> maxlength="8"
<el-input show-word-limit
placeholder="请输入身份证号" v-model="editFormParams.username"
class="input-info" ></el-input>
maxlength="18" </el-form-item>
show-word-limit <el-form-item class="info-item" label="姓名:" prop="name">
v-model="editFormParams.idCard" <el-input
></el-input> placeholder="请输入姓名"
</el-form-item> class="input-info"
<el-form-item class="info-item" label="所属单位:" prop="unitCode"> maxlength="50"
<Cascader show-word-limit
:form="editFormParams" v-model="editFormParams.name"
id="unitCode" ></el-input>
:props="props" </el-form-item>
></Cascader> <el-form-item class="info-item" label="身份证号:" prop="idCard">
</el-form-item> <el-input
<el-form-item class="info-item" label="用户警号:" prop="policeNumber"> placeholder="请输入身份证号"
<el-input class="input-info"
placeholder="请输入用户警号" maxlength="18"
class="input-info" show-word-limit
v-model="editFormParams.policeNumber" v-model="editFormParams.idCard"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item class="info-item" label="加入用户组:"> <el-form-item class="info-item" label="所属单位:" prop="unitCode">
<SelectCode <Cascader
:form="editFormParams" :form="editFormParams"
id="userGroupId" id="unitCode"
codeUrl="/security/user-groups/userGroupMenu" :props="props"
multiple ></Cascader>
></SelectCode> </el-form-item>
</el-form-item> <el-form-item class="info-item" label="用户警号:" prop="policeNumber">
<el-form-item class="info-item" label="加入角色:"> <el-input
<SelectCode placeholder="请输入用户警号"
:form="editFormParams" class="input-info"
id="roleId" v-model="editFormParams.policeNumber"
codeUrl="/security/roles/roleMenu" ></el-input>
multiple </el-form-item>
></SelectCode> <el-form-item class="info-item" label="加入用户组:">
</el-form-item> <SelectCode
<el-form-item class="info-item" label="联系电话:" prop="phoneNumber"> :form="editFormParams"
<el-input id="userGroupId"
placeholder="请输入联系电话" codeUrl="/security/user-groups/userGroupMenu"
class="input-info" multiple
maxlength="18" ></SelectCode>
show-word-limit </el-form-item>
v-model="editFormParams.phoneNumber" <el-form-item class="info-item" label="加入角色:">
></el-input> <SelectCode
</el-form-item> :form="editFormParams"
<el-form-item class="info-item" label="启用状态:" prop="status"> id="roleId"
<el-radio-group class="input-info" v-model="editFormParams.status"> codeUrl="/security/roles/roleMenu"
<el-radio :label="1" class="qiyong">启用</el-radio> multiple
<el-radio :label="0" class="tingyong">停用</el-radio> ></SelectCode>
</el-radio-group> </el-form-item>
</el-form-item> <el-form-item class="info-item" label="联系电话:" prop="phoneNumber">
<el-form-item class="addbtns"> <el-input
<el-button placeholder="请输入联系电话"
class="add" class="input-info"
type="primary" maxlength="18"
@click="submitEditForm('editFormParams')" show-word-limit
>修改</el-button v-model="editFormParams.phoneNumber"
> ></el-input>
<el-button class="cancel" @click="canceledit">取消</el-button> </el-form-item>
</el-form-item> <el-form-item class="info-item" label="启用状态:" prop="status">
</el-form> <el-radio-group class="input-info" v-model="editFormParams.status">
</div> <el-radio :label="1" class="qiyong">启用</el-radio>
</div> <el-radio :label="0" class="tingyong">停用</el-radio>
</el-container> </el-radio-group>
</el-form-item>
<el-form-item class="addbtns">
<el-button
class="add"
type="primary"
@click="submitEditForm('editFormParams')"
>修改
</el-button
>
<el-button class="cancel" @click="canceledit">取消</el-button>
</el-form-item>
</el-form>
</div>
</div>
</el-container>
</template> </template>
<script> <script>
/** /**
* 用户管理 * 用户管理
* @module UserManage * @module UserManage
*/ */
import "@/icons/ic_add.svg"; import '@/icons/ic_add.svg'
import qs from "qs"; import qs from 'qs'
import Cascader from "@/components/Cascader.vue"; import Cascader from '@/components/Cascader.vue'
import Confirmation from "@/components/Confirmation.vue"; import Confirmation from '@/components/Confirmation.vue'
import SelectCode from "@/components/SelectCode.vue"; import SelectCode from '@/components/SelectCode.vue'
export default { export default {
// name: "UserManage", // name: "UserManage",
components: { components: {
...@@ -545,134 +550,134 @@ export default { ...@@ -545,134 +550,134 @@ export default {
SelectCode, SelectCode,
}, },
created() { created() {
let w1 = 1920; let w1 = 1920
let w2 = window.innerWidth; let w2 = window.innerWidth
this.width1 = (this.width1 * w2) / w1; this.width1 = (this.width1 * w2) / w1
this.width2 = (this.width2 * w2) / w1; this.width2 = (this.width2 * w2) / w1
this.width3 = (this.width3 * w2) / w1; this.width3 = (this.width3 * w2) / w1
this.width4 = (this.width4 * w2) / w1; this.width4 = (this.width4 * w2) / w1
this.width5 = (this.width5 * w2) / w1; this.width5 = (this.width5 * w2) / w1
this.sWidth = (this.sWidth * w2) / w1; this.sWidth = (this.sWidth * w2) / w1
}, },
data() { data() {
// 用户名校验 // 用户名校验
var validateUsername = (rule, value, callback) => { var validateUsername = (rule, value, callback) => {
if (value.trim() === "") { if (value.trim() === '') {
callback(new Error("请输入用户名!")); callback(new Error('请输入用户名!'))
} else { } else {
if (/[\u4e00-\u9fa5]+/g.test(value.trim()) || value.trim().length > 8) { if (/[\u4e00-\u9fa5]+/g.test(value.trim()) || value.trim().length > 8) {
callback(new Error("用户名不可为汉字字符,最长8位!")); callback(new Error('用户名不可为汉字字符,最长8位!'))
} else { } else {
callback(); callback()
} }
} }
}; }
// 证件号码 // 证件号码
var patrn = var patrn =
/(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$)/; /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$)/
var validateIdcard = (rule, value, callback) => { var validateIdcard = (rule, value, callback) => {
if (value.trim() === "") { if (value.trim() === '') {
callback(new Error("请输入证件号码!")); callback(new Error('请输入证件号码!'))
} else { } else {
if (!patrn.test(value.trim())) { if (!patrn.test(value.trim())) {
callback(new Error("请输入正确的证件号码!")); callback(new Error('请输入正确的证件号码!'))
} else { } else {
callback(); callback()
} }
} }
}; }
// 姓名校验 // 姓名校验
var validateTruename = (rule, value, callback) => { var validateTruename = (rule, value, callback) => {
if (value.trim() === "") { if (value.trim() === '') {
callback(new Error("请输入姓名!")); callback(new Error('请输入姓名!'))
} else { } else {
if (!/[\u4e00-\u9fa5]+/g.test(value.trim())) { if (!/[\u4e00-\u9fa5]+/g.test(value.trim())) {
callback(new Error("请输入汉字字符!")); callback(new Error('请输入汉字字符!'))
} else { } else {
callback(); callback()
} }
} }
}; }
// 手机号校验 // 手机号校验
var validateTelphone = (rule, value, callback) => { var validateTelphone = (rule, value, callback) => {
if (value.trim() === "") { if (value.trim() === '') {
callback(new Error("请输入联系电话!")); callback(new Error('请输入联系电话!'))
} else { } else {
if ( if (
value.trim().length > 18 || value.trim().length > 18 ||
!/^[-+]?(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)$/.test(value.trim()) !/^[-+]?(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)$/.test(value.trim())
) { ) {
callback(new Error("联系电话为18位的数字!")); callback(new Error('联系电话为18位的数字!'))
} else { } else {
callback(); callback()
} }
} }
}; }
// 单位代码校验 // 单位代码校验
var validateUnitcode = (rule, value, callback) => { var validateUnitcode = (rule, value, callback) => {
if (value === "") { if (value === '') {
callback(new Error("请选择单位代码!")); callback(new Error('请选择单位代码!'))
} else { } else {
callback(); callback()
} }
}; }
// 单位名称校验 // 单位名称校验
var validateUnitname = (rule, value, callback) => { var validateUnitname = (rule, value, callback) => {
if (value === "") { if (value === '') {
callback(new Error("请选择单位名称!")); callback(new Error('请选择单位名称!'))
} else { } else {
callback(); callback()
} }
}; }
//警号校验 //警号校验
var validatePolicemanid = (rule, value, callback) => { var validatePolicemanid = (rule, value, callback) => {
if (value.trim() === "") { if (value.trim() === '') {
callback(new Error("请输入警号!")); callback(new Error('请输入警号!'))
} else { } else {
callback(); callback()
} }
}; }
// 新增密码校验 // 新增密码校验
var validatePass = (rule, value, callback) => { var validatePass = (rule, value, callback) => {
if (value.trim() === "") { if (value.trim() === '') {
callback(new Error("请输入密码!")); callback(new Error('请输入密码!'))
} else { } else {
if (value.trim().length > 8) { if (value.trim().length > 8) {
callback(new Error("密码长度需在8位数以内!")); callback(new Error('密码长度需在8位数以内!'))
} else { } else {
callback(); callback()
} }
} }
}; }
// 新增确认密码校验 // 新增确认密码校验
var validatePass2 = (rule, value, callback) => { var validatePass2 = (rule, value, callback) => {
if (value.trim() === "") { if (value.trim() === '') {
callback(new Error("请再次输入密码")); callback(new Error('请再次输入密码'))
} else if (value.trim() !== this.addFormParams.password) { } else if (value.trim() !== this.addFormParams.password) {
callback(new Error("两次输入密码不一致!")); callback(new Error('两次输入密码不一致!'))
} else { } else {
callback(); callback()
} }
}; }
// 新增确认密码校验 // 新增确认密码校验
var validatePassEdit = (rule, value, callback) => { var validatePassEdit = (rule, value, callback) => {
if (value.trim() === "") { if (value.trim() === '') {
callback(new Error("请再次输入密码")); callback(new Error('请再次输入密码'))
} else if (value.trim() !== this.editFormParams.password) { } else if (value.trim() !== this.editFormParams.password) {
callback(new Error("两次输入密码不一致!")); callback(new Error('两次输入密码不一致!'))
} else { } else {
callback(); callback()
} }
}; }
// 启用状态校验 // 启用状态校验
var validateStatus = (rule, value, callback) => { var validateStatus = (rule, value, callback) => {
if (value === "") { if (value === '') {
callback(new Error("请选择状态")); callback(new Error('请选择状态'))
} else { } else {
callback(); callback()
} }
}; }
return { return {
loading: false, loading: false,
width4: 350, width4: 350,
...@@ -680,105 +685,105 @@ export default { ...@@ -680,105 +685,105 @@ export default {
width2: 100, width2: 100,
width5: 220, width5: 220,
width1: 100, width1: 100,
height: "33rem", height: '33rem',
sWidth: 50, sWidth: 50,
//组件需要的配置 //组件需要的配置
props: { props: {
value: "code", value: 'code',
label: "key", label: 'key',
children: "childCodeDwXz", children: 'childCodeDwXz',
checkStrictly: true, checkStrictly: true,
emitPath: false, emitPath: false,
}, },
// 新增对象 // 新增对象
addFormParams: { addFormParams: {
idCard: "", idCard: '',
identityCard: "", identityCard: '',
username: "2233333", username: '2233333',
phoneNumber: "13327454372", phoneNumber: '13327454372',
password: "2222222", password: '2222222',
okpassword: "2222222", okpassword: '2222222',
policeNumber: "222222", policeNumber: '222222',
unitName: "长沙", unitName: '长沙',
unitCode: "", unitCode: '',
name: "我当时大多数", name: '我当时大多数',
status: 1, status: 1,
userGroupId: [], userGroupId: [],
roleId: [], roleId: [],
}, },
//修改对象 //修改对象
editFormParams: { editFormParams: {
idCard: "", //身份证号 idCard: '', //身份证号
identityCard: "", identityCard: '',
username: "", //用户名 username: '', //用户名
name: "", //姓名 name: '', //姓名
unitCode: "", //单位代码 unitCode: '', //单位代码
policeNumber: "", //警号 policeNumber: '', //警号
phoneNumber: "", //联系电话 phoneNumber: '', //联系电话
status: "", //启用状态 status: '', //启用状态
userGroupId: [], // 用户组 userGroupId: [], // 用户组
roleId: [], // 角色 roleId: [], // 角色
}, },
addrules: { addrules: {
//身份证 //身份证
idCard: [ idCard: [
{ validator: validateIdcard, trigger: "blur", required: true }, {validator: validateIdcard, trigger: 'blur', required: true},
], ],
password: [ password: [
{ validator: validatePass, trigger: "blur", required: true }, {validator: validatePass, trigger: 'blur', required: true},
], //密码 ], //密码
okpassword: [ okpassword: [
{ validator: validatePass2, trigger: "blur", required: true }, {validator: validatePass2, trigger: 'blur', required: true},
], // 确认密码 ], // 确认密码
username: [ username: [
{ validator: validateUsername, trigger: "blur", required: true }, {validator: validateUsername, trigger: 'blur', required: true},
], //用户名 ], //用户名
name: [ name: [
{ validator: validateTruename, trigger: "blur", required: true }, {validator: validateTruename, trigger: 'blur', required: true},
], //用户真实姓名 ], //用户真实姓名
phoneNumber: [ phoneNumber: [
{ validator: validateTelphone, trigger: "blur", required: true }, {validator: validateTelphone, trigger: 'blur', required: true},
], //用户电话 ], //用户电话
unitCode: [ unitCode: [
{ validator: validateUnitcode, trigger: "change", required: true }, {validator: validateUnitcode, trigger: 'change', required: true},
], //单位代码 ], //单位代码
unitName: [ unitName: [
{ validator: validateUnitname, trigger: "blur", required: true }, {validator: validateUnitname, trigger: 'blur', required: true},
], //单位名称 ], //单位名称
userGroupId: [{ validator: validatePass, trigger: "blur" }], // 用户组 userGroupId: [{validator: validatePass, trigger: 'blur'}], // 用户组
roleId: [{ validator: validatePass, trigger: "blur" }], // 角色 roleId: [{validator: validatePass, trigger: 'blur'}], // 角色
status: [ status: [
{ validator: validateStatus, trigger: "blur", required: true }, {validator: validateStatus, trigger: 'blur', required: true},
], // 启用状态 ], // 启用状态
}, },
editrules: { editrules: {
idCard: [ idCard: [
{ validator: validateIdcard, trigger: "blur", required: true }, {validator: validateIdcard, trigger: 'blur', required: true},
], ],
username: [ username: [
{ validator: validateUsername, trigger: "blur", required: true }, {validator: validateUsername, trigger: 'blur', required: true},
], //用户名 ], //用户名
name: [ name: [
{ validator: validateTruename, trigger: "blur", required: true }, {validator: validateTruename, trigger: 'blur', required: true},
], //用户真实姓名 ], //用户真实姓名
unitCode: [ unitCode: [
{ validator: validateUnitcode, trigger: "change", required: true }, {validator: validateUnitcode, trigger: 'change', required: true},
], //单位代码 ], //单位代码
phoneNumber: [ phoneNumber: [
{ validator: validateTelphone, trigger: "blur", required: true }, {validator: validateTelphone, trigger: 'blur', required: true},
], //用户电话 ], //用户电话
userGroupId: [{ validator: validatePass, trigger: "blur" }], // 用户组 userGroupId: [{validator: validatePass, trigger: 'blur'}], // 用户组
roleId: [{ validator: validatePass, trigger: "blur" }], // 角色 roleId: [{validator: validatePass, trigger: 'blur'}], // 角色
status: [ status: [
{ validator: validateStatus, trigger: "blur", required: true }, {validator: validateStatus, trigger: 'blur', required: true},
], // 启用状态 ], // 启用状态
}, },
// 搜索对象 // 搜索对象
searchParams: { searchParams: {
username: "", username: '',
name: "", name: '',
userGroupId: [], userGroupId: [],
unitCode: "", unitCode: '',
roleId: [], roleId: [],
permissionId: [], permissionId: [],
page: 1, page: 1,
...@@ -807,66 +812,66 @@ export default { ...@@ -807,66 +812,66 @@ export default {
checked: false, checked: false,
key: 1, key: 1,
// tableData: data1, // tableData: data1,
}; }
}, },
computed: { computed: {
//权限相关的数组 //权限相关的数组
roleArr() { roleArr() {
return this.$store.state.layout.Menu; return this.$store.state.layout.Menu
}, },
//计算分页 //计算分页
countPage() { countPage() {
return Math.ceil(this.total / 10) > 0 ? Math.ceil(this.total / 10) : 1; return Math.ceil(this.total / 10) > 0 ? Math.ceil(this.total / 10) : 1
}, },
//计算角色的宽度是动态的 //计算角色的宽度是动态的
newWidth() { newWidth() {
let w1 = 1920; let w1 = 1920
let w2 = window.innerWidth; let w2 = window.innerWidth
let map = this.tableData.map((i) => i.roleNames.split(",")); let map = this.tableData.map((i) => i.roleNames.split(','))
let num = 0; let num = 0
let width; let width
map.forEach((i) => { map.forEach((i) => {
if (i.length > num) num = i.length; if (i.length > num) num = i.length
}); })
if (num <= 3) { if (num <= 3) {
width = num * 150; width = num * 150
if (num == 1) { if (num == 1) {
width += 100; width += 100
} else if (num == 2) { } else if (num == 2) {
width += 50; width += 50
} else if (num == 3) { } else if (num == 3) {
width = 480; width = 480
} }
} else if (num > 3) { } else if (num > 3) {
width = 500; width = 500
} }
width = (width * w2) / w1; width = (width * w2) / w1
return width; return width
}, },
// 计算总页数 // 计算总页数
Tpage() { Tpage() {
return Math.floor(this.page.count / this.page.total) + 1; return Math.floor(this.page.count / this.page.total) + 1
}, },
//动态显示清空按钮(看看筛选条件用户输了没有) //动态显示清空按钮(看看筛选条件用户输了没有)
newStr() { newStr() {
let str = ""; let str = ''
console.log(this.searchParams); console.log(this.searchParams)
for (let key in this.searchParams) { for (let key in this.searchParams) {
if ( if (
key != "page" && key != 'page' &&
key != "roleId" && key != 'roleId' &&
key != "userGroupId" && key != 'userGroupId' &&
key != "permissionId" && key != 'permissionId' &&
key != "size" key != 'size'
) { ) {
str += this.searchParams[key].trim(); str += this.searchParams[key].trim()
} }
if (key == "userGroupId" || key == "roleId" || key == "permissionId") { if (key == 'userGroupId' || key == 'roleId' || key == 'permissionId') {
str += this.searchParams[key].join(); str += this.searchParams[key].join()
} }
} }
return str == "" ? false : true; return str == '' ? false : true
}, },
}, },
methods: { methods: {
...@@ -876,46 +881,46 @@ export default { ...@@ -876,46 +881,46 @@ export default {
*/ */
submitForm(formName) { submitForm(formName) {
//console.log(this.addFormParams, 22222222222); //console.log(this.addFormParams, 22222222222);
let params = {}; let params = {}
for (let key in this.addFormParams) { for (let key in this.addFormParams) {
if (key == "roleId" || key == "userGroupId") { if (key == 'roleId' || key == 'userGroupId') {
params[key] = params[key] =
this.addFormParams[key] && this.addFormParams[key].join(","); this.addFormParams[key] && this.addFormParams[key].join(',')
} else { } else {
params[key] = this.addFormParams[key]; params[key] = this.addFormParams[key]
} }
} }
this.$refs.addFormParams.validate((valid) => { this.$refs.addFormParams.validate((valid) => {
//console.log(valid); //console.log(valid);
if (valid) { if (valid) {
this.$axios this.$axios
.post("/security/users", params) .post('/security/users', params)
.then((res) => { .then((res) => {
if (res.data.code == 201) { if (res.data.code == 201) {
setTimeout(() => { setTimeout(() => {
this.$message.success("添加成功"); this.$message.success('添加成功')
}, 800); }, 800)
this.isShowAddUserDialog = false; this.isShowAddUserDialog = false
this.isShowAddUserDialogBg = false; this.isShowAddUserDialogBg = false
this.search("yes"); this.search('yes')
} else if (res.data.code == 400 || res.data.code == 500) { } else if (res.data.code == 400 || res.data.code == 500) {
setTimeout(() => { setTimeout(() => {
this.$message.error(res.data.detail); this.$message.error(res.data.detail)
}, 500); }, 500)
} else if (res.data.code == 404) { } else if (res.data.code == 404) {
setTimeout(() => { setTimeout(() => {
this.$message.error("服务不存在"); this.$message.error('服务不存在')
}, 500); }, 500)
} }
}) })
.catch((res) => { .catch((res) => {
//console.log(res); //console.log(res);
}); })
} else { } else {
//console.log("error submit!!"); //console.log("error submit!!");
return false; return false
} }
}); })
}, },
/** /**
* @function strArr * @function strArr
...@@ -924,24 +929,24 @@ export default { ...@@ -924,24 +929,24 @@ export default {
* @returns {Object} 返回了一个对象,里面包含arr(裁剪后的角色数组),length(裁剪之前的角色个数) * @returns {Object} 返回了一个对象,里面包含arr(裁剪后的角色数组),length(裁剪之前的角色个数)
*/ */
strArr(str) { strArr(str) {
let arr = str.split(","); let arr = str.split(',')
let newArr = []; let newArr = []
if (arr.length > 3) { if (arr.length > 3) {
newArr = arr.slice(0, 3); newArr = arr.slice(0, 3)
} else { } else {
newArr = arr; newArr = arr
} }
let obj = { let obj = {
arr: newArr, arr: newArr,
length: arr.length, length: arr.length,
}; }
if (obj.length == 1 && obj.arr[0] == "") { if (obj.length == 1 && obj.arr[0] == '') {
return { return {
arr: [""], arr: [''],
length: 0, length: 0,
}; }
} else { } else {
return obj; return obj
} }
}, },
/** /**
...@@ -953,39 +958,39 @@ export default { ...@@ -953,39 +958,39 @@ export default {
//console.log(valid); //console.log(valid);
if (valid) { if (valid) {
//配置字段 //配置字段
let params = {}; let params = {}
for (let key in this.editFormParams) { for (let key in this.editFormParams) {
if (key == "roleId" || key == "userGroupId") { if (key == 'roleId' || key == 'userGroupId') {
params[key] = params[key] =
this.editFormParams[key] && this.editFormParams[key].join(); this.editFormParams[key] && this.editFormParams[key].join()
} else { } else {
params[key] = this.editFormParams[key]; params[key] = this.editFormParams[key]
} }
} }
//调用接口 //调用接口
this.$axios.put("/security/users", params).then((res) => { this.$axios.put('/security/users', params).then((res) => {
if (res.data.code == 200) { if (res.data.code == 200) {
setTimeout(() => { setTimeout(() => {
this.$message.success("修改成功"); this.$message.success('修改成功')
}, 800); }, 800)
this.isShowEditUserDialog = false; this.isShowEditUserDialog = false
this.isShowEditUserDialogBg = false; this.isShowEditUserDialogBg = false
this.search(); this.search()
} else if (res.data.code == 400 || res.data.code == 500) { } else if (res.data.code == 400 || res.data.code == 500) {
setTimeout(() => { setTimeout(() => {
this.$message.error(res.data.detail); this.$message.error(res.data.detail)
}, 500); }, 500)
} else if (res.data.code == 404) { } else if (res.data.code == 404) {
setTimeout(() => { setTimeout(() => {
this.$message.error("服务不存在"); this.$message.error('服务不存在')
}, 500); }, 500)
} }
}); })
} else { } else {
//console.log("error submit!!"); //console.log("error submit!!");
return false; return false
} }
}); })
}, },
/** /**
* @function resetForm * @function resetForm
...@@ -993,7 +998,7 @@ export default { ...@@ -993,7 +998,7 @@ export default {
* @example 重置对应的form表单 * @example 重置对应的form表单
*/ */
resetForm(formName) { resetForm(formName) {
this.$refs[formName].resetFields(); this.$refs[formName].resetFields()
}, },
/** /**
* @function clear * @function clear
...@@ -1002,19 +1007,19 @@ export default { ...@@ -1002,19 +1007,19 @@ export default {
clear() { clear() {
for (let key in this.searchParams) { for (let key in this.searchParams) {
if ( if (
key != "page" && key != 'page' &&
key != "userGroupId" && key != 'userGroupId' &&
key != "roleId" && key != 'roleId' &&
key != "permissionId" && key != 'permissionId' &&
key != "size" key != 'size'
) { ) {
this.$set(this.searchParams, key, ""); this.$set(this.searchParams, key, '')
} }
if (key == "userGroupId" || key == "roleId" || key == "permissionId") { if (key == 'userGroupId' || key == 'roleId' || key == 'permissionId') {
this.$set(this.searchParams, key, []); this.$set(this.searchParams, key, [])
} }
} }
this.search("yes"); this.search('yes')
}, },
/** /**
* @function search * @function search
...@@ -1022,43 +1027,43 @@ export default { ...@@ -1022,43 +1027,43 @@ export default {
* @example 筛选用户表格数据 * @example 筛选用户表格数据
*/ */
search(boo) { search(boo) {
let params = {}; let params = {}
//如果boo为true 则页数从第一页开始 //如果boo为true 则页数从第一页开始
if (boo) { if (boo) {
this.$set(this.searchParams, "page", 1); this.$set(this.searchParams, 'page', 1)
this.$set(this.searchParams, "size", 10); this.$set(this.searchParams, 'size', 10)
} }
for (let key in this.searchParams) { for (let key in this.searchParams) {
if (key == "userGroupId" || key == "roleId" || key == "permissionId") { if (key == 'userGroupId' || key == 'roleId' || key == 'permissionId') {
params[key] = this.searchParams[key].join(); params[key] = this.searchParams[key].join()
} else { } else {
params[key] = this.searchParams[key]; params[key] = this.searchParams[key]
} }
} }
this.$axios({ this.$axios({
url: "/security/users/search", url: '/security/users/search',
method: "post", method: 'post',
data: JSON.stringify(params), data: JSON.stringify(params),
headers: { headers: {
"Content-Type": "application/json", 'Content-Type': 'application/json',
}, },
}).then((res) => { }).then((res) => {
if (res.data.code == 200) { if (res.data.code == 200) {
let result = res.data.detail; let result = res.data.detail
this.tableData = result.users; this.tableData = result.users
this.allTableData = result.users; this.allTableData = result.users
this.total = result.total; this.total = result.total
this.key++; this.key++
} }
}); })
}, },
/** /**
* @function offMultiple * @function offMultiple
* @example 取消批量操作状态,删除所有选中的用户 * @example 取消批量操作状态,删除所有选中的用户
*/ */
offMultiple() { offMultiple() {
this.selectBoo = false; this.selectBoo = false
this.$refs.multipleTable.clearSelection(); this.$refs.multipleTable.clearSelection()
}, },
/** /**
* @function toggleSelection * @function toggleSelection
...@@ -1068,10 +1073,10 @@ export default { ...@@ -1068,10 +1073,10 @@ export default {
toggleSelection(rows) { toggleSelection(rows) {
if (rows) { if (rows) {
rows.forEach((row) => { rows.forEach((row) => {
this.$refs.multipleTable.toggleRowSelection(row); this.$refs.multipleTable.toggleRowSelection(row)
}); })
} else { } else {
this.$refs.multipleTable.clearSelection(); this.$refs.multipleTable.clearSelection()
} }
//console.log(this.multipleSelection); //console.log(this.multipleSelection);
}, },
...@@ -1081,7 +1086,7 @@ export default { ...@@ -1081,7 +1086,7 @@ export default {
* @example 将勾选的用户对象保存起来 * @example 将勾选的用户对象保存起来
*/ */
handleSelectionChange(val) { handleSelectionChange(val) {
this.multipleSelection = val; this.multipleSelection = val
//console.info("选择的数据", this.multipleSelection); //console.info("选择的数据", this.multipleSelection);
}, },
/** /**
...@@ -1089,8 +1094,8 @@ export default { ...@@ -1089,8 +1094,8 @@ export default {
* @example 点击批量操作后的方法 * @example 点击批量操作后的方法
*/ */
batch() { batch() {
this.selectBoo = !this.selectBoo; this.selectBoo = !this.selectBoo
this.toggleSelection(); this.toggleSelection()
}, },
/** /**
* @function handleCurrPageChange * @function handleCurrPageChange
...@@ -1098,8 +1103,8 @@ export default { ...@@ -1098,8 +1103,8 @@ export default {
* @example 当期页发生变化 * @example 当期页发生变化
*/ */
handleCurrPageChange: function (val) { handleCurrPageChange: function (val) {
this.searchParams.page = val; this.searchParams.page = val
this.search(); this.search()
}, },
/** /**
* @function handleSizeChange * @function handleSizeChange
...@@ -1107,8 +1112,8 @@ export default { ...@@ -1107,8 +1112,8 @@ export default {
* @example 每页展示数量发生变化 * @example 每页展示数量发生变化
*/ */
handleSizeChange: function (val) { handleSizeChange: function (val) {
this.searchParams.size = val; this.searchParams.size = val
this.search(); this.search()
}, },
/** /**
* @function open * @function open
...@@ -1116,14 +1121,14 @@ export default { ...@@ -1116,14 +1121,14 @@ export default {
*/ */
open() { open() {
for (let key in this.addFormParams) { for (let key in this.addFormParams) {
if (key == "userGroupId" || key == "roleId") { if (key == 'userGroupId' || key == 'roleId') {
this.$set(this.addFormParams, key, []); this.$set(this.addFormParams, key, [])
} else if (key != "status") { } else if (key != 'status') {
this.$set(this.addFormParams, key, ""); this.$set(this.addFormParams, key, '')
} }
} }
this.isShowAddUserDialog = true; this.isShowAddUserDialog = true
this.isShowAddUserDialogBg = true; this.isShowAddUserDialogBg = true
}, },
/** /**
* @function openedit * @function openedit
...@@ -1132,17 +1137,17 @@ export default { ...@@ -1132,17 +1137,17 @@ export default {
*/ */
openedit(row) { openedit(row) {
for (let key in this.editFormParams) { for (let key in this.editFormParams) {
if (key == "userGroupId" || key == "roleId") { if (key == 'userGroupId' || key == 'roleId') {
this.$set(this.addFormParams, key, []); this.$set(this.addFormParams, key, [])
} else if (key != "status") { } else if (key != 'status') {
this.$set(this.editFormParams, key, ""); this.$set(this.editFormParams, key, '')
} }
} }
// editFormParams // editFormParams
this.isShowEditUserDialog = true; this.isShowEditUserDialog = true
this.isShowEditUserDialogBg = true; this.isShowEditUserDialogBg = true
//回显编辑时候的字段的内容 //回显编辑时候的字段的内容
this.getPersonInfor(row.id); this.getPersonInfor(row.id)
}, },
/** /**
* @function getPersonInfor * @function getPersonInfor
...@@ -1151,75 +1156,75 @@ export default { ...@@ -1151,75 +1156,75 @@ export default {
*/ */
getPersonInfor(id) { getPersonInfor(id) {
this.$axios this.$axios
.get("/security/users/" + id, { loadingTarget: ".edit" }) .get('/security/users/' + id, {loadingTarget: '.edit'})
.then((res) => { .then((res) => {
if (res.data) { if (res.data) {
let result = res.data; let result = res.data
for (let key in this.editFormParams) { for (let key in this.editFormParams) {
this.$set(this.editFormParams, key, result[key]); this.$set(this.editFormParams, key, result[key])
} }
this.$set(this.editFormParams, "id", id); this.$set(this.editFormParams, 'id', id)
this.$set( this.$set(
this.editFormParams, this.editFormParams,
"userGroupId", 'userGroupId',
(result["userGroupIds"] && result["userGroupIds"].split(",")) || (result['userGroupIds'] && result['userGroupIds'].split(',')) ||
[] []
); )
this.$set( this.$set(
this.editFormParams, this.editFormParams,
"roleId", 'roleId',
(result["roleIds"] && result["roleIds"].split(",")) || [] (result['roleIds'] && result['roleIds'].split(',')) || []
); )
} }
}); })
}, },
/** /**
* @function canceladd * @function canceladd
* @example 关闭新增弹窗 * @example 关闭新增弹窗
*/ */
canceladd() { canceladd() {
this.isShowAddUserDialog = false; this.isShowAddUserDialog = false
this.isShowAddUserDialogBg = false; this.isShowAddUserDialogBg = false
}, },
/** /**
* @function canceledit * @function canceledit
* @example 关闭修改弹窗 * @example 关闭修改弹窗
*/ */
canceledit() { canceledit() {
this.isShowEditUserDialog = false; this.isShowEditUserDialog = false
this.isShowEditUserDialogBg = false; this.isShowEditUserDialogBg = false
}, },
/** /**
* @function delMore * @function delMore
* @example 批量删除用户 * @example 批量删除用户
*/ */
delMore() { delMore() {
let self = this; let self = this
if (!this.selectBoo) { if (!this.selectBoo) {
this.selectBoo = true; this.selectBoo = true
return; return
} }
if (this.multipleSelection.length <= 0) { if (this.multipleSelection.length <= 0) {
this.$message.error("请选择用户后操作"); this.$message.error('请选择用户后操作')
return; return
} }
console.log(this.multipleSelection); console.log(this.multipleSelection)
let ids = this.multipleSelection.map((i) => i.id); let ids = this.multipleSelection.map((i) => i.id)
ids = ids.join(","); ids = ids.join(',')
this.$confirm("此操作将永久删除用户, 是否继续?", "提示", { this.$confirm('此操作将永久删除用户, 是否继续?', '提示', {
confirmButtonText: "确定", confirmButtonText: '确定',
cancelButtonText: "取消", cancelButtonText: '取消',
type: "warning", type: 'warning',
}) })
.then(() => { .then(() => {
self.del(ids); self.del(ids)
}) })
.catch(() => { .catch(() => {
this.$message({ this.$message({
type: "info", type: 'info',
message: "已取消删除", message: '已取消删除',
}); })
}); })
}, },
/** /**
* @function del * @function del
...@@ -1228,280 +1233,321 @@ export default { ...@@ -1228,280 +1233,321 @@ export default {
*/ */
del(id) { del(id) {
this.$axios({ this.$axios({
method: "delete", method: 'delete',
url: "/security/users/delete", url: '/security/users/delete',
headers: { headers: {
"Content-Type": "application/x-www-form-urlencoded", 'Content-Type': 'application/x-www-form-urlencoded',
}, },
data: qs.stringify({ data: qs.stringify({
userId: id, userId: id,
}), }),
}).then((res) => { }).then((res) => {
if (res.data.code == 200 && res.data.info == "success") { if (res.data.code == 200 && res.data.info == 'success') {
this.search("yes"); this.search('yes')
setTimeout(() => { setTimeout(() => {
this.$message.success("删除成功"); this.$message.success('删除成功')
this.offMultiple(); this.offMultiple()
}, 500); }, 500)
} else { } else {
this.$message.error(res.data.info); this.$message.error(res.data.info)
} }
}); })
// this.search(); // this.search();
}, },
}, },
//缓存进入时通过添加enter键搜索功能 //缓存进入时通过添加enter键搜索功能
activated() { activated() {
this.$bus.on("enter", () => { this.$bus.on('enter', () => {
if (this.$store.state.loading.groundGlassBoo) return; if (this.$store.state.loading.groundGlassBoo) return
this.search("yes"); this.search('yes')
}); })
}, },
deactivated() { deactivated() {
this.$bus.off("enter"); this.$bus.off('enter')
}, },
beforeDestroy() { beforeDestroy() {
this.$bus.off("enter"); this.$bus.off('enter')
}, },
mounted() { mounted() {
this.search("yes"); this.search('yes')
this.$bus.on("enter", () => { this.$bus.on('enter', () => {
if (this.$store.state.loading.groundGlassBoo) return; if (this.$store.state.loading.groundGlassBoo) return
this.search("yes"); this.search('yes')
}); })
//删除添加到body里面的弹框(毛玻璃问题) //删除添加到body里面的弹框(毛玻璃问题)
this.$nextTick(() => { this.$nextTick(() => {
document.body.appendChild(this.$refs.addUserDialog); document.body.appendChild(this.$refs.addUserDialog)
document.body.appendChild(this.$refs.isShowEditUserDialog); document.body.appendChild(this.$refs.isShowEditUserDialog)
}); })
}, },
watch: { watch: {
//点击取消停用表格筛选 //点击取消停用表格筛选
checked(val) { checked(val) {
this.key++; this.key++
if (val) { if (val) {
this.tableData = this.allTableData.filter((i) => i.status == 0); this.tableData = this.allTableData.filter((i) => i.status == 0)
} else { } else {
this.tableData = this.allTableData; this.tableData = this.allTableData
} }
}, },
isShowAddUserDialog(val) { isShowAddUserDialog(val) {
this.$bus.emit("isBlur", val); this.$bus.emit('isBlur', val)
}, },
isShowEditUserDialog(val) { isShowEditUserDialog(val) {
this.$bus.emit("isBlur", val); this.$bus.emit('isBlur', val)
}, },
selectBoo: { selectBoo: {
handler(newval) { handler(newval) {
if (this.selectBoo) { if (this.selectBoo) {
this.isShowTip = true; this.isShowTip = true
} else { } else {
this.isShowTip = false; this.isShowTip = false
} }
}, },
}, },
}, },
//当缓存结束删除弹框dom //当缓存结束删除弹框dom
destroyed() { destroyed() {
$(".addDialog").remove(); $('.addDialog').remove()
$(".editDialog").remove(); $('.editDialog').remove()
}, },
}; }
</script> </script>
<style lang="css"> <style lang="css">
.el-tooltip__popper { .el-tooltip__popper {
font-size: 14px; font-size: 14px;
max-width: 50%; max-width: 50%;
} }
.el-tooltip__popper.is-dark {
background: rgba(51, 51, 51, 0.9); .el-tooltip__popper.is-dark {
box-shadow: 0px 2px 8px 2px rgba(0, 0, 0, 0.1); background: rgba(51, 51, 51, 0.9);
} box-shadow: 0px 2px 8px 2px rgba(0, 0, 0, 0.1);
}
</style> </style>
<style scoped lang="scss"> <style scoped lang="scss">
.delSelection /deep/ .el-table-column--selection .cell { /*/deep/.el-table tbody tr:hover>td {*/
display: none; /* background-color: #ffffff*/
} /*},*/
/deep/ .el-form-item {
margin-bottom: 25px !important;
}
/deep/ .addbtns {
margin-bottom: 0 !important;
padding: 15px 0 !important;
}
.info {
margin-top: 0px !important;
}
/deep/ .is-indeterminate {
.el-checkbox__inner {
background-color: #055fe7;
border-color: #055fe7;
}
}
// 去除table表格最底部边框
.el-table__row > td {
border: none;
}
// 去除table表格最底部边框
.el-table::before {
height: 0px;
}
/deep/.el-table .el-table__header-wrapper tr th { /*/deep/.el-table__row:hover > td {*/
background-color: #ecf1f7 !important; /* background-color: #ffffff !important;*/
font-size: 14px !important; /*}*/
font-family: HarmonyOS_Sans_SC_Medium !important;
color: #282f3c !important;
height: 48px !important;
padding: 0 !important;
}
/deep/.el-table .el-table__body tr.current-row > td {
background-color: #f2f7fe !important;
}
/deep/.el-table .el-table__body tr:hover > td {
background-color: #f2f7fe !important;
}
/deep/.el-table__row {
height: 48px !important;
}
/deep/.el-table__row--level-1 {
.el-table__cell {
background-color: #f5f6f7 !important;
}
}
/deep/.el-table th > .cell { /*/deep/.el-table__row--striped:hover > td {*/
font-family: HarmonyOS_Sans_SC_Medium; /* background-color: #ffffff !important;*/
} /*}*/
/deep/.el-table .el-table__cell { .delSelection /deep/ .el-table-column--selection .cell {
padding: 0 !important; display: none;
} }
/deep/.el-table__body { /deep/ .el-form-item {
width: 100% !important; margin-bottom: 25px !important;
} }
// el-table 左侧固定 样式统一 /deep/ .addbtns {
/deep/.el-table__fixed { margin-bottom: 0 !important;
height: 100% !important; padding: 15px 0 !important;
&::before {
height: 0;
}
}
/deep/.el-table__fixed-header-wrapper {
height: 48px !important;
.el-table__header {
width: 100% !important;
height: 48px !important;
background-color: #ecf1f7 !important;
font-size: 0.875rem !important;
font-family: HarmonyOS_Sans_SC_Medium !important;
color: #282f3c !important;
height: 3rem !important;
padding: 0 !important;
}
thead {
font-size: 0.875rem !important;
font-family: HarmonyOS_Sans_SC_Medium !important;
color: #282f3c !important;
.cell {
font-weight: normal !important;
} }
}
th {
border: none !important;
background-color: #ecf1f7 !important;
}
}
/deep/.hover-row {
.el-table__cell {
background-color: #f2f7fe !important;
}
}
/deep/.el-table__fixed-right { .info {
height: 100% !important; margin-top: 0px !important;
&::before { }
height: 0;
}
}
// 批量操作
.el-tag {
color: #055fe7 !important;
height: 32px;
box-sizing: border-box !important;
padding: 0 8px !important;
background: #ddebff;
border-radius: 4px;
font-size: 0.75rem;
margin-bottom: 16px;
display: flex;
align-items: center;
}
/deep/.el-link--inner {
color: rgb(5, 95, 231);
}
.icon-tanhao1 {
display: flex;
justify-content: center;
align-items: center;
}
// 表格高度 -- 展示下面的border
.split-line {
height: 650px;
border-bottom: 1px solid #eee;
}
// 复选框 /deep/ .is-indeterminate {
/deep/.el-checkbox__inner { .el-checkbox__inner {
cursor: pointer; background-color: #055fe7;
} border-color: #055fe7;
/deep/.el-checkbox__input { }
line-height: 16px; }
}
.search {
/deep/ .el-input__inner {
background: #ffffff;
box-shadow: 0px 6px 10px 2px rgba(0, 21, 51, 0.03);
border-radius: 4px;
border: none;
}
// 输入框选中样式
/deep/.el-input.is-active .el-input__inner,
/deep/.el-input__inner:focus {
box-shadow: 0px 6px 10px 2px rgba(0, 21, 51, 0.08);
border-color: none;
color: #055fe7;
}
/deep/.el-input.is-active .el-input__inner, // 去除table表格最底部边框
/deep/.el-input__inner:hover { .el-table__row > td {
box-shadow: 0px 6px 10px 2px rgba(0, 21, 51, 0.08); border: none;
border-color: none; }
}
// :focus-within能非常方便处理获取焦点状态。当元素本身或其后代元素获得焦点时,:focus-within伪类的元素就会有效著作权归作者所有。 // 去除table表格最底部边框
/deep/.el-input.is-active .el-input__inner, .el-table::before {
/deep/.el-input__inner:focus-within { height: 0px;
box-shadow: 0px 6px 10px 2px rgba(0, 21, 51, 0.08);
border-color: none;
color: #055fe7;
.el-range-input {
color: #055fe7;
} }
}
/deep/.el-input.is-active .el-input__inner, /deep/ .el-table .el-table__header-wrapper tr th {
/deep/.el-input__inner:hover { background-color: #ecf1f7 !important;
box-shadow: 0px 6px 10px 2px rgba(0, 21, 51, 0.08); font-size: 14px !important;
border-color: none; font-family: HarmonyOS_Sans_SC_Medium !important;
} color: #282f3c !important;
} height: 48px !important;
/deep/.el-input__inner:hover { padding: 0 !important;
cursor: text; }
}
@import "scss/user"; /deep/ .el-table .el-table__body tr.current-row > td {
@import "./scss/dialog_table"; background-color: transparent !important;
@import "./scss/boxShadow"; }
/deep/ .el-table .el-table__body tr:hover > td {
background-color: transparent !important;
}
/deep/ .el-table__row {
height: 48px !important;
}
/deep/ .el-table__row--level-1 {
.el-table__cell {
background-color: #f5f6f7 !important;
}
}
/deep/ .el-table th > .cell {
font-family: HarmonyOS_Sans_SC_Medium;
}
/deep/ .el-table .el-table__cell {
padding: 0 !important;
}
/deep/ .el-table__body {
width: 100% !important;
}
// el-table 左侧固定 样式统一
/deep/ .el-table__fixed {
height: 100% !important;
&::before {
height: 0;
}
}
/deep/ .el-table__fixed-header-wrapper {
height: 48px !important;
.el-table__header {
width: 100% !important;
height: 48px !important;
background-color: #ecf1f7 !important;
font-size: 0.875rem !important;
font-family: HarmonyOS_Sans_SC_Medium !important;
color: #282f3c !important;
height: 3rem !important;
padding: 0 !important;
}
thead {
font-size: 0.875rem !important;
font-family: HarmonyOS_Sans_SC_Medium !important;
color: #282f3c !important;
.cell {
font-weight: normal !important;
}
}
th {
border: none !important;
background-color: #ecf1f7 !important;
}
}
/deep/ .hover-row {
.el-table__cell {
background-color: #f2f7fe !important;
}
}
/deep/ .el-table__fixed-right {
height: 100% !important;
&::before {
height: 0;
}
}
// 批量操作
.el-tag {
color: #055fe7 !important;
height: 32px;
box-sizing: border-box !important;
padding: 0 8px !important;
background: #ddebff;
border-radius: 4px;
font-size: 0.75rem;
margin-bottom: 16px;
display: flex;
align-items: center;
}
/deep/ .el-link--inner {
color: rgb(5, 95, 231);
}
.icon-tanhao1 {
display: flex;
justify-content: center;
align-items: center;
}
// 表格高度 -- 展示下面的border
.split-line {
height: 650px;
border-bottom: 1px solid #eee;
}
// 复选框
/deep/ .el-checkbox__inner {
cursor: pointer;
}
/deep/ .el-checkbox__input {
line-height: 16px;
}
.search {
/deep/ .el-input__inner {
background: #ffffff;
box-shadow: 0px 6px 10px 2px rgba(0, 21, 51, 0.03);
border-radius: 4px;
border: none;
}
// 输入框选中样式
/deep/ .el-input.is-active .el-input__inner,
/deep/ .el-input__inner:focus {
box-shadow: 0px 6px 10px 2px rgba(0, 21, 51, 0.08);
border-color: none;
color: #055fe7;
}
/deep/ .el-input.is-active .el-input__inner,
/deep/ .el-input__inner:hover {
box-shadow: 0px 6px 10px 2px rgba(0, 21, 51, 0.08);
border-color: none;
}
// :focus-within能非常方便处理获取焦点状态。当元素本身或其后代元素获得焦点时,:focus-within伪类的元素就会有效著作权归作者所有。
/deep/ .el-input.is-active .el-input__inner,
/deep/ .el-input__inner:focus-within {
box-shadow: 0px 6px 10px 2px rgba(0, 21, 51, 0.08);
border-color: none;
color: #055fe7;
.el-range-input {
color: #055fe7;
}
}
/deep/ .el-input.is-active .el-input__inner,
/deep/ .el-input__inner:hover {
box-shadow: 0px 6px 10px 2px rgba(0, 21, 51, 0.08);
border-color: none;
}
}
/deep/ .el-input__inner:hover {
cursor: text;
}
@import "scss/user";
@import "./scss/dialog_table";
@import "./scss/boxShadow";
</style> </style>
...@@ -781,4 +781,8 @@ export default { ...@@ -781,4 +781,8 @@ export default {
} }
} }
@import "scss/userpermission.scss"; @import "scss/userpermission.scss";
.manage-page .line {
height: 2rem !important;
}
</style> </style>
...@@ -4,23 +4,28 @@ ...@@ -4,23 +4,28 @@
color: #666666 !important; color: #666666 !important;
} }
} }
width: 100%; width: 100%;
padding: 24px; padding: 24px;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
font-family: HarmonyOS_Sans_SC; font-family: HarmonyOS_Sans_SC;
div { div {
display: inline-block; display: inline-block;
} }
.is-disabled.is-checked { .is-disabled.is-checked {
.el-checkbox__inner { .el-checkbox__inner {
background-color: #b1b6c2 !important; background-color: #b1b6c2 !important;
border-color: #b1b6c2 !important; border-color: #b1b6c2 !important;
&::after { &::after {
border-color: #fff; border-color: #fff;
} }
} }
} }
.sider { .sider {
//border: #03A9F4 1px solid; //border: #03A9F4 1px solid;
//width: 240px; //width: 240px;
...@@ -28,6 +33,7 @@ ...@@ -28,6 +33,7 @@
height: 100%; height: 100%;
//margin-right: 10px; //margin-right: 10px;
text-align: center; text-align: center;
.btns { .btns {
width: 200px; width: 200px;
height: 45px; height: 45px;
...@@ -35,6 +41,7 @@ ...@@ -35,6 +41,7 @@
flex-direction: row; flex-direction: row;
padding-top: 10px; padding-top: 10px;
border-bottom: 1px solid #eeeeee; border-bottom: 1px solid #eeeeee;
.add { .add {
width: 110px; width: 110px;
height: 32px; height: 32px;
...@@ -44,15 +51,18 @@ ...@@ -44,15 +51,18 @@
border-radius: 4px; border-radius: 4px;
border: 1px solid #aeb5c2; border: 1px solid #aeb5c2;
cursor: pointer; cursor: pointer;
&:hover { &:hover {
border: #055fe7 1px solid; border: #055fe7 1px solid;
color: #055fe7; color: #055fe7;
} }
&:active { &:active {
border: #055fe7 1px solid; border: #055fe7 1px solid;
color: #055fe7; color: #055fe7;
} }
} }
.img-btn { .img-btn {
width: 32px; width: 32px;
height: 32px; height: 32px;
...@@ -64,20 +74,24 @@ ...@@ -64,20 +74,24 @@
justify-content: center; justify-content: center;
align-items: center; align-items: center;
cursor: pointer; cursor: pointer;
&:hover { &:hover {
border-color: #377fec; border-color: #377fec;
} }
> img { > img {
margin: 0 !important; margin: 0 !important;
line-height: 32px; line-height: 32px;
} }
} }
} }
.default-role { .default-role {
width: 215px; width: 215px;
height: 366px; height: 366px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
.default-role-item { .default-role-item {
width: 190px; width: 190px;
height: 40px; height: 40px;
...@@ -89,35 +103,41 @@ ...@@ -89,35 +103,41 @@
border-radius: 4px; border-radius: 4px;
margin-top: 10px; margin-top: 10px;
cursor: pointer; cursor: pointer;
&:hover { &:hover {
background: #055fe7; background: #055fe7;
color: #ffffff; color: #ffffff;
} }
&.active { &.active {
background: #055fe7; background: #055fe7;
color: #ffffff; color: #ffffff;
} }
} }
} }
.hr { .hr {
height: 1px; height: 1px;
width: 200px; width: 200px;
display: block; display: block;
background-color: #eeeeee; background-color: #eeeeee;
} }
.diy-roles { .diy-roles {
//border: saddlebrown 1px solid; //border: saddlebrown 1px solid;
width: 215px; width: 215px;
height: 420px; height: 420px;
box-sizing: border-box; box-sizing: border-box;
padding-left: 20px; padding-left: 20px;
//background: #90ff00ff;
//display: flex; //display: flex;
//flex-direction: column; //flex-direction: column;
overflow: scroll; overflow: scroll;
.diy-role-item { .diy-role-item {
float: right; float: right;
box-sizing: border-box; box-sizing: border-box;
padding-right: 40px; //padding-right: 40px;
position: relative; position: relative;
width: 190px; width: 190px;
height: 40px; height: 40px;
...@@ -127,13 +147,16 @@ ...@@ -127,13 +147,16 @@
color: #333333; color: #333333;
line-height: 40px; line-height: 40px;
margin-top: 10px; margin-top: 10px;
margin-left: -22px; //margin-right: -16px;
cursor: pointer; cursor: pointer;
overflow: hidden; overflow: hidden;
transform: translateX(-6px);
&.active { &.active {
border: 1px solid #055fe7; border: 1px solid #055fe7;
color: #055fe7; color: #055fe7;
} }
.diy-edit-title { .diy-edit-title {
width: 146px; width: 146px;
padding-left: 10px; padding-left: 10px;
...@@ -145,6 +168,7 @@ ...@@ -145,6 +168,7 @@
/*文字超出宽度则显示ellipsis省略号*/ /*文字超出宽度则显示ellipsis省略号*/
text-overflow: ellipsis; text-overflow: ellipsis;
} }
.diy-edit-btn { .diy-edit-btn {
width: 35px; width: 35px;
height: 25px; height: 25px;
...@@ -154,6 +178,7 @@ ...@@ -154,6 +178,7 @@
position: absolute; position: absolute;
right: 0; right: 0;
top: 0; top: 0;
i { i {
position: absolute; position: absolute;
top: 5px; top: 5px;
...@@ -163,6 +188,7 @@ ...@@ -163,6 +188,7 @@
color: #055FE7; color: #055FE7;
cursor: pointer; cursor: pointer;
} }
.img { .img {
width: 13px; width: 13px;
height: 14px; height: 14px;
...@@ -173,18 +199,21 @@ ...@@ -173,18 +199,21 @@
} }
} }
} }
.main { .main {
width: 100%; width: 100%;
height: 100%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
.header { .header {
height: 55px; height: 55px;
width: 100%; width: 100%;
display: flex; display: flex;
align-items: center; align-items: center;
padding-bottom: 7px; padding-bottom: 7px;
.btns { .btns {
width: 224px; width: 224px;
height: 48px; height: 48px;
...@@ -192,6 +221,7 @@ ...@@ -192,6 +221,7 @@
border-radius: 8px; border-radius: 8px;
text-align: center; text-align: center;
margin: 0px auto; margin: 0px auto;
.btn { .btn {
margin-top: 8px; margin-top: 8px;
width: 104px; width: 104px;
...@@ -199,6 +229,7 @@ ...@@ -199,6 +229,7 @@
line-height: 32px; line-height: 32px;
color: #666666; color: #666666;
cursor: pointer; cursor: pointer;
&.active { &.active {
background: #ffffff; background: #ffffff;
color: #055fe7; color: #055fe7;
...@@ -207,6 +238,7 @@ ...@@ -207,6 +238,7 @@
} }
} }
} }
.save { .save {
.btn { .btn {
width: 72px; width: 72px;
...@@ -219,6 +251,7 @@ ...@@ -219,6 +251,7 @@
} }
} }
} }
.role-info { .role-info {
width: 100%; width: 100%;
background: #ffffff; background: #ffffff;
...@@ -226,111 +259,143 @@ ...@@ -226,111 +259,143 @@
border-radius: 10px; border-radius: 10px;
display: flex; display: flex;
flex-direction: row; flex-direction: row;
.menus { .menus {
width: 155px; width: 155px;
height: 100%; height: 100%;
border-right: 1px solid #eeeeee; border-right: 1px solid #eeeeee;
.div3 { .div3 {
padding: 20px;
width: 100%; width: 100%;
height: 150px; height: 150px;
border-bottom: 1px solid #eeeeee; border-bottom: 1px solid #eeeeee;
&:first-of-type { &:first-of-type {
height: 130px; height: 130px;
} }
&:nth-of-type(2) { &:nth-of-type(2) {
height: 165px; height: 160px;
} }
.el-checkbox { .el-checkbox {
margin: 10px 20px 0 20px; margin: 0px 0px 12px 0px;
&:not(:first-of-type) {
margin-top: 20px; &:last-of-type {
margin-bottom: 0px;
} }
} }
} }
.div2 { .div2 {
padding: 20px;
width: 100%; width: 100%;
height: 85px; height: 85px;
border-bottom: 1px solid #eeeeee; border-bottom: 1px solid #eeeeee;
.el-checkbox { .el-checkbox {
margin: 12px 20px 0 20px; margin-bottom: 12px;
} }
} }
.div1 { .div1 {
padding: 20px;
width: 100%; width: 100%;
height: 68px; height: 68px;
border-bottom: 1px solid #eeeeee; border-bottom: 1px solid #eeeeee;
.el-checkbox { .el-checkbox {
margin: 22px 20px 0 20px; //margin: 22px 20px 0 20px;
margin-bottom: 12px;
} }
} }
// 未选中字体颜色 // 未选中字体颜色
/deep/ .el-checkbox { /deep/ .el-checkbox {
font-size: 14px; font-size: 14px;
color: #333333; color: #333333;
font-weight: 400; font-weight: 400;
} }
/deep/ .el-checkbox__input .el-checkbox__inner:hover { /deep/ .el-checkbox__input .el-checkbox__inner:hover {
border-color: #055fe7; border-color: #055fe7;
} }
// 选中样式 // 选中样式
/deep/.el-checkbox__input.is-checked + .el-checkbox__label { /deep/ .el-checkbox__input.is-checked + .el-checkbox__label {
font-size: 14px; font-size: 14px;
font-weight: 400; font-weight: 400;
color: #333333; color: #333333;
} }
/deep/ .el-checkbox__input.is-checked .el-checkbox__inner { /deep/ .el-checkbox__input.is-checked .el-checkbox__inner {
background: #055fe7; background: #055fe7;
border-color: #055fe7; border-color: #055fe7;
} }
} }
.content { .content {
width: 100%; width: 100%;
height: 725px; height: 725px;
.div3 { .div3 {
padding: 20px;
width: 100%; width: 100%;
height: 150px; height: 150px;
&:first-of-type { &:first-of-type {
height: 130px; height: 130px;
} }
&:nth-of-type(2) { &:nth-of-type(2) {
height: 165px; height: 160px;
} }
border-bottom: 1px solid #eeeeee; border-bottom: 1px solid #eeeeee;
padding-left: 30px; //padding-left: 30px;
padding-top: 8px; //padding-top: 8px;
.line { .line {
height: 40px; height: 32px;
width: 220px; width: 220px;
} }
} }
.div2 { .div2 {
padding: 20px;
width: 100%; width: 100%;
height: 85px; height: 85px;
border-bottom: 1px solid #eeeeee; border-bottom: 1px solid #eeeeee;
padding-left: 30px; //padding-left: 30px;
.el-checkbox {
margin: 10px 20px 0 0px; //.el-checkbox {
} // margin: 10px 20px 0 0px;
//}
.line { .line {
height: 40px; height: 32px;
width: 220px; width: 220px;
} }
} }
.div1 { .div1 {
padding: 20px;
width: 100%; width: 100%;
height: 68px; height: 68px;
border-bottom: 1px solid #eeeeee; border-bottom: 1px solid #eeeeee;
padding-left: 30px; //padding-left: 30px;
.line { .line {
height: 40px; height: 32px;
width: 220px; width: 220px;
> .el-checkbox { > .el-checkbox {
margin-left: 0 !important; margin-left: 0 !important;
} }
} }
.el-checkbox {
margin: 22px 20px 0 25px; //.el-checkbox {
} // margin: 22px 20px 0 25px;
//}
} }
// 未选中字体颜色 // 未选中字体颜色
...@@ -342,15 +407,18 @@ ...@@ -342,15 +407,18 @@
font-weight: 400; font-weight: 400;
margin-right: 50px; margin-right: 50px;
} }
/deep/ .el-checkbox__input .el-checkbox__inner:hover { /deep/ .el-checkbox__input .el-checkbox__inner:hover {
border-color: #055fe7; border-color: #055fe7;
} }
// 选中样式 // 选中样式
/deep/.el-checkbox__input.is-checked + .el-checkbox__label { /deep/ .el-checkbox__input.is-checked + .el-checkbox__label {
font-size: 14px; font-size: 14px;
font-weight: 400; font-weight: 400;
color: #333333; color: #333333;
} }
/deep/ .el-checkbox__input.is-checked .el-checkbox__inner { /deep/ .el-checkbox__input.is-checked .el-checkbox__inner {
background: #055fe7; background: #055fe7;
border-color: #055fe7; border-color: #055fe7;
...@@ -358,15 +426,19 @@ ...@@ -358,15 +426,19 @@
} }
} }
} }
.barLine { .barLine {
width: 800px !important; width: 800px !important;
} }
.barInLine { .barInLine {
width: 600px !important; width: 600px !important;
} }
.w400 { .w400 {
width: 400px !important; width: 400px !important;
} }
.w450 { .w450 {
width: 220px !important; width: 220px !important;
} }
......
...@@ -167,11 +167,12 @@ ...@@ -167,11 +167,12 @@
display: flex; display: flex;
justify-content: flex-start; justify-content: flex-start;
align-items: center; align-items: center;
margin-left: 0px;
//border: 1px solid hotpink; width: auto; //border: 1px solid hotpink; width: auto;
.info-item { .info-item {
display: flex; display: flex;
align-items: center; align-items: center;
padding: 0 20px 0 20px; padding: 0 20px 0 0px;
border-right: 1px solid #e6e6e8; border-right: 1px solid #e6e6e8;
.info-title { .info-title {
width: auto; width: auto;
...@@ -355,6 +356,7 @@ ...@@ -355,6 +356,7 @@
width: 155px; width: 155px;
border-right: 1px solid #eeeeee; border-right: 1px solid #eeeeee;
.div3 { .div3 {
padding: 20px;
width: 100%; width: 100%;
height: 165px; height: 165px;
&:first-of-type { &:first-of-type {
...@@ -365,26 +367,34 @@ ...@@ -365,26 +367,34 @@
} }
border-bottom: 1px solid #eeeeee; border-bottom: 1px solid #eeeeee;
.el-checkbox { .el-checkbox {
margin: 10px 20px 0 20px; //margin: 10px 20px 0 20px;
&:not(:first-of-type) { //&:not(:first-of-type) {
margin-top: 20px; // margin-top: 20px;
//}
margin: 0px 0px 12px 0px;
&:last-of-type {
margin-bottom: 0px;
} }
} }
} }
.div2 { .div2 {
padding: 20px;
width: 100%; width: 100%;
height: 85px; height: 85px;
border-bottom: 1px solid #eeeeee; border-bottom: 1px solid #eeeeee;
.el-checkbox { .el-checkbox {
margin: 12px 20px 0 20px; //margin: 12px 20px 0 20px;
margin-bottom: 12px;
} }
} }
.div1 { .div1 {
padding: 20px;
width: 100%; width: 100%;
height: 55px; height: 55px;
border-bottom: 1px solid #eeeeee; border-bottom: 1px solid #eeeeee;
.el-checkbox { .el-checkbox {
margin: 15px 20px 0 20px; //margin: 15px 20px 0 20px;
margin-bottom: 12px;
} }
} }
// 未选中字体颜色 // 未选中字体颜色
...@@ -410,6 +420,7 @@ ...@@ -410,6 +420,7 @@
.content { .content {
width: 100%; width: 100%;
.div3 { .div3 {
padding: 20px;
&:last-of-type { &:last-of-type {
height: 150px; height: 150px;
} }
...@@ -420,9 +431,9 @@ ...@@ -420,9 +431,9 @@
width: 100%; width: 100%;
height: 165px; height: 165px;
border-bottom: 1px solid #eeeeee; border-bottom: 1px solid #eeeeee;
padding-left: 30px; //padding-left: 30px;
padding-top: 8px; //padding-top: 8px;
.line { /deep/.line{
width: 220px; width: 220px;
height: 30px; height: 30px;
} }
...@@ -430,10 +441,11 @@ ...@@ -430,10 +441,11 @@
.div2 { .div2 {
width: 100%; width: 100%;
height: 85px; height: 85px;
padding-left: 30px; padding: 20px;
//padding-left: 30px;
border-bottom: 1px solid #eeeeee; border-bottom: 1px solid #eeeeee;
.el-checkbox { .el-checkbox {
margin: 10px 20px 0 25px; //margin: 10px 20px 0 25px;
} }
.line /deep/ { .line /deep/ {
width: 220px; width: 220px;
...@@ -444,12 +456,13 @@ ...@@ -444,12 +456,13 @@
} }
} }
.div1 { .div1 {
padding: 20px;
width: 100%; width: 100%;
height: 55px; height: 55px;
padding-left: 30px; //padding-left: 30px;
border-bottom: 1px solid #eeeeee; border-bottom: 1px solid #eeeeee;
.el-checkbox { .el-checkbox {
margin: 15px 20px 0 25px; //margin: 15px 20px 0 25px;
} }
.line /deep/ { .line /deep/ {
width: 220px; width: 220px;
......
...@@ -132,7 +132,7 @@ export default { ...@@ -132,7 +132,7 @@ export default {
logTimeStart: '', // 开始时间 logTimeStart: '', // 开始时间
logTimeEnd: '',// 结束时间 logTimeEnd: '',// 结束时间
pageSize: 10,// 显示条数 pageSize: 10,// 显示条数
currPage: 1,// 当前页码 currPage: 1,// 当前页码
total: 0,// 总数 total: 0,// 总数
}, },
startEndDate: null, // 查询时间 startEndDate: null, // 查询时间
...@@ -302,4 +302,13 @@ export default { ...@@ -302,4 +302,13 @@ export default {
} }
} }
@import "@/assets/css/globalBase.scss"; @import "@/assets/css/globalBase.scss";
</style> </style>
\ No newline at end of file <style scoped lang="scss">
/deep/ .el-table .el-table__body tr.current-row > td {
background-color: transparent !important;
}
/deep/ .el-table .el-table__body tr:hover > td {
background-color: transparent !important;
}
</style>
...@@ -20,10 +20,10 @@ ...@@ -20,10 +20,10 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="源条码号:" prop="ytmh" class="ytmh"> <el-form-item label="源条码号:" prop="ytmh" class="ytmh">
<el-input placeholder="请输入源条码号" v-model.trim="ruleForm.ytmh" maxlength="23" clearable @clear="submitForm()" @keydown.enter.native="submitForm()"></el-input> <el-input placeholder="请输入源条码号" v-model.trim="ruleForm.ytmh" maxlength="23" clearable show-word-limit @clear="submitForm()" @keydown.enter.native="submitForm()"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="目标条码号:" prop="mbtmh" class="mbtmh"> <el-form-item label="目标条码号:" prop="mbtmh" class="mbtmh">
<el-input placeholder="请输入目标条码号" v-model.trim="ruleForm.mbtmh" maxlength="23" clearable @clear="submitForm()" @keydown.enter.native="submitForm()"></el-input> <el-input placeholder="请输入目标条码号" v-model.trim="ruleForm.mbtmh" maxlength="23" clearable show-word-limit @clear="submitForm()" @keydown.enter.native="submitForm()"></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div class="line1 line2"> <div class="line1 line2">
...@@ -91,23 +91,23 @@ ...@@ -91,23 +91,23 @@
<el-table :height="height" ref="multipleTable" :data="tableDate" :row-key="getRowKeys" tooltip-effect="dark" style="width: 100%;" :class="{delSelection: !selectBoo}" class="bzxxfh-table" @selection-change="handleSelectionChange"> <el-table :height="height" ref="multipleTable" :data="tableDate" :row-key="getRowKeys" tooltip-effect="dark" style="width: 100%;" :class="{delSelection: !selectBoo}" class="bzxxfh-table" @selection-change="handleSelectionChange">
<el-table-column type="selection" :reserve-selection="true" :width="width33"> <el-table-column type="selection" :reserve-selection="true" :width="width33">
</el-table-column> </el-table-column>
<el-table-column prop="ytmh" label="源条码号" :width="width1"> <el-table-column prop="ytmh" label="源条码号" :width="width1" :formatter="$fFormatUtil.valueFormat">
</el-table-column> </el-table-column>
<el-table-column prop="mbtmh" label="目标条码号" :width="width1"> <el-table-column prop="mbtmh" label="目标条码号" :width="width1" :formatter="$fFormatUtil.valueFormat">
</el-table-column> </el-table-column>
<el-table-column prop="yzw" label="源指位/序号" :width="width4"> <el-table-column prop="yzw" label="源指位/序号" :width="width4" :formatter="$fFormatUtil.valueFormat">
</el-table-column> </el-table-column>
<el-table-column prop="mbzw" label="目标指位/序号" :width="width4"> <el-table-column prop="mbzw" label="目标指位/序号" :width="width4" :formatter="$fFormatUtil.valueFormat">
</el-table-column> </el-table-column>
<el-table-column prop="bzdwGajgjgdmStr" label="比中单位" :width="width2"> <el-table-column prop="bzdwGajgjgdmStr" label="比中单位" :width="width2" :formatter="$fFormatUtil.valueFormat">
</el-table-column> </el-table-column>
<el-table-column prop="bzrXm" label="比中人" :width="width3"> <el-table-column prop="bzrXm" label="比中人" :width="width3" :formatter="$fFormatUtil.valueFormat">
</el-table-column> </el-table-column>
<el-table-column prop="bzsj" label="比中时间" :width="width4" :formatter="dateTimeFormat"> <el-table-column prop="bzsj" label="比中时间" :width="width4" :formatter="$fFormatUtil.dateTimeFormat">
</el-table-column> </el-table-column>
<el-table-column prop="fhrXm" label="复核人" :width="width3"> <el-table-column prop="fhrXm" label="复核人" :width="width3" :formatter="$fFormatUtil.valueFormat">
</el-table-column> </el-table-column>
<el-table-column prop="fhsj" label="复核时间" :width="width4" :formatter="dateTimeFormat"> <el-table-column prop="fhsj" label="复核时间" :width="width4" :formatter="$fFormatUtil.dateTimeFormat">
</el-table-column> </el-table-column>
<el-table-column prop="reviewStatus" label="复核状态" :width="width5"> <el-table-column prop="reviewStatus" label="复核状态" :width="width5">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -198,7 +198,6 @@ export default { ...@@ -198,7 +198,6 @@ export default {
personLogicIds: [], personLogicIds: [],
caseLogicIds: [] caseLogicIds: []
}, },
rules: {},
selectBoo: false,// 是否批量操作 selectBoo: false,// 是否批量操作
width33: 50, width33: 50,
width4: 120, width4: 120,
...@@ -234,7 +233,25 @@ export default { ...@@ -234,7 +233,25 @@ export default {
// 人员逻辑库 // 人员逻辑库
personLogicIds: [], personLogicIds: [],
// 案件逻辑库 // 案件逻辑库
caseLogicIds: [] caseLogicIds: [],
rules: {
ytmh: [
{required: false, message: '请输入条码号', trigger: 'change'},
{
pattern: fRegExp.SYS._TMH,
message: '格式不正确',
trigger: 'change'
}
],
mbtmh: [
{required: false, message: '请输入条码号', trigger: 'change'},
{
pattern: fRegExp.SYS._TMH,
message: '格式不正确',
trigger: 'change'
}
],
}
} }
}, },
components: { components: {
...@@ -542,11 +559,6 @@ export default { ...@@ -542,11 +559,6 @@ export default {
this.currPage = page; this.currPage = page;
this.getData(page) this.getData(page)
}, },
// 时间格式化
dateTimeFormat (row, colnum) {
let prop = colnum.property;
return row[prop] ? this.$moment(row[prop]).format("YYYY-MM-DD") : "---";
},
/** /**
* @description: 单选事件 * @description: 单选事件
* @param {*} val * @param {*} val
...@@ -643,3 +655,12 @@ export default { ...@@ -643,3 +655,12 @@ export default {
padding-left: 20px; padding-left: 20px;
} }
</style> </style>
<style scoped lang="scss">
/deep/ .el-table .el-table__body tr.current-row > td {
background-color: transparent !important;
}
/deep/ .el-table .el-table__body tr:hover > td {
background-color: transparent !important;
}
</style>
...@@ -961,3 +961,12 @@ const initRuleFrom = { ...@@ -961,3 +961,12 @@ const initRuleFrom = {
} }
</style> </style>
<style scoped lang="scss">
/deep/ .el-table .el-table__body tr.current-row > td {
background-color: transparent !important;
}
/deep/ .el-table .el-table__body tr:hover > td {
background-color: transparent !important;
}
</style>
...@@ -14,13 +14,12 @@ $tableHeight: var(--tableHeight, 33rem); ...@@ -14,13 +14,12 @@ $tableHeight: var(--tableHeight, 33rem);
} }
} }
.bzxxfh-top { .bzxxfh-top {
margin: 24px 24px 16px 24px; margin: 24px 20px 16px 24px;
//border-bottom: 1px solid #eeeeee; //border-bottom: 1px solid #eeeeee;
padding: 16px 20px 10px 20px; padding: 16px 0px 8px 20px;
background: #F6F8FA; background: #F6F8FA;
box-shadow: inset 0px 0px 3px 0px rgba(5, 95, 231, 0.2); box-shadow: inset 0px 0px 3px 0px rgba(5, 95, 231, 0.2);
border-radius: 10px; border-radius: 10px;
/deep/.el-form-item__label { /deep/.el-form-item__label {
width: 70px !important; width: 70px !important;
padding: 0; padding: 0;
...@@ -72,11 +71,11 @@ $tableHeight: var(--tableHeight, 33rem); ...@@ -72,11 +71,11 @@ $tableHeight: var(--tableHeight, 33rem);
} }
.ytmh { .ytmh {
/deep/ .el-input { /deep/ .el-input {
width: 256px; width: 290px;
height: 32px; height: 32px;
.el-input__inner { .el-input__inner {
height: 32px; height: 32px;
width: 256px; width: 290px;
} }
} }
} }
...@@ -89,11 +88,11 @@ $tableHeight: var(--tableHeight, 33rem); ...@@ -89,11 +88,11 @@ $tableHeight: var(--tableHeight, 33rem);
margin-left: 90px !important; margin-left: 90px !important;
} }
/deep/ .el-input { /deep/ .el-input {
width: 256px; width: 290px;
height: 32px; height: 32px;
.el-input__inner { .el-input__inner {
height: 32px; height: 32px;
width: 256px; width: 290px;
} }
} }
} }
...@@ -114,6 +113,13 @@ $tableHeight: var(--tableHeight, 33rem); ...@@ -114,6 +113,13 @@ $tableHeight: var(--tableHeight, 33rem);
/deep/.el-form-item__label { /deep/.el-form-item__label {
text-align: left; text-align: left;
} }
.rdsj{
.el-input__inner {
height: 32px;
width: 290px;
margin-top: 2px;
}
}
} }
.line3 { .line3 {
.fhyh { .fhyh {
...@@ -155,6 +161,7 @@ $tableHeight: var(--tableHeight, 33rem); ...@@ -155,6 +161,7 @@ $tableHeight: var(--tableHeight, 33rem);
} }
} }
.clear-btn { .clear-btn {
transform: translateX(20px);
cursor: pointer; cursor: pointer;
font-size: 14px; font-size: 14px;
font-family: HarmonyOS_Sans_SC; font-family: HarmonyOS_Sans_SC;
...@@ -162,6 +169,7 @@ $tableHeight: var(--tableHeight, 33rem); ...@@ -162,6 +169,7 @@ $tableHeight: var(--tableHeight, 33rem);
margin-right: 8px; margin-right: 8px;
} }
.select-btn { .select-btn {
transform: translateX(20px);
cursor: pointer; cursor: pointer;
width: 72px; width: 72px;
height: 32px; height: 32px;
...@@ -499,6 +507,12 @@ $tableHeight: var(--tableHeight, 33rem); ...@@ -499,6 +507,12 @@ $tableHeight: var(--tableHeight, 33rem);
} }
} }
} }
/deep/.el-form-item__error {
padding-top: 0rem;
margin-top: 0rem;
}
.jcbzgx-dialog { .jcbzgx-dialog {
width: 300px; width: 300px;
height: 118px; height: 118px;
......
...@@ -2407,3 +2407,12 @@ b { ...@@ -2407,3 +2407,12 @@ b {
padding-left: 20px; padding-left: 20px;
} }
</style> </style>
<style scoped lang="scss">
/deep/ .el-table .el-table__body tr.current-row > td {
background-color: transparent !important;
}
/deep/ .el-table .el-table__body tr:hover > td {
background-color: transparent !important;
}
</style>
...@@ -1961,3 +1961,12 @@ export default { ...@@ -1961,3 +1961,12 @@ export default {
// @import "@/assets/css/globalBase.scss"; // @import "@/assets/css/globalBase.scss";
</style> </style>
<style scoped lang="scss">
/deep/ .el-table .el-table__body tr.current-row > td {
background-color: transparent !important;
}
/deep/ .el-table .el-table__body tr:hover > td {
background-color: transparent !important;
}
</style>
...@@ -2440,4 +2440,13 @@ export default { ...@@ -2440,4 +2440,13 @@ export default {
} }
// @import "@/assets/css/globalBase.scss"; // @import "@/assets/css/globalBase.scss";
</style> </style>
<style scoped lang="scss">
/deep/ .el-table .el-table__body tr.current-row > td {
background-color: transparent !important;
}
/deep/ .el-table .el-table__body tr:hover > td {
background-color: transparent !important;
}
</style>
...@@ -186,7 +186,7 @@ export default { ...@@ -186,7 +186,7 @@ export default {
width4: 136, //启用状态 width4: 136, //启用状态
width5: 260, //逻辑库说明 width5: 260, //逻辑库说明
width6: 120, // 操作 width6: 120, // 操作
height: '42rem', height: '43rem',
tableDate: [], tableDate: [],
...@@ -569,3 +569,12 @@ export default { ...@@ -569,3 +569,12 @@ export default {
@import "scss/xtfkgl_main"; @import "scss/xtfkgl_main";
</style> </style>
<style scoped lang="scss">
/deep/ .el-table .el-table__body tr.current-row > td {
background-color: transparent !important;
}
/deep/ .el-table .el-table__body tr:hover > td {
background-color: transparent !important;
}
</style>
...@@ -191,7 +191,7 @@ export default { ...@@ -191,7 +191,7 @@ export default {
width4: 136, //启用状态 width4: 136, //启用状态
width5: 260, //逻辑库说明 width5: 260, //逻辑库说明
width6: 120, // 操作 width6: 120, // 操作
height: '42rem', height: '43rem',
tableDate: [], tableDate: [],
...@@ -574,3 +574,12 @@ export default { ...@@ -574,3 +574,12 @@ export default {
@import "scss/xtfkgl_main"; @import "scss/xtfkgl_main";
</style> </style>
<style scoped lang="scss">
/deep/ .el-table .el-table__body tr.current-row > td {
background-color: transparent !important;
}
/deep/ .el-table .el-table__body tr:hover > td {
background-color: transparent !important;
}
</style>
...@@ -160,6 +160,7 @@ ...@@ -160,6 +160,7 @@
prop="barcode" prop="barcode"
label="人员编号" label="人员编号"
:width="width1" :width="width1"
:formatter="$fFormatUtil.valueFormat"
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
...@@ -167,12 +168,14 @@ ...@@ -167,12 +168,14 @@
prop="name" prop="name"
label="姓名" label="姓名"
:width="width4" :width="width4"
:formatter="$fFormatUtil.valueFormat"
show-overflow-tooltip show-overflow-tooltip
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="codeDwName" prop="codeDwName"
label="捺印单位" label="捺印单位"
:formatter="$fFormatUtil.valueFormat"
:width="width1" :width="width1"
show-overflow-tooltip show-overflow-tooltip
> >
...@@ -180,12 +183,14 @@ ...@@ -180,12 +183,14 @@
<el-table-column <el-table-column
prop="collectDate" prop="collectDate"
label="捺印日期" label="捺印日期"
:width="width1" :formatter="$fFormatUtil.dateTimeFormat"
:width="width4"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
label="分配时间" label="分配时间"
:formatter="$fFormatUtil.dateTimeFormat1"
:width="width1" :width="width1"
> >
</el-table-column> </el-table-column>
...@@ -222,6 +227,7 @@ ...@@ -222,6 +227,7 @@
<el-table-column <el-table-column
prop="collectNumber" prop="collectNumber"
label="补采次数" label="补采次数"
:formatter="$fFormatUtil.valueFormat0"
:width="width4" :width="width4"
> >
</el-table-column> </el-table-column>
...@@ -341,7 +347,7 @@ export default { ...@@ -341,7 +347,7 @@ export default {
selectBoo: false, // 是否批量操作 selectBoo: false, // 是否批量操作
multipleSelection: [], // 表单选择项目 multipleSelection: [], // 表单选择项目
width33: 50, width33: 50,
width4: 120, width4: 140,
width1: 220, width1: 220,
width2: 160, width2: 160,
width3: 110, width3: 110,
...@@ -962,4 +968,13 @@ $tableHeight: var(--tableHeight, 33rem); ...@@ -962,4 +968,13 @@ $tableHeight: var(--tableHeight, 33rem);
right: 0; right: 0;
} }
@import "@/assets/css/globalBase.scss"; @import "@/assets/css/globalBase.scss";
</style> </style>
\ No newline at end of file <style scoped lang="scss">
/deep/ .el-table .el-table__body tr.current-row > td {
background-color: transparent !important;
}
/deep/ .el-table .el-table__body tr:hover > td {
background-color: transparent !important;
}
</style>
...@@ -458,7 +458,7 @@ export default { ...@@ -458,7 +458,7 @@ export default {
}; };
</script> </script>
<style lang="scss"scoped> <style scoped lang="scss">
.p1 { .p1 {
padding-top: 109px; padding-top: 109px;
} }
...@@ -499,21 +499,21 @@ export default { ...@@ -499,21 +499,21 @@ export default {
border: none; border: none;
} }
/deep/.el-radio-button__orig-radio:checked + .el-radio-button__inner { /deep/.el-radio-button__orig-radio:checked + .el-radio-button__inner {
width: 129px; width: 130px;
height: 32px; height: 32px;
background: #ddebff; background: #ddebff;
border-radius: 2px; border-radius: 2px;
font-size: 14px; font-size: 14px;
font-family: HarmonyOS_Sans_SC; font-family: HarmonyOS_Sans_SC;
background-color: #055fe7; background-color: #DDEBFF;
color: #fff; color: #055FE7;
border: none; border: none;
&:hover { &:hover {
background: #377fec; /*background: #377fec;*/
}
&:active {
background: #044cb9;
} }
/*&:active {*/
/* background: #044cb9;*/
/*}*/
} }
} }
.headRight { .headRight {
...@@ -619,4 +619,4 @@ export default { ...@@ -619,4 +619,4 @@ export default {
} }
} }
} }
</style> </style>
\ No newline at end of file
...@@ -524,7 +524,7 @@ ...@@ -524,7 +524,7 @@
<style> <style>
.el-message-box { .el-message-box {
width: 400px; width: 400px;
height: 200px; height: 200px;
} }
.el-message-box__header { .el-message-box__header {
font-size: 16px; font-size: 16px;
...@@ -538,4 +538,13 @@ ...@@ -538,4 +538,13 @@
justify-content: center; justify-content: center;
color: #333333; color: #333333;
} }
</style> </style>
\ No newline at end of file <style scoped lang="scss">
/deep/ .el-table .el-table__body tr.current-row > td {
background-color: transparent !important;
}
/deep/ .el-table .el-table__body tr:hover > td {
background-color: transparent !important;
}
</style>
...@@ -101,7 +101,7 @@ ...@@ -101,7 +101,7 @@
} }
// .inputBh { // .inputBh {
// /deep/.el-input-group__prepend { // /deep/.el-input-group__prepend {
// width: 24px !important; // width: 24px !important;
// height: 24px !important; // height: 24px !important;
...@@ -164,6 +164,7 @@ ...@@ -164,6 +164,7 @@
/deep/.flexBox { /deep/.flexBox {
display: flex; display: flex;
margin: 0px 18px;
.el-checkbox { .el-checkbox {
margin-right: 24px; margin-right: 24px;
...@@ -375,5 +376,5 @@ ...@@ -375,5 +376,5 @@
// } // }
// /deep/.el-message-box__btns .el-button:nth-child(1){ // /deep/.el-message-box__btns .el-button:nth-child(1){
// } // }
...@@ -149,7 +149,7 @@ ...@@ -149,7 +149,7 @@
<div>人员逻辑分库</div> <div>人员逻辑分库</div>
</el-row> </el-row>
<el-row class="flexBox"> <el-row class="flexBox">
<div style="margin: 0.9375rem 0"></div> <div style="margin: 0.9375rem 0;"></div>
<el-checkbox-group v-model="checkedTargets" style="padding-right: 6.875rem"> <el-checkbox-group v-model="checkedTargets" style="padding-right: 6.875rem">
<el-checkbox v-for="(value, key) in targets" :key="key" :label="value.code">{{ value.name }}</el-checkbox> <el-checkbox v-for="(value, key) in targets" :key="key" :label="value.code">{{ value.name }}</el-checkbox>
</el-checkbox-group> </el-checkbox-group>
...@@ -730,4 +730,4 @@ ...@@ -730,4 +730,4 @@
<style lang="scss" scoped> <style lang="scss" scoped>
@import "./xzry.scss"; @import "./xzry.scss";
</style> </style>
\ No newline at end of file
...@@ -113,13 +113,13 @@ module.exports = { ...@@ -113,13 +113,13 @@ module.exports = {
// target: "http://192.168.128.108:8099/", // 张 认定 // target: "http://192.168.128.108:8099/", // 张 认定
// target: "http://192.168.128.101:8099", // 湖南-马 // target: "http://192.168.128.101:8099", // 湖南-马
// target: "http://192.168.128.116:8099", // 湖南-王 // target: "http://192.168.128.116:8099", // 湖南-王
target: "http://192.168.128.111:8099", // 湖南-张呈光 // target: "http://192.168.128.111:8099", // 湖南-张呈光
// target: "http://172.18.116.73:8099/", //统一的请求头部每次修改都要重启才会生效 http://39.99.224.27:8006/ ma // target: "http://172.18.116.73:8099/", //统一的请求头部每次修改都要重启才会生效 http://39.99.224.27:8006/ ma
// target: "http://127.0.0.1:8099", // target: "http://127.0.0.1:8099",
// target: "http://47.92.225.109:5602", // target: "http://47.92.225.109:5602",
// target: "http://www.meetfood.cn:2390", // 湖南-线上 // target: "http://www.meetfood.cn:2390", // 湖南-线上
// target: "http://zwpt.xzclub.top:9333/", target: "http://zwpt.xzclub.top:9333/",
// target: "http://192.168.128.102:8099", // 江 // target: "http://192.168.128.103:8099", // 江
ws: true, ws: true,
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
...@@ -129,9 +129,9 @@ module.exports = { ...@@ -129,9 +129,9 @@ module.exports = {
"/security": { "/security": {
// target: "http://192.168.128.106:8765", // 湖南-王 // target: "http://192.168.128.106:8765", // 湖南-王
target: "http://192.168.128.111:8765/", // 张 认定 // target: "http://192.168.128.111:8765/", // 张 认定
// target: "http://www.meetfood.cn:2390", // 湖南-王 // target: "http://www.meetfood.cn:2390", // 湖南-王
// target: "http://zwpt.xzclub.top:9333/", target: "http://zwpt.xzclub.top:9333/",
// target: "http://192.168.128.109:8765", // target: "http://192.168.128.109:8765",
ws: true, ws: true,
changeOrigin: true, changeOrigin: true,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment