系统管理模块修改

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