Commit 3c4c15c8 authored by zhengke's avatar zhengke

no message

parent 7750e3ba
......@@ -26,10 +26,30 @@ const searchData = ref({} as any)
provide(injectKeyTemplate,searchData)
const isFinish = ref(false)
const _isPC = isPC()
const mainStore = useMainStore()
const snapshotStore = useSnapshotStore()
const modelStore = useScreenStore()
const ConfigIdStore = useScreenStore()
const { databaseId } = storeToRefs(mainStore)
const { screening, market, model, ConfigId } = storeToRefs(useScreenStore())
if (process.env.NODE_ENV === 'production') {
window.onbeforeunload = () => false
}
const userLoginHandler = async ()=>{
let param = query()
let userId = 1
let ConfigId = 9117
let model = 1
if(param.uid) userId=parseInt(param.uid)
if(ConfigId) ConfigIdStore.setMarket(ConfigId)
if(model) modelStore.setModel(model)
try {
await userStore().setUserLoginAsync(userId)
} catch (error) {
......@@ -39,17 +59,6 @@ const userLoginHandler = async ()=>{
}
userLoginHandler()
const _isPC = isPC()
const mainStore = useMainStore()
const snapshotStore = useSnapshotStore()
const { databaseId } = storeToRefs(mainStore)
const { screening, market } = storeToRefs(useScreenStore())
if (process.env.NODE_ENV === 'production') {
window.onbeforeunload = () => false
}
onMounted(async () => {
await deleteDiscardedDB()
snapshotStore.initSnapshotDatabase()
......
......@@ -4,6 +4,13 @@ import Api,{ HttpResponse, Result } from './../utils/request';
* 配置相关方法
*/
class ConfigService{
/**
* 根据ConfigId获取行程配置相关数据
*/
static async triptemplateGetTripFiledData(params : any):Promise<HttpResponse>{
return Api.Post("triptemplate_GetTripFiledData",params)
}
/**
* 根据团期配置编号获取行程详情
*/
......@@ -14,6 +21,13 @@ class ConfigService{
/**
* 新增修改模版数据
*/
static async SetSetTripConfig(params : any):Promise<HttpResponse>{
return Api.Post("triptemplate_SetTripConfig",params)
}
/**
* 新增修改模版
*/
static async SetTripTemplateSlide(params : any):Promise<HttpResponse>{
return Api.Post("triptemplate_SetTripTemplate",params)
}
......
import { fa } from 'element-plus/es/locale'
import { defineStore } from 'pinia'
export interface ScreenState {
screening: boolean,
market:boolean
market:boolean,
model:number,
ConfigId:number
}
export const useScreenStore = defineStore('screen', {
state: (): ScreenState => ({
screening: false, // 是否进入放映状态
market: true
market: true,
model: 0, //是否有新增模版权限
ConfigId: 0,
}),
actions: {
......@@ -20,6 +25,13 @@ export const useScreenStore = defineStore('screen', {
},
setMarket(market: boolean){
this.market = market
},
setModel(model: number){
console.log(model,'=====')
this.model = model
},
setConfigId(ConfigId: number){
this.ConfigId = ConfigId
}
},
})
\ No newline at end of file
......@@ -62,7 +62,8 @@
const slidesStore = useSlidesStore()
const { slides, slideIndex } = storeToRefs(slidesStore)
const slidesData = slides.value
watch(datas.DataSource, (n, o) => {
const setNewDatas = () => {
// 更新Slides数据
const savelides = []
const newSlides = []
......@@ -79,7 +80,7 @@
}
savelides.push(x)
})
obj.elements = savelides
obj.elements = JSON.parse(JSON.stringify(savelides))
slidesData.forEach((x,index)=>{
if(slideIndex.value == index){
x.pgaeType = datas.DataSource.pgaeType
......@@ -87,16 +88,10 @@
}
newSlides.push(x)
})
if(obj&&obj.TemplateDataSource&&obj.TemplateDataSource.Id){
slidesStore.setSlides(newSlides)
}
console.log(newSlides,'=====-----')
slidesStore.setSlides(newSlides)
}
})
watch(datas.DataSource, (n, o) => {
})
}
// 数据源关键数据赋值
const setTemplateDataSource = (Id,index) => {
datas.DataSource.DataSourceList.forEach((x,indexs)=>{
......@@ -108,6 +103,7 @@
x.TemplateDataSource.Name = obj.Name
}
})
setNewDatas()
}
const OffDataSource = () =>{
......@@ -138,12 +134,13 @@
padding: 40px;
border-radius: 10px;
background: #fff;
overflow: auto;
}
.DataaSourceList{
height: 100%;
border: 1px solid #ebeef5;
padding: 20px;
border-radius: 5px;
overflow: auto;
}
.DataaSourceL{
font-weight: bold;
......
<template>
<div class="editor-header">
<div class="left">
<div class="menu-item" v-tooltip="'去首页'" @click="goBack()">首页</div>
<Popover trigger="click" placement="bottom-start" v-model:value="mainMenuVisible">
<template #content>
<FileInput accept=".pptist" @change="files => {
......@@ -54,7 +55,7 @@
<div class="arrow-btn"><IconDown class="arrow" /></div>
</Popover>
</div> -->
<div class="group-menu-item" v-if="userInfo.IsEditTripTemplate==1">
<div class="group-menu-item" v-if="userInfo.IsEditTripTemplate==1&&model">
<div class="menu-item" v-tooltip="'导入PSD'" @click="UploadPsd()">
<IconUpload class="icon" />
</div>
......@@ -91,8 +92,9 @@ import useImport from '@/hooks/useImport'
import useSlideHandler from '@/hooks/useSlideHandler'
import type { DialogForExportTypes } from '@/types/export'
import { userStore } from "@/store/user";
import { useScreenStore } from "@/store/screen";
import ConfigService from '@/services/ConfigService'
import { injectKeyDataSource } from '@/types/injectKey'
import { injectKeyDataSource, injectKeyTemplate } from '@/types/injectKey'
import HotkeyDoc from './HotkeyDoc.vue'
import FileInput from '@/components/FileInput.vue'
......@@ -122,17 +124,55 @@ const datas = reactive({
loading: false
})
const queryObj = ref({} as any)
const searchData = ref({} as any)
datas.DataSource = inject(injectKeyDataSource)
queryObj.value = inject(injectKeyDataSource).queryObj
searchData.value = inject(injectKeyTemplate)
const marketStore = useScreenStore()
const { market, model, ConfigId } = storeToRefs(useScreenStore())
const goBack = () =>{
marketStore.setMarket(true)
}
// 导入PSD
const UploadPsd = () => {
}
// 保存
// 新增修改模版
const SetTripTemplateSlide = async () => {
try {
let TemplateRes = await ConfigService.SetTripTemplateSlide(queryObj.value);
if (TemplateRes.data.resultCode == 1) {
}
datas.loading = false
} catch (error) {
datas.loading = false
console.log("TemplateGetTripFiled", error);
}
}
// 用户新增修改数据
const SetTripTemplateConfig = async () => {
try {
let queryMsg = {
ConfigId: ConfigId,
TempId: queryObj.value.TempId,
}
let TemplateRes = await ConfigService.SetSetTripConfig(queryMsg);
if (TemplateRes.data.resultCode == 1) {
}
datas.loading = false
} catch (error) {
datas.loading = false
console.log("TemplateGetTripFiled", error);
}
}
const setTemplate = async () =>{
// console.log(JSON.stringify(slides.value),'----保存接口',queryObj.value)
console.log(slides.value,'-------')
if(queryObj.value.Title==''||!queryObj.value.LineId||!queryObj.value.LtId
// ||queryObj.value.CoverImg==''
||queryObj.value.CountryName==''||queryObj.value.SeasonName==''
......@@ -165,20 +205,15 @@ const setTemplate = async () =>{
}
}
queryObj.value.TempData = JSON.stringify(slides.value)
return
datas.loading = true
try {
let TemplateRes = await ConfigService.SetTripTemplateSlide(queryObj.value);
if (TemplateRes.data.resultCode == 1) {
}
datas.loading = false
} catch (error) {
datas.loading = false
console.log("TemplateGetTripFiled", error);
if(model&&userInfo.IsEditTripTemplate==1){
await SetTripTemplateSlide()
}else{
await SetTripTemplateConfig()
}
}
const startEditTitle = () => {
titleValue.value = title.value
editingTitle.value = true
......
......@@ -56,7 +56,7 @@ import type { ContextmenuItem } from '@/components/Contextmenu/types'
import useSlideHandler from '@/hooks/useSlideHandler'
import useScreening from '@/hooks/useScreening'
import useLoadSlides from '@/hooks/useLoadSlides'
import { injectKeyDataSource } from '@/types/injectKey'
import { injectKeyDataSource, injectKeyTemplate } from '@/types/injectKey'
import ConfigService from '@/services/ConfigService'
import ThumbnailSlide from '@/views/components/ThumbnailSlide/index.vue'
......@@ -93,26 +93,142 @@ const datas = reactive({
DataSource:{}
})
const queryObj = ref({} as any)
const searchData = ref({} as any)
datas.DataSource = inject(injectKeyDataSource)
searchData.value = inject(injectKeyTemplate)
// 模版市场分页数据
const SearchqueryObj = reactive({
pageIndex: 1,
pageSize: 10,
LineId: 0, //线路Id
Title: '', //模板名称
CountryName: '', //国家名称
SeasonName: '', //季节名称
ColorName: '', //颜色名称
totalCount: 0, //总调试
pageCount: 0, //总页数
})
watch(() => slideIndex.value, () => {
// 清除多选状态的幻灯片
if (selectedSlidesIndex.value.length) {
mainStore.updateSelectedSlidesIndex([])
}
// 检查当前页缩略图是否在可视范围,不在的话需要滚动到对应的位置
nextTick(() => {
const activeThumbnailRef: HTMLElement = thumbnailsRef.value?.$el?.querySelector('.thumbnail-item.active')
if (thumbnailsRef.value && activeThumbnailRef && !isElementInViewport(activeThumbnailRef, thumbnailsRef.value.$el)) {
setTimeout(() => {
activeThumbnailRef.scrollIntoView({ behavior: 'smooth' })
}, 100)
}
})
})
//提取字符串中的文字
const getHtmlPlainText = (html_str) => {
let re = new RegExp('<[^<>]+>', 'g')
if (html_str) {
let text = html_str.replace(re, '')
return text
} else {
return ''
}
}
queryObj.value = inject(injectKeyDataSource).queryObj
/***
* 获取模板市场分页列表
*/
const queryTemplateBySearchHandler = async () => {
try {
let pageRes = await ConfigService.GetTemplagePageAsync(SearchqueryObj);
console.log("queryTemplateBySearchHandler", pageRes);
if (pageRes.data.resultCode == 1) {
datas.DataSource.dataList = pageRes.data.data.pageData;
SearchqueryObj.totalCount = pageRes.data.data.count;
SearchqueryObj.pageCount = pageRes.data.data.pageCount;
}
} catch (error) {
console.log("queryTemplateBySearchHandler", error);
}
}
// 获取行程团数据
const GetTripFiledData = async () =>{
if(queryObj.value.TempId) return
const slidesData = slides.value
try {
let queryMsg = {
ConfigId:datas.DataSource.ConfigId
}
let dataRes = await ConfigService.triptemplateGetTripFiledData(queryMsg);
if (dataRes.data.resultCode == 1) {
if(!dataRes.data.data) return
const travel = dataRes.data.data
const cursors = [] as Array<any>
slidesData.forEach((x,index)=>{
x.elements.forEach(y=>{
if(y.TemplateDataSource && y.TemplateDataSource.Content){
let dataPath = y.TemplateDataSource.Content.split('.')
let value=JSON.parse(JSON.stringify(travel));
dataPath.forEach((oo,i)=>{
if(value && value[oo]){
if(i==0 && Array.isArray(value[oo])){
let temp = cursors.find(item=>item.key==oo)
if(temp){
temp.index++
}else{
temp={key:oo,index:0}
cursors.push(temp)
}
if(value[oo].length>temp.index) value=value[oo][temp.index]
else value=value[oo]
}else{
value=value[oo]
}
}else{
value = null
}
})
if(value && typeof(value) == 'string'){
//替换
y.content= y.content.replace(getHtmlPlainText(y.content),value)
}else if(value && Array.isArray(value)){
//替换
y.content=value[0]
}
}
})
})
slidesStore.setSlides(slidesData)
}
} catch (error) {
console.log("triptemplateGetTripFiledData", error);
}
}
// 获取行程模版数据
const GetTripTemplate = async () =>{
// if(!datas.DataSource.queryObj.TempId) {
// let list = [
// {
// id: 'test-slide-1',
// pageType: 1,
// elements: [],
// background: {
// type: 'solid',
// color: '#ffffff',
// },
// }
// ]
// return slidesStore.setSlides(list)
// }
if(!queryObj.value.TempId) {
let list = [
{
id: 'test-slide-1',
pageType: 1,
elements: [],
background: {
type: 'solid',
color: '#ffffff',
},
}
]
return slidesStore.setSlides(list)
}
try {
let queryMsg = {
TempId:datas.DataSource.queryObj.TempId
TempId:queryObj.value.TempId
}
let dataRes = await ConfigService.GetTripTemplateSlide(queryMsg);
if (dataRes.data.resultCode == 1) {
......@@ -141,48 +257,17 @@ const GetTripTemplate = async () =>{
queryObj.value.ColorName = dataRes.data.data.ColorName
queryObj.value.ColorStr = dataRes.data.data.ColorStr
queryObj.value.TempType = dataRes.data.data.TempType
await GetTripFiledData()
}
} catch (error) {
console.log("GetTripTemplateSlide", error);
}
}
GetTripTemplate()
// 页面被切换时
const thumbnailsRef = ref<InstanceType<typeof Draggable>>()
watch(() => slideIndex.value, () => {
// 清除多选状态的幻灯片
if (selectedSlidesIndex.value.length) {
mainStore.updateSelectedSlidesIndex([])
}
// 检查当前页缩略图是否在可视范围,不在的话需要滚动到对应的位置
nextTick(() => {
const activeThumbnailRef: HTMLElement = thumbnailsRef.value?.$el?.querySelector('.thumbnail-item.active')
if (thumbnailsRef.value && activeThumbnailRef && !isElementInViewport(activeThumbnailRef, thumbnailsRef.value.$el)) {
setTimeout(() => {
activeThumbnailRef.scrollIntoView({ behavior: 'smooth' })
}, 100)
}
})
})
//提取字符串中的文字
const getHtmlPlainText = (html_str) => {
let re = new RegExp('<[^<>]+>', 'g')
if (html_str) {
let text = html_str.replace(re, '')
return text
} else {
return ''
}
}
queryObj.value = inject(injectKeyDataSource).queryObj
let pageObj = slides.value.find((slide,indexs) => {
return slideIndex.value==indexs
})
// pageType.value = pageObj.pageType
// 切换页面
const changeSlideIndex = (index: number) => {
mainStore.setActiveElementIdList([])
......@@ -191,37 +276,31 @@ const changeSlideIndex = (index: number) => {
return index==indexs
})
datas.DataSource.pageType = newElements.pageType
let TemplateList
if(newElements.pageType==1) TemplateList = datas.DataSource.jc
else if(newElements.pageType==2) TemplateList = datas.DataSource.jd
else if(newElements.pageType==3) TemplateList = datas.DataSource.jq
else if(newElements.pageType==4) TemplateList = datas.DataSource.cs
let TemplateList = datas.DataSource.TemplateDataSource.filter(x=>{
return x.FiledType==newElements.pageType
})
datas.DataSource.DataSourceList = []
newElements&&newElements.elements&&newElements.elements.forEach(slide=>{
if(slide.type!="text"&&slide.type!="image") return
let FiledTypeStr
if(slide.type=="text") FiledTypeStr = getHtmlPlainText(slide.content)
if(slide.type=="image") FiledTypeStr = slide.src
let Obj = {}
if(slide.FiledTypeStr){
Obj = {
...slide,
if(slide.type=="text"||slide.type=="image") {
let FiledTypeStr
if(slide.type=="text") FiledTypeStr = getHtmlPlainText(slide.content)
if(slide.type=="image") FiledTypeStr = slide.src
let Obj = {}
Obj = {
...slide,
FiledTypeStr: FiledTypeStr,
TemplateList: TemplateList,
TemplateDataSource: {
Content: slide.TemplateDataSource.Content?slide.TemplateDataSource.Content:'',
Name: slide.TemplateDataSource.Name?slide.TemplateDataSource.Name:'',
Id: slide.TemplateDataSource.Id?slide.TemplateDataSource.Id:null as Number
}
}
}else{
Obj = {
...slide,
FiledTypeStr: FiledTypeStr,
TemplateList: TemplateList,
TemplateDataSource: {
Content: '',
Name: '',
Id: null as Number
},
if(Obj){
datas.DataSource.DataSourceList.push(Obj)
}
}
if(Obj){
datas.DataSource.DataSourceList.push(Obj)
}
})
if (slideIndex.value === index) return
slidesStore.updateSlideIndex(index)
......@@ -366,6 +445,10 @@ const contextmenusThumbnailItem = (): ContextmenuItem[] => {
},
]
}
queryTemplateBySearchHandler()
GetTripTemplate()
</script>
<style lang="scss" scoped>
......
......@@ -10,9 +10,9 @@
placeholder="请页面类型">
<el-option
v-for="item in pageTypesList"
:key="item.key"
:label="item.label"
:value="item.key"
:key="item.FiledType"
:label="item.Name"
:value="item.FiledType"
/>
</el-select>
</div>
......@@ -104,13 +104,18 @@
const lines = ref([] as Array < any > ) //线路
const Series = ref([] as Array < any > ) //系列
const pageTypesList = ref([
{ label: '基础', key: 1 },
{ label: '酒店', key: 2 },
{ label: '景', key: 3 },
{ label: '餐', key: 4 },
])
const cursors = [] as Array<any>
const pageTypesList = ref([] as any)
let TemplateList = datas.DataSource.TemplateDataSource.filter(x=>{
let obj = pageTypesList.value.findIndex(z=>{
return z.FiledType==x.FiledType
})
if(obj==-1){
pageTypesList.value.push(x)
}
})
const slidesStore = useSlidesStore()
const { slides, slideIndex } = storeToRefs(slidesStore)
const setCountryValue = () =>{
......@@ -157,35 +162,30 @@
return slideIndex.value==indexs
})
datas.DataSource.DataSourceOverlay = !datas.DataSource.DataSourceOverlay
let TemplateList
if(newElements.pageType==1) TemplateList = datas.DataSource.jc
else if(newElements.pageType==2) TemplateList = datas.DataSource.jd
else if(newElements.pageType==3) TemplateList = datas.DataSource.jq
else if(newElements.pageType==4) TemplateList = datas.DataSource.cs
let TemplateList = datas.DataSource.TemplateDataSource.filter(x=>{
return x.FiledType==newElements.pageType
})
datas.DataSource.DataSourceList = []
newElements.elements.forEach(slide=>{
if(slide.type!="text"&&slide.type!="image") return
let FiledTypeStr
if(slide.type=="text") FiledTypeStr = getHtmlPlainText(slide.content)
if(slide.type=="image") FiledTypeStr = slide.src
let Obj = {}
if(slide.FiledTypeStr){
Obj = {
...slide,
}
}else{
if(slide.type=="text"||slide.type=="image") {
let FiledTypeStr
if(slide.type=="text") FiledTypeStr = getHtmlPlainText(slide.content)
if(slide.type=="image") FiledTypeStr = slide.src
let Obj = {}
Obj = {
...slide,
FiledTypeStr: FiledTypeStr,
TemplateList: TemplateList,
TemplateDataSource: {
Content: '',
Name: '',
Id: null as Number
Content: slide.TemplateDataSource.Content?slide.TemplateDataSource.Content:'',
Name: slide.TemplateDataSource.Name?slide.TemplateDataSource.Name:'',
Id: slide.TemplateDataSource.Id?slide.TemplateDataSource.Id:null as Number
},
}
if(Obj){
datas.DataSource.DataSourceList.push(Obj)
}
}
datas.DataSource.DataSourceList.push(Obj)
})
}
......
......@@ -52,17 +52,14 @@ import Modal from '@/components/Modal.vue'
import DataaSource from './DataaSource/index.vue'
import ConfigService from '@/services/ConfigService'
// inject(injectKeyTemplate).TempId?inject(injectKeyTemplate).TempId:
const datas = reactive({
DataSource:{
dataList: [],
ConfigId: inject(injectKeyTemplate).ConfigId?inject(injectKeyTemplate).ConfigId:0,
pageType: 1,//1基础 2酒店 3景 4餐
DataSourceOverlay: false,
DataSourceList:[],
TemplateDataSource:[],
jc:[],//基础
jd:[],//酒店
jq:[],//景区
cs:[],//餐食
TemplateDataSource:[],// 所有模版类型 1基础 2酒店 3景 4餐
queryObj:{
TempId: inject(injectKeyTemplate).TempId?inject(injectKeyTemplate).TempId:0,//编号(新增传0) 是 [int]
LineId: null,//线路Id 是 [int]
......@@ -94,18 +91,6 @@ const GetTripFiled = async () =>{
let TemplateRes = await ConfigService.TemplateGetTripFiled();
if (TemplateRes.data.resultCode == 1) {
datas.DataSource.TemplateDataSource = TemplateRes.data.data
datas.DataSource.jc = datas.DataSource.TemplateDataSource.filter(x => {
return x.FiledType==1
})
datas.DataSource.jd = datas.DataSource.TemplateDataSource.filter(x => {
return x.FiledType==2
})
datas.DataSource.jq = datas.DataSource.TemplateDataSource.filter(x => {
return x.FiledType==3
})
datas.DataSource.cs = datas.DataSource.TemplateDataSource.filter(x => {
return x.FiledType==4
})
}
} catch (error) {
console.log("TemplateGetTripFiled", error);
......@@ -124,6 +109,7 @@ useGlobalHotkey()
usePasteEvent()
provide(injectKeyDataSource,datas.DataSource)
</script>
<style lang="scss" scoped>
......
......@@ -64,7 +64,7 @@
</div>
</div>
</div>
<div class="q-mt-lg row wrap bg-white rounded" style="padding: 30px 10px;">
<div class="q-mt-lg row wrap bg-white rounded" style="padding: 30px 10px 0 10px;">
<template v-for="(item,index) in dataList">
<div class="MarketIndexListBox">
<div class="MarketIndexList bg-white rounded" @click="goToTemplate(item)">
......@@ -76,6 +76,20 @@
</div>
</template>
</div>
<div class="q-mt-lg row" style="justify-content: center;">
<el-pagination
background
v-model:current-page="currentPage"
v-model:page-size="queryObj.pageSize"
:page-sizes="[10, 20, 30, 40, 50, 100]"
:small="small"
layout="sizes, prev, pager, next"
:total="queryObj.totalCount"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
hide-on-single-page
/>
</div>
</div>
</div>
......@@ -98,6 +112,8 @@
const colorArr = ref([] as Array < any > ); //颜色
const seasonArr = ref([] as Array < any > ); //季节
const dataList = ref([] as Array < any > ); //模板数据列表
const currentPage = ref(1 as Number);
const queryObj = reactive({
pageIndex: 1,
pageSize: 10,
......@@ -113,7 +129,7 @@
const searchData = ref({} as any)
searchData.value = inject(injectKeyTemplate)
const marketStore = useScreenStore()
const { screening, market } = storeToRefs(useScreenStore())
const { screening, market, model, ConfigId} = storeToRefs(useScreenStore())
const addTemplate = () => {
marketStore.setMarket(!market)
......@@ -124,18 +140,14 @@
*/
const GetTripConfig = async () =>{
try {
// console.log('','-----http://localhost:8080?ConfigId=11')
let locations = window.location.search.split('?')
let ConfigId = locations[1].split('=')[1]
console.log(ConfigId,'=====')
if(!ConfigId) return
let queryMsg = {
ConfigId: 0
ConfigId: ConfigId
}
if(!queryMsg.ConfigId) return
let datasRes = await ConfigService.triptemplateGetTripConfig(queryMsg);
if (datasRes.data.resultCode == 1) {
if(datasRes.data.data&&datasRes.data.data.length>0&&datasRes.data.data[0].TempId){
searchData.value.TempId = item.TempId
searchData.value.TempId = datasRes.data.data[0].TempId
marketStore.setMarket(!market)
}
}
......@@ -160,16 +172,22 @@
const queryTemplateBySearchHandler = async () => {
try {
let pageRes = await ConfigService.GetTemplagePageAsync(queryObj);
console.log("queryTemplateBySearchHandler", pageRes);
if (pageRes.data.resultCode == 1) {
dataList.value = pageRes.data.data.pageData;
queryObj.totalCount = pageRes.data.data.count;
queryObj.pageCount = pageRes.data.data.pageCount;
}
} catch (error) {
console.log("queryTemplateBySearchHandler", error);
}
}
const handleSizeChange = (val: number) => {
queryObj.pageSize = val
queryTemplateBySearchHandler()
}
const handleCurrentChange = (val: number) => {
queryObj.pageIndex = val
queryTemplateBySearchHandler()
}
//线路切换
const onLineChangeHandler = (lineId: number) => {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment