This commit is contained in:
2022-09-07 14:34:48 +08:00
3 changed files with 123 additions and 79 deletions

View File

@ -41,6 +41,8 @@ import ImagePreview from "@/components/ImagePreview"
import TreeSelect from '@/components/TreeSelect'
// 字典标签组件
import DictTag from '@/components/DictTag'
// wangEditor 富文本编辑器
import WangEditor from '@/components/WangEditor'
const app = createApp(App)
@ -62,6 +64,7 @@ app.component('FileUpload', FileUpload)
app.component('ImageUpload', ImageUpload)
app.component('ImagePreview', ImagePreview)
app.component('RightToolbar', RightToolbar)
app.component('WangEditor', WangEditor)
app.use(router)
app.use(store)

View File

@ -85,7 +85,7 @@
<el-row>
<el-col :span="24">
<el-form-item label="所属站点:" prop="tenantId">
<SiteOptions v-model="modelValue.tenantId" />
<SiteOptions v-model="modelValue.tenantId" :site-list="siteList" />
</el-form-item>
</el-col>
</el-row>
@ -412,7 +412,6 @@ const validateForm = async () => {
}
const cityFormValid = await cityFormRef.value.validateForm();
const fieldFormValid = await fieldFormRef.value.validateForm();
console.log(fieldFormValid);
const keywordsFormValid = await keywordsFormRef.value.validateForm();
if (formType.value == 1) {
//个人
@ -438,6 +437,13 @@ const validateForm = async () => {
throw "未知的formType";
}
};
// 获取站点列表
const getSiteList = async () => {
const resp = await tenantSelect();
siteList.value = resp.rows;
};
getSiteList();
defineExpose({
validateForm,
});

View File

@ -1,7 +1,7 @@
<template>
<el-form
ref="form"
:model="value"
ref="formRef"
:model="modelValue"
:rules="rules"
:label-width="labelWidth + 'px'"
>
@ -9,7 +9,7 @@
<el-row>
<el-col :span="24">
<el-form-item label="机构logo" prop="image">
<ImageUpload v-model="value.image" :fileSize="2" :limit="1" />
<ImageUpload v-model="modelValue.image" :fileSize="2" :limit="1" />
</el-form-item>
</el-col>
</el-row>
@ -17,7 +17,7 @@
<el-row>
<el-col :span="24">
<el-form-item label="机构名称" prop="name">
<el-input v-model="value.name" :disabled="!isAdd"></el-input>
<el-input v-model="modelValue.name" :disabled="!isAdd"></el-input>
</el-form-item>
</el-col>
</el-row>
@ -27,7 +27,7 @@
<el-form-item label="组织机构代码:" prop="code">
<el-row type="flex" justify="space-between">
<el-col :span="20">
<el-input v-model="value.code" :disabled="!isAdd"></el-input>
<el-input v-model="modelValue.code" :disabled="!isAdd"></el-input>
</el-col>
<el-col :span="3">
<el-button type="primary" @click="" :disabled="!isAdd"
@ -42,23 +42,23 @@
<el-row>
<el-col :span="24">
<el-form-item label="所属站点:" prop="tenant_id">
<SiteOptions :size="''" :limitWidth="false" v-model="value" />
<SiteOptions :size="''" :limitWidth="false" v-model="modelValue" />
</el-form-item>
</el-col>
</el-row>
<CityOptions v-model="value" :labelWidth="labelWidth" ref="cityForm" />
<CityOptions v-model="modelValue" :labelWidth="labelWidth" ref="cityForm" />
<el-row>
<el-col :span="24">
<el-form-item label="详细地址:">
<el-input v-model="value.address"></el-input>
<el-input v-model="modelValue.address"></el-input>
</el-form-item>
</el-col>
</el-row>
<FieldSingle
v-model="value"
v-model="modelValue"
:isAdd="isAdd"
:labelWidth="labelWidth"
ref="fieldForm"
@ -66,7 +66,7 @@
<InputBoxAdd
:labelWidth="labelWidth"
v-model="value"
v-model="modelValue"
title="研究方向"
placeholder="请输入研究方向"
fieldKey="researchs"
@ -76,7 +76,11 @@
<el-row>
<el-col :span="24">
<el-form-item label="营业执照:" prop="license">
<ImageUpload v-model="value.license" :isShowTip="false" :limit="1" />
<ImageUpload
v-model="modelValue.license"
:isShowTip="false"
:limit="1"
/>
</el-form-item>
</el-col>
</el-row>
@ -84,31 +88,31 @@
<el-row>
<el-col :span="24">
<el-form-item label="机构简介" prop="introduce">
<Editor
<WangEditor
v-model="modelValue.introduce"
:minHeight="150"
></WangEditor>
<!-- <Editor
v-model="value.introduce"
:minHeight="150"
ref="introduceRef"
@click.native="handleEditAble"
/>
/> -->
</el-form-item>
</el-col>
</el-row>
</el-form>
</template>
<script>
<script setup name="ResearchForm">
import CityOptions from "@/views/components/CityOptions";
import FieldSingle from "@/views/components/FieldSingle";
import InputBoxAdd from "@/views/components/InputBoxAdd";
import { researchSelect } from "@/api/dataList/research";
import { laboratorySelect } from "@/api/dataList/laboratory";
export default {
components: {
CityOptions,
FieldSingle,
InputBoxAdd,
},
props: {
value: Object,
// import { researchSelect } from "@/api/dataList/research";
// import { laboratorySelect } from "@/api/dataList/laboratory";
import { reactive, ref, toRefs } from "vue";
const props = defineProps({
modelValue: Object,
isAdd: {
type: Boolean,
default: true,
@ -121,13 +125,9 @@ export default {
type: Number,
default: 120,
},
},
data() {
return {
researchOptions: [],
options: [
// { value: "", label: "" }
],
});
const { modelValue, isAdd, showTitle, labelWidth } = toRefs(props);
const data = reactive({
rules: {
product: [{ required: true, message: "请输入", trigger: "blur" }],
name: [{ required: true, message: "请输入", trigger: "blur" }],
@ -170,6 +170,41 @@ export default {
],
introduce: [{ required: true, message: "请输入", trigger: "blur" }],
},
});
const researchOptions = ref([]);
const options = ref([
// { value: "", label: "" }
]);
const formRef = ref();
const validateForm = async () => {
try {
return await formRef.value.validate();
} catch (error) {
return false;
}
};
defineExpose({
validateForm,
});
</script>
<!-- <script>
import CityOptions from "@/views/components/CityOptions";
import FieldSingle from "@/views/components/FieldSingle";
import InputBoxAdd from "@/views/components/InputBoxAdd";
import { researchSelect } from "@/api/dataList/research";
import { laboratorySelect } from "@/api/dataList/laboratory";
import { reactive, toRefs } from "vue";
export default {
components: {
CityOptions,
FieldSingle,
InputBoxAdd,
},
data() {
return {
};
},
mounted() {
@ -201,7 +236,7 @@ export default {
},
},
};
</script>
</script> -->
<style lang="scss" scoped>
.form_title {
font-weight: 700;