系统管理模块修改

修改密码加验证
去掉职务管理和通讯录
This commit is contained in:
yaoyanan
2021-03-16 15:05:47 +08:00
parent b1b6179b89
commit f447ff7579
8 changed files with 92 additions and 84 deletions
+10 -10
View File
@@ -56,18 +56,18 @@
}], }],
}, },
password:{ password:{
rules: [{ rules: [
required: true, message: '请输入新密码!', { required: true, message: '请输入新密码!' },
}, { { pattern:/^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, message: '密码由8位数字、大小写字母和特殊符号组成!'},
validator: this.validateToNextPassword, { validator: this.validateToNextPassword }
}], ]
}, },
confirmpassword:{ confirmpassword:{
rules: [{ rules: [
required: true, message: '请确认新密码!', { required: true, message: '请确认新密码!' },
}, { { pattern:/^(?=.*[a-zA-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,}$/, message: '密码由8位数字大小写字母和特殊符号组成!'},
validator: this.compareToFirstPassword, { validator: this.validateToNextPassword }
}], ]
} }
}, },
confirmDirty:false, confirmDirty:false,
+6 -2
View File
@@ -8,8 +8,12 @@ import router from './router'
import store from './store/' import store from './store/'
import { VueAxios } from "@/utils/request" import { VueAxios } from "@/utils/request"
require('@jeecg/antd-online-mini') // require('@jeecg/antd-online-mini')
require('@jeecg/antd-online-mini/dist/OnlineForm.css') // require('@jeecg/antd-online-mini/dist/OnlineForm.css')
require('@/components/onlineForm/onlineForm')
require('@/components/onlineForm/OnlineForm.css')
import Antd, { version } from 'ant-design-vue' import Antd, { version } from 'ant-design-vue'
console.log('ant-design-vue version:', version) console.log('ant-design-vue version:', version)
+2 -2
View File
@@ -1,7 +1,7 @@
import * as api from '@/api/api' import * as api from '@/api/api'
import { isURL } from '@/utils/validate' import { isURL } from '@/utils/validate'
import onlineCommons from '@jeecg/antd-online-mini' import onlineCommons from '@/components/onlineForm/onlineForm'
//
export function timeFix() { export function timeFix() {
const time = new Date() const time = new Date()
const hour = time.getHours() const hour = time.getHours()
+21 -16
View File
@@ -1,8 +1,7 @@
<template xmlns:background-color="http://www.w3.org/1999/xhtml"> <template xmlns:background-color="http://www.w3.org/1999/xhtml">
<a-row :gutter="10"> <a-row :gutter="10">
<a-col :md="12" :sm="24"> <a-col :md="10" :sm="24" >
<a-card :bordered="false"> <a-card :bordered="false" style="padding: 12px 0;">
<!-- 按钮操作区域 --> <!-- 按钮操作区域 -->
<a-row style="margin-left: 14px"> <a-row style="margin-left: 14px">
<a-button @click="handleAdd(1)" type="primary">添加部门</a-button> <a-button @click="handleAdd(1)" type="primary">添加部门</a-button>
@@ -56,8 +55,8 @@
<div class="drawer-bootom-button"> <div class="drawer-bootom-button">
<a-dropdown :trigger="['click']" placement="topCenter"> <a-dropdown :trigger="['click']" placement="topCenter">
<a-menu slot="overlay"> <a-menu slot="overlay">
<a-menu-item key="1" @click="switchCheckStrictly(1)">父子关联</a-menu-item> <!--<a-menu-item key="1" @click="switchCheckStrictly(1)">父子关联</a-menu-item>-->
<a-menu-item key="2" @click="switchCheckStrictly(2)">取消关联</a-menu-item> <!--<a-menu-item key="2" @click="switchCheckStrictly(2)">取消关联</a-menu-item>-->
<a-menu-item key="3" @click="checkALL">全部勾选</a-menu-item> <a-menu-item key="3" @click="checkALL">全部勾选</a-menu-item>
<a-menu-item key="4" @click="cancelCheckALL">取消全选</a-menu-item> <a-menu-item key="4" @click="cancelCheckALL">取消全选</a-menu-item>
<a-menu-item key="5" @click="expandAll">展开所有</a-menu-item> <a-menu-item key="5" @click="expandAll">展开所有</a-menu-item>
@@ -70,7 +69,7 @@
</div> </div>
<!---- author:os_chengtgen -- date:20190827 -- for:切换父子勾选模式 =======------> <!---- author:os_chengtgen -- date:20190827 -- for:切换父子勾选模式 =======------>
</a-col> </a-col>
<a-col :md="12" :sm="24"> <a-col :md="14" :sm="24" style="background: #fff;padding: 24px;">
<a-tabs defaultActiveKey="1"> <a-tabs defaultActiveKey="1">
<a-tab-pane tab="基本信息" key="1" > <a-tab-pane tab="基本信息" key="1" >
<a-card :bordered="false" v-if="selectedKeys.length>0"> <a-card :bordered="false" v-if="selectedKeys.length>0">
@@ -149,7 +148,7 @@
<a-button @click="submitCurrForm" type="primary" htmlType="button" icon="form">保存</a-button> <a-button @click="submitCurrForm" type="primary" htmlType="button" icon="form">保存</a-button>
</div> </div>
</a-card> </a-card>
<a-card v-else > <a-card v-else :bordered="false" style="height:248px !important;">
<a-empty> <a-empty>
<span slot="description"> 请先选择一个部门! </span> <span slot="description"> 请先选择一个部门! </span>
</a-empty> </a-empty>
@@ -158,14 +157,17 @@
<a-tab-pane tab="部门权限" key="2" forceRender> <a-tab-pane tab="部门权限" key="2" forceRender>
<depart-auth-modal ref="departAuth"/> <depart-auth-modal ref="departAuth"/>
</a-tab-pane> </a-tab-pane>
<a-tab-pane tab="用户信息" key="3">
<Dept-User-Info ref="DeptUserInfo"></Dept-User-Info>
</a-tab-pane>
</a-tabs> </a-tabs>
</a-col> </a-col>
<depart-modal ref="departModal" @ok="loadTree"></depart-modal> <depart-modal ref="departModal" @ok="loadTree"></depart-modal>
</a-row> </a-row>
</template> </template>
<script> <script>
import DepartModal from './modules/DepartModal' import DepartModal from './modules/DepartModal'
import DeptUserInfo from './modules/DeptUserInfo'
import pick from 'lodash.pick' import pick from 'lodash.pick'
import {queryDepartTreeList, searchByKeywords, deleteByDepartId} from '@/api/api' import {queryDepartTreeList, searchByKeywords, deleteByDepartId} from '@/api/api'
import {httpAction, deleteAction} from '@/api/manage' import {httpAction, deleteAction} from '@/api/manage'
@@ -215,7 +217,8 @@
mixins: [JeroListMixin], mixins: [JeroListMixin],
components: { components: {
DepartAuthModal, DepartAuthModal,
DepartModal DepartModal,
DeptUserInfo
}, },
data() { data() {
return { return {
@@ -422,6 +425,8 @@
this.model.parentId = record.parentId this.model.parentId = record.parentId
this.setValuesToForm(record) this.setValuesToForm(record)
this.$refs.departAuth.show(record.id); this.$refs.departAuth.show(record.id);
// 传用户信息参数
this.$refs.DeptUserInfo.open(record)
}, },
// 触发onSelect事件时,为部门树右侧的form表单赋值 // 触发onSelect事件时,为部门树右侧的form表单赋值
@@ -567,13 +572,13 @@
//this.checkedKeys = this.defaultCheckedKeys //this.checkedKeys = this.defaultCheckedKeys
this.checkedKeys = [] this.checkedKeys = []
}, },
switchCheckStrictly (v) { // switchCheckStrictly (v) {
if(v==1){ // if(v==1){
this.checkStrictly = false // this.checkStrictly = false
}else if(v==2){ // }else if(v==2){
this.checkStrictly = true // this.checkStrictly = true
} // }
}, // },
getAllKeys(node) { getAllKeys(node) {
// console.log('node',node); // console.log('node',node);
this.allTreeKeys.push(node.key) this.allTreeKeys.push(node.key)
@@ -1,6 +1,6 @@
<template> <template>
<a-card :bordered="false"> <a-card :bordered="false">
<!--职务管理---已废弃-->
<!-- 查询区域 --> <!-- 查询区域 -->
<div class="table-page-search-wrapper"> <div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery"> <a-form layout="inline" @keyup.enter.native="searchQuery">
+22 -24
View File
@@ -199,8 +199,8 @@
queryParam: {}, queryParam: {},
recycleBinVisible: false, recycleBinVisible: false,
columns: [ columns: [
/*{ {
title: '#', title: '序号',
dataIndex: '', dataIndex: '',
key:'rowIndex', key:'rowIndex',
width:60, width:60,
@@ -208,7 +208,14 @@
customRender:function (t,r,index) { customRender:function (t,r,index) {
return parseInt(index)+1; return parseInt(index)+1;
} }
},*/ },
{
title: '头像',
align: "center",
width: 120,
dataIndex: 'avatar',
scopedSlots: {customRender: "avatarslot"}
},
{ {
title: '用户账号', title: '用户账号',
align: "center", align: "center",
@@ -222,14 +229,6 @@
width: 100, width: 100,
dataIndex: 'realname', dataIndex: 'realname',
}, },
{
title: '头像',
align: "center",
width: 120,
dataIndex: 'avatar',
scopedSlots: {customRender: "avatarslot"}
},
{ {
title: '性别', title: '性别',
align: "center", align: "center",
@@ -237,12 +236,6 @@
dataIndex: 'sex_dictText', dataIndex: 'sex_dictText',
sorter: true sorter: true
}, },
{
title: '生日',
align: "center",
width: 100,
dataIndex: 'birthday'
},
{ {
title: '手机号码', title: '手机号码',
align: "center", align: "center",
@@ -255,12 +248,18 @@
width: 180, width: 180,
dataIndex: 'orgCodeTxt' dataIndex: 'orgCodeTxt'
}, },
{ // {
title: '负责部门', // title: '生日',
align: "center", // align: "center",
width: 180, // width: 100,
dataIndex: 'departIds_dictText' // dataIndex: 'birthday'
}, // },
// {
// title: '负责部门',
// align: "center",
// width: 180,
// dataIndex: 'departIds_dictText'
// },
{ {
title: '状态', title: '状态',
align: "center", align: "center",
@@ -274,7 +273,6 @@
align: "center", align: "center",
width: 170 width: 170
} }
], ],
superQueryFieldList: [ superQueryFieldList: [
{ type: 'input', value: 'username', text: '用户账号', }, { type: 'input', value: 'username', text: '用户账号', },
@@ -338,6 +338,7 @@
.ant-card { .ant-card {
margin-left: -30px; margin-left: -30px;
padding: 12px;
margin-right: -30px; margin-right: -30px;
} }
+29 -29
View File
@@ -28,7 +28,7 @@
<template v-if="!model.id"> <template v-if="!model.id">
<a-form-item label="登录密码" :labelCol="labelCol" :wrapperCol="wrapperCol" > <a-form-item label="登录密码" :labelCol="labelCol" :wrapperCol="wrapperCol" >
<a-input type="password" placeholder="请输入登录密码" v-decorator="[ 'password',validatorRules.password]" /> <a-input type="password" placeholder="请输入登录密码" autocomplete = 'new-password' v-decorator="[ 'password',validatorRules.password]" />
</a-form-item> </a-form-item>
<a-form-item label="确认密码" :labelCol="labelCol" :wrapperCol="wrapperCol" > <a-form-item label="确认密码" :labelCol="labelCol" :wrapperCol="wrapperCol" >
@@ -40,13 +40,13 @@
<a-input placeholder="请输入用户姓名" v-decorator.trim="[ 'realname', validatorRules.realname]" /> <a-input placeholder="请输入用户姓名" v-decorator.trim="[ 'realname', validatorRules.realname]" />
</a-form-item> </a-form-item>
<a-form-item label="工号" :labelCol="labelCol" :wrapperCol="wrapperCol"> <!--<a-form-item label="工号" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
<a-input placeholder="请输入工号" v-decorator.trim="[ 'workNo', validatorRules.workNo]" /> <!--<a-input placeholder="请输入工号" v-decorator.trim="[ 'workNo', validatorRules.workNo]" />-->
</a-form-item> <!--</a-form-item>-->
<a-form-item label="职务" :labelCol="labelCol" :wrapperCol="wrapperCol"> <!--<a-form-item label="职务" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
<j-select-position placeholder="请选择职务" :multiple="false" v-decorator="['post', {}]"/> <!--<j-select-position placeholder="请选择职务" :multiple="false" v-decorator="['post', {}]"/>-->
</a-form-item> <!--</a-form-item>-->
<a-form-item label="角色分配" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!roleDisabled" > <a-form-item label="角色分配" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!roleDisabled" >
<a-select <a-select
@@ -75,19 +75,19 @@
</a-form-item> </a-form-item>
<!--租户分配--> <!--租户分配-->
<a-form-item label="租户分配" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!departDisabled"> <!--<a-form-item label="租户分配" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!departDisabled">-->
<a-select <!--<a-select-->
mode="multiple" <!--mode="multiple"-->
style="width: 100%" <!--style="width: 100%"-->
placeholder="请选择租户分配" <!--placeholder="请选择租户分配"-->
:disabled="disableSubmit" <!--:disabled="disableSubmit"-->
v-model="currentTenant"> <!--v-model="currentTenant">-->
<a-select-option v-for="(item, index) in tenantList" :key="index" :value="item.id"> <!--<a-select-option v-for="(item, index) in tenantList" :key="index" :value="item.id">-->
{{ item.name }} <!--{{ item.name }}-->
</a-select-option> <!--</a-select-option>-->
</a-select> <!--</a-select>-->
</a-form-item> <!--</a-form-item>-->
<!-- update--begin--autor:wangshuai-----date:20200108------for新增身份和负责部门------ --> <!-- update--begin--autor:wangshuai-----date:20200108------for新增身份和负责部门------ -->
<a-form-item label="身份" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="身份" :labelCol="labelCol" :wrapperCol="wrapperCol">
@@ -118,13 +118,13 @@
<j-image-upload class="avatar-uploader" text="上传" v-model="fileList" ></j-image-upload> <j-image-upload class="avatar-uploader" text="上传" v-model="fileList" ></j-image-upload>
</a-form-item> </a-form-item>
<a-form-item label="生日" :labelCol="labelCol" :wrapperCol="wrapperCol"> <!--<a-form-item label="生日" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
<a-date-picker <!--<a-date-picker-->
style="width: 100%" <!--style="width: 100%"-->
placeholder="请选择生日" <!--placeholder="请选择生日"-->
v-decorator="['birthday', {initialValue:!model.birthday?null:moment(model.birthday,dateFormat)}]" <!--v-decorator="['birthday', {initialValue:!model.birthday?null:moment(model.birthday,dateFormat)}]"-->
:getCalendarContainer="node => node.parentNode"/> <!--:getCalendarContainer="node => node.parentNode"/>-->
</a-form-item> <!--</a-form-item>-->
<a-form-item label="性别" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="性别" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-select v-decorator="[ 'sex', {}]" placeholder="请选择性别" :getPopupContainer= "(target) => target.parentNode"> <a-select v-decorator="[ 'sex', {}]" placeholder="请选择性别" :getPopupContainer= "(target) => target.parentNode">
@@ -141,9 +141,9 @@
<a-input placeholder="请输入手机号码" :disabled="isDisabledAuth('user:form:phone')" v-decorator="[ 'phone', validatorRules.phone]" /> <a-input placeholder="请输入手机号码" :disabled="isDisabledAuth('user:form:phone')" v-decorator="[ 'phone', validatorRules.phone]" />
</a-form-item> </a-form-item>
<a-form-item label="座机" :labelCol="labelCol" :wrapperCol="wrapperCol"> <!--<a-form-item label="座机" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
<a-input placeholder="请输入座机" v-decorator="[ 'telephone', validatorRules.telephone]"/> <!--<a-input placeholder="请输入座机" v-decorator="[ 'telephone', validatorRules.telephone]"/>-->
</a-form-item> <!--</a-form-item>-->
<a-form-item label="工作流引擎" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="工作流引擎" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag v-decorator="['activitiSync', {}]" placeholder="请选择是否同步工作流引擎" :type="'radio'" :triggerChange="true" dictCode="activiti_sync"/> <j-dict-select-tag v-decorator="['activitiSync', {}]" placeholder="请选择是否同步工作流引擎" :type="'radio'" :triggerChange="true" dictCode="activiti_sync"/>