This commit is contained in:
2023-06-19 17:25:50 +08:00
parent ef579def81
commit eb19778bd0
41 changed files with 2788 additions and 186 deletions

View File

@ -1,47 +1,12 @@
<template>
<div class="app-container">
<el-card shadow="always" style="width: 55%; margin: 0 auto">
<!-- <p><b>基本资料</b></p>
<el-form
ref="PersonalInfoFormRef"
:model="PersonalInfoForm"
:rules="rules"
label-width="100px"
>
<el-form-item label="姓名:" prop="nickName">
<el-input
v-model="PersonalInfoForm.nickName"
placeholder="请输入姓名"
/>
</el-form-item>
<el-form-item label="手机:" prop="mobile">
<el-input
v-model="PersonalInfoForm.mobile"
placeholder="请输入手机号"
/>
</el-form-item>
<el-form-item label="邮箱:" prop="email">
<el-input v-model="PersonalInfoForm.email" placeholder="请输入邮箱" />
</el-form-item>
<el-form-item label="职务:" prop="post">
<el-input v-model="PersonalInfoForm.post" placeholder="请输入职务" />
</el-form-item>
<el-form-item label="固定电话:" prop="phone">
<el-input
v-model="PersonalInfoForm.phone"
placeholder="请输入固定电话"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitPersonalInfo">提交</el-button>
</el-form-item>
</el-form> -->
<p><b>企业资料</b></p>
<EnterpriseForm
ref="enterpriseFormRef"
v-model="enterpriseInfoForm"
:isAdd="false"
:labelWidth="labelWidth"
ref="enterpriseFormRef"
/>
<div :style="{ marginLeft: labelWidth + 'px' }">
<el-button type="primary" @click="submitEnterpriseForm">提交</el-button>
@ -49,26 +14,16 @@
</el-card>
</div>
</template>
<script setup name="BasicInfo">
<script name="BasicInfo" setup>
import { getInfo } from "@/api/login";
import { insertClientUser, updateEnterprise } from "@/api/admin/enterprise";
// import { expert } from "@/api/identity/index";
import { updateEnterprise } from "@/api/admin/enterprise";
import EnterpriseForm from "@/views/components/EnterpriseForm";
import { ElMessage } from "element-plus";
// import { useRouter } from "vue-router";
import { reactive, ref, toRefs } from "vue";
// const router = useRouter();
const data = reactive({
PersonalInfoForm: {}, // 个人基本资料
enterpriseInfoForm: {
// laboratory_id: undefined, // 所属实验室
// gender: 1,
},
// queryParams: {
// pageNum: 1,
// pageSize: 10,
// postCode: undefined,
// },
enterpriseInfoForm: {},
rules: {
name: [{ required: true, message: "公司名称不能为空", trigger: "blur" }],
dutyParagraph: [
@ -106,24 +61,9 @@ const getBasicInfo = async () => {
};
const enterpriseFormRef = ref(null);
const PersonalInfoFormRef = ref(null);
const submitPersonalInfo = async () => {
try {
await PersonalInfoFormRef.value.validate();
await insertClientUser(PersonalInfoForm.value);
ElMessage.success("更新个人信息成功");
const { data } = await getInfo();
PersonalInfoForm.value = data.user ?? {};
} catch (error) {
console.log(error);
}
};
const submitEnterpriseForm = async (status) => {
const enterpriseFormValid = await enterpriseFormRef.value.validateForm();
// PersonalInfoFormRef.value.validate(
// async (valid) => {
if (enterpriseFormValid) {
await updateEnterprise(enterpriseInfoForm.value);
ElMessage.success("更新企业信息成功");
@ -132,8 +72,6 @@ const submitEnterpriseForm = async (status) => {
} else {
console.log("校验未通过");
}
// };
// );
};
getBasicInfo();

View File

@ -5,7 +5,7 @@
size="small"
@change="handleQuery"
>
<el-badge :value="12" class="count-badge" :hidden="true">
<el-badge :hidden="true" :value="12" class="count-badge">
<el-radio-button label="1">企业</el-radio-button>
</el-badge>
<el-radio-button label="2">成果</el-radio-button>
@ -16,24 +16,24 @@
<el-radio-button label="8">实验室</el-radio-button>
</el-radio-group>
<div v-if="dataList.length" style="margin-top: 20px" v-loading="loading">
<div v-if="dataList.length" v-loading="loading" style="margin-top: 20px">
<section v-for="item in dataList" :key="item.id">
<div style="border: 1px solid #dcdcdc; margin-bottom: 10px">
<enterpriseItem
:data="item"
v-if="queryParams.searchType == 1"
:data="item"
></enterpriseItem>
<AchievementItem
:data="item"
v-else-if="queryParams.searchType == 2"
:data="item"
></AchievementItem>
<gainItem
:data="item"
v-else-if="queryParams.searchType == 4"
:data="item"
></gainItem>
<expertItem
:data="item"
v-else-if="queryParams.searchType == 5"
:data="item"
></expertItem>
<!-- <serviceDemandItem
:data="item"
@ -50,15 +50,15 @@
<pagination
v-show="total > 0"
:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
v-model:page="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
</div>
</template>
<script setup name="Post">
<script name="Post" setup>
import { search } from "@/api/website/home/index";
import gainItem from "@/views/website/searchList/components/gainItem.vue";
import expertItem from "@/views/website/searchList/components/expertItem.vue";
@ -67,6 +67,7 @@ import enterpriseItem from "../../components/enterpriseItem.vue";
// import TechnologyDemandItem from "@/views/website/searchList/components/technologyDemandItem.vue";
import AchievementItem from "@/views/website/searchList/components/achievementItem.vue";
import { useRoute, useRouter } from "vue-router";
import { computed, reactive, ref, toRefs, watch } from "vue";
// import { watch } from "vue";
@ -103,13 +104,20 @@ const queryType = computed(() => {
// queryType: queryType,
// },
// });
// watch(
// queryType,
// (val) => {
// console.log(val);
// },
// { immediate: true }
// );
watch(
queryType,
(val) => {
console.log(val);
router.replace({
path: route.path,
query: {
keyword: route.query.keyword,
queryType: val,
},
});
},
{ immediate: true }
);
const data = reactive({
queryParams: {
pageNum: 1,
@ -130,6 +138,7 @@ async function getList() {
total.value = resp.total;
loading.value = false;
}
/** 搜索按钮操作 */
function handleQuery() {
queryParams.value.pageNum = 1;
@ -146,6 +155,7 @@ handleQuery();
color: #fff;
background-color: #787878;
}
:deep(.count-badge) {
z-index: 99;
}

View File

@ -5,7 +5,7 @@
size="small"
@change="handleQuery"
>
<el-badge :value="12" class="count-badge" :hidden="true">
<el-badge :hidden="true" :value="12" class="count-badge">
<el-radio-button label="1">企业</el-radio-button>
</el-badge>
<el-radio-button label="2">成果</el-radio-button>
@ -13,9 +13,9 @@
<el-radio-button label="5">专家</el-radio-button>
<!-- <el-radio-button label="6">服务需求</el-radio-button> -->
<el-radio-button label="8">实验室</el-radio-button>
<el-radio-button label="7" v-if="route.path != '/demand/results'"
>技术需求</el-radio-button
>
<el-radio-button v-if="route.path != '/demand/results'" label="7"
>技术需求
</el-radio-button>
</el-radio-group>
<!-- <el-row :gutter="20">
@ -55,36 +55,36 @@
</el-col>
</el-row> -->
<!-- <el-empty v-if=""></el-empty> -->
<div v-if="dataList.length" style="margin-top: 20px" v-loading="loading">
<div v-if="dataList.length" v-loading="loading" style="margin-top: 20px">
<section v-for="item in dataList" :key="item.id">
<div style="border: 1px solid #dcdcdc; margin-bottom: 10px">
<enterpriseItem
:data="item"
v-if="queryParams.searchType == 1"
:data="item"
></enterpriseItem>
<AchievementItem
:data="item"
v-else-if="queryParams.searchType == 2"
:data="item"
></AchievementItem>
<gainItem
:data="item"
v-else-if="queryParams.searchType == 4"
:data="item"
></gainItem>
<expertItem
:data="item"
v-else-if="queryParams.searchType == 5"
:data="item"
></expertItem>
<serviceDemandItem
:data="item"
v-else-if="queryParams.searchType == 6"
:data="item"
></serviceDemandItem>
<TechnologyDemandItem
:data="item"
v-else-if="queryParams.searchType == 7"
:data="item"
></TechnologyDemandItem>
<LaboratoryItem
:data="item"
v-else-if="queryParams.searchType == 8"
:data="item"
></LaboratoryItem>
</div>
</section>
@ -93,15 +93,15 @@
<pagination
v-show="total > 0"
:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
v-model:page="queryParams.pageNum"
:total="total"
@pagination="getList"
/>
</div>
</template>
<script setup name="Post">
<script name="Post" setup>
import { search } from "@/api/website/home/index";
import gainItem from "@/views/website/searchList/components/gainItem.vue";
import expertItem from "@/views/website/searchList/components/expertItem.vue";
@ -113,8 +113,11 @@ import AchievementItem from "@/views/website/searchList/components/achievementIt
import { useRoute, useRouter } from "vue-router";
// import useUserStore from "@/store/modules/user";
import LaboratoryItem from "@/views/website/searchList/components/laboratoryItem.vue";
const route = useRoute();
import { reactive, ref, toRefs } from "vue";
import { addViewHistory } from "@/utils/view_history";
const route = useRoute();
const router = useRouter();
// const router = useRouter();
const dataList = ref([]);
const loading = ref(true);
@ -152,6 +155,14 @@ const data = reactive({
const { queryParams } = toRefs(data);
router.replace({
path: route.path,
query: {
keyword: route.query.keyword,
queryType: 2,
},
});
// watch(
// queryType,
// (val) => {
@ -185,11 +196,13 @@ async function getList() {
total.value = resp.total;
loading.value = false;
}
/** 搜索按钮操作 */
function handleQuery() {
queryParams.value.pageNum = 1;
getList();
}
/** 删除按钮操作 */
// function handleDelete(id) {
// proxy.$modal
@ -216,6 +229,7 @@ handleQuery();
color: #fff;
background-color: #787878;
}
:deep(.count-badge) {
z-index: 99;
}