提交代码

dev_xd
姜玉琦 2024-09-21 21:58:31 +08:00
parent cf9af39a16
commit 31ae5e42a7
11 changed files with 184 additions and 75 deletions

View File

@ -1,10 +1,13 @@
package com.yanzhu.manage.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yanzhu.common.core.annotation.Excel;
import com.yanzhu.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.Date;
/**
* pro_project_info_subdepts
*
@ -66,6 +69,15 @@ public class ProProjectInfoSubdepts extends BaseEntity
@Excel(name = "负责人电话")
private String subDeptLeaderPhone;
/** 合同承包内容 */
@Excel(name = "合同承包内容")
private String contractInfos;
/** 进场时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "进场时间")
private Date useDates;
/** 进场状态 */
@Excel(name = "进场状态")
private String useStatus;
@ -181,6 +193,23 @@ public class ProProjectInfoSubdepts extends BaseEntity
{
return subDeptLeaderPhone;
}
public String getContractInfos() {
return contractInfos;
}
public void setContractInfos(String contractInfos) {
this.contractInfos = contractInfos;
}
public Date getUseDates() {
return useDates;
}
public void setUseDates(Date useDates) {
this.useDates = useDates;
}
public void setUseStatus(String useStatus)
{
this.useStatus = useStatus;
@ -248,6 +277,8 @@ public class ProProjectInfoSubdepts extends BaseEntity
.append("subDeptLeaderName", getSubDeptLeaderName())
.append("subDeptLeaderCode", getSubDeptLeaderCode())
.append("subDeptLeaderPhone", getSubDeptLeaderPhone())
.append("contractInfos", getContractInfos())
.append("useDates", getUseDates())
.append("useStatus", getUseStatus())
.append("approveStatus", getApproveStatus())
.append("qrCode", getQrCode())

View File

@ -67,4 +67,11 @@ public interface ProProjectInfoMapper
* @return
*/
public int insertDept(ProDept proDept);
/**
*
* @param proDept
* @return
*/
public int updateDept(ProDept proDept);
}

View File

@ -24,7 +24,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<sql id="selectProProjectInfoDeptsVo">
select pd.id, pd.project_id, pi.project_name, pd.dept_type, pd.dept_name, pd.dept_code, leader, phone, pd.is_del, pd.create_by, pd.create_time, pd.update_by, pd.update_time, pd.remark from pro_project_info_depts pd
left join pro_project_info pi on pi.id = pd.project_id
left join sys_dept sd on sd.dept_id = pi.dept_id
left join sys_dept sd on sd.dept_id = pi.com_id
</sql>
<select id="selectProProjectInfoDeptsList" parameterType="ProProjectInfoDepts" resultMap="ProProjectInfoDeptsResult">

View File

@ -274,7 +274,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="deptShortName != null and deptShortName != ''">#{deptShortName},</if>
<if test="deptCode != null and deptCode != ''">#{deptCode},</if>
<if test="deptType != null and deptType != ''">#{deptType},</if>
<if test="deptInfos != null and deptInfos != ''">#{deptInfos},</if>
<if test="orderNum != null">#{orderNum},</if>
<if test="leader != null and leader != ''">#{leader},</if>
<if test="phone != null and phone != ''">#{phone},</if>
@ -292,7 +291,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="deptShortName != null and deptShortName != ''">dept_short_name = #{deptShortName},</if>
<if test="deptCode != null and deptCode != ''">dept_code = #{deptCode},</if>
<if test="deptType != null and deptType != ''">dept_type = #{deptType},</if>
<if test="deptInfos != null and deptInfos != ''">dept_infos = #{deptInfos},</if>
<if test="orderNum != null">order_num = #{orderNum},</if>
<if test="leader != null">leader = #{leader},</if>
<if test="phone != null">phone = #{phone},</if>

View File

@ -24,7 +24,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<sql id="selectProProjectInfoSettingVo">
select ps.id, ps.project_id, pi.project_name, ps.org_name, ps.org_logo, ps.org_image, ps.org_video, ps.org_plane, ps.is_del, ps.create_by, ps.create_time, ps.update_by, ps.update_time, ps.remark from pro_project_info_setting ps
left join pro_project_info pi on pi.id = ps.project_id
left join sys_dept sd on sd.dept_id = pi.dept_id
left join sys_dept sd on sd.dept_id = pi.com_id
</sql>
<select id="selectProProjectInfoSettingList" parameterType="ProProjectInfoSetting" resultMap="ProProjectInfoSettingResult">

View File

@ -34,7 +34,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<sql id="selectProProjectInfoSubdeptsGroupVo">
select psg.id, psg.com_id, psg.project_id, pi.project_name, psg.sub_dept_id, psg.sub_dept_type, psg.sub_dept_name, psg.sub_dept_code, psg.group_name, psg.group_code, psg.craft_type, psg.craft_post, psg.group_leader_name, psg.group_leader_code, psg.group_leader_phone, psg.use_status, psg.approve_status, psg.qr_code, psg.is_del, psg.create_by, psg.create_time, psg.update_by, psg.update_time, psg.remark from pro_project_info_subdepts_group psg
left join pro_project_info pi on pi.id = psg.project_id
left join sys_dept sd on sd.dept_id = pi.dept_id
left join sys_dept sd on sd.dept_id = pi.com_id
</sql>
<select id="selectProProjectInfoSubdeptsGroupList" parameterType="ProProjectInfoSubdeptsGroup" resultMap="ProProjectInfoSubdeptsGroupResult">

View File

@ -18,6 +18,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="subDeptLeaderName" column="sub_dept_leader_name" />
<result property="subDeptLeaderCode" column="sub_dept_leader_code" />
<result property="subDeptLeaderPhone" column="sub_dept_leader_phone" />
<result property="contractInfos" column="contract_infos" />
<result property="useDates" column="use_dates" />
<result property="useStatus" column="use_status" />
<result property="approveStatus" column="approve_status" />
<result property="qrCode" column="qr_code" />
@ -30,9 +32,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectProProjectInfoSubdeptsVo">
select ps.id, ps.com_id, sd.dept_name, ps.project_id, pi.project_name, ps.sub_dept_id, ps.sub_dept_type, ps.sub_dept_name, ps.sub_dept_code, ps.sub_dept_leader_id, ps.sub_dept_leader_name, ps.sub_dept_leader_code, ps.sub_dept_leader_phone, ps.use_status, ps.approve_status, ps.qr_code, ps.is_del, ps.create_by, ps.create_time, ps.update_by, ps.update_time, ps.remark from pro_project_info_subdepts ps
select ps.id, ps.com_id, sd.dept_name, ps.project_id, pi.project_name, ps.sub_dept_id, ps.sub_dept_type, ps.sub_dept_name, ps.sub_dept_code, ps.sub_dept_leader_id, ps.sub_dept_leader_name, ps.sub_dept_leader_code, ps.sub_dept_leader_phone, ps.contract_infos, ps.use_dates, ps.use_status, ps.approve_status, ps.qr_code, ps.is_del, ps.create_by, ps.create_time, ps.update_by, ps.update_time, ps.remark from pro_project_info_subdepts ps
left join pro_project_info pi on pi.id = ps.project_id
left join sys_dept sd on sd.dept_id = pi.dept_id
left join sys_dept sd on sd.dept_id = pi.com_id
</sql>
<select id="selectProProjectInfoSubdeptsList" parameterType="ProProjectInfoSubdepts" resultMap="ProProjectInfoSubdeptsResult">
@ -74,6 +76,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="subDeptLeaderName != null">sub_dept_leader_name,</if>
<if test="subDeptLeaderCode != null">sub_dept_leader_code,</if>
<if test="subDeptLeaderPhone != null">sub_dept_leader_phone,</if>
<if test="contractInfos != null">contract_infos,</if>
<if test="useDates != null">use_dates,</if>
<if test="useStatus != null">use_status,</if>
<if test="approveStatus != null">approve_status,</if>
<if test="qrCode != null">qr_code,</if>
@ -95,6 +99,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="subDeptLeaderName != null">#{subDeptLeaderName},</if>
<if test="subDeptLeaderCode != null">#{subDeptLeaderCode},</if>
<if test="subDeptLeaderPhone != null">#{subDeptLeaderPhone},</if>
<if test="contractInfos != null">#{contractInfos},</if>
<if test="useDates != null">#{useDates},</if>
<if test="useStatus != null">#{useStatus},</if>
<if test="approveStatus != null">#{approveStatus},</if>
<if test="qrCode != null">#{qrCode},</if>
@ -120,6 +126,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="subDeptLeaderName != null">sub_dept_leader_name = #{subDeptLeaderName},</if>
<if test="subDeptLeaderCode != null">sub_dept_leader_code = #{subDeptLeaderCode},</if>
<if test="subDeptLeaderPhone != null">sub_dept_leader_phone = #{subDeptLeaderPhone},</if>
<if test="contractInfos != null">contract_infos = #{contractInfos},</if>
<if test="useDates != null">use_dates = #{useDates},</if>
<if test="useStatus != null">use_status = #{useStatus},</if>
<if test="approveStatus != null">approve_status = #{approveStatus},</if>
<if test="qrCode != null">qr_code = #{qrCode},</if>

View File

@ -37,7 +37,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<sql id="selectProProjectInfoSubdeptsUsersVo">
select psu.id, psu.com_id, psu.project_id, pi.project_name, psu.sub_dept_id, psu.sub_dept_type, psu.sub_dept_name, psu.user_id, psu.user_type, psu.user_name, psu.craft_type, psu.craft_post, psu.edu_status, psu.edu_file_path, psu.edu_sign_path, psu.edu_date, psu.approve_status, psu.use_status, psu.sub_step, psu.illness_status, psu.sup_illness_status, psu.is_del, psu.create_by, psu.create_time, psu.update_by, psu.update_time, psu.remark from pro_project_info_subdepts_users psu
left join pro_project_info pi on pi.id = psu.project_id
left join sys_dept sd on sd.dept_id = pi.dept_id
left join sys_dept sd on sd.dept_id = pi.com_id
</sql>
<select id="selectProProjectInfoSubdeptsUsersList" parameterType="ProProjectInfoSubdeptsUsers" resultMap="ProProjectInfoSubdeptsUsersResult">

View File

@ -26,7 +26,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<sql id="selectProProjectInfoUsersVo">
select pu.id, pu.com_id, sd.dept_name as com_name, pu.project_id, pi.project_name, pu.user_id, pu.user_name, pu.user_code, pu.user_phone, pu.use_status, pu.sort_by, pu.is_del, pu.create_by, pu.create_time, pu.update_by, pu.update_time, pu.remark from pro_project_info_users pu
left join pro_project_info pi on pi.id = pu.project_id
left join sys_dept sd on sd.dept_id = pi.dept_id
left join sys_dept sd on sd.dept_id = pi.com_id
</sql>
<select id="selectProProjectInfoUsersList" parameterType="ProProjectInfoUsers" resultMap="ProProjectInfoUsersResult">

View File

@ -136,7 +136,21 @@ public class ProProjectInfoServiceImpl implements IProProjectInfoService
settingMapper.insertProProjectInfoSetting(setting);
}
}
return proProjectInfoMapper.updateProProjectInfo(proProjectInfo);
int res = proProjectInfoMapper.updateProProjectInfo(proProjectInfo);
if(res>0){
R<SysDept> deptResult = remoteDeptService.getDeptInfo(proProjectInfo.getDisDeptId(), SecurityConstants.INNER);
SysDept sysDept = deptResult.getData();
ProDept proDept = new ProDept();
proDept.setDeptId(proProjectInfo.getId());
proDept.setParentId(proProjectInfo.getDisDeptId());
proDept.setAncestors(sysDept.getAncestors()+","+proProjectInfo.getDisDeptId());
proDept.setDeptName(proProjectInfo.getProjectName());
proDept.setDeptShortName(proProjectInfo.getSimpleName());
proDept.setLeader(proProjectInfo.getProjectPerson());
proDept.setPhone(proProjectInfo.getProjectPersonPhone());
proProjectInfoMapper.updateDept(proDept);
}
return res;
}
/**

View File

@ -96,9 +96,7 @@
</el-table-column>
<el-table-column label="单位名称" align="center" prop="subDeptName" />
<el-table-column label="信用代码" align="center" prop="subDeptCode" />
<el-table-column label="委托人" align="center" prop="subDeptLeaderName" />
<el-table-column label="委托人电话" align="center" prop="subDeptLeaderPhone" />
<el-table-column label="入场二维码" align="center" prop="qrCode" width="80" >
<el-table-column label="入场二维码" align="center" prop="qrCode" width="100" >
<template #default="scope">
<image-preview v-if="scope.row.qrCode" :src="scope.row.qrCode" :width="50" :height="50" />
<span v-if="!scope.row.qrCode">-</span>
@ -134,67 +132,107 @@
<!-- 添加或修改分包单位对话框 -->
<el-dialog :title="title" v-model="open" width="680px" append-to-body>
<el-form ref="proProjectInfoSubdeptsRef" :model="form" :rules="rules" label-width="80px">
<el-form-item label="公司名称" v-if="form.comId">
{{form.comName}}
</el-form-item>
<el-form-item label="项目名称" v-if="form.projectId">
<el-tag effect="plain">{{ form.projectName }}</el-tag>
</el-form-item>
<el-form-item label="单位类型" prop="subDeptType">
<el-select v-model="form.subDeptType" placeholder="请选择单位类型">
<el-option
v-for="dict in sub_dept_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="单位名称" prop="subDeptName">
<el-input v-model="form.subDeptName" placeholder="请输入单位名称" />
</el-form-item>
<el-form-item label="信用代码" prop="subDeptCode">
<el-input v-model="form.subDeptCode" placeholder="请输入信用代码" />
</el-form-item>
<el-form-item label="负责人主键" prop="subDeptLeaderId">
<el-input v-model="form.subDeptLeaderId" placeholder="请输入负责人主键" />
</el-form-item>
<el-form-item label="负责人姓名" prop="subDeptLeaderName">
<el-input v-model="form.subDeptLeaderName" placeholder="请输入负责人姓名" />
</el-form-item>
<el-form-item label="负责人证件号码" prop="subDeptLeaderCode">
<el-input v-model="form.subDeptLeaderCode" placeholder="请输入负责人证件号码" />
</el-form-item>
<el-form-item label="负责人电话" prop="subDeptLeaderPhone">
<el-input v-model="form.subDeptLeaderPhone" placeholder="请输入负责人电话" />
</el-form-item>
<el-form-item label="进场状态" prop="useStatus">
<el-select v-model="form.useStatus" placeholder="请选择进场状态">
<el-option
v-for="dict in sys_use_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="二维码" prop="qrCode">
<el-input v-model="form.qrCode" placeholder="请输入二维码" />
</el-form-item>
<el-form-item label="删除标识" prop="isDel">
<el-select v-model="form.isDel" placeholder="请选择删除标识">
<el-option
v-for="dict in sys_is_del"
:key="dict.value"
:label="dict.label"
:value="parseInt(dict.value)"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
<el-form ref="proProjectInfoSubdeptsRef" :model="form" :rules="rules" label-width="88px">
<el-tabs
v-model="activeTabs"
type="card"
class="demo-tabs"
>
<el-tab-pane label="基本信息" name="base">
<el-form-item label="项目名称" v-if="form.projectId">
<el-tag effect="plain">{{ form.projectName }}</el-tag>
</el-form-item>
<el-form-item label="单位类型" prop="subDeptType">
<el-select v-model="form.subDeptType" placeholder="请选择单位类型" style="width:100%">
<el-option
v-for="dict in sub_dept_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="单位名称" prop="subDeptName">
<el-input v-model="form.subDeptName" placeholder="请输入单位名称" />
</el-form-item>
<el-form-item label="信用代码" prop="subDeptCode">
<el-input v-model="form.subDeptCode" placeholder="请输入信用代码" />
</el-form-item>
<el-form-item label="进场时间" prop="useDates">
<el-date-picker
v-model="form.useDates"
type="date"
placeholder="请选择进场时间"
style="width:100%"
/>
</el-form-item>
<el-form-item label="进场状态" prop="useStatus">
<el-select v-model="form.useStatus" placeholder="请选择进场状态" style="width:100%">
<el-option
v-for="dict in sys_use_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="承包范围" prop="subDeptCode">
<el-input v-model="form.subDeptCode" placeholder="请输入承包范围" />
</el-form-item>
</el-tab-pane>
<el-tab-pane label="单位信息" name="infos">
<el-form-item label="经营范围" prop="subDeptName">
<el-input v-model="form.subDeptName" placeholder="请输入经营范围" />
</el-form-item>
<el-form-item label="注册日期" prop="useDates">
<el-date-picker
v-model="form.useDates"
type="date"
placeholder="请选择注册日期"
style="width:100%"
/>
</el-form-item>
<el-form-item label="公司地址" prop="subDeptName">
<el-input v-model="form.subDeptName" placeholder="请输入公司地址" />
</el-form-item>
<el-form-item label="联系人" prop="subDeptName">
<el-input v-model="form.subDeptName" placeholder="请输入公司电话" />
</el-form-item>
<el-form-item label="联系人电话" prop="subDeptName">
<el-input v-model="form.subDeptName" placeholder="请输入联系人电话" />
</el-form-item>
<el-form-item label="法定代表人" prop="subDeptName">
<el-input v-model="form.subDeptName" placeholder="请输入法定代表人" />
</el-form-item>
<el-form-item label="法人身份证" prop="subDeptName">
<el-input v-model="form.subDeptName" placeholder="请输入法人身份证" />
</el-form-item>
<el-form-item label="获得奖项" prop="subDeptName">
<el-input v-model="form.subDeptName" placeholder="请输入获得奖项" />
</el-form-item>
<el-form-item label="企业评分" prop="subDeptName">
<el-input v-model="form.subDeptName" placeholder="请输入企业评分" />
</el-form-item>
<el-divider content-position="left" class="divider_title">银行卡信息</el-divider>
<el-form-item label="支行名称" prop="subDeptName">
<el-input v-model="form.subDeptName" placeholder="请输入支行名称" />
</el-form-item>
<el-form-item label="银行卡号" prop="subDeptName">
<el-input v-model="form.subDeptName" placeholder="请输入银行卡号" />
</el-form-item>
</el-tab-pane>
<el-tab-pane label="委托人信息" name="fourth" v-if="form.subDeptType=='4' || form.subDeptType=='5'">
<el-form-item label="委托人姓名" prop="subDeptLeaderName">
<el-input v-model="form.subDeptLeaderName" placeholder="请输入委托人姓名" />
</el-form-item>
<el-form-item label="身份证号码" prop="subDeptLeaderCode">
<el-input v-model="form.subDeptLeaderCode" placeholder="请输入委托人身份证号码" />
</el-form-item>
<el-form-item label="委托人电话" prop="subDeptLeaderPhone">
<el-input v-model="form.subDeptLeaderPhone" placeholder="请输入委托人电话" />
</el-form-item>
</el-tab-pane>
</el-tabs>
</el-form>
<template #footer>
<div class="dialog-footer">
@ -208,10 +246,12 @@
<script setup name="ProProjectInfoSubdepts">
import { listProProjectInfoSubdepts, getProProjectInfoSubdepts, delProProjectInfoSubdepts, addProProjectInfoSubdepts, updateProProjectInfoSubdepts } from "@/api/manage/proProjectInfoSubdepts";
import useUserStore from '@/store/modules/user'
const { proxy } = getCurrentInstance();
const { sys_use_status, sub_dept_type, sys_approve_status } = proxy.useDict('sys_use_status', 'sub_dept_type', 'sys_approve_status');
const userStore = useUserStore()
const proProjectInfoSubdeptsList = ref([]);
const open = ref(false);
const loading = ref(true);
@ -223,6 +263,7 @@ const total = ref(0);
const title = ref("");
const tabs = ref({all:0,in:0,out:0});
const activeName = ref("all");
const activeTabs = ref("base");
const data = reactive({
form: {},
@ -314,6 +355,10 @@ function handleSelectionChange(selection) {
/** 新增按钮操作 */
function handleAdd() {
if(!userStore.currentProId){
proxy.$modal.msgWarning("请切换到项目数据!!!");
return false;
}
reset();
open.value = true;
title.value = "添加参建单位";
@ -371,3 +416,9 @@ function handleExport() {
getList();
</script>
<style scope>
.el-divider__text{
color: #409eff;
font-weight: 800;
}
</style>