| | |
| | | <template> |
| | | <el-row> |
| | | <el-row class="securityGuard"> |
| | | <el-col :span="0" style="display: none"> |
| | | <div class="box"> |
| | | <el-scrollbar> |
| | |
| | | @on-load="onLoad" |
| | | > |
| | | <template slot="menuLeft"> |
| | | <el-button |
| | | type="success" |
| | | size="small" |
| | | plain |
| | | icon="el-icon-upload2" |
| | | @click="handleImport1" |
| | | >批量导入 |
| | | </el-button> |
| | | <el-button |
| | | type="danger" |
| | | style="display: none" |
| | |
| | | </template> |
| | | </avue-crud> |
| | | </el-dialog> |
| | | <el-dialog |
| | | title="保安员导入" |
| | | append-to-body |
| | | :visible.sync="excelBox1" |
| | | width="555px" |
| | | > |
| | | <avue-form |
| | | :option="excelOption1" |
| | | v-model="excelForm1" |
| | | :upload-after="uploadAfter1" |
| | | > |
| | | <template slot="excelTemplate"> |
| | | <el-button type="primary" @click="handleTemplate1"> |
| | | 点击下载<i class="el-icon-download el-icon--right"></i> |
| | | </el-button> |
| | | </template> |
| | | </avue-form> |
| | | </el-dialog> |
| | | </basic-container> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | update, |
| | | updatePlatform, |
| | | add, |
| | | securitySave, |
| | | grant, |
| | | resetPassword, |
| | | getUserPractitionersInfo, |
| | |
| | | } from "@/api/system/user"; |
| | | import { getList } from "@/api/securityGuard/securityGuard"; |
| | | import { getDeptLazyTree } from "@/api/system/dept"; |
| | | import { getRoleTree } from "@/api/system/role"; |
| | | import { getRoleTree, getRoleDetail } from "@/api/system/role"; |
| | | import { getPostList } from "@/api/system/post"; |
| | | import { mapGetters } from "vuex"; |
| | | import website from "@/config/website"; |
| | | import { getToken } from "@/util/auth"; |
| | | import { securityFormPageColumn } from "./data"; |
| | | import { mapState } from "vuex"; |
| | | |
| | | export default { |
| | | data() { |
| | |
| | | } |
| | | }; |
| | | return { |
| | | securityid: "", |
| | | excelBox1: false, |
| | | excelForm1: {}, |
| | | excelOption1: { |
| | | submitBtn: false, |
| | | emptyBtn: false, |
| | | column: [ |
| | | { |
| | | label: "文件上传", |
| | | prop: "excelFile", |
| | | type: "upload", |
| | | drag: true, |
| | | loadText: "文件上传中,请稍等", |
| | | span: 24, |
| | | propsHttp: { |
| | | res: "data", |
| | | }, |
| | | tip: "请上传 .xls,.xlsx 标准格式文件", |
| | | action: "/api/blade-user/import-user", |
| | | }, |
| | | { |
| | | label: "模板下载", |
| | | prop: "excelTemplate", |
| | | formslot: true, |
| | | span: 24, |
| | | }, |
| | | ], |
| | | }, |
| | | |
| | | form: {}, |
| | | search: {}, |
| | | roleBox: false, |
| | |
| | | tip: false, |
| | | searchShow: true, |
| | | searchMenuSpan: 6, |
| | | border: false, |
| | | border: true, //liu |
| | | stripe: true, |
| | | align: "center", |
| | | index: true, |
| | | delBtnText: "注销", |
| | | selection: true, |
| | | viewBtn: true, |
| | | defaultExpandAll: true, |
| | | //dialogType: 'drawer', |
| | | dialogClickModal: false, |
| | | column: securityFormPageColumn, |
| | |
| | | value: "id", |
| | | }, |
| | | // disabled: true, |
| | | span: 24, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | |
| | | ], |
| | | }, |
| | | { |
| | | label: "编号", |
| | | prop: "code", |
| | | }, |
| | | { |
| | | label: "昵称", |
| | | prop: "name", |
| | | }, |
| | | { |
| | | label: "所属行政区", |
| | | label: "个人照片", |
| | | type: "upload", |
| | | listType: "picture-img", |
| | | propsHttp: { |
| | | res: "data", |
| | | url: "link", |
| | | }, |
| | | canvasOption: { |
| | | text: " ", |
| | | ratio: 0.1, |
| | | }, |
| | | action: "/api/blade-resource/oss/endpoint/put-file", |
| | | tip: "只能上传jpg/png个人头像,且不超过500kb", |
| | | span: 12, |
| | | row: true, |
| | | prop: "myPicture", |
| | | }, |
| | | |
| | | // { |
| | | // label: "编号", |
| | | // prop: "code", |
| | | // }, |
| | | |
| | | { |
| | | label: "所属辖区", |
| | | prop: "jurisdiction", |
| | | // multiple: true, |
| | | type: "tree", |
| | |
| | | slot: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择所属行政区", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "所属角色", |
| | | prop: "roleId", |
| | | multiple: true, |
| | | type: "tree", |
| | | dicData: [], |
| | | props: { |
| | | label: "title", |
| | | }, |
| | | checkStrictly: true, |
| | | slot: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择所属角色", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "所属岗位", |
| | | prop: "postId", |
| | | type: "tree", |
| | | multiple: true, |
| | | dicData: [], |
| | | props: { |
| | | label: "postName", |
| | | value: "id", |
| | | }, |
| | | rules: [ |
| | | { |
| | | required: false, |
| | | message: "请选择所属岗位", |
| | | message: "请选择所属辖区", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | // { |
| | | // label: "所属角色", |
| | | // prop: "roleId", |
| | | // multiple: true, |
| | | // type: "tree", |
| | | // dicData: [], |
| | | // props: { |
| | | // label: "title", |
| | | // }, |
| | | // checkStrictly: true, |
| | | // slot: true, |
| | | // rules: [ |
| | | // { |
| | | // required: true, |
| | | // message: "请选择所属角色", |
| | | // trigger: "click", |
| | | // }, |
| | | // ], |
| | | // }, |
| | | // { |
| | | // label: "所属岗位", |
| | | // prop: "postId", |
| | | // type: "tree", |
| | | // multiple: true, |
| | | // dicData: [], |
| | | // props: { |
| | | // label: "postName", |
| | | // value: "id", |
| | | // }, |
| | | // rules: [ |
| | | // { |
| | | // required: false, |
| | | // message: "请选择所属岗位", |
| | | // trigger: "click", |
| | | // }, |
| | | // ], |
| | | // }, |
| | | { |
| | | label: "是否持证", |
| | | prop: "hold", |
| | |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "保安员证编号", |
| | | prop: "securitynumber", |
| | | hide: true, |
| | | }, |
| | | { |
| | | label: "手机号码", |
| | |
| | | label: "生日", |
| | | type: "date", |
| | | prop: "birthday", |
| | | format: "yyyy-MM-dd", |
| | | valueFormat: "yyyy-MM-dd", |
| | | }, |
| | | ], |
| | | }, |
| | |
| | | { |
| | | prop: "UserPractitionersInfo", |
| | | type: "dynamic", |
| | | border: false, |
| | | border: true, //liu |
| | | span: 24, |
| | | children: { |
| | | align: "left", |
| | |
| | | }); |
| | | return ids.join(","); |
| | | }, |
| | | ...mapState({ |
| | | userInfo: (state) => state.user.userInfo, |
| | | }), |
| | | }, |
| | | mounted() { |
| | | // this.option.column[0].hide = true |
| | | // 非保安单位模式默认加载管理组数据 |
| | | if (!website.tenantMode) { |
| | | this.initData(website.tenantId); |
| | | } |
| | | |
| | | //获取当前登录人员的角色信息 |
| | | var roleIds = this.userInfo.role_id.split(","); |
| | | roleIds.forEach((roleId) => { |
| | | getRoleDetail(roleId).then((res) => { |
| | | var roleAlias = res.data.data.roleAlias; |
| | | if ( |
| | | roleAlias == "保安公司管理员" || |
| | | roleAlias == "保安" || |
| | | roleAlias == "未持证保安" |
| | | ) { |
| | | const column = this.findObject(this.option.column, "deptId"); |
| | | column.search = false; |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | methods: { |
| | | handleImport1() { |
| | | this.excelBox1 = true; |
| | | }, |
| | | uploadAfter1(res, done, loading, column) { |
| | | window.console.log(column); |
| | | this.excelBox1 = false; |
| | | // this.refreshChange(); |
| | | done(); |
| | | }, |
| | | handleTemplate1() { |
| | | window.open(`/api/examSubjectChoices/export-template`); |
| | | }, |
| | | |
| | | //行点击事件 |
| | | rowClick(row) { |
| | | this.$router.push({ |
| | |
| | | entryTime: item.entryTime, |
| | | name: row.realName, |
| | | leaving: item.leaving, |
| | | cardid: row.cardid, |
| | | securityid: row.id, |
| | | post: item.post, |
| | | responsibilities: item.responsibilities, |
| | | }; |
| | | userPractitionersList.push(info); |
| | | }); |
| | | } |
| | | var IdCardNo = row.cardid; |
| | | add(row).then( |
| | | const user = { |
| | | account: row.account, |
| | | address: row.address, |
| | | birthday: row.birthday, |
| | | cardid: row.cardid, |
| | | deptId: row.deptId, |
| | | education: row.education, |
| | | email: row.email, |
| | | height: row.height, |
| | | hold: row.hold, |
| | | jurisdiction: row.jurisdiction, |
| | | myPicture: row.myPicture, |
| | | name: row.name, |
| | | nation: row.nation, |
| | | nativeplace: row.nativeplace, |
| | | password: row.password, |
| | | password2: row.password2, |
| | | phone: row.phone, |
| | | politicaloutlook: row.politicaloutlook, |
| | | realName: row.realName, |
| | | registered: row.registered, |
| | | rtime: row.rtime, |
| | | securitynumber: row.securitynumber, |
| | | sex: row.sex, |
| | | }; |
| | | const userMap = { |
| | | user: user, |
| | | userPractitionersInfo: userPractitionersList, |
| | | }; |
| | | securitySave(userMap).then( |
| | | () => { |
| | | const experience = { |
| | | cardid: IdCardNo, |
| | | userPractitionersInfo: userPractitionersList, |
| | | }; |
| | | //新增从业信息 |
| | | saveOrUpdateUserPractitionersInfo(experience).then(() => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | this.initFlag = false; |
| | | this.onLoad(this.page); |
| | | // this.$message({ |
| | | // type: "success", |
| | | // message: "操作成功!", |
| | | // }); |
| | | done(); |
| | | }, |
| | | (error) => { |
| | |
| | | entryTime: item.entryTime, |
| | | name: row.realName, |
| | | leaving: item.leaving, |
| | | cardid: row.cardid, |
| | | securityid: row.id, |
| | | post: item.post, |
| | | responsibilities: item.responsibilities, |
| | | }; |
| | | userPractitionersList.push(info); |
| | | }); |
| | | } |
| | | var IdCardNo = row.cardid; |
| | | var IdCardNo = row.id; |
| | | //值替换,education 放在页面会卡死 |
| | | row.education = row.education1; |
| | | update(row).then( |
| | | () => { |
| | | const experience = { |
| | | cardid: IdCardNo, |
| | | securityid: IdCardNo, |
| | | userPractitionersInfo: userPractitionersList, |
| | | }; |
| | | //更新从业信息 |
| | |
| | | }); |
| | | this.initFlag = false; |
| | | this.onLoad(this.page); |
| | | // this.$message({ |
| | | // type: "success", |
| | | // message: "操作成功!", |
| | | // }); |
| | | done(); |
| | | }, |
| | | (error) => { |
| | |
| | | } |
| | | var userInfo = res.data.data; |
| | | //获取用户从业信息 |
| | | getUserPractitionersInfo(userInfo.cardid).then((res1) => { |
| | | getUserPractitionersInfo(userInfo.id).then((res1) => { |
| | | that.form.UserPractitionersInfo = res1.data.data; |
| | | }); |
| | | }); |
| | |
| | | }; |
| | | values = { |
| | | ...params, |
| | | deptId: this.deptId, |
| | | roleId: this.roleId, |
| | | roleAlias: "111", |
| | | ...this.query, |
| | | }; |
| | | |
| | | //获取当前登录人员的角色信息 |
| | | var roleIds = this.userInfo.role_id.split(","); |
| | | roleIds.forEach((roleId) => { |
| | | getRoleDetail(roleId).then((res) => { |
| | | var roleAlias = res.data.data.roleAlias; |
| | | if (roleAlias == "保安公司管理员") { |
| | | values["deptId"] = this.userInfo.dept_id; |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | if (this.userInfo.role_id == "1414840172333842433") { |
| | | console.log("是公安add jurisdiction"); |
| | | values["jurisdiction"] = this.userInfo.jurisdiction; |
| | | } |
| | | this.loading = true; |
| | | getList(page.currentPage, page.pageSize, values, this.treeDeptId).then( |
| | | (res) => { |