|
|
@@ -25,56 +25,56 @@
|
|
|
@keyup.enter="handleQuery"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="编辑" prop="editor">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.editor"
|
|
|
- placeholder="请输入编辑"
|
|
|
- clearable
|
|
|
- @keyup.enter="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="summary" prop="summary">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.summary"
|
|
|
- placeholder="请输入summary"
|
|
|
- clearable
|
|
|
- @keyup.enter="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="标题" prop="title">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.title"
|
|
|
- placeholder="请输入标题"
|
|
|
- clearable
|
|
|
- @keyup.enter="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="isArt" prop="isArt">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.isArt"
|
|
|
- placeholder="请输入isArt"
|
|
|
- clearable
|
|
|
- @keyup.enter="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="元数据描述" prop="metaDescription">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.metaDescription"
|
|
|
- placeholder="请输入元数据描述"
|
|
|
- clearable
|
|
|
- @keyup.enter="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="tags" prop="tags">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.tags"
|
|
|
- placeholder="请输入tags"
|
|
|
- clearable
|
|
|
- @keyup.enter="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
+<!-- <el-form-item label="编辑" prop="editor">-->
|
|
|
+<!-- <el-input-->
|
|
|
+<!-- v-model="queryParams.editor"-->
|
|
|
+<!-- placeholder="请输入编辑"-->
|
|
|
+<!-- clearable-->
|
|
|
+<!-- @keyup.enter="handleQuery"-->
|
|
|
+<!-- />-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
+<!-- <el-form-item label="summary" prop="summary">-->
|
|
|
+<!-- <el-input-->
|
|
|
+<!-- v-model="queryParams.summary"-->
|
|
|
+<!-- placeholder="请输入summary"-->
|
|
|
+<!-- clearable-->
|
|
|
+<!-- @keyup.enter="handleQuery"-->
|
|
|
+<!-- />-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
+<!-- <el-form-item label="标题" prop="title">-->
|
|
|
+<!-- <el-input-->
|
|
|
+<!-- v-model="queryParams.title"-->
|
|
|
+<!-- placeholder="请输入标题"-->
|
|
|
+<!-- clearable-->
|
|
|
+<!-- @keyup.enter="handleQuery"-->
|
|
|
+<!-- />-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
+<!-- <el-form-item label="isArt" prop="isArt">-->
|
|
|
+<!-- <el-input-->
|
|
|
+<!-- v-model="queryParams.isArt"-->
|
|
|
+<!-- placeholder="请输入isArt"-->
|
|
|
+<!-- clearable-->
|
|
|
+<!-- @keyup.enter="handleQuery"-->
|
|
|
+<!-- />-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
+<!-- <el-form-item label="元数据描述" prop="metaDescription">-->
|
|
|
+<!-- <el-input-->
|
|
|
+<!-- v-model="queryParams.metaDescription"-->
|
|
|
+<!-- placeholder="请输入元数据描述"-->
|
|
|
+<!-- clearable-->
|
|
|
+<!-- @keyup.enter="handleQuery"-->
|
|
|
+<!-- />-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
+<!-- <el-form-item label="tags" prop="tags">-->
|
|
|
+<!-- <el-input-->
|
|
|
+<!-- v-model="queryParams.tags"-->
|
|
|
+<!-- placeholder="请输入tags"-->
|
|
|
+<!-- clearable-->
|
|
|
+<!-- @keyup.enter="handleQuery"-->
|
|
|
+<!-- />-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
<el-form-item label="是否显示" prop="isShow">
|
|
|
- <el-select v-model="queryParams.isShow" placeholder="请选择是否显示" clearable>
|
|
|
+ <el-select v-model="queryParams.isShow" placeholder="请选择是否显示" clearable style="width: 160px">
|
|
|
<el-option
|
|
|
v-for="dict in bool_values"
|
|
|
:key="dict.value"
|
|
|
@@ -83,61 +83,39 @@
|
|
|
/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="点击量" prop="hits">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.hits"
|
|
|
- placeholder="请输入点击量"
|
|
|
- clearable
|
|
|
- @keyup.enter="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="元数据关键词" prop="metaKeywords">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.metaKeywords"
|
|
|
- placeholder="请输入元数据关键词"
|
|
|
- clearable
|
|
|
- @keyup.enter="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="排名" prop="rank">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.rank"
|
|
|
- placeholder="请输入排名"
|
|
|
- clearable
|
|
|
- @keyup.enter="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="类型名称" prop="typeName">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.typeName"
|
|
|
- placeholder="请输入类型名称"
|
|
|
- clearable
|
|
|
- @keyup.enter="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="创建日期" prop="createTime">
|
|
|
- <el-date-picker clearable
|
|
|
- v-model="queryParams.createTime"
|
|
|
- type="date"
|
|
|
- value-format="YYYY-MM-DD"
|
|
|
- placeholder="请选择创建日期">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="创建日期" prop="updateTime">
|
|
|
- <el-date-picker clearable
|
|
|
- v-model="queryParams.updateTime"
|
|
|
- type="date"
|
|
|
- value-format="YYYY-MM-DD"
|
|
|
- placeholder="请选择创建日期">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="数据库创建日期" prop="createTime2">
|
|
|
- <el-date-picker clearable
|
|
|
- v-model="queryParams.createTime2"
|
|
|
- type="date"
|
|
|
- value-format="YYYY-MM-DD"
|
|
|
- placeholder="请选择数据库创建日期">
|
|
|
- </el-date-picker>
|
|
|
+<!-- <el-form-item label="点击量" prop="hits">-->
|
|
|
+<!-- <el-input-->
|
|
|
+<!-- v-model="queryParams.hits"-->
|
|
|
+<!-- placeholder="请输入点击量"-->
|
|
|
+<!-- clearable-->
|
|
|
+<!-- @keyup.enter="handleQuery"-->
|
|
|
+<!-- />-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
+<!-- <el-form-item label="元数据关键词" prop="metaKeywords">-->
|
|
|
+<!-- <el-input-->
|
|
|
+<!-- v-model="queryParams.metaKeywords"-->
|
|
|
+<!-- placeholder="请输入元数据关键词"-->
|
|
|
+<!-- clearable-->
|
|
|
+<!-- @keyup.enter="handleQuery"-->
|
|
|
+<!-- />-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
+<!-- <el-form-item label="排名" prop="rank">-->
|
|
|
+<!-- <el-input-->
|
|
|
+<!-- v-model="queryParams.rank"-->
|
|
|
+<!-- placeholder="请输入排名"-->
|
|
|
+<!-- clearable-->
|
|
|
+<!-- @keyup.enter="handleQuery"-->
|
|
|
+<!-- />-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
+ <el-form-item label="类型" prop="type">
|
|
|
+ <el-select v-model="queryParams.type" placeholder="请选择类型" clearable style="width: 170px;">
|
|
|
+ <el-option
|
|
|
+ v-for="typeItem in brochureTypeList"
|
|
|
+ :key="typeItem.type"
|
|
|
+ :label="typeItem.typeName"
|
|
|
+ :value="typeItem.type"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
|
|
@@ -193,39 +171,52 @@
|
|
|
<el-table-column label="年份" align="center" prop="year" />
|
|
|
<el-table-column label="学校编码" align="center" prop="collegeCode" />
|
|
|
<el-table-column label="学校名称" align="center" prop="collegeName" />
|
|
|
- <el-table-column label="编辑" align="center" prop="editor" />
|
|
|
- <el-table-column label="summary" align="center" prop="summary" />
|
|
|
+<!-- <el-table-column label="编辑" align="center" prop="editor" />-->
|
|
|
+<!-- <el-table-column label="summary" align="center" prop="summary" />-->
|
|
|
<el-table-column label="标题" align="center" prop="title" />
|
|
|
- <el-table-column label="isArt" align="center" prop="isArt" />
|
|
|
- <el-table-column label="类型" align="center" prop="type" />
|
|
|
- <el-table-column label="元数据描述" align="center" prop="metaDescription" />
|
|
|
- <el-table-column label="简章内容" align="center" prop="content" />
|
|
|
- <el-table-column label="tags" align="center" prop="tags" />
|
|
|
- <el-table-column label="是否显示" align="center" prop="isShow">
|
|
|
- <template #default="scope">
|
|
|
- <dict-tag :options="bool_values" :value="scope.row.isShow"/>
|
|
|
+<!-- <el-table-column label="isArt" align="center" prop="isArt" />-->
|
|
|
+ <el-table-column label="类型名称" align="center" prop="typeName" />
|
|
|
+ <!-- <el-table-column label="元数据描述" align="center" prop="metaDescription" />-->
|
|
|
+ <el-table-column label="内容" align="center">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <el-link v-if="!row.url" type="primary" @click="showContentDetail(row.id)" :underline="false" style="cursor: pointer;">详情</el-link>
|
|
|
+ <span v-else>{{ row.content }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="点击量" align="center" prop="hits" />
|
|
|
- <el-table-column label="链接" align="center" prop="url" />
|
|
|
- <el-table-column label="元数据关键词" align="center" prop="metaKeywords" />
|
|
|
- <el-table-column label="排名" align="center" prop="rank" />
|
|
|
- <el-table-column label="类型名称" align="center" prop="typeName" />
|
|
|
- <el-table-column label="创建日期" align="center" prop="createTime" width="180">
|
|
|
+<!-- <el-table-column label="tags" align="center" prop="tags" />-->
|
|
|
+ <el-table-column label="是否显示" align="center" prop="isShow">
|
|
|
<template #default="scope">
|
|
|
- <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
|
|
|
+ <dict-tag :options="bool_values" :value="scope.row.isShow"/>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="创建日期" align="center" prop="updateTime" width="180">
|
|
|
+<!-- <el-table-column label="点击量" align="center" prop="hits" />-->
|
|
|
+ <el-table-column label="链接" align="center" prop="url" show-overflow-tooltip>
|
|
|
<template #default="scope">
|
|
|
- <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span>
|
|
|
+ <div v-if="scope.row.url" style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">
|
|
|
+ <el-link type="primary" @click="handlePreview(scope.row.url)" :underline="false" style="cursor: pointer;">
|
|
|
+ {{ scope.row.url }}
|
|
|
+ </el-link>
|
|
|
+ </div>
|
|
|
+ <span v-else>-</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="数据库创建日期" align="center" prop="createTime2" width="180">
|
|
|
+<!-- <el-table-column label="元数据关键词" align="center" prop="metaKeywords" />-->
|
|
|
+<!-- <el-table-column label="排名" align="center" prop="rank" />-->
|
|
|
+ <el-table-column label="创建日期" align="center" prop="createTime" width="180">
|
|
|
<template #default="scope">
|
|
|
- <span>{{ parseTime(scope.row.createTime2, '{y}-{m}-{d}') }}</span>
|
|
|
+ <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+<!-- <el-table-column label="创建日期" align="center" prop="updateTime" width="180">-->
|
|
|
+<!-- <template #default="scope">-->
|
|
|
+<!-- <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </el-table-column>-->
|
|
|
+<!-- <el-table-column label="数据库创建日期" align="center" prop="createTime2" width="180">-->
|
|
|
+<!-- <template #default="scope">-->
|
|
|
+<!-- <span>{{ parseTime(scope.row.createTime2, '{y}-{m}-{d}') }}</span>-->
|
|
|
+<!-- </template>-->
|
|
|
+<!-- </el-table-column>-->
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
<template #default="scope">
|
|
|
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:bBusiWishUniversitiesEnrollBrochure:edit']">修改</el-button>
|
|
|
@@ -233,7 +224,7 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
-
|
|
|
+
|
|
|
<pagination
|
|
|
v-show="total>0"
|
|
|
:total="total"
|
|
|
@@ -243,71 +234,111 @@
|
|
|
/>
|
|
|
|
|
|
<!-- 添加或修改院校简章大纲对话框 -->
|
|
|
- <el-dialog :title="title" v-model="open" width="500px" append-to-body>
|
|
|
+ <el-dialog :title="title" v-model="open" width="800px" append-to-body>
|
|
|
<el-form ref="bBusiWishUniversitiesEnrollBrochureRef" :model="form" :rules="rules" label-width="80px">
|
|
|
<el-form-item label="年份" prop="year">
|
|
|
<el-input v-model="form.year" placeholder="请输入年份" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="学校编码" prop="collegeCode">
|
|
|
- <el-input v-model="form.collegeCode" placeholder="请输入学校编码" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="学校名称" prop="collegeName">
|
|
|
- <el-input v-model="form.collegeName" placeholder="请输入学校名称" />
|
|
|
+ <el-form-item label="学校" prop="collegeCode">
|
|
|
+ <el-select
|
|
|
+ v-model="form.collegeCode"
|
|
|
+ placeholder="请选择学校"
|
|
|
+ filterable
|
|
|
+ clearable
|
|
|
+ @change="handleCollegeChange"
|
|
|
+ style="width: 100%"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="college in collegeList"
|
|
|
+ :key="college.code"
|
|
|
+ :label="college.name"
|
|
|
+ :value="college.code"
|
|
|
+ >
|
|
|
+ <span style="float: left">{{ college.name }}</span>
|
|
|
+ <span style="float: right; color: #8492a6; font-size: 13px">{{ college.code }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="编辑" prop="editor">
|
|
|
- <el-input v-model="form.editor" placeholder="请输入编辑" />
|
|
|
+ <el-form-item label="学校编码" prop="collegeCode" v-if="false">
|
|
|
+ <el-input v-model="form.collegeCode" placeholder="请输入学校编码" disabled/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="summary" prop="summary">
|
|
|
- <el-input v-model="form.summary" placeholder="请输入summary" />
|
|
|
+ <el-form-item label="学校名称" prop="collegeName" v-if="false">
|
|
|
+ <el-input v-model="form.collegeName" placeholder="请输入学校名称" />
|
|
|
</el-form-item>
|
|
|
+<!-- <el-form-item label="编辑" prop="editor">-->
|
|
|
+<!-- <el-input v-model="form.editor" placeholder="请输入编辑" />-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
+<!-- <el-form-item label="summary" prop="summary">-->
|
|
|
+<!-- <el-input v-model="form.summary" placeholder="请输入summary" />-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
<el-form-item label="标题" prop="title">
|
|
|
<el-input v-model="form.title" placeholder="请输入标题" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="isArt" prop="isArt">
|
|
|
- <el-input v-model="form.isArt" placeholder="请输入isArt" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="元数据描述" prop="metaDescription">
|
|
|
- <el-input v-model="form.metaDescription" placeholder="请输入元数据描述" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="简章内容">
|
|
|
- <editor v-model="form.content" :min-height="192"/>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="tags" prop="tags">
|
|
|
- <el-input v-model="form.tags" placeholder="请输入tags" />
|
|
|
+ <el-form-item label="类型" prop="typeName">
|
|
|
+ <el-select
|
|
|
+ v-model="form.typeName"
|
|
|
+ placeholder="请选择类型"
|
|
|
+ filterable
|
|
|
+ clearable
|
|
|
+ @change="handleTypeNameChange"
|
|
|
+ style="width: 100%"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="typeItem in brochureTypeList"
|
|
|
+ :key="typeItem.type"
|
|
|
+ :label="typeItem.typeName"
|
|
|
+ :value="typeItem.typeName"
|
|
|
+ >
|
|
|
+ <span style="float: left">{{ typeItem.typeName }}</span>
|
|
|
+ <span style="float: right; color: #8492a6; font-size: 13px">{{ typeItem.type }}</span>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="是否显示" prop="isShow">
|
|
|
<el-select v-model="form.isShow" placeholder="请选择是否显示">
|
|
|
<el-option
|
|
|
- v-for="dict in bool_values"
|
|
|
- :key="dict.value"
|
|
|
- :label="dict.label"
|
|
|
- :value="parseInt(dict.value)"
|
|
|
+ v-for="dict in bool_values"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="parseInt(dict.value)"
|
|
|
></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="点击量" prop="hits">
|
|
|
- <el-input v-model="form.hits" placeholder="请输入点击量" />
|
|
|
+<!-- <el-form-item label="isArt" prop="isArt">-->
|
|
|
+<!-- <el-input v-model="form.isArt" placeholder="请输入isArt" />-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
+<!-- <el-form-item label="元数据描述" prop="metaDescription">-->
|
|
|
+<!-- <el-input v-model="form.metaDescription" placeholder="请输入元数据描述" />-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
+ <el-form-item label="内容">
|
|
|
+ <editor v-model="form.content" :min-height="192"/>
|
|
|
</el-form-item>
|
|
|
+<!-- <el-form-item label="tags" prop="tags">-->
|
|
|
+<!-- <el-input v-model="form.tags" placeholder="请输入tags" />-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
+
|
|
|
+<!-- <el-form-item label="点击量" prop="hits">-->
|
|
|
+<!-- <el-input v-model="form.hits" placeholder="请输入点击量" />-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
<el-form-item label="链接" prop="url">
|
|
|
- <el-input v-model="form.url" type="textarea" placeholder="请输入内容" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="元数据关键词" prop="metaKeywords">
|
|
|
- <el-input v-model="form.metaKeywords" placeholder="请输入元数据关键词" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="排名" prop="rank">
|
|
|
- <el-input v-model="form.rank" placeholder="请输入排名" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="类型名称" prop="typeName">
|
|
|
- <el-input v-model="form.typeName" placeholder="请输入类型名称" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="数据库创建日期" prop="createTime2">
|
|
|
- <el-date-picker clearable
|
|
|
- v-model="form.createTime2"
|
|
|
- type="date"
|
|
|
- value-format="YYYY-MM-DD"
|
|
|
- placeholder="请选择数据库创建日期">
|
|
|
- </el-date-picker>
|
|
|
+ <el-input v-model="form.url" type="textarea" :autosize="{ minRows: 2, maxRows: 6 }" placeholder="请输入内容" />
|
|
|
</el-form-item>
|
|
|
+<!--<!– <el-form-item label="元数据关键词" prop="metaKeywords">–>-->
|
|
|
+<!--<!– <el-input v-model="form.metaKeywords" placeholder="请输入元数据关键词" />–>-->
|
|
|
+<!--<!– </el-form-item>–>-->
|
|
|
+<!-- <el-form-item label="排名" prop="rank">-->
|
|
|
+<!-- <el-input v-model="form.rank" placeholder="请输入排名" />-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
+
|
|
|
+
|
|
|
+<!-- <el-form-item label="数据库创建日期" prop="createTime2">-->
|
|
|
+<!-- <el-date-picker clearable-->
|
|
|
+<!-- v-model="form.createTime2"-->
|
|
|
+<!-- type="date"-->
|
|
|
+<!-- value-format="YYYY-MM-DD"-->
|
|
|
+<!-- placeholder="请选择数据库创建日期">-->
|
|
|
+<!-- </el-date-picker>-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
</el-form>
|
|
|
<template #footer>
|
|
|
<div class="dialog-footer">
|
|
|
@@ -320,7 +351,10 @@
|
|
|
</template>
|
|
|
|
|
|
<script setup name="BBusiWishUniversitiesEnrollBrochure">
|
|
|
-import { listBBusiWishUniversitiesEnrollBrochure, getBBusiWishUniversitiesEnrollBrochure, delBBusiWishUniversitiesEnrollBrochure, addBBusiWishUniversitiesEnrollBrochure, updateBBusiWishUniversitiesEnrollBrochure } from "@/api/system/bBusiWishUniversitiesEnrollBrochure"
|
|
|
+import { listBBusiWishUniversitiesEnrollBrochure, getBBusiWishUniversitiesEnrollBrochure, delBBusiWishUniversitiesEnrollBrochure, addBBusiWishUniversitiesEnrollBrochure, updateBBusiWishUniversitiesEnrollBrochure, getBrochureTypes } from "@/api/system/bBusiWishUniversitiesEnrollBrochure"
|
|
|
+import { listAllBBusiWishUniversities } from "@/api/system/bBusiWishUniversities"
|
|
|
+import { ElMessageBox } from "element-plus/es"
|
|
|
+
|
|
|
|
|
|
const { proxy } = getCurrentInstance()
|
|
|
const { bool_values } = proxy.useDict('bool_values')
|
|
|
@@ -334,6 +368,8 @@ const single = ref(true)
|
|
|
const multiple = ref(true)
|
|
|
const total = ref(0)
|
|
|
const title = ref("")
|
|
|
+const collegeList = ref([])
|
|
|
+const brochureTypeList = ref([])
|
|
|
|
|
|
const data = reactive({
|
|
|
form: {},
|
|
|
@@ -380,6 +416,9 @@ const data = reactive({
|
|
|
type: [
|
|
|
{ required: true, message: "类型不能为空", trigger: "change" }
|
|
|
],
|
|
|
+ typeName: [
|
|
|
+ { required: true, message: "类型名称不能为空", trigger: "change" }
|
|
|
+ ],
|
|
|
isShow: [
|
|
|
{ required: true, message: "是否显示不能为空", trigger: "change" }
|
|
|
],
|
|
|
@@ -398,6 +437,83 @@ function getList() {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
+/** 加载学校列表 */
|
|
|
+function loadCollegeList() {
|
|
|
+ listAllBBusiWishUniversities({}).then(response => {
|
|
|
+ // 假设接口返回的数据格式为 { code, name } 或 { collegeCode, collegeName }
|
|
|
+ // 根据实际接口返回格式调整
|
|
|
+ if (response.data && Array.isArray(response.data)) {
|
|
|
+ collegeList.value = response.data.map(item => ({
|
|
|
+ code: item.code || item.collegeCode,
|
|
|
+ name: item.name || item.collegeName
|
|
|
+ }))
|
|
|
+ } else if (response.rows && Array.isArray(response.rows)) {
|
|
|
+ collegeList.value = response.rows.map(item => ({
|
|
|
+ code: item.code || item.collegeCode,
|
|
|
+ name: item.name || item.collegeName
|
|
|
+ }))
|
|
|
+ }
|
|
|
+ }).catch(error => {
|
|
|
+ console.error('加载学校列表失败:', error)
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+/** 学校选择变化 */
|
|
|
+function handleCollegeChange(collegeCode) {
|
|
|
+ if (collegeCode) {
|
|
|
+ const selectedCollege = collegeList.value.find(item => item.code === collegeCode)
|
|
|
+ if (selectedCollege) {
|
|
|
+ form.value.collegeCode = selectedCollege.code
|
|
|
+ form.value.collegeName = selectedCollege.name
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ form.value.collegeCode = null
|
|
|
+ form.value.collegeName = null
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+/** 加载简章类型列表 */
|
|
|
+function loadBrochureTypeList() {
|
|
|
+ getBrochureTypes().then(response => {
|
|
|
+ // 处理接口返回的数据
|
|
|
+ if (response.data && Array.isArray(response.data)) {
|
|
|
+ brochureTypeList.value = response.data
|
|
|
+ } else if (Array.isArray(response)) {
|
|
|
+ brochureTypeList.value = response
|
|
|
+ }
|
|
|
+ }).catch(error => {
|
|
|
+ console.error('加载简章类型列表失败:', error)
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+/** 类型选择变化 */
|
|
|
+function handleTypeChange(type) {
|
|
|
+ if (type) {
|
|
|
+ const selectedType = brochureTypeList.value.find(item => item.type === type)
|
|
|
+ if (selectedType) {
|
|
|
+ form.value.type = selectedType.type
|
|
|
+ form.value.typeName = selectedType.typeName
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ form.value.type = null
|
|
|
+ form.value.typeName = null
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+/** 类型名称选择变化 */
|
|
|
+function handleTypeNameChange(typeName) {
|
|
|
+ if (typeName) {
|
|
|
+ const selectedType = brochureTypeList.value.find(item => item.typeName === typeName)
|
|
|
+ if (selectedType) {
|
|
|
+ form.value.type = selectedType.type
|
|
|
+ form.value.typeName = selectedType.typeName
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ form.value.type = null
|
|
|
+ form.value.typeName = null
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
// 取消按钮
|
|
|
function cancel() {
|
|
|
open.value = false
|
|
|
@@ -456,6 +572,14 @@ function handleAdd() {
|
|
|
reset()
|
|
|
open.value = true
|
|
|
title.value = "添加院校简章大纲"
|
|
|
+ // 如果学校列表为空,则加载
|
|
|
+ if (collegeList.value.length === 0) {
|
|
|
+ loadCollegeList()
|
|
|
+ }
|
|
|
+ // 如果类型列表为空,则加载
|
|
|
+ if (brochureTypeList.value.length === 0) {
|
|
|
+ loadBrochureTypeList()
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/** 修改按钮操作 */
|
|
|
@@ -466,6 +590,14 @@ function handleUpdate(row) {
|
|
|
form.value = response.data
|
|
|
open.value = true
|
|
|
title.value = "修改院校简章大纲"
|
|
|
+ // 如果学校列表为空,则加载
|
|
|
+ if (collegeList.value.length === 0) {
|
|
|
+ loadCollegeList()
|
|
|
+ }
|
|
|
+ // 如果类型列表为空,则加载
|
|
|
+ if (brochureTypeList.value.length === 0) {
|
|
|
+ loadBrochureTypeList()
|
|
|
+ }
|
|
|
})
|
|
|
}
|
|
|
|
|
|
@@ -508,5 +640,61 @@ function handleExport() {
|
|
|
}, `bBusiWishUniversitiesEnrollBrochure_${new Date().getTime()}.xlsx`)
|
|
|
}
|
|
|
|
|
|
+/** 预览文件 */
|
|
|
+function handlePreview(url) {
|
|
|
+ if (!url) return
|
|
|
+
|
|
|
+ // 判断是否为Word文件
|
|
|
+ const isWord = /\.(doc|docx)$/i.test(url)
|
|
|
+
|
|
|
+ if (isWord) {
|
|
|
+ // Word文件使用微软在线预览服务
|
|
|
+ const previewUrl = `https://view.officeapps.live.com/op/view.aspx?src=${encodeURIComponent(url)}`
|
|
|
+ window.open(previewUrl, '_blank')
|
|
|
+ } else {
|
|
|
+ // PDF或其他文件直接打开
|
|
|
+ window.open(url, '_blank')
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+/** 显示内容详情 */
|
|
|
+function showContentDetail(id) {
|
|
|
+ getBBusiWishUniversitiesEnrollBrochure(id).then(response => {
|
|
|
+ const content = response.data?.content || ''
|
|
|
+ const title = response.data?.title || '内容详情'
|
|
|
+ // 创建弹窗显示内容
|
|
|
+ proxy.$alert(content, title, {
|
|
|
+ dangerouslyUseHTMLString: true,
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ customClass: 'content-detail-alert',
|
|
|
+ callback: action => {}
|
|
|
+ })
|
|
|
+ }).catch(error => {
|
|
|
+ console.error('获取内容失败:', error)
|
|
|
+ proxy.$modal.msgError('获取内容失败')
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 组件挂载时加载学校列表和类型列表
|
|
|
+loadCollegeList()
|
|
|
+loadBrochureTypeList()
|
|
|
getList()
|
|
|
</script>
|
|
|
+<style>
|
|
|
+.content-detail-alert {
|
|
|
+ min-width: 400px;
|
|
|
+ width: auto;
|
|
|
+ max-width: 90vw;
|
|
|
+ max-height: 80vh;
|
|
|
+ overflow-y: auto;
|
|
|
+}
|
|
|
+
|
|
|
+.content-detail-alert .el-message-box__message {
|
|
|
+ max-height: 60vh;
|
|
|
+ overflow-y: auto;
|
|
|
+ text-align: left;
|
|
|
+ padding-right: 10px;
|
|
|
+ word-wrap: break-word;
|
|
|
+ white-space: normal;
|
|
|
+}
|
|
|
+</style>
|