Browse Source

所属组织

master
DESKTOP-00SUCB6\Administrator 4 years ago
parent
commit
9591dd0716
  1. 4
      .env.development
  2. 65
      src/api/company/companyDept.js
  3. 254
      src/views/company/dept.vue
  4. 1
      src/views/system/dept/index.vue

4
.env.development

@ -2,10 +2,10 @@
ENV = 'development'
# 若依管理系统/开发环境
VUE_APP_BASE_API = 'http://121.36.65.171:9527'
#VUE_APP_BASE_API = 'http://121.36.65.171:9527'
VUE_APP_H5_QR = 'http://172.119.51.218/h5/invitation.html'
VUE_APP_H5_INFO = 'http://172.119.51.218/h5/info.html'
#VUE_APP_BASE_API = 'http://172.119.50.32:9527'
VUE_APP_BASE_API = 'http://172.119.50.181:9527'
# 路由懒加载

65
src/api/company/companyDept.js

@ -0,0 +1,65 @@
import request from '@/utils/request'
// 申请加入组织列表
export function applyToJoinList(query) {
return request({
url: '/system/dept/applyToJoinList',
method: 'post',
data: query
})
}
// 根据cryptoDeptId查看组织
export function getDeptByCryptoDeptId(query) {
return request({
url: '/system/dept/getDeptByCryptoDeptId',
method: 'post',
data: query
})
}
// 审核申请加入组织列表
export function applyToJoin(query) {
return request({
url: '/system/dept/applyToJoin',
method: 'post',
data: query
})
}
// 申请加入组织列表
export function selfCreatedList(query) {
return request({
url: '/system/dept/selfCreatedList',
method: 'post',
data: query
})
}
// 创建根节点
export function createNewRootNode(query) {
return request({
url: '/system/dept/createNewRootNode',
method: 'post',
data: query
})
}
// 同意申请加入组织
export function agreeApplyToJoin(query) {
return request({
url: '/system/dept/agreeApplyToJoin',
method: 'post',
data: query
})
}
// 拒绝申请加入组织
export function refuseApplyToJoin(query) {
return request({
url: '/system/dept/refuseApplyToJoin',
method: 'post',
data: query
})
}

254
src/views/company/dept.vue

@ -0,0 +1,254 @@
<template>
<div class="app-container">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:dept:add']"
>新增所属组织</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAddRoot"
v-hasPermi="['system:dept:add']"
>创建根节点组织</el-button>
</el-col>
<!-- <right-toolbar @queryTable="getList"></right-toolbar> -->
</el-row>
<el-tabs type="border-card">
<el-tab-pane label="我的申请">
<el-table :data="deptList">
<el-table-column label="归属企业名称" align="center" prop="parentName" />
<el-table-column label="企业名称" align="center" prop="deptName" />
<el-table-column label="创建日期" align="center" prop="createTime" />
<el-table-column label="创建人" align="center" prop="createBy" />
<el-table-column label="审核状态" align="center" prop="delFlag">
<template slot-scope="scope">
<span v-if="scope.row.delFlag == 2" class="text-warning">待审核</span>
<span v-else-if="scope.row.delFlag == 0" class="text-navy">审核通过</span>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane >
<span slot="label">
<el-badge :is-dot="verifyList.length>0" class="item">
我的审核
</el-badge>
</span>
<el-table :data="verifyList">
<el-table-column label="归属企业名称" align="center" prop="parentName" />
<el-table-column label="企业名称" align="center" prop="deptName" />
<el-table-column label="创建日期" align="center" prop="createTime" />
<el-table-column label="创建人" align="center" prop="createBy" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
class="text-navy"
@click="handleVerify(scope.row.deptId,true)"
>通过</el-button>
<el-button
size="mini"
type="text"
class="text-danger"
@click="handleVerify(scope.row.deptId,false)"
>驳回</el-button>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
<!-- <pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/> -->
<el-dialog title="申请所属组织" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="180px">
<el-form-item label="所属组织编号(对方):" prop="applyCode">
<el-input
v-model="form.applyCode"
@blur="getEnterpriseByApplyCode"
placeholder="请输入对方组织编号"
clearable
size="small"
style="width:250px"
/>
</el-form-item>
<el-form-item label="">
<span>{{applyEnterprise.name}}</span>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm('form')"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<el-dialog title="创建根节点组织" :visible.sync="open2" width="500px" append-to-body>
<el-form ref="form2" :model="form2" :rules="rules2" label-width="150px">
<el-form-item label="根节点组织名称:" prop="name">
<el-input
v-model="form2.name"
placeholder="请输入组织名称"
clearable
size="small"
style="width:250px"
/>
</el-form-item>
<el-form-item label="">
<span>{{applyEnterprise.name}}</span>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm('form2')"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {applyToJoinList,getDeptByCryptoDeptId,applyToJoin,createNewRootNode,selfCreatedList,agreeApplyToJoin,refuseApplyToJoin} from "@/api/company/companyDept"
export default {
name:"companyDept",
data(){
return {
deptList:[],
verifyList:[],
//
open: false,
open2: false,
//
total: 0,
//
queryParams: {
pageNum: 1,
pageSize: 10
},
//
form: {},
form2: {},
//
rules: {
applyCode: [
{ required: true, message: "组织编号不能为空", trigger: "blur" }
]
},
rules2: {
name: [
{ required: true, message: "组织名称不能为空", trigger: "blur" }
]
},
applyEnterprise:{
name:'',
id:''
},
}
},
created(){
this.getList()
},
methods:{
getList(){
applyToJoinList().then(res => {
this.verifyList = res.data
})
selfCreatedList().then(res => {
this.deptList = res.data
})
},
handleAdd(){
this.reset();
this.open = true;
},
handleAddRoot(){
this.reset();
this.open2 = true;
},
//
getEnterpriseByApplyCode(){
if(!this.form.applyCode || this.form.applyCode == '') {
this.applyEnterpriseName = ''
return
}
getDeptByCryptoDeptId({cryptoDeptId:this.form.applyCode }).then(res => {
this.applyEnterprise.name = res.msg
})
},
//
handleVerify(deptId,boolean){
if(boolean)
{
agreeApplyToJoin({deptId:deptId}).then(res => {
this.msgSuccess("审核通过");
this.getList();
})
} else {
refuseApplyToJoin({deptId:deptId}).then(res => {
this.msgSuccess("审核驳回");
this.getList();
})
}
},
/** 提交按钮 */
submitForm(form) {
this.$refs[form].validate(valid => {
if (valid) {
if(form == 'form')
{
applyToJoin({cryptoDeptId:this.form.applyCode}).then(res => {
this.msgSuccess("申请成功");
this.open = false;
this.getList();
})
} else if (form == 'form2')
{
createNewRootNode({deptName:this.form2.name}).then(res => {
this.msgSuccess("创建成功");
this.open2 = false;
this.getList();
})
}
}
});
},
//
cancel() {
this.open = false;
this.open2 = false;
this.reset();
},
//
reset() {
this.form = {};
this.resetForm("form");
this.form2 = {};
this.resetForm("form2");
},
}
}
</script>
<style lang="scss">
.el-badge__content.is-fixed {
top: 7px;
}
.el-badge__content.is-fixed.is-dot {
right: 0;
}
</style>

1
src/views/system/dept/index.vue

@ -48,6 +48,7 @@
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
>
<el-table-column prop="deptName" label="组织名称" width="260"></el-table-column>
<el-table-column prop="cryptoDeptId" label="组织编号" width="300"></el-table-column>
<el-table-column prop="orderNum" label="排序" width="200"></el-table-column>
<el-table-column prop="status" label="状态" :formatter="statusFormat" width="100"></el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="200">

Loading…
Cancel
Save