1
lzhe
2024-04-13 2bdbe42d8d4b03b46d2066e50e595a06cebd43c2
1
已添加4个文件
已修改9个文件
447 ■■■■■ 文件已修改
public/img/bg-login.fb434d90.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/importTable.vue 123 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/home/widgets/components/about.vue 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/home/widgets/components/img-logo.png 补丁 | 查看 | 原始文档 | blame | 历史
src/views/home/widgets/components/info.76e912c7.png 补丁 | 查看 | 原始文档 | blame | 历史
src/views/home/widgets/components/quesheng.bd026700.png 补丁 | 查看 | 原始文档 | blame | 历史
src/views/home/widgets/components/ver.vue 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/home/widgets/components/welcome.vue 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/login/components/passwordForm.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/login/index.vue 118 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/master/person/main/personDepartment.vue 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/master/person/main/personPerson.vue 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/master/person/main/personPost.vue 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/img/bg-login.fb434d90.jpg
src/layout/components/importTable.vue
@@ -1,55 +1,122 @@
<template>
    <div>
        <el-steps direction="vertical" :active="1">
            <el-step title="准备数据">
                <span class="desc">导入的数据个数需小于200,所有允许导入的字段请参考模板;
                    <span class="bolder">字段不符合规则,整条数据不予以导入</span>
                </span>
                <button type="button" class="el-button more-btn el-button--text el-button--mini"><span>更多字段导入规则 <i class="el-icon-arrow-down no-open"></i></span></button>
                <div class="desc">
                    <ul class="tip" style="">
                        <li>1、员工工号:必填;工号不可重复;支持大小写字母、数字组合;</li>
                        <li>2、员工姓名:必填;如果重名,建议加数字区分,如“张三1”;</li>
                        <li>3、状态:必填;选择在职/离职;</li>
                        <li>4、电话:必填;在本企业内不可重复;</li>
                        <li>5、PIN码:必填;支持4-6位数字;</li>
                        <li>6、岗位:非必填;可以填入多个岗位,以英文逗号‘,’间隔;不可重名;</li>
                        <li>7、邮箱:非必填;邮箱格式校验,比如“***@126.com”;</li>
                        <li>8、部门:非必填;请填写部门完整层级;中间间隔,请用英文符号”-“间隔。如”xx公司-xx部门-xx“</li>
                        <li>9、入职日期:非必填;日期格式“YY-MM-DD”</li>
                    </ul>
                    <a class="download el-link el-link--primary is-underline"><i class="el-icon-download"></i><span class="el-link--inner">下载模板</span></a>
                </div>
            </el-step>
            <el-step title="上传数据文件"></el-step>
          </el-steps>
    </div>
    <span>
        <el-button type="primary" @click="openimport">导入</el-button>
        <el-dialog title="导入" v-model="visible" :width="900">
            <h6><span>1</span>准备数据</h6>
            <span class="desc">导入的数据个数需小于200,所有允许导入的字段请参考模板;
                <span class="bolder">字段不符合规则,整条数据不予以导入</span>
                <span class="more" @click="showDest = !showDest">更多字段导入规则&gt</span>
            </span>
            <div class="text-desc" :class="{showDest: showDest}">
                <ul class="tip">
                    <li>1、员工工号:必填;工号不可重复;支持大小写字母、数字组合;</li>
                    <li>2、员工姓名:必填;如果重名,建议加数字区分,如“张三1”;</li>
                    <li>3、状态:必填;选择在职/离职;</li>
                    <li>4、电话:必填;在本企业内不可重复;</li>
                    <li>5、PIN码:必填;支持4-6位数字;</li>
                    <li>6、岗位:非必填;可以填入多个岗位,以英文逗号‘,’间隔;不可重名;</li>
                    <li>7、邮箱:非必填;邮箱格式校验,比如“***@126.com”;</li>
                    <li>8、部门:非必填;请填写部门完整层级;中间间隔,请用英文符号”-“间隔。如”xx公司-xx部门-xx“</li>
                    <li>9、入职日期:非必填;日期格式“YY-MM-DD”</li>
                </ul>
            </div>
            <div class="exportBtn" @click="exportBtn">下载模板</div>
            <h6 class="marTop8"><span>2</span>上传数据文件</h6>
            <div class="uploadBtn">
                <el-upload class="upload" :action="uploadUrl">
                    <el-button type="primary">上传文件</el-button>
                </el-upload>
                <div class="uploadBtn-desc">目前支持的文件类型为.xls,.xlsx</div>
            </div>
              <template #footer>
                <el-button @click="visible=false" >取 消</el-button>
            </template>
        </el-dialog>
    </span>
</template>
<script>
    export default {
        data() {
            return {
                visible: false,
                showDest: true
            }
        },
        mounted() {
            
        },
        props: {
            exportUrl: {type: String, default: true },
            uploadUrl: {type: String, default: true }
        },
        methods: {
            exportBtn() {
                this.$HTTP.get(this.exportUrl).then(res=> {
                    if(res.code == 200) {
                        window.open(res.data.link);
                    }
                })
            },
            openimport() {
                this.visible = true;
            }
        }
    }
</script>
<style scoped>
.showDest {
    display: none;
}
.desc {
    color: #333;
    font-size: 14px;
    padding-left: 25px;
}
.tip {
    list-style: none;
    margin-left: 40px;
    margin-top: 8px;
    font-size: 12px;
}
.desc .bolder {
    font-weight: bolder;
}
.tip {
h6 {
    font-size: 14px;
    margin-bottom:8px;
}
h6 span:nth-child(1) {
    border-radius: 50%;
    border: 1px solid;
    text-align: center;
    background: #fff;
    width: 20px;
    height: 20px;
    font-size: 14px;
    display: inline-block;
    margin-right:8px;
}
.more {
    color:#62a5a5;
    cursor: pointer;
}
.marTop8 {
    margin-top: 8px;
}
.uploadBtn {
    padding-left: 25px;
    padding-top: 4px;
}
.uploadBtn-desc {
    margin-top:6px;
    font-size: 12px;
    padding-left: 16px
}
.exportBtn {
    color: #4f9999;
    cursor: pointer;
    margin-left: 40px;
    margin-top: 8px;
}
</style>
src/views/home/widgets/components/about.vue
@@ -1,19 +1,25 @@
<template>
    <el-card shadow="hover" header="关于项目" class="item-background">
        <p>高性能 / 精致 / 优雅。基于Vue3 + Element-Plus 的中后台前端解决方案,如果喜欢就点个星星支持一下。</p>
        <p>
            <a href='https://gitee.com/lolicode/scui' target="_blank">
                <img src='https://gitee.com/lolicode/scui/badge/star.svg?theme=dark' alt='star' style="vertical-align: middle">
            </a>
        </p>
    <el-card shadow="hover" header="信息卡" class="item-background">
        <div class="informationCar">
            <div class="informationCar-info">
                <img src="./img-logo.png">
                <div>
                    <div>admin</div>
                    <div>admin</div>
                </div>
            </div>
            <img class="car-img" src="./info.76e912c7.png">
        </div>
        <ul>
            <li>中兵航联</li>
            <li>未绑定员工</li>
        </ul>
        <div class="ver">版本号: 93.1.14</div>
    </el-card>
</template>
<script>
    export default {
        title: "关于项目",
        icon: "el-icon-setting",
        description: "点个星星支持一下",
        data() {
            return {
                
@@ -23,5 +29,14 @@
</script>
<style scoped>
    .item-background {position: relative;}
    .item-background p {color: #999;margin-top:10px;line-height: 1.8;}
    .informationCar {display: flex;height: 60px;}
    .car-img {flex: 1;}
    .informationCar-info {width: 150px;display: flex;height: 50px;align-items: center;}
    .informationCar-info img {width: 30px;height:30px;}
    .informationCar-info > div {margin-left: 32px;flex: 1;}
    .informationCar-info > div div:nth-child(1) {margin-bottom: 8px;font-size: 14px;font-weight: bold;}
    ul {list-style: none;margin-bottom: 20px;}
    .ver {position: absolute;bottom: 6px;right: 8px;}
</style>
src/views/home/widgets/components/img-logo.png
src/views/home/widgets/components/info.76e912c7.png
src/views/home/widgets/components/quesheng.bd026700.png
src/views/home/widgets/components/ver.vue
@@ -1,40 +1,50 @@
<template>
    <el-card shadow="hover" header="版本信息">
        <div style="height: 210px;text-align: center;">
            <img src="img/ver.svg" style="height:140px"/>
            <h2 style="margin-top: 15px;">SCUI {{$CONFIG.CORE_VER}}</h2>
            <p style="margin-top: 5px;">最新版本 {{ver}}</p>
        </div>
        <div style="margin-top: 20px;">
            <el-button type="primary" plain round @click="golog">更新日志</el-button>
            <el-button type="primary" plain round @click="gogit">gitee</el-button>
        </div>
    </el-card>
    <div>
        <el-card shadow="hover" header="快捷入口">
            <ul>
                <li><div>人工-部门</div></li>
                <li><div class="addMenu" @click="showDrawer">+ 添加菜单</div></li>
            </ul>
        </el-card>
        <el-drawer
          title="我是标题"
          :visible.sync="drawer"
          :direction="direction"
          :before-close="handleClose">
          <span>我来啦!</span>
        </el-drawer>
    </div>
</template>
<script>
    export default {
        title: "版本信息",
        icon: "el-icon-monitor",
        description: "当前项目版本信息",
        data() {
            return {
                ver: 'loading...'
                direction: "rtl",
                drawer: false
            }
        },
        mounted() {
            this.getVer()
        },
        methods: {
            async getVer(){
                this.ver = "1.0.0"
            showDrawer() {
                alert(2)
                this.drawer = true;
                alert(3)
            },
            golog(){
                window.open("https://gitee.com/lolicode/scui/releases")
            },
            gogit(){
                window.open("https://gitee.com/lolicode/scui")
            }
            handleClose(done) {
                this.$confirm('确认关闭?').then(_ => {
                    done();
                 }).catch(_ => {});
             }
        }
    }
</script>
<style scoped>
    ul {list-style: none;margin-bottom: 10px;overflow: hidden;}
    ul li {float: left;margin-bottom: 8px;}
    ul li div {border: 1px solid #3b8e8e;margin-top: 10px;height: 43px;margin-left: 10px;display: flex;align-items: center;justify-content: center;color: #3b8e8e;padding: 7px 15px;border-radius: 2px;border-radius: 2px;white-space: nowrap;cursor: pointer;}
    ul li div:hover {background-color: #ebf4f4;}
    .addMenu {border: 1px dashed #3b8e8e;}
</style>
src/views/home/widgets/components/welcome.vue
@@ -1,36 +1,14 @@
<template>
    <el-card shadow="hover" header="欢迎">
        <div class="welcome">
            <div class="logo">
                <img src="img/logo.png">
                <h2>欢迎体验 SCUI</h2>
            </div>
            <div class="tips">
                <div class="tips-item">
                    <div class="tips-item-icon"><el-icon><el-icon-menu/></el-icon></div>
                    <div class="tips-item-message">这里是项目控制台,你可以点击右上方的“自定义”按钮来添加移除或者移动部件。</div>
                </div>
                <div class="tips-item">
                    <div class="tips-item-icon"><el-icon><el-icon-promotion/></el-icon></div>
                    <div class="tips-item-message">在提高前端算力、减少带宽请求和代码执行力上多次优化,并且持续着。</div>
                </div>
                <div class="tips-item">
                    <div class="tips-item-icon"><el-icon><el-icon-milk-tea/></el-icon></div>
                    <div class="tips-item-message">项目目的:让前端工作更快乐</div>
                </div>
            </div>
            <div class="actions">
                <el-button type="primary" icon="el-icon-check" size="large" @click="godoc">文档</el-button>
            </div>
    <el-card shadow="hover" header="公告">
        <div class="announcement">
            <img src="./quesheng.bd026700.png">
            <div>暂无内容</div>
        </div>
    </el-card>
</template>
<script>
    export default {
        title: "欢迎",
        icon: "el-icon-present",
        description: "项目特色以及文档链接",
        data() {
            return {
@@ -45,15 +23,12 @@
</script>
<style scoped>
    .welcome {}
    .welcome .logo {text-align: center;}
    .welcome .logo img {vertical-align: bottom;width: 100px;height: 100px;margin-bottom: 20px;}
    .welcome .logo h2 {font-size: 30px;font-weight: normal;display: flex;align-items: center;justify-content: center;}
    .tips {margin-top: 20px;padding:0 40px;}
    .tips-item {display: flex;align-items: center;justify-content: center;padding:7.5px 0;}
    .tips-item-icon {width: 40px;height:40px;display: flex;align-items: center;justify-content: center;border-radius: 50%;font-size: 18px;margin-right: 20px;color: var(--el-color-primary);background: rgba(180,180,180,0.1);}
    .tips-item-message {flex: 1;font-size: 14px;}
    .actions {text-align: center;margin: 40px 0 20px 0;}
    .announcement {
        text-align: center;
    }
    .announcement img {
        text-align: center;
        width:150px;
        height:150px;
    }
</style>
src/views/login/components/passwordForm.vue
@@ -153,6 +153,6 @@
</script>
<style>
.login-form {margin: 0 auto;margin-top: 46px;width: 354px;}
.inputHeight {height: 60px;line-height: 60px;}
.login-form {margin: 0 auto;margin-top: 46px;width: 294px;}
.inputHeight {height: 40px;line-height: 40px;}
</style>
src/views/login/index.vue
@@ -1,17 +1,16 @@
<template>
    <div class="login_bg">
        <div class="login_adv" style="background-image: url(img/auth_banner.jpg);">
            <div class="login_log">
                <img src="./loginlog.png" />
            </div>
            <div class="login_adv__bottom">© {{$CONFIG.APP_NAME}}</div>
        </div>
        <div class="login_main">
            <div class="login-form">
                <div class="title-name">协同制造管理系统</div>
                <password-form></password-form>
            </div>
        </div>
        <div class="login_adv" style="background-image: url(img/bg-login.fb434d90.jpg);">
            <div class="login_adv__bottom">
                © {{$CONFIG.APP_NAME}}
            </div>
        </div>
        <div class="login_main">
            <div class="login-form">
                <div class="title-name">制造信息管理系统</div>
                <password-form></password-form>
            </div>
        </div>
    </div>
</template>
@@ -80,53 +79,50 @@
<style scoped>
    .login_bg {width: 100%;height: 100%;background: #fff;display: flex;}
    .login_adv {width: 33.3%;background-color: #555;background-size: cover;background-position: center center;background-repeat: no-repeat;position: relative;}
    .login_adv .login_log {text-align: center;}
    .login_adv .login_log img {width:80%;padding-top:40%;}
    .login_adv__title {color: #fff;padding: 40px;position: absolute;top:0px;left:0px;right: 0px;z-index: 2;}
    .login_adv__title h2 {font-size: 40px;}
    .login_adv__title h4 {font-size: 18px;margin-top: 10px;font-weight: normal;}
    .login_adv__title p {font-size: 14px;margin-top:10px;line-height: 1.8;color: rgba(255,255,255,0.6);}
    .login_adv__title div {margin-top: 10px;display: flex;align-items: center;}
    .login_adv__title div span {margin-right: 15px;}
    .login_adv__title div i {font-size: 40px;}
    .login_adv__title div i.add {font-size: 20px;color: rgba(255,255,255,0.6);}
    .login_adv__bottom {position: absolute;left:0px;right: 0px;bottom: 0px;color: #fff;padding: 40px;background-image:linear-gradient(transparent, #000);z-index: 3;}
    .login_adv__mask {position: absolute;top:0px;left:0px;right: 0px;bottom: 0px;background: rgba(0,0,0,0.5);z-index: 1;}
    .login_main {display: flex;flex: 1;align-items: center;background: #fff;text-align: center;}
    .login-form {}
    .login-header {margin-bottom: 40px;}
    .login-header .logo {display: flex;align-items: center;}
    .login-header .logo img {width: 40px;height: 40px;vertical-align: bottom;margin-right: 10px;}
    .login-header .logo label {font-size: 26px;font-weight: bold;}
    .login-oauth {display: flex;justify-content:space-around;}
    .login-form .el-divider {margin-top:40px;}
    .login-form {}
    .login-form:deep(.el-tabs) .el-tabs__header {margin-bottom: 25px;}
    .login-form:deep(.el-tabs) .el-tabs__header .el-tabs__item {font-size: 14px;}
    .login-form:deep(.login-forgot) {text-align: right;}
    .login-form:deep(.login-forgot) a {color: var(--el-color-primary);}
    .login-form:deep(.login-forgot) a:hover {color: var(--el-color-primary-light-3);}
    .login-form:deep(.login-reg) {font-size: 14px;color: var(--el-text-color-primary);}
    .login-form:deep(.login-reg) a {color: var(--el-color-primary);}
    .login-form:deep(.login-reg) a:hover {color: var(--el-color-primary-light-3);}
    .login_config {position: absolute;top:20px;right: 20px;}
    .login-form:deep(.login-msg-yzm) {display: flex;width: 100%;}
    .login-form:deep(.login-msg-yzm) .el-button {margin-left: 10px;--el-button-size:42px;}
    .qrCodeLogin {text-align: center;position: relative;padding: 20px 0;}
    .qrCodeLogin img.qrCode {background: #fff;padding:20px;border-radius:10px;}
    .qrCodeLogin p.msg {margin-top: 15px;}
    .qrCodeLogin .qrCodeLogin-result {position: absolute;top:0;left:0;right: 0;bottom: 0;text-align: center;background: var(--el-mask-color);}
    .title-name {font-weight: 900;font-size: 24px;color: rgb(59, 142, 142);margin-top: 56px;line-height: 24px;margin-bottom:46px;}
    @media (max-width: 1000px){
        .login_main {display: block;}
        .login_main .login_config {position: static;padding:20px 20px 0 20px;text-align: right;}
        .login_adv {display: none;}
    }
    .login_adv {width: 100%;background-color: #555;background-size: cover;background-position: center center;background-repeat: no-repeat;position: relative;}
    .login_adv__title {color: #fff;padding: 40px;position: absolute;top:0px;left:0px;right: 0px;z-index: 2;}
    .login_adv__title h2 {font-size: 40px;}
    .login_adv__title h4 {font-size: 18px;margin-top: 10px;font-weight: normal;}
    .login_adv__title p {font-size: 14px;margin-top:10px;line-height: 1.8;color: rgba(255,255,255,0.6);}
    .login_adv__title div {margin-top: 10px;display: flex;align-items: center;}
    .login_adv__title div span {margin-right: 15px;}
    .login_adv__title div i {font-size: 40px;}
    .login_adv__title div i.add {font-size: 20px;color: rgba(255,255,255,0.6);}
    .login_adv__bottom {position: absolute;left:0px;right: 0px;bottom: 0px;color: #fff;padding: 40px;background-image:linear-gradient(transparent, #000);z-index: 3;}
    .login_adv__mask {position: absolute;top:0px;left:0px;right: 0px;bottom: 0px;background: rgba(0,0,0,0.5);z-index: 1;}
    .login_main {position: absolute;top: 0;right:118px;width: 370px;height: 440px;top: 52%;-webkit-transform: translateY(-50%);transform: translateY(-50%);background: #fff;text-align: center;padding: 22px 25px 28px;}
    .login-form {}
    .login-header {margin-bottom: 40px;}
    .login-header .logo {display: flex;align-items: center;}
    .login-header .logo img {width: 40px;height: 40px;vertical-align: bottom;margin-right: 10px;}
    .login-header .logo label {font-size: 26px;font-weight: bold;}
    .login-oauth {display: flex;justify-content:space-around;}
    .login-form .el-divider {margin-top:40px;}
    .login-form {}
    .login-form:deep(.el-tabs) .el-tabs__header {margin-bottom: 25px;}
    .login-form:deep(.el-tabs) .el-tabs__header .el-tabs__item {font-size: 14px;}
    .login-form:deep(.login-forgot) {text-align: right;}
    .login-form:deep(.login-forgot) a {color: var(--el-color-primary);}
    .login-form:deep(.login-forgot) a:hover {color: var(--el-color-primary-light-3);}
    .login-form:deep(.login-reg) {font-size: 14px;color: var(--el-text-color-primary);}
    .login-form:deep(.login-reg) a {color: var(--el-color-primary);}
    .login-form:deep(.login-reg) a:hover {color: var(--el-color-primary-light-3);}
    .login_config {position: absolute;top:20px;right: 20px;}
    .login-form:deep(.login-msg-yzm) {display: flex;width: 100%;}
    .login-form:deep(.login-msg-yzm) .el-button {margin-left: 10px;--el-button-size:42px;}
    .qrCodeLogin {text-align: center;position: relative;padding: 20px 0;}
    .qrCodeLogin img.qrCode {background: #fff;padding:20px;border-radius:10px;}
    .qrCodeLogin p.msg {margin-top: 15px;}
    .qrCodeLogin .qrCodeLogin-result {position: absolute;top:0;left:0;right: 0;bottom: 0;text-align: center;background: var(--el-mask-color);}
    .title-name {font-weight: 900;font-size: 24px;color: #409eff;margin-top: 56px;line-height: 24px;margin-bottom:46px;}
    @media (max-width: 1000px){
        .login_main {display: block;}
        .login_main .login_config {position: static;padding:20px 20px 0 20px;text-align: right;}
        .login_adv {display: none;}
    }
</style>
src/views/master/person/main/personDepartment.vue
@@ -12,6 +12,10 @@
            <div class="right-top">
                <div class="right-bottom"> 
                    <el-button type="primary" @click="addPerson">+ 添加部门</el-button>
                    <!-- 导入 -->
                    <import-table class="exportBtn" :exportUrl="exportUrl" :uploadUrl="uploadUrl"></import-table>
                    <!-- 导出 -->
                    <el-button type="primary" @click="getExport">导出</el-button>
                    <el-button type="danger" plain @click="delPerson">删除</el-button>
                </div>
                <div>
@@ -68,11 +72,14 @@
    <save-dialog v-if="dialog.save" ref="saveDialog" @success="addHandleSuccess" @closed="dialog.save=false"></save-dialog>
</template>
<script>
    import importTable from '@/layout/components/importTable.vue'
    import saveDialog from './department'
    export default {
        name: "bakalaka",
        data(){
            return {
                uploadUrl: "/api/blade-cps/group/import?groupType=group_organization&groupCategory=1",
                exportUrl: "/api/blade-cps/organization/export-template",
                selectId: "",
                selection: [],
                total: 0,
@@ -99,9 +106,16 @@
            this.getOrganizationList();
        },
        components: {
            saveDialog
            saveDialog,importTable
        },
        methods: {
            getExport() {
                this.$HTTP.get(`/api/blade-cps/organization/export-organization?`+this.$TOOL.qsStringify(this.searchData)).then(res=> {
                    if(res.code == 200) {
                        window.open(res.data.link);
                    }
                })
            },
            addHandleSuccess() {
                this.getOrganizationList();
            },
@@ -314,4 +328,8 @@
        line-height: 20px;
        margin-right: 6px;
    }
    .exportBtn {
        margin-left:8px;
        margin-right:8px;
    }
</style>
src/views/master/person/main/personPerson.vue
@@ -40,6 +40,10 @@
            <div class="right-bottom"> 
                <el-button type="primary" @click="addPerson">+ 添加员工</el-button>
                <el-button type="primary" @click="changeDepartment">部门调整</el-button>
                <!-- 导入 -->
                <import-table class="exportBtn" :exportUrl="exportUrl" :uploadUrl="uploadUrl"></import-table>
                <!-- 导出 -->
                <el-button type="primary" @click="getExport">导出</el-button>
                <el-button type="danger" plain @click="delPerson">删除</el-button>
            </div>
            <div class="right-table">
@@ -125,11 +129,14 @@
    <save-dialog v-if="dialog.save" ref="saveDialog" @success="personHandleSuccess" @closed="dialog.save=false"></save-dialog>
</template>
<script>
    import importTable from '@/layout/components/importTable.vue'
    import saveDialog from './save'
    export default {
        name: "personPerson",
        data(){
            return {
                uploadUrl: "/api/blade-cps/employee/import-employee",
                exportUrl: "/api/blade-cps/employee/export-template",
                titleList: [],
                delPersonModel: false,
                searchIcon: "el-icon-search",
@@ -174,9 +181,16 @@
            this.getOrganizationList();  //部门
        },
        components: {
            saveDialog
            saveDialog,importTable
        },
        methods: {
            getExport() {
                this.$HTTP.get(`/api/blade-cps/employee/export-employee?`+this.$TOOL.qsStringify(this.searchData)).then(res=> {
                    if(res.code == 200) {
                        window.open(res.data.link);
                    }
                })
            },
            parentIdChange(val) {
                // var $parentId = this.$refs.parentTree.getCurrentNode().title;
                // this.depatmentForm.$parentId = $parentId;
@@ -494,4 +508,8 @@
        line-height: 20px;
        margin-right: 6px;
    }
    .exportBtn {
        margin-left:8px;
        margin-right:8px;
    }
</style>
src/views/master/person/main/personPost.vue
@@ -12,6 +12,10 @@
            <div class="right-top">
                <div class="right-bottom"> 
                    <el-button type="primary" @click="addPerson">+ 添加岗位</el-button>
                    <!-- 导入 -->
                    <import-table class="exportBtn" :exportUrl="exportUrl" :uploadUrl="uploadUrl"></import-table>
                    <!-- 导出 -->
                    <el-button type="primary" @click="getExport">导出</el-button>
                    <el-button type="danger" plain @click="delPerson">删除</el-button>
                </div>
                <div>
@@ -68,11 +72,14 @@
    </el-dialog>
</template>
<script>
    import importTable from '@/layout/components/importTable.vue'
    import saveDialog from './post'
    export default {
        name: "bakalaka",
        data(){
            return {
                uploadUrl: "/api/blade-system/post/import-post",
                exportUrl: "/api/blade-system/post/export-template",
                totle: "0",
                postSearchData: {
                    current: 1,
@@ -97,9 +104,16 @@
            this.getPost();
        },
        components: {
            saveDialog
            saveDialog,importTable
        },
        methods: {
            getExport() {
                this.$HTTP.get(`/api/blade-system/post/export-post?`+this.$TOOL.qsStringify(this.postSearchData)).then(res=> {
                    if(res.code == 200) {
                        window.open(res.data.link);
                    }
                })
            },
            delData(type) {
                this.$HTTP.post(`/api/blade-system/post/remove?ids=${this.selectId}&type=${type}`).then(res=> {
                    if(res.code == 200) {
@@ -300,4 +314,8 @@
        line-height: 20px;
        margin-right: 6px;
    }
    .exportBtn {
        margin-left:8px;
        margin-right:8px;
    }
</style>