当前位置: 首页 > news >正文

今日头条网站模板网站查询seo

今日头条网站模板,网站查询seo,贵阳中企动力做的网站,外贸公司如何做公司网站环境搭建参考: 大屏开源项目go-view二次开发1----环境搭建(C#)-CSDN博客 要做的半环形控件最终效果如下图: 步骤如下: 1 在go-view前端项目的\src\packages\components\Charts目录下新增Others目录,并在Others目录下新增PieExt…

环境搭建参考:

大屏开源项目go-view二次开发1----环境搭建(C#)-CSDN博客

要做的半环形控件最终效果如下图:

步骤如下:

1 在go-view前端项目的\src\packages\components\Charts目录下新增Others目录,并在Others目录下新增PieExt2目录,并把src\packages\components\Charts\Pies\PieCommon目录下的5个文件拷贝到新增PieExt2目录下(因为要做的半环形控件和PieCommon长得最像,拷贝它的过来修改是改动量最小的),接着在Others目录下新增index.ts文件,(由于我已经新增了好几个自定义控件,所以你还会看到BarExt1、PictorialBar、PieExt1目录),最终的目录结构如下图:

2  接着在src\packages\components\Charts目录下的index.d.ts文件和index.ts文件分别添加内容如下:

3 编辑PieExt2目录下的config.ts的文件如下:

import { echartOptionProfixHandle, PublicConfigClass } from '@/packages/public'
import { PieExt2 } from './index'
import { CreateComponentType } from '@/packages/index.d'
import cloneDeep from 'lodash/cloneDeep'
import dataJson from './data.json'
import { fontFamily } from 'html2canvas/dist/types/css/property-descriptors/font-family'
import { height } from 'dom-helpers'export const includes = ['legend']// 其它配置
const otherConfig = {// 轮播动画isCarousel: false,
}export const seriesItem={name: 'Access From',type: 'pie',radius: ['40%', '70%'],center: ['50%', '70%'],// adjust the start and end anglestartAngle: 180,endAngle: 360,label: {formatter: '{b}: {d}',fontSize: 20, // 设置字体大小fontWeight: 'normal',textBorderColor: '#ffffff',color:'#ffffff',textBorderWidth: 0},labelLine: {normal: {length: 40, // 调整引出线的长度lineStyle: {width: 3 // 设置引出线的宽度}}}
}const option = {tooltip: {trigger: 'item',formatter: '{b}:{d}'},legend: {selectedMode: false},dataset: { ...dataJson },series: [seriesItem]
}export default class Config extends PublicConfigClass implements CreateComponentType {public key: string = PieExt2.keypublic chartConfig = cloneDeep(PieExt2)// 图表配置项public option = echartOptionProfixHandle(option, includes)
}

4 编辑PieExt2目录下的config.vue的文件如下:

<template><!-- Echarts 全局设置 --><global-setting :optionData="optionData"></global-setting><CollapseItem name="扩展2饼图配置" :expanded="true"><SettingItemBox name="字体"><setting-item name="格式化"><n-input v-model:value="optionData.series[0].label.formatter" size="small"></n-input></setting-item><setting-item name="大小"><n-input-numberv-model:value="optionData.series[0].label.fontSize"size="small":min="1"></n-input-number></setting-item></SettingItemBox><SettingItemBox name="引出线条"><setting-item name="长度"><n-input v-model:value="optionData.series[0].labelLine.normal.length" size="small"></n-input></setting-item><setting-item name="宽度"><n-input-numberv-model:value="optionData.series[0].labelLine.normal.lineStyle.width"size="small":min="1"></n-input-number></setting-item></SettingItemBox></CollapseItem>
</template><script setup lang="ts">
import { PropType, watch } from 'vue'
import { GlobalThemeJsonType } from '@/settings/chartThemes/index'
import { GlobalSetting, CollapseItem, SettingItemBox, SettingItem } from '@/components/Pages/ChartItemSetting'const props = defineProps({optionData: {type: Object as PropType<GlobalThemeJsonType>,required: true}
})
</script>

5  编辑PieExt2目录下的data.json的文件如下:

{"dimensions": ["product", "data1"],"source": [{"product": "Mon","data1": 120},{"product": "Tue","data1": 200},{"product": "Wed","data1": 150},{"product": "Thu","data1": 80},{"product": "Fri","data1": 70},{"product": "Sat","data1": 110},{"product": "Sun","data1": 130}]
}

6  编辑PieExt2目录下的index.ts的文件如下:

import { ConfigType, PackagesCategoryEnum, ChartFrameEnum } from '@/packages/index.d'
import { ChatCategoryEnum, ChatCategoryEnumName } from '../../index.d'export const PieExt2: ConfigType = {key: 'PieExt2',chartKey: 'VPieExt2',conKey: 'VCPieExt2',title: '饼图扩展2',category: ChatCategoryEnum.OTHERCHART,categoryName: ChatCategoryEnumName.OTHERCHART,package: PackagesCategoryEnum.CHARTS,chartFrame: ChartFrameEnum.ECHARTS,image: 'PieExt2.png'
}

注意:

  key: 'PieExt2',
  chartKey: 'VPieExt2',
  conKey: 'VCPieExt2',

这三个玩意有特定的命名规则,key要与前面新增的目录名PieExt2保持一致,chartKey要在PieExt2前面加V变成VPieExt2,conKey要在PieExt2前面加上VC变成VCPieExt2

接着把这个图

下载后,修改名称为PieExt2.png,并放到src\assets\images\chart\charts目录下:

7  编辑PieExt2目录下的index.vue的文件如下:

<template><v-chartref="vChartRef":init-options="initOptions":theme="themeColor":option="option":update-options="{replaceMerge: replaceMergeArr}"autoresize></v-chart>
</template><script setup lang="ts">
import { ref, nextTick, computed, watch, PropType } from 'vue'
import VChart from 'vue-echarts'
import { useCanvasInitOptions } from '@/hooks/useCanvasInitOptions.hook'
import { use } from 'echarts/core'
import { CanvasRenderer } from 'echarts/renderers'
import {  PieChart } from 'echarts/charts'
import { mergeTheme } from '@/packages/public/chart'
import config, { includes, seriesItem } from './config'
import { useChartDataFetch } from '@/hooks'
import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore'
import { DatasetComponent, GridComponent, TooltipComponent, LegendComponent } from 'echarts/components'
import isObject from 'lodash/isObject'
import cloneDeep from 'lodash/cloneDeep'const props = defineProps({themeSetting: {type: Object,required: true},themeColor: {type: Object,required: true},chartConfig: {type: Object as PropType<config>,required: true}
})const initOptions = useCanvasInitOptions(props.chartConfig.option, props.themeSetting)use([DatasetComponent, CanvasRenderer,  PieChart, GridComponent, TooltipComponent, LegendComponent])const replaceMergeArr = ref<string[]>()const option = computed(() => {return mergeTheme(props.chartConfig.option, props.themeSetting, includes)
})// dataset 无法变更条数的补丁
watch(() => props.chartConfig.option.dataset,(newData: { dimensions: any }, oldData) => {try {if (!isObject(newData) || !('dimensions' in newData)) returnif (Array.isArray(newData?.dimensions)) {const seriesArr = []for (let i = 0; i < newData.dimensions.length - 1; i++) {seriesArr.push(cloneDeep(seriesItem))}//replaceMergeArr.value = ['series']// props.chartConfig.option.series = seriesArr// nextTick(() => {//   replaceMergeArr.value = []// })}} catch (error) {console.log(error)}},{deep: false}
)const { vChartRef } = useChartDataFetch(props.chartConfig, useChartEditStore, (newData: any) => {props.chartConfig.option.dataset = newData
})
</script>

8  编辑\src\packages\components\Charts目录下的index.ts文件如下:

9 先运行C#后端程序(参考文章最前面给的链接),接着利用npm run dev运行go-view程序,最终效果如下:

完整代码可以如下链接获取:

张祥裕/分享的资源名称 - Gitee.com

下面讲解一下PieExt2目录下这5个文件config.ts、config.vue、data.json、index.ts、index.vue的功能:

config.ts文件

option和series是比较重要的,决定了控件的外观,如下图:

上面的option我是从这里抄来的,我对vue也是半吊子:

Examples - Apache ECharts

这里的资源Examples - Apache ECharts确实是多,option几乎都不用自己写,拿过来改改就能用了

拿过来后,要把带data部分删除:

换成 dataset: { ...dataJson },

然后根据需要修改series的内容

config.vue

要与config.ts结合来看,主要是能让控件在被拖拽出来后,能给人修改控件样式,如下图:

配置关系如下图:

data.json

配置控件的最初数据,后面可以通过界面上传json文件导入覆盖或者通过后端接口api动态获取覆盖:

index.ts

配置控件的名称,框架加载控件的路径,控件样式图片等配置

index.vue

控件样式布局及javascript逻辑控制:

这个watch函数是获取到接口数据或者导入json文件后,会自动执行该函数,我这里就没有动它(但在做堆叠柱状图的时候就修改了它),你看一下go-view自带的控件,index.vue的内容几乎一样,主要的功能是根据数据更新series的值,从而达到控制控件的目的

好了,本文到此结束,如果本文对你有帮助,资助2毛钱作为鼓励呗,穷逼一个,就当筹个网费吧

http://www.dinnco.com/news/36848.html

相关文章:

  • 可靠的武进网站建设网络营销软文范例300字
  • 中国建设银行官方网站沈阳网站优化包括哪些
  • 深圳做电商平台网站建设淮北网站建设
  • 邓州市网站建设2023年火爆的新闻
  • 如何做资源论坛网站admin5站长网
  • 怎样做网站推广啊网站查询工具
  • 广州在线网页制作工具seo顾问合同
  • 物流网站建设的背景seo系统培训班
  • 手工做火枪的网站整合营销传播
  • 公司网站做一下多少钱html简单网页代码
  • 邯郸景区网站制作营销型网站建设公司价格
  • 手机免费自建网站郑州seo学校
  • 网络服务提供者对在业务活动中收集的公民个人电子信息北京网站优化推广公司
  • 深圳网站定制深圳网站建设公司哪家好选择一个产品做营销方案
  • 怎么弄自己的网站百度排名优化软件
  • 太原做网站公司哪家好域名查询注册商
  • 上海网站建设设计公司哪家好常见网络营销推广方法
  • 做公司的网站怎么上线seo搜索引擎优化内容
  • 个人网站 建设方案书竞价培训
  • wordpress 404插件seo推广顾问
  • 寻花问柳-专注做一家男人的网站猪免费做网站
  • python自学网站免费菜鸟教程如何自己搭建网站
  • 如何用was做网站压力测试网店营销与推广策划方案
  • 淘客怎么用网站做如何外贸推广
  • 自媒体还是做网站seo企业优化方案
  • 做英文网站公司宁波seo外包推广公司
  • 做公众好号的网站哪家建设公司网站
  • 用html5设计个人网站百度合伙人官网app
  • 网站打不开是怎么回事google网页版登录入口
  • oss可以做网站根目录吗鹤岗网站seo