个人中心提交

master-p
17602169347 1 year ago
parent 2c16788d8f
commit 615a86d50a

@ -22,6 +22,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -204,5 +205,4 @@ public class UserController {
list.sort(Comparator.comparing(AdminUserDO::getId)); list.sort(Comparator.comparing(AdminUserDO::getId));
return success(UserConvert.INSTANCE.convertList04(list)); return success(UserConvert.INSTANCE.convertList04(list));
} }
} }

@ -65,16 +65,30 @@ public class UserProfileController {
// 获得用户角色 // 获得用户角色
List<RoleDO> userRoles = roleService.getRoleListFromCache(permissionService.getUserRoleIdListByUserId(user.getId())); List<RoleDO> userRoles = roleService.getRoleListFromCache(permissionService.getUserRoleIdListByUserId(user.getId()));
resp.setRoles(UserConvert.INSTANCE.convertList(userRoles)); resp.setRoles(UserConvert.INSTANCE.convertList(userRoles));
String deptNames = "";
// 获得部门信息 // 获得部门信息
if (user.getDeptId() != null) { if (user.getDeptId() != null) {
DeptDO dept = deptService.getDept(user.getDeptId()); DeptDO dept = deptService.getDept(user.getDeptId());
resp.setDept(UserConvert.INSTANCE.convert02(dept)); resp.setDept(UserConvert.INSTANCE.convert02(dept));
deptNames = deptNames + dept.getName() + ",";
} }
if(deptNames.length() > 0){
deptNames = deptNames.substring(0, deptNames.length() - 1);
}
resp.setDeptNames(deptNames);
String postNames = "";
// 获得岗位信息 // 获得岗位信息
if (CollUtil.isNotEmpty(user.getPostIds())) { if (CollUtil.isNotEmpty(user.getPostIds())) {
List<PostDO> posts = postService.getPostList(user.getPostIds()); List<PostDO> posts = postService.getPostList(user.getPostIds());
resp.setPosts(UserConvert.INSTANCE.convertList02(posts)); resp.setPosts(UserConvert.INSTANCE.convertList02(posts));
for (PostDO postDO : posts) {
postNames = postNames + postDO.getName() + ",";
}
}
if(postNames.length() > 0){
postNames = postNames.substring(0, postNames.length() - 1);
} }
resp.setPostNames(postNames);
// 获得社交用户信息 // 获得社交用户信息
List<SocialUserDO> socialUsers = socialService.getSocialUserList(user.getId(), UserTypeEnum.ADMIN.getValue()); List<SocialUserDO> socialUsers = socialService.getSocialUserList(user.getId(), UserTypeEnum.ADMIN.getValue());
resp.setSocialUsers(UserConvert.INSTANCE.convertList03(socialUsers)); resp.setSocialUsers(UserConvert.INSTANCE.convertList03(socialUsers));

@ -33,6 +33,41 @@ public class UserProfileRespVO extends UserBaseVO {
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式") @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "时间戳格式")
private LocalDateTime createTime; private LocalDateTime createTime;
@Schema(description = "部门名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "事业部,传感部")
private String deptNames;
@Schema(description = "职务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "董事长,周经理")
private String postNames;
/**
*
*/
private String nativePlace;
/**
*
*/
private String education;
/**
*
*/
private String speciality;
/**
*
*/
private String graduationInstitution;
/**
*
*/
private LocalDateTime institutionDatatime;
/**
*
*/
private LocalDateTime birthDatetime;
/**
*
*/
private String personalProfile;
/** /**
* *
*/ */

@ -10,7 +10,7 @@ import javax.validation.constraints.Size;
@Schema(description = "管理后台 - 用户个人信息更新 Request VO") @Schema(description = "管理后台 - 用户个人信息更新 Request VO")
@Data @Data
public class UserProfileUpdateReqVO { public class UserProfileUpdateReqVO extends UserProfileRespVO{
@Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @Schema(description = "用户昵称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
@Size(max = 30, message = "用户昵称长度不能超过 30 个字符") @Size(max = 30, message = "用户昵称长度不能超过 30 个字符")

@ -21,6 +21,15 @@ public class SubjectFollowManagementPageReqVO extends PageParam {
@Schema(description = "代表人类型(0客户 1供应商 2服务商)", example = "2") @Schema(description = "代表人类型(0客户 1供应商 2服务商)", example = "2")
private String businessType; private String businessType;
@Schema(description = "分类(0一级 1二级 2三级)", example = "2")
private String calssify;
@Schema(description = "行业分类(0家用电器 1交通运输 2商务服务 3家具用品 4电工电气 5通信产品 6办公文教 7运动休闲 8传媒广电)", example = "2")
private String industryClassify;
@Schema(description = "企业性质(0国有企业 1集体企业 2私营企业 3股份制企业 4外资企业 5合资企业)", example = "2")
private String enterpriseNature;
@Schema(description = "任务标题") @Schema(description = "任务标题")
private String title; private String title;

@ -69,4 +69,6 @@ public interface ErrorCodeConstants {
ErrorCode ENTERPRISE_CONTRACT_NOT_EXISTS = new ErrorCode(1002004016, "企业合约不存在"); ErrorCode ENTERPRISE_CONTRACT_NOT_EXISTS = new ErrorCode(1002004016, "企业合约不存在");
ErrorCode SUBJECT_BASIC_NOT_EXISTS = new ErrorCode(1002004017, "基础业务信息表(客户,供应商,服务商主体)不存在"); ErrorCode SUBJECT_BASIC_NOT_EXISTS = new ErrorCode(1002004017, "基础业务信息表(客户,供应商,服务商主体)不存在");
// ========== 主体跟进管理 TODO 补充编号 ==========
ErrorCode SUBJECT_FOLLOW_MANAGEMENT_NOT_EXISTS = new ErrorCode(1002004018, "主体跟进管理不存在");
} }

@ -42,11 +42,11 @@
</dependency> </dependency>
<!-- 引入demo业务模块 --> <!-- 引入demo业务模块 -->
<dependency> <!--<dependency>
<groupId>com.yunxi.scm</groupId> <groupId>com.yunxi.scm</groupId>
<artifactId>yunxi-module-demo-biz</artifactId> <artifactId>yunxi-module-demo-biz</artifactId>
<version>${revision}</version> <version>${revision}</version>
</dependency> </dependency>-->
<dependency> <dependency>
<groupId>com.yunxi.scm</groupId> <groupId>com.yunxi.scm</groupId>
@ -55,17 +55,17 @@
</dependency> </dependency>
<!-- 数据报表 --> <!-- 数据报表 -->
<dependency> <!--<dependency>
<groupId>com.yunxi.scm</groupId> <groupId>com.yunxi.scm</groupId>
<artifactId>yunxi-module-report-biz</artifactId> <artifactId>yunxi-module-report-biz</artifactId>
<version>${revision}</version> <version>${revision}</version>
</dependency> </dependency>-->
<!-- 工作流 --> <!-- 工作流 -->
<dependency> <!--<dependency>
<groupId>com.yunxi.scm</groupId> <groupId>com.yunxi.scm</groupId>
<artifactId>yunxi-module-bpm-biz</artifactId> <artifactId>yunxi-module-bpm-biz</artifactId>
<version>${revision}</version> <version>${revision}</version>
</dependency> </dependency>-->
<!-- 支付服务。默认注释,保证编译速度 --> <!-- 支付服务。默认注释,保证编译速度 -->
<!-- <dependency>--> <!-- <dependency>-->
<!-- <groupId>com.yunxi.scm</groupId>--> <!-- <groupId>com.yunxi.scm</groupId>-->

@ -169,4 +169,5 @@ export enum DICT_TYPE {
industryClassify = 'industry_classify', //客户星级 industryClassify = 'industry_classify', //客户星级
customerSource = 'customer_source', //客户星级 customerSource = 'customer_source', //客户星级
enterpriseNature = 'enterprise_nature', //客户星级 enterpriseNature = 'enterprise_nature', //客户星级
XUELI = 'XUELI', //学历
} }

@ -154,6 +154,12 @@ export const formSchema: FormSchema[] = [
handleTree: 'id', handleTree: 'id',
}, },
}, },
{
label: '工号',
field: 'jobNumber',
required: true,
component: 'Input',
},
{ {
label: '手机号码', label: '手机号码',
field: 'mobile', field: 'mobile',
@ -161,6 +167,12 @@ export const formSchema: FormSchema[] = [
defaultValue: 0, defaultValue: 0,
component: 'InputNumber', component: 'InputNumber',
}, },
{
label: '微信号',
field: 'wechatAccount',
required: true,
component: 'Input',
},
{ {
label: '邮箱', label: '邮箱',
field: 'email', field: 'email',
@ -187,6 +199,54 @@ export const formSchema: FormSchema[] = [
options: getDictOptions(DICT_TYPE.SYSTEM_USER_SEX), options: getDictOptions(DICT_TYPE.SYSTEM_USER_SEX),
}, },
}, },
{
label: '出生日期',
field: 'birthDatetime',
component: 'DatePicker',
componentProps: {
showTime: false,
format: 'YYYY-MM-DD',
valueFormat: 'x',
},
},
{
label: '籍贯',
field: 'nativePlace',
component: 'Input',
},
{
label: '学历',
field: 'education',
component: 'Select',
componentProps: {
options: getDictOptions(DICT_TYPE.XUELI),
},
},
{
label: '专业',
field: 'speciality',
component: 'Input',
},
{
label: '毕业院校',
field: 'graduationInstitution',
component: 'Input',
},
{
label: '毕业时间',
field: 'institutionDatatime',
component: 'DatePicker',
componentProps: {
showTime: false,
format: 'YYYY-MM-DD',
valueFormat: 'x',
},
},
{
label: '个人简介',
field: 'personalProfile',
component: 'InputTextArea',
},
{ {
label: '岗位', label: '岗位',
field: 'postIds', field: 'postIds',

@ -1,8 +1,8 @@
<script lang="ts" setup> <script lang="ts" setup>
import { getCurrentInstanc, getCurrentInstance, onMounted, reactive, ref, toRefs } from 'vue' import {onMounted, reactive, ref, toRefs, getCurrentInstanc, getCurrentInstance} from 'vue'
import type { UnwrapRef } from 'vue' import type { UnwrapRef } from 'vue'
import { message } from 'ant-design-vue';
// let {proxy}=getCurrentInstanc // let {proxy}=getCurrentInstanc
import { import {
FieldTimeOutlined, FieldTimeOutlined,
LeftOutlined, ManOutlined, LeftOutlined, ManOutlined,
@ -12,10 +12,12 @@ import {
} from '@ant-design/icons-vue' } from '@ant-design/icons-vue'
import { getUserProfileApi, updateUserProfileApi, uploadAvatarApi } from '@/api/base/profile' import { getUserProfileApi, updateUserProfileApi, uploadAvatarApi, updateUserPwdApi } from '@/api/base/profile'
import { exportLoginLog, getLoginLogPage } from '@/api/system/loginLog' import { useRender } from '@/components/Table'
import { deleteNotice, getNoticePage } from '@/api/system/notice' import { useUserStore } from '@/store/modules/user'
import { exportLoginLog, getLoginLogPage } from '@/api/system/loginLog'
import { deleteNotice, getNoticePage } from '@/api/system/notice'
const userStore = useUserStore()
/* let userInfo = reactive({ /* let userInfo = reactive({
}) })
@ -25,10 +27,10 @@ onMounted( async () => {
}) */ }) */
// //
const sex = ref<string>('保密')// const sex = ref<string>('1')//
const message = ref<string>('全部信息')// const message2 = ref<string>('全部信息')//
interface FormState { interface FormState {
name: string name: string
@ -52,7 +54,26 @@ const confirmLoading = ref<boolean>(false)
function showModal() { function showModal() {
open.value = true open.value = true
} }
const saveUser = async () => {
const result = await updateUserProfileApi(state.userInfo);
if(result){
message.success('修改成功');
}else{
message.error('修改失败');
}
}
const updatePassward = async () => {
if(state.userUpdatePasswordReqVO.newPassword != state.userUpdatePasswordReqVO.newPassword2){
message.error('新密码两次输入不一致');
return false
}
const result = await updateUserPwdApi(state.userUpdatePasswordReqVO.oldPassword, state.userUpdatePasswordReqVO.newPassword);
if(result){
message.success('修改成功');
}else{
message.error('修改失败');
}
}
function handleOk() { function handleOk() {
confirmLoading.value = true confirmLoading.value = true
setTimeout(() => { setTimeout(() => {
@ -63,12 +84,22 @@ function handleOk() {
const state = reactive({ const state = reactive({
checked1: true, checked1: true,
userInfo: {}, userInfo: {},
userUpdatePasswordReqVO: {
id: 100,
oldPassword: '',
newPassword: '',
newPassword2: '',
},
loginLog:[],
noticePage: [],
enterpriseList: [],
}) })
onMounted( async () => { onMounted( async () => {
debugger
state.userInfo = await getUserProfileApi() state.userInfo = await getUserProfileApi()
console.log(`55555555${ state.userInfo}`) state.userUpdatePasswordReqVO.id = state.userInfo.id;
debugger state.loginLog = await getLoginLogPage();
state.noticePage = await getNoticePage();
state.enterpriseList = userStore.getUserInfo.user.enterpriseList;
}) })
// //
@ -121,18 +152,33 @@ const tablecolumns = [
}, },
{ {
title: '状态', title: '状态',
dataIndex: 'state', dataIndex: 'status',
key: 'state', key: 'status',
customRender: ({ record }) => {
if (record == '1')
return "关闭"
else
return "正常"
},
}, },
{ {
title: '类型', title: '类型',
key: 'type', key: 'type',
dataIndex: 'type', dataIndex: 'type',
customRender: ({ record }) => {
if (record == '1')
return "通知"
else
return "公告"
},
}, },
{ {
title: '发布时间', title: '发布时间',
key: 'time', key: 'createTime',
dataIndex: 'time', dataIndex: 'createTime',
customRender: ({ text }) => {
return useRender.renderDate(text)
},
}, },
] ]
@ -182,23 +228,23 @@ const tabledata = [
<div class="form"> <div class="form">
<a-form :model="formState" :label-col="labelCol" :wrapper-col="wrapperCol"> <a-form :model="formState" :label-col="labelCol" :wrapper-col="wrapperCol">
<a-form-item label="登录账号:"> <a-form-item label="登录账号:">
<a-input v-model:value="state.userInfo.username" placeholder="输入内容" /> <a-input v-model:value="state.userInfo.username" :disabled="true" placeholder="输入内容" />
</a-form-item> </a-form-item>
<a-form-item label="姓名:"> <a-form-item label="姓名:">
<a-input v-model:value="state.userInfo.nickname" placeholder="输入内容" /> <a-input v-model:value="state.userInfo.nickname" :disabled="true" placeholder="输入内容" />
</a-form-item> </a-form-item>
<a-form-item label="所属部门:"> <a-form-item label="所属部门:">
<a-input v-model:value="state.userInfo.dept.name" placeholder="输入内容" /> <a-input v-model:value="state.userInfo.deptNames" :disabled="true" placeholder="输入内容" />
</a-form-item> </a-form-item>
<a-form-item label="员工职务:"> <a-form-item label="员工职务:">
<a-input v-model:value="state.userInfo.posts[0].name" placeholder="输入内容" /> <a-input v-model:value="state.userInfo.postNames" :disabled="true" placeholder="输入内容" />
</a-form-item> </a-form-item>
<a-form-item label="员工工号:"> <a-form-item label="员工工号:">
<a-input v-model:value="state.userInfo.jobNumber" placeholder="输入内容" /> <a-input v-model:value="state.userInfo.jobNumber" :disabled="true" placeholder="输入内容" />
</a-form-item> </a-form-item>
<a-form-item label="手机号码:"> <a-form-item label="手机号码:">
<div class="phonecss"> <div class="phonecss">
<a-input v-model:value="state.userInfo.mobile" placeholder="输入内容" :style="phoneStyle" /> <a-input v-model:value="state.userInfo.mobile" :disabled="true" placeholder="输入内容" :style="phoneStyle" />
<div> <div>
<a-button :style="changeStyle" @click="showModal"> <a-button :style="changeStyle" @click="showModal">
@ -228,26 +274,26 @@ const tabledata = [
</div> </div>
</a-form-item> </a-form-item>
<a-form-item label="微信账号:"> <a-form-item label="微信账号:">
<a-input v-model:value="value" placeholder="输入内容" /> <a-input v-model:value="state.userInfo.wechatAccount" placeholder="输入内容" />
</a-form-item> </a-form-item>
<a-form-item label="邮箱地址:"> <a-form-item label="邮箱地址:">
<a-input v-model:value="value" placeholder="输入内容" /> <a-input v-model:value="state.userInfo.email" placeholder="输入内容" />
</a-form-item> </a-form-item><!-- birthDatetime -->
<a-form-item name="DatePicker" label="出生日期" v-bind="config"> <a-form-item name="DatePicker" label="出生日期" v-bind="config">
<a-date-picker v-model:value="formState['date-picker']" value-format="YYYY-MM-DD" /> <a-date-picker v-model:value="state.userInfo.birthDatetime" :format="dateFormat" valueFormat="x" />
</a-form-item> </a-form-item>
<a-form-item label="性别:"> <a-form-item label="性别:">
<div> <div>
<div> <div>
<div> <div>
<a-radio-group v-model:value="sex"> <a-radio-group v-model:value="state.userInfo.sex">
<a-radio-button :style="customButtonStyle" value="男性"> <a-radio-button :style="customButtonStyle" :value="1">
男性<ManOutlined /> 男性<ManOutlined />
</a-radio-button> </a-radio-button>
<a-radio-button :style="customButtonStyle" value="女性"> <a-radio-button :style="customButtonStyle" :value="2">
女性<WomanOutlined /> 女性<WomanOutlined />
</a-radio-button> </a-radio-button>
<a-radio-button :style="customButtonStyle" value="保密"> <a-radio-button :style="customButtonStyle" :value="0">
保密 保密
</a-radio-button> </a-radio-button>
</a-radio-group> </a-radio-group>
@ -262,44 +308,44 @@ const tabledata = [
<a-form label-width="100px" :model="formState" :label-col="labelCol" :wrapper-col="wrapperCol"> <a-form label-width="100px" :model="formState" :label-col="labelCol" :wrapper-col="wrapperCol">
<a-form-item label="籍贯:"> <a-form-item label="籍贯:">
<a-input v-model:value="value" placeholder="输入内容" /> <a-input v-model:value="state.userInfo.nativePlace" placeholder="输入内容" />
</a-form-item> </a-form-item>
<a-form-item label="学历" name="region"> <a-form-item label="学历" name="region"><!-- education -->
<a-select v-model:value="formState.region" placeholder="选择学历"> <a-select v-model:value="state.userInfo.education" placeholder="选择学历">
<a-select-option value="初中"> <a-select-option value="1">
初中 初中
</a-select-option> </a-select-option>
<a-select-option value="高中"> <a-select-option value="2">
高中 高中
</a-select-option> </a-select-option>
<a-select-option value="初中"> <a-select-option value="3">
大专 大专
</a-select-option> </a-select-option>
<a-select-option value="高中"> <a-select-option value="4">
本科 本科
</a-select-option> </a-select-option>
<a-select-option value="初中"> <a-select-option value="5">
研究生 研究生
</a-select-option> </a-select-option>
<a-select-option value="高中"> <a-select-option value="6">
博士 博士
</a-select-option> </a-select-option>
</a-select> </a-select>
</a-form-item> </a-form-item>
<a-form-item label="专业:"> <a-form-item label="专业:">
<a-input v-model:value="value" placeholder="输入内容" /> <a-input v-model:value="state.userInfo.speciality" placeholder="输入内容" />
</a-form-item> </a-form-item>
<a-form-item label="毕业院校:"> <a-form-item label="毕业院校:">
<a-input v-model:value="value" placeholder="输入内容" /> <a-input v-model:value="state.userInfo.graduationInstitution" placeholder="输入内容" />
</a-form-item> </a-form-item><!-- institutionDatatime -->
<a-form-item name="毕业时间:" label="DatePicker" v-bind="config"> <a-form-item name="DatePicker" label="毕业时间:" v-bind="config">
<a-date-picker v-model:value="formState['date-picker']" value-format="YYYY-MM-DD" /> <a-date-picker v-model:value="state.userInfo.institutionDatatime" :format="dateFormat" valueFormat="x" />
</a-form-item> </a-form-item>
<a-form-item label="个人简介:" placeholder="输入内容" name="desc"> <a-form-item label="个人简介:" placeholder="输入内容" name="desc">
<a-textarea v-model:value="formState.desc" /> <a-textarea v-model:value="state.userInfo.personalProfile" />
</a-form-item> </a-form-item>
<a-form-item label=""> <a-form-item label="">
<button class="save"> <button class="save" @click="saveUser()">
保存 保存
</button> </button>
</a-form-item> </a-form-item>
@ -308,7 +354,7 @@ const tabledata = [
</div> </div>
<div class="usepic"> <div class="usepic">
<div class="idpic"> <div class="idpic">
<a-avatar :size="{ xs: 24, sm: 32, md: 40, lg: 64, xl: 80, xxl: 100 }"> <a-avatar :size="{ xs: 24, sm: 32, md: 40, lg: 64, xl: 80, xxl: 100 }" :src="state.userInfo.avatar">
<template #icon> <template #icon>
<UserOutlined /> <UserOutlined />
</template> </template>
@ -346,24 +392,24 @@ const tabledata = [
<div class="datumbox"> <div class="datumbox">
<div class="form"> <div class="form">
<a-form :model="formState" :label-col="labelCol" :wrapper-col="wrapperCol"> <a-form :model="formState" :label-col="labelCol" :wrapper-col="wrapperCol">
<a-form-item label="验证码:"> <!-- <a-form-item label="验证码:">
<div class="phonecss"> <div class="phonecss">
<a-input v-model:value="value" placeholder="输入内容" :style="phoneStyle" /> <a-input v-model:value="value" placeholder="输入内容" :style="phoneStyle" />
<a-button :style="changeStyle"> <a-button :style="changeStyle">
获取验证码 获取验证码
</a-button> </a-button>
</div> </div>
</a-form-item> </a-form-item> -->
<a-form-item label="原密码:"> <a-form-item label="原密码:">
<a-input v-model:value="value" placeholder="输入原密码" /> <a-input v-model:value="state.userUpdatePasswordReqVO.oldPassword" placeholder="输入原密码" />
</a-form-item> </a-form-item>
<a-form-item label="新密码:"> <a-form-item label="新密码:">
<a-input v-model:value="value" placeholder="输入新密码" /> <a-input v-model:value="state.userUpdatePasswordReqVO.newPassword" placeholder="输入新密码" />
</a-form-item> </a-form-item>
<a-form-item label="新密码:"> <a-form-item label="新密码:">
<a-input v-model:value="value" placeholder="输入确认新密码" /> <a-input v-model:value="state.userUpdatePasswordReqVO.newPassword2" placeholder="输入确认新密码" />
</a-form-item> </a-form-item>
<button class="save"> <button class="save" @click="updatePassward()">
保存 保存
</button> </button>
</a-form> </a-form>
@ -382,14 +428,14 @@ const tabledata = [
</p> </p>
</div> </div>
<!-- 日期 --> <!-- 日期 -->
<div <!-- <div
v-for="(item, index) in 5" :key="index" v-for="(item, index) in state.loginLog" :key="index"
> > -->
<div class="date"> <!-- <div class="date">
{{ `2023-08-22` }} {{ `2023-08-22` }}
</div> </div> -->
<div <div
v-for="(item, index) in 5" v-for="(item, index) in state.loginLog.list"
:key="index" class="recordbox" :key="index" class="recordbox"
> >
<div class="recordleft"> <div class="recordleft">
@ -400,16 +446,16 @@ const tabledata = [
<div class="usersId"> <div class="usersId">
{{ `kang-pc` }} {{ `kang-pc` }}
</div> </div>
{{ `上海市长宁区 14.127.100.242` }} {{ `上海市长宁区` + item.userIp}}
</div> </div>
</div> </div>
<div class="recordright"> <div class="recordright">
<span><FieldTimeOutlined /></span>{{ `2023-08-22 12:00` }} <span><FieldTimeOutlined /></span>{{new Date(item.createTime).toLocaleString()}}
</div> </div>
</div> <!-- </div> -->
</div> </div>
<div class="sorter"> <div class="sorter">
<a-pagination v-model:current="current" :total="500" /> <a-pagination v-model:current="current" :total="state.loginLog.total" />
</div> </div>
</div> </div>
</a-tab-pane> </a-tab-pane>
@ -426,7 +472,7 @@ const tabledata = [
</div> </div>
<div class="messagetitle"> <div class="messagetitle">
<div class="messagetitleleft"> <div class="messagetitleleft">
<a-radio-group v-model:value="message"> <a-radio-group v-model:value="message2">
<a-radio-button :style="messageStyle" value="全部信息"> <a-radio-button :style="messageStyle" value="全部信息">
全部信息 全部信息
</a-radio-button> </a-radio-button>
@ -453,7 +499,7 @@ const tabledata = [
</div> </div>
<div class="table"> <div class="table">
<a-table :columns="tablecolumns" :data-source="tabledata" :total="500"> <a-table :columns="tablecolumns" :data-source="state.noticePage.list" :total="state.noticePage.total">
<template #headerCell="{ column }"> <template #headerCell="{ column }">
<template v-if="column.key === 'title'"> <template v-if="column.key === 'title'">
<span> <span>
@ -462,8 +508,8 @@ const tabledata = [
</template> </template>
</template> </template>
<template #bodyCell="{ column, record }"> <template #bodyCell="{ column, record }">
<template v-if="column.key === 'name'"> <template v-if="column.key === 'title'">
<a href=""> {{ record.name }}</a> <a href=""> {{ record.title }}</a>
</template> </template>
<template v-else-if="column.key === 'title'"> <template v-else-if="column.key === 'title'">
@ -543,16 +589,16 @@ const tabledata = [
<div class="listmainbox"> <div class="listmainbox">
<div class="listmain"> <div class="listmain">
<div v-for="(item, index) in 4" :key="index" class="list"> <div v-for="(item, index) in state.enterpriseList" :key="index" class="list">
<div class="firm"> <div class="firm">
<div class="firmtop"> <div class="firmtop">
<div class="firmtopleft"> <div class="firmtopleft">
<img src="https://files.axshare.com/gsc/F4557Q/03/bb/8b/03bb8b5afc694032b44452387757f019/images/%E5%85%AC%E5%8F%B8%E5%88%97%E8%A1%A8/u30.png?pageId=125c1eb4-7fa5-4390-86d9-40ffd2c7d87c" alt=""> <img src="https://files.axshare.com/gsc/F4557Q/03/bb/8b/03bb8b5afc694032b44452387757f019/images/%E5%85%AC%E5%8F%B8%E5%88%97%E8%A1%A8/u30.png?pageId=125c1eb4-7fa5-4390-86d9-40ffd2c7d87c" alt="">
</div> </div>
<div class="firmtopright"> <div class="firmtopright">
<p>{{ `济钢城市矿产科技有限公司` }}</p> <p>{{ item.name }}</p>
<p class="fontcss"> <p class="fontcss">
职务{{ `产品经理` }} 职务{{ item.position }}
</p> </p>
</div> </div>
</div> </div>
@ -579,7 +625,7 @@ const tabledata = [
</div> </div>
</div> </div>
<div class="sorter"> <div class="sorter">
<a-pagination v-model:current="current" :total="50" show-less-items /> <a-pagination v-model:current="current" :total="state.enterpriseList.length" show-less-items />
</div> </div>
</div> </div>
</div> </div>
@ -909,6 +955,3 @@ justify-content: space-between;
border-inline-start: 1px solid #d9d9d9; border-inline-start: 1px solid #d9d9d9;
} }
</style> </style>

Loading…
Cancel
Save