Browse Source

修改密码,科室新增

master
mch 2 years ago
parent
commit
866b1c536a
  1. 1
      src/components/doctorCheck/ButtonList.vue
  2. 27
      src/components/doctorCheck/PatientRegisterBase.vue
  3. 1
      src/store/index.js
  4. 69
      src/views/Home.vue
  5. 2
      src/views/login/Login.vue
  6. 150
      src/views/user-list/UserList.vue

1
src/components/doctorCheck/ButtonList.vue

@ -378,5 +378,6 @@ export default {
<style scoped>
.listBtn {
margin-top: 10px;
text-align: center;
}
</style>

27
src/components/doctorCheck/PatientRegisterBase.vue

@ -3,68 +3,68 @@
<div style="display: flex; flex-wrap: wrap; width: 100%;">
<div class="query">
<span>条码号</span>
<el-input placeholder="条码号" v-model="doctorCheck.prBase.patientRegisterNo" size="small" style="width: 140px"
<el-input placeholder="条码号" v-model="doctorCheck.prBase.patientRegisterNo" size="small" style="width: 120px;margin-left:10px"
clearable @input="onQueryByPatientRegisterNo" />
</div>
<div class="query">
<span>档案号</span>
<el-input placeholder="档案号" v-model="doctorCheck.prBase.patientNo" size="small" style="width: 130px" clearable
<el-input placeholder="档案号" v-model="doctorCheck.prBase.patientNo" size="small" style="width: 120px;margin-left:10px" clearable
@input="onQueryByPatientNo" />
</div>
<div class="query">
<span>姓名</span>
<el-input placeholder="姓名" v-model="doctorCheck.prBase.patientName" size="small" style="width: 100px" disabled />
<el-input placeholder="姓名" v-model="doctorCheck.prBase.patientName" size="small" style="width: 120px;margin-left:10px" disabled />
</div>
<div class="query">
<span>性别</span>
<el-select v-model="doctorCheck.prBase.sexId" style="width: 80px" size="small" disabled>
<el-select v-model="doctorCheck.prBase.sexId" style="width: 120px;margin-left:10px" size="small" disabled>
<el-option v-for="item in dict.sex" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select>
</div>
<div class="query">
<span>体检次数</span>
<el-input v-model="doctorCheck.prBase.medicalTimes" size="small" style="width: 40px" disabled />
<el-input v-model="doctorCheck.prBase.medicalTimes" size="small" style="width: 120px;margin-left:10px" disabled />
</div>
<div class="query">
<span>婚姻</span>
<el-select v-model="doctorCheck.prBase.maritalStatusId" style="width: 80px" size="small" disabled>
<el-select v-model="doctorCheck.prBase.maritalStatusId" style="width: 120px;margin-left:10px" size="small" disabled>
<el-option v-for="item in dict.maritalStatus" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select>
</div>
<div class="query">
<span>体检日期</span>
<el-input :value="doctorCheck.prBase.creationTime ? lmoment(doctorCheck.prBase.creationTime, 'yyyy-MM-DD') : ''"
style="width: 100px" size="small" disabled></el-input>
style="width: 120px;margin-left:10px" size="small" disabled></el-input>
</div>
<div class="query">
<span>单位</span>
<el-input :value="doctorCheck.prBase.customerOrgParentName" style="width: 120px" size="small" disabled />
<el-input :value="doctorCheck.prBase.customerOrgParentName" style="width: 120px;margin-left:10px" size="small" disabled />
</div>
<div class="query">
<span>部门</span>
<el-input :value="doctorCheck.prBase.customerOrgName" style="width: 120px" size="small" disabled />
<el-input :value="doctorCheck.prBase.customerOrgName" style="width: 120px;margin-left:10px" size="small" disabled />
</div>
<div class="query">
<span>体检类别</span>
<el-select v-model="doctorCheck.prBase.medicalTypeId" disabled style="width: 80px" size="small">
<el-select v-model="doctorCheck.prBase.medicalTypeId" disabled style="width: 120px;margin-left:10px" size="small">
<el-option v-for="item in dict.medicalType" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select>
</div>
<div class="query">
<span>人员类别</span>
<el-select v-model="doctorCheck.prBase.personnelTypeId" disabled style="width: 80px" size="small">
<el-select v-model="doctorCheck.prBase.personnelTypeId" disabled style="width: 120px;margin-left:10px" size="small">
<el-option v-for="item in dict.personnelType" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select>
</div>
<div class="query">
<span>民族</span>
<el-select v-model="doctorCheck.prBase.nationId" disabled style="width: 80px" size="small">
<el-select v-model="doctorCheck.prBase.nationId" disabled style="width: 120px;margin-left:10px" size="small">
<el-option v-for="item in dict.nation" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select>
</div>
<div class="query">
<span>手机</span>
<el-input :value="doctorCheck.prBase.mobileTelephone" style="width: 120px" size="small" disabled />
<el-input :value="doctorCheck.prBase.mobileTelephone" style="width: 120px;margin-left:10px" size="small" disabled />
</div>
</div>
</div>
@ -181,5 +181,6 @@ export default {
<style scoped>
.query {
margin-left: 10px;
padding: 5px 5px;
}
</style>

1
src/store/index.js

@ -7,6 +7,7 @@ Vue.use(Vuex);
export default new Vuex.Store({
state: {
changepassword:'',//用户密码
set: "qqqq",
customerOrg: {
//体检单位设置

69
src/views/Home.vue

@ -263,13 +263,33 @@
<el-dropdown-item @click.native="logout"
>退出登录</el-dropdown-item
>
<el-dropdown-item>修改密码</el-dropdown-item>
<el-dropdown-item @click.native="editpassword">修改密码</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
</el-header>
<!-- 修改密码弹框 -->
<el-dialog
title="修改密码"
:visible.sync="dialogVisible"
width="30%"
>
<el-form :model="form" :rules="rules" ref="ruleForm" label-width="100px" >
<el-form-item label="旧密码" prop="oldPassWord">
<el-input v-model="form.oldPassWord"></el-input>
</el-form-item>
<el-form-item label="新密码" prop="newPassWord">
<el-input v-model="form.newPassWord"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="determine"> </el-button>
</span>
</el-dialog>
<el-container>
<!-- <el-aside :width="isCollapse ? '64px' : '220px'">
<el-menu
@ -487,19 +507,62 @@
<script>
///api/app/item/in-filter
import router from "@/router";
import {postapi} from '@/api/api'
import { mapState } from 'vuex';
export default {
data() {
return {
index: 1,
isCollapse: false,
user: "",
dialogVisible:false,
password:'',
form:{
oldPassWord:'',
newPassWord:'',
},
rules:{
oldPassWord:[
{ required: true, message: '请输入旧密码', trigger: 'blur' },
],
newPassWord:[
{ required: true, message: '请输入新密码', trigger: 'blur' },
]
}
};
},
computed:{
...mapState(['changepassword'])
},
created() {
this.password=this.changepassword
console.log(this.password);
console.log(this.$store.state.changepassword,'ssssssssssss');
this.user = localStorage.getItem("user");
},
methods: {
//
determine(){
this.$refs.ruleForm.validate(valid=>{
if(valid){
if(this.form.oldPassWord!=this.password){
this.$message.warning('旧密码输入错误')
}else{
postapi('/api/identity/users/updatepassword',this.form).then(res=>{
this.$message.success('修改成功')
this.dialogVisible=false
})
}
}
})
},
//
editpassword(){
this.dialogVisible=true
console.log(this.password);
},
//退
logout() {
// localStorage.removeItem("tokentype");
// localStorage.removeItem("token");

2
src/views/login/Login.vue

@ -107,6 +107,8 @@ export default {
window.localStorage.setItem("user", this.form.Username);
this.$message.success("登录成功");
this.$router.push({ path: "home" });
// this.$store.dispatch('changepassword',this.form.Password)
this.$store.state.changepassword=this.form.Password
});
}
});

150
src/views/user-list/UserList.vue

@ -60,7 +60,7 @@
{{ scope.row.lastModificationTime | dateFormat }}
</template>
</el-table-column> -->
<el-table-column label="操作" width="330">
<el-table-column label="操作" width="430">
<template slot-scope="scope">
<el-button type="primary" @click="deleates(scope.row)"
>删除</el-button
@ -74,6 +74,9 @@
<el-button type="primary" @click="bandinuser(scope.row)"
>绑定角色</el-button
>
<el-button type="primary" @click="editpassword(scope.row)"
>修改密码</el-button
>
</template>
</el-table-column>
</el-table>
@ -194,6 +197,25 @@
>
</el-tree>
</el-tab-pane>
<el-tab-pane label="科室设置">
<!-- :default-checked-keys="defaultKeys" /api/app/abpuserdepartment/createmany-->
<el-tree
:props="{
label: 'displayName',
children: 'treeChildren',
}"
:default-checked-keys="defaultchekedKeys"
:default-expand-all="true"
show-checkbox
:data="setupdepartments"
node-key="id"
@check="iscrentddepartment"
ref="department"
>
</el-tree>
</el-tab-pane>
</el-tabs>
<!-- // -->
@ -299,6 +321,20 @@
>
</el-tree>
</el-tab-pane>
<el-tab-pane label="科室设置">
<el-tree
:data="newdepartment"
show-checkbox
:default-expand-all="true"
@check="ischesc"
node-key="id"
ref="tree"
:default-expanded-keys="nodekes"
:default-checked-keys="[5]"
:props="{ label: 'displayName', children: 'treeChildren' }"
>
</el-tree>
</el-tab-pane>
</el-tabs>
</el-form>
@ -370,6 +406,24 @@
<el-button type="primary" @click="Identifyusers"> </el-button>
</span>
</el-dialog>
<!-- 修改密码弹框 -->
<el-dialog
title="修改密码"
:visible.sync="editpassworddialogVisible"
width="30%"
>
<el-form ref="form" :model="form" label-width="80px">
<el-form-item label="新密码">
<el-input v-model="newPassWord"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="editpassworddialogVisible = false"
> </el-button
>
<el-button type="primary" @click="Changepassword"> </el-button>
</span>
</el-dialog>
</el-card>
</div>
</template>
@ -388,22 +442,31 @@ import {
reverseselection,
usersinits,
selectbinding,
lognis,
} from "../../request/ruquset";
let validatePassword = (rule, value, callback) => {
var reg1 =
/^(?=.*\d)(?=.*[a-zA-Z])(?=.*[~!@#$%^&*.])[\da-zA-Z~!@#$%^&*.]{6,}$/; //8
var reg2 = /(123|234|345|456|567|678|789|012)/; //3
if (!reg1.test(value)) {
callback(new Error("密码必须是6位以上、必须含有字母、数字、特殊符号"));
} else if (reg2.test(value)) {
callback(new Error("不能有3个连续数字"));
} else {
callback();
}
};
import { mapState } from "vuex";
import { getapi, postapi } from "@/api/api";
// let validatePassword = (rule, value, callback) => {
// var reg1 =
// /^(?=.*\d)(?=.*[a-zA-Z])(?=.*[~!@#$%^&*.])[\da-zA-Z~!@#$%^&*.]{6,}$/; //8
// var reg2 = /(123|234|345|456|567|678|789|012)/; //3
// if (!reg1.test(value)) {
// callback(new Error("6"));
// } else if (reg2.test(value)) {
// callback(new Error("3"));
// } else {
// callback();
// }
// };
let validatePassword = /^[a-zA-Z]\w{5,8}$/;
export default {
data() {
return {
defaultchekedKeys:[],//
department: [], //
setupdepartments: [], //
newPassWord: "", //
editpassworddialogVisible: false, //
nodekes: [],
activeName: "first",
chaxunform: {
@ -493,15 +556,46 @@ export default {
defaultKeys: [], //
newachitecture: [], //
// customer:[]
password: "",
passwordid: "",
newdepartment: [], //
};
},
computed: {
...mapState(["changepassword"]),
},
created() {
this.password = this.changepassword;
console.log(this.password);
this.getlist();
this.idkes = localStorage.getItem("dataidkes");
},
methods: {
iscrentddepartment() {
this.department = this.$refs.department.getCheckedKeys(true);
console.log(this.department, "www");
},
//
Changepassword() {
if (this.newPassWord == "") {
this.$message.warning("请输入新密码");
} else {
postapi("/api/identity/users/resetpassword", {
userId: this.passwordid,
newPassWord: this.newPassWord,
}).then((res) => {
this.$message.success("修改成功");
this.editpassworddialogVisible = false;
});
}
console.log(this.newPassWord);
},
//
editpassword(row) {
this.editpassworddialogVisible = true;
this.passwordid = row.id;
},
//
ischesc() {
console.log("333", this.$refs.tree.getCheckedKeys(true));
@ -652,6 +746,7 @@ export default {
});
organizationtree().then((res) => {
this.newachitecture = res.data;
this.newdepartment = res.data;
console.log(res, "1w");
});
console.log(this.title);
@ -728,7 +823,12 @@ export default {
console.log(res);
// this.$message.success("");
});
postapi(
`/api/app/abpuserdepartment/createmany?UserId=${this.form.id}`,
this.department
).then((res) => {
// this.$message.success("");
});
console.log("aaaaaa");
}
});
@ -742,8 +842,12 @@ export default {
//
deleates(row) {
let id = row.id;
delestsid(id).then((res) => {
console.log(res);
// delestsid(id).then((res) => {
// console.log(res);
// this.getlist();
// this.$message.success("");
// });
postapi(`/api/identity/users/delete?id=${row.id}`).then((res) => {
this.getlist();
this.$message.success("删除成功");
});
@ -761,14 +865,16 @@ export default {
if (this.title == 2) {
// rowroleNames
const form = JSON.parse(JSON.stringify(row));
console.log(form, "form");
this.form = {
...form,
roleNames: [],
};
this.form.roleNames = [];
//
organizationtree().then((res) => {
this.organizationalstructure = res.data;
this.setupdepartments = res.data;
console.log(res, "sssssss");
});
useraffiliation(this.form.id).then((res) => {
@ -782,6 +888,14 @@ export default {
this.$set(this.form, "roleNames", []);
}
});
//
getapi(
`/api/app/abpuserdepartment/getuserdepartment?UserId=${row.id}`
).then((res) => {
// default-checked-keys
this.defaultchekedKeys=res.data
console.log(res, "科室");
});
}
// useraffiliation(row.id).then((res) => {

Loading…
Cancel
Save