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

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; 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> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="图片上传地址" prop="imageurl"> <el-form-item label="栏目名称" prop="captionName">
<el-input <el-cascader
v-model="queryParams.imageurl" :value="queryParams.captionName ? queryParams.captionName.split('/') : []"
placeholder="请输入图片上传地址" @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 clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> /> -->
</el-form-item> </el-form-item>
<el-form-item label="业务名称" prop="businessName"> <el-form-item label="业务名称" prop="businessName">
<el-input <el-input
@ -17,15 +27,7 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="图片标题英文描述" prop="titleEnglish"> <el-form-item label="中文描述" prop="titleChinese">
<el-input
v-model="queryParams.titleEnglish"
placeholder="请输入图片标题英文描述"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="图片标题中文描述" prop="titleChinese">
<el-input <el-input
v-model="queryParams.titleChinese" v-model="queryParams.titleChinese"
placeholder="请输入图片标题中文描述" placeholder="请输入图片标题中文描述"
@ -33,34 +35,10 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="是否置顶 0否 1是" prop="isIndex"> <el-form-item label="英文描述" prop="titleEnglish">
<el-input <el-input
v-model="queryParams.isIndex" v-model="queryParams.titleEnglish"
placeholder="请输入是否置顶 0否 1是" placeholder="请输入图片标题英文描述"
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"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
@ -119,17 +97,31 @@
<el-table v-loading="loading" :data="indexList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="indexList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <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="captionName" />
<el-table-column label="图片上传地址" align="center" prop="imageurl" /> <el-table-column label="图片上传地址" align="center" prop="imageurl">
<el-table-column label="文件类型 0图片 1视频" align="center" prop="fileType" /> <template slot-scope="{ row }">
<el-table-column label="业务类型 0石油化工业务 1基建业务 2铁矿石业务 3燃气业务 " align="center" prop="businessType" /> <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="businessName" />
<el-table-column label="图片标题英文描述" align="center" prop="titleEnglish" /> <el-table-column label="中文描述" align="center" prop="titleChinese">
<el-table-column label="图片标题中文描述" align="center" prop="titleChinese" /> <template slot-scope="{ row }">
<el-table-column label="是否置顶 0否 1是" align="center" prop="isIndex" /> <div class="multiple-line-content-show">{{ row.titleChinese }}</div>
<el-table-column label="标题名称" align="center" prop="captionName" /> </template>
<el-table-column label="创建者id" align="center" prop="createUserId" /> </el-table-column>
<el-table-column label="更新者id" align="center" prop="updateUserId" /> <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"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@ -158,33 +150,56 @@
@pagination="getList" @pagination="getList"
/> />
<!-- 添加或修改首页封面信息 <!-- 添加或修改首页封面信息对话框 -->
对话框 --> <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="图片上传地址" prop="imageurl"> <el-form-item label="栏目名称" prop="captionName">
<el-input v-model="form.imageurl" placeholder="请输入图片上传地址" /> <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>
<el-form-item label="业务名称" prop="businessName"> <el-form-item label="业务名称" prop="businessName">
<el-input v-model="form.businessName" placeholder="请输入业务名称" /> <el-input v-model="form.businessName" placeholder="请输入业务名称" />
</el-form-item> </el-form-item>
<el-form-item label="图片标题英文描述" prop="titleEnglish"> <!-- <el-form-item label="文件类型" prop="fileType">
<el-input v-model="form.titleEnglish" placeholder="请输入图片标题英文描述" /> <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>
<el-form-item label="图片标题中文描述" prop="titleChinese"> <el-form-item label="中文描述" prop="titleChinese">
<el-input v-model="form.titleChinese" placeholder="请输入图片标题中文描述" /> <el-input
type="textarea"
v-model="form.titleChinese"
placeholder="请输入中文描述"
:autosize="{ minRows: 4, maxRows: 10 }"
/>
</el-form-item> </el-form-item>
<el-form-item label="是否置顶 0否 1是" prop="isIndex"> <el-form-item label="英文描述" prop="titleEnglish">
<el-input v-model="form.isIndex" placeholder="请输入是否置顶 0否 1是" /> <el-input
type="textarea"
v-model="form.titleEnglish"
placeholder="请输入英文描述"
:autosize="{ minRows: 4, maxRows: 10 }"
/>
</el-form-item> </el-form-item>
<el-form-item label="标题名称" prop="captionName"> <el-form-item label="是否置顶" prop="isIndex">
<el-input v-model="form.captionName" placeholder="请输入标题名称" /> <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>
<el-form-item label="创建者id" prop="createUserId"> <el-form-item label="排序" prop="orders">
<el-input v-model="form.createUserId" placeholder="请输入创建者id" /> <el-input-number v-model="form.orders" :min="0" />
</el-form-item>
<el-form-item label="更新者id" prop="updateUserId">
<el-input v-model="form.updateUserId" placeholder="请输入更新者id" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -238,51 +253,112 @@ export default {
updateUserId: undefined, updateUserId: undefined,
}, },
// //
form: {}, form: {
imageurl: '',
fileType: '0',
isIndex: '0',
captionName: '',
orders: 0,
},
// //
rules: { 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: [ captionName: [
{ required: true, message: "标题名称不能为空", trigger: "blur" } { required: true, message: "栏目名称不能为空", trigger: "blur" }
], ],
createUserId: [ },
{ 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' }]
},
], ],
updateUserId: [ },
{ required: true, message: "更新者id不能为空", trigger: "blur" } {
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() { created() {
this.getList(); this.getList();
}, },
methods: { methods: {
/** /** 查询首页封面信息列表 */
列表 */
getList() { getList() {
this.loading = true; this.loading = true;
listIndex(this.queryParams).then(response => { listIndex(this.queryParams).then(response => {
@ -300,20 +376,21 @@ export default {
reset() { reset() {
this.form = { this.form = {
id: undefined, id: undefined,
imageurl: undefined, imageurl: '',
fileType: undefined, fileType: '0',
businessType: undefined, businessType: undefined,
businessName: undefined, businessName: undefined,
titleEnglish: undefined, titleEnglish: undefined,
titleChinese: undefined, titleChinese: undefined,
isIndex: undefined, isIndex: '0',
captionName: undefined, captionName: '',
createBy: undefined, createBy: undefined,
createUserId: undefined, createUserId: undefined,
createTime: undefined, createTime: undefined,
updateBy: undefined, updateBy: undefined,
updateUserId: undefined, updateUserId: undefined,
updateTime: undefined updateTime: undefined,
orders: 0,
}; };
this.resetForm("form"); this.resetForm("form");
}, },
@ -337,7 +414,7 @@ export default {
handleAdd() { handleAdd() {
this.reset(); this.reset();
this.open = true; this.open = true;
this.title = "添加首页封面信息"; this.title = "添加图文信息";
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
@ -348,7 +425,7 @@ export default {
this.loading = false; this.loading = false;
this.form = response.data; this.form = response.data;
this.open = true; this.open = true;
this.title = "修改首页封面信息"; this.title = "修改图文信息";
}); });
}, },
/** 提交按钮 */ /** 提交按钮 */

View File

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

View File

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