feat: 新增图片组件/圆环组件

main
许宏杰 4 weeks ago
parent 0e654ec1c0
commit 530b1ee02b

@ -12,6 +12,7 @@ import { refreshToken, isRefreshRequest } from '@/api/refresh.js'
export interface MyResponseType<T> {
code: ResultEnum
data: T
type:string
message: string
}

@ -17,5 +17,5 @@ export default [
// TreeMapConfig,
// GraphConfig,
// SankeyConfig,
DialConfig
// DialConfig
]

@ -1,4 +1,4 @@
import Private from './Private'
import Share from './Share'
export const PhotoList = [...Private, ...Share]
export const PhotoList = [...Private, ]//...Share

@ -208,7 +208,7 @@ export type PackagesType = {
// [PackagesCategoryEnum.VCHART]: ConfigType[]
[PackagesCategoryEnum.INFORMATIONS]: ConfigType[]
[PackagesCategoryEnum.TABLES]: ConfigType[]
// [PackagesCategoryEnum.PHOTOS]: ConfigType[]
[PackagesCategoryEnum.PHOTOS]: ConfigType[]
// [PackagesCategoryEnum.ICONS]: ConfigType[]
[PackagesCategoryEnum.DECORATES]: ConfigType[]
}

@ -24,7 +24,7 @@ export let packagesList: PackagesType = {
[PackagesCategoryEnum.INFORMATIONS]: InformationList,
[PackagesCategoryEnum.TABLES]: TableList,
[PackagesCategoryEnum.DECORATES]: DecorateList,
// [PackagesCategoryEnum.PHOTOS]: PhotoList,
[PackagesCategoryEnum.PHOTOS]: PhotoList,
// [PackagesCategoryEnum.ICONS]: IconList
}

@ -105,7 +105,7 @@ let isloading = ref(false)
let infoId = ref(null)
let stopWatch = null
let isWatching = ref(false)
let showModal = ref(true)
let showModal = ref(false)
let messageList = ref([])
//
let lastIndex = ref(0)

@ -45,22 +45,17 @@
<script setup>
import { useRoute, useRouter } from 'vue-router'
import { createProjectApi, historyMessageRoom, historyMessageRoomUpdata } from '@/api/path'
import { createProjectApi } from '@/api/path'
import { getUUID } from '@/utils'
import { ResultEnum } from '@/enums/httpEnum'
import { AiLogo , AiChart} from './components'
import { AiLogo, AiChart } from './components'
import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore'
const chartEditStore = useChartEditStore()
import { onMounted, ref } from 'vue'
import useMessageRoomStore from '@/store/modules/messageRoom'
import { useSystemStore } from '@/store/modules/systemStore/systemStore'
import { onMounted } from 'vue'
const systemStore = useSystemStore()
const useMessageRoom = useMessageRoomStore()
const router = useRouter()
const route = useRoute()
const history = ref(null)
const menuList = [
{ id: 1, name: '新建数据看板', path: 'board' },
@ -72,6 +67,8 @@ const getCurrentRoute = path => {
}
const handlerBoard = async (path = 'board') => {
chartEditStore.setComponentList() //
chartEditStore.setEdit(false) //
try {
//
const res = await createProjectApi({
@ -97,10 +94,13 @@ onMounted(() => {
})
const handlerPath = (path, index) => {
history.value.fetchList() //
chartEditStore.setComponentList() //
chartEditStore.setEdit(false) //
if(index === 0){
handlerBoard(path) //
}else{
router.push(`/${path}` )
}
}
</script>

@ -101,7 +101,7 @@ const previewHandle = cardData => {
openNewWindow(previewPath(cardData.id))
}
onMounted(() => {
// fetchList()
fetchList()
})
</script>

@ -1,22 +1,61 @@
export const lineAndBar = `
const obj = {
dimensions: ['product', 'data1'],
source:[]
}
if(res.type === 'bar' || res.type === 'line'){
res.data.forEach((item,index) => {
// export const lineAndBar = `
// const obj = {
// dimensions: ['product', 'data1'],
// source:[]
// }
// if(res.type === 'bar' || res.type === 'line'){
// res.data.forEach((item,index) => {
// obj.source.push({
// product: res.xData[index] ,
// data1: item,
// })
// });
// }else if(res.type === 'pie'){
// res.data.forEach((item)=>{
// obj.source.push({
// product:item.name,
// data1:item.value,
// })
// })
// }
// return obj `
const lineAndBar = `
const obj = {
dimensions: ['product', '数据'],
source:[]
}
res.data.forEach((item,index) => {
obj.source.push({
product: res.xData[index] ,
data1: item,
数据: item,
})
});
}else if(res.type === 'pie'){
res.data.forEach((item)=>{
obj.source.push({
product:item.name,
data1:item.value,
})
})
}
return obj`
const pie = `
const obj = {
dimensions: ['product', '数据'],
source:[]
}
res.data.forEach((item)=>{
obj.source.push({
product:item.name,
数据:item.value,
})
})
return obj
`
const filterData = {
LineCommon: lineAndBar,
LineLinearSingle: lineAndBar,
BarCommon:lineAndBar,
BarCrossrange:lineAndBar,
PieCommon:pie,
PieCircle:'return res.data',
Dial:'return res.data'
}
return obj `
export { filterData }

@ -45,7 +45,7 @@
<script setup lang="ts">
import userIcon from '@/assets/images/ai/user-icon.png'
import { lineAndBar } from '../ChartDataAjax/handlerFormat.js'
import { filterData } from '../ChartDataAjax/handlerFormat.js'
import { ref, toRefs, computed, onBeforeUnmount, nextTick, watch, toRaw, reactive, watchEffect } from 'vue'
import { icon } from '@/plugins'
import { useDesignStore } from '@/store/modules/designStore/designStore'
@ -106,38 +106,44 @@ const sendHandle = async () => {
})
lastIndex.value = messageList.value.length - 1
targetData.value.request = {
requestDataType: RequestDataTypeEnum.AJAX,
requestHttpType: RequestHttpEnum.POST,
requestUrl: 'https://baijiahu.mynatapp.cc/api',
requestInterval: 300, //600
requestIntervalUnit: RequestHttpIntervalEnum.SECOND,
requestContentType: RequestContentTypeEnum.DEFAULT,
requestParamsBodyType: RequestBodyEnum.FORM_DATA,
requestSQLContent: {
sql: 'select * from where'
},
requestParams: {
Body: {
'form-data': {prompt:keyWord.value},
'x-www-form-urlencoded': {},
json: '',
xml: ''
},
Header: {},
Params: {}
}
}
requestDataType: RequestDataTypeEnum.AJAX,
requestHttpType: RequestHttpEnum.POST,
requestUrl: 'https://baijiahu.mynatapp.cc/api',
requestInterval: 300, //600
requestIntervalUnit: RequestHttpIntervalEnum.SECOND,
requestContentType: RequestContentTypeEnum.DEFAULT,
requestParamsBodyType: RequestBodyEnum.FORM_DATA,
requestSQLContent: {
sql: 'select * from where'
},
requestParams: {
Body: {
'form-data': { prompt: keyWord.value },
'x-www-form-urlencoded': {},
json: '',
xml: ''
},
Header: {},
Params: {}
}
}
try {
const res = await customizeHttp(toRaw(targetData.value.request), toRaw(chartEditStore.getRequestGlobalConfig))
loading.value = false
messageList.value[lastIndex.value].loading = false
keyWord.value = ''
if (res) {
console.log(res)
if (!targetData.value.filter) targetData.value.filter = filterData[targetData.value.key]
if (res.type === "text" || !targetData.value.filter) {
window['$message'].warning('您的数据不符合默认格式,请配置过滤器!')
return
}
targetData.value.lastMessagesItem = messageList.value[lastIndex.value] //
if (!targetData.value.filter) targetData.value.filter = lineAndBar
targetData.value.option.dataset = newFunctionHandle(res.data, res, targetData.value.filter)
return
}

@ -65,7 +65,7 @@ export const dragHandle = async (e: DragEvent) => {
newComponent.request.requestDataType =0
}
console.log(newComponent,'创建新图表',) //chartsType.package
console.log(newComponent,'创建新图表',chartsType.package) //chartsType.package
setComponentPosition(newComponent, e.offsetX - newComponent.attr.w / 2, e.offsetY - newComponent.attr.h / 2)
chartEditStore.addComponentList(newComponent, false, true)

Loading…
Cancel
Save