|
@@ -1,23 +1,66 @@
|
|
|
<template>
|
|
|
- <el-card class="workspace-info card-border mb-2">
|
|
|
+ <!-- <el-card class="workspace-info card-border mb-2">
|
|
|
<div class="workspace-name">
|
|
|
<div class="card-header">
|
|
|
<span>{{ form.name }}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </el-card>
|
|
|
+ </el-card> -->
|
|
|
<div class="flex">
|
|
|
- <el-card class="workspace-info w-1/2">
|
|
|
+ <el-card class="workspace-info w-1/3">
|
|
|
<template #header>
|
|
|
<div class="card-header">
|
|
|
- <span>{{ t(form.title1) }}</span>
|
|
|
+ <span>工作间信息</span>
|
|
|
</div>
|
|
|
</template>
|
|
|
- <el-form ref="formRef" :model="form" label-width="100px" :rules="rules">
|
|
|
- <!-- <el-form-item label="负责人名称" prop="nickname">
|
|
|
- <el-input v-model="form1.nickname"/>
|
|
|
- </el-form-item> -->
|
|
|
- <el-form-item label="负责人名称" prop="supervisorId">
|
|
|
+ <ul class="user-info">
|
|
|
+ <li class="info-item">
|
|
|
+ <Icon class="mr-5px" icon="ep:user" />
|
|
|
+ <span class="info-label">负责人名称:</span>
|
|
|
+ <span class="pull-right">{{ userInfo.name }}</span>
|
|
|
+ </li>
|
|
|
+ <li class="info-item">
|
|
|
+ <Icon class="mr-5px" icon="fontisto:email" />
|
|
|
+ <span class="info-label">负责人邮箱:</span>
|
|
|
+ <span class="pull-right">{{ userInfo.email }}</span>
|
|
|
+ </li>
|
|
|
+ <li class="info-item">
|
|
|
+ <Icon class="mr-5px" icon="ep:phone" />
|
|
|
+ <span class="info-label">手机号码:</span>
|
|
|
+ <span class="pull-right">{{ userInfo.phone }}</span>
|
|
|
+ </li>
|
|
|
+ <li class="info-item">
|
|
|
+ <Icon class="mr-5px" icon="fontisto:email" />
|
|
|
+ <span class="info-label">导师人数:</span>
|
|
|
+ <span class="pull-right">{{ userInfo.supervisorNum }}</span>
|
|
|
+ </li>
|
|
|
+ <li class="info-item">
|
|
|
+ <Icon class="mr-5px" icon="ep:user" />
|
|
|
+ <span class="info-label">学生人数:</span>
|
|
|
+ <span class="pull-right">{{ userInfo.studentNum }}</span>
|
|
|
+ </li>
|
|
|
+ <!-- <li class="info-item" v-for="(url, index) in userAchievements" :key="index">
|
|
|
+ <Icon class="mr-5px" icon="fontisto:email" />
|
|
|
+ <span class="info-label">成果展示:</span>
|
|
|
+ <span class="pull-right">{{ userInfo.achievement }}</span>
|
|
|
+ <img :src="url" alt="成就展示图片" class="user-image" />
|
|
|
+ </li> -->
|
|
|
+ </ul>
|
|
|
+ </el-card>
|
|
|
+ <el-card class="workspace-info ml-3 w-2/3">
|
|
|
+ <template #header>
|
|
|
+ <div class="card-header">
|
|
|
+ <span>工作间名称</span>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <el-form ref="formRef" :model="form" label-width="100px" :rules="rules" style="margin-left: 5%; margin-right: 5%;;">
|
|
|
+ <el-form-item>
|
|
|
+ <template #label>
|
|
|
+ <span style="font-weight: bold;">负责人信息</span>
|
|
|
+ </template>
|
|
|
+ <span style="font-weight: bold;">------</span>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="负责人名称" prop="supervisor">
|
|
|
<el-select
|
|
|
v-model="form.supervisor"
|
|
|
@change="handleSupervisorChange"
|
|
@@ -39,57 +82,43 @@
|
|
|
<el-form-item label="负责人邮箱" prop="email">
|
|
|
<el-input v-model="form.email"/>
|
|
|
</el-form-item>
|
|
|
- <!-- <el-form-item>
|
|
|
- <el-button type="primary" @click="submit">保存</el-button>
|
|
|
- <el-button type="danger" @click="init">重置</el-button>
|
|
|
- </el-form-item> -->
|
|
|
- </el-form>
|
|
|
- </el-card>
|
|
|
- <el-card class="workspace-info ml-3 w-1/2">
|
|
|
- <template #header>
|
|
|
- <div class="card-header">
|
|
|
- <span>{{ t(form.title2) }}</span>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- <el-form ref="formRef" :model="form" label-width="100px" :rules="rules">
|
|
|
+ <el-form-item>
|
|
|
+ <template #label>
|
|
|
+ <span style="font-weight: bold;">工作间信息</span>
|
|
|
+ </template>
|
|
|
+ <span style="font-weight: bold;">------</span>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="工作间地址" prop="address">
|
|
|
<el-input v-model="form.address"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="工作间名称" prop="name">
|
|
|
<el-input v-model="form.name"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="导师人数" prop="supervisorNum">
|
|
|
+ <!-- <el-form-item label="导师人数" prop="supervisorNum">
|
|
|
<el-input v-model.number="form.supervisorNum"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="学生人数" prop="studentNum">
|
|
|
<el-input v-model.number="form.studentNum"/>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="工作间简介" prop="description">
|
|
|
+ </el-form-item> -->
|
|
|
+ <!-- <el-form-item label="工作间简介" prop="description">
|
|
|
<el-input type="textarea" v-model="form.description"/>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="成果展示" prop="achievement">
|
|
|
+ </el-form-item> -->
|
|
|
+ <!-- <el-form-item label="成果展示" prop="achievement">
|
|
|
<el-input type="textarea" v-model="form.achievement"/>
|
|
|
- </el-form-item>
|
|
|
- <!-- <el-form-item>
|
|
|
- <el-button type="primary" @click="submit">保存</el-button>
|
|
|
- <el-button type="danger" @click="init">重置</el-button>
|
|
|
</el-form-item> -->
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" @click="submit">保存</el-button>
|
|
|
+ <!-- <el-button type="danger" @click="init">重置</el-button> -->
|
|
|
+ </el-form-item>
|
|
|
</el-form>
|
|
|
</el-card>
|
|
|
</div>
|
|
|
- <el-card class="card-border w-full mt-2">
|
|
|
- <el-form ref="formRef" :model="form" :rules="rules" style="display: flex; justify-content: center;">
|
|
|
- <el-form-item>
|
|
|
- <el-button type="primary" @click="submit">保存</el-button>
|
|
|
- <el-button type="danger" @click="init" >重置</el-button>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- </el-card>
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts">
|
|
|
import { defineComponent, reactive, ref, onMounted } from 'vue';
|
|
|
import type { FormRules } from 'element-plus';
|
|
|
+// import type { FormExpose } from '@/components/Form'
|
|
|
import { useI18n } from 'vue-i18n';
|
|
|
import { useMessage } from '@/hooks/web/useMessage';
|
|
|
import { updateDept, DeptVO, getUserDept } from '@/api/system/dept/index';
|
|
@@ -102,28 +131,25 @@ export default defineComponent({
|
|
|
const formRef = ref();
|
|
|
|
|
|
const form = reactive({
|
|
|
- title: '',
|
|
|
- title1: '负责人信息',
|
|
|
- title2: '工作间信息',
|
|
|
-
|
|
|
- nickname: '',
|
|
|
+ supervisor: '',
|
|
|
phone: '',
|
|
|
email: '',
|
|
|
- supervisorId: '',
|
|
|
- supervisor: '',
|
|
|
-
|
|
|
+ address: '',
|
|
|
name: '',
|
|
|
- supervisorNum: '',
|
|
|
- studentNum: '',
|
|
|
- description: '',
|
|
|
- achievement: '',
|
|
|
- address: ''
|
|
|
+ leaderUserId: '',
|
|
|
+ nickname: '',
|
|
|
+ // supervisor: '',
|
|
|
+
|
|
|
+ // supervisorNum: '',
|
|
|
+ // studentNum: '',
|
|
|
+ // description: '',
|
|
|
+ // achievement: '',
|
|
|
});
|
|
|
|
|
|
// 表单校验规则
|
|
|
const rules = reactive<FormRules>({
|
|
|
- nickname: [
|
|
|
- { required: true, message: '请输入负责人名称', trigger: 'blur' }
|
|
|
+ supervisor: [
|
|
|
+ { required: true, message: '请选择导师名称', trigger: 'blur' }
|
|
|
],
|
|
|
phone: [
|
|
|
{ required: true, message: '请输入负责人电话', trigger: 'blur' },
|
|
@@ -147,23 +173,15 @@ export default defineComponent({
|
|
|
name: [
|
|
|
{ required: true, message: '请输入工作间名称', trigger: 'blur' }
|
|
|
],
|
|
|
- supervisorNum: [
|
|
|
- { required: true, message: '请输入导师人数', trigger: 'blur' },
|
|
|
- ],
|
|
|
- studentNum: [
|
|
|
- { required: true, message: '请输入学生人数', trigger: 'blur' }
|
|
|
- ]
|
|
|
+ // supervisorNum: [
|
|
|
+ // { required: true, message: '请输入导师人数', trigger: 'blur' },
|
|
|
+ // ],
|
|
|
+ // studentNum: [
|
|
|
+ // { required: true, message: '请输入学生人数', trigger: 'blur' }
|
|
|
+ // ]
|
|
|
});
|
|
|
+
|
|
|
|
|
|
- // const userInfo = reactive({
|
|
|
- // email: 'aoteman@126.com',
|
|
|
- // roles: ['超级管理员', '普通角色'],
|
|
|
- // department: '董事长,项目经理',
|
|
|
- // phone: '18818260277',
|
|
|
- // name: 'admin',
|
|
|
- // position: '基本资料',
|
|
|
- // creationDate: '2020-01-05 17:03:47'
|
|
|
- // });
|
|
|
|
|
|
// 将 userInfo 定义放入 setup 中
|
|
|
const userInfo = ref({} as DeptVO);
|
|
@@ -179,19 +197,24 @@ export default defineComponent({
|
|
|
try {
|
|
|
const response = await UserApi.getSupervisor()
|
|
|
supervisors.value = response
|
|
|
+ console.log('导师列表:', supervisors.value);
|
|
|
+
|
|
|
} catch (error) {
|
|
|
console.error('Error fetching user data:', error)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // const formData = unref(formRef)?.formModel as DeptVO
|
|
|
+ // console.log('提交的数据:', formData);
|
|
|
+
|
|
|
//传supervisorId给formData.supervisorId
|
|
|
const handleSupervisorChange = (value: number) => {
|
|
|
- const formData = unref(formRef)?.formModel as DeptVO
|
|
|
- console.log('提交的数据:', formData);
|
|
|
- const selectedUser = supervisors.value.find(user => user.id === value);
|
|
|
- if (selectedUser) {
|
|
|
- formData.supervisorId = selectedUser.id;
|
|
|
- formData.supervisor = selectedUser.nickname;
|
|
|
+ // const formData = unref(formRef)?.formModel as DeptVO
|
|
|
+ console.log(form);
|
|
|
+ const selectedsupervisor = supervisors.value.find(supervisor => supervisor.id === value);
|
|
|
+ if (selectedsupervisor) {
|
|
|
+ form.leaderUserId = selectedsupervisor.id;
|
|
|
+ // form.supervisorId = selectedUser.nickname;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -199,23 +222,28 @@ export default defineComponent({
|
|
|
const submit = async () => {
|
|
|
try {
|
|
|
await formRef.value?.validate();
|
|
|
- const formData = unref(formRef)?.formModel as DeptVO
|
|
|
- console.log('提交的数据:', formData);
|
|
|
- await updateDept(formData);
|
|
|
- message.success(t('common.updateSuccess'));
|
|
|
+ console.log('提交的数据:', form);
|
|
|
+ await updateDept(form).then((res) => {
|
|
|
+ console.log('更新成功:', res);
|
|
|
+ });
|
|
|
+ message.success('成功');
|
|
|
} catch (error) {
|
|
|
- message.error(t('common.validateError'));
|
|
|
+ console.error('提交错误:', error);
|
|
|
+ message.error('错误');
|
|
|
}
|
|
|
};
|
|
|
|
|
|
+
|
|
|
// 表单重置
|
|
|
const init = async () => {
|
|
|
const res = await getUserDept();
|
|
|
console.log('获取的数据:', res);
|
|
|
- form.nickname = res.user.nickname || '';
|
|
|
- form.phone = res.user.mobile || '';
|
|
|
- form.email = res.user.email || '';
|
|
|
- form.name = res.name || '';
|
|
|
+ form.address = res.address;
|
|
|
+ form.supervisor = res.user.nickname;
|
|
|
+ form.phone = res.user.mobile;
|
|
|
+ form.email = res.user.email;
|
|
|
+ form.name = res.name;
|
|
|
+ form.leaderUserId = res.user.id;
|
|
|
userInfo.value = res.user;
|
|
|
};
|
|
|
|
|
@@ -235,7 +263,6 @@ export default defineComponent({
|
|
|
formRef,
|
|
|
supervisors,
|
|
|
handleSupervisorChange,
|
|
|
- // users,
|
|
|
getSupervisor,
|
|
|
};
|
|
|
}
|
|
@@ -244,6 +271,11 @@ export default defineComponent({
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|
|
|
+
|
|
|
+.label-bold {
|
|
|
+ font-weight: bold; /* 设置字体加粗 */
|
|
|
+}
|
|
|
+
|
|
|
.workspace-name {
|
|
|
height: 20px;
|
|
|
}
|
|
@@ -255,6 +287,9 @@ export default defineComponent({
|
|
|
}
|
|
|
|
|
|
.user-info {
|
|
|
+ margin-left: 5%;
|
|
|
+ margin-right: 5%;
|
|
|
+ margin-top: 60px;
|
|
|
padding-right: 0;
|
|
|
padding-left: 0;
|
|
|
border-right: 0;
|
|
@@ -283,4 +318,6 @@ export default defineComponent({
|
|
|
.personal-info {
|
|
|
margin-top: 20px;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
</style>
|