Browse Source

修复测试文档中有关行政管理--员工管理的问题

master
yunuo970428 3 years ago
parent
commit
22d4cf0f38
  1. 2
      anrui-management/anrui-management-ui/package.json
  2. 9
      anrui-management/anrui-management-ui/src/api/management/yuangongguanli.js
  3. 10
      anrui-management/anrui-management-ui/src/components/ButtonBar/index.vue
  4. 79
      anrui-management/anrui-management-ui/src/components/uploadFileimg/upload.vue
  5. 322
      anrui-management/anrui-management-ui/src/components/uploadFileimg/upload_head.vue
  6. 2
      anrui-management/anrui-management-ui/src/styles/index.scss
  7. 892
      anrui-management/anrui-management-ui/src/views/sysstaffinfo/yuangongAdd.vue
  8. 380
      anrui-management/anrui-management-ui/src/views/sysstaffinfo/yuangongInfo.vue
  9. 404
      anrui-management/anrui-management-ui/src/views/sysstaffinfo/yuangongguanli.vue
  10. 8
      anrui-management/anrui-management-ui/vue.config.js

2
anrui-management/anrui-management-ui/package.json

@ -15,7 +15,7 @@
},
"dependencies": {
"axios": "0.18.1",
"core-js": "3.6.5",
"core-js": "^3.22.5",
"element-ui": "2.13.2",
"js-cookie": "2.2.0",
"normalize.css": "7.0.0",

9
anrui-management/anrui-management-ui/src/api/management/yuangongguanli.js

@ -41,6 +41,15 @@ export default {
})
},
// 通过sid删除一条或多条记录
del: function(data) {
return request({
url: '/portal/v1/sysstaffinfo/del',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
// 员工信息编辑初始化及详情
fetchBySid: function(sid) {
return request({

10
anrui-management/anrui-management-ui/src/components/ButtonBar/index.vue

@ -55,13 +55,6 @@ export default {
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'danger',
size: 'small',
icon: '',
btnKey: 'doQuit',
btnLabel: '离职'
},
{
type: 'success',
size: 'small',
@ -103,6 +96,9 @@ export default {
},
btnHandle(btnKey) {
this.$emit('btnhandle', btnKey)
},
setButtonList(value) {
this.btnList = value
}
}
}

79
anrui-management/anrui-management-ui/src/components/uploadFileimg/upload.vue

@ -1,73 +1,54 @@
<template>
<div>
<el-upload ref="imgUpload" v-loading="loadding" class="avatar-uploader" :headers="accessToken"
:action="uploadFile" accept=".jpg,.jpeg,.png,.bmp,.pdf,.JPG,.JPEG,.BMP" list-type="picture-card"
:file-list="files" :on-remove="removeImage" :on-preview="handlePictureCardPreview"
:on-progress="uploadProgrees"
:on-error="uploadError" :on-success="uploadImgSuccess_FuJian">
<el-upload ref="imgUpload" v-loading="loadding" class="avatar-uploader" :headers="accessToken" :action="uploadFile" :accept="accept" list-type="picture-card" :limit="limit" :file-list="files" :on-remove="removeImage" :on-preview="handlePictureCardPreview" :on-progress="uploadProgrees" :on-error="uploadError" :on-success="uploadImgSuccess_FuJian">
<i class="el-icon-plus avatar-uploader-icon"/>
</el-upload>
<el-dialog :visible.sync="dialogVisible" :append-to-body="true" title="查看图片">
<el-dialog :visible.sync="dialogVisible" title="查看图片">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
<!-- <el-upload list-type="picture-card" :on-preview="handlePictureCardPreview" :on-remove="handleRemove">-->
<!-- <i class="el-icon-plus"></i>-->
<!-- </el-upload>-->
<!-- <el-dialog :visible.sync="dialogVisible">-->
<!-- <img width="100%" :src="dialogImageUrl" alt="">-->
<!-- </el-dialog>-->
<!-- <el-upload class="upload-demo" :headers="accessToken" :action="uploadFile" :accept="accept" :data="uploadData" :on-success="uploadImgSuccess_FuJian" :on-remove="handleRemove" :file-list="fileList_FuJian">-->
<!-- <el-button size="small" type="primary">点击上传</el-button>-->
<!-- &lt;!&ndash; <el-button v-show="isview" size="small" type="primary" @click="view()">查看</el-button> &ndash;&gt;-->
<!-- &lt;!&ndash; <div slot="tip" class="el-upload__tip">单个文件大小不允许超过100M,支持上传文件类型{{ accept }}</div> &ndash;&gt;-->
<!-- </el-upload>-->
</div>
</template>
<script>
import { uploadFile } from '@/api/Common/Upload.js'
import {getStorage} from '@/utils/auth.js' //token
import {mapGetters} from 'vuex'
import { getStorage } from '@/utils/auth.js'
export default {
model: {
prop: 'name',
event: 'change',
event: 'change'
},
props: {
placeholder: {
type: String,
default: '',
default: ''
},
bucket: {
type: String,
default: 'abc',
default: 'abc'
},
//
width: {
type: String,
default: '270px',
default: '270px'
},
limit: {
type: Number,
default: 1,
default: ''
},
accept: {
type: String,
default:
'.jpg,.jpeg,.png,.bmp,.pdf,.JPG,.JPEG,.BMP,.PDF,.xls,.docx,.xlsx,.ppt,.pptx',
default: '.jpg,.jpeg,.png,.bmp,.pdf,.JPG,.JPEG,.BMP,.PDF,.xls,.docx,.xlsx,.ppt,.pptx'
},
//
name: {
type: Array,
required: true,
required: true
},
uploadData: {
type: Object,
default: {},
},
default: {}
}
},
data() {
return {
@ -86,18 +67,9 @@
// showpicture:false,
isview: false,
nameArr: '',
loadding: false,
loadding: false
}
},
computed: {
...mapGetters([
'id',
'departmentCode',
'departmentLevel',
'departmentType',
'token',
]),
},
watch: {
name: {
deep: true,
@ -106,8 +78,8 @@
console.log('aaaa1', newVal)
this.files = newVal
console.log('aaaa2', this.files)
},
},
}
}
},
mounted() {
this.$nextTick(() => {
@ -117,7 +89,7 @@
created() {
this.uploadFile = uploadFile //
this.accessToken = {
token: getStorage(),
token: getStorage()
}
},
methods: {
@ -135,11 +107,16 @@
for (var i = 0; i < this.name.length; i++) {
this.files.push({
name: this.name[i],
url: this.name[i],
url: this.name[i]
})
}
}
},
handlePictureCardPreview(file) {
console.log(this.file)
this.dialogVisible = true
this.dialogImageUrl = file.url
},
// --
uploadImgSuccess_FuJian(response, file, fileList) {
console.log('您选择的file:', file)
@ -151,7 +128,7 @@
this.files.push({
name: file.response.data.sourceFileName,
url: file.response.data.fullUrl,
size: file.response.data.size,
size: file.response.data.size
})
this.$emit('change', this.files)
this.$emit('eett', this.files)
@ -230,12 +207,6 @@
this.enclosure = this.file_add
}
},
handlePictureCardPreview(file) {
// this.dialogImageUrl = file.url
// this.dialogImageUrl = file.fullUrl
this.dialogImageUrl = file.url
// this.showpicture = true
},
//
uploadError() {
this.loadding = false
@ -245,8 +216,8 @@
this.loadding = true
}
// console.log('event:', event)
},
},
}
}
}
</script>

322
anrui-management/anrui-management-ui/src/components/uploadFileimg/upload_head.vue

@ -1,270 +1,144 @@
<template>
<div>
<el-upload
ref="imgUpload"
v-loading="loadding"
class="avatar-uploader"
:headers="accessToken"
:action="uploadFile"
accept=".jpg,.jpeg,.png,.bmp,.pdf,.JPG,.JPEG,.BMP"
list-type="picture-card"
:file-list="files"
:on-remove="removeImage"
:on-preview="handlePictureCardPreview"
:on-progress="uploadProgrees"
:on-error="uploadError"
:on-success="uploadImgSuccess_FuJian"
>
<i class="el-icon-plus avatar-uploader-icon" />
<el-upload ref="imgUpload" class="avatar-uploader" :file-list="files" :headers="accessToken" :accept="accept" :action="uploadFile" :on-success="uploadImgSuccess_FuJian" :show-file-list="false">
<i v-if="Photo === '' && frontPhoto === ''" class="el-icon-plus avatar-uploader-icon" />
<img v-else :src="Photo != '' ? Photo : frontPhoto" class="avatar">
</el-upload>
<el-dialog
:visible.sync="dialogVisible"
:append-to-body="true"
title="查看图片"
>
<el-dialog :visible.sync="dialogVisible" :append-to-body="true" title="查看图片">
<img width="100%" :src="dialogImageUrl" alt="" />
</el-dialog>
<!-- <el-upload list-type="picture-card" :on-preview="handlePictureCardPreview" :on-remove="handleRemove">-->
<!-- <i class="el-icon-plus"></i>-->
<!-- </el-upload>-->
<!-- <el-dialog :visible.sync="dialogVisible">-->
<!-- <img width="100%" :src="dialogImageUrl" alt="">-->
<!-- </el-dialog>-->
<!-- <el-upload class="upload-demo" :headers="accessToken" :action="uploadFile" :accept="accept" :data="uploadData" :on-success="uploadImgSuccess_FuJian" :on-remove="handleRemove" :file-list="fileList_FuJian">-->
<!-- <el-button size="small" type="primary">点击上传</el-button>-->
<!-- &lt;!&ndash; <el-button v-show="isview" size="small" type="primary" @click="view()">查看</el-button> &ndash;&gt;-->
<!-- &lt;!&ndash; <div slot="tip" class="el-upload__tip">单个文件大小不允许超过100M,支持上传文件类型{{ accept }}</div> &ndash;&gt;-->
<!-- </el-upload>-->
</div>
</template>
<script>
import { uploadFile } from "@/api/Common/Upload.js";
import { getStorage } from "@/utils/auth.js"; //token
import { mapGetters } from "vuex";
import { uploadFile } from '@/api/Common/Upload.js'
import { getStorage } from '@/utils/auth'
export default {
model: {
prop: "name",
event: "change",
},
// model: {
// prop: 'name',
// event: 'change'
// },
props: {
placeholder: {
type: String,
default: "",
},
bucket: {
type: String,
default: "abc",
},
//
width: {
type: String,
default: "270px",
},
limit: {
type: Number,
default: 1,
default: 1
},
accept: {
type: String,
default:
".jpg,.jpeg,.png,.bmp,.pdf,.JPG,.JPEG,.BMP,.PDF,.xls,.docx,.xlsx,.ppt,.pptx",
default: '.jpg,.jpeg,.png,.JPG,.JPEG,.PNG'
},
frontPhoto: {
type: String,
default: ''
}
//
name: {
type: Array,
required: true,
},
uploadData: {
type: Object,
default: {},
},
// name: {
// type: Array,
// required: true
// }
},
data() {
return {
dialogImageUrl: "",
dialogImageUrl: '',
dialogVisible: false,
accessToken: null,
uploadFile: uploadFile,
fileList_FuJian: [],
enclosure: "",
file_add: "",
file_catch: "",
files: [],
files_list: [],
filedUrl: "",
// fileUrl: fileUrl,
// showpicture:false,
isview: false,
nameArr: "",
loadding: false,
};
},
computed: {
...mapGetters([
"id",
"departmentCode",
"departmentLevel",
"departmentType",
"token",
]),
},
watch: {
name: {
deep: true,
immediate: true,
handler(newVal, oldVal) {
console.log("aaaa1", newVal);
this.files = newVal;
if (this.files.length > 1) {
this.files.splice(0, 1);
Photo: ''
}
console.log("aaaa2", this.files);
},
},
},
mounted() {
this.$nextTick(() => {
this.Init();
});
},
// watch: {
// name: {
// deep: true,
// immediate: true,
// handler(newVal, oldVal) {
// console.log('aaaa1', newVal)
// this.files = newVal
// if (this.files.length > 1) {
// this.files.splice(0, 1)
// console.log(111111)
// }
// // this.Photo = this.files[0].url
// console.log('333333', this.Photo, this.files)
// console.log('aaaa2', this.files)
// }
// }
// },
// mounted() {
// this.$nextTick(() => {
// this.Init()
// })
// },
created() {
this.uploadFile = uploadFile; //
this.uploadFile = uploadFile //
this.accessToken = {
token: getStorage(),
};
},
methods: {
showImg(imgList) {
this.files = imgList;
console.log("123123123", this.files);
},
view() {
// window.open(this.filedUrl)
},
//
Init() {
if (this.name !== undefined) {
this.files = [];
for (var i = 0; i < this.name.length; i++) {
this.files.push({
name: this.name[i],
url: this.name[i],
});
}
}
},
methods: {
// showImg(imgList) {
// this.files = imgList
// console.log('123123123', this.files)
// },
// //
// Init() {
// if (this.name !== undefined) {
// this.files = []
// for (var i = 0; i < this.name.length; i++) {
// this.files.push({
// name: this.name[i],
// url: this.name[i]
// })
// }
// }
// },
// --
uploadImgSuccess_FuJian(response, file, fileList) {
console.log("您选择的file:", file);
if (file.response.code === "200") {
this.loadding = false;
uploadImgSuccess_FuJian(response, file) {
console.log('您选择的file:', file)
if (file.response.code === '200') {
this.loadding = false
//
this.filedUrl = this.fileUrl + file.response.data;
// var uid = file.response.data
this.Photo = file.response.data.fullUrl
this.files.push({
name: file.response.data.sourceFileName,
url: file.response.data.fullUrl,
size: file.response.data.size,
});
this.$emit("change", this.files);
this.$emit("eett", this.files);
}
},
removeImage(file, ImageFileList) {
this.files.splice(this.files.indexOf(file), 1);
const imgFiles = [];
this.files.forEach((o) => {
imgFiles.push(o.url);
});
this.$emit("fileChange", this.files);
},
handleRemove(file, fileList) {
console.log("file:" + JSON.stringify(file));
console.log("fileList:" + JSON.stringify(fileList));
this.enclosure = "";
// 1. id(this.file_add)
this.getNewFileId(fileList);
// 2. id(this.file_catch)
this.getCatchFileId(file);
// 3. id
this.getFileId();
// 4. id
this.$emit("change", this.enclosure);
},
// this.file_add(id)
getNewFileId(fileList) {
// debugger
this.file_add = "";
for (var i = 0; i < fileList.length; i++) {
if (fileList[i].response && fileList[i].response.code === "200") {
this.file_add = this.file_add + fileList[i].response.data + ",";
}
}
if (this.file_add !== "") {
this.file_add = this.file_add.substring(0, this.file_add.length - 1);
size: file.response.data.size
})
this.$emit('photoAdd', this.Photo)
this.$emit('eett', this.files)
}
// console.log('1. this.file_add: ' + this.file_add)
},
// this.file_catchid
getCatchFileId(file) {
for (var i = 0; i < this.files_list.length; i++) {
if (this.file_catch !== "") {
// 1. id
if (this.files_list[i].name === file.name) {
// 2. file_catchfils_arry
var fils_arry = this.file_catch.split(",");
// 3. fils_arry this.files_list[i].id
var arry = [];
fils_arry.forEach((element) => {
//
if (element !== this.files_list[i].id) {
arry.push(element);
}
});
// 4. file_catch
this.file_catch = arry.join(",");
}
}
}
// console.log('2. this.file_catch:' + this.file_catch)
},
// id
getFileId() {
// console.log('3. this.file_catch:' + this.file_catch + ',this.file_add:' + this.file_add)
if (this.file_catch !== "") {
if (this.file_add !== "") {
this.enclosure = this.file_catch + "," + this.file_add;
} else {
this.enclosure = this.file_catch;
</script>
<style scoped>
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
} else {
this.enclosure = this.file_add;
.avatar-uploader .el-upload:hover {
border-color: #409eff;
}
},
handlePictureCardPreview(file) {
// this.dialogImageUrl = file.url
// this.dialogImageUrl = file.fullUrl
this.dialogImageUrl = file.url;
// this.showpicture = true
},
//
uploadError() {
this.loadding = false;
},
uploadProgrees(event, file, fileList) {
if (Number(event.percent) > 0) {
this.loadding = true;
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 178px;
height: 178px;
line-height: 178px;
text-align: center;
}
// console.log('event:', event)
},
},
};
</script>
<style lang="scss" scoped></style>
.avatar {
margin-top: 5%;
width: 178px;
height: 178px;
display: block;
}
</style>

2
anrui-management/anrui-management-ui/src/styles/index.scss

@ -120,7 +120,7 @@ div:focus {
}
.filter-item {
padding: 0 10px;
width: 220px;
width: 168px;
display: inline-block;
}
.listtop {

892
anrui-management/anrui-management-ui/src/views/sysstaffinfo/yuangongAdd.vue

File diff suppressed because it is too large

380
anrui-management/anrui-management-ui/src/views/sysstaffinfo/yuangongInfo.vue

@ -1,283 +1,253 @@
<template>
<div class="app-container">
<!--标题按钮部分开始-->
<div class="tab-header webtop">
<!--标题-->
<div>{{ viewTitle }}</div>
<!--start 添加修改按钮-->
<div>
<el-button type="primary" size="small">打印</el-button>
<el-button type="info" size="small" @click="handleReturn()"
>返回</el-button
>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
<!--end 添加修改按钮-->
<!--end 详情按钮-->
</div>
<!--标题按钮部分结束-->
<!--Start 新增修改部分-->
<div class="listconadd">
<el-form
ref="dataForm"
:model="temp"
label-position="right"
label-width="190px"
class="formadd"
>
<!-- <div class="titwu">客户信息登记</div> -->
<div
class="title"
style="
display: flex;
align-items: center;
justify-content: space-between;
"
>
<el-form ref="dataForm" :model="temp" label-position="right" label-width="190px" class="formadd">
<div class="title" style=" display: flex; align-items: center; justify-content: space-between;">
<div>客户基础信息</div>
</div>
<el-container>
<el-main>
<el-row>
<el-col :span="4">
<el-form-item prop="name">
<el-form-item>
<span>工号</span>
</el-form-item>
</el-col>
<el-col :span="20">
<el-form-item prop="name">
<el-form-item>
<span>{{ temp.jobNumber }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<el-form-item prop="name">
<el-form-item>
<span>姓名</span>
</el-form-item>
</el-col>
<el-col :span="20">
<el-form-item prop="name">
<el-form-item>
<span>{{ temp.name }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<el-form-item prop="name">
<el-form-item>
<span>性别</span>
</el-form-item>
</el-col>
<el-col :span="20">
<el-form-item prop="name">
<el-form-item>
<span>{{ temp.gender }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<el-form-item prop="idNo">
<el-form-item>
<span>身份证</span>
</el-form-item>
</el-col>
<el-col :span="20">
<el-form-item prop="idNo">
<el-form-item>
<span>{{ temp.idNo }}</span>
</el-form-item>
</el-col>
</el-row>
</el-main>
<el-aside style="width: 25%;text-align: center;border-right: 1px solid #e0e3eb">
<img v-show="temp.photo !=='' ? true : false" style="width: 178px;height: 178px;" :src="temp.photo" @click="open(temp.photo)">
</el-aside>
</el-container>
<el-row>
<el-col :span="4">
<el-form-item prop="name">
<el-col :span="3">
<el-form-item>
<span>证件有效期</span>
</el-form-item>
</el-col>
<el-col :span="20">
<el-form-item prop="name">
<el-col :span="21" class="jiguan">
<el-form-item>
<span>{{ temp.idTerm }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<el-form-item prop="name">
<el-col :span="3">
<el-form-item>
<span>出生年月日</span>
</el-form-item>
</el-col>
<el-col :span="20">
<el-form-item prop="name">
<el-col :span="21">
<el-form-item>
<span>{{ temp.birthday }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<el-form-item prop="name">
<el-col :span="3">
<el-form-item>
<span>民族</span>
</el-form-item>
</el-col>
<el-col :span="20">
<el-form-item prop="national">
<el-col :span="21">
<el-form-item>
<span>{{ temp.national }}</span>
</el-form-item>
</el-col>
</el-row>
</el-main>
<el-aside width="410px">
<img :src="temp.photo">
</el-aside>
</el-container>
<el-row>
<el-col :span="3">
<el-form-item prop="name">
<el-form-item>
<span>籍贯</span>
</el-form-item>
</el-col>
<el-col :span="21" class="jiguan">
<el-form-item prop="name">
<el-col :span="21">
<el-form-item>
<span>{{ temp.province + temp.city + temp.county }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<el-form-item prop="name">
<el-form-item>
<span>住址</span>
</el-form-item>
</el-col>
<el-col :span="21">
<el-form-item prop="name">
<el-form-item>
<span>{{ temp.address }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<el-form-item prop="name">
<el-form-item>
<span>手机号码</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="name">
<el-form-item>
<span>{{ temp.mobile }}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item prop="name">
<el-form-item>
<span>邮箱</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="name">
<el-form-item>
<span>{{ temp.email }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<el-form-item prop="name">
<el-form-item>
<span>紧急联系人</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="name">
<el-form-item>
<span>{{ temp.emergencyContact }}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item prop="name">
<el-form-item>
<span>紧急联系电话</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="name">
<el-form-item>
<span>{{ temp.emergencyMobile }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<el-form-item prop="name">
<el-form-item>
<span>政治面貌</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="name">
<el-form-item>
<span>{{ temp.poliCode }}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item prop="name">
<el-form-item>
<span>婚姻状况</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="name">
<el-form-item>
<span>{{ temp.maritalStatus }}</span>
</el-form-item>
</el-col>
</el-row>
<div
class="title"
style="
display: flex;
align-items: center;
justify-content: space-between;
"
>
<div class="title" style=" display: flex; align-items: center; justify-content: space-between;">
<div>更多信息</div>
</div>
<el-row>
<el-col :span="3">
<el-form-item prop="name">
<el-form-item>
<span>员工类型</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="name">
<el-form-item>
<span>{{ temp.personType }}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item prop="name">
<el-form-item>
<span>入职时间</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="name">
<el-form-item>
<span>{{ temp.joinCompnyDate }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<el-form-item prop="name">
<el-form-item>
<span>试用期</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="name">
<el-form-item>
<span>{{ temp.probPeriod }}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item prop="name">
<el-form-item>
<span>计划转正日期</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="name">
<el-form-item>
<span>{{ temp.plannedConfirmDate }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<el-form-item prop="name">
<el-form-item>
<span>实际转正日期</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="name">
<el-form-item>
<span>{{ temp.confirmationDate }}</span>
</el-form-item>
</el-col>
@ -285,44 +255,44 @@
</el-row>
<el-row>
<el-col :span="3">
<el-form-item prop="name">
<el-form-item>
<span>所在部门</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="orgName">
<span>{{ temp.sysStaffOrgDetailsVo.orgName }}</span>
<el-form-item>
<span>{{ temp.sysStaffOrg.orgName }}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item prop="name">
<el-form-item>
<span>岗位</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="name">
<span>{{ temp.sysStaffPostDetailsVo.postSid }}</span>
<el-form-item>
<span>{{ temp.sysStaffPost.name }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<el-form-item prop="name">
<el-form-item>
<span>银行账号</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="name">
<el-form-item>
<span>{{ temp.bankCardNo }}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item prop="name">
<el-form-item>
<span>开户行</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="name">
<el-form-item>
<span>{{ temp.openBank }}</span>
</el-form-item>
</el-col>
@ -330,337 +300,318 @@
<!-- !!!!各种附件证明图片!!!! -->
<el-row>
<el-col :span="3">
<el-form-item prop="name">
<!-- <span class="icon">*</span> -->
<el-form-item>
<span>身份证(人像面)</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="name">
<img :src="temp.idCardA">
<el-form-item>
<img v-show="temp.idCardA !=='' ? true : false" style="width: 178px;height: 178px;" :src="temp.idCardA" @click="open(temp.idCardA)">
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item prop="name">
<!-- <span class="icon">*</span> -->
<el-form-item>
<span>身份证(国徽面)</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="name">
<img :src="temp.idCardB">
<el-form-item>
<img v-show="temp.idCardB !=='' ? true : false" style="width: 178px;height: 178px;" :src="temp.idCardB" @click="open(temp.idCardB)">
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<el-form-item prop="name">
<!-- <span class="icon">*</span> -->
<el-form-item>
<span>前公司离职证明</span>
</el-form-item>
</el-col>
<el-col :span="21">
<el-form-item prop="name">
<img :src="temp.leaveCertificate">
<el-form-item>
<img v-show="temp.leaveCertificate !=='' ? true : false" style="width: 178px;height: 178px;" :src="temp.leaveCertificate" @click="open(temp.leaveCertificate)">
</el-form-item>
</el-col>
</el-row>
<div
class="title"
style="
display: flex;
align-items: center;
justify-content: space-between;
"
>
<div class="title" style=" display: flex; align-items: center; justify-content: space-between;">
<div>学历/技能信息</div>
</div>
<el-row>
<el-col :span="3">
<el-form-item prop="">
<el-form-item>
<span>毕业院校</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="graduate">
<el-form-item>
<span>{{ temp.graduate }}</span>
<!-- <el-input v-model="temp.graduate" maxlength="20" placeholder="请输入毕业院校" class="addinputw" clearable/> -->
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item prop="">
<el-form-item>
<span>学历/专业</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="education">
<el-form-item>
<span>{{ temp.education }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<el-form-item prop="">
<el-form-item>
<span>职称</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="title">
<el-form-item>
<span>{{ temp.title }}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item prop="">
<el-form-item>
<span>资格认证</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="qualification">
<el-form-item>
<span>{{ temp.qualification }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<el-form-item prop="">
<el-form-item>
<span>驾照类型</span>
</el-form-item>
</el-col>
<el-col :span="21">
<el-form-item prop="licenseType">
<el-form-item>
<span>{{ temp.licenseType }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<el-form-item prop="">
<el-form-item>
<span>学历证书</span>
</el-form-item>
</el-col>
<el-col :span="9">
<img :src="temp.diploma">
<img v-show="temp.diploma !=='' ? true : false" style="width: 178px;height: 178px;" :src="temp.diploma" @click="open(temp.diploma)">
</el-col>
<el-col :span="3">
<el-form-item prop="">
<el-form-item>
<span>学位证书</span>
</el-form-item>
</el-col>
<el-col :span="9">
<img :src="temp.degreeCertificate">
<img v-show="temp.degreeCertificate !=='' ? true : false" style="width: 178px;height: 178px;" :src="temp.degreeCertificate" @click="open(temp.degreeCertificate)">
</el-col>
</el-row>
<div
class="title"
style="
display: flex;
align-items: center;
justify-content: space-between;
"
>
<div class="title" style=" display: flex; align-items: center; justify-content: space-between;">
<div>社保信息</div>
</div>
<el-row>
<el-col :span="3">
<el-form-item prop="">
<el-form-item>
<span>意外险参保</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="isHaveInsurance">
<el-radio v-model="temp.isHaveInsurance" :label="1"></el-radio>
<el-radio v-model="temp.isHaveInsurance" :label="0"></el-radio>
<el-form-item>
<span>{{ temp.isHaveInsuranceValue }}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item prop="">
<el-form-item>
<span>意外险参保地</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="insuranceAddr">
<el-form-item>
<span>{{ temp.insuranceAddr }}</span>
<!-- <el-input v-model="temp.insuranceAddr" maxlength="20" placeholder="请输入意外险参保地" class="addinputw" clearable/> -->
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<el-form-item prop="">
<el-form-item>
<span>意外险参保时间</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="insuranceStartDate">
<el-form-item>
<span>{{ temp.insuranceStartDate }}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item prop="">
<el-form-item>
<span>意外险终止时间</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="insuranceEndDate">
<el-form-item>
<span>{{ temp.insuranceEndDate }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<el-form-item prop="">
<el-form-item>
<span>养老</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="isHaveAged">
<el-radio v-model="temp.isHaveAged" :label="1"></el-radio>
<el-radio v-model="temp.isHaveAged" :label="0"></el-radio>
<el-form-item>
<span>{{ temp.isHaveAgedValue }}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item prop="">
<el-form-item>
<span>医疗/生育</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="isHaveMedical">
<el-radio v-model="temp.isHaveMedical" :label="1"></el-radio>
<el-radio v-model="temp.isHaveMedical" :label="0"></el-radio>
<el-form-item>
<span>{{ temp.isHaveMedicalValue }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<el-form-item prop="">
<el-form-item>
<span>工伤</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="isHaveInjury">
<el-radio v-model="temp.isHaveInjury" :label="1"></el-radio>
<el-radio v-model="temp.isHaveInjury" :label="0"></el-radio>
<el-form-item>
<span>{{ temp.isHaveInjuryValue }}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item prop="">
<el-form-item>
<span>失业</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="isHaveUnemploy">
<el-radio v-model="temp.isHaveUnemploy" :label="1"></el-radio>
<el-radio v-model="temp.isHaveUnemploy" :label="0"></el-radio>
<el-form-item>
<span>{{ temp.isHaveUnemployValue }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<el-form-item prop="">
<el-form-item>
<span>社保参保地</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="insuredPlace">
<el-form-item>
<span>{{ temp.insuredPlace }}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item prop="">
<el-form-item>
<span>纸质档案保管地</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="paperPlace">
<el-form-item>
<span>{{ temp.paperPlace }}</span>
</el-form-item>
</el-col>
</el-row>
<!-- <div v-show="isQuit == true"> -->
<div
class="title"
style="
display: flex;
align-items: center;
justify-content: space-between;
"
>
<div v-show="isQuit">
<div class="title" style=" display: flex; align-items: center; justify-content: space-between;">
<div>离职信息</div>
</div>
<el-row>
<el-col :span="3">
<el-form-item prop="">
<el-form-item>
<span>离职日期</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="quitDate">
<el-form-item>
<span>{{ temp.quitDate }}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<el-form-item prop="">
<el-form-item>
<span>离职理由</span>
</el-form-item>
</el-col>
<el-col :span="9">
<el-form-item prop="quitReason">
<el-form-item>
<span>{{ temp.quitReason }}</span>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
<!--End 添加修改部分-->
<el-dialog :visible.sync="dialogVisible">
<img width="100%" :src="dialogUrl" alt="">
</el-dialog>
</div>
</template>
</template>
<script>
import req from "@/api/management/yuangongguanli";
import req from '@/api/management/yuangongguanli'
export default {
name: "yuangongInfo",
name: 'yuangongInfo',
data() {
return {
viewTitle: "",
dialogStatus: "",
viewTitle: '',
dialogStatus: '',
dialogVisible: false,
dialogUrl: '',
index: 0,
isQuit: false,
temp: {
sid: "", // sid
sysStaffOrgDetailsVo: {
orgName: "",
sid: '', // sid
sysStaffOrg: {
orgName: ''
}, //
sysStaffPostDetailsVo: {}, //
},
};
sysStaffPost: {} //
}
}
},
methods: {
handleReturn() {
this.temp = {};
this.$emit("doback");
this.temp = {}
this.$emit('doback')
},
showInfo(sid, row) {
this.$nextTick(() => {
this.$refs["dataForm"].clearValidate();
});
this.dialogStatus = "edit";
this.viewTitle = "其他出库单详情";
const _this = this;
req
.fetchBySid(sid)
.then((resp) => {
const data = resp.data;
this.sid = sid;
this.temp = data;
data.isHaveAged = this.temp.isHaveAged;
console.log("编辑回显出的数据", this.temp);
this.$refs['dataForm'].clearValidate()
})
this.dialogStatus = 'edit'
this.viewTitle = '员工信息详情'
req.fetchBySid(sid).then((resp) => {
const data = resp.data
this.sid = sid
this.temp = data
if (this.temp.personType === '全职') {
this.isQuit = false
} else {
this.isQuit = true
}
data.isHaveAged = this.temp.isHaveAged
console.log('编辑回显出的数据', this.temp)
}).catch((e) => {
this.temp = row
})
.catch((e) => {
this.temp = row;
});
},
},
};
open(val) {
this.dialogVisible = true
this.dialogUrl = val
}
}
}
</script>
<style scoped>
@ -685,4 +636,7 @@ export default {
line-height: 40px !important;
font-weight: 600;
}
.formadd {
margin: 0 15%;
}
</style>

404
anrui-management/anrui-management-ui/src/views/sysstaffinfo/yuangongguanli.vue

@ -1,131 +1,65 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<button-bar
ref="btnbar"
view-title="员工管理"
:btndisabled="btndisabled"
@btnhandle="btnHandle"
/>
<button-bar ref="btnbar" view-title="员工管理" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="searchcon">
<el-button
size="small"
class="searchbtn"
@click="isSearchShow = !isSearchShow"
>
{{ isSearchShow ? "隐藏查询条件" : "显示藏查询条件" }}
</el-button>
<el-button size="small" class="searchbtn" @click="isSearchShow = !isSearchShow">{{ isSearchShow ? "隐藏查询条件" : "显示藏查询条件" }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
<el-form-item label="员工姓名" label-width="85px">
<el-input
v-model="queryParams.params.name"
placeholder="请输入员工姓名"
clearable
class="filter-item"
/>
<el-row>
<el-form-item label="员工姓名">
<el-input v-model="queryParams.params.name" placeholder="请输入员工姓名" clearable class="addinputw"/>
</el-form-item>
<el-form-item label="员工类型" label-width="85px">
<el-select
v-model="queryParams.params.personType"
class="addinputw"
placeholder="请选择员工类型"
@change="getPersonType"
>
<el-option
v-for="(item, index) in personType_list"
:key="index.dictKey"
:label="item.dictValue"
:value="item.dictKey"
/>
<el-form-item label="员工类型">
<el-select v-model="queryParams.params.personTypeKey" class="addinputw" placeholder="请选择员工类型">
<el-option v-for="(item, index) in personType_list" :key="index.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="联系电话" label-width="85px">
<el-input
v-model="queryParams.params.mobile"
placeholder="请输入联系电话"
clearable
class="filter-item"
/>
<el-form-item label="联系电话">
<el-input v-model="queryParams.params.mobile" placeholder="请输入联系电话" clearable class="addinputw"/>
</el-form-item>
<el-form-item label="所在部门" label-width="85px">
<el-cascader
v-model="orgName_list"
:props="props"
:options="options"
@change="orgNameChange"
/>
<el-form-item label="所在部门">
<el-cascader v-model="orgName_list" :props="props" :options="options" class="addinputw" style="line-height: 32px" @change="orgNameChange"/>
</el-form-item>
<el-form-item label="所在岗位" label-width="85px">
<el-select
v-model="queryParams.params.postSid"
class="addinputw"
placeholder="请选择岗位"
@change="getPostSid"
>
<el-option
v-for="(item, index) in postSid_list"
:key="index.postCode"
:label="item.name"
:value="item.postCode"
/>
<el-form-item label="所在岗位">
<el-select v-model="queryParams.params.postSid" class="addinputw" placeholder="请选择岗位">
<el-option v-for="(item) in postSid_list" :key="item.sid" :label="item.name" :value="item.sid"/>
</el-select>
<!-- <el-input v-model="queryParams.params.postName" placeholder="请输入所在岗位" clearable class="filter-item"/> -->
</el-form-item>
<el-form-item label="入职日期" label-width="85px">
<el-date-picker
v-model="queryParams.params.joinCompnyDateStart"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
/>
</el-row>
<el-row>
<el-form-item label="入职日期">
<!-- <el-date-picker v-model="queryParams.params.joinCompnyDateStart" type="date" class="addinputw" placeholder="选择日期" value-format="yyyy-MM-dd"/>-->
<div class="block" style="float: left;">
<el-date-picker v-model="queryParams.params.joinCompnyDateStart" type="date" value-format="yyyy-MM-dd" placeholder="开始日期">
</el-date-picker>
</div>
<div style="float: left;margin: 0 5px"></div>
<div class="block" style="float: left;">
<el-date-picker v-model="queryParams.params.joinCompnyDateEnd" type="date" value-format="yyyy-MM-dd" placeholder="结束日期">
</el-date-picker>
</div>
</el-form-item>
</el-row>
<el-divider/>
<div
style="text-align: center; position: relative; margin-left: -75px"
>
<div style="text-align: center; position: relative; margin-left: -75px">
<el-button type="primary" @click="dosearch">查询</el-button>
<el-button type="primary" @click="resetQuery">重置</el-button>
</div>
</el-form>
</div>
</div>
<!--Start 项目列表头部-->
<div class="listtop">
<div class="tit">员工信息列表</div>
<pageye
v-show="dataList.length > 0"
:total="queryParams.total"
:page.sync="queryParams.current"
:limit.sync="queryParams.size"
class="pagination"
@pagination="loadList"
/>
<pageye v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" class="pagination" @pagination="loadList"/>
</div>
<!--End 项目列表头部-->
<!--Start 项目列表-->
<div class="listcon">
<el-table
v-loading="tableLoading"
:data="dataList"
border
style="width: 100%"
@selection-change="handleSelectionChange"
>
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column width="50px" type="selection" align="center"/>
<el-table-column
width="80px"
label="序号"
type="index"
:index="indexMethod"
align="center"
/>
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column prop="jobNumber" label="员工编号" align="center">
<template slot-scope="scope">
<span class="tablerow-click" @click="toInfo(scope.row)">{{
scope.row.jobNumber
}}</span>
<span class="tablerow-click" @click="toInfo(scope.row)">{{ scope.row.jobNumber }}</span>
</template>
</el-table-column>
<el-table-column prop="name" label="员工姓名" align="center"/>
@ -133,86 +67,28 @@
<el-table-column prop="mobile" label="手机号" align="center"/>
<el-table-column prop="orgName" label="所在部门" align="center"/>
<el-table-column prop="postName" label="岗位" align="center"/>
<el-table-column
prop="joinCompnyDate"
label="入职日期"
align="center"
/>
<el-table-column prop="joinCompnyDate" label="入职日期" align="center"/>
</el-table>
</div>
<!--End 项目列表-->
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination
v-show="dataList.length > 0"
:total="queryParams.total"
:page.sync="queryParams.current"
:limit.sync="queryParams.size"
class="pagination"
@pagination="loadList"
/>
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" class="pagination" @pagination="loadList"/>
</div>
</div>
<!--End 查询和其列表部分-->
<yuangong-add
v-show="viewState == 2 || viewState == 3"
ref="divadd"
@doback="resetState"
@reloadlist="loadList"
/>
<yuangong-info
v-show="viewState == 4"
ref="divinfo"
@doback="resetState"
/>
<el-dialog
title="客户登记-类型"
:visible.sync="dialogVisible"
width="40%"
top="13%"
>
<el-form :model="personTypeForm">
<el-form-item label="员工类型" class="diaForm">
<el-select
v-model="personTypeForm.personType"
class="addinputw"
placeholder="请选择员工类型"
@change="getPersonType"
>
<el-option
v-for="(item, index) in personType_list"
:key="index.dictKey"
:label="item.dictValue"
:value="item.dictKey"
/>
</el-select>
</el-form-item>
<el-form-item label="离职时间" class="diaForm">
<el-date-picker
v-model="personTypeForm.quitDate"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
/>
<yuangong-add v-show="viewState == 2 || viewState == 3" ref="divadd" @doback="resetState" @reloadlist="loadList"/>
<yuangong-info v-show="viewState == 4" ref="divinfo" @doback="resetState"/>
<el-dialog title="" :visible.sync="dialogVisible" width="40%" top="13%" center>
<el-form :model="personTypeForm" label-position="top">
<el-form-item label="离职时间">
<el-date-picker v-model="personTypeForm.quitDate" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"/>
</el-form-item>
<el-form-item label="离职理由" class="diaForm">
<el-input
v-model="personTypeForm.quitReason"
maxlength="5"
placeholder="请输入紧急联系电话"
class="lizhiliyou"
clearable
/>
<el-form-item label="离职理由">
<el-input v-model="personTypeForm.quitReason" maxlength="100" placeholder="" type="textarea" clearable/>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button
class="el-button-sure"
type="primary"
@click="handleOpen()"
> </el-button>
<el-button class="el-button-sure" type="primary" @click="handleOpen()"> </el-button>
<el-button @click="dialogVisible = false"> </el-button>
</span>
</el-dialog>
@ -224,7 +100,6 @@ import req from '@/api/management/yuangongguanli'
import ButtonBar from '@/components/ButtonBar'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import { setuser, getuser } from '@/utils/baocun'
import yuangongAdd from './yuangongAdd'
import yuangongInfo from './yuangongInfo'
@ -239,7 +114,6 @@ export default {
},
data() {
return {
pageType: 'staff',
dialogVisible: false, //
btndisabled: false,
viewState: 1, // 1 2 3 4
@ -269,8 +143,60 @@ export default {
current: 1,
size: 10,
total: 0,
params: {}
params: {
joinCompnyDateEnd: '',
joinCompnyDateStart: '',
mobile: '',
name: '',
orgSid: '',
personTypeKey: '',
postSid: ''
}
},
btnList: [
{
type: 'primary',
size: 'small',
icon: 'el-icon-plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'primary',
size: 'small',
icon: 'el-icon-edit',
btnKey: 'toEdit',
btnLabel: '编辑'
},
{
type: 'primary',
size: 'small',
icon: '',
btnKey: 'doSubmit',
btnLabel: '提交'
},
{
type: 'danger',
size: 'small',
icon: '',
btnKey: 'doQuit',
btnLabel: '离职'
},
{
type: 'success',
size: 'small',
icon: '',
btnKey: 'doImport',
btnLabel: '导入'
},
{
type: 'success',
size: 'small',
icon: '',
btnKey: 'doExport',
btnLabel: '导出'
}
]
}
},
created() {
@ -279,7 +205,7 @@ export default {
this.getBuMen()
},
mounted() {
// this.$refs["btnbar"].setButtonList(this.btnList);
this.$refs["btnbar"].setButtonList(this.btnList)
},
methods: {
@ -343,13 +269,10 @@ export default {
doSubmit(row) {
//
this.btndisabled = true
req
.doSubmit(this.queryParams.params, this.sids)
.then((resp) => {
req.doSubmit(this.queryParams.params, this.sids).then((resp) => {
console.log(resp)
this.btndisabled = false
})
.catch(() => {
}).catch(() => {
this.btndisabled = false
})
},
@ -388,18 +311,14 @@ export default {
},
doImport(row) {
//
req
.importExcel(this.queryParams.params, this.sids)
.then((resp) => {
req.importExcel(this.queryParams.params, this.sids).then((resp) => {
console.log(resp)
}).catch(() => {
})
.catch(() => {})
},
doExport(sids) {
//
req
.exportExcel(this.queryParams.params, this.sids)
.then((resp) => {
req.exportExcel(this.queryParams.params, this.sids).then((resp) => {
var map = resp.data
const fileName = map.filename //
// // <a> Firefox Chrome download
@ -412,8 +331,7 @@ export default {
link.click() //
URL.revokeObjectURL(link.href) // url
document.body.removeChild(link) //
})
.catch(() => {})
}).catch(() => {})
},
dosearch() {
this.queryParams.current = 1
@ -422,9 +340,7 @@ export default {
handleOpen() {
const _this = this
this.personTypeForm.sid = this.sids[0]
req
.delBySids(this.personTypeForm)
.then((resp) => {
req.del(this.personTypeForm).then((resp) => {
loading.close()
_this.$message({
type: 'success',
@ -433,8 +349,7 @@ export default {
})
_this.loadList()
this.dialogVisible = false
})
.catch((e) => {
}).catch((e) => {
loading.close()
})
},
@ -444,7 +359,6 @@ export default {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
setuser(this.sids)
})
this.sids = aa
this.row = row
@ -454,29 +368,34 @@ export default {
//
resetQuery() {
this.queryParams.params = {}
this.queryParams.params.sid = '' // sid
this.queryParams.params.name = '' //
this.queryParams = {
current: 1,
size: 10,
total: 0,
params: {
joinCompnyDateEnd: '',
joinCompnyDateStart: '',
mobile: '',
name: '',
orgSid: '',
personTypeKey: '',
postSid: ''
}
}
this.orgName_list = []
this.dosearch()
},
//
loadList() {
const _this = this
this.tableLoading = true
req
.listPage(this.queryParams)
.then((resp) => {
req.listPage(this.queryParams).then((resp) => {
console.log('查询列表', resp)
_this.tableLoading = false
const data = resp.data
_this.queryParams.total = data.total
_this.dataList = data.records
// for (var i = 0; i < data.records.length; i++) {
// var timeArr = data.records[i].createTime.split(' ');
// this.dataList[i].createTime = timeArr[0];
// }
})
.catch(() => {
}).catch(() => {
_this.tableLoading = false
})
},
@ -488,11 +407,7 @@ export default {
},
getType() {
req
.pullDown({
type: 'personType'
})
.then((res) => {
req.pullDown({ type: 'personType' }).then((res) => {
if (res.code === '200') {
this.personType_list = res.data
console.log('下拉框员工类型', res.data)
@ -505,42 +420,6 @@ export default {
}
})
},
getPersonType(value) {
console.log('触发下拉框按钮')
let bb = {}
this.personType_list.forEach((e) => {
// eslint-disable-next-line eqeqeq
if (e.dictKey == value) {
bb = {
type: e.dictType,
name: e.dictValue,
key: e.dictKey,
sid: e.sid
}
}
})
this.queryParams.params.personType = bb.name
console.log('name', this.queryParams.params.personType)
},
getPostSid(value) {
console.log('触发下拉框按钮', value)
let bb = {}
this.postSid_list.forEach((e) => {
// eslint-disable-next-line eqeqeq
if (e.postCode == value) {
bb = {
name: e.name,
key: e.postCode,
sid: e.sid
}
}
})
this.queryParams.params.postSid = bb.sid
// this.temp.nationalKey = bb.key
// this.formobj.scmOtherInboundDto.billType = bb.sid
console.log('name', this.queryParams.params.postSid)
},
//
getBuMen() {
req.salesDepName().then((res) => {
@ -553,61 +432,45 @@ export default {
},
BuMen0(data) {
data.forEach((e) => {
if (e.children.length != 0) {
if (e.children) {
if (e.children.length !== 0) {
this.BuMen0(e.children)
} else {
delete e.children
this.dataArr.push(e)
return
}
}
})
},
//
orgNameChange(e) {
console.log('选中结果:' + JSON.stringify(e))
var result = ''
var result_Sid = ''
var sidPath = ''
var namePath = ''
if (e.length > 0) {
//
e.forEach((item) => {
var last_id = item
//
this.select_temp_Name = '' // ()
this.select_temp_Sid = '' // (Sid)
this.select_temp_NamePath = '' // ()
this.select_temp_SidPath = '' // (sid)
this.findOrgId(last_id, this.options)
result = result + this.select_temp_Name + '/'
result_Sid = result_Sid + this.select_temp_Sid + ','
sidPath = this.select_temp_SidPath
namePath = namePath + this.select_temp_Name + '/'
})
}
if (result !== '') {
result = result.substring(0, result.length - 1)
}
if (namePath !== '') {
namePath = namePath.substring(0, result.length - 1)
}
if (result_Sid !== '') {
result_Sid = result_Sid.substring(0, result_Sid.length - 1)
}
const orgSidArray = result_Sid.split(',')
const orgSid = orgSidArray[orgSidArray.length - 1]
this.queryParams.params.orgName = result
// this.temp.sysStaffOrgDto.orgSid = orgSid
// this.temp.sysStaffOrgDto.orgSidPath = sidPath
// this.temp.sysStaffOrgDto.orgNamePath = namePath
console.log('选中名称:' + result, orgSid, sidPath, namePath)
this.queryParams.params.orgSid = orgSid
console.log('选中名称:' + orgSid)
},
// ---
findOrgId(id, options) {
console.log('这是部门id', id)
for (var i = 0; i < options.length; i++) {
if (id == options[i].sid) {
if (id === options[i].sid) {
this.select_temp_Name = options[i].name //
this.select_temp_Sid = options[i].sid
this.select_temp_NamePath = options[i].name
@ -615,7 +478,7 @@ export default {
return true
} else {
//
if (options[i].children !== undefined) {
if (options[i].children !== undefined && options[i].children !== null) {
//
if (this.findOrgId(id, options[i].children)) {
return true
@ -651,7 +514,4 @@ export default {
border: #2cab69 1px solid;
color: #2cab69;
}
.lizhiliyou {
width: 200px !important;
}
</style>

8
anrui-management/anrui-management-ui/vue.config.js

@ -40,16 +40,16 @@ module.exports = {
},
proxy: {
'/api': { // 匹配所有以 '/api'开头的请求路径
target: 'http://127.0.0.1:8111/',
// target: process.env.VUE_APP_URL, // 代理目标的基础路径
// target: 'http://127.0.0.1:8111/',
target: process.env.VUE_APP_URL, // 代理目标的基础路径
changeOrigin: true, // 支持跨域
pathRewrite: { // 重写路径: 去掉路径中开头的'/api'
'^/api': ''
}
},
'/upload': { // 匹配所有以 '/api'开头的请求路径
target: 'http://4424790b0u.qicp.vip/',
// target: process.env.VUE_APP_URL, // 代理目标的基础路径
// target: 'http://4424790b0u.qicp.vip/',
target: process.env.VUE_APP_URL, // 代理目标的基础路径
changeOrigin: true, // 支持跨域
pathRewrite: { // 重写路径: 去掉路径中开头的'/api'
'^/upload': ''

Loading…
Cancel
Save