main
han 9 months ago
parent 7e21c955ca
commit 328d6f5b01
  1. 1
      src/api/cjy/columninfo/index.js
  2. 34
      src/api/cjy/company/index.js
  3. 21
      src/assets/styles/v-vision.scss
  4. 2
      src/components/ImageUpload/index.vue
  5. 2
      src/views/cjy/columninfo/ColumnInfoForm.vue
  6. 101
      src/views/cjy/company/index.vue
  7. 23
      src/views/components/v-bottom/index.vue
  8. 194
      src/views/pages/theme/about-us.vue

@ -69,3 +69,4 @@ export function getDetail(id) {
method: 'get'
})
}

@ -0,0 +1,34 @@
import request from '@/utils/request'
// 创建栏目管理
export function createCompanyInfo(data) {
return request({
url: '/cjy/company-info/create',
method: 'post',
data: data
})
}
// 更新栏目管理
export function updateCompanyInfo(data) {
return request({
url: '/cjy/company-info/update',
method: 'put',
data: data
})
}
// 公司信息
export function getColumnInfo() {
return request({
url: '/cjy/company-info/get?id=1',
method: 'get',
})
}
// 公司信息列表
export function getColumnInfoPage(params) {
return request({
url: '/cjy/company-info/page',
method: 'get',
params
})
}

@ -1,4 +1,7 @@
img{width: 100%}
img {
width: 100%
}
.v-container {
width: 1220px;
margin: 0 auto;
@ -12,7 +15,23 @@ img{width: 100%}
}
.el-image-viewer__img {
width: 40%;
}
.cjy-banner {
position: relative;
.cjy-banner-text {
position: absolute;
width: 1220px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
.title{font-weight: bold; font-size: 45px;color: #fff}
.subtitle{font-size: 16px;color: #fff}
}
.img {
width: 100% !important;
}

@ -85,7 +85,7 @@ export default {
// , ['png', 'jpg', 'jpeg']
fileType: {
type: Array,
default: () => ["png", "jpg", "jpeg"],
default: () => ["png", "jpg", "jpeg", "svg"],
},
//
isShowTip: {

@ -37,7 +37,7 @@
<ImageUpload :limit="1" v-model="formData.logo"/>
</el-form-item>
<el-form-item label="图库">
<ImageUpload :showPositionInput="formData.type==6" v-model="formData.image"/>
<ImageUpload v-model="formData.image"/>
</el-form-item>
<el-form-item label="内容">
<Editor v-model="formData.content" :min-height="192"/>

@ -0,0 +1,101 @@
<template>
<div class="app-container">
<el-form ref="formRef" :model="formData" :rules="formRules" v-loading="formLoading" label-width="100px">
<el-form-item label="公司地址" prop="address">
<el-input v-model="formData.address" placeholder="请输入公司地址"></el-input>
</el-form-item>
<el-form-item label="公司网址" prop="url">
<el-input v-model="formData.url" placeholder="请输入公司网址"></el-input>
</el-form-item>
<el-form-item label="联系电话" prop="phone">
<el-input v-model="formData.phone" placeholder="请输入联系电话"></el-input>
</el-form-item>
<el-form-item label="荣誉资质" prop="honor">
<el-input v-model="formData.honor" placeholder="请输入荣誉资质"></el-input>
</el-form-item>
<el-form-item label="研发产品" prop="product">
<el-input v-model="formData.product" placeholder="请输入研发产品"></el-input>
</el-form-item>
<el-form-item label="公司logo" prop="logo">
<ImageUpload :limit="1" v-model="formData.logo"/>
</el-form-item>
<el-form-item label="公司二维码" prop="type">
<ImageUpload :limit="1" v-model="formData.qrCode"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" :disabled="formLoading"> </el-button>
</div>
</div>
</template>
<script>
import * as Api from '@/api/cjy/company';
import ImageUpload from '@/components/ImageUpload';
import Editor from '@/components/Editor';
export default {
name: "index",
components: {
ImageUpload,
Editor,
},
data() {
return {
// 12
formLoading: false,
//
formData: {
"id": undefined,
"url": undefined,
"address": undefined,
"honor": undefined,
"product": undefined,
"phone": undefined,
"qrCode": undefined,
"logo": undefined
},
//
formRules: { },
}
},
mounted() {
this.getCompany()
},
methods: {
/** 提交按钮 */
async getCompany(){
let res=await Api.getColumnInfo();
this.formData=res.data
},
/** 提交按钮 */
async submitForm() {
//
await this.$refs["formRef"].validate();
this.formLoading = true;
try {
const data = this.formData;
//
if (this.formData.id) {
await Api.updateCompanyInfo(data);
this.$modal.msgSuccess("修改成功");
this.dialogVisible = false;
this.$emit('success');
return;
}else{
//
await Api.createCompanyInfo(data);
this.$modal.msgSuccess("新增成功");
this.dialogVisible = false;
this.$emit('success');
}
} finally {
this.formLoading = false;
}
},
}
}
</script>
<style scoped>
</style>

@ -2,12 +2,12 @@
<div class="cjy-bottom row">
<div class="v-container row">
<div class="cjy-bottom-left">
<div class="tel-number">400-6661947</div>
<div class="tel-number">{{ company_data.phone }}</div>
<div class="tel-text">商务合作热线</div>
<div class="left-title m-t-normal">公司地址</div>
<div class="left-content">河北省石家庄市长安区中山东路583号瑞城国际广场7号楼1508室</div>
<div class="left-content">{{ company_data.address }}</div>
<div class="left-title m-t-normal">公司网址</div>
<div class="left-content">http://www.hbcjy.com/</div>
<div class="left-content">{{ company_data.url }}</div>
</div>
<div class="cjy-bottom-nav row">
<div class="nav-item" v-for="(item,index) in nav_list" :key="index" @click="gotoPages(item.url)">
@ -18,31 +18,42 @@
</div>
</div>
<div class="cjy-bottom-right">
<img src="https://www.lutongwulian.com/templets/ltwl/images/model_bottom/ewm.png">
<img :src="company_data.qrCode">
<div class="text">关注公众号<br/>
了解更多最新动态
</div>
</div>
</div>
<div class="v-container row cjy-bottom-copy flex-justify-center">
<div class="copy-text">@2024河北创巨圆科技发展有限公司版权所有</div>
<div class="copy-text">@{{ copy_date }}河北创巨圆科技发展有限公司版权所有</div>
<div class="copy-text">冀ICP备15022141号-3</div>
</div>
</div>
</template>
<script>
import * as Api from '@/api/cjy/company';
export default {
name: "index",
data() {
return {
nav_list: []
copy_date:null,
nav_list: [],
company_data: [],//
}
},
mounted() {
this.copy_date=new Date().getFullYear()
this.getCompany()
this.getNavList()
},
methods: {
/** 提交按钮 */
async getCompany(){
let res=await Api.getColumnInfo();
this.company_data=res.data
},
getNavList() {
this.nav_list = [
{

@ -4,7 +4,11 @@
<VHeader></VHeader>
<!-- 页面 广告条 -->
<div class="cjy-banner">
<img src="@/assets/test/banner03.jpg" class="img"/>
<div class="cjy-banner-text">
<div class="title">关于我们</div>
<div class="subtitle">{{company_info.subtitle}}</div>
</div>
<img :src="company_info.logo" class="img"/>
</div>
<!-- 页面 面包屑 -->
<div class="v-container">
@ -25,69 +29,20 @@
<div class="bottom">公司成立()</div>
</div>
<div class="col-8">
<div class="top">120</div>
<div class="top">{{ company_data.honor }}</div>
<div class="bottom">荣誉资质</div>
</div>
<div class="col-8">
<div class="top">20+</div>
<div class="top">{{ company_data.product }}</div>
<div class="bottom">研发产品</div>
</div>
</div>
</el-col>
<el-col :span="12" class="info">
<p>
创巨圆成立于2006年地处河北省石家庄市长安区中山东路583号瑞城国际广场7号楼1508室以石家庄为中心辐射河北11个地市是一家专业的文旅产业软件研发及系统集成服务商现拥有近百名员工其中高效专业的研发团队超过40人有着多年技术锤炼和海量服务经验
</p>
<p>
创巨圆成立16年以来多次与河北省文化和旅游厅联通公司以及雄安新区衡水沽源饶阳安平崇礼等多个市县文旅局企事业单位合作首创河北省首届旅发大会全域旅游三位一体新模式构建了多维度多样化的旅游智慧管理体系并通过多年技术锤炼积累海量服务经验为各单位提供具有专业性针对性严谨性覆盖智慧文旅产业的行业信息化解决方案和服务
</p>
<p>
多年的技术沉淀与产品创新创巨圆现已有成熟的电商营销平台一部手机游平台产业监测平台大数据分析平台景区应急指挥平台等多个产品序列拥有数十项大数据应用核心技术著作权成为有能力有实力专注产品精研技术笃志品质的高精企业
</p>
</el-col>
<el-col :span="12" class="info" v-html="company_info.content"></el-col>
</el-row>
</div>
</div>
<!-- 案例 详情 -->
<div class="v-container">
<div class="cjy-about-title text-center m-t-large">企业文化</div>
</div>
<div class="cjy-page-item3">
<div class="v-container">
<div class="cjy-about-title">企业历程</div>
<div class="cjy-about-step-info">投入资源提升技术满足客户需求</div>
<div class="cjy-about-step row">
<div class="step-item active">
<div class="title">第四阶段</div>
<div class="info">数字创新未来可期</div>
</div>
<div class="step-item">
<div class="title">第三阶段</div>
<div class="info">步入发展快速道乘势而上奋进突破</div>
</div>
<div class="step-item">
<div class="title">第二阶段</div>
<div class="info">步入发展阶段顺势而行主动作为</div>
</div>
<div class="step-item">
<div class="title">第一阶段</div>
<div class="info">初创阶段顺势而为打下基础</div>
</div>
</div>
<vue-seamless-scroll
:data="step_data"
:class-option="classOption"
class="cjy-about-step-date"
>
<ul class="ul-item">
<li class="li-item" v-for="(item, index) in step_data" :key="index">
<div class="date">{{ item.date }}</div>
<div class="content">{{ item.content }}</div>
</li>
</ul>
</vue-seamless-scroll>
</div>
</div>
<div class="v-container">
<div class="cjy-about-title text-center m-t-large">企业文化</div>
<div class="cjy-about-culture">
@ -116,11 +71,36 @@
</el-row>
</div>
<el-row :gutter="30" class="culture-bot">
<el-col :span="12"> <img src="@/assets/images/culture-img01.png" class="img"/></el-col>
<el-col :span="12"> <img src="@/assets/images/culture-img02.png" class="img"/></el-col>
<el-col :span="12" v-for="(item,index) in company_culture.image" :key="index"><img :src="item" class="img"/></el-col>
</el-row>
</div>
</div>
<div class="cjy-page-item3 m-t-large">
<div class="v-container">
<div class="cjy-about-title">企业历程</div>
<div class="cjy-about-step-info">投入资源提升技术满足客户需求</div>
<div class="cjy-about-step row">
<div class="step-item" :class="index==0?'active':''" v-for="(item, index) in stage_data" :key="index">
<div class="title">{{ item.title }}</div>
<div class="info">{{ item.subtitle }}</div>
</div>
</div>
<vue-seamless-scroll
:data="step_data"
:class-option="classOption"
class="cjy-about-step-date"
>
<ul class="ul-item">
<li class="li-item" v-for="(item, index) in step_data" :key="index">
<div class="date">{{ item.title }}</div>
<div class="content" v-html="item.introduction"></div>
</li>
</ul>
</vue-seamless-scroll>
</div>
</div>
<div class="v-container">
<div class="cjy-about-title text-center m-t-large">资质证书及相关软著</div>
<el-carousel :interval="5000" arrow="always" class="certificate">
@ -128,7 +108,11 @@
<div class="row cjy-about-certificate">
<div class="col-77" v-for="(item,index) in certificate" :key="index">
<div class="list-item flex-align-center">
<img :src="item.url" class="img"/>
<el-image
class="img"
:src="item.url"
:preview-src-list="[item.url]">
</el-image>
</div>
</div>
</div>
@ -138,12 +122,14 @@
</div>
<div class="v-container">
<div class="cjy-about-title text-center m-t-large">企业风采</div>
<div class="cjy-about-demeanou-info">
创巨圆坐落于中山东路长安万达商圈瑞城广场公司总占地面积44.25楼内相关配套设施完善满足员工工作生活娱乐及企业整体发展需求楼内部构思巧妙聚合系统集成服务商现拥有近百名员工其中高效专业的研发团队超过40人有着多年技术锤炼和海量服务经验
</div>
<div class="cjy-about-demeanou-info" v-html="demeanour_data.introduction"></div>
<el-carousel :interval="4000" type="card" height="300px">
<el-carousel-item v-for="item in demeanour" :key="item" class="cjy-about-demeanour">
<img :src="item.url" class="img"/>
<el-carousel-item v-for="item in demeanour_data.image" :key="item" class="cjy-about-demeanour">
<el-image
class="img"
:src="item"
:preview-src-list="[item]">
</el-image>
</el-carousel-item>
</el-carousel>
</div>
@ -152,7 +138,7 @@
<div class="cjy-about-box">
<div class="title">联系我们</div>
<div class="info">我们期待您的来信一起携手建设智慧城市</div>
<div class="tel">400-6661947</div>
<div class="tel">{{ company_data.phone }}</div>
</div>
</div>
</div>
@ -164,6 +150,7 @@
<script>
import vueSeamlessScroll from 'vue-seamless-scroll'
import * as Api from "@/api/cjy/columninfo"
import * as companyApi from '@/api/cjy/company';
export default {
name: "about-us",
@ -172,9 +159,13 @@ export default {
},
data() {
return {
certificate: [],
demeanour: [],
step_data: [],
company_info: null,//
company_data: null,//
company_culture: null,//
stage_data: null,//
step_data: null,//
certificate: null,//
demeanour_data: null,//
classOption: {
limitMoveNum: 2,
direction: 2,
@ -182,28 +173,43 @@ export default {
}
},
mounted() {
//
this.getStage()
//
this.getStep()
this.getCertificate()
this.getDemeanour()
this.getCompany()
},
methods: {
//
async getCompany() {
let res = await companyApi.getColumnInfo();
this.company_data = res.data
let info = await Api.getColumnInfoList({type: 2});
this.company_info = info.data.list[0]
let culture = await Api.getColumnInfoList({type: 11});
this.company_culture = culture.data.list[0]
this.company_culture.image = this.company_culture.image.split(',')
},
//
async getStage() {
let queryParams = {
type: 9,
}
let res = await Api.getColumnInfoList(queryParams)
this.stage_data = res.data.list
},
//
async getStep() {
this.step_data = [
{
date: "2022-至今",
content: "以文旅数字化产品为基础,打造成为一家“小而美”的科技型创新企业,为文旅业态赋能,让文旅产业..."
},
{date: "2019-2021", content: "助推全域旅游示范区创建"},
{date: "2018", content: "参与邢台、廊坊、石家庄、三地旅发大会建设工作,助推全域旅游示范区创建"},
{date: "2007", content: "参与河北省文旅厅旅游云平台项目大数据内容的建设,正式拉开了公司文旅大数据发展的序幕"},
{
date: "2006",
content: "以文旅数字化产品为基础,打造成为一家“小而美”的科技型创新企业,为文旅业态赋能,让文旅产业..."
},
{date: "2005", content: "助推全域旅游示范区创建"},
{date: "2004", content: "参与邢台、廊坊、石家庄、三地旅发大会建设工作,助推全域旅游示范区创建"},
{date: "2003", content: "参与河北省文旅厅旅游云平台项目大数据内容的建设,正式拉开了公司文旅大数据发展的序幕"},
]
let queryParams = {
type: 8,
}
let res = await Api.getColumnInfoList(queryParams)
this.step_data = res.data.list
},
async getCertificate() {
this.certificate = [
@ -224,12 +230,13 @@ export default {
]
},
async getDemeanour() {
this.demeanour = [
{url: "https://www.lutongwulian.com/uploads/190506/1-1Z506160501R3.jpg"},
{url: "https://www.lutongwulian.com/uploads/190506/1-1Z50616035O13.jpg"},
{url: "https://www.lutongwulian.com/uploads/190506/1-1Z50616051Y57.jpg"},
{url: "https://www.lutongwulian.com/uploads/190506/1-1Z50616042I54.jpg"},
]
let queryParams = {
type: 10,
}
let res = await Api.getColumnInfoList(queryParams)
this.demeanour_data = res.data.list[0]
this.demeanour_data.image = this.demeanour_data.image.split(',')
},
}
}
@ -253,8 +260,13 @@ export default {
background-position: left;
background-repeat: no-repeat;
}
.cjy-page-item4{ padding: 50px;height: 360px; background: url("~@/assets/images/content-bg.jpg");
background-size: contain;
background-position: left;
background-repeat: no-repeat;}
.cjy-page-item4 {
padding: 50px;
height: 360px;
background: url("~@/assets/images/content-bg.jpg");
background-size: contain;
background-position: left;
background-repeat: no-repeat;
}
</style>

Loading…
Cancel
Save