分支机构

pull/1/head
tengxi 1 year ago
parent 35326f1fa6
commit 8b9cf7fa71

@ -1,10 +1,13 @@
package com.yunxi.scm.module.system.controller.admin.enterprise;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yunxi.scm.framework.datapermission.core.annotation.DataPermission;
import com.yunxi.scm.module.system.controller.admin.enterpriseoperate.vo.EnterpriseOperateRespVO;
import com.yunxi.scm.module.system.controller.admin.enterpriseoperate.vo.EnterpriseOperateUpdateReqVO;
import com.yunxi.scm.module.system.controller.admin.user.vo.user.UserUpdateStatusReqVO;
import com.yunxi.scm.module.system.convert.enterpriseoperate.EnterpriseOperateConvert;
import com.yunxi.scm.module.system.dal.dataobject.enterpriseoperate.EnterpriseOperateDO;
import com.yunxi.scm.module.system.service.enterpriseoperate.EnterpriseOperateService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -42,6 +45,9 @@ public class EnterpriseController {
@Resource
private EnterpriseService enterpriseService;
@Resource
private EnterpriseOperateService enterpriseOperateService;
@PostMapping("/create")
@Operation(summary = "创建企业信息")
@PreAuthorize("@ss.hasPermission('system:enterprise:create')")
@ -49,10 +55,32 @@ public class EnterpriseController {
return success(enterpriseService.createEnterprise(createReqVO));
}
// @PutMapping("/update")
// @Operation(summary = "更新企业信息")
// @PreAuthorize("@ss.hasPermission('system:enterprise:update')")
// public CommonResult<Boolean> updateEnterprise(@Valid @RequestBody EnterpriseUpdateReqVO updateReqVO) {
// enterpriseService.updateEnterprise(updateReqVO);
// return success(true);
// }
@PutMapping("/update")
@Operation(summary = "更新企业信息")
@PreAuthorize("@ss.hasPermission('system:enterprise:update')")
public CommonResult<Boolean> updateEnterprise(@Valid @RequestBody EnterpriseUpdateReqVO updateReqVO) {
//编辑操作记录自动新增
EnterpriseOperateUpdateReqVO operateUpdate =new EnterpriseOperateUpdateReqVO();
operateUpdate.setOperateTime(updateReqVO.getUpdateTime());
operateUpdate.setOperateName(updateReqVO.getUpdater());
if (updateReqVO.getEnterpriseStatus().equals("1")){
operateUpdate.setOperateType("修改状态");
} else if (updateReqVO.getEnterpriseStatus().equals("0")){
operateUpdate.setOperateType("修改状态");
}
// operateUpdate.setOperateType("1");
// operateUpdate.setOperateType("修改状态");
enterpriseOperateService.updateEnterpriseOperate(operateUpdate);
enterpriseService.updateEnterprise(updateReqVO);
return success(true);
}

@ -70,6 +70,9 @@ public class EnterpriseBaseVO {
@Schema(description = "首联系人")
private String firstConcat;
@Schema(description = "更新者")
private String updater;
@Schema(description = "联系电话")
private String phone;
@ -148,4 +151,5 @@ public class EnterpriseBaseVO {
@Schema(description = "代办人证件有效期", example = "66545454")
private String commissionPeriodOfValidity;
}

@ -66,17 +66,14 @@ public class EnterpriseBranchDO extends BaseDO {
/**
*
*/
@TableField(exist = false)
private Integer enterprise;
/**
* 线
*/
@TableField(exist = false)
private Integer businesNum;
/**
*
*/
@TableField(exist = false)
private Integer userNum;
}

@ -12,7 +12,6 @@
<select id="selectListPage" resultType="com.yunxi.scm.module.system.dal.dataobject.enterprisebranch.EnterpriseBranchDO" >
SELECT
a.*,
'3' AS enterprise,
count(c.id) AS businesNum,
count(b.id) AS userNum
FROM
@ -21,7 +20,7 @@
LEFT JOIN system_business_enterprise_relational c ON c.enterprise_id=a.id
<where>
<if test="reqVO.branchName != null and reqVO.branchName !=''">
a.branchName LIKE CONCAT('%',# {reqVO.branchName}'%')
a.branch_name LIKE CONCAT('%',#{reqVO.branchName},'%')
</if>
</where>
GROUP BY

@ -4,7 +4,7 @@ VITE_APP_TITLE=云息Saas平台
# 项目本地运行端口号
VITE_PORT=8090
# open 运行 npm run dev 时自动打开浏览
# open 运行 npm run dev 时自动打开浏览
VITE_OPEN=true
# 租户开关

@ -40,3 +40,8 @@ export const deleteEnterpriseBranch = async (id: number) => {
export const exportEnterpriseBranch = async (params) => {
return await request.download({ url: `/system/enterprise-branch/export-excel`, params })
}
// 查询分支机构列表
export const getEnterpriseBranchPage1 = async (params) => {
return await request.get({ url: `/system/enterprise-branch/page1`, params })
}

@ -10,8 +10,17 @@
<el-form-item label="机构名称" prop="branchName">
<el-input v-model="formData.branchName" placeholder="请输入机构名称" />
</el-form-item>
<el-form-item label="机构类型1总公司 2子公司" prop="branchType">
<el-select v-model="formData.branchType" placeholder="请选择机构类型1总公司 2子公司">
<el-form-item label="上级机构" prop="branchSuperior" >
<el-input disabled="true" v-model="formData.branchSuperior" placeholder="请输入上级机构" />
</el-form-item>
<el-form-item label="管理员" prop="adminName">
<el-input v-model="formData.adminName" placeholder="请输入管理员" />
</el-form-item>
<el-form-item label="机构类型" prop="branchType">
<el-select v-model="formData.branchType" placeholder="请选择机构类型">
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.ENTERPRISE_TYPE)"
:key="dict.value"
@ -20,18 +29,14 @@
/>
</el-select>
</el-form-item>
<el-form-item label="管理员" prop="adminName">
<el-input v-model="formData.adminName" placeholder="请输入管理员" />
</el-form-item>
<el-form-item label="联系电话" prop="telephone">
<el-input v-model="formData.telephone" placeholder="请输入联系电话" />
</el-form-item>
<el-form-item label="备注" prop="branchRemark">
<el-input v-model="formData.branchRemark" placeholder="请输入备注" />
</el-form-item>
<el-form-item label="上级机构" prop="branchSuperior">
<el-input v-model="formData.branchSuperior" placeholder="请输入上级机构" />
</el-form-item>
<el-form-item label="图片">
<UploadImg v-model="formData.logo" />
</el-form-item>
@ -123,7 +128,7 @@ const resetForm = () => {
adminName: undefined,
telephone: undefined,
branchRemark: undefined,
branchSuperior: undefined,
branchSuperior: '济钢城市矿产科技有限公司',
logo: undefined
}
formRef.value?.resetFields()

@ -17,7 +17,7 @@
class="!w-240px"
/>
</el-form-item>
<el-form-item label="机构类型1总公司 2子公司" prop="branchType">
<!-- <el-form-item label="机构类型1总公司 2子公司" prop="branchType">
<el-select
v-model="queryParams.branchType"
placeholder="请选择机构类型1总公司 2子公司"
@ -78,7 +78,7 @@
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
class="!w-240px"
/>
</el-form-item>
</el-form-item> -->
<el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
@ -106,34 +106,61 @@
<!-- 列表 -->
<ContentWrap>
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="序号" type="index" width="70px" />
<el-table-column label="ID" align="center" prop="id" width="150px"/>
<el-table-column label="机构名称" align="center" prop="branchName" width="150px"/>
<el-table-column label="机构类型1总公司 2子公司" align="center" prop="branchType" width="150px">
<!-- <el-table-column label="序号" type="index" width="70px" /> -->
<!-- <el-table-column label="ID" align="center" prop="id" width="150px"/> -->
<el-table-column fixed label="机构名称" prop="name" width="250px">
<template #default="scope">
<el-row>
<!--图片-->
<el-col :span="6">
<el-image style="width: 46px; height: 46px" :src="scope.row.logo" fit="fill" />
</el-col>
<!--机构名称-->
<el-col :span="18">
<el-row>
<el-col :span="24">{{ scope.row.branchName }}</el-col>
</el-row>
</el-col>
</el-row>
</template>
</el-table-column>
<!-- <el-table-column label="图片" align="center" prop="logo" width="150px"/> -->
<!-- <el-table-column label="机构名称" align="center" prop="branchName" width="150px"/> -->
<el-table-column label="机构类型" align="center" prop="branchType" width="150px">
<template #default="scope">
<dict-tag :type="DICT_TYPE.ENTERPRISE_TYPE" :value="scope.row.branchType" />
</template>
</el-table-column>
<el-table-column label="关联子公司" align="center" prop="enterprise" width="150px"/>
<el-table-column label="包含业务线" align="center" prop="businesNum" width="150px"/>
<el-table-column label="关联员工" align="center" prop="userNum" width="150px"/>
<el-table-column label="管理员" align="center" prop="adminName" width="150px"/>
<el-table-column label="联系电话" align="center" prop="telephone" width="150px"/>
<el-table-column label="备注" align="center" prop="branchRemark" width="150px"/>
<el-table-column label="上级机构" align="center" prop="branchSuperior" width="150px"/>
<el-table-column label="图片" align="center" prop="logo" width="150px"/>
<el-table-column
<el-table-column label="排序" align="center" prop="" width="150px"/>
<!-- <el-table-column label="备注" align="center" prop="branchRemark" width="150px"/> -->
<!-- <el-table-column label="上级机构" align="center" prop="branchSuperior" width="150px"/> -->
<!-- <el-table-column
label="创建时间"
align="center"
prop="createTime"
:formatter="dateFormatter"
width="150px"
/>
/> -->
<el-table-column
label="更新时间"
align="center"
prop="updateTime"
:formatter="dateFormatter"
width="150px"
width="250px"
/>
<el-table-column label="操作" align="center" width="150px">
<el-table-column label="操作" align="center" width="250px" fixed="right">
<template #default="scope">
<el-button
link
@ -143,6 +170,14 @@
>
编辑
</el-button>
<el-button
link
type="link"
>
设置状态
</el-button>
<el-button
link
type="danger"
@ -153,6 +188,7 @@
</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页 -->
<Pagination
@ -184,6 +220,9 @@ const queryParams = reactive({
pageSize: 10,
branchName: null,
branchType: null,
enterprise: null,
businesNum: null,
userNum: null,
adminName: null,
telephone: null,
branchRemark: null,
@ -198,7 +237,7 @@ const exportLoading = ref(false) // 导出的加载中
const getList = async () => {
loading.value = true
try {
const data = await EnterpriseBranchApi.getEnterpriseBranchPage(queryParams)
const data = await EnterpriseBranchApi.getEnterpriseBranchPage1(queryParams)
list.value = data.list
total.value = data.total
} finally {

Loading…
Cancel
Save