diff --git a/package.json b/package.json
index e0feb54..83f15c7 100644
--- a/package.json
+++ b/package.json
@@ -4,10 +4,10 @@
"version": "0.0.0",
"type": "module",
"scripts": {
- "dev": "vite",
+ "dev": "vite --mode ypt" ,
"dev:zl": "vite --mode zl",
"dev:ypt": "vite --mode ypt",
- "build": "vite build",
+ "build": "vite build --mode ypt",
"build:zl": "vite build --mode zl",
"build:ypt": "vite build --mode ypt",
"preview": "vite preview"
diff --git a/src/components/echarts/rmsboxi.vue b/src/components/echarts/rmsboxi.vue
index 3d1b50a..2fb5901 100644
--- a/src/components/echarts/rmsboxi.vue
+++ b/src/components/echarts/rmsboxi.vue
@@ -14,10 +14,17 @@ import html2canvas from 'html2canvas'
import $ from 'jquery'
import * as echarts from 'echarts'
import { mainHeight } from '@/utils/layout'
-import { calcRmsYAxisRange, formatAxisLabel } from '@/utils/chartAxisHelper'
+import {
+ calcRmsYAxisRange,
+ createWaveLineSeries,
+ formatAxisLabel,
+ formatWaveAxisTooltip,
+ WAVE_AXIS_POINTER,
+ WAVE_DATA_ZOOM
+} from '@/utils/chartAxisHelper'
import url from '@/assets/img/point.png'
import url2 from '@/assets/img/dw.png'
-import { buildWaveCacheKey, getWaveCache, setWaveCache } from '@/utils/waveCache'
+import { buildWaveCacheKey, getWaveCache, setWaveCache, removeWaveCacheByEvent } from '@/utils/waveCache'
import { getRmsWorker, buildWorkerPayload } from '@/utils/waveWorkerPool'
import { buildExportBaseName, formatExportDateTime } from '@/utils/echartMethod'
let waveRequestId = 0
@@ -186,6 +193,9 @@ onMounted(() => {
})
onBeforeUnmount(() => {
+ waveRequestId++
+ pendingCacheKeys.clear()
+ removeWaveCacheByEvent(props.wp, props.boxoList)
backbxlb()
window.removeEventListener('resize', handleResize)
})
@@ -660,21 +670,9 @@ const initWave = (
tooltip: {
top: '10px',
trigger: 'axis',
+ axisPointer: WAVE_AXIS_POINTER,
borderColor: 'grey',
- formatter: function (params: any) {
- let tips = '时刻:' + params[0].data[0] + ''
- for (let i = 0; i < params.length; i++) {
- if (params[i].seriesName != '暂降触发点') {
- tips +=
- params[i].marker +
- params[i].seriesName +
- ':' +
- (params[i].value[1] - 0).toFixed(2) +
- '
'
- }
- }
- return tips
- },
+ formatter: (params: any) => formatWaveAxisTooltip(params),
textStyle: {
color: '#fff',
fontStyle: 'normal',
@@ -814,52 +812,11 @@ const initWave = (
top: '60px'
// containLabel: true
},
- dataZoom: [
- {
- type: 'inside',
- height: 13,
- start: 0,
-
- bottom: '10px',
- end: 100,
- filterMode: 'none'
- },
- {
- start: 0,
- height: 13,
- bottom: '10px',
- end: 100,
- filterMode: 'none'
- }
- ],
+ dataZoom: WAVE_DATA_ZOOM,
series: [
- {
- name: a,
- type: 'line',
- smooth: true,
- symbol: 'none',
- sampling: 'average',
- itemStyle: { color: '#DAA520' },
- data: radata
- },
- {
- name: b,
- type: 'line',
- smooth: true,
- symbol: 'none',
- sampling: 'average',
- itemStyle: { color: '#2E8B57' },
- data: rbdata
- },
- {
- name: c,
- type: 'line',
- smooth: true,
- symbol: 'none',
- sampling: 'average',
- itemStyle: { color: '#A52a2a' },
- data: rcdata
- },
+ createWaveLineSeries(a, radata, '#DAA520'),
+ createWaveLineSeries(b, rbdata, '#2E8B57'),
+ createWaveLineSeries(c, rcdata, '#A52a2a'),
{
name: '暂降触发点',
type: 'scatter',
@@ -1024,21 +981,9 @@ const drawPics = (
tooltip: {
top: '10px',
trigger: 'axis',
+ axisPointer: WAVE_AXIS_POINTER,
borderColor: 'grey',
- formatter: function (params: any) {
- let tips = '时刻:' + params[0].data[0] + ''
- for (let i = 0; i < params.length; i++) {
- if (params[i].seriesName != '暂降触发点') {
- tips +=
- params[i].marker +
- params[i].seriesName +
- ':' +
- (params[i].value[1] - 0).toFixed(2) +
- '
'
- }
- }
- return tips
- },
+ formatter: (params: any) => formatWaveAxisTooltip(params, { showMarker: false }),
textStyle: {
color: '#fff',
fontStyle: 'normal',
@@ -1163,52 +1108,11 @@ const drawPics = (
top: '60px'
// containLabel: true
},
- dataZoom: [
- {
- type: 'inside',
- height: 13,
- start: 0,
-
- bottom: '10px',
- end: 100,
- filterMode: 'none'
- },
- {
- start: 0,
- height: 13,
- bottom: '10px',
- end: 100,
- filterMode: 'none'
- }
- ],
+ dataZoom: WAVE_DATA_ZOOM,
series: [
- {
- name: a,
- type: 'line',
- smooth: true,
- symbol: 'none',
- sampling: 'average',
- itemStyle: { color: '#DAA520' },
- data: radata
- },
- {
- name: b,
- type: 'line',
- smooth: true,
- symbol: 'none',
- sampling: 'average',
- itemStyle: { color: '#2E8B57' },
- data: rbdata
- },
- {
- name: c,
- type: 'line',
- smooth: true,
- symbol: 'none',
- sampling: 'average',
- itemStyle: { color: '#A52a2a' },
- data: rcdata
- }
+ createWaveLineSeries(a, radata, '#DAA520'),
+ createWaveLineSeries(b, rbdata, '#2E8B57'),
+ createWaveLineSeries(c, rcdata, '#A52a2a')
]
}
diff --git a/src/components/echarts/shushiboxi.vue b/src/components/echarts/shushiboxi.vue
index c358f54..5f8cb1a 100644
--- a/src/components/echarts/shushiboxi.vue
+++ b/src/components/echarts/shushiboxi.vue
@@ -14,9 +14,17 @@ import html2canvas from 'html2canvas'
import $ from 'jquery'
import * as echarts from 'echarts'
import { mainHeight } from '@/utils/layout'
-import { calcShuYAxisRange, formatAxisLabel } from '@/utils/chartAxisHelper'
+import {
+ calcShuYAxisRange,
+ createWaveLineSeries,
+ formatAxisLabel,
+ formatWaveAxisTooltip,
+ WAVE_AXIS_POINTER,
+ WAVE_DATA_ZOOM
+} from '@/utils/chartAxisHelper'
import url from '@/assets/img/point.png'
-import { buildWaveCacheKey, getWaveCache, setWaveCache } from '@/utils/waveCache'
+
+import { buildWaveCacheKey, getWaveCache, setWaveCache, removeWaveCacheByEvent } from '@/utils/waveCache'
import { getShuWorker, buildWorkerPayload } from '@/utils/waveWorkerPool'
import { buildExportBaseName, formatExportDateTime } from '@/utils/echartMethod'
@@ -192,6 +200,9 @@ onMounted(() => {
})
onBeforeUnmount(() => {
+ waveRequestId++
+ pendingCacheKeys.clear()
+ removeWaveCacheByEvent(props.wp, props.boxoList)
backbxlb()
window.removeEventListener('resize', handleResize)
})
@@ -430,26 +441,14 @@ const initWave = (
tooltip: {
top: '10px',
trigger: 'axis',
+ axisPointer: WAVE_AXIS_POINTER,
borderColor: 'grey',
style: {
color: '#fff',
fontSize: '15px',
padding: 10
},
- formatter: function (params: any) {
- let tips = '时刻:' + params[0].data[0] + ''
- for (let i = 0; i < params.length; i++) {
- if (params[i].seriesName != '暂降触发点') {
- tips +=
- params[i].marker +
- params[i].seriesName +
- ':' +
- (params[i].value[1] - 0).toFixed(2) +
- '
'
- }
- }
- return tips
- },
+ formatter: (params: any) => formatWaveAxisTooltip(params),
textStyle: {
color: '#fff',
fontStyle: 'normal',
@@ -577,55 +576,11 @@ const initWave = (
bottom: '45px',
top: '60px'
},
- dataZoom: [
- {
- type: 'inside',
- height: 13,
- start: 0,
-
- bottom: '10px',
- end: 100,
- filterMode: 'none'
- },
- {
- start: 0,
- height: 13,
- bottom: '10px',
- end: 100,
- filterMode: 'none'
- }
- ],
+ dataZoom: WAVE_DATA_ZOOM,
series: [
- {
- name: a,
- type: 'line',
- large: true,
- smooth: true,
- symbol: 'none',
- sampling: 'average',
- itemStyle: { color: '#DAA520' },
- data: adata
- },
- {
- name: b,
- type: 'line',
- large: true,
- smooth: true,
- symbol: 'none',
- sampling: 'average',
- itemStyle: { color: '#2E8B57' },
- data: bdata
- },
- {
- name: c,
- type: 'line',
- large: true,
- smooth: true,
- symbol: 'none',
- sampling: 'average',
- itemStyle: { color: '#A52a2a' },
- data: cdata
- },
+ createWaveLineSeries(a, adata, '#DAA520'),
+ createWaveLineSeries(b, bdata, '#2E8B57'),
+ createWaveLineSeries(c, cdata, '#A52a2a'),
{
name: '暂降触发点',
type: 'scatter',
@@ -778,16 +733,9 @@ const drawPics = (
const option = {
tooltip: {
trigger: 'axis',
+ axisPointer: WAVE_AXIS_POINTER,
borderColor: 'grey',
- formatter: function (params: any) {
- let tips = '时刻:' + params[0].data[0] + ''
- for (let i = 0; i < params.length; i++) {
- if (params[i].seriesName != '暂降触发点') {
- tips += params[i].seriesName + ':' + (params[i].value[1] - 0).toFixed(2) + '
'
- }
- }
- return tips
- },
+ formatter: (params: any) => formatWaveAxisTooltip(params, { showMarker: false }),
textStyle: {
color: '#fff',
fontStyle: 'normal',
@@ -905,55 +853,11 @@ const drawPics = (
top: '60px'
// containLabel: true
},
- dataZoom: [
- {
- type: 'inside',
- height: 13,
- start: 0,
-
- bottom: '10px',
- end: 100,
- filterMode: 'none'
- },
- {
- start: 0,
- height: 13,
- bottom: '10px',
- end: 100,
- filterMode: 'none'
- }
- ],
+ dataZoom: WAVE_DATA_ZOOM,
series: [
- {
- name: a,
- type: 'line',
- large: true,
- smooth: true,
- symbol: 'none',
- sampling: 'average',
- itemStyle: { color: '#DAA520' },
- data: adata
- },
- {
- name: b,
- type: 'line',
- large: true,
- smooth: true,
- symbol: 'none',
- sampling: 'average',
- itemStyle: { color: '#2E8B57' },
- data: bdata
- },
- {
- name: c,
- type: 'line',
- large: true,
- smooth: true,
- symbol: 'none',
- sampling: 'average',
- itemStyle: { color: '#A52a2a' },
- data: cdata
- }
+ createWaveLineSeries(a, adata, '#DAA520'),
+ createWaveLineSeries(b, bdata, '#2E8B57'),
+ createWaveLineSeries(c, cdata, '#A52a2a')
]
}
diff --git a/src/components/icon/index.vue b/src/components/icon/index.vue
index b904197..c277375 100644
--- a/src/components/icon/index.vue
+++ b/src/components/icon/index.vue
@@ -16,7 +16,7 @@ export default defineComponent({
required: true
},
size: {
- type: String,
+ type: [String, Number],
default: '18px'
},
color: {
@@ -27,7 +27,7 @@ export default defineComponent({
setup(props) {
const iconStyle = computed((): CSSProperties => {
const { size, color } = props
- let s = `${size.replace('px', '')}px`
+ const s = typeof size === 'number' ? `${size}px` : `${String(size).replace('px', '')}px`
return {
fontSize: s,
color: color
diff --git a/src/components/icon/svg/index.vue b/src/components/icon/svg/index.vue
index 3f13c08..77c1cf7 100644
--- a/src/components/icon/svg/index.vue
+++ b/src/components/icon/svg/index.vue
@@ -10,7 +10,7 @@ import { computed, type CSSProperties } from 'vue'
import { isExternal } from '@/utils/common'
interface Props {
name: string
- size: string
+ size: string | number
color: string
}
@@ -20,19 +20,21 @@ const props = withDefaults(defineProps(), {
color: '#000000',
})
-const s = `${props.size.replace('px', '')}px`
+const s = computed(() =>
+ typeof props.size === 'number' ? `${props.size}px` : `${String(props.size).replace('px', '')}px`
+)
const iconName = computed(() => `#${props.name}`)
const iconStyle = computed((): CSSProperties => {
return {
color: props.color,
- fontSize: s,
+ fontSize: s.value,
}
})
const isUrl = computed(() => isExternal(props.name))
const urlIconStyle = computed(() => {
return {
- width: s,
- height: s,
+ width: s.value,
+ height: s.value,
mask: `url(${props.name}) no-repeat 50% 50%`,
'-webkit-mask': `url(${props.name}) no-repeat 50% 50%`,
}
diff --git a/src/components/table/defaultAttribute.ts b/src/components/table/defaultAttribute.ts
index f6c41be..a1d30a9 100644
--- a/src/components/table/defaultAttribute.ts
+++ b/src/components/table/defaultAttribute.ts
@@ -1,16 +1,16 @@
-import { VxeTableProps } from 'vxe-table'
-
-export const defaultAttribute: VxeTableProps = {
- align: 'center',
- headerCellClassName: 'table-header-cell',
- border: true,
- stripe: true,
- size: 'small',
- columnConfig: { resizable: true },
- rowConfig: { isCurrent: true, isHover: true },
- scrollX: { scrollToLeftOnChange: true },
- scrollY: { scrollToTopOnChange: true, enabled: true, gt: 100 },
- customConfig: { enabled: true, allowFixed: false, showFooter: false, immediate: true ,mode:'default'},
- showOverflow: 'tooltip',
- showHeaderOverflow: false
-}
+import { VxeTableProps } from 'vxe-table'
+
+export const defaultAttribute: VxeTableProps = {
+ align: 'center',
+ headerCellClassName: 'table-header-cell',
+ border: true,
+ stripe: true,
+ size: 'small',
+ columnConfig: { resizable: true },
+ rowConfig: { isCurrent: true, isHover: true },
+ scrollX: { scrollToLeftOnChange: true },
+ scrollY: { scrollToTopOnChange: true, enabled: true, gt: 100 },
+ customConfig: { enabled: true, allowFixed: false, showFooter: false, immediate: true ,mode:'default'},
+ showOverflow: 'tooltip',
+ showHeaderOverflow: false
+}
diff --git a/src/components/tree/point.vue b/src/components/tree/point.vue
index 7f051af..bdc5b71 100644
--- a/src/components/tree/point.vue
+++ b/src/components/tree/point.vue
@@ -25,7 +25,7 @@
+
@@ -199,47 +201,35 @@ provide('tableStore', tableStore)
// "type": "",
// "userId": ""
tableStore.table.params.searchValue = ''
-// tableStore.table.params.cascader = ''
-// tableStore.table.params.level = ''
-// tableStore.table.params.engineeringid = ''
-// tableStore.table.params.projectId = ''
-// tableStore.table.params.deviceId = ''
+tableStore.table.params.engineeringid = ''
+tableStore.table.params.projectId = ''
+tableStore.table.params.deviceId = ''
+tableStore.table.params.lineId = ''
+tableStore.table.params.cascader = ''
tableStore.table.params.type = 3
-// tableStore.table.params.eventIds = []
-// tableStore.table.params.status = ''
-// tableStore.table.params.target = []
-// tableStore.table.params.userId = ''
-// tableStore.table.params.deviceTypeId = ''
-// tableStore.table.params.deviceTypeName = ''
-const deviceTreeOptions = ref(props.deviceTree)
-deviceTreeOptions.value.map((item: any, index: any) => {
- if (item?.children.length == 0) {
- deviceTreeOptions.value.splice(index, 1)
- }
-})
+tableStore.table.params.level = ''
+
const filterNode = createTreeFilterNode()
-const sourceChange = (e: any) => {
- tableStore.table.params.deviceTypeId = ''
+
+const onTreeClear = () => {
tableStore.table.params.engineeringid = ''
tableStore.table.params.projectId = ''
tableStore.table.params.deviceId = ''
- if (e) {
- let name = deviceTreeOptions.value.filter((item: any) => {
- return item.id == e[0]
- })[0].name
- tableStore.table.params.deviceTypeName = name
- if (name == '便携式设备') {
- tableStore.table.params.deviceTypeId = e[0] || ''
- tableStore.table.params.deviceId = e[1] || ''
- } else {
- tableStore.table.params.deviceTypeId = e[0] || ''
- tableStore.table.params.engineeringid = e[1] || ''
- tableStore.table.params.projectId = e[2] || ''
- tableStore.table.params.deviceId = e[3] || ''
- }
- }
+ tableStore.table.params.lineId = ''
}
+const sourceChange = (e: any) => {
+ onTreeClear()
+ if (e.level == 0) {
+ tableStore.table.params.engineeringid = e.id
+ } else if (e.level == 1) {
+ tableStore.table.params.projectId = e.id
+ } else if (e.level == 2) {
+ tableStore.table.params.deviceId = e.id
+ } else if (e.level == 3) {
+ tableStore.table.params.lineId = e.id
+ }
+}
onMounted(() => {
tableStore.index()
})
diff --git a/src/views/govern/alarm/Steady.vue b/src/views/govern/alarm/Steady.vue
index 40a19af..461d69c 100644
--- a/src/views/govern/alarm/Steady.vue
+++ b/src/views/govern/alarm/Steady.vue
@@ -1,26 +1,32 @@
-
-
-
-
+
+
+
+
-
+
+
@@ -309,17 +311,14 @@ provide('tableStore', tableStore)
// "type": "",
// "userId": ""
tableStore.table.params.searchValue = ''
-// tableStore.table.params.engineeringid = ''
-// tableStore.table.params.projectId = ''
-// tableStore.table.params.deviceTypeId = ''
-// tableStore.table.params.deviceId = ''
+tableStore.table.params.engineeringid = ''
+tableStore.table.params.projectId = ''
+tableStore.table.params.deviceId = ''
+tableStore.table.params.lineId = ''
+tableStore.table.params.cascader = ''
+
tableStore.table.params.type = 0
-// tableStore.table.params.eventIds = []
-// tableStore.table.params.status = ''
-// tableStore.table.params.target = []
-// tableStore.table.params.userId = ''
-// tableStore.table.params.cascader = ''
-// tableStore.table.params.deviceTypeName = ''
+
Object.assign(tableStore.table.params, {
featureAmplitudeMin: undefined,
featureAmplitudeMax: undefined,
@@ -334,54 +333,26 @@ Object.assign(tableStore.table.params, {
const openFilterDialog = () => {
filterVisible.value = true
}
-
-const deviceTreeOptions: any = ref(props.deviceTree)
-deviceTreeOptions.value.map((item: any, index: any) => {
- if (item?.children.length == 0) {
- deviceTreeOptions.value.splice(index, 1)
- }
-})
-const sourceChange = (e: any) => {
- tableStore.table.params.deviceTypeId = ''
+const onTreeClear = () => {
tableStore.table.params.engineeringid = ''
tableStore.table.params.projectId = ''
tableStore.table.params.deviceId = ''
- if (e) {
- let name = deviceTreeOptions.value.filter((item: any) => {
- return item.id == e[0]
- })[0].name
- tableStore.table.params.deviceTypeName = name
- if (name == '便携式设备') {
- tableStore.table.params.deviceTypeId = e[0] || ''
- tableStore.table.params.deviceId = e[1] || ''
- } else {
- tableStore.table.params.deviceTypeId = e[0] || ''
- tableStore.table.params.engineeringid = e[1] || ''
- tableStore.table.params.projectId = e[2] || ''
- tableStore.table.params.deviceId = e[3] || ''
- }
- }
-
- // tableStore.table.params.engineeringid = e[1] || ''
- // tableStore.table.params.projectId = e[2] || ''
- // const zlIndex = deviceTreeOptions.value.findIndex((item: any) => {
- // return item.name == '治理设备'
- // })
- // const bxsIndex = deviceTreeOptions.value.findIndex((item: any) => {
- // return item.name == '便携式设备'
- // })
-
- // console.log("🚀 ~ zlIndex ~ zlIndex:", zlIndex,bxsIndex)
-
- // //便携式设备特殊处理
- // if (bxsIndex != -1 && deviceTreeOptions.value[bxsIndex].id == e[0] && e.length == 2) {
- // tableStore.table.params.deviceId = e[1]
- // }
- // //治理设备
- // if (zlIndex != -1 && deviceTreeOptions.value[zlIndex].id == e[0]) {
- // tableStore.table.params.deviceId = e[2] || ''
- // }
+ tableStore.table.params.lineId = ''
}
+
+const sourceChange = (e: any) => {
+ onTreeClear()
+ if (e.level == 0) {
+ tableStore.table.params.engineeringid = e.id
+ } else if (e.level == 1) {
+ tableStore.table.params.projectId = e.id
+ } else if (e.level == 2) {
+ tableStore.table.params.deviceId = e.id
+ } else if (e.level == 3) {
+ tableStore.table.params.lineId = e.id
+ }
+}
+
const filterNode = createTreeFilterNode()
const onFilterConfirm = () => {
tableStore.onTableAction('search', {})
diff --git a/src/views/govern/alarm/index.vue b/src/views/govern/alarm/index.vue
index 21b4464..b186b26 100644
--- a/src/views/govern/alarm/index.vue
+++ b/src/views/govern/alarm/index.vue
@@ -5,7 +5,6 @@
@@ -14,13 +13,13 @@
-->
-
+
-
+
-
+
@@ -48,9 +47,8 @@ watch(activeName, val => {
}
})
getLineTree({ type: 'engineering' }).then(res => {
-
deviceTree.value = res.data
- key.value += 1
+
activeName.value = '4'
})
onMounted(() => {})
diff --git a/src/views/govern/device/control/tabs/components/waveFormAnalysis.vue b/src/views/govern/device/control/tabs/components/waveFormAnalysis.vue
index aeb009e..49880de 100644
--- a/src/views/govern/device/control/tabs/components/waveFormAnalysis.vue
+++ b/src/views/govern/device/control/tabs/components/waveFormAnalysis.vue
@@ -42,6 +42,7 @@ import rmsboxi from '@/components/echarts/rmsboxi.vue'
import MyEchart from '@/components/echarts/MyEchart.vue'
import { Platform, TrendCharts, DataLine, Back } from '@element-plus/icons-vue'
import { mainHeight } from '@/utils/layout'
+import { clearWaveCache } from '@/utils/waveCache'
const props = defineProps(['wp'])
const searchForm = ref({
type: 0
@@ -126,6 +127,7 @@ const handleClick = (tab: any, event: any) => {
}, 1000)
}
const handleBack = () => {
+ clearWaveCache()
emit('handleHideCharts')
}
const setHeight = (h: any, vh: any, num = 1) => {
diff --git a/src/views/govern/device/manage/index.vue b/src/views/govern/device/manage/index.vue
index 5c1baf2..3dbcc2f 100644
--- a/src/views/govern/device/manage/index.vue
+++ b/src/views/govern/device/manage/index.vue
@@ -31,7 +31,7 @@
- {{ deviceData.devAccessMethod =='CLD'?'1056协议':deviceData.devAccessMethod || '/' }}
+ {{ deviceData.devAccessMethod == 'CLD' ? '1056协议' : deviceData.devAccessMethod || '/' }}
{{ deviceData.ndid || '/' }}
@@ -309,7 +309,7 @@ const exportData = () => {
}
-
diff --git a/src/views/govern/manage/programVersion/index.vue b/src/views/govern/manage/programVersion/index.vue
index 9317a9d..be8b04b 100644
--- a/src/views/govern/manage/programVersion/index.vue
+++ b/src/views/govern/manage/programVersion/index.vue
@@ -84,7 +84,7 @@ const tableStore: any = new TableStore({
{ title: '协议版本', field: 'protocolVersion', minWidth: '100', formatter: (row: any) => { return row.cellValue || '/' } },
{ title: '版本日期', field: 'versionDate', minWidth: '150', formatter: (row: any) => { return row.cellValue || '/' } },
{ title: '设备型号', field: 'devModelName', minWidth: '120', formatter: (row: any) => { return row.cellValue || '/' } },
- { title: 'icd模型', field: 'icd', minWidth: '120', formatter: (row: any) => { return icdList.value.filter((item: any) => item.id == row.cellValue)[0]?.name || '/' } },
+ { title: 'icd模型', field: 'icd', minWidth: '120', formatter: (row: any) => { return icdList.value?.filter((item: any) => item.id == row.cellValue)[0]?.name || '/' } },
{ title: '所属工程', field: 'associatedEngineering', minWidth: '120', formatter: (row: any) => { return row.cellValue || '/' } },
{ title: '所属项目', field: 'associatedProject', minWidth: '120', formatter: (row: any) => { return row.cellValue || '/' } },
{
diff --git a/vite.config.ts b/vite.config.ts
index 9f2ea40..5ed7eb1 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -26,8 +26,8 @@ export default defineConfig({
// target: 'http://192.168.1.24:10215', //
// target: 'http://192.168.1.122:10215', //gfh
// target: 'http://192.168.1.127:10215', //cdf
- // target: 'http://192.168.1.125:10215',
target: 'http://192.168.1.103:10215',
+ // target: 'http://pqmcn.com:27707/api',
// target: 'https://pqmcn.com:8092/api', //治理
// target:'http://www.zhilitest.com:8089/api',
changeOrigin: true,
diff --git a/vite.config.ts.timestamp-1780969772831-8479154eaf9a9.mjs b/vite.config.ts.timestamp-1780969772831-8479154eaf9a9.mjs
deleted file mode 100644
index c2876af..0000000
--- a/vite.config.ts.timestamp-1780969772831-8479154eaf9a9.mjs
+++ /dev/null
@@ -1,119 +0,0 @@
-// vite.config.ts
-import { defineConfig } from "file:///D:/%E9%A1%B9%E7%9B%AE/%E7%81%BF%E8%83%BD/admin-govern/node_modules/.pnpm/vite@5.4.8_@types+node@20.16.9_sass@1.79.3/node_modules/vite/dist/node/index.js";
-import vue from "file:///D:/%E9%A1%B9%E7%9B%AE/%E7%81%BF%E8%83%BD/admin-govern/node_modules/.pnpm/@vitejs+plugin-vue@4.6.2_vite@5.4.8_vue@3.5.9/node_modules/@vitejs/plugin-vue/dist/index.mjs";
-import vueJsx from "file:///D:/%E9%A1%B9%E7%9B%AE/%E7%81%BF%E8%83%BD/admin-govern/node_modules/.pnpm/@vitejs+plugin-vue-jsx@3.1.0_vite@5.4.8_vue@3.5.9/node_modules/@vitejs/plugin-vue-jsx/dist/index.mjs";
-import path from "path";
-import AutoImport from "file:///D:/%E9%A1%B9%E7%9B%AE/%E7%81%BF%E8%83%BD/admin-govern/node_modules/.pnpm/unplugin-auto-import@0.16.7_@vueuse+core@10.11.1/node_modules/unplugin-auto-import/dist/vite.js";
-
-// src/components/icon/svg/index.ts
-import { readFileSync, readdirSync } from "fs";
-var idPerfix = "";
-var iconNames = [];
-var svgTitle = /", "");
- svgRes.push(svg);
- }
- }
- return svgRes;
-}
-var svgBuilder = (path2, perfix = "local") => {
- if (path2 === "") return;
- idPerfix = perfix;
- const res = findSvgFile(path2);
- return {
- name: "svg-transform",
- transformIndexHtml(html) {
- return html.replace(
- "",
- `
-
-
- `
- );
- }
- };
-};
-
-// vite.config.ts
-var __vite_injected_original_dirname = "D:\\\u9879\u76EE\\\u707F\u80FD\\admin-govern";
-var nodeResolve = (dir) => path.resolve(__vite_injected_original_dirname, ".", dir);
-var vite_config_default = defineConfig({
- plugins: [
- vue(),
- svgBuilder("./src/assets/icons/"),
- vueJsx(),
- AutoImport({
- //自动引入
- imports: ["vue", "vue-router", "pinia"]
- })
- ],
- server: {
- host: "0.0.0.0",
- open: true,
- proxy: {
- "/api": {
- // target: 'http://192.168.1.81:10215', //数据中心
- // target: 'http://192.168.1.24:10215', //
- // target: 'http://192.168.1.122:10215', //gfh
- // target: 'http://192.168.1.127:10215', //cdf
- // target: 'http://192.168.1.125:10215',
- target: "http://192.168.1.103:10215",
- // target: 'https://pqmcn.com:8092/api', //治理
- // target:'http://www.zhilitest.com:8089/api',
- changeOrigin: true,
- rewrite: (path2) => path2.replace(/^\/api/, "")
- //路径重写,把'/api'替换为''
- }
- }
- // port:'3000'
- },
- resolve: {
- alias: {
- "/@": nodeResolve("./src"),
- "@": nodeResolve("src"),
- "~": nodeResolve("public")
- }
- },
- build: {
- outDir: "dist",
- emptyOutDir: true
- // 构建前清空 dist
- }
-});
-export {
- vite_config_default as default
-};
-//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiLCAic3JjL2NvbXBvbmVudHMvaWNvbi9zdmcvaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJEOlxcXFxcdTk4NzlcdTc2RUVcXFxcXHU3MDdGXHU4MEZEXFxcXGFkbWluLWdvdmVyblwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiRDpcXFxcXHU5ODc5XHU3NkVFXFxcXFx1NzA3Rlx1ODBGRFxcXFxhZG1pbi1nb3Zlcm5cXFxcdml0ZS5jb25maWcudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0Q6LyVFOSVBMSVCOSVFNyU5QiVBRS8lRTclODElQkYlRTglODMlQkQvYWRtaW4tZ292ZXJuL3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSAndml0ZSdcbmltcG9ydCB2dWUgZnJvbSAnQHZpdGVqcy9wbHVnaW4tdnVlJ1xuaW1wb3J0IHZ1ZUpzeCBmcm9tICdAdml0ZWpzL3BsdWdpbi12dWUtanN4J1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcbmltcG9ydCBBdXRvSW1wb3J0IGZyb20gJ3VucGx1Z2luLWF1dG8taW1wb3J0L3ZpdGUnXG5pbXBvcnQgeyBzdmdCdWlsZGVyIH0gZnJvbSAnL0AvY29tcG9uZW50cy9pY29uL3N2Zy9pbmRleCdcblxuY29uc3Qgbm9kZVJlc29sdmUgPSAoZGlyOiBzdHJpbmcpID0+IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuJywgZGlyKVxuLy8gaHR0cHM6Ly92aXRlanMuZGV2L2NvbmZpZy9cbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZyh7XG4gICAgcGx1Z2luczogW1xuICAgICAgICB2dWUoKSxcbiAgICAgICAgc3ZnQnVpbGRlcignLi9zcmMvYXNzZXRzL2ljb25zLycpLFxuICAgICAgICB2dWVKc3goKSxcbiAgICAgICAgQXV0b0ltcG9ydCh7XG4gICAgICAgICAgICAvL1x1ODFFQVx1NTJBOFx1NUYxNVx1NTE2NVxuICAgICAgICAgICAgaW1wb3J0czogWyd2dWUnLCAndnVlLXJvdXRlcicsICdwaW5pYSddXG4gICAgICAgIH0pXG4gICAgXSxcbiAgICBzZXJ2ZXI6IHtcbiAgICAgICAgaG9zdDogJzAuMC4wLjAnLFxuICAgICAgICBvcGVuOiB0cnVlLFxuICAgICAgICBwcm94eToge1xuICAgICAgICAgICAgJy9hcGknOiB7XG4gICAgICAgICAgICAgICAgLy8gdGFyZ2V0OiAnaHR0cDovLzE5Mi4xNjguMS44MToxMDIxNScsIC8vXHU2NTcwXHU2MzZFXHU0RTJEXHU1RkMzXG4gICAgICAgICAgICAgICAgLy8gdGFyZ2V0OiAnaHR0cDovLzE5Mi4xNjguMS4yNDoxMDIxNScsIC8vXG4gICAgICAgICAgICAgICAgLy8gdGFyZ2V0OiAnaHR0cDovLzE5Mi4xNjguMS4xMjI6MTAyMTUnLCAvL2dmaFxuICAgICAgICAgICAgICAgIC8vIHRhcmdldDogJ2h0dHA6Ly8xOTIuMTY4LjEuMTI3OjEwMjE1JywgLy9jZGZcbiAgICAgICAgICAgICAgICAvLyB0YXJnZXQ6ICdodHRwOi8vMTkyLjE2OC4xLjEyNToxMDIxNScsXG4gICAgICAgICAgICAgICAgdGFyZ2V0OiAnaHR0cDovLzE5Mi4xNjguMS4xMDM6MTAyMTUnLFxuICAgICAgICAgICAgICAgIC8vIHRhcmdldDogJ2h0dHBzOi8vcHFtY24uY29tOjgwOTIvYXBpJywgLy9cdTZDQkJcdTc0MDZcbiAgICAgICAgICAgICAgICAvLyB0YXJnZXQ6J2h0dHA6Ly93d3cuemhpbGl0ZXN0LmNvbTo4MDg5L2FwaScsXG4gICAgICAgICAgICAgICAgY2hhbmdlT3JpZ2luOiB0cnVlLFxuICAgICAgICAgICAgICAgIHJld3JpdGU6IHBhdGggPT4gcGF0aC5yZXBsYWNlKC9eXFwvYXBpLywgJycpIC8vXHU4REVGXHU1Rjg0XHU5MUNEXHU1MTk5XHVGRjBDXHU2MjhBJy9hcGknXHU2NkZGXHU2MzYyXHU0RTNBJydcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBwb3J0OiczMDAwJ1xuICAgIH0sXG5cbiAgICByZXNvbHZlOiB7XG4gICAgICAgIGFsaWFzOiB7XG4gICAgICAgICAgICAnL0AnOiBub2RlUmVzb2x2ZSgnLi9zcmMnKSxcbiAgICAgICAgICAgICdAJzogbm9kZVJlc29sdmUoJ3NyYycpLFxuICAgICAgICAgICAgJ34nOiBub2RlUmVzb2x2ZSgncHVibGljJylcbiAgICAgICAgfVxuICAgIH0sXG4gICAgYnVpbGQ6IHtcbiAgICAgICAgb3V0RGlyOiAnZGlzdCcsXG4gICAgICAgIGVtcHR5T3V0RGlyOiB0cnVlIC8vIFx1Njc4NFx1NUVGQVx1NTI0RFx1NkUwNVx1N0E3QSBkaXN0XG4gICAgfVxufSlcbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiRDpcXFxcXHU5ODc5XHU3NkVFXFxcXFx1NzA3Rlx1ODBGRFxcXFxhZG1pbi1nb3Zlcm5cXFxcc3JjXFxcXGNvbXBvbmVudHNcXFxcaWNvblxcXFxzdmdcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkQ6XFxcXFx1OTg3OVx1NzZFRVxcXFxcdTcwN0ZcdTgwRkRcXFxcYWRtaW4tZ292ZXJuXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXGljb25cXFxcc3ZnXFxcXGluZGV4LnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9EOi8lRTklQTElQjklRTclOUIlQUUvJUU3JTgxJUJGJUU4JTgzJUJEL2FkbWluLWdvdmVybi9zcmMvY29tcG9uZW50cy9pY29uL3N2Zy9pbmRleC50c1wiO2ltcG9ydCB7IHJlYWRGaWxlU3luYywgcmVhZGRpclN5bmMgfSBmcm9tICdmcydcclxuXHJcbmxldCBpZFBlcmZpeCA9ICcnXHJcbmNvbnN0IGljb25OYW1lczogc3RyaW5nW10gPSBbXVxyXG5jb25zdCBzdmdUaXRsZSA9IC88c3ZnKFtePitdLio/KT4vXHJcbmNvbnN0IGNsZWFySGVpZ2h0V2lkdGggPSAvKHdpZHRofGhlaWdodCk9XCIoW14+K10uKj8pXCIvZ1xyXG5jb25zdCBoYXNWaWV3Qm94ID0gLyh2aWV3Qm94PVwiW14+K10uKj9cIikvZ1xyXG5jb25zdCBjbGVhclJldHVybiA9IC8oXFxyKXwoXFxuKS9nXHJcbi8vIFx1NkUwNVx1NzQwNiBzdmcgXHU3Njg0IGZpbGxcclxuY29uc3QgY2xlYXJGaWxsID0gLyhmaWxsPVwiW14+K10uKj9cIikvZ1xyXG5cclxuZnVuY3Rpb24gZmluZFN2Z0ZpbGUoZGlyOiBzdHJpbmcpOiBzdHJpbmdbXSB7XHJcbiAgICBjb25zdCBzdmdSZXMgPSBbXVxyXG4gICAgY29uc3QgZGlyZW50cyA9IHJlYWRkaXJTeW5jKGRpciwge1xyXG4gICAgICAgIHdpdGhGaWxlVHlwZXM6IHRydWUsXHJcbiAgICB9KVxyXG4gICAgZm9yIChjb25zdCBkaXJlbnQgb2YgZGlyZW50cykge1xyXG4gICAgICAgIGljb25OYW1lcy5wdXNoKGAke2lkUGVyZml4fS0ke2RpcmVudC5uYW1lLnJlcGxhY2UoJy5zdmcnLCAnJyl9YClcclxuICAgICAgICBpZiAoZGlyZW50LmlzRGlyZWN0b3J5KCkpIHtcclxuICAgICAgICAgICAgc3ZnUmVzLnB1c2goLi4uZmluZFN2Z0ZpbGUoZGlyICsgZGlyZW50Lm5hbWUgKyAnLycpKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN2ZyA9IHJlYWRGaWxlU3luYyhkaXIgKyBkaXJlbnQubmFtZSlcclxuICAgICAgICAgICAgICAgIC50b1N0cmluZygpXHJcbiAgICAgICAgICAgICAgICAucmVwbGFjZShjbGVhclJldHVybiwgJycpXHJcbiAgICAgICAgICAgICAgICAucmVwbGFjZShjbGVhckZpbGwsICdmaWxsPVwiXCInKVxyXG4gICAgICAgICAgICAgICAgLnJlcGxhY2Uoc3ZnVGl0bGUsICgkMSwgJDIpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgd2lkdGggPSAwXHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGhlaWdodCA9IDBcclxuICAgICAgICAgICAgICAgICAgICBsZXQgY29udGVudCA9ICQyLnJlcGxhY2UoY2xlYXJIZWlnaHRXaWR0aCwgKHMxOiBzdHJpbmcsIHMyOiBzdHJpbmcsIHMzOiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHMyID09PSAnd2lkdGgnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCA9IHMzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoczIgPT09ICdoZWlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQgPSBzM1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnJ1xyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFoYXNWaWV3Qm94LnRlc3QoJDIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYHZpZXdCb3g9XCIwIDAgJHt3aWR0aH0gJHtoZWlnaHR9XCJgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgPHN5bWJvbCBpZD1cIiR7aWRQZXJmaXh9LSR7ZGlyZW50Lm5hbWUucmVwbGFjZSgnLnN2ZycsICcnKX1cIiAke2NvbnRlbnR9PmBcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgnPC9zdmc+JywgJzwvc3ltYm9sPicpXHJcbiAgICAgICAgICAgIHN2Z1Jlcy5wdXNoKHN2ZylcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3ZnUmVzXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBzdmdCdWlsZGVyID0gKHBhdGg6IHN0cmluZywgcGVyZml4ID0gJ2xvY2FsJykgPT4ge1xyXG4gICAgaWYgKHBhdGggPT09ICcnKSByZXR1cm5cclxuICAgIGlkUGVyZml4ID0gcGVyZml4XHJcbiAgICBjb25zdCByZXMgPSBmaW5kU3ZnRmlsZShwYXRoKVxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBuYW1lOiAnc3ZnLXRyYW5zZm9ybScsXHJcbiAgICAgICAgdHJhbnNmb3JtSW5kZXhIdG1sKGh0bWw6IHN0cmluZykge1xyXG4gICAgICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xyXG4gICAgICAgICAgICByZXR1cm4gaHRtbC5yZXBsYWNlKFxyXG4gICAgICAgICAgICAgICAgJzxib2R5PicsXHJcbiAgICAgICAgICAgICAgICBgXHJcbiAgICAgICAgICAgICAgICA8Ym9keT5cclxuICAgICAgICAgICAgICAgIDxzdmcgaWQ9XCJsb2NhbC1pY29uXCIgZGF0YS1pY29uLW5hbWU9XCIke2ljb25OYW1lcy5qb2luKFxyXG4gICAgICAgICAgICAgICAgICAgICcsJ1xyXG4gICAgICAgICAgICAgICAgKX1cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAwOyBoZWlnaHQ6IDBcIj5cclxuICAgICAgICAgICAgICAgICR7cmVzLmpvaW4oJycpfVxyXG4gICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICBgXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLyogZXNsaW50LWVuYWJsZSAqL1xyXG4gICAgICAgIH0sXHJcbiAgICB9XHJcbn1cclxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUF5UixTQUFTLG9CQUFvQjtBQUN0VCxPQUFPLFNBQVM7QUFDaEIsT0FBTyxZQUFZO0FBQ25CLE9BQU8sVUFBVTtBQUNqQixPQUFPLGdCQUFnQjs7O0FDSnNVLFNBQVMsY0FBYyxtQkFBbUI7QUFFdlksSUFBSSxXQUFXO0FBQ2YsSUFBTSxZQUFzQixDQUFDO0FBQzdCLElBQU0sV0FBVztBQUNqQixJQUFNLG1CQUFtQjtBQUN6QixJQUFNLGFBQWE7QUFDbkIsSUFBTSxjQUFjO0FBRXBCLElBQU0sWUFBWTtBQUVsQixTQUFTLFlBQVksS0FBdUI7QUFDeEMsUUFBTSxTQUFTLENBQUM7QUFDaEIsUUFBTSxVQUFVLFlBQVksS0FBSztBQUFBLElBQzdCLGVBQWU7QUFBQSxFQUNuQixDQUFDO0FBQ0QsYUFBVyxVQUFVLFNBQVM7QUFDMUIsY0FBVSxLQUFLLEdBQUcsUUFBUSxJQUFJLE9BQU8sS0FBSyxRQUFRLFFBQVEsRUFBRSxDQUFDLEVBQUU7QUFDL0QsUUFBSSxPQUFPLFlBQVksR0FBRztBQUN0QixhQUFPLEtBQUssR0FBRyxZQUFZLE1BQU0sT0FBTyxPQUFPLEdBQUcsQ0FBQztBQUFBLElBQ3ZELE9BQU87QUFDSCxZQUFNLE1BQU0sYUFBYSxNQUFNLE9BQU8sSUFBSSxFQUNyQyxTQUFTLEVBQ1QsUUFBUSxhQUFhLEVBQUUsRUFDdkIsUUFBUSxXQUFXLFNBQVMsRUFDNUIsUUFBUSxVQUFVLENBQUMsSUFBSSxPQUFPO0FBQzNCLFlBQUksUUFBUTtBQUNaLFlBQUksU0FBUztBQUNiLFlBQUksVUFBVSxHQUFHLFFBQVEsa0JBQWtCLENBQUMsSUFBWSxJQUFZLE9BQWU7QUFDL0UsY0FBSSxPQUFPLFNBQVM7QUFDaEIsb0JBQVE7QUFBQSxVQUNaLFdBQVcsT0FBTyxVQUFVO0FBQ3hCLHFCQUFTO0FBQUEsVUFDYjtBQUNBLGlCQUFPO0FBQUEsUUFDWCxDQUFDO0FBQ0QsWUFBSSxDQUFDLFdBQVcsS0FBSyxFQUFFLEdBQUc7QUFDdEIscUJBQVcsZ0JBQWdCLEtBQUssSUFBSSxNQUFNO0FBQUEsUUFDOUM7QUFDQSxlQUFPLGVBQWUsUUFBUSxJQUFJLE9BQU8sS0FBSyxRQUFRLFFBQVEsRUFBRSxDQUFDLEtBQUssT0FBTztBQUFBLE1BQ2pGLENBQUMsRUFDQSxRQUFRLFVBQVUsV0FBVztBQUNsQyxhQUFPLEtBQUssR0FBRztBQUFBLElBQ25CO0FBQUEsRUFDSjtBQUNBLFNBQU87QUFDWDtBQUVPLElBQU0sYUFBYSxDQUFDQSxPQUFjLFNBQVMsWUFBWTtBQUMxRCxNQUFJQSxVQUFTLEdBQUk7QUFDakIsYUFBVztBQUNYLFFBQU0sTUFBTSxZQUFZQSxLQUFJO0FBQzVCLFNBQU87QUFBQSxJQUNILE1BQU07QUFBQSxJQUNOLG1CQUFtQixNQUFjO0FBRTdCLGFBQU8sS0FBSztBQUFBLFFBQ1I7QUFBQSxRQUNBO0FBQUE7QUFBQSx1REFFdUMsVUFBVTtBQUFBLFVBQzdDO0FBQUEsUUFDSixDQUFDO0FBQUEsa0JBQ0MsSUFBSSxLQUFLLEVBQUUsQ0FBQztBQUFBO0FBQUE7QUFBQSxNQUdsQjtBQUFBLElBRUo7QUFBQSxFQUNKO0FBQ0o7OztBRHRFQSxJQUFNLG1DQUFtQztBQU96QyxJQUFNLGNBQWMsQ0FBQyxRQUFnQixLQUFLLFFBQVEsa0NBQVcsS0FBSyxHQUFHO0FBRXJFLElBQU8sc0JBQVEsYUFBYTtBQUFBLEVBQ3hCLFNBQVM7QUFBQSxJQUNMLElBQUk7QUFBQSxJQUNKLFdBQVcscUJBQXFCO0FBQUEsSUFDaEMsT0FBTztBQUFBLElBQ1AsV0FBVztBQUFBO0FBQUEsTUFFUCxTQUFTLENBQUMsT0FBTyxjQUFjLE9BQU87QUFBQSxJQUMxQyxDQUFDO0FBQUEsRUFDTDtBQUFBLEVBQ0EsUUFBUTtBQUFBLElBQ0osTUFBTTtBQUFBLElBQ04sTUFBTTtBQUFBLElBQ04sT0FBTztBQUFBLE1BQ0gsUUFBUTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxRQU1KLFFBQVE7QUFBQTtBQUFBO0FBQUEsUUFHUixjQUFjO0FBQUEsUUFDZCxTQUFTLENBQUFDLFVBQVFBLE1BQUssUUFBUSxVQUFVLEVBQUU7QUFBQTtBQUFBLE1BQzlDO0FBQUEsSUFDSjtBQUFBO0FBQUEsRUFFSjtBQUFBLEVBRUEsU0FBUztBQUFBLElBQ0wsT0FBTztBQUFBLE1BQ0gsTUFBTSxZQUFZLE9BQU87QUFBQSxNQUN6QixLQUFLLFlBQVksS0FBSztBQUFBLE1BQ3RCLEtBQUssWUFBWSxRQUFRO0FBQUEsSUFDN0I7QUFBQSxFQUNKO0FBQUEsRUFDQSxPQUFPO0FBQUEsSUFDSCxRQUFRO0FBQUEsSUFDUixhQUFhO0FBQUE7QUFBQSxFQUNqQjtBQUNKLENBQUM7IiwKICAibmFtZXMiOiBbInBhdGgiLCAicGF0aCJdCn0K
diff --git a/vite.config.ts.timestamp-1781526221528-0257d9cd8498d.mjs b/vite.config.ts.timestamp-1781526221528-0257d9cd8498d.mjs
deleted file mode 100644
index c2876af..0000000
--- a/vite.config.ts.timestamp-1781526221528-0257d9cd8498d.mjs
+++ /dev/null
@@ -1,119 +0,0 @@
-// vite.config.ts
-import { defineConfig } from "file:///D:/%E9%A1%B9%E7%9B%AE/%E7%81%BF%E8%83%BD/admin-govern/node_modules/.pnpm/vite@5.4.8_@types+node@20.16.9_sass@1.79.3/node_modules/vite/dist/node/index.js";
-import vue from "file:///D:/%E9%A1%B9%E7%9B%AE/%E7%81%BF%E8%83%BD/admin-govern/node_modules/.pnpm/@vitejs+plugin-vue@4.6.2_vite@5.4.8_vue@3.5.9/node_modules/@vitejs/plugin-vue/dist/index.mjs";
-import vueJsx from "file:///D:/%E9%A1%B9%E7%9B%AE/%E7%81%BF%E8%83%BD/admin-govern/node_modules/.pnpm/@vitejs+plugin-vue-jsx@3.1.0_vite@5.4.8_vue@3.5.9/node_modules/@vitejs/plugin-vue-jsx/dist/index.mjs";
-import path from "path";
-import AutoImport from "file:///D:/%E9%A1%B9%E7%9B%AE/%E7%81%BF%E8%83%BD/admin-govern/node_modules/.pnpm/unplugin-auto-import@0.16.7_@vueuse+core@10.11.1/node_modules/unplugin-auto-import/dist/vite.js";
-
-// src/components/icon/svg/index.ts
-import { readFileSync, readdirSync } from "fs";
-var idPerfix = "";
-var iconNames = [];
-var svgTitle = /", "");
- svgRes.push(svg);
- }
- }
- return svgRes;
-}
-var svgBuilder = (path2, perfix = "local") => {
- if (path2 === "") return;
- idPerfix = perfix;
- const res = findSvgFile(path2);
- return {
- name: "svg-transform",
- transformIndexHtml(html) {
- return html.replace(
- "",
- `
-
-
- `
- );
- }
- };
-};
-
-// vite.config.ts
-var __vite_injected_original_dirname = "D:\\\u9879\u76EE\\\u707F\u80FD\\admin-govern";
-var nodeResolve = (dir) => path.resolve(__vite_injected_original_dirname, ".", dir);
-var vite_config_default = defineConfig({
- plugins: [
- vue(),
- svgBuilder("./src/assets/icons/"),
- vueJsx(),
- AutoImport({
- //自动引入
- imports: ["vue", "vue-router", "pinia"]
- })
- ],
- server: {
- host: "0.0.0.0",
- open: true,
- proxy: {
- "/api": {
- // target: 'http://192.168.1.81:10215', //数据中心
- // target: 'http://192.168.1.24:10215', //
- // target: 'http://192.168.1.122:10215', //gfh
- // target: 'http://192.168.1.127:10215', //cdf
- // target: 'http://192.168.1.125:10215',
- target: "http://192.168.1.103:10215",
- // target: 'https://pqmcn.com:8092/api', //治理
- // target:'http://www.zhilitest.com:8089/api',
- changeOrigin: true,
- rewrite: (path2) => path2.replace(/^\/api/, "")
- //路径重写,把'/api'替换为''
- }
- }
- // port:'3000'
- },
- resolve: {
- alias: {
- "/@": nodeResolve("./src"),
- "@": nodeResolve("src"),
- "~": nodeResolve("public")
- }
- },
- build: {
- outDir: "dist",
- emptyOutDir: true
- // 构建前清空 dist
- }
-});
-export {
- vite_config_default as default
-};
-//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiLCAic3JjL2NvbXBvbmVudHMvaWNvbi9zdmcvaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJEOlxcXFxcdTk4NzlcdTc2RUVcXFxcXHU3MDdGXHU4MEZEXFxcXGFkbWluLWdvdmVyblwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiRDpcXFxcXHU5ODc5XHU3NkVFXFxcXFx1NzA3Rlx1ODBGRFxcXFxhZG1pbi1nb3Zlcm5cXFxcdml0ZS5jb25maWcudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0Q6LyVFOSVBMSVCOSVFNyU5QiVBRS8lRTclODElQkYlRTglODMlQkQvYWRtaW4tZ292ZXJuL3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSAndml0ZSdcbmltcG9ydCB2dWUgZnJvbSAnQHZpdGVqcy9wbHVnaW4tdnVlJ1xuaW1wb3J0IHZ1ZUpzeCBmcm9tICdAdml0ZWpzL3BsdWdpbi12dWUtanN4J1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcbmltcG9ydCBBdXRvSW1wb3J0IGZyb20gJ3VucGx1Z2luLWF1dG8taW1wb3J0L3ZpdGUnXG5pbXBvcnQgeyBzdmdCdWlsZGVyIH0gZnJvbSAnL0AvY29tcG9uZW50cy9pY29uL3N2Zy9pbmRleCdcblxuY29uc3Qgbm9kZVJlc29sdmUgPSAoZGlyOiBzdHJpbmcpID0+IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuJywgZGlyKVxuLy8gaHR0cHM6Ly92aXRlanMuZGV2L2NvbmZpZy9cbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZyh7XG4gICAgcGx1Z2luczogW1xuICAgICAgICB2dWUoKSxcbiAgICAgICAgc3ZnQnVpbGRlcignLi9zcmMvYXNzZXRzL2ljb25zLycpLFxuICAgICAgICB2dWVKc3goKSxcbiAgICAgICAgQXV0b0ltcG9ydCh7XG4gICAgICAgICAgICAvL1x1ODFFQVx1NTJBOFx1NUYxNVx1NTE2NVxuICAgICAgICAgICAgaW1wb3J0czogWyd2dWUnLCAndnVlLXJvdXRlcicsICdwaW5pYSddXG4gICAgICAgIH0pXG4gICAgXSxcbiAgICBzZXJ2ZXI6IHtcbiAgICAgICAgaG9zdDogJzAuMC4wLjAnLFxuICAgICAgICBvcGVuOiB0cnVlLFxuICAgICAgICBwcm94eToge1xuICAgICAgICAgICAgJy9hcGknOiB7XG4gICAgICAgICAgICAgICAgLy8gdGFyZ2V0OiAnaHR0cDovLzE5Mi4xNjguMS44MToxMDIxNScsIC8vXHU2NTcwXHU2MzZFXHU0RTJEXHU1RkMzXG4gICAgICAgICAgICAgICAgLy8gdGFyZ2V0OiAnaHR0cDovLzE5Mi4xNjguMS4yNDoxMDIxNScsIC8vXG4gICAgICAgICAgICAgICAgLy8gdGFyZ2V0OiAnaHR0cDovLzE5Mi4xNjguMS4xMjI6MTAyMTUnLCAvL2dmaFxuICAgICAgICAgICAgICAgIC8vIHRhcmdldDogJ2h0dHA6Ly8xOTIuMTY4LjEuMTI3OjEwMjE1JywgLy9jZGZcbiAgICAgICAgICAgICAgICAvLyB0YXJnZXQ6ICdodHRwOi8vMTkyLjE2OC4xLjEyNToxMDIxNScsXG4gICAgICAgICAgICAgICAgdGFyZ2V0OiAnaHR0cDovLzE5Mi4xNjguMS4xMDM6MTAyMTUnLFxuICAgICAgICAgICAgICAgIC8vIHRhcmdldDogJ2h0dHBzOi8vcHFtY24uY29tOjgwOTIvYXBpJywgLy9cdTZDQkJcdTc0MDZcbiAgICAgICAgICAgICAgICAvLyB0YXJnZXQ6J2h0dHA6Ly93d3cuemhpbGl0ZXN0LmNvbTo4MDg5L2FwaScsXG4gICAgICAgICAgICAgICAgY2hhbmdlT3JpZ2luOiB0cnVlLFxuICAgICAgICAgICAgICAgIHJld3JpdGU6IHBhdGggPT4gcGF0aC5yZXBsYWNlKC9eXFwvYXBpLywgJycpIC8vXHU4REVGXHU1Rjg0XHU5MUNEXHU1MTk5XHVGRjBDXHU2MjhBJy9hcGknXHU2NkZGXHU2MzYyXHU0RTNBJydcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBwb3J0OiczMDAwJ1xuICAgIH0sXG5cbiAgICByZXNvbHZlOiB7XG4gICAgICAgIGFsaWFzOiB7XG4gICAgICAgICAgICAnL0AnOiBub2RlUmVzb2x2ZSgnLi9zcmMnKSxcbiAgICAgICAgICAgICdAJzogbm9kZVJlc29sdmUoJ3NyYycpLFxuICAgICAgICAgICAgJ34nOiBub2RlUmVzb2x2ZSgncHVibGljJylcbiAgICAgICAgfVxuICAgIH0sXG4gICAgYnVpbGQ6IHtcbiAgICAgICAgb3V0RGlyOiAnZGlzdCcsXG4gICAgICAgIGVtcHR5T3V0RGlyOiB0cnVlIC8vIFx1Njc4NFx1NUVGQVx1NTI0RFx1NkUwNVx1N0E3QSBkaXN0XG4gICAgfVxufSlcbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiRDpcXFxcXHU5ODc5XHU3NkVFXFxcXFx1NzA3Rlx1ODBGRFxcXFxhZG1pbi1nb3Zlcm5cXFxcc3JjXFxcXGNvbXBvbmVudHNcXFxcaWNvblxcXFxzdmdcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkQ6XFxcXFx1OTg3OVx1NzZFRVxcXFxcdTcwN0ZcdTgwRkRcXFxcYWRtaW4tZ292ZXJuXFxcXHNyY1xcXFxjb21wb25lbnRzXFxcXGljb25cXFxcc3ZnXFxcXGluZGV4LnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9EOi8lRTklQTElQjklRTclOUIlQUUvJUU3JTgxJUJGJUU4JTgzJUJEL2FkbWluLWdvdmVybi9zcmMvY29tcG9uZW50cy9pY29uL3N2Zy9pbmRleC50c1wiO2ltcG9ydCB7IHJlYWRGaWxlU3luYywgcmVhZGRpclN5bmMgfSBmcm9tICdmcydcclxuXHJcbmxldCBpZFBlcmZpeCA9ICcnXHJcbmNvbnN0IGljb25OYW1lczogc3RyaW5nW10gPSBbXVxyXG5jb25zdCBzdmdUaXRsZSA9IC88c3ZnKFtePitdLio/KT4vXHJcbmNvbnN0IGNsZWFySGVpZ2h0V2lkdGggPSAvKHdpZHRofGhlaWdodCk9XCIoW14+K10uKj8pXCIvZ1xyXG5jb25zdCBoYXNWaWV3Qm94ID0gLyh2aWV3Qm94PVwiW14+K10uKj9cIikvZ1xyXG5jb25zdCBjbGVhclJldHVybiA9IC8oXFxyKXwoXFxuKS9nXHJcbi8vIFx1NkUwNVx1NzQwNiBzdmcgXHU3Njg0IGZpbGxcclxuY29uc3QgY2xlYXJGaWxsID0gLyhmaWxsPVwiW14+K10uKj9cIikvZ1xyXG5cclxuZnVuY3Rpb24gZmluZFN2Z0ZpbGUoZGlyOiBzdHJpbmcpOiBzdHJpbmdbXSB7XHJcbiAgICBjb25zdCBzdmdSZXMgPSBbXVxyXG4gICAgY29uc3QgZGlyZW50cyA9IHJlYWRkaXJTeW5jKGRpciwge1xyXG4gICAgICAgIHdpdGhGaWxlVHlwZXM6IHRydWUsXHJcbiAgICB9KVxyXG4gICAgZm9yIChjb25zdCBkaXJlbnQgb2YgZGlyZW50cykge1xyXG4gICAgICAgIGljb25OYW1lcy5wdXNoKGAke2lkUGVyZml4fS0ke2RpcmVudC5uYW1lLnJlcGxhY2UoJy5zdmcnLCAnJyl9YClcclxuICAgICAgICBpZiAoZGlyZW50LmlzRGlyZWN0b3J5KCkpIHtcclxuICAgICAgICAgICAgc3ZnUmVzLnB1c2goLi4uZmluZFN2Z0ZpbGUoZGlyICsgZGlyZW50Lm5hbWUgKyAnLycpKVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN2ZyA9IHJlYWRGaWxlU3luYyhkaXIgKyBkaXJlbnQubmFtZSlcclxuICAgICAgICAgICAgICAgIC50b1N0cmluZygpXHJcbiAgICAgICAgICAgICAgICAucmVwbGFjZShjbGVhclJldHVybiwgJycpXHJcbiAgICAgICAgICAgICAgICAucmVwbGFjZShjbGVhckZpbGwsICdmaWxsPVwiXCInKVxyXG4gICAgICAgICAgICAgICAgLnJlcGxhY2Uoc3ZnVGl0bGUsICgkMSwgJDIpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgd2lkdGggPSAwXHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGhlaWdodCA9IDBcclxuICAgICAgICAgICAgICAgICAgICBsZXQgY29udGVudCA9ICQyLnJlcGxhY2UoY2xlYXJIZWlnaHRXaWR0aCwgKHMxOiBzdHJpbmcsIHMyOiBzdHJpbmcsIHMzOiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHMyID09PSAnd2lkdGgnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCA9IHMzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoczIgPT09ICdoZWlnaHQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQgPSBzM1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnJ1xyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFoYXNWaWV3Qm94LnRlc3QoJDIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYHZpZXdCb3g9XCIwIDAgJHt3aWR0aH0gJHtoZWlnaHR9XCJgXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgPHN5bWJvbCBpZD1cIiR7aWRQZXJmaXh9LSR7ZGlyZW50Lm5hbWUucmVwbGFjZSgnLnN2ZycsICcnKX1cIiAke2NvbnRlbnR9PmBcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgnPC9zdmc+JywgJzwvc3ltYm9sPicpXHJcbiAgICAgICAgICAgIHN2Z1Jlcy5wdXNoKHN2ZylcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3ZnUmVzXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBzdmdCdWlsZGVyID0gKHBhdGg6IHN0cmluZywgcGVyZml4ID0gJ2xvY2FsJykgPT4ge1xyXG4gICAgaWYgKHBhdGggPT09ICcnKSByZXR1cm5cclxuICAgIGlkUGVyZml4ID0gcGVyZml4XHJcbiAgICBjb25zdCByZXMgPSBmaW5kU3ZnRmlsZShwYXRoKVxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICBuYW1lOiAnc3ZnLXRyYW5zZm9ybScsXHJcbiAgICAgICAgdHJhbnNmb3JtSW5kZXhIdG1sKGh0bWw6IHN0cmluZykge1xyXG4gICAgICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xyXG4gICAgICAgICAgICByZXR1cm4gaHRtbC5yZXBsYWNlKFxyXG4gICAgICAgICAgICAgICAgJzxib2R5PicsXHJcbiAgICAgICAgICAgICAgICBgXHJcbiAgICAgICAgICAgICAgICA8Ym9keT5cclxuICAgICAgICAgICAgICAgIDxzdmcgaWQ9XCJsb2NhbC1pY29uXCIgZGF0YS1pY29uLW5hbWU9XCIke2ljb25OYW1lcy5qb2luKFxyXG4gICAgICAgICAgICAgICAgICAgICcsJ1xyXG4gICAgICAgICAgICAgICAgKX1cIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAwOyBoZWlnaHQ6IDBcIj5cclxuICAgICAgICAgICAgICAgICR7cmVzLmpvaW4oJycpfVxyXG4gICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICBgXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLyogZXNsaW50LWVuYWJsZSAqL1xyXG4gICAgICAgIH0sXHJcbiAgICB9XHJcbn1cclxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUF5UixTQUFTLG9CQUFvQjtBQUN0VCxPQUFPLFNBQVM7QUFDaEIsT0FBTyxZQUFZO0FBQ25CLE9BQU8sVUFBVTtBQUNqQixPQUFPLGdCQUFnQjs7O0FDSnNVLFNBQVMsY0FBYyxtQkFBbUI7QUFFdlksSUFBSSxXQUFXO0FBQ2YsSUFBTSxZQUFzQixDQUFDO0FBQzdCLElBQU0sV0FBVztBQUNqQixJQUFNLG1CQUFtQjtBQUN6QixJQUFNLGFBQWE7QUFDbkIsSUFBTSxjQUFjO0FBRXBCLElBQU0sWUFBWTtBQUVsQixTQUFTLFlBQVksS0FBdUI7QUFDeEMsUUFBTSxTQUFTLENBQUM7QUFDaEIsUUFBTSxVQUFVLFlBQVksS0FBSztBQUFBLElBQzdCLGVBQWU7QUFBQSxFQUNuQixDQUFDO0FBQ0QsYUFBVyxVQUFVLFNBQVM7QUFDMUIsY0FBVSxLQUFLLEdBQUcsUUFBUSxJQUFJLE9BQU8sS0FBSyxRQUFRLFFBQVEsRUFBRSxDQUFDLEVBQUU7QUFDL0QsUUFBSSxPQUFPLFlBQVksR0FBRztBQUN0QixhQUFPLEtBQUssR0FBRyxZQUFZLE1BQU0sT0FBTyxPQUFPLEdBQUcsQ0FBQztBQUFBLElBQ3ZELE9BQU87QUFDSCxZQUFNLE1BQU0sYUFBYSxNQUFNLE9BQU8sSUFBSSxFQUNyQyxTQUFTLEVBQ1QsUUFBUSxhQUFhLEVBQUUsRUFDdkIsUUFBUSxXQUFXLFNBQVMsRUFDNUIsUUFBUSxVQUFVLENBQUMsSUFBSSxPQUFPO0FBQzNCLFlBQUksUUFBUTtBQUNaLFlBQUksU0FBUztBQUNiLFlBQUksVUFBVSxHQUFHLFFBQVEsa0JBQWtCLENBQUMsSUFBWSxJQUFZLE9BQWU7QUFDL0UsY0FBSSxPQUFPLFNBQVM7QUFDaEIsb0JBQVE7QUFBQSxVQUNaLFdBQVcsT0FBTyxVQUFVO0FBQ3hCLHFCQUFTO0FBQUEsVUFDYjtBQUNBLGlCQUFPO0FBQUEsUUFDWCxDQUFDO0FBQ0QsWUFBSSxDQUFDLFdBQVcsS0FBSyxFQUFFLEdBQUc7QUFDdEIscUJBQVcsZ0JBQWdCLEtBQUssSUFBSSxNQUFNO0FBQUEsUUFDOUM7QUFDQSxlQUFPLGVBQWUsUUFBUSxJQUFJLE9BQU8sS0FBSyxRQUFRLFFBQVEsRUFBRSxDQUFDLEtBQUssT0FBTztBQUFBLE1BQ2pGLENBQUMsRUFDQSxRQUFRLFVBQVUsV0FBVztBQUNsQyxhQUFPLEtBQUssR0FBRztBQUFBLElBQ25CO0FBQUEsRUFDSjtBQUNBLFNBQU87QUFDWDtBQUVPLElBQU0sYUFBYSxDQUFDQSxPQUFjLFNBQVMsWUFBWTtBQUMxRCxNQUFJQSxVQUFTLEdBQUk7QUFDakIsYUFBVztBQUNYLFFBQU0sTUFBTSxZQUFZQSxLQUFJO0FBQzVCLFNBQU87QUFBQSxJQUNILE1BQU07QUFBQSxJQUNOLG1CQUFtQixNQUFjO0FBRTdCLGFBQU8sS0FBSztBQUFBLFFBQ1I7QUFBQSxRQUNBO0FBQUE7QUFBQSx1REFFdUMsVUFBVTtBQUFBLFVBQzdDO0FBQUEsUUFDSixDQUFDO0FBQUEsa0JBQ0MsSUFBSSxLQUFLLEVBQUUsQ0FBQztBQUFBO0FBQUE7QUFBQSxNQUdsQjtBQUFBLElBRUo7QUFBQSxFQUNKO0FBQ0o7OztBRHRFQSxJQUFNLG1DQUFtQztBQU96QyxJQUFNLGNBQWMsQ0FBQyxRQUFnQixLQUFLLFFBQVEsa0NBQVcsS0FBSyxHQUFHO0FBRXJFLElBQU8sc0JBQVEsYUFBYTtBQUFBLEVBQ3hCLFNBQVM7QUFBQSxJQUNMLElBQUk7QUFBQSxJQUNKLFdBQVcscUJBQXFCO0FBQUEsSUFDaEMsT0FBTztBQUFBLElBQ1AsV0FBVztBQUFBO0FBQUEsTUFFUCxTQUFTLENBQUMsT0FBTyxjQUFjLE9BQU87QUFBQSxJQUMxQyxDQUFDO0FBQUEsRUFDTDtBQUFBLEVBQ0EsUUFBUTtBQUFBLElBQ0osTUFBTTtBQUFBLElBQ04sTUFBTTtBQUFBLElBQ04sT0FBTztBQUFBLE1BQ0gsUUFBUTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxRQU1KLFFBQVE7QUFBQTtBQUFBO0FBQUEsUUFHUixjQUFjO0FBQUEsUUFDZCxTQUFTLENBQUFDLFVBQVFBLE1BQUssUUFBUSxVQUFVLEVBQUU7QUFBQTtBQUFBLE1BQzlDO0FBQUEsSUFDSjtBQUFBO0FBQUEsRUFFSjtBQUFBLEVBRUEsU0FBUztBQUFBLElBQ0wsT0FBTztBQUFBLE1BQ0gsTUFBTSxZQUFZLE9BQU87QUFBQSxNQUN6QixLQUFLLFlBQVksS0FBSztBQUFBLE1BQ3RCLEtBQUssWUFBWSxRQUFRO0FBQUEsSUFDN0I7QUFBQSxFQUNKO0FBQUEsRUFDQSxPQUFPO0FBQUEsSUFDSCxRQUFRO0FBQUEsSUFDUixhQUFhO0FBQUE7QUFBQSxFQUNqQjtBQUNKLENBQUM7IiwKICAibmFtZXMiOiBbInBhdGgiLCAicGF0aCJdCn0K