Merge remote-tracking branch 'origin/feature-ui-fix'
# Conflicts: # jero-web/src/views/modules/message/SysMessageList.vue # jero-web/src/views/modules/message/SysMessageTemplateList.vue # jero-web/src/views/system/DepartList.vue # jero-web/src/views/system/DepartListSync.vue # jero-web/src/views/system/DictList.vue # jero-web/src/views/system/QuartzJobList.vue # jero-web/src/views/system/SysCategoryList.vue # jero-web/src/views/system/SysCheckRuleList.vue # jero-web/src/views/system/SysDataSourceList.vue # jero-web/src/views/system/SysFillRuleList.vue # jero-web/src/views/system/UserList.vue # jero-web/src/views/system/modules/PasswordModal.vue # jero-web/src/views/system/modules/UserModal.vue # jero-web/src/views/system/modules/UserRoleModal.vue
This commit is contained in:
@@ -33,8 +33,11 @@ export default {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped lang="less">
|
||||
<style lang="less">
|
||||
#app {
|
||||
height: 100%;
|
||||
}
|
||||
.ant-table-middle > .ant-table-content > .ant-table-header > table > .ant-table-thead > tr > th, .ant-table-middle > .ant-table-content > .ant-table-body > table > .ant-table-thead > tr > th, .ant-table-middle > .ant-table-content > .ant-table-scroll > .ant-table-header > table > .ant-table-thead > tr > th, .ant-table-middle > .ant-table-content > .ant-table-scroll > .ant-table-body > table > .ant-table-thead > tr > th, .ant-table-middle > .ant-table-content > .ant-table-fixed-left > .ant-table-header > table > .ant-table-thead > tr > th, .ant-table-middle > .ant-table-content > .ant-table-fixed-right > .ant-table-header > table > .ant-table-thead > tr > th, .ant-table-middle > .ant-table-content > .ant-table-fixed-left > .ant-table-body-outer > .ant-table-body-inner > table > .ant-table-thead > tr > th, .ant-table-middle > .ant-table-content > .ant-table-fixed-right > .ant-table-body-outer > .ant-table-body-inner > table > .ant-table-thead > tr > th, .ant-table-middle > .ant-table-content > .ant-table-header > table > .ant-table-tbody > tr > td, .ant-table-middle > .ant-table-content > .ant-table-body > table > .ant-table-tbody > tr > td, .ant-table-middle > .ant-table-content > .ant-table-scroll > .ant-table-header > table > .ant-table-tbody > tr > td, .ant-table-middle > .ant-table-content > .ant-table-scroll > .ant-table-body > table > .ant-table-tbody > tr > td, .ant-table-middle > .ant-table-content > .ant-table-fixed-left > .ant-table-header > table > .ant-table-tbody > tr > td, .ant-table-middle > .ant-table-content > .ant-table-fixed-right > .ant-table-header > table > .ant-table-tbody > tr > td, .ant-table-middle > .ant-table-content > .ant-table-fixed-left > .ant-table-body-outer > .ant-table-body-inner > table > .ant-table-tbody > tr > td, .ant-table-middle > .ant-table-content > .ant-table-fixed-right > .ant-table-body-outer > .ant-table-body-inner > table > .ant-table-tbody > tr > td {
|
||||
padding: 9px 8px !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -181,6 +181,7 @@ export function uploadAction (url, parameter) {
|
||||
* @returns {*}
|
||||
*/
|
||||
export function getFileAccessHttpUrl (avatar, subStr) {
|
||||
|
||||
if (!subStr) subStr = 'http'
|
||||
try {
|
||||
if (avatar && avatar.startsWith(subStr)) {
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 92 KiB |
@@ -1,7 +1,7 @@
|
||||
|
||||
/*列表上方操作按钮区域*/
|
||||
.ant-card-body .table-operator {
|
||||
margin-bottom: 8px;
|
||||
//margin-bottom: 8px;
|
||||
}
|
||||
/** Button按钮间距 */
|
||||
.table-operator .ant-btn {
|
||||
@@ -12,7 +12,7 @@
|
||||
}
|
||||
|
||||
.table-operator .ant-btn-group .ant-btn:last-child {
|
||||
margin: 0 8px 8px 0;
|
||||
margin: 0 8px 0px 0;
|
||||
}
|
||||
/*列表td的padding设置 可以控制列表大小*/
|
||||
.ant-table-tbody .ant-table-row td {
|
||||
@@ -38,8 +38,16 @@
|
||||
}
|
||||
/*列表中有图片的加这个样式 参考用户管理*/
|
||||
.anty-img-wrap {
|
||||
height: 25px;
|
||||
height: 20px;
|
||||
position: relative;
|
||||
.ant-avatar.ant-avatar-icon {
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
}
|
||||
.ant-avatar{
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
}
|
||||
.anty-img-wrap > img {
|
||||
max-height: 100%;
|
||||
@@ -58,4 +66,19 @@
|
||||
}
|
||||
|
||||
/**隐藏样式-modal确定按钮 */
|
||||
.jee-hidden{display: none}
|
||||
.jee-hidden{display: none}
|
||||
|
||||
.ant-col-md-6{
|
||||
padding-left: 18px !important;
|
||||
padding-right: 18px !important;
|
||||
|
||||
}
|
||||
.table-page-search-wrapper .ant-form-inline .ant-form-item{
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
.ant-card-body .table-operator{
|
||||
margin-bottom: 4px !important;
|
||||
}
|
||||
.ant-tabs-bar {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
@@ -26,3 +26,7 @@ i {
|
||||
background-color: rgba(255, 192, 203, 0.31);
|
||||
color:red;
|
||||
}
|
||||
|
||||
.ant-table-middle > .ant-table-content > .ant-table-body > table > .ant-table-tbody > tr > td {
|
||||
padding: 9px 8px !important;
|
||||
}
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 576 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 192 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 1.3 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.3 KiB |
@@ -73,7 +73,7 @@ export default {
|
||||
formData.append('file', blobInfo.blob(), blobInfo.filename())
|
||||
formData.append('biz', 'jeditor')
|
||||
formData.append('jeditor', '1')
|
||||
uploadAction(window._CONFIG.domianURL + '/sys/common/upload', formData).then((res) => {
|
||||
uploadAction('/sys/common/upload', formData).then((res) => {
|
||||
if (res.success) {
|
||||
if (res.message === 'local') {
|
||||
const img = 'data:image/jpeg;base64,' + blobInfo.base64()
|
||||
@@ -84,6 +84,28 @@ export default {
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
paste_postprocess: function(plugin, args) {
|
||||
console.log(args.node,"kkkkkk");
|
||||
args.node.setAttribute('id', 'hello');
|
||||
},
|
||||
init_instance_callback: editor => {
|
||||
if (this.value) {
|
||||
editor.setContent(this.value)
|
||||
}
|
||||
this.hasInit = true
|
||||
|
||||
editor.on('NodeChange Change KeyUp SetContent', () => {
|
||||
this.hasChange = true
|
||||
// const val = editor.getContent().replace(/<p><img\s?src="data.*?<\/p>/g, '')
|
||||
this.$emit('input', editor.getContent())
|
||||
})
|
||||
|
||||
editor.on('paste', evt => {
|
||||
// 监听粘贴事件
|
||||
console.log('监听粘贴事件', evt)
|
||||
this.onPaste(evt)
|
||||
})
|
||||
}
|
||||
},
|
||||
myValue: this.value,
|
||||
@@ -94,7 +116,64 @@ export default {
|
||||
this.initATabsChangeAutoReload()
|
||||
},
|
||||
methods: {
|
||||
onPaste(event, success, failure) {
|
||||
// let _this = this
|
||||
let self = this
|
||||
|
||||
// 实现图⽚粘贴上传
|
||||
const items = (event.clipboardData || window.clipboardData).items
|
||||
// items为伪数组微信/QQ截图以及此富⽂本区域内复制粘贴的length为1,⿏标右键复制粘贴图⽚以及⽂本的复制粘贴的length为2
|
||||
let len = items.length
|
||||
for (let i = 0; i < len; i++) {
|
||||
if (items[i].kind == "file" && items[i].type.indexOf("image") != -1) {
|
||||
// 判断是否为图⽚类型
|
||||
event.preventDefault() // 如果是图⽚阻⽌⾃动粘贴到富⽂本编辑器
|
||||
let file = items[i].getAsFile() // 获取⽂件数据
|
||||
let blob = new Blob([file], { type: file.type }) //实例化⼀个blob 将图⽚⼤⼩以及类型初始化到blob⾥
|
||||
// let index = file.name.lastIndexOf(".")
|
||||
// let fileName =
|
||||
// Date.now() + file.name.substring(index, file.name.length)
|
||||
// fileName --- 图⽚名称可⾃⾏处理
|
||||
console.log("粘贴的是图⽚类型", blob, file)
|
||||
// let file = blobInfo.blob()
|
||||
const isLt2M = file.size / 1024 < 500
|
||||
if (!isLt2M) {
|
||||
this.$message.warning("上传失败,图片不可超过500KB!")
|
||||
return false
|
||||
}
|
||||
const formdate = new FormData()
|
||||
formdate.append("file", file) //imageFile文件名和后端统一
|
||||
uploadAction('/sys/common/upload', formdate).then((res) => {
|
||||
debugger
|
||||
if (res.success) {
|
||||
if (res.message === 'local') {
|
||||
const img = 'data:image/jpeg;base64,' + blob.base64()
|
||||
editor.execCommand(
|
||||
"mceReplaceContent",
|
||||
false,
|
||||
`<img class="wscnph" src="${img}" >`
|
||||
);
|
||||
} else {
|
||||
const img = getFileAccessHttpUrl(res.message)
|
||||
editor.execCommand(
|
||||
"mceReplaceContent",
|
||||
false,
|
||||
`<img class="wscnph" src="${img}" >`
|
||||
);
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
.catch(function(err) {
|
||||
// 上传错误可⾃⾏给出提⽰
|
||||
self.$message.error(err)
|
||||
})
|
||||
} else {
|
||||
// 不是图⽚类型直接粘贴, 跳过oss上传处理
|
||||
console.log("粘贴的不是图⽚")
|
||||
}
|
||||
}
|
||||
},
|
||||
reload () {
|
||||
this.reloading = true
|
||||
this.$nextTick(() => {
|
||||
|
||||
@@ -172,9 +172,15 @@ export default {
|
||||
}
|
||||
return file
|
||||
})
|
||||
} else {
|
||||
// this.handleDelete(info.file)
|
||||
this.fileList = []
|
||||
this.$message.error(`上传失败`)
|
||||
return
|
||||
}
|
||||
// this.$message.success(`${info.file.name} 上传成功!`);
|
||||
} else if (info.file.status === 'error') {
|
||||
|
||||
this.$message.error(`${info.file.name} 上传失败.`)
|
||||
} else if (info.file.status === 'removed') {
|
||||
this.handleDelete(info.file)
|
||||
|
||||
@@ -206,7 +206,9 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ant-modal-body{
|
||||
height:500px !important;
|
||||
}
|
||||
.j-modal-title-row {
|
||||
.left {
|
||||
width: calc(100% - 56px - 56px);
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<a-button v-if="izMobile" type="primary" icon="delete" @click="handleReset"/>
|
||||
</a-button-group>
|
||||
</a-tooltip>
|
||||
<a-button v-else type="primary" icon="filter" @click="handleOpen">高级查询</a-button>
|
||||
<a-button v-else type="default" icon="filter" @click="handleOpen">高级查询</a-button>
|
||||
</slot>
|
||||
|
||||
<j-modal
|
||||
|
||||
@@ -28,12 +28,13 @@
|
||||
|
||||
<a-col :md="8" :sm="8">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchByquery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a @click="handleToggleSearch" style="margin-left: 8px">
|
||||
<a @click="handleToggleSearch" style="margin-right: 28px">
|
||||
{{ toggleSearchStatus ? '收起' : '展开' }}
|
||||
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
|
||||
</a>
|
||||
<a-button type="primary" @click="searchByquery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" class="resetBtn">重置</a-button>
|
||||
|
||||
</span>
|
||||
</a-col>
|
||||
|
||||
@@ -42,9 +43,9 @@
|
||||
</div>
|
||||
|
||||
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
||||
<i class="anticon anticon-info-circle ant-alert-icon"></i>
|
||||
已选择 <a style="font-weight: 600">{{ table.selectedRowKeys.length }}</a>项
|
||||
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
|
||||
<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i>-->
|
||||
<!-- 已选择 <a style="font-weight: 600">{{ table.selectedRowKeys.length }}</a>项 -->
|
||||
<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
|
||||
|
||||
<a v-if="!showSearchFlag" style="margin-left: 24px" @click="onlyReload">刷新</a>
|
||||
</div>
|
||||
|
||||
@@ -20,12 +20,12 @@
|
||||
<!-- 动态生成的查询条件 -->
|
||||
<j-select-biz-query-item v-if="queryConfig.length>0" v-show="showMoreQueryItems" :queryParam="queryParam" :queryConfig="queryConfig" @pressEnter="searchQuery"/>
|
||||
<!-- 按钮 -->
|
||||
<a-button :style="{marginBottom:'12px'}" type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button :style="{marginBottom:'12px'}" type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a v-if="queryConfig.length>0" @click="showMoreQueryItems=!showMoreQueryItems" style="margin-left: 8px">
|
||||
{{ showMoreQueryItems ? '收起' : '展开' }}
|
||||
<a-icon :type="showMoreQueryItems ? 'up' : 'down'"/>
|
||||
<a @click="handleToggleSearch" style="margin-right: 28px">
|
||||
{{ toggleSearchStatus ? '收起' : '展开' }}
|
||||
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
|
||||
</a>
|
||||
<a-button :style="{marginBottom:'12px'}" type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button :style="{marginBottom:'12px'}" type="primary" @click="searchReset" icon="reload" class="resetBtn">重置</a-button>
|
||||
</a-form>
|
||||
|
||||
<a-table
|
||||
|
||||
@@ -38,7 +38,9 @@ export default {
|
||||
</script>
|
||||
<style>
|
||||
.main{
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
height:100%;
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -3,21 +3,24 @@
|
||||
<!-- update-begin- author:sunjianlei --- date:20191009 --- for: 提升右键菜单的层级 -->
|
||||
<contextmenu :itemList="menuItemList" :visible.sync="menuVisible" style="z-index: 9999;" @select="onMenuSelect"/>
|
||||
<!-- update-end- author:sunjianlei --- date:20191009 --- for: 提升右键菜单的层级 -->
|
||||
<a-tabs
|
||||
@contextmenu.native="e => onContextmenu(e)"
|
||||
v-if="multipage"
|
||||
:active-key="activePage"
|
||||
class="tab-layout-tabs"
|
||||
style="height:52px"
|
||||
:hide-add="true"
|
||||
type="editable-card"
|
||||
@change="changePage"
|
||||
@tabClick="tabCallBack"
|
||||
@edit="editPage">
|
||||
<a-tab-pane :id="page.fullPath" :key="page.fullPath" v-for="page in pageList">
|
||||
<span slot="tab" :pagekey="page.fullPath">{{ page.meta.title }}</span>
|
||||
</a-tab-pane>
|
||||
</a-tabs>
|
||||
<div class='topHeadertabList'>
|
||||
<a-tabs
|
||||
@contextmenu.native="e => onContextmenu(e)"
|
||||
v-if="multipage"
|
||||
:active-key="activePage"
|
||||
class="tab-layout-tabs "
|
||||
style="height:52px"
|
||||
:hide-add="true"
|
||||
type="editable-card"
|
||||
@change="changePage"
|
||||
@tabClick="tabCallBack"
|
||||
@edit="editPage">
|
||||
<a-tab-pane :id="page.fullPath" :key="page.fullPath" v-for="page in pageList" >
|
||||
<span slot="tab" :pagekey="page.fullPath">{{ page.meta.title}}</span>
|
||||
</a-tab-pane>
|
||||
</a-tabs>
|
||||
</div>
|
||||
|
||||
<div style="margin: 12px 12px 0;">
|
||||
<!-- update-begin-author:taoyan date:20201221 for:此处删掉transition标签 不知道为什么加上后 页面路由切换的时候即1及菜单切到2及菜单的时候 两个菜单页面会同时出现300-500秒左右 -->
|
||||
<keep-alive v-if="multipage">
|
||||
@@ -298,85 +301,131 @@ export default {
|
||||
</script>
|
||||
|
||||
<style lang="less">
|
||||
.contextmenu .ant-menu li{
|
||||
color: #333 !important;
|
||||
}
|
||||
.topHeadertabList .ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab.ant-tabs-tab-active{
|
||||
color: #0F6FC4;
|
||||
text-shadow: none;
|
||||
background-color: #fff!important;
|
||||
}
|
||||
.topHeadertabList .ant-tabs-nav{
|
||||
|
||||
/*
|
||||
* The following styles are auto-applied to elements with
|
||||
* transition="page-transition" when their visibility is toggled
|
||||
* by Vue.js.
|
||||
*
|
||||
* You can easily play with the page transition by editing
|
||||
* these styles.
|
||||
*/
|
||||
}
|
||||
.topHeadertabList .ant-tabs.ant-tabs-card .ant-tabs-card-bar .ant-tabs-tab{
|
||||
border-radius: 0;
|
||||
line-height: 40px!important;
|
||||
}
|
||||
.topHeadertabList .tab-layout-tabs.ant-tabs.ant-tabs-card > .ant-tabs-bar .ant-tabs-tab{
|
||||
border-bottom: none!important;
|
||||
border-top: none!important;
|
||||
border-left: none!important;
|
||||
border-right: 1px solid #E5E6EB!important;
|
||||
}
|
||||
.topHeadertabList .ant-tabs-nav-wrap{
|
||||
border-right: 1px solid #E5E6EB!important;
|
||||
border-left: 1px solid #E5E6EB!important;
|
||||
}
|
||||
.topHeadertabList .tab-layout-tabs.ant-tabs.ant-tabs-card .ant-tabs-tab{
|
||||
padding: 0 36px 0 12px!important;
|
||||
margin-right: 0!important;
|
||||
background-color: #F7F8FA!important;
|
||||
}
|
||||
.topHeadertabList .tab-layout-tabs.ant-tabs.ant-tabs-card .ant-tabs-tab .ant-tabs-close-x{
|
||||
right: 15px;
|
||||
opacity: 1!important;
|
||||
}
|
||||
.topHeadertabList .tab-layout-tabs.ant-tabs{
|
||||
border-bottom: 1px solid #E5E6EB;
|
||||
height: 40px!important;
|
||||
}
|
||||
.topHeadertabList .ant-tabs-nav-container,.topHeadertabList .tab-layout-tabs.ant-tabs .ant-tabs-bar{
|
||||
margin-top: 0;
|
||||
}
|
||||
.topHeadertabList .ant-tabs-nav-wrap,.topHeadertabList .tab-layout-tabs.ant-tabs{
|
||||
background: #F7F8FA;
|
||||
}
|
||||
</style>
|
||||
<style lang="less" >
|
||||
|
||||
.page-transition-enter {
|
||||
opacity: 0;
|
||||
/*
|
||||
* The following styles are auto-applied to elements with
|
||||
* transition="page-transition" when their visibility is toggled
|
||||
* by Vue.js.
|
||||
*
|
||||
* You can easily play with the page transition by editing
|
||||
* these styles.
|
||||
*/
|
||||
|
||||
.page-transition-enter {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.page-transition-leave-active {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.page-transition-enter .page-transition-container,
|
||||
.page-transition-leave-active .page-transition-container {
|
||||
-webkit-transform: scale(1.1);
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
/*美化弹出Tab样式*/
|
||||
.ant-tabs-nav-container {
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
/* 修改 ant-tabs 样式 */
|
||||
.tab-layout-tabs.ant-tabs {
|
||||
border-bottom: 1px solid #ccc;
|
||||
border-left: 1px solid #ccc;
|
||||
background-color: white;
|
||||
padding: 0 20px;
|
||||
|
||||
.ant-tabs-bar {
|
||||
margin: 4px 0 0;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.page-transition-leave-active {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.page-transition-enter .page-transition-container,
|
||||
.page-transition-leave-active .page-transition-container {
|
||||
-webkit-transform: scale(1.1);
|
||||
transform: scale(1.1);
|
||||
}
|
||||
.tab-layout-tabs.ant-tabs {
|
||||
|
||||
/*美化弹出Tab样式*/
|
||||
.ant-tabs-nav-container {
|
||||
margin-top: 4px;
|
||||
}
|
||||
&.ant-tabs-card .ant-tabs-tab {
|
||||
|
||||
/* 修改 ant-tabs 样式 */
|
||||
.tab-layout-tabs.ant-tabs {
|
||||
border-bottom: 1px solid #ccc;
|
||||
border-left: 1px solid #ccc;
|
||||
background-color: white;
|
||||
padding: 0 20px;
|
||||
padding: 0 24px !important;
|
||||
background-color: white !important;
|
||||
margin-right: 10px !important;
|
||||
|
||||
.ant-tabs-bar {
|
||||
margin: 4px 0 0;
|
||||
border: none;
|
||||
.ant-tabs-close-x {
|
||||
width: 12px !important;
|
||||
height: 12px !important;
|
||||
opacity: 0 !important;
|
||||
cursor: pointer !important;
|
||||
font-size: 12px !important;
|
||||
margin: 0 !important;
|
||||
position: absolute;
|
||||
top: 36%;
|
||||
right: 6px;
|
||||
}
|
||||
|
||||
&:hover .ant-tabs-close-x {
|
||||
opacity: 1 !important;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.tab-layout-tabs.ant-tabs {
|
||||
|
||||
&.ant-tabs-card .ant-tabs-tab {
|
||||
|
||||
padding: 0 24px !important;
|
||||
background-color: white !important;
|
||||
margin-right: 10px !important;
|
||||
|
||||
.ant-tabs-close-x {
|
||||
width: 12px !important;
|
||||
height: 12px !important;
|
||||
opacity: 0 !important;
|
||||
cursor: pointer !important;
|
||||
font-size: 12px !important;
|
||||
margin: 0 !important;
|
||||
position: absolute;
|
||||
top: 36%;
|
||||
right: 6px;
|
||||
}
|
||||
|
||||
&:hover .ant-tabs-close-x {
|
||||
opacity: 1 !important;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.tab-layout-tabs.ant-tabs.ant-tabs-card > .ant-tabs-bar {
|
||||
.ant-tabs-tab {
|
||||
border: none !important;
|
||||
border-bottom: 1px solid transparent !important;
|
||||
}
|
||||
|
||||
.tab-layout-tabs.ant-tabs.ant-tabs-card > .ant-tabs-bar {
|
||||
.ant-tabs-tab {
|
||||
border: none !important;
|
||||
border-bottom: 1px solid transparent !important;
|
||||
}
|
||||
.ant-tabs-tab-active {
|
||||
border-color: @primary-color!important;
|
||||
}
|
||||
.ant-tabs-tab-active {
|
||||
border-color: @primary-color!important;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
@@ -2,19 +2,19 @@
|
||||
<div id="userLayout" :class="['user-layout-wrapper',device]">
|
||||
<div :class="!mobile ? 'container' : 'container-mobile'">
|
||||
<div class="top" id="top" v-if="!mobile">
|
||||
<div class="logo">
|
||||
<img id="logo" src="~@/assets/logo.png" alt="">
|
||||
</div>
|
||||
<div id="company">
|
||||
<span id="c-company">合众未来</span>
|
||||
<span id="p-company">HEZHONGWEILAI</span>
|
||||
</div>
|
||||
<!-- <div class="logo">-->
|
||||
<!-- <img id="logo" src="~@/assets/logo.png" alt="">-->
|
||||
<!-- </div>-->
|
||||
<!-- <div id="company">-->
|
||||
<!-- <span id="c-company">合众未来</span>-->
|
||||
<!-- <span id="p-company">HEZHONGWEILAI</span>-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
<div v-if="mobile">
|
||||
<span class="top-bg"><img src="~/@assets/mobileBg.png" alt=""></span>
|
||||
<span class="btm-bg"><img src="~/@assets/mobileHome.png" alt=""></span>
|
||||
</div>
|
||||
<div v-if="mobile" class="mobile">
|
||||
<div v-if="mobile" class="mobile" >
|
||||
<div class="logo">
|
||||
<img src="~@/assets/logo.png" alt="">
|
||||
</div>
|
||||
@@ -23,9 +23,9 @@
|
||||
<span>HEZHONGWEILAI</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="illustration" v-if="!mobile">
|
||||
<img src="@/assets/home.png" alt="">
|
||||
</div>
|
||||
<!-- <div class="illustration" v-if="!mobile">-->
|
||||
<!-- <img src="@/assets/home.png" alt="">-->
|
||||
<!-- </div>-->
|
||||
<route-view></route-view>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -67,5 +67,11 @@ export default {
|
||||
border: 1px solid #9e9e9e;
|
||||
border-radius: 4px;
|
||||
box-shadow: 2px 2px 10px #aaaaaa !important;
|
||||
background-color: #fff;
|
||||
color:#565656;
|
||||
li{
|
||||
color:#565656 !important;
|
||||
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<template>
|
||||
|
||||
<a-layout-sider
|
||||
:class="['sider', isDesktop() ? null : 'shadow', theme, fixSiderbar ? 'ant-fixed-sidemenu' : null ]"
|
||||
width="208px"
|
||||
@@ -15,6 +16,22 @@
|
||||
:mode="mode"
|
||||
:style="smenuStyle">
|
||||
</s-menu>
|
||||
<!-- <div style='width: 100px;height:100px;background: pink'></div>-->
|
||||
<img v-if='!collapsed' src='../../assets/bgImg.png' alt='' class='bgImg'>
|
||||
<div v-else></div>
|
||||
|
||||
|
||||
<!-- <a-icon-->
|
||||
<!-- class='bgImg'-->
|
||||
<!-- v-if="device==='mobile'"-->
|
||||
<!-- class="trigger"-->
|
||||
<!-- :type="collapsed ? 'menu-fold' : 'menu-unfold'"-->
|
||||
<!-- @click="toggle"></a-icon>-->
|
||||
<!-- <a-icon-->
|
||||
<!-- class="bgImg trigger"-->
|
||||
<!-- :type="collapsed ? 'menu-unfold' : 'menu-fold'"-->
|
||||
<!-- @click="toggle"/>-->
|
||||
|
||||
</a-layout-sider>
|
||||
|
||||
</template>
|
||||
@@ -149,29 +166,91 @@ export default {
|
||||
|
||||
<!-- update_begin author:sunjianlei date:20190530 for: 选中首页的时候不显示背景颜色 -->
|
||||
<style lang="less">
|
||||
.trigger {
|
||||
width: 53px;
|
||||
font-size: 22px;
|
||||
line-height: 30px;
|
||||
padding: 0 18px;
|
||||
cursor: pointer;
|
||||
transition: color 300ms, background 300ms;
|
||||
bottom: 4px;
|
||||
/* right: -12px; */
|
||||
left: 129px;
|
||||
color: #fff;
|
||||
background-color: #FFFFFF14;
|
||||
&:hover {
|
||||
background: rgba(255, 255, 255, 0.3);
|
||||
}
|
||||
}
|
||||
.sider.light {
|
||||
background-color: #001529 !important;
|
||||
}
|
||||
.bgImg {
|
||||
position: fixed;
|
||||
bottom: 0px;
|
||||
left: 0px;
|
||||
width: 208px;
|
||||
z-index: -1;
|
||||
transition: width 1.5s linear 1s;
|
||||
}
|
||||
.ant-layout-sider-children{
|
||||
//background-color: #001529;
|
||||
background: none;
|
||||
|
||||
}
|
||||
.ant-menu{
|
||||
color: hsla(0, 0%, 100%, 0.8);;
|
||||
background: none;
|
||||
|
||||
li ,a{
|
||||
color:hsla(0, 0%, 100%, 0.8)!important;
|
||||
}
|
||||
|
||||
}
|
||||
.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected {
|
||||
background-color: @primary-color !important;
|
||||
}
|
||||
.ant-menu-submenu > .ant-menu {
|
||||
background: none !important;
|
||||
}
|
||||
|
||||
.ant-menu.ant-menu-root {
|
||||
background: none;
|
||||
|
||||
//li {
|
||||
// background-color: #001529;
|
||||
// & > a{
|
||||
// color: #fff;
|
||||
// }
|
||||
//}
|
||||
& > .ant-menu-item:first-child {
|
||||
background-color: transparent;
|
||||
|
||||
& > a, & > a:hover {
|
||||
color: rgba(0, 0, 0, 0.65);
|
||||
//color: rgba(0, 0, 0, 0.65);
|
||||
color: #fff;
|
||||
|
||||
}
|
||||
|
||||
&.ant-menu-item-selected {
|
||||
& > a, & > a:hover {
|
||||
color: @primary-color;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.ant-menu-dark > .ant-menu-item:first-child {
|
||||
& > a, & > a:hover {
|
||||
color: rgba(255, 255, 255, 0.65);
|
||||
//color: rgba(255, 255, 255, 0.65);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
&.ant-menu-item-selected {
|
||||
& > a, & > a:hover {
|
||||
color: rgba(255, 255, 255, 1);
|
||||
//color: rgba(255, 255, 255, 1);
|
||||
color: #fff;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -156,7 +156,7 @@
|
||||
}
|
||||
|
||||
.ant-card-body .table-operator[data-v-76e1a326] {
|
||||
margin-bottom: 18px
|
||||
margin-bottom: 4px
|
||||
}
|
||||
|
||||
.ant-table-tbody .ant-table-row td[data-v-76e1a326] {
|
||||
@@ -196,7 +196,7 @@
|
||||
}
|
||||
|
||||
.ant-card-body .table-operator[data-v-54bf704f] {
|
||||
margin-bottom: 18px
|
||||
margin-bottom: 4px
|
||||
}
|
||||
|
||||
.ant-table-tbody .ant-table-row td[data-v-54bf704f] {
|
||||
@@ -329,7 +329,7 @@ th[data-v-125d8be6] {
|
||||
}
|
||||
|
||||
.ant-card-body .table-operator {
|
||||
margin-bottom: 18px
|
||||
margin-bottom: 4px
|
||||
}
|
||||
|
||||
.anty-row-operator button {
|
||||
@@ -492,7 +492,7 @@ th[data-v-125d8be6] {
|
||||
}
|
||||
|
||||
.ant-card-body .table-operator[data-v-67102101] {
|
||||
margin-bottom: 18px
|
||||
margin-bottom: 4px
|
||||
}
|
||||
|
||||
.ant-table-tbody .ant-table-row td[data-v-67102101] {
|
||||
@@ -532,7 +532,7 @@ th[data-v-125d8be6] {
|
||||
}
|
||||
|
||||
.ant-card-body .table-operator {
|
||||
margin-bottom: 8px
|
||||
margin-bottom: 4px
|
||||
}
|
||||
|
||||
.table-operator .ant-btn {
|
||||
@@ -775,7 +775,7 @@ th[data-v-125d8be6] {
|
||||
}
|
||||
|
||||
.ant-card-body .table-operator[data-v-b7645c0c] {
|
||||
margin-bottom: 18px
|
||||
margin-bottom: 4px
|
||||
}
|
||||
|
||||
.ant-table-tbody .ant-table-row td[data-v-b7645c0c] {
|
||||
|
||||
@@ -1716,25 +1716,7 @@
|
||||
}
|
||||
})], 1)], 1) : e._e()], 1), n("div", {
|
||||
style: e.table_area_style
|
||||
}, [n("div", {
|
||||
staticClass: "ant-alert ant-alert-info",
|
||||
staticStyle: {
|
||||
"margin-bottom": "16px"
|
||||
}
|
||||
}, [n("i", {
|
||||
staticClass: "anticon anticon-info-circle ant-alert-icon"
|
||||
}), e._v(" 已选择 "), n("a", {
|
||||
staticStyle: {
|
||||
"font-weight": "600"
|
||||
}
|
||||
}, [e._v(e._s(e.selectedRowKeys.length))]), e._v("项\n "), n("a", {
|
||||
staticStyle: {
|
||||
"margin-left": "24px"
|
||||
},
|
||||
on: {
|
||||
click: e.onClearSelected
|
||||
}
|
||||
}, [e._v("清空")])]), n("a-table", {
|
||||
}, [ n("a-table", {
|
||||
ref: "table",
|
||||
attrs: {
|
||||
size: "middle",
|
||||
@@ -8623,25 +8605,7 @@
|
||||
}
|
||||
})], 1)], 1) : e._e()], 1), n("div", {
|
||||
style: e.table_area_style
|
||||
}, [n("div", {
|
||||
staticClass: "ant-alert ant-alert-info",
|
||||
staticStyle: {
|
||||
"margin-bottom": "16px"
|
||||
}
|
||||
}, [n("i", {
|
||||
staticClass: "anticon anticon-info-circle ant-alert-icon"
|
||||
}), e._v(" 已选择 "), n("a", {
|
||||
staticStyle: {
|
||||
"font-weight": "600"
|
||||
}
|
||||
}, [e._v(e._s(e.selectedRowKeys.length))]), e._v("项\n "), n("a", {
|
||||
staticStyle: {
|
||||
"margin-left": "24px"
|
||||
},
|
||||
on: {
|
||||
click: e.onClearSelected
|
||||
}
|
||||
}, [e._v("清空")])]), n("a-table", {
|
||||
}, [ n("a-table", {
|
||||
ref: "table",
|
||||
attrs: {
|
||||
size: "middle",
|
||||
@@ -27279,25 +27243,7 @@
|
||||
}
|
||||
})], 1)], 1) : e._e()], 1), n("div", {
|
||||
style: e.table_area_style
|
||||
}, [n("div", {
|
||||
staticClass: "ant-alert ant-alert-info",
|
||||
staticStyle: {
|
||||
"margin-bottom": "16px"
|
||||
}
|
||||
}, [n("i", {
|
||||
staticClass: "anticon anticon-info-circle ant-alert-icon"
|
||||
}), e._v(" 已选择 "), n("a", {
|
||||
staticStyle: {
|
||||
"font-weight": "600"
|
||||
}
|
||||
}, [e._v(e._s(e.selectedRowKeys.length))]), e._v("项\n "), n("a", {
|
||||
staticStyle: {
|
||||
"margin-left": "24px"
|
||||
},
|
||||
on: {
|
||||
click: e.onClearSelected
|
||||
}
|
||||
}, [e._v("清空")])]), n("a-table", {
|
||||
}, [ n("a-table", {
|
||||
ref: "table",
|
||||
attrs: {
|
||||
size: "middle",
|
||||
@@ -29406,7 +29352,7 @@
|
||||
"margin-left": "8px"
|
||||
},
|
||||
attrs: {
|
||||
type: "primary",
|
||||
type: "default",
|
||||
icon: "reload"
|
||||
},
|
||||
on: {
|
||||
@@ -29425,7 +29371,7 @@
|
||||
staticClass: "table-operator"
|
||||
}, [e.buttonSwitch.add ? n("a-button", {
|
||||
attrs: {
|
||||
type: "primary",
|
||||
type: "default",
|
||||
icon: "plus"
|
||||
},
|
||||
on: {
|
||||
@@ -31710,7 +31656,7 @@
|
||||
}
|
||||
}, [e._v("查询")]), n("a-button", {
|
||||
attrs: {
|
||||
type: "primary",
|
||||
type: "default",
|
||||
icon: "reload"
|
||||
},
|
||||
on: {
|
||||
@@ -37656,7 +37602,7 @@
|
||||
"margin-left": "8px"
|
||||
},
|
||||
attrs: {
|
||||
type: "primary",
|
||||
type: "default",
|
||||
icon: "reload"
|
||||
},
|
||||
on: {
|
||||
@@ -39018,7 +38964,7 @@
|
||||
"margin-left": "8px"
|
||||
},
|
||||
attrs: {
|
||||
type: "primary",
|
||||
type: "default",
|
||||
icon: "reload"
|
||||
},
|
||||
on: {
|
||||
@@ -43922,7 +43868,7 @@
|
||||
"margin-left": "8px"
|
||||
},
|
||||
attrs: {
|
||||
type: "primary",
|
||||
type: "default",
|
||||
icon: "reload"
|
||||
},
|
||||
on: {
|
||||
@@ -45162,7 +45108,7 @@
|
||||
"margin-left": "8px"
|
||||
},
|
||||
attrs: {
|
||||
type: "primary",
|
||||
type: "default",
|
||||
icon: "reload"
|
||||
},
|
||||
on: {
|
||||
@@ -45172,7 +45118,7 @@
|
||||
staticClass: "table-operator"
|
||||
}, [n("a-button", {
|
||||
attrs: {
|
||||
type: "primary",
|
||||
type: "default",
|
||||
icon: "plus"
|
||||
},
|
||||
on: {
|
||||
@@ -45200,26 +45146,7 @@
|
||||
attrs: {
|
||||
type: "down"
|
||||
}
|
||||
})], 1)], 1) : e._e()], 1), n("div", [n("div", {
|
||||
staticClass: "ant-alert ant-alert-info",
|
||||
staticStyle: {
|
||||
"margin-bottom": "16px"
|
||||
}
|
||||
}, [n("i", {
|
||||
staticClass: "anticon anticon-info-circle ant-alert-icon"
|
||||
}), e._v("\n 已选择\n "), n("a", {
|
||||
staticStyle: {
|
||||
"font-weight": "600"
|
||||
}
|
||||
}, [e._v("\n " + e._s(e.selectedRowKeys.length) + "\n ")]), e._v("\n 项\n "), n(
|
||||
"a", {
|
||||
staticStyle: {
|
||||
"margin-left": "24px"
|
||||
},
|
||||
on: {
|
||||
click: e.onClearSelected
|
||||
}
|
||||
}, [e._v("清空")])]), n("a-table", {
|
||||
})], 1)], 1) : e._e()], 1), n("div", [ n("a-table", {
|
||||
ref: "table",
|
||||
attrs: {
|
||||
size: "middle",
|
||||
@@ -45472,6 +45399,7 @@
|
||||
}))
|
||||
},
|
||||
goPageOnline: function(e) {
|
||||
debugger
|
||||
this.$router.push({
|
||||
path: "/online/cgreport/" + e
|
||||
})
|
||||
@@ -66840,7 +66768,7 @@
|
||||
"margin-left": "8px"
|
||||
},
|
||||
attrs: {
|
||||
type: "primary",
|
||||
type: "default",
|
||||
icon: "reload"
|
||||
},
|
||||
on: {
|
||||
@@ -66848,25 +66776,7 @@
|
||||
}
|
||||
}, [e._v("重置")])], 1)])], 1)], 1)], 1), n("div", {
|
||||
staticClass: "table-operator"
|
||||
}), n("div", [n("div", {
|
||||
staticClass: "ant-alert ant-alert-info",
|
||||
staticStyle: {
|
||||
"margin-bottom": "16px"
|
||||
}
|
||||
}, [n("i", {
|
||||
staticClass: "anticon anticon-info-circle ant-alert-icon"
|
||||
}), e._v("\n 已选择\n "), n("a", {
|
||||
staticStyle: {
|
||||
"font-weight": "600"
|
||||
}
|
||||
}, [e._v(e._s(e.selectedRowKeys.length))]), e._v("\n 项\n "), n("a", {
|
||||
staticStyle: {
|
||||
"margin-left": "24px"
|
||||
},
|
||||
on: {
|
||||
click: e.onClearSelected
|
||||
}
|
||||
}, [e._v("清空")])]), n("a-table", {
|
||||
}), n("div", [ n("a-table", {
|
||||
ref: "table",
|
||||
attrs: {
|
||||
size: "middle",
|
||||
@@ -67912,7 +67822,7 @@
|
||||
"margin-left": "8px"
|
||||
},
|
||||
attrs: {
|
||||
type: "primary",
|
||||
type: "default",
|
||||
icon: "reload"
|
||||
},
|
||||
on: {
|
||||
@@ -72474,7 +72384,7 @@
|
||||
"margin-left": "8px"
|
||||
},
|
||||
attrs: {
|
||||
type: "primary",
|
||||
type: "default",
|
||||
icon: "reload"
|
||||
},
|
||||
on: {
|
||||
@@ -72495,7 +72405,7 @@
|
||||
staticClass: "table-operator"
|
||||
}, [n("a-button", {
|
||||
attrs: {
|
||||
type: "primary",
|
||||
type: "default",
|
||||
icon: "plus"
|
||||
},
|
||||
on: {
|
||||
@@ -72503,7 +72413,7 @@
|
||||
}
|
||||
}, [e._v("新增")]), n("a-button", {
|
||||
attrs: {
|
||||
type: "primary",
|
||||
type: "default",
|
||||
icon: "highlight"
|
||||
},
|
||||
on: {
|
||||
@@ -72511,7 +72421,7 @@
|
||||
}
|
||||
}, [e._v("自定义按钮")]), n("a-button", {
|
||||
attrs: {
|
||||
type: "primary",
|
||||
type: "default",
|
||||
icon: "strikethrough"
|
||||
},
|
||||
on: {
|
||||
@@ -72519,7 +72429,7 @@
|
||||
}
|
||||
}, [e._v("JS增强")]), n("a-button", {
|
||||
attrs: {
|
||||
type: "primary",
|
||||
type: "default",
|
||||
icon: "filter"
|
||||
},
|
||||
on: {
|
||||
@@ -72527,7 +72437,7 @@
|
||||
}
|
||||
}, [e._v("SQL增强")]), n("a-button", {
|
||||
attrs: {
|
||||
type: "primary",
|
||||
type: "default",
|
||||
icon: "tool"
|
||||
},
|
||||
on: {
|
||||
@@ -72535,7 +72445,7 @@
|
||||
}
|
||||
}, [e._v("JAVA增强")]), n("a-button", {
|
||||
attrs: {
|
||||
type: "primary",
|
||||
type: "default",
|
||||
icon: "database"
|
||||
},
|
||||
on: {
|
||||
@@ -72543,7 +72453,7 @@
|
||||
}
|
||||
}, [e._v("导入数据库表")]), n("a-button", {
|
||||
attrs: {
|
||||
type: "primary",
|
||||
type: "default",
|
||||
icon: "database"
|
||||
},
|
||||
on: {
|
||||
@@ -72567,25 +72477,7 @@
|
||||
attrs: {
|
||||
type: "down"
|
||||
}
|
||||
})], 1)], 1) : e._e()], 1), n("div", [n("div", {
|
||||
staticClass: "ant-alert ant-alert-info",
|
||||
staticStyle: {
|
||||
"margin-bottom": "16px"
|
||||
}
|
||||
}, [n("i", {
|
||||
staticClass: "anticon anticon-info-circle ant-alert-icon"
|
||||
}), e._v("\n 已选择\n "), n("a", {
|
||||
staticStyle: {
|
||||
"font-weight": "600"
|
||||
}
|
||||
}, [e._v(e._s(e.selectedRowKeys.length))]), e._v("\n 项\n "), n("a", {
|
||||
staticStyle: {
|
||||
"margin-left": "24px"
|
||||
},
|
||||
on: {
|
||||
click: e.onClearSelected
|
||||
}
|
||||
}, [e._v("清空")])]), n("a-table", {
|
||||
})], 1)], 1) : e._e()], 1), n("div", [ n("a-table", {
|
||||
ref: "table",
|
||||
attrs: {
|
||||
size: "middle",
|
||||
@@ -73084,6 +72976,7 @@
|
||||
this.onlineUrlTitle = "", this.onlineUrlVisible = !1
|
||||
},
|
||||
handleOnlineUrlShow: function(e) {
|
||||
|
||||
"erp" === e.themeTemplate ? this.onlineUrl = "/online/cgformErpList/".concat(e.id) : "innerTable" === e.themeTemplate ?
|
||||
this.onlineUrl = "/online/cgformInnerTableList/".concat(e.id) : "tab" === e.themeTemplate ? this.onlineUrl =
|
||||
"/online/cgformTabList/".concat(e.id) : "Y" == e.isTree ? this.onlineUrl = "/online/cgformTreeList/".concat(
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
-->
|
||||
</div>
|
||||
<div class="copyright">
|
||||
Copyright
|
||||
copyright
|
||||
<a-icon type="copyright"/>
|
||||
2022 <span></span>
|
||||
2023 hzwl&syxy design center <span></span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -23,8 +23,8 @@ export default {
|
||||
|
||||
<style lang="less" scoped>
|
||||
.footer {
|
||||
padding: 0 16px;
|
||||
margin: 48px 0 24px;
|
||||
//padding: 0 16px;
|
||||
//margin: 48px 0 24px;
|
||||
text-align: center;
|
||||
|
||||
.links {
|
||||
|
||||
@@ -17,8 +17,18 @@
|
||||
:type="collapsed ? 'menu-unfold' : 'menu-fold'"
|
||||
@click="toggle"/>
|
||||
|
||||
<span v-if="device === 'desktop'">欢迎进入 Jero-Boot 平台</span>
|
||||
<span v-else>Jero-Boot</span>
|
||||
<!-- <span v-if="device === 'desktop'">欢迎进入 Jero-Boot 平台</span>-->
|
||||
<!-- <span v-else>Jero-Boot</span>-->
|
||||
<span class='bread'>
|
||||
<a-breadcrumb class="breadcrumb">
|
||||
<a-breadcrumb-item v-for="(item, index) in breadList" :key="index">
|
||||
<router-link v-if="item.name !== name" :to="{ path: item.path }">
|
||||
{{ item.meta.title }}
|
||||
</router-link>
|
||||
<span v-else>{{ item.meta.title }}</span>
|
||||
</a-breadcrumb-item>
|
||||
</a-breadcrumb>
|
||||
</span>
|
||||
|
||||
<user-menu :theme="theme"/>
|
||||
</div>
|
||||
@@ -26,7 +36,7 @@
|
||||
<div v-else :class="['top-nav-header-index', theme]">
|
||||
<div class="header-index-wide">
|
||||
<div class="header-index-left" :style="topMenuStyle.headerIndexLeft">
|
||||
<logo class="top-nav-header" :show-title="device !== 'mobile'" :style="topMenuStyle.topNavHeader"/>
|
||||
<!-- <logo class="top-nav-header" :show-title="device !== 'mobile'" :style="topMenuStyle.topNavHeader"/>-->
|
||||
<div v-if="device !== 'mobile'" :style="topMenuStyle.topSmenuStyle">
|
||||
<s-menu
|
||||
mode="horizontal"
|
||||
@@ -34,6 +44,7 @@
|
||||
:theme="theme"
|
||||
@updateMenuTitle="handleUpdateMenuTitle"
|
||||
></s-menu>
|
||||
|
||||
</div>
|
||||
<a-icon
|
||||
v-else
|
||||
@@ -90,6 +101,7 @@ export default {
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
breadList: [],
|
||||
headerBarFixed: false,
|
||||
// update-begin--author:sunjianlei---date:20190508------for: 顶部导航栏过长时显示更多按钮-----
|
||||
topMenuStyle: {
|
||||
@@ -113,6 +125,9 @@ export default {
|
||||
if (newVal === 'topmenu') {
|
||||
this.buildTopMenuStyle()
|
||||
}
|
||||
},
|
||||
$route () {
|
||||
this.getBreadcrumb()
|
||||
}
|
||||
},
|
||||
// update-end--author:sunjianlei---date:20190508------for: 顶部导航栏过长时显示更多按钮-----
|
||||
@@ -122,9 +137,21 @@ export default {
|
||||
if (this.mode === 'topmenu') {
|
||||
this.buildTopMenuStyle()
|
||||
}
|
||||
this.getBreadcrumb()
|
||||
// update-end--author:sunjianlei---date:20190508------for: 顶部导航栏过长时显示更多按钮-----
|
||||
},
|
||||
|
||||
methods: {
|
||||
getBreadcrumb () {
|
||||
this.breadList = []
|
||||
// this.breadList.push({name: 'index', path: '/dashboard/', meta: {title: '首页'}})
|
||||
|
||||
this.name = this.$route.name
|
||||
this.$route.matched.forEach((item) => {
|
||||
// item.name !== 'index' && this.breadList.push(item)
|
||||
this.breadList.push(item)
|
||||
})
|
||||
},
|
||||
handleScroll () {
|
||||
if (this.autoHideHeader) {
|
||||
const scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
|
||||
@@ -168,9 +195,20 @@ export default {
|
||||
<style lang="less" scoped>
|
||||
/* update_begin author:scott date:20190220 for: 缩小首页布局顶部的高度*/
|
||||
|
||||
@height: 59px;
|
||||
@height: 56px;
|
||||
|
||||
.layout {
|
||||
.bread {
|
||||
display: inline-block;
|
||||
.ant-breadcrumb {
|
||||
a {
|
||||
color:#898989;
|
||||
}
|
||||
span{
|
||||
color: #1D2129;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.top-nav-header-index {
|
||||
|
||||
@@ -192,9 +230,10 @@ export default {
|
||||
|
||||
.header {
|
||||
z-index: 2;
|
||||
color: white;
|
||||
color: #333;
|
||||
height: @height;
|
||||
background-color: @primary-color;
|
||||
//background-color: @primary-color;
|
||||
background-color: #fff;
|
||||
transition: background 300ms;
|
||||
|
||||
/* dark 样式 */
|
||||
|
||||
@@ -197,7 +197,9 @@ export default {
|
||||
filter: invert(80%);
|
||||
}
|
||||
}
|
||||
|
||||
.ant-card-body {
|
||||
padding: 16px 16px 0 !important;
|
||||
}
|
||||
.layout {
|
||||
min-height: 100vh !important;
|
||||
overflow-x: hidden;
|
||||
@@ -326,7 +328,39 @@ export default {
|
||||
.user-wrapper {
|
||||
float: right;
|
||||
height: 100%;
|
||||
.small-action {
|
||||
cursor: pointer;
|
||||
padding: 0 5px;
|
||||
display: inline-block;
|
||||
transition: all .3s;
|
||||
|
||||
height: 70%;
|
||||
line-height: 46px;
|
||||
|
||||
&.action-full {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: rgba(255, 255, 255, 0.3);
|
||||
}
|
||||
|
||||
.avatar {
|
||||
margin: 20px 10px 20px 0;
|
||||
color: #1890ff;
|
||||
background: hsla(0, 0%, 100%, .85);
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.icon {
|
||||
font-size: 16px;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
.anticon {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
.action {
|
||||
cursor: pointer;
|
||||
padding: 0 14px;
|
||||
@@ -654,7 +688,7 @@ export default {
|
||||
|
||||
.ant-form-item {
|
||||
display: flex;
|
||||
margin-bottom: 24px;
|
||||
margin-bottom: 12px;
|
||||
margin-right: 0;
|
||||
|
||||
.ant-form-item-control-wrapper {
|
||||
@@ -677,7 +711,7 @@ export default {
|
||||
|
||||
.table-page-search-submitButtons {
|
||||
display: block;
|
||||
margin-bottom: 24px;
|
||||
margin-bottom: 12px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
@@ -693,4 +727,20 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
//
|
||||
.resetBtn {
|
||||
margin-left: 12px !important;
|
||||
}
|
||||
//表格的样式
|
||||
.ant-table-middle > .ant-table-content > .ant-table-header > table > .ant-table-thead > tr > th, .ant-table-middle > .ant-table-content > .ant-table-body > table > .ant-table-thead > tr > th, .ant-table-middle > .ant-table-content > .ant-table-scroll > .ant-table-header > table > .ant-table-thead > tr > th, .ant-table-middle > .ant-table-content > .ant-table-scroll > .ant-table-body > table > .ant-table-thead > tr > th, .ant-table-middle > .ant-table-content > .ant-table-fixed-left > .ant-table-header > table > .ant-table-thead > tr > th, .ant-table-middle > .ant-table-content > .ant-table-fixed-right > .ant-table-header > table > .ant-table-thead > tr > th, .ant-table-middle > .ant-table-content > .ant-table-fixed-left > .ant-table-body-outer > .ant-table-body-inner > table > .ant-table-thead > tr > th, .ant-table-middle > .ant-table-content > .ant-table-fixed-right > .ant-table-body-outer > .ant-table-body-inner > table > .ant-table-thead > tr > th, .ant-table-middle > .ant-table-content > .ant-table-header > table > .ant-table-tbody > tr > td, .ant-table-middle > .ant-table-content > .ant-table-body > table > .ant-table-tbody > tr > td, .ant-table-middle > .ant-table-content > .ant-table-scroll > .ant-table-header > table > .ant-table-tbody > tr > td, .ant-table-middle > .ant-table-content > .ant-table-scroll > .ant-table-body > table > .ant-table-tbody > tr > td, .ant-table-middle > .ant-table-content > .ant-table-fixed-left > .ant-table-header > table > .ant-table-tbody > tr > td, .ant-table-middle > .ant-table-content > .ant-table-fixed-right > .ant-table-header > table > .ant-table-tbody > tr > td, .ant-table-middle > .ant-table-content > .ant-table-fixed-left > .ant-table-body-outer > .ant-table-body-inner > table > .ant-table-tbody > tr > td, .ant-table-middle > .ant-table-content > .ant-table-fixed-right > .ant-table-body-outer > .ant-table-body-inner > table > .ant-table-tbody > tr > td {
|
||||
padding: 9px 8px !important;
|
||||
}
|
||||
.ant-table-tbody .ant-table-row td {
|
||||
padding-top: 9px !important;
|
||||
padding-bottom: 9px !important;
|
||||
}
|
||||
.ant-table-thead > tr > th, .ant-table-tbody > tr > td {
|
||||
padding: 9px 16px !important;
|
||||
overflow-wrap: break-word;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
<template>
|
||||
<div class="page-header">
|
||||
<div class="page-header-index-wide">
|
||||
<a-breadcrumb class="breadcrumb">
|
||||
<a-breadcrumb-item v-for="(item, index) in breadList" :key="index">
|
||||
<router-link v-if="item.name !== name" :to="{ path: item.path }">
|
||||
{{ item.meta.title }}
|
||||
</router-link>
|
||||
<span v-else>{{ item.meta.title }}</span>
|
||||
</a-breadcrumb-item>
|
||||
</a-breadcrumb>
|
||||
<!-- <a-breadcrumb class="breadcrumb">-->
|
||||
<!-- <a-breadcrumb-item v-for="(item, index) in breadList" :key="index">-->
|
||||
<!-- <router-link v-if="item.name !== name" :to="{ path: item.path }">-->
|
||||
<!-- {{ item.meta.title }}-->
|
||||
<!-- </router-link>-->
|
||||
<!-- <span v-else>{{ item.meta.title }}</span>-->
|
||||
<!-- </a-breadcrumb-item>-->
|
||||
<!-- </a-breadcrumb>-->
|
||||
|
||||
<div class="detail">
|
||||
<div class="main" v-if="!$route.meta.hiddenHeaderContent">
|
||||
|
||||
@@ -124,4 +124,7 @@ export default {
|
||||
.page-header[data-v-6740ec88] {
|
||||
margin: 0 24px 0;
|
||||
}
|
||||
.ant-table-middle > .ant-table-content > .ant-table-header > table > .ant-table-thead > tr > th, .ant-table-middle > .ant-table-content > .ant-table-body > table > .ant-table-thead > tr > th, .ant-table-middle > .ant-table-content > .ant-table-scroll > .ant-table-header > table > .ant-table-thead > tr > th, .ant-table-middle > .ant-table-content > .ant-table-scroll > .ant-table-body > table > .ant-table-thead > tr > th, .ant-table-middle > .ant-table-content > .ant-table-fixed-left > .ant-table-header > table > .ant-table-thead > tr > th, .ant-table-middle > .ant-table-content > .ant-table-fixed-right > .ant-table-header > table > .ant-table-thead > tr > th, .ant-table-middle > .ant-table-content > .ant-table-fixed-left > .ant-table-body-outer > .ant-table-body-inner > table > .ant-table-thead > tr > th, .ant-table-middle > .ant-table-content > .ant-table-fixed-right > .ant-table-body-outer > .ant-table-body-inner > table > .ant-table-thead > tr > th, .ant-table-middle > .ant-table-content > .ant-table-header > table > .ant-table-tbody > tr > td, .ant-table-middle > .ant-table-content > .ant-table-body > table > .ant-table-tbody > tr > td, .ant-table-middle > .ant-table-content > .ant-table-scroll > .ant-table-header > table > .ant-table-tbody > tr > td, .ant-table-middle > .ant-table-content > .ant-table-scroll > .ant-table-body > table > .ant-table-tbody > tr > td, .ant-table-middle > .ant-table-content > .ant-table-fixed-left > .ant-table-header > table > .ant-table-tbody > tr > td, .ant-table-middle > .ant-table-content > .ant-table-fixed-right > .ant-table-header > table > .ant-table-tbody > tr > td, .ant-table-middle > .ant-table-content > .ant-table-fixed-left > .ant-table-body-outer > .ant-table-body-inner > table > .ant-table-tbody > tr > td, .ant-table-middle > .ant-table-content > .ant-table-fixed-right > .ant-table-body-outer > .ant-table-body-inner > table > .ant-table-tbody > tr > td {
|
||||
padding: 9px 8px !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -21,7 +21,7 @@ export default {
|
||||
props: {
|
||||
title: {
|
||||
type: String,
|
||||
default: 'Jero-Boot Pro',
|
||||
default: 'Design System',
|
||||
required: false
|
||||
},
|
||||
showTitle: {
|
||||
@@ -48,7 +48,7 @@ export default {
|
||||
line-height: @height !important;
|
||||
box-shadow: none !important;
|
||||
transition: background 300ms;
|
||||
|
||||
border-bottom: 1px solid rgba(255,255,255,0.08);
|
||||
a {
|
||||
color: white;
|
||||
&:hover {
|
||||
@@ -58,7 +58,8 @@ export default {
|
||||
}
|
||||
|
||||
&.light .logo {
|
||||
background-color: @primary-color;
|
||||
//background-color: @primary-color;
|
||||
background-color: #001529;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -2,16 +2,19 @@
|
||||
<div class="user-wrapper" :class="theme">
|
||||
<!-- update_begin author:zhaoxin date:20191129 for: 做头部菜单栏导航 -->
|
||||
<!-- update-begin author:sunjianlei date:20191@20 for: 解决全局样式冲突的问题 -->
|
||||
<span class="action" @click="showClick">
|
||||
<a-icon type="search"></a-icon>
|
||||
</span>
|
||||
<!-- <span class="action" @click="showClick">-->
|
||||
<!-- <a-icon type="search"></a-icon>-->
|
||||
<!-- </span>-->
|
||||
<!-- update-begin author:sunjianlei date:20200219 for: 菜单搜索改为动态组件,在手机端呈现出弹出框 -->
|
||||
<component :is="searchMenuComp" v-show="searchMenuVisible || isMobile()" class="borders" :visible="searchMenuVisible" title="搜索菜单" :footer="null" @cancel="searchMenuVisible=false">
|
||||
<a-select
|
||||
<!-- <component :is="searchMenuComp" v-show="searchMenuVisible || isMobile()" class="borders" :visible="searchMenuVisible" title="搜索菜单" :footer="null" @cancel="searchMenuVisible=false">-->
|
||||
<span class='search-box'>
|
||||
<a-icon type='search' />
|
||||
</span>
|
||||
<a-select
|
||||
class="search-input"
|
||||
showSearch
|
||||
:showArrow="false"
|
||||
placeholder="搜索菜单"
|
||||
placeholder="请输入搜索内容"
|
||||
optionFilterProp="children"
|
||||
:filterOption="filterOption"
|
||||
:open="isMobile()?true:null"
|
||||
@@ -20,9 +23,10 @@
|
||||
@change="searchMethods"
|
||||
@blur="hiddenClick"
|
||||
>
|
||||
|
||||
<a-select-option v-for="(site,index) in searchMenuOptions" :key="index" :value="site.id">{{site.meta.title}}</a-select-option>
|
||||
</a-select>
|
||||
</component>
|
||||
<!-- </component>-->
|
||||
<!-- update-end author:sunjianlei date:20200219 for: 菜单搜索改为动态组件,在手机端呈现出弹出框 -->
|
||||
<!-- update-end author:sunjianlei date:20191220 for: 解决全局样式冲突的问题 -->
|
||||
<!-- update_end author:zhaoxin date:20191129 for: 做头部菜单栏导航 -->
|
||||
@@ -32,11 +36,18 @@
|
||||
</a>
|
||||
</span>
|
||||
<header-notice class="action"/>
|
||||
<span style="padding: 12px">
|
||||
<a-avatar class="avatar" size="small" :src="getAvatar()"/>
|
||||
<span style="display:inline-block;padding: 0 0 0 16px">
|
||||
<template v-if='getAvatar()'>
|
||||
<a-avatar class="avatar" size="small" :src="getAvatar()"/>
|
||||
</template>
|
||||
<template v-else>
|
||||
<a-avatar :size="20">
|
||||
<template #icon> <a-icon type="user"></a-icon></template>
|
||||
</a-avatar>
|
||||
</template>
|
||||
</span>
|
||||
<a-dropdown>
|
||||
<span class="action">
|
||||
<span class=" small-action">
|
||||
<span v-if="isDesktop()">欢迎您,{{ nickname() }}</span>
|
||||
</span>
|
||||
<a-menu slot="overlay" class="user-dropdown-menu-wrapper">
|
||||
@@ -103,7 +114,7 @@ import { mixinDevice } from '@/utils/mixin.js'
|
||||
import { getFileAccessHttpUrl, getAction } from '@/api/manage'
|
||||
import Vue from 'vue'
|
||||
import { UI_CACHE_DB_DICT_DATA } from '@/store/mutation-types'
|
||||
|
||||
import { UserOutlined } from '@ant-design/icons-vue';
|
||||
export default {
|
||||
name: 'UserMenu',
|
||||
mixins: [mixinDevice],
|
||||
@@ -117,6 +128,7 @@ export default {
|
||||
}
|
||||
},
|
||||
components: {
|
||||
UserOutlined,
|
||||
HeaderNotice,
|
||||
UserPassword,
|
||||
DepartSelect,
|
||||
@@ -263,18 +275,32 @@ export default {
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.search-box {
|
||||
display: inline-block;
|
||||
transition: all 0.3s;
|
||||
height: 30px;
|
||||
width: 25px;
|
||||
margin-top: 0px;
|
||||
line-height: 28px;
|
||||
background: #F7F8FA;
|
||||
text-align: right;
|
||||
border-top-left-radius: 4px;
|
||||
border-bottom-left-radius: 4px;
|
||||
}
|
||||
/* update_begin author:zhaoxin date:20191129 for: 让搜索框颜色能随主题颜色变换*/
|
||||
/* update-begin author:sunjianlei date:20191220 for: 解决全局样式冲突问题 */
|
||||
.user-wrapper .search-input {
|
||||
width: 180px;
|
||||
width: 210px;
|
||||
color: inherit;
|
||||
margin-right: 8px;
|
||||
|
||||
/deep/ .ant-select-selection {
|
||||
background-color: inherit;
|
||||
background-color: #F7F8FA !important;
|
||||
border: 0;
|
||||
border-bottom: 1px solid white;
|
||||
color: #86909C ;
|
||||
&__placeholder, &__field__placeholder {
|
||||
color: inherit;
|
||||
color: #86909C ;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -282,7 +308,13 @@ export default {
|
||||
/* update_end author:zhaoxin date:20191129 for: 让搜索框颜色能随主题颜色变换*/
|
||||
</style>
|
||||
|
||||
<style scoped>
|
||||
<style lang="less" scoped>
|
||||
.ant-avatar {
|
||||
background-color: #fff;
|
||||
color: #333 !important;
|
||||
border: 1px solid #333;
|
||||
vertical-align: sub;
|
||||
}
|
||||
.logout_title {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
|
||||
@@ -15,21 +15,30 @@
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
label="旧密码">
|
||||
<a-input type="password" placeholder="请输入旧密码" v-decorator="[ 'oldpassword', validatorRules.oldpassword]" />
|
||||
<a-input :type="passwordType1" placeholder="请输入旧密码" v-decorator="[ 'oldpassword', validatorRules.oldpassword]" >
|
||||
<a-icon title="显示密码" @click="passwordType1='text'" slot="suffix" v-if="passwordType1==='password'" type="eye" :style="{ color: '#B3B7C2',fontSize:'20px' }"/>
|
||||
<a-icon title="隐藏密码" @click="passwordType1='password'" slot="suffix" v-else type="eye-invisible" :style="{ color: '#B3B7C2',fontSize:'20px' }"/>
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
label="新密码">
|
||||
<a-input type="password" placeholder="请输入新密码" :maxLength="20" v-decorator="[ 'password', validatorRules.password]" />
|
||||
<a-input :type="passwordType2" placeholder="请输入新密码" :maxLength="20" v-decorator="[ 'password', validatorRules.password]" >
|
||||
<a-icon title="显示密码" @click="passwordType2='text'" slot="suffix" v-if="passwordType2==='password'" type="eye" :style="{ color: '#B3B7C2',fontSize:'20px' }"/>
|
||||
<a-icon title="隐藏密码" @click="passwordType2='password'" slot="suffix" v-else type="eye-invisible" :style="{ color: '#B3B7C2',fontSize:'20px' }"/>
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
label="确认新密码">
|
||||
<a-input type="password" @blur="handleConfirmBlur" placeholder="请确认新密码" :maxLength="20" v-decorator="[ 'confirmpassword', validatorRules.confirmpassword]"/>
|
||||
<a-input :type="passwordType3" @blur="handleConfirmBlur" placeholder="请确认新密码" :maxLength="20" v-decorator="[ 'confirmpassword', validatorRules.confirmpassword]">
|
||||
<a-icon title="显示密码" @click="passwordType3='text'" slot="suffix" v-if="passwordType3==='password'" type="eye" :style="{ color: '#B3B7C2',fontSize:'20px' }"/>
|
||||
<a-icon title="隐藏密码" @click="passwordType3='password'" slot="suffix" v-else type="eye-invisible" :style="{ color: '#B3B7C2',fontSize:'20px' }"/>
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
|
||||
</a-form>
|
||||
@@ -40,11 +49,17 @@
|
||||
<script>
|
||||
|
||||
import { postAction } from '@/api/manage'
|
||||
|
||||
import { mapActions } from 'vuex'
|
||||
import { JSEncrypt } from 'jsencrypt'
|
||||
import { getRSAPublicKey } from '@/utils/encryption.js'
|
||||
export default {
|
||||
name: 'UserPassword',
|
||||
data () {
|
||||
return {
|
||||
rsaPublicKey: '',
|
||||
passwordType1: 'password',
|
||||
passwordType2: 'password',
|
||||
passwordType3: 'password',
|
||||
title: '修改密码',
|
||||
modalWidth: 800,
|
||||
visible: false,
|
||||
@@ -86,6 +101,7 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
...mapActions(['Logout']),
|
||||
show (uname) {
|
||||
if (!uname) {
|
||||
this.$message.warning('当前系统无登录用户!')
|
||||
@@ -104,27 +120,48 @@ export default {
|
||||
this.disableSubmit = false
|
||||
this.selectedRole = []
|
||||
},
|
||||
// 获取RSA公钥
|
||||
getPublicKey () {
|
||||
// 获取公钥
|
||||
getRSAPublicKey().then(res => {
|
||||
this.rsaPublicKey = res.result
|
||||
})
|
||||
},
|
||||
handleOk () {
|
||||
const that = this
|
||||
// 触发表单验证
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
that.confirmLoading = true
|
||||
const params = Object.assign({ username: this.username }, values)
|
||||
console.log('修改密码提交数据', params)
|
||||
postAction(this.url, params).then((res) => {
|
||||
if (res.success) {
|
||||
console.log(res)
|
||||
that.$message.success(res.message)
|
||||
that.close()
|
||||
} else {
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false
|
||||
})
|
||||
}
|
||||
getRSAPublicKey().then(res => {
|
||||
this.rsaPublicKey = res.result
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
that.confirmLoading = true
|
||||
const params = Object.assign({ username: this.username, rsaPublicKey:this.rsaPublicKey}, values)
|
||||
console.log('修改密码提交数据', params)
|
||||
const encrypt = new JSEncrypt()
|
||||
encrypt.setPublicKey(this.rsaPublicKey)
|
||||
// 公钥加密
|
||||
params.confirmpassword = encrypt.encrypt(values.confirmpassword)
|
||||
params.password = encrypt.encrypt(values.password)
|
||||
params.oldpassword = encrypt.encrypt(values.oldpassword)
|
||||
|
||||
postAction(this.url, params).then((res) => {
|
||||
if (res.success) {
|
||||
console.log(res)
|
||||
that.$message.success(res.message)
|
||||
that.close()
|
||||
that.Logout().then(()=>{
|
||||
window.location.replace('/user/login')
|
||||
})
|
||||
} else {
|
||||
that.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
that.confirmLoading = false
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
},
|
||||
validateToNextPassword (rule, value, callback) {
|
||||
const form = this.form
|
||||
|
||||
@@ -74,6 +74,7 @@ export const JeroListMixin = {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
loadData (arg) {
|
||||
if (!this.url.list) {
|
||||
this.$message.error('请设置url.list属性!')
|
||||
|
||||
@@ -41,12 +41,12 @@
|
||||
</template>
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a @click="handleToggleSearch" style="margin-right: 28px">
|
||||
{{ toggleSearchStatus ? '收起' : '展开' }}
|
||||
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
|
||||
</a>
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a @click="handleToggleSearch" style="margin-left: 8px">
|
||||
{{ toggleSearchStatus ? '收起' : '展开' }}
|
||||
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
|
||||
</a>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" class="resetBtn">重置</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
@@ -79,9 +79,9 @@
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
||||
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
|
||||
selectedRowKeys.length }}</a>项
|
||||
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
|
||||
<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{-->
|
||||
<!-- selectedRowKeys.length }}</a>项-->
|
||||
<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
|
||||
<span style="float:right;">
|
||||
<a @click="loadData()"><a-icon type="sync" />刷新</a>
|
||||
<a-divider type="vertical" />
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<a-col :md="6" :sm="24" >
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" class="resetBtn">重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
|
||||
@@ -49,10 +49,10 @@
|
||||
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
||||
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
|
||||
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
|
||||
</div>
|
||||
<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
|
||||
<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项-->
|
||||
<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<a-table
|
||||
ref="table"
|
||||
@@ -177,7 +177,7 @@ export default {
|
||||
margin-left: 3px
|
||||
}
|
||||
.ant-card-body .table-operator{
|
||||
margin-bottom: 18px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.ant-table-tbody .ant-table-row td{
|
||||
padding-top:15px;
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<a-col :md="6" :sm="24">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" class="resetBtn">重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
|
||||
@@ -50,15 +50,15 @@
|
||||
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
||||
<i class="anticon anticon-info-circle ant-alert-icon"></i>
|
||||
<span>已选择</span>
|
||||
<a style="font-weight: 600">
|
||||
{{ selectedRowKeys.length }}
|
||||
</a>
|
||||
<span>项</span>
|
||||
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
|
||||
</div>
|
||||
<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
|
||||
<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i>-->
|
||||
<!-- <span>已选择</span>-->
|
||||
<!-- <a style="font-weight: 600">-->
|
||||
<!-- {{ selectedRowKeys.length }}-->
|
||||
<!-- </a>-->
|
||||
<!-- <span>项</span>-->
|
||||
<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<a-table
|
||||
ref="table"
|
||||
@@ -184,7 +184,7 @@ export default {
|
||||
<style scoped>
|
||||
|
||||
.ant-card-body .table-operator {
|
||||
margin-bottom: 18px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.ant-table-tbody .ant-table-row td {
|
||||
|
||||
@@ -267,7 +267,7 @@ export default {
|
||||
</script>
|
||||
<style scoped>
|
||||
.ant-card-body .table-operator{
|
||||
margin-bottom: 18px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.ant-table-tbody .ant-table-row td{
|
||||
padding-top:15px;
|
||||
|
||||
@@ -646,7 +646,7 @@ export default {
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.ant-card-body .table-operator {
|
||||
margin-bottom: 18px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.ant-table-tbody .ant-table-row td {
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<a-col :md="6" :sm="24">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" class="resetBtn">重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
|
||||
@@ -50,10 +50,10 @@
|
||||
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
||||
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
|
||||
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
|
||||
</div>
|
||||
<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
|
||||
<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项-->
|
||||
<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<a-table
|
||||
ref="table"
|
||||
@@ -233,7 +233,7 @@ export default {
|
||||
</script>
|
||||
<style scoped>
|
||||
.ant-card-body .table-operator {
|
||||
margin-bottom: 18px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.ant-table-tbody .ant-table-row td {
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<a-col :md="8" :sm="24">
|
||||
<span class="table-page-search-submitButtons">
|
||||
<a-button type="primary">查询</a-button>
|
||||
<a-button style="margin-left: 8px">重置</a-button>
|
||||
<a-button class="resetBtn">重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
@@ -49,12 +49,12 @@
|
||||
</template>
|
||||
<a-col :md="!advanced && 8 || 24" :sm="24">
|
||||
<span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} ">
|
||||
<a-button type="primary">查询</a-button>
|
||||
<a-button style="margin-left: 8px">重置</a-button>
|
||||
<a @click="toggleAdvanced" style="margin-left: 8px">
|
||||
<a @click="toggleAdvanced" style="margin-right: 28px">
|
||||
{{ advanced ? '收起' : '展开' }}
|
||||
<a-icon :type="advanced ? 'up' : 'down'" />
|
||||
</a>
|
||||
<a-button type="primary">查询</a-button>
|
||||
<a-button class="resetBtn">重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
@@ -49,12 +49,12 @@
|
||||
</template>
|
||||
<a-col :md="!advanced && 8 || 24" :sm="24">
|
||||
<span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} ">
|
||||
<a-button type="primary">查询</a-button>
|
||||
<a-button style="margin-left: 8px" @click="resetSearchForm">重置</a-button>
|
||||
<a @click="toggleAdvanced" style="margin-left: 8px">
|
||||
<a @click="toggleAdvanced" style="margin-right: 28px">
|
||||
{{ advanced ? '收起' : '展开' }}
|
||||
<a-icon :type="advanced ? 'up' : 'down'"/>
|
||||
</a>
|
||||
<a-button type="primary">查询</a-button>
|
||||
<a-button class="resetBtn" @click="resetSearchForm">重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
@@ -20,10 +20,10 @@
|
||||
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
||||
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
|
||||
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
|
||||
</div>
|
||||
<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
|
||||
<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项-->
|
||||
<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<a-table
|
||||
ref="table"
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<a-col :md="6" :sm="24">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" class="resetBtn">重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
|
||||
@@ -50,10 +50,10 @@
|
||||
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
||||
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
|
||||
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
|
||||
</div>
|
||||
<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
|
||||
<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项-->
|
||||
<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<a-table
|
||||
ref="table"
|
||||
@@ -247,7 +247,7 @@ export default {
|
||||
</script>
|
||||
<style scoped>
|
||||
.ant-card-body .table-operator {
|
||||
margin-bottom: 18px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.ant-table-tbody .ant-table-row td {
|
||||
|
||||
@@ -20,10 +20,10 @@
|
||||
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
||||
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
|
||||
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
|
||||
</div>
|
||||
<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
|
||||
<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项-->
|
||||
<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<a-table
|
||||
ref="table"
|
||||
|
||||
@@ -15,21 +15,21 @@
|
||||
<j-input placeholder="请输入发送内容" v-model="queryParam.esContent"></j-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<template v-if="toggleSearchStatus">
|
||||
<!-- <template v-if="toggleSearchStatus">-->
|
||||
<a-col :md="6" :sm="8">
|
||||
<a-form-item label="接收人">
|
||||
<j-input placeholder="请输入接收人" v-model="queryParam.esReceiver"></j-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</template>
|
||||
<!-- </template>-->
|
||||
<a-col :md="6" :sm="8">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a @click="handleToggleSearch" style="margin-left: 8px">
|
||||
{{ toggleSearchStatus ? '收起' : '展开' }}
|
||||
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
|
||||
</a>
|
||||
<a-button type="default" @click="searchReset" icon="reload" class="resetBtn">重置</a-button>
|
||||
<!-- <a @click="handleToggleSearch" style="margin-left: 8px">-->
|
||||
<!-- {{ toggleSearchStatus ? '收起' : '展开' }}-->
|
||||
<!-- <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>-->
|
||||
<!-- </a>-->
|
||||
</span>
|
||||
</a-col>
|
||||
|
||||
@@ -39,11 +39,11 @@
|
||||
|
||||
<!-- 操作按钮区域 -->
|
||||
<div class="table-operator">
|
||||
<a-button @click="handleAdd" v-show="show" type="primary" icon="plus">新增</a-button>
|
||||
<a-button type="primary" v-show="show" icon="download" @click="handleExportXls('消息')">导出</a-button>
|
||||
<a-upload v-show="show" name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" :before-upload='beforeUpload'
|
||||
@change="handleImportExcel">
|
||||
<a-button type="primary" icon="import">导入</a-button>
|
||||
<a-button @click="handleAdd" v-show="show" type="default" icon="plus">新增</a-button>
|
||||
<a-button type="default" v-show="show" icon="download" @click="handleExportXls('消息')">导出</a-button>
|
||||
<a-upload v-show="show" name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl"
|
||||
@change="handleImportExcel" :before-upload='beforeUpload'>
|
||||
<a-button type="default" icon="import">导入</a-button>
|
||||
</a-upload>
|
||||
<a-dropdown v-if="selectedRowKeys.length > 0">
|
||||
<a-menu slot="overlay">
|
||||
@@ -60,11 +60,11 @@
|
||||
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
||||
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
|
||||
selectedRowKeys.length }}</a>项
|
||||
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
|
||||
</div>
|
||||
<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
|
||||
<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{-->
|
||||
<!-- selectedRowKeys.length }}</a>项-->
|
||||
<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<a-table
|
||||
ref="table"
|
||||
@@ -92,7 +92,7 @@
|
||||
<a-menu-item v-show="show">
|
||||
<a @click="handleEdit(record)">编辑</a>
|
||||
</a-menu-item>
|
||||
<a-menu-item>
|
||||
<a-menu-item v-has="'message:del'">
|
||||
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
|
||||
<a>删除</a>
|
||||
</a-popconfirm>
|
||||
@@ -206,7 +206,7 @@ export default {
|
||||
}
|
||||
|
||||
.ant-card-body .table-operator {
|
||||
margin-bottom: 18px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.ant-table-tbody .ant-table-row td {
|
||||
|
||||
@@ -16,21 +16,21 @@
|
||||
<j-input placeholder="请输入模板内容" v-model="queryParam.templateContent"></j-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<template v-if="toggleSearchStatus">
|
||||
<!-- <template v-if="toggleSearchStatus">-->
|
||||
<a-col :md="6" :sm="8">
|
||||
<a-form-item label="模板标题">
|
||||
<j-input placeholder="请输入模板标题" v-model="queryParam.templateName"></j-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</template>
|
||||
<!-- </template>-->
|
||||
<a-col :md="6" :sm="8">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a @click="handleToggleSearch" style="margin-left: 8px">
|
||||
{{ toggleSearchStatus ? '收起' : '展开' }}
|
||||
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
|
||||
</a>
|
||||
<a-button type="default" @click="searchReset" icon="reload" class="resetBtn">重置</a-button>
|
||||
<!-- <a @click="handleToggleSearch" style="margin-left: 8px">-->
|
||||
<!-- {{ toggleSearchStatus ? '收起' : '展开' }}-->
|
||||
<!-- <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>-->
|
||||
<!-- </a>-->
|
||||
</span>
|
||||
</a-col>
|
||||
|
||||
@@ -40,11 +40,11 @@
|
||||
|
||||
<!-- 操作按钮区域 -->
|
||||
<div class="table-operator">
|
||||
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
|
||||
<a-button type="primary" icon="download" @click="handleExportXls('消息模板')">导出</a-button>
|
||||
<a-button @click="handleAdd" type="default" icon="plus" v-has="'message:template:add'">新增</a-button>
|
||||
<a-button type="default" icon="download" @click="handleExportXls('消息模板')" v-has="'message:template:export'">导出</a-button>
|
||||
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl"
|
||||
@change="handleImportExcel" :before-upload='beforeUpload' accept='.xls,xlsx'>
|
||||
<a-button type="primary" icon="import">导入</a-button>
|
||||
@change="handleImportExcel" :before-upload='beforeUpload'>
|
||||
<a-button type="default" icon="import" v-has="'message:template:import'">导入</a-button>
|
||||
</a-upload>
|
||||
<a-dropdown v-if="selectedRowKeys.length > 0">
|
||||
<a-menu slot="overlay">
|
||||
@@ -61,11 +61,11 @@
|
||||
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
||||
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
|
||||
selectedRowKeys.length }}</a>项
|
||||
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
|
||||
</div>
|
||||
<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
|
||||
<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{-->
|
||||
<!-- selectedRowKeys.length }}</a>项-->
|
||||
<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<a-table
|
||||
ref="table"
|
||||
@@ -85,18 +85,18 @@
|
||||
</span>
|
||||
|
||||
<span slot="action" slot-scope="text, record">
|
||||
<a @click="handleEdit(record)">编辑</a>
|
||||
<a @click="handleEdit(record)" v-has="'message:template:edit'">编辑</a>
|
||||
|
||||
<a-divider type="vertical"/>
|
||||
<a-dropdown>
|
||||
<a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
|
||||
<a-menu slot="overlay">
|
||||
<a-menu-item>
|
||||
<a-menu-item v-has="'message:template:del'">
|
||||
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
|
||||
<a>删除</a>
|
||||
</a-popconfirm>
|
||||
</a-menu-item>
|
||||
<a-menu-item>
|
||||
<a-menu-item v-has="'message:template:send'">
|
||||
<a @click="handleTest(record)">发送测试</a>
|
||||
</a-menu-item>
|
||||
</a-menu>
|
||||
@@ -215,7 +215,7 @@ export default {
|
||||
}
|
||||
|
||||
.ant-card-body .table-operator {
|
||||
margin-bottom: 18px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.ant-table-tbody .ant-table-row td {
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<a-col :md="6" :sm="8">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" class="resetBtn">重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
@@ -44,12 +44,12 @@
|
||||
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
||||
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a
|
||||
style="font-weight: 600">{{
|
||||
selectedRowKeys.length }}</a>项
|
||||
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
|
||||
</div>
|
||||
<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
|
||||
<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a-->
|
||||
<!-- style="font-weight: 600">{{-->
|
||||
<!-- selectedRowKeys.length }}</a>项-->
|
||||
<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<a-table
|
||||
ref="table"
|
||||
|
||||
@@ -16,9 +16,9 @@
|
||||
</a-col>
|
||||
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-button type="primary" @click="searchQuery">查询</a-button>
|
||||
<a-button style="margin-left: 8px" @click="searchReset">重置</a-button>
|
||||
<a-col :md="6" :sm="8">
|
||||
<a-button type="primary" icon="search" @click="searchQuery">查询</a-button>
|
||||
<a-button type="default" class="resetBtn" icon="reload" @click="searchReset">重置</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
@@ -27,16 +27,16 @@
|
||||
|
||||
<!-- 操作按钮区域 -->
|
||||
<div class="table-operator">
|
||||
<a-button @click="handleCompare()" type="primary" icon="plus">数据比较</a-button>
|
||||
<a-button @click="handleCompare()" type="default" icon="plus">数据比较</a-button>
|
||||
</div>
|
||||
|
||||
<!--table区 -->
|
||||
<div>
|
||||
<!--已选择的清空 -->
|
||||
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
||||
<i class="anticon anticon-info-circle ant-alert-icon"></i>已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
|
||||
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
|
||||
</div>
|
||||
<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
|
||||
<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i>已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 -->
|
||||
<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
|
||||
<!-- </div>-->
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
|
||||
@@ -5,22 +5,22 @@
|
||||
|
||||
<!-- 按钮操作区域 -->
|
||||
<a-row style="margin-left: 14px">
|
||||
<a-button @click="handleAdd(1)" type="primary">添加部门</a-button>
|
||||
<a-button @click="handleAdd(2)" type="primary">添加下级</a-button>
|
||||
<a-button type="primary" icon="download" @click="handleExportXls('部门信息')">导出</a-button>
|
||||
<a-button @click="handleAdd(1)" type="default">添加部门</a-button>
|
||||
<a-button @click="handleAdd(2)" type="default">添加下级</a-button>
|
||||
<a-button type="default" icon="download" @click="handleExportXls('部门信息')">导出</a-button>
|
||||
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel" :before-upload='beforeUpload'>
|
||||
<a-button type="primary" icon="import">导入</a-button>
|
||||
<a-button type="default" icon="import">导入</a-button>
|
||||
</a-upload>
|
||||
<a-button title="删除多条数据" @click="batchDel" type="default">批量删除</a-button>
|
||||
<!--<a-button @click="refresh" type="default" icon="reload" :loading="loading">刷新</a-button>-->
|
||||
</a-row>
|
||||
<div style="background: #fff;padding-left:16px;height: 100%; margin-top: 5px">
|
||||
<a-alert type="info" :showIcon="true">
|
||||
<div slot="message">
|
||||
当前选择:<span v-if="this.currSelected.title">{{ getCurrSelectedTitle() }}</span>
|
||||
<a v-if="this.currSelected.title" style="margin-left: 10px" @click="onClearSelected">取消选择</a>
|
||||
</div>
|
||||
</a-alert>
|
||||
<!-- <a-alert type="info" :showIcon="true">-->
|
||||
<!-- <div slot="message">-->
|
||||
<!-- 当前选择:<span v-if="this.currSelected.title">{{ getCurrSelectedTitle() }}</span>-->
|
||||
<!-- <a v-if="this.currSelected.title" style="margin-left: 10px" @click="onClearSelected">取消选择</a>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-alert>-->
|
||||
<a-input-search @search="onSearch" style="width:100%;margin-top: 10px" placeholder="请输入部门名称"/>
|
||||
<!-- 树-->
|
||||
<a-col :md="10" :sm="24">
|
||||
@@ -111,7 +111,7 @@
|
||||
</template>
|
||||
</a-form-model-item>
|
||||
<a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="排序">
|
||||
<a-input-number v-model="model.departOrder" />
|
||||
<a-input-number :max="1000000" :min="1" v-model="model.departOrder" />
|
||||
</a-form-model-item>
|
||||
<a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="手机号">
|
||||
<a-input placeholder="请输入手机号" v-model="model.mobile" />
|
||||
@@ -551,7 +551,7 @@ export default {
|
||||
</script>
|
||||
<style scoped>
|
||||
.ant-card-body .table-operator {
|
||||
margin: 15px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.anty-form-btn {
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
|
||||
<!-- 按钮操作区域 -->
|
||||
<a-row style="margin: 0 0 0 14px" class="table-operator">
|
||||
<a-button @click="handleAdd(1)" type="primary">添加部门</a-button>
|
||||
<a-button @click="handleAdd(2)" type="primary">添加下级</a-button>
|
||||
<a-button type="primary" icon="download" @click="handleExportXls('部门信息')">导出</a-button>
|
||||
<a-button @click="handleAdd(1)" type="default">添加部门</a-button>
|
||||
<a-button @click="handleAdd(2)" type="default">添加下级</a-button>
|
||||
<a-button type="default" icon="download" @click="handleExportXls('部门信息')">导出</a-button>
|
||||
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel" :before-upload='beforeUpload'>
|
||||
<a-button type="primary" icon="import">导入</a-button>
|
||||
<a-button type="default" icon="import">导入</a-button>
|
||||
</a-upload>
|
||||
<j-third-app-button biz-type="depart" :selected-row-keys="selectedRowKeys" syncToApp @sync-finally="onSyncFinally"/>
|
||||
<a-button title="删除多条数据" @click="batchDel" type="default">批量删除</a-button>
|
||||
@@ -105,7 +105,7 @@
|
||||
</template>
|
||||
</a-form-model-item>
|
||||
<a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="排序" prop="departOrder">
|
||||
<a-input-number v-model="model.departOrder"/>
|
||||
<a-input-number :max="1000000" :min="1" v-model="model.departOrder"/>
|
||||
</a-form-model-item>
|
||||
<a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="手机号" prop="mobile">
|
||||
<a-input placeholder="请输入手机号" v-model="model.mobile"/>
|
||||
@@ -616,7 +616,7 @@ export default {
|
||||
</style>
|
||||
<style scoped>
|
||||
.ant-card-body .table-operator {
|
||||
margin: 15px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.anty-form-btn {
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
<a-col :md="7" :sm="24">
|
||||
<span style="float: left;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery">搜索</a-button>
|
||||
<a-button type="primary" @click="searchReset" style="margin-left: 8px">重置</a-button>
|
||||
<a-button type="primary" @click="searchReset" class="resetBtn">重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
@@ -5,34 +5,34 @@
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="12">
|
||||
<a-col :md="7" :sm="8">
|
||||
<a-col :md="6" :sm="8">
|
||||
<a-form-item label="字典名称" :labelCol="{span: 6}" :wrapperCol="{span: 14, offset: 1}">
|
||||
<j-input placeholder="请输入字典名称" v-model="queryParam.dictName"></j-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="7" :sm="8">
|
||||
<a-col :md="6" :sm="8">
|
||||
<a-form-item label="字典编号" :labelCol="{span: 6}" :wrapperCol="{span: 14, offset: 1}">
|
||||
<j-input placeholder="请输入字典编号" v-model="queryParam.dictCode"></j-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="7" :sm="8">
|
||||
<a-col :md="6" :sm="8">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a-button type="default" @click="searchReset" icon="reload" class="resetBtn">重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
|
||||
<div class="table-operator" style="border-top: 5px">
|
||||
<a-button @click="handleAdd" type="primary" icon="plus" v-has="'sys:dict:operation'">添加</a-button>
|
||||
<a-button type="primary" icon="download" @click="handleExportXls('字典信息')" v-has="'sys:dict:operation'">导出</a-button>
|
||||
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :before-upload='beforeUpload' :action="importExcelUrl" @change="handleImportExcel" v-has="'sys:dict:operation'">
|
||||
<a-button type="primary" icon="import">导入</a-button>
|
||||
<a-button @click="handleAdd" type="default" icon="plus" v-has="'sys:dict:operation'">添加</a-button>
|
||||
<a-button type="default" icon="download" @click="handleExportXls('字典信息')" v-has="'sys:dict:operation'">导出</a-button>
|
||||
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" :before-upload='beforeUpload' @change="handleImportExcel" v-has="'sys:dict:operation'">
|
||||
<a-button type="default" icon="import">导入</a-button>
|
||||
</a-upload>
|
||||
<a-button type="primary" icon="sync" @click="refleshCache()">刷新缓存</a-button>
|
||||
<a-button type="default" icon="sync" @click="refleshCache()">刷新缓存</a-button>
|
||||
|
||||
<a-button type="primary" icon="hdd" @click="openDeleteList">回收站</a-button>
|
||||
<a-button type="default" icon="hdd" @click="openDeleteList">回收站</a-button>
|
||||
</div>
|
||||
|
||||
<a-table
|
||||
|
||||
@@ -16,11 +16,11 @@
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
|
||||
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
||||
<i class="anticon anticon-info-circle ant-alert-icon"></i>已选择 <a style="font-weight: 600">{{
|
||||
selectedRowKeys.length }}</a>项
|
||||
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
|
||||
</div>
|
||||
<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
|
||||
<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i>已选择 <a style="font-weight: 600">{{-->
|
||||
<!-- selectedRowKeys.length }}</a>项 -->
|
||||
<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<a-table
|
||||
:columns="columns"
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
<a-col :md="7" :sm="8">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" class="resetBtn">重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
|
||||
<!-- 操作按钮区域 -->
|
||||
<div class="table-operator">
|
||||
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
|
||||
<a-button @click="handleAdd" type="default" icon="plus">新增</a-button>
|
||||
<a-button
|
||||
@click="batchDel"
|
||||
v-if="selectedRowKeys.length > 0"
|
||||
ghost
|
||||
type="primary"
|
||||
|
||||
type="default"
|
||||
icon="delete">批量删除
|
||||
</a-button>
|
||||
</div>
|
||||
@@ -16,11 +16,11 @@
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
|
||||
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
||||
<i class="anticon anticon-info-circle ant-alert-icon"></i>已选择 <a style="font-weight: 600">{{
|
||||
selectedRowKeys.length }}</a>项
|
||||
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
|
||||
</div>
|
||||
<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
|
||||
<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i>已选择 <a style="font-weight: 600">{{-->
|
||||
<!-- selectedRowKeys.length }}</a>项 -->
|
||||
<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<a-table
|
||||
:columns="columns"
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<a-col :md="6" :sm="10" >
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a-button type="default" @click="searchReset" icon="reload" class="resetBtn">重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
|
||||
@@ -34,10 +34,10 @@
|
||||
|
||||
<!-- 操作按钮区域 -->
|
||||
<div class="table-operator">
|
||||
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
|
||||
<a-button type="primary" icon="download" @click="handleExportXls('定时任务信息')">导出</a-button>
|
||||
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel" :before-upload='beforeUpload'>
|
||||
<a-button type="primary" icon="import">导入</a-button>
|
||||
<a-button @click="handleAdd" type="default" icon="plus">新增</a-button>
|
||||
<a-button type="default" icon="download" @click="handleExportXls('定时任务信息')">导出</a-button>
|
||||
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :before-upload='beforeUpload' :action="importExcelUrl" @change="handleImportExcel">
|
||||
<a-button type="default" icon="import">导入</a-button>
|
||||
</a-upload>
|
||||
<a-dropdown v-if="selectedRowKeys.length > 0">
|
||||
<a-menu slot="overlay">
|
||||
@@ -49,10 +49,10 @@
|
||||
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
||||
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
|
||||
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
|
||||
</div>
|
||||
<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
|
||||
<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项-->
|
||||
<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<a-table
|
||||
ref="table"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<!-- 搜索区域 -->
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="12" :sm="8">
|
||||
<a-col :md="6" :sm="8">
|
||||
<a-form-item label="角色名称" :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}">
|
||||
<j-input placeholder="" v-model="queryParam.roleName"></j-input>
|
||||
</a-form-item>
|
||||
@@ -22,17 +22,17 @@
|
||||
</a-col>
|
||||
-->
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-col :md="12" :sm="24">
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-button type="primary" @click="searchQuery" icon="search" style="margin-left: 21px">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a-button type="default" @click="searchReset" icon="reload" class="resetBtn">重置</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<!-- 操作按钮区域 -->
|
||||
<div class="table-operator" style="margin: 5px 0 10px 2px">
|
||||
<a-button @click="handleAdd" type="primary" icon="plus">新建角色</a-button>
|
||||
<div class="table-operator" style="margin: 0 0 4px 2px">
|
||||
<a-button @click="handleAdd" type="default" icon="plus">新建角色</a-button>
|
||||
<!--<a-button @click="handleEdit(model1)" type="primary" icon="plus">角色编辑</a-button>-->
|
||||
<!-- <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">-->
|
||||
<!-- <a-button type="primary" icon="import">导入</a-button>-->
|
||||
@@ -40,13 +40,13 @@
|
||||
<!-- <a-button type="primary" icon="download" @click="handleExportXls('角色管理')">导出</a-button>-->
|
||||
</div>
|
||||
|
||||
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
||||
<i class="anticon anticon-info-circle ant-alert-icon">
|
||||
</i> 已选择 <a><b>{{ selectedRowKeys1.length }}</b></a>项
|
||||
<a style="margin-left: 24px" @click="onClearSelected1">清空</a>
|
||||
</div>
|
||||
<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
|
||||
<!-- <i class="anticon anticon-info-circle ant-alert-icon">-->
|
||||
<!-- </i> 已选择 <a><b>{{ selectedRowKeys1.length }}</b></a>项-->
|
||||
<!-- <a style="margin-left: 24px" @click="onClearSelected1">清空</a>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<div style="margin-top: 15px">
|
||||
<div >
|
||||
<a-table
|
||||
style="height:500px"
|
||||
ref="table"
|
||||
@@ -107,7 +107,7 @@
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-col :md="9" :sm="24">
|
||||
<a-button type="primary" @click="searchQuery2" icon="search" style="margin-left: 21px">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset2" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a-button type="primary" @click="searchReset2" icon="reload" class="resetBtn">重置</a-button>
|
||||
|
||||
</a-col>
|
||||
</span>
|
||||
@@ -134,11 +134,11 @@
|
||||
</div>
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
||||
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
|
||||
selectedRowKeys2.length }}</a>项
|
||||
<a style="margin-left: 24px" @click="onClearSelected2">清空</a>
|
||||
</div>
|
||||
<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
|
||||
<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{-->
|
||||
<!-- selectedRowKeys2.length }}</a>项-->
|
||||
<!-- <a style="margin-left: 24px" @click="onClearSelected2">清空</a>-->
|
||||
<!-- </div>-->
|
||||
<a-table
|
||||
style="height:500px"
|
||||
ref="table2"
|
||||
|
||||
@@ -6,15 +6,15 @@
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
|
||||
<a-col :span="6">
|
||||
<a-col :md="6" :sm="8">
|
||||
<a-form-item label="标题">
|
||||
<a-input placeholder="请输入标题" v-model="queryParam.titile"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="8">
|
||||
<a-col :md="6" :sm="8">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a-button type="default" @click="searchReset" icon="reload" class="resetBtn">重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
<!-- 操作按钮区域 -->
|
||||
<div class="table-operator">
|
||||
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
|
||||
<a-button @click="handleAdd" type="default" icon="plus" v-has="'annount:cement:add'">新增</a-button>
|
||||
<a-dropdown v-if="selectedRowKeys.length > 0">
|
||||
<a-menu slot="overlay">
|
||||
<a-menu-item key="1" @click="batchDel">
|
||||
@@ -40,10 +40,10 @@
|
||||
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
||||
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
|
||||
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
|
||||
</div>
|
||||
<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
|
||||
<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项-->
|
||||
<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<a-table
|
||||
ref="table"
|
||||
@@ -58,23 +58,23 @@
|
||||
@change="handleTableChange">
|
||||
|
||||
<span slot="action" slot-scope="text, record">
|
||||
<a v-if="(record.sendStatus + '') === '0'" @click="handleEdit(record)">编辑</a>
|
||||
<a v-has="'annount:cement:edit'" v-if="(record.sendStatus + '') === '0'" @click="handleEdit(record)">编辑</a>
|
||||
|
||||
<a-divider type="vertical" v-if="(record.sendStatus + '') === '0'"/>
|
||||
<a-dropdown>
|
||||
<a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
|
||||
<a-menu slot="overlay">
|
||||
<a-menu-item v-if="(record.sendStatus + '') !== '1'">
|
||||
<a-menu-item v-if="(record.sendStatus + '') !== '1'" v-has="'annount:cement:del'">
|
||||
<a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
|
||||
<a>删除</a>
|
||||
<a >删除</a>
|
||||
</a-popconfirm>
|
||||
</a-menu-item>
|
||||
<a-menu-item v-if="(record.sendStatus + '') === '0'">
|
||||
<a-menu-item v-if="(record.sendStatus + '') === '0'" v-has="'annount:cement:send'">
|
||||
<a-popconfirm title="确定发布吗?" @confirm="() => releaseData(record.id)">
|
||||
<a>发布</a>
|
||||
</a-popconfirm>
|
||||
</a-menu-item>
|
||||
<a-menu-item v-if="(record.sendStatus + '') === '1'">
|
||||
<a-menu-item v-if="(record.sendStatus + '') === '1'" v-has="'annount:cement:reback'">
|
||||
<a-popconfirm title="确定撤销吗?" @confirm="() => reovkeData(record.id)">
|
||||
<a>撤销</a>
|
||||
</a-popconfirm>
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
|
||||
<!-- 操作按钮区域 -->
|
||||
<div class="table-operator">
|
||||
<a-button @click="handleAdd" type="primary" icon="plus" v-has="'sys:category:add'">新增</a-button>
|
||||
<a-button type="primary" icon="download" @click="handleExportXls('分类字典')" v-has="'sys:category:export'">导出</a-button>
|
||||
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel" :before-upload='beforeUpload' v-has="'sys:category:import'">
|
||||
<a-button type="primary" icon="import">导入</a-button>
|
||||
<a-button @click="handleAdd" type="default" icon="plus" v-has="'sys:category:add'">新增</a-button>
|
||||
<a-button type="default" icon="download" @click="handleExportXls('分类字典')" v-has="'sys:category:export'">导出</a-button>
|
||||
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" :before-upload='beforeUpload' @change="handleImportExcel" v-has="'sys:category:import'">
|
||||
<a-button type="default" icon="import">导入</a-button>
|
||||
</a-upload>
|
||||
<a-dropdown v-if="selectedRowKeys.length > 0" v-has="'sys:category:del'">
|
||||
<a-menu slot="overlay">
|
||||
@@ -18,10 +18,10 @@
|
||||
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
||||
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
|
||||
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
|
||||
</div>
|
||||
<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
|
||||
<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项-->
|
||||
<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<a-table
|
||||
ref="table"
|
||||
|
||||
@@ -21,11 +21,11 @@
|
||||
<a-col :md="6" :sm="8">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a @click="handleToggleSearch" style="margin-left: 8px">
|
||||
{{ toggleSearchStatus ? '收起' : '展开' }}
|
||||
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
|
||||
</a>
|
||||
<a-button type="default" @click="searchReset" icon="reload" class="resetBtn">重置</a-button>
|
||||
<!-- <a @click="handleToggleSearch" style="margin-left: 8px">-->
|
||||
<!-- {{ toggleSearchStatus ? '收起' : '展开' }}-->
|
||||
<!-- <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>-->
|
||||
<!-- </a>-->
|
||||
</span>
|
||||
</a-col>
|
||||
|
||||
@@ -35,10 +35,10 @@
|
||||
|
||||
<!-- 操作按钮区域 -->
|
||||
<div class="table-operator">
|
||||
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
|
||||
<a-button type="primary" icon="download" @click="handleExportXls('编码校验规则')">导出</a-button>
|
||||
<a-button @click="handleAdd" type="default" icon="plus">新增</a-button>
|
||||
<a-button type="default" icon="download" @click="handleExportXls('编码校验规则')">导出</a-button>
|
||||
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel" :before-upload='beforeUpload'>
|
||||
<a-button type="primary" icon="import">导入</a-button>
|
||||
<a-button type="default" icon="import">导入</a-button>
|
||||
</a-upload>
|
||||
<a-dropdown v-if="selectedRowKeys.length > 0">
|
||||
<a-menu slot="overlay">
|
||||
@@ -54,17 +54,17 @@
|
||||
</div>
|
||||
|
||||
<!-- table区域-begin -->
|
||||
<a-alert type="info" showIcon style="margin-bottom: 16px;">
|
||||
<template slot="message">
|
||||
<span>已选择</span>
|
||||
<a style="font-weight: 600;padding: 0 4px;">{{ selectedRowKeys.length }}</a>
|
||||
<span>项</span>
|
||||
<template v-if="selectedRowKeys.length>0">
|
||||
<a-divider type="vertical"/>
|
||||
<a @click="onClearSelected">清空</a>
|
||||
</template>
|
||||
</template>
|
||||
</a-alert>
|
||||
<!-- <a-alert type="info" showIcon style="margin-bottom: 16px;">-->
|
||||
<!-- <template slot="message">-->
|
||||
<!-- <span>已选择</span>-->
|
||||
<!-- <a style="font-weight: 600;padding: 0 4px;">{{ selectedRowKeys.length }}</a>-->
|
||||
<!-- <span>项</span>-->
|
||||
<!-- <template v-if="selectedRowKeys.length>0">-->
|
||||
<!-- <a-divider type="vertical"/>-->
|
||||
<!-- <a @click="onClearSelected">清空</a>-->
|
||||
<!-- </template>-->
|
||||
<!-- </template>-->
|
||||
<!-- </a-alert>-->
|
||||
|
||||
<a-table
|
||||
ref="table"
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
<a-col :md="6" :sm="8">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a-button type="default" @click="searchReset" icon="reload" class="resetBtn">重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
|
||||
@@ -31,10 +31,10 @@
|
||||
|
||||
<!-- 操作按钮区域 -->
|
||||
<div class="table-operator">
|
||||
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
|
||||
<a-button type="primary" icon="download" @click="handleExportXls('多数据源管理')">导出</a-button>
|
||||
<a-button @click="handleAdd" type="default" icon="plus">新增</a-button>
|
||||
<a-button type="default" icon="download" @click="handleExportXls('多数据源管理')">导出</a-button>
|
||||
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel" :before-upload='beforeUpload'>
|
||||
<a-button type="primary" icon="import">导入</a-button>
|
||||
<a-button type="default" icon="import">导入</a-button>
|
||||
</a-upload>
|
||||
<a-dropdown v-if="selectedRowKeys.length > 0">
|
||||
<a-menu slot="overlay">
|
||||
@@ -52,14 +52,14 @@
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
|
||||
<a-alert type="info" showIcon style="margin-bottom: 16px;">
|
||||
<template slot="message">
|
||||
<span>已选择</span>
|
||||
<a style="font-weight: 600;padding: 0 4px;">{{ selectedRowKeys.length }}</a>
|
||||
<span>项</span>
|
||||
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
|
||||
</template>
|
||||
</a-alert>
|
||||
<!-- <a-alert type="info" showIcon style="margin-bottom: 16px;">-->
|
||||
<!-- <template slot="message">-->
|
||||
<!-- <span>已选择</span>-->
|
||||
<!-- <a style="font-weight: 600;padding: 0 4px;">{{ selectedRowKeys.length }}</a>-->
|
||||
<!-- <span>项</span>-->
|
||||
<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
|
||||
<!-- </template>-->
|
||||
<!-- </a-alert>-->
|
||||
|
||||
<a-table
|
||||
ref="table"
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<a-col :md="6" :sm="8">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a-button type="default" @click="searchReset" icon="reload" class="resetBtn">重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
@@ -27,10 +27,10 @@
|
||||
|
||||
<!-- 操作按钮区域 -->
|
||||
<div class="table-operator">
|
||||
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
|
||||
<a-button type="primary" icon="download" @click="handleExportXls('填值规则')">导出</a-button>
|
||||
<a-button @click="handleAdd" type="default" icon="plus">新增</a-button>
|
||||
<a-button type="default" icon="download" @click="handleExportXls('填值规则')">导出</a-button>
|
||||
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel" :before-upload='beforeUpload'>
|
||||
<a-button type="primary" icon="import">导入</a-button>
|
||||
<a-button type="default" icon="import">导入</a-button>
|
||||
</a-upload>
|
||||
<a-dropdown v-if="selectedRowKeys.length > 0">
|
||||
<a-menu slot="overlay">
|
||||
@@ -46,17 +46,17 @@
|
||||
</div>
|
||||
|
||||
<!-- table区域-begin -->
|
||||
<a-alert type="info" showIcon style="margin-bottom: 16px;">
|
||||
<template slot="message">
|
||||
<span>已选择</span>
|
||||
<a style="font-weight: 600;padding: 0 4px;">{{ selectedRowKeys.length }}</a>
|
||||
<span>项</span>
|
||||
<template v-if="selectedRowKeys.length>0">
|
||||
<a-divider type="vertical"/>
|
||||
<a @click="onClearSelected">清空</a>
|
||||
</template>
|
||||
</template>
|
||||
</a-alert>
|
||||
<!-- <a-alert type="info" showIcon style="margin-bottom: 16px;">-->
|
||||
<!-- <template slot="message">-->
|
||||
<!-- <span>已选择</span>-->
|
||||
<!-- <a style="font-weight: 600;padding: 0 4px;">{{ selectedRowKeys.length }}</a>-->
|
||||
<!-- <span>项</span>-->
|
||||
<!-- <template v-if="selectedRowKeys.length>0">-->
|
||||
<!-- <a-divider type="vertical"/>-->
|
||||
<!-- <a @click="onClearSelected">清空</a>-->
|
||||
<!-- </template>-->
|
||||
<!-- </template>-->
|
||||
<!-- </a-alert>-->
|
||||
|
||||
<a-table
|
||||
ref="table"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<a-card :bordered="false">
|
||||
<!-- 操作按钮区域 -->
|
||||
<div class="table-operator">
|
||||
<a-button @click="showModal(null)" type="primary" icon="plus">新增</a-button>
|
||||
<a-button @click="showModal(null)" type="default" icon="plus">新增</a-button>
|
||||
</div>
|
||||
<div>
|
||||
<a-table
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<a-col :md="6" :sm="8">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a-button type="default" @click="searchReset" icon="reload" class="resetBtn">重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
@@ -22,10 +22,10 @@
|
||||
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
||||
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
|
||||
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
|
||||
</div>
|
||||
<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
|
||||
<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项-->
|
||||
<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<a-table
|
||||
ref="table"
|
||||
@@ -49,7 +49,7 @@
|
||||
|
||||
<span slot="action" slot-scope="text, record">
|
||||
<a-popconfirm title="强制退出用户?" @confirm="() => handleForce(record)">
|
||||
<a-button type="danger">强退</a-button>
|
||||
<a>强退</a>
|
||||
</a-popconfirm>
|
||||
</span>
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
<!-- 操作按钮区域 -->
|
||||
<div class="table-operator">
|
||||
<a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
|
||||
<a-button @click="handleAdd" type="default" icon="plus">新增</a-button>
|
||||
<a-dropdown v-if="selectedRowKeys.length > 0">
|
||||
<a-menu slot="overlay">
|
||||
<a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
|
||||
@@ -22,10 +22,10 @@
|
||||
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
||||
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
|
||||
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
|
||||
</div>
|
||||
<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
|
||||
<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项-->
|
||||
<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<a-table
|
||||
ref="table"
|
||||
|
||||
@@ -5,21 +5,21 @@
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
|
||||
<a-col :span="6">
|
||||
<a-col :md="6" :sm="8">
|
||||
<a-form-item label="标题">
|
||||
<a-input placeholder="请输入标题" v-model="queryParam.titile"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="6">
|
||||
<a-col :md="6" :sm="8">
|
||||
<a-form-item label="发布人">
|
||||
<a-input placeholder="请输入发布人" v-model="queryParam.sender"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :span="8" >
|
||||
<a-col :md="6" :sm="8" >
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a-button type="default" @click="searchReset" icon="reload" class="resetBtn">重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
</div>
|
||||
|
||||
<div class="table-operator">
|
||||
<a-button type="primary" @click="readAll" icon="book">全部标注已读</a-button>
|
||||
<a-button type="default" @click="readAll" icon="book">全部标注已读</a-button>
|
||||
</div>
|
||||
|
||||
<a-table
|
||||
@@ -181,7 +181,7 @@ export default {
|
||||
</script>
|
||||
<style scoped>
|
||||
.ant-card-body .table-operator{
|
||||
margin-bottom: 18px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.anty-row-operator button{margin: 0 5px}
|
||||
.ant-btn-danger{background-color: #ffffff}
|
||||
@@ -189,4 +189,7 @@ export default {
|
||||
.ant-modal-cust-warp{height: 100%}
|
||||
.ant-modal-cust-warp .ant-modal-body{height:calc(100% - 110px) !important;overflow-y: auto}
|
||||
.ant-modal-cust-warp .ant-modal-content{height:90% !important;overflow-y: hidden}
|
||||
.ant-table-thead > tr > th, .ant-table-tbody > tr > td{
|
||||
padding: 9px 8px !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
|
||||
<a-col :md="6" :sm="12">
|
||||
<a-col :md="6" :sm="8">
|
||||
<a-form-item label="账号">
|
||||
<j-input placeholder="输入账号模糊查询" v-model="queryParam.username"></j-input>
|
||||
</a-form-item>
|
||||
@@ -22,13 +22,13 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<template v-if="toggleSearchStatus">
|
||||
|
||||
<a-col :md="6" :sm="8">
|
||||
<a-form-item label="真实名字">
|
||||
<j-input placeholder="请输入真实名字" v-model="queryParam.realname"></j-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<template v-if="toggleSearchStatus">
|
||||
<a-col :md="6" :sm="8">
|
||||
<a-form-item label="手机号码">
|
||||
<a-input placeholder="请输入完整手机号精准查询" v-model="queryParam.phone"></a-input>
|
||||
@@ -74,12 +74,12 @@
|
||||
|
||||
<a-col :md="6" :sm="8">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a @click="handleToggleSearch" style="margin-left: 8px">
|
||||
<a @click="handleToggleSearch" style="margin-right: 28px">
|
||||
{{ toggleSearchStatus ? '收起' : '展开' }}
|
||||
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
|
||||
</a>
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="default" @click="searchReset" icon="reload" class="resetBtn">重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
|
||||
@@ -89,13 +89,13 @@
|
||||
|
||||
<!-- 操作按钮区域 -->
|
||||
<div class="table-operator" style="border-top: 5px">
|
||||
<a-button @click="handleAdd" type="primary" icon="plus" >添加用户</a-button>
|
||||
<a-button type="primary" icon="download" @click="handleExportXls('用户信息')">导出</a-button>
|
||||
<a-button @click="handleAdd" type="default" icon="plus" >添加用户</a-button>
|
||||
<a-button type="default" icon="download" @click="handleExportXls('用户信息')">导出</a-button>
|
||||
<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel" :before-upload='beforeUpload'>
|
||||
<a-button type="primary" icon="import">导入</a-button>
|
||||
<a-button type="default" icon="import">导入</a-button>
|
||||
</a-upload>
|
||||
<a-button type="primary" icon="hdd" @click="recycleBinVisible=true">回收站</a-button>
|
||||
<a-button type="primary" icon="hdd" @click="roleAssignment">角色配置</a-button>
|
||||
<a-button type="default" icon="hdd" @click="recycleBinVisible=true">回收站</a-button>
|
||||
<a-button type="default" icon="hdd" @click="roleAssignment">角色配置</a-button>
|
||||
<a-dropdown v-if="selectedRowKeys.length > 0">
|
||||
<a-menu slot="overlay" @click="handleMenuClick">
|
||||
<a-menu-item key="1">
|
||||
@@ -121,10 +121,10 @@
|
||||
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
||||
<i class="anticon anticon-info-circle ant-alert-icon"></i>已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
|
||||
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
|
||||
</div>
|
||||
<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
|
||||
<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i>已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项 -->
|
||||
<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<a-table
|
||||
ref="table"
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-col :md="6" :sm="24" >
|
||||
<a-button type="primary" style="left: 10px" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px;left: 10px">重置</a-button>
|
||||
<a-button type="defaultdefault" @click="searchReset" icon="reload" style="margin-left: 8px;left: 10px">重置</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :md="6" :sm="10">
|
||||
<a-col :md="6" :sm="8">
|
||||
<a-form-item label="创建时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-range-picker
|
||||
style="width: 210px"
|
||||
@@ -23,18 +23,17 @@
|
||||
/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :md="5" :sm="8">
|
||||
<a-col :md="6" :sm="8">
|
||||
<a-form-item label="操作类型" style="left: 10px">
|
||||
<j-dict-select-tag v-model="queryParam.operateType" placeholder="请选择操作类型" dictCode="operate_type"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-col :md="6" :sm="24" >
|
||||
<a-button type="primary" style="left: 10px" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px;left: 10px">重置</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
<a-col :md="6" :sm="8" >
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="default" @click="searchReset" icon="reload" class='resetBtn'>重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
|
||||
</a-row>
|
||||
</a-form>
|
||||
@@ -127,10 +126,16 @@ export default {
|
||||
align: 'center',
|
||||
sorter: true
|
||||
},
|
||||
// {
|
||||
// title: '日志类型',
|
||||
// dataIndex: 'logType_dictText',
|
||||
// align: 'center'
|
||||
// },
|
||||
{
|
||||
title: '日志类型',
|
||||
dataIndex: 'logType_dictText',
|
||||
title: '操作类型',
|
||||
dataIndex: 'operateType_dictText',
|
||||
align: 'center'
|
||||
|
||||
},
|
||||
{
|
||||
title: '创建时间',
|
||||
@@ -138,6 +143,7 @@ export default {
|
||||
align: 'center',
|
||||
sorter: true
|
||||
}
|
||||
|
||||
],
|
||||
operateColumn:
|
||||
{
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-button type="primary" @click="searchQuery" icon="search" style="margin-left: 18px">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" class="resetBtn">重置</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
prop="departName"
|
||||
:hidden="false"
|
||||
:hasFeedback="true" >
|
||||
<a-input id="departName" placeholder="请输入机构/部门名称" v-model="model.departName"/>
|
||||
<a-input id="departName" :maxLength='100' placeholder="请输入机构/部门名称" v-model="model.departName"/>
|
||||
</a-form-model-item>
|
||||
<a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" :hidden="seen" label="上级部门" :hasFeedback="true">
|
||||
<a-tree-select
|
||||
@@ -64,25 +64,25 @@
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
label="传真">
|
||||
<a-input placeholder="请输入传真" v-model="model.fax"/>
|
||||
<a-input :maxLength='32' placeholder="请输入传真" v-model="model.fax"/>
|
||||
</a-form-model-item>
|
||||
<a-form-model-item
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
label="地址">
|
||||
<a-input placeholder="请输入地址" v-model="model.address"/>
|
||||
<a-input :maxLength='100' placeholder="请输入地址" v-model="model.address"/>
|
||||
</a-form-model-item>
|
||||
<a-form-model-item
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
label="排序">
|
||||
<a-input-number v-model="model.departOrder"/>
|
||||
<a-input-number :max="1000000" :min="1" v-model="model.departOrder"/>
|
||||
</a-form-model-item>
|
||||
<a-form-model-item
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
label="备注">
|
||||
<a-textarea placeholder="请输入备注" v-model="model.memo"/>
|
||||
<a-textarea :maxLength='200' placeholder="请输入备注" v-model="model.memo"/>
|
||||
</a-form-model-item>
|
||||
|
||||
</a-form-model>
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
label="排序">
|
||||
<a-input-number style="border:0;" v-model="model.departOrder"/>
|
||||
<a-input-number :max="1000000" :min="1" style="border:0;" v-model="model.departOrder"/>
|
||||
</a-form-model-item>
|
||||
<a-form-model-item
|
||||
:labelCol="labelCol"
|
||||
|
||||
@@ -13,17 +13,17 @@
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-col :md="6" :sm="24">
|
||||
<a-button type="primary" @click="searchQuery" icon="search" style="margin-left: 18px">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a-button type="default" @click="searchReset" icon="reload" class="resetBtn">重置</a-button>
|
||||
</a-col>
|
||||
</span>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<!-- 操作按钮区域 -->
|
||||
<div class="table-operator" style="margin-top: -15px">
|
||||
<div class="table-operator" style="">
|
||||
<!--<a-button @click="handleEdit" type="primary" icon="edit" style="margin-top: 16px">用户编辑</a-button>-->
|
||||
<a-button @click="handleAddUserDepart" type="primary" icon="plus">添加已有用户</a-button>
|
||||
<a-button @click="handleAdd" type="primary" icon="plus" style="margin-top: 16px">新建用户</a-button>
|
||||
<a-button @click="handleAddUserDepart" type="default" icon="plus">添加已有用户</a-button>
|
||||
<a-button @click="handleAdd" type="default" icon="plus" >新建用户</a-button>
|
||||
|
||||
<a-dropdown v-if="selectedRowKeys.length > 0">
|
||||
<a-menu slot="overlay">
|
||||
@@ -40,11 +40,11 @@
|
||||
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
<div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
|
||||
<i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{
|
||||
selectedRowKeys.length }}</a>项
|
||||
<a style="margin-left: 24px" @click="onClearSelected">清空</a>
|
||||
</div>
|
||||
<!-- <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">-->
|
||||
<!-- <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{-->
|
||||
<!-- selectedRowKeys.length }}</a>项-->
|
||||
<!-- <a style="margin-left: 24px" @click="onClearSelected">清空</a>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<a-table
|
||||
ref="table"
|
||||
@@ -316,6 +316,6 @@ export default {
|
||||
|
||||
.table-page-search-wrapper {
|
||||
margin-top: -16px;
|
||||
margin-bottom: 16px;
|
||||
/*margin-bottom: 16px;*/
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<a-input :type="passwordType" placeholder="请输入登录密码" v-decorator="[ 'password', validatorRules.password]" >
|
||||
<a-icon title="显示密码" @click="passwordType='text'" slot="suffix" v-if="passwordType==='password'" type="eye" :style="{ color: '#B3B7C2',fontSize:'20px' }"/>
|
||||
<a-icon title="隐藏密码" @click="passwordType='password'" slot="suffix" v-else type="eye-invisible" :style="{ color: '#B3B7C2',fontSize:'20px' }"/>
|
||||
<!-- <a-icon slot="prefix" type="lock" :style="{ color: '#B3B7C2',fontSize:'20px' }"/>-->
|
||||
<!-- <a-icon slot="prefix" type="lock" :style="{ color: '#B3B7C2',fontSize:'20px' }"/>-->
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
<a-input :type="passwordType2" @blur="handleConfirmBlur" placeholder="请重新输入登录密码" v-decorator="[ 'confirmpassword', validatorRules.confirmpassword]">
|
||||
<a-icon title="显示密码" @click="passwordType2='text'" slot="suffix" v-if="passwordType2==='password'" type="eye" :style="{ color: '#B3B7C2',fontSize:'20px' }"/>
|
||||
<a-icon title="隐藏密码" @click="passwordType2='password'" slot="suffix" v-else type="eye-invisible" :style="{ color: '#B3B7C2',fontSize:'20px' }"/>
|
||||
<!-- <a-icon slot="prefix" type="lock" :style="{ color: '#B3B7C2',fontSize:'20px' }"/>-->
|
||||
<!-- <a-icon slot="prefix" type="lock" :style="{ color: '#B3B7C2',fontSize:'20px' }"/>-->
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
|
||||
@@ -44,8 +44,8 @@ export default {
|
||||
name: 'PasswordModal',
|
||||
data () {
|
||||
return {
|
||||
passwordType: 'password',
|
||||
passwordType2: 'password',
|
||||
passwordType: 'password',
|
||||
visible: false,
|
||||
confirmLoading: false,
|
||||
confirmDirty: false,
|
||||
|
||||
@@ -73,7 +73,6 @@
|
||||
</a-form-model-item>
|
||||
|
||||
<a-form-model-item
|
||||
v-show="!show"
|
||||
:labelCol="labelCol"
|
||||
:wrapperCol="wrapperCol"
|
||||
prop="perms"
|
||||
@@ -114,7 +113,7 @@
|
||||
:wrapperCol="wrapperCol"
|
||||
prop="sortNo"
|
||||
label="排序">
|
||||
<a-input-number placeholder="请输入菜单排序" v-model="model.sortNo" style="width: 200px" :readOnly="disableSubmit"/>
|
||||
<a-input-number :max="1000000" :min="1" placeholder="请输入菜单排序" v-model="model.sortNo" style="width: 200px" :readOnly="disableSubmit"/>
|
||||
</a-form-model-item>
|
||||
|
||||
<a-form-model-item
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
<a-form-item label="性别">
|
||||
<a-select v-model="queryParam.sex" placeholder="请选择性别">
|
||||
<a-select-option value="">请选择性别查询</a-select-option>
|
||||
<a-select-option value="1">男性</a-select-option>
|
||||
<a-select-option value="2">女性</a-select-option>
|
||||
<a-select-option value="1">男</a-select-option>
|
||||
<a-select-option value="2">女</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
@@ -45,7 +45,7 @@
|
||||
<a-select v-model="queryParam.status" placeholder="请选择状态">
|
||||
<a-select-option value="">请选择状态</a-select-option>
|
||||
<a-select-option value="1">正常</a-select-option>
|
||||
<a-select-option value="2">解冻</a-select-option>
|
||||
<a-select-option value="2">冻结</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
@@ -53,12 +53,13 @@
|
||||
|
||||
<a-col :span="6" >
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchByquery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a @click="handleToggleSearch" style="margin-left: 8px">
|
||||
<a @click="handleToggleSearch" style="margin-right: 28px">
|
||||
{{ toggleSearchStatus ? '收起' : '展开' }}
|
||||
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
|
||||
</a>
|
||||
<a-button type="primary" @click="searchByquery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" class="resetBtn">重置</a-button>
|
||||
|
||||
</span>
|
||||
</a-col>
|
||||
|
||||
@@ -270,7 +271,7 @@ export default {
|
||||
</script>
|
||||
<style scoped>
|
||||
.ant-card-body .table-operator{
|
||||
margin-bottom: 18px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.ant-table-tbody .ant-table-row td{
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
<a-col :span="8">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
<a-button type="primary" @click="searchReset" icon="reload" class="resetBtn">重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
|
||||
@@ -253,7 +253,7 @@ export default {
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.ant-card-body .table-operator {
|
||||
margin-bottom: 18px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.ant-table-tbody .ant-table-row td {
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
:wrapperCol="wrapperCol"
|
||||
prop="titile"
|
||||
label="标题">
|
||||
<a-input placeholder="请输入标题" v-model="model.titile" :readOnly="disableSubmit"/>
|
||||
<a-input :maxLength='100' placeholder="请输入标题" v-model="model.titile" :readOnly="disableSubmit"/>
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="24/2">
|
||||
|
||||
@@ -126,9 +126,9 @@
|
||||
</a-spin>
|
||||
|
||||
<div class="drawer-bootom-button" v-show="!disableSubmit">
|
||||
<!-- <a-popconfirm title="确定放弃编辑?" @confirm="handleCancel" okText="确定" cancelText="取消">-->
|
||||
<a-button style="margin-right: .8rem" @click="handleCancel">取消</a-button>
|
||||
<!-- </a-popconfirm>-->
|
||||
<!-- <a-popconfirm title="确定放弃编辑?" @confirm="handleCancel" okText="确定" cancelText="取消">-->
|
||||
<a-button style="margin-right: .8rem" @click="handleCancel">取消</a-button>
|
||||
<!-- </a-popconfirm>-->
|
||||
<a-button @click="handleSubmit" type="primary" :loading="confirmLoading">提交</a-button>
|
||||
</div>
|
||||
|
||||
@@ -521,7 +521,7 @@ export default {
|
||||
|
||||
.drawer-bootom-button {
|
||||
position: absolute;
|
||||
bottom: -8px;
|
||||
bottom: 0px;
|
||||
width: 100%;
|
||||
border-top: 1px solid #e8e8e8;
|
||||
padding: 10px 16px;
|
||||
@@ -530,4 +530,7 @@ export default {
|
||||
background: #fff;
|
||||
border-radius: 0 0 2px 2px;
|
||||
}
|
||||
.ant-form {
|
||||
padding-bottom: 25px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -7,21 +7,21 @@
|
||||
cancelText="关闭"
|
||||
:okButtonProps="{style:{display:'none'}}"
|
||||
>
|
||||
<a-alert type="info" showIcon style="margin-bottom: 16px;">
|
||||
<template slot="message">
|
||||
<span>已选择</span>
|
||||
<a style="font-weight: 600;padding: 0 4px;">{{ selectedRowKeys.length }}</a>
|
||||
<span>项</span>
|
||||
<template v-if="selectedRowKeys.length>0">
|
||||
<a-divider type="vertical"/>
|
||||
<a @click="handleClearSelection">清空选择</a>
|
||||
<a-divider type="vertical"/>
|
||||
<a @click="handleRevertBatch">批量还原</a>
|
||||
<a-divider type="vertical"/>
|
||||
<a @click="handleDeleteBatch">批量删除</a>
|
||||
</template>
|
||||
</template>
|
||||
</a-alert>
|
||||
<!-- <a-alert type="info" showIcon style="margin-bottom: 16px;">-->
|
||||
<!-- <template slot="message">-->
|
||||
<!-- <span>已选择</span>-->
|
||||
<!-- <a style="font-weight: 600;padding: 0 4px;">{{ selectedRowKeys.length }}</a>-->
|
||||
<!-- <span>项</span>-->
|
||||
<!-- <template v-if="selectedRowKeys.length>0">-->
|
||||
<!-- <a-divider type="vertical"/>-->
|
||||
<!-- <a @click="handleClearSelection">清空选择</a>-->
|
||||
<!-- <a-divider type="vertical"/>-->
|
||||
<!-- <a @click="handleRevertBatch">批量还原</a>-->
|
||||
<!-- <a-divider type="vertical"/>-->
|
||||
<!-- <a @click="handleDeleteBatch">批量删除</a>-->
|
||||
<!-- </template>-->
|
||||
<!-- </template>-->
|
||||
<!-- </a-alert>-->
|
||||
|
||||
<a-table
|
||||
ref="table"
|
||||
|
||||
@@ -42,9 +42,9 @@
|
||||
树操作 <a-icon type="up" />
|
||||
</a-button>
|
||||
</a-dropdown>
|
||||
<!-- <a-popconfirm title="确定放弃编辑?" @confirm="close" okText="确定" cancelText="取消">-->
|
||||
<a-button style="margin-right: .8rem" @click="close">取消</a-button>
|
||||
<!-- </a-popconfirm>-->
|
||||
<!-- <a-popconfirm title="确定放弃编辑?" @confirm="close" okText="确定" cancelText="取消">-->
|
||||
<a-button style="margin-right: .8rem" @click="close">取消</a-button>
|
||||
<!-- </a-popconfirm>-->
|
||||
<a-button @click="handleSubmit(false)" type="primary" :loading="loading" ghost style="margin-right: 0.8rem">仅保存</a-button>
|
||||
<a-button @click="handleSubmit(true)" type="primary" :loading="loading">保存并关闭</a-button>
|
||||
</div>
|
||||
|
||||
+146
-116
@@ -1,8 +1,19 @@
|
||||
<template>
|
||||
<div class="main">
|
||||
<a-form v-if="!mobile" :form="form" class="user-layout-login" ref="formLogin" id="formLogin">
|
||||
<div class="login-box">
|
||||
<div class="login-left">
|
||||
<div class="logo-image">
|
||||
<!-- <img src='@/assets/logo.png' alt=''>-->
|
||||
<!-- <img src='@/assets/logo_name.png' alt=''>-->
|
||||
</div>
|
||||
</div>
|
||||
<a-form v-if="!mobile" :form="form" class="user-layout-login login-right" ref="formLogin" id="formLogin">
|
||||
<div class="user-box">
|
||||
<span class="title">用户登录</span>
|
||||
<span class="title">账号登录</span>
|
||||
<a-row>
|
||||
<a-col :span="3"></a-col>
|
||||
<label class="lable-font">账号</label>
|
||||
</a-row>
|
||||
<a-row>
|
||||
<a-col :span="3"></a-col>
|
||||
<a-col :span="18">
|
||||
@@ -12,12 +23,15 @@
|
||||
v-decorator="['username',{initialValue:'', rules: validatorRules.username.rules,validateTrigger: 'blur'}]"
|
||||
type="text"
|
||||
placeholder="请输入帐号">
|
||||
<a-icon slot="prefix" type="user" :style="{ color: '#B3B7C2',fontSize:'20px' }"/>
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="3"></a-col>
|
||||
</a-row>
|
||||
<a-row>
|
||||
<a-col :span="3"></a-col>
|
||||
<label class="lable-font">密码</label>
|
||||
</a-row>
|
||||
<a-row>
|
||||
<a-col :span="3"></a-col>
|
||||
<a-col :span="18">
|
||||
@@ -37,6 +51,10 @@
|
||||
</a-col>
|
||||
<a-col :span="3"></a-col>
|
||||
</a-row>
|
||||
<a-row>
|
||||
<a-col :span="3"></a-col>
|
||||
<label class="lable-font">验证码</label>
|
||||
</a-row>
|
||||
<a-row style="margin-bottom: 0;">
|
||||
<a-col :span="3"></a-col>
|
||||
<a-col :span="12">
|
||||
@@ -48,7 +66,6 @@
|
||||
@change="inputCodeChange"
|
||||
autocomplete="off"
|
||||
placeholder="请输入验证码">
|
||||
<a-icon slot="prefix" type="safety" :style="{ color: '#B3B7C2',fontSize:'20px'}"/>
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
@@ -62,7 +79,7 @@
|
||||
<a-col :span="3"></a-col>
|
||||
<a-col :span="7">
|
||||
<a-form-item>
|
||||
<a-checkbox v-decorator="['rememberMe', {initialValue: true, valuePropName: 'checked'}]">自动登录</a-checkbox>
|
||||
<a-checkbox v-decorator="['rememberMe', {initialValue: true, valuePropName: 'checked'}]">记住用户名密码</a-checkbox>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="6"></a-col>
|
||||
@@ -94,87 +111,7 @@
|
||||
</a-row>
|
||||
</div>
|
||||
</a-form>
|
||||
<a-form v-if="mobile" :form="form" class="user-layout-login user-layout-login-mobile" ref="formLogin" id="formLogin">
|
||||
<div class="user-box user-box-mobile">
|
||||
<a-row>
|
||||
<a-col :span="24">
|
||||
<a-form-item>
|
||||
<a-input
|
||||
size="large"
|
||||
v-decorator="['username',{initialValue:'', rules: validatorRules.username.rules,validateTrigger: 'blur'}]"
|
||||
type="text"
|
||||
placeholder="请输入帐号">
|
||||
<a-icon slot="prefix" type="user" :style="{ color: '#B3B7C2',fontSize:'20px' }"/>
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row>
|
||||
<a-col :span="24">
|
||||
<a-form-item>
|
||||
<a-input
|
||||
v-decorator="['password',{initialValue:'', rules: validatorRules.password.rules,validateTrigger: 'blur'}]"
|
||||
size="large"
|
||||
type="password"
|
||||
autocomplete="false"
|
||||
placeholder="请输入密码"
|
||||
>
|
||||
<a-icon slot="prefix" type="lock" :style="{ color: '#B3B7C2',fontSize:'20px' }"/>
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row>
|
||||
<a-col :span="14">
|
||||
<a-form-item>
|
||||
<a-input
|
||||
v-decorator="['inputCode',validatorRules.inputCode]"
|
||||
size="large"
|
||||
type="text"
|
||||
@change="inputCodeChange"
|
||||
placeholder="请输入验证码">
|
||||
<a-icon slot="prefix" type="safety" :style="{ color: '#B3B7C2',fontSize:'20px'}"/>
|
||||
</a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="10" style="text-align: right">
|
||||
<img v-if="requestCodeSuccess" style="margin-top: 2px;" :src="randCodeImage" @click="handleChangeCheckCode" alt=""/>
|
||||
<img v-else style="margin-top: 2px;" src="../../assets/checkcode.png" @click="handleChangeCheckCode" alt=""/>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row>
|
||||
<a-col :span="10">
|
||||
<a-form-item>
|
||||
<a-checkbox v-decorator="['rememberMe', {initialValue: true, valuePropName: 'checked'}]">自动登录</a-checkbox>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :span="4"></a-col>
|
||||
<a-col :span="9" style="text-align: right;color: #1891FF;">
|
||||
<!-- <a-form-item>-->
|
||||
<!-- <router-link :to="{ name: 'alteration'}" class="forge-password" style="float: right;">-->
|
||||
<!-- 忘记密码-->
|
||||
<!-- </router-link>-->
|
||||
<!-- </a-form-item>-->
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row class="login-btn">
|
||||
<a-col :span="24">
|
||||
<a-form-item>
|
||||
<a-button
|
||||
block
|
||||
size="large"
|
||||
type="primary"
|
||||
htmlType="submit"
|
||||
:loading="loginBtn"
|
||||
@click.stop.prevent="handleSubmit"
|
||||
:disabled="loginBtn">
|
||||
{{ loginBtn ? "登录中" : "登录" }}
|
||||
</a-button>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</div>
|
||||
</a-form>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
@@ -426,40 +363,133 @@ function isMobile () {
|
||||
}
|
||||
.main{
|
||||
height: 100%;
|
||||
.user-layout-login{
|
||||
z-index: 99;
|
||||
width: 24%;
|
||||
height: 56%;
|
||||
padding: 3% 0 3% 0;
|
||||
min-width: 332px;
|
||||
min-height: 460px;
|
||||
background: #fff;
|
||||
border-radius: 20px;
|
||||
position: absolute;
|
||||
right: 8%;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
.user-box{
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
background: url(~@/assets/login-bg.png);
|
||||
background-size: cover;
|
||||
.login-box{
|
||||
margin:9% auto;
|
||||
width: 62%;
|
||||
height: 64%;
|
||||
display: flex;
|
||||
|
||||
.login-right,.login-left{
|
||||
width: 50%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
flex-direction: column;
|
||||
.title{
|
||||
display: block;
|
||||
color: #1891FF;
|
||||
font-size: 28px;
|
||||
font-weight: 500;
|
||||
margin: 0 0 5% 0;
|
||||
text-align: center;
|
||||
}
|
||||
.login-btn{
|
||||
margin-bottom: 0;
|
||||
font-size: 10px;
|
||||
}
|
||||
.login-right{
|
||||
border-top-right-radius: 2%;
|
||||
border-bottom-right-radius: 2%;
|
||||
}
|
||||
.login-left{
|
||||
border-top-left-radius: 2%;
|
||||
border-bottom-left-radius: 2%;
|
||||
background: url(~@/assets/login-left.png);
|
||||
background-size: cover;
|
||||
.logo-image{
|
||||
margin: 15px;
|
||||
display: flex;
|
||||
&>img{
|
||||
margin-right:8px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@media screen and (min-width: 1370px) {
|
||||
.user-layout-login {
|
||||
background-color: #fff;
|
||||
padding: 5% 3%;
|
||||
.user-box{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
overflow-y: auto;
|
||||
//justify-content: space-between;
|
||||
flex-direction: column;
|
||||
.lable-font{
|
||||
font-weight: 500;
|
||||
color:#000;
|
||||
}
|
||||
.title{
|
||||
position:relative;
|
||||
display: block;
|
||||
color: #000;
|
||||
font-size: 28px;
|
||||
font-weight: 500;
|
||||
margin: 0 0 3% 0;
|
||||
text-align: center;
|
||||
//&::after{
|
||||
// content:'';
|
||||
// position:absolute;
|
||||
// bottom: -2px;
|
||||
// left:calc( 50% - 25px);
|
||||
// width: 50px;
|
||||
// height: 3px;
|
||||
// background-color: #0F6FC4;
|
||||
//}
|
||||
}
|
||||
.login-btn{
|
||||
margin-top: 10px;
|
||||
font-size: 10px;
|
||||
}
|
||||
.ant-row{
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@media screen and (max-width: 1366px) {
|
||||
.user-layout-login {
|
||||
background-color: #fff;
|
||||
padding: 4% 3% 0;
|
||||
.user-box{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
//justify-content: space-between;
|
||||
flex-direction: column;
|
||||
.lable-font{
|
||||
font-weight: 700;
|
||||
color:#000;
|
||||
}
|
||||
.title{
|
||||
position:relative;
|
||||
display: block;
|
||||
color: #000;
|
||||
font-size: 20px;
|
||||
font-weight: 500;
|
||||
margin: 0 0 5% 0;
|
||||
text-align: center;
|
||||
&::after{
|
||||
content:'';
|
||||
position:absolute;
|
||||
bottom: -2px;
|
||||
left:calc( 50% - 15px);
|
||||
width: 35px;
|
||||
height: 3px;
|
||||
background-color: #0F6FC4;
|
||||
}
|
||||
}
|
||||
.login-btn{
|
||||
margin-top: 2px;
|
||||
font-size: 10px;
|
||||
}
|
||||
.ant-row{
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.input_height {
|
||||
/deep/ .ant-input{
|
||||
|
||||
height: 30px !important;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.user-layout-login-mobile{
|
||||
right: 0;
|
||||
width: 100%;
|
||||
|
||||
Reference in New Issue
Block a user