职级增加,图文数据接口联调,招聘信息福利

This commit is contained in:
liaoboping 2024-07-18 17:18:24 +08:00
parent 6130ed6868
commit 7c15adf188
4 changed files with 254 additions and 131 deletions

View File

@ -180,3 +180,12 @@ aside {
margin-bottom: 10px;
}
}
.multiple-line-content-show {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: var(--line, 2);
white-space: pre-wrap;
}

View File

@ -1,13 +1,23 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="图片上传地址" prop="imageurl">
<el-input
v-model="queryParams.imageurl"
placeholder="请输入图片上传地址"
<el-form-item label="栏目名称" prop="captionName">
<el-cascader
:value="queryParams.captionName ? queryParams.captionName.split('/') : []"
@input="v => $set(queryParams, 'captionName', v.join('/'))"
:options="captionOptions"
placeholder="请选择栏目名称"
:props="{ value: 'label' }"
clearable
style="width: 300px;"
@change="handleQuery"
></el-cascader>
<!-- <el-input
v-model="queryParams.captionName"
placeholder="请输入栏目名称"
clearable
@keyup.enter.native="handleQuery"
/>
/> -->
</el-form-item>
<el-form-item label="业务名称" prop="businessName">
<el-input
@ -17,15 +27,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="图片标题英文描述" prop="titleEnglish">
<el-input
v-model="queryParams.titleEnglish"
placeholder="请输入图片标题英文描述"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="图片标题中文描述" prop="titleChinese">
<el-form-item label="中文描述" prop="titleChinese">
<el-input
v-model="queryParams.titleChinese"
placeholder="请输入图片标题中文描述"
@ -33,34 +35,10 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="是否置顶 0否 1是" prop="isIndex">
<el-form-item label="英文描述" prop="titleEnglish">
<el-input
v-model="queryParams.isIndex"
placeholder="请输入是否置顶 0否 1是"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="标题名称" prop="captionName">
<el-input
v-model="queryParams.captionName"
placeholder="请输入标题名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建者id" prop="createUserId">
<el-input
v-model="queryParams.createUserId"
placeholder="请输入创建者id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="更新者id" prop="updateUserId">
<el-input
v-model="queryParams.updateUserId"
placeholder="请输入更新者id"
v-model="queryParams.titleEnglish"
placeholder="请输入图片标题英文描述"
clearable
@keyup.enter.native="handleQuery"
/>
@ -119,17 +97,31 @@
<el-table v-loading="loading" :data="indexList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="主键id" align="center" prop="id" v-if="true"/>
<el-table-column label="图片上传地址" align="center" prop="imageurl" />
<el-table-column label="文件类型 0图片 1视频" align="center" prop="fileType" />
<el-table-column label="业务类型 0石油化工业务 1基建业务 2铁矿石业务 3燃气业务 " align="center" prop="businessType" />
<el-table-column label="栏目名称" align="center" prop="captionName" />
<el-table-column label="图片上传地址" align="center" prop="imageurl">
<template slot-scope="{ row }">
<img v-if="row.imageurl" :src="row.imageurl" alt="" style="width:50px;height:50px;object-fit:cover;">
</template>
</el-table-column>
<!-- <el-table-column label="文件类型" align="center" prop="fileType" /> -->
<el-table-column label="业务名称" align="center" prop="businessName" />
<el-table-column label="图片标题英文描述" align="center" prop="titleEnglish" />
<el-table-column label="图片标题中文描述" align="center" prop="titleChinese" />
<el-table-column label="是否置顶 0否 1是" align="center" prop="isIndex" />
<el-table-column label="标题名称" align="center" prop="captionName" />
<el-table-column label="创建者id" align="center" prop="createUserId" />
<el-table-column label="更新者id" align="center" prop="updateUserId" />
<el-table-column label="中文描述" align="center" prop="titleChinese">
<template slot-scope="{ row }">
<div class="multiple-line-content-show">{{ row.titleChinese }}</div>
</template>
</el-table-column>
<el-table-column label="英文描述" align="center" prop="titleEnglish">
<template slot-scope="{ row }">
<div class="multiple-line-content-show">{{ row.titleEnglish }}</div>
</template>
</el-table-column>
<el-table-column
label="是否置顶"
align="center"
prop="isIndex"
:formatter="(row, column, cellValue, index) => ['否', '是'][cellValue]"
/>
<el-table-column label="排序" align="center" prop="orders" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -158,33 +150,56 @@
@pagination="getList"
/>
<!-- 添加或修改首页封面信息
对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<!-- 添加或修改首页封面信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="图片上传地址" prop="imageurl">
<el-input v-model="form.imageurl" placeholder="请输入图片上传地址" />
<el-form-item label="栏目名称" prop="captionName">
<el-cascader
:value="form.captionName ? form.captionName.split('/') : []"
@input="v => $set(form, 'captionName', v.join('/'))"
:options="captionOptions"
placeholder="请选择栏目名称"
:props="{ value: 'label' }"
style="width: 100%;"
:disabled="Boolean(form.id)"
></el-cascader>
</el-form-item>
<el-form-item label="业务名称" prop="businessName">
<el-input v-model="form.businessName" placeholder="请输入业务名称" />
</el-form-item>
<el-form-item label="图片标题英文描述" prop="titleEnglish">
<el-input v-model="form.titleEnglish" placeholder="请输入图片标题英文描述" />
<!-- <el-form-item label="文件类型" prop="fileType">
<el-radio-group v-model="form.fileType">
<el-radio label="0">图片</el-radio>
<el-radio label="1">视频</el-radio>
</el-radio-group>
</el-form-item> -->
<el-form-item label="图片上传地址" prop="imageurl">
<ImageUploadLochost v-model="form.imageurl" :limit="1" :fileSize="10" />
</el-form-item>
<el-form-item label="图片标题中文描述" prop="titleChinese">
<el-input v-model="form.titleChinese" placeholder="请输入图片标题中文描述" />
<el-form-item label="中文描述" prop="titleChinese">
<el-input
type="textarea"
v-model="form.titleChinese"
placeholder="请输入中文描述"
:autosize="{ minRows: 4, maxRows: 10 }"
/>
</el-form-item>
<el-form-item label="是否置顶 0否 1是" prop="isIndex">
<el-input v-model="form.isIndex" placeholder="请输入是否置顶 0否 1是" />
<el-form-item label="英文描述" prop="titleEnglish">
<el-input
type="textarea"
v-model="form.titleEnglish"
placeholder="请输入英文描述"
:autosize="{ minRows: 4, maxRows: 10 }"
/>
</el-form-item>
<el-form-item label="标题名称" prop="captionName">
<el-input v-model="form.captionName" placeholder="请输入标题名称" />
<el-form-item label="是否置顶" prop="isIndex">
<el-radio-group v-model="form.isIndex">
<el-radio label="0"></el-radio>
<el-radio label="1"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="创建者id" prop="createUserId">
<el-input v-model="form.createUserId" placeholder="请输入创建者id" />
</el-form-item>
<el-form-item label="更新者id" prop="updateUserId">
<el-input v-model="form.updateUserId" placeholder="请输入更新者id" />
<el-form-item label="排序" prop="orders">
<el-input-number v-model="form.orders" :min="0" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -238,51 +253,112 @@ export default {
updateUserId: undefined,
},
//
form: {},
form: {
imageurl: '',
fileType: '0',
isIndex: '0',
captionName: '',
orders: 0,
},
//
rules: {
id: [
{ required: true, message: "主键id不能为空", trigger: "blur" }
],
imageurl: [
{ required: true, message: "图片上传地址不能为空", trigger: "blur" }
],
fileType: [
{ required: true, message: "文件类型 0图片 1视频不能为空", trigger: "change" }
],
businessType: [
{ required: true, message: "业务类型 0石油化工业务 1基建业务 2铁矿石业务 3燃气业务 不能为空", trigger: "change" }
],
businessName: [
{ required: true, message: "业务名称不能为空", trigger: "blur" }
],
titleEnglish: [
{ required: true, message: "图片标题英文描述不能为空", trigger: "blur" }
],
titleChinese: [
{ required: true, message: "图片标题中文描述不能为空", trigger: "blur" }
],
isIndex: [
{ required: true, message: "是否置顶 0否 1是不能为空", trigger: "blur" }
],
captionName: [
{ required: true, message: "标题名称不能为空", trigger: "blur" }
{ required: true, message: "栏目名称不能为空", trigger: "blur" }
],
createUserId: [
{ required: true, message: "创建者id不能为空", trigger: "blur" }
],
updateUserId: [
{ required: true, message: "更新者id不能为空", trigger: "blur" }
],
}
},
captionOptions: [
{
label: '首页',
children: [{ label: 'banner' }, { label: 'about' }, { label: 'businessBanner' }],
},
{
label: '业务范围',
children: [
{
label: '石油化工业务',
children: [{ label: 'banner' }]
},
{
label: '基建业务',
children: [{ label: 'banner' }]
},
{
label: '燃气业务',
children: [{ label: 'banner' }]
},
{
label: '铁矿石业务',
children: [{ label: 'banner' }]
},
],
},
{
label: '新闻动态',
children: [
{ label: 'banner' },
{
label: '新闻详情',
children: [{ label: 'banner' }]
},
],
},
{
label: '关于我们',
children: [
{
label: '公司介绍',
children: [{ label: 'banner' }, { label: 'content' }, { label: '使命' }, { label: '愿景' }, { label: '价值观' }]
},
{
label: '社会责任',
children: [{ label: 'banner' }, { label: 'content' }]
},
{
label: '昊坤党建',
children: [
{ label: 'banner' },
{ label: 'content' },
{
label: '党建详情',
children: [{ label: 'banner' }]
},
],
},
{
label: '能源发展委员会',
children: [{ label: 'banner' }, { label: 'content' }]
},
],
},
{
label: '招贤纳士',
children: [
{
label: '美好昊坤',
children: [{ label: 'banner' }]
},
{
label: '社会招聘',
children: [{ label: 'banner' }]
},
],
},
],
};
},
watch: {
form: {
handler () {
console.log('----', this.form);
},
deep: true,
},
},
created() {
this.getList();
},
methods: {
/**
列表 */
/** 查询首页封面信息列表 */
getList() {
this.loading = true;
listIndex(this.queryParams).then(response => {
@ -300,20 +376,21 @@ export default {
reset() {
this.form = {
id: undefined,
imageurl: undefined,
fileType: undefined,
imageurl: '',
fileType: '0',
businessType: undefined,
businessName: undefined,
titleEnglish: undefined,
titleChinese: undefined,
isIndex: undefined,
captionName: undefined,
isIndex: '0',
captionName: '',
createBy: undefined,
createUserId: undefined,
createTime: undefined,
updateBy: undefined,
updateUserId: undefined,
updateTime: undefined
updateTime: undefined,
orders: 0,
};
this.resetForm("form");
},
@ -337,7 +414,7 @@ export default {
handleAdd() {
this.reset();
this.open = true;
this.title = "添加首页封面信息";
this.title = "添加图文信息";
},
/** 修改按钮操作 */
handleUpdate(row) {
@ -348,7 +425,7 @@ export default {
this.loading = false;
this.form = response.data;
this.open = true;
this.title = "修改首页封面信息";
this.title = "修改图文信息";
});
},
/** 提交按钮 */

View File

@ -217,7 +217,7 @@
style="width: 100%;"
>
<el-option
v-for="item in ['专员', '主管', '高级经理', '经理']"
v-for="item in ['专员', '主管', '高级经理', '经理', '副总监', '总监', '副总经理', '总经理', '副总裁']"
:key="item"
:label="item"
:value="item"
@ -231,7 +231,7 @@
@input="v => $set(form, 'salaryRange', v.map(n => n + 'k').join('-'))"
range
:min="0"
:max="100"
:max="200"
></el-slider>
</el-form-item>
<el-form-item label="工作地点" prop="baseSite">
@ -277,6 +277,21 @@
</el-form-item>
</el-col>
</el-row>
<el-form-item label="福利" prop="welfare">
<el-checkbox-group
class="welfare-check"
:value="form.welfare ? form.welfare.split(',') : []"
@input="v => $set(form, 'welfare', v.join(','))"
size="small"
>
<el-checkbox
v-for="item in welfareOptions"
:key="item"
:label="item"
border
></el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item label="岗位职责" prop="jobDuties">
<el-input
type="textarea"
@ -365,9 +380,10 @@ export default {
//
form: {
isTop: '0',
salaryRange: '5k-8k',
salaryRange: '10k-20k',
ageRange: '20-30岁',
releaseState: '1',
welfare: '',
},
locationOptions: [
{
@ -379,6 +395,26 @@ export default {
children: [{ label: '中东' }],
},
],
welfareOptions: [
'五险一金',
'带薪年假',
'团队聚餐',
'休闲餐点',
'子女福利',
'节日礼物',
'定期体检',
'海外保险',
'加班补贴',
'通讯津贴',
'外派津贴',
'管理规范',
'技能培训',
'岗位晋升',
'领导好',
'优秀员工奖',
'发展空间大',
'公司规模大',
],
//
rules: {
id: [
@ -469,7 +505,7 @@ export default {
id: undefined,
jobName: undefined,
postStatement: undefined,
salaryRange: '5k-8k',
salaryRange: '10k-20k',
baseSite: undefined,
education: undefined,
ageRange: '20-30岁',
@ -483,7 +519,8 @@ export default {
createTime: undefined,
updateBy: undefined,
updateUserId: undefined,
updateTime: undefined
updateTime: undefined,
welfare: '',
};
this.resetForm("form");
},
@ -581,11 +618,18 @@ export default {
::v-deep .el-switch__label--right.is-active {
color: #1890ff;
}
.multiple-line-content-show {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
::v-deep .welfare-check {
.el-checkbox.is-bordered+.el-checkbox.is-bordered {
margin-left: 0;
}
.el-checkbox__input {
display: none;
}
.el-checkbox.is-bordered.el-checkbox--small {
padding-left: 15px;
}
.el-checkbox__label {
padding-left: 0;
}
}
</style>

View File

@ -117,7 +117,7 @@
<el-table-column label="集团名称" align="center" prop="groupName" />
<el-table-column label="新闻内容" align="center" prop="newsContent">
<template slot-scope="{ row }">
<div class="news-content-show" v-html="row.newsContent"></div>
<div class="multiple-line-content-show" v-html="row.newsContent"></div>
</template>
</el-table-column>
<el-table-column label="摘要" align="center" prop="abstracts" />
@ -413,14 +413,7 @@ export default {
</script>
<style scoped lang="scss">
.news-content-show {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
}
::v-deep .news-content-show p {
::v-deep .multiple-line-content-show p {
margin: 0;
}
</style>