Merge branch 'main' into hc_zhufu
commit
231db028e7
BIN
public/del.png
BIN
public/del.png
Binary file not shown.
|
Before Width: | Height: | Size: 409 B After Width: | Height: | Size: 372 B |
BIN
public/point.png
BIN
public/point.png
Binary file not shown.
|
Before Width: | Height: | Size: 638 B After Width: | Height: | Size: 641 B |
|
|
@ -252,7 +252,7 @@ export function AddTable(params) {
|
||||||
dbColumnName: 'geom',
|
dbColumnName: 'geom',
|
||||||
dataType: 'geometry',
|
dataType: 'geometry',
|
||||||
length: 0,
|
length: 0,
|
||||||
columnDescription: 'geom',
|
columnDescription: '地图组件',
|
||||||
isNullable: 0,
|
isNullable: 0,
|
||||||
isIdentity: 0,
|
isIdentity: 0,
|
||||||
isPrimarykey: 0,
|
isPrimarykey: 0,
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@
|
||||||
formVerison: String,
|
formVerison: String,
|
||||||
formRelationId: String,
|
formRelationId: String,
|
||||||
flowFormData: Object,
|
flowFormData: Object,
|
||||||
|
instanceInfo: String,
|
||||||
});
|
});
|
||||||
props.formConfig.forEach((element) => {
|
props.formConfig.forEach((element) => {
|
||||||
element.componentProps.disabled = !element.disabled;
|
element.componentProps.disabled = !element.disabled;
|
||||||
|
|
@ -44,10 +45,11 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
async function getFormDetail() {
|
async function getFormDetail() {
|
||||||
|
var instance = JSON.parse(props.instanceInfo);
|
||||||
const querys = {
|
const querys = {
|
||||||
id: props.formVerison,
|
id: props.formVerison,
|
||||||
key: keyValue.value,
|
key: keyValue.value,
|
||||||
keyValue: props.processId,
|
keyValue: instance.pkeyValue,
|
||||||
};
|
};
|
||||||
const data = await functionGetFormDataFormScheme(querys);
|
const data = await functionGetFormDataFormScheme(querys);
|
||||||
let obj = new Object();
|
let obj = new Object();
|
||||||
|
|
|
||||||
|
|
@ -93,12 +93,10 @@
|
||||||
let nextMapControl: Array<any> = reactive([]);
|
let nextMapControl: Array<any> = reactive([]);
|
||||||
nextMapControl = props.control
|
nextMapControl = props.control
|
||||||
? props.control.map((item) => {
|
? props.control.map((item) => {
|
||||||
console.log('item::: ', item);
|
|
||||||
return MapControlConfig[item];
|
return MapControlConfig[item];
|
||||||
})
|
})
|
||||||
: [];
|
: [];
|
||||||
|
|
||||||
console.log('nextMapControl::: ', nextMapControl);
|
|
||||||
|
|
||||||
// 定义地图容器
|
// 定义地图容器
|
||||||
let map: Map;
|
let map: Map;
|
||||||
|
|
@ -141,12 +139,10 @@
|
||||||
|
|
||||||
// 设置绘图监听事件
|
// 设置绘图监听事件
|
||||||
map.on("draw.create", function (e) {
|
map.on("draw.create", function (e) {
|
||||||
console.log(e);
|
|
||||||
drawGeojson.geojson = e.features[0]
|
drawGeojson.geojson = e.features[0]
|
||||||
});
|
});
|
||||||
|
|
||||||
map.on("draw.update", function (e) {
|
map.on("draw.update", function (e) {
|
||||||
console.log(e);
|
|
||||||
drawGeojson.geojson = e.features[0]
|
drawGeojson.geojson = e.features[0]
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -265,7 +261,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
const handlerCopyFeature = () => {
|
const handlerCopyFeature = () => {
|
||||||
console.log("selectFeature",selectFeature);
|
|
||||||
popup.remove();
|
popup.remove();
|
||||||
createMessage.success("复制成功!")
|
createMessage.success("复制成功!")
|
||||||
}
|
}
|
||||||
|
|
@ -297,7 +292,6 @@
|
||||||
|
|
||||||
// 图层控制中心
|
// 图层控制中心
|
||||||
const handlerLayerControler = (layerInfo)=>{
|
const handlerLayerControler = (layerInfo)=>{
|
||||||
console.log("layerinfoinfo",layerInfo)
|
|
||||||
if(map.getSource(layerInfo.layer.id)){
|
if(map.getSource(layerInfo.layer.id)){
|
||||||
if(layerInfo.checked){
|
if(layerInfo.checked){
|
||||||
map.setLayoutProperty(layerInfo.layer.id, "visibility", "visible");
|
map.setLayoutProperty(layerInfo.layer.id, "visibility", "visible");
|
||||||
|
|
@ -320,7 +314,6 @@
|
||||||
// 图斑属性查看
|
// 图斑属性查看
|
||||||
const handlerPreviewFeatureInfo = (e) => {
|
const handlerPreviewFeatureInfo = (e) => {
|
||||||
if(e.features){
|
if(e.features){
|
||||||
console.log("EEEEEEE",e.features[0].layer.id,e.features[0].properties);
|
|
||||||
isOpen.value = true;
|
isOpen.value = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -413,23 +406,32 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
const handlerDraw = (feature=null) =>{
|
const handlerDraw = (feature=null) =>{
|
||||||
let featureTemp = feature? WktToGeojson(feature): '';
|
|
||||||
console.log("传入的WKT:::",featureTemp);
|
|
||||||
|
|
||||||
|
|
||||||
let geo = {
|
let geo = {};
|
||||||
type: "FeatureCollection",
|
|
||||||
features: [
|
if(feature==null){
|
||||||
{
|
geo = {
|
||||||
"id": "cd1d93c0e4a6747ff597f190c311d0e3",
|
type: "FeatureCollection",
|
||||||
"type": "Feature",
|
features: [],
|
||||||
"properties": {},
|
}
|
||||||
"geometry": featureTemp
|
}else{
|
||||||
|
let featureTemp = WktToGeojson(feature);
|
||||||
|
geo = {
|
||||||
|
type: "FeatureCollection",
|
||||||
|
features: [
|
||||||
|
{
|
||||||
|
"id": "cd1d93c0e4a6747ff597f190c311d0e3",
|
||||||
|
"type": "Feature",
|
||||||
|
"properties": {},
|
||||||
|
"geometry": featureTemp
|
||||||
|
}
|
||||||
|
],
|
||||||
}
|
}
|
||||||
],
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
console.log("geo",geo);
|
|
||||||
handlerInitDrawTool(geo)
|
handlerInitDrawTool(geo)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<<<<<<< HEAD
|
|
||||||
<a-drawer class="right-show-info" placement="right" :open="isOpen" @close="handlerClose">
|
|
||||||
=======
|
|
||||||
<a-drawer class="right-show-info" placement="right" :open="open" @close="() => (open = false)">
|
<a-drawer class="right-show-info" placement="right" :open="open" @close="() => (open = false)">
|
||||||
>>>>>>> 2aed0750b8d9679d2f0bc47b0c629ecf78313c2c
|
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<div class="tag"></div>
|
<div class="tag"></div>
|
||||||
<div class="title-text">操作</div>
|
<div class="title-text">操作</div>
|
||||||
|
|
@ -20,27 +16,9 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
<<<<<<< HEAD
|
|
||||||
import { ref,defineProps,defineEmits } from "vue"
|
|
||||||
import './index.scss'
|
|
||||||
|
|
||||||
const props = defineProps({
|
|
||||||
isOpen:{
|
|
||||||
type:Boolean,
|
|
||||||
default:false
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
const emits = defineEmits(['handlerClose'])
|
|
||||||
|
|
||||||
const handlerClose = () => {
|
|
||||||
emits("handlerClose",false)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
=======
|
|
||||||
import { ref, defineProps, watch } from 'vue';
|
import { ref, defineProps, watch } from 'vue';
|
||||||
import './index.scss';
|
import './index.scss';
|
||||||
|
|
||||||
const open = ref(true);
|
const open = ref(true);
|
||||||
const props = defineProps(['openModal']);
|
const props = defineProps(['openModal']);
|
||||||
watch(
|
watch(
|
||||||
|
|
@ -49,7 +27,6 @@ const handlerClose = () => {
|
||||||
open.value = newValue;
|
open.value = newValue;
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
>>>>>>> 2aed0750b8d9679d2f0bc47b0c629ecf78313c2c
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,7 @@
|
||||||
|
|
||||||
// 图斑数据
|
// 图斑数据
|
||||||
// const feature ="LINESTRING (118.55483239594203 35.81329409678203, 118.54889167836416 35.806406839795216, 118.55647247134772 35.80285975465173, 118.56157492816281 35.803303140294986)"
|
// const feature ="LINESTRING (118.55483239594203 35.81329409678203, 118.54889167836416 35.806406839795216, 118.55647247134772 35.80285975465173, 118.56157492816281 35.803303140294986)"
|
||||||
const feature = "POLYGON ((118.54774514802972 35.80786133598188, 118.54515277045988 35.79816597053564, 118.55919536113471 35.80085134034624, 118.56021460056033 35.80462789316549, 118.5595188628206 35.80695604583504, 118.5580066425723 35.80815336506183, 118.54774514802972 35.80786133598188))"
|
// const feature = "POLYGON ((118.54774514802972 35.80786133598188, 118.54515277045988 35.79816597053564, 118.55919536113471 35.80085134034624, 118.56021460056033 35.80462789316549, 118.5595188628206 35.80695604583504, 118.5580066425723 35.80815336506183, 118.54774514802972 35.80786133598188))"
|
||||||
// 绘图完成返回geom
|
// 绘图完成返回geom
|
||||||
const handlerDrawComplete = (geom)=>{
|
const handlerDrawComplete = (geom)=>{
|
||||||
console.log("绘制完成返回的图斑",geom);
|
console.log("绘制完成返回的图斑",geom);
|
||||||
|
|
@ -84,7 +84,7 @@
|
||||||
// 添加图斑
|
// 添加图斑
|
||||||
// MapboxComponent.value.handlerDraw()
|
// MapboxComponent.value.handlerDraw()
|
||||||
// 编辑图斑
|
// 编辑图斑
|
||||||
MapboxComponent.value.handlerDraw(feature)
|
MapboxComponent.value.handlerDraw()
|
||||||
},3000)
|
},3000)
|
||||||
|
|
||||||
// 图斑定位
|
// 图斑定位
|
||||||
|
|
|
||||||
|
|
@ -13,25 +13,54 @@
|
||||||
>
|
>
|
||||||
<FormItem label="地图宽度">
|
<FormItem label="地图宽度">
|
||||||
<a-input-number
|
<a-input-number
|
||||||
v-model:value="formConfig.mapSetData.width"
|
v-model:value="formConfig.currentItem.mapSetData.width"
|
||||||
placeholder="请输入地图宽度"
|
placeholder="请输入地图宽度"
|
||||||
:min="1"
|
:min="1"
|
||||||
:max="100"
|
:max="100"
|
||||||
defaultValue="100"
|
|
||||||
>
|
>
|
||||||
<template #addonAfter><PercentageOutlined /></template>
|
<template #addonAfter><PercentageOutlined /></template>
|
||||||
</a-input-number>
|
</a-input-number>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<!-- <FormItem label="选择图层">
|
<!-- <FormItem label="选择图层">
|
||||||
|
<a-select
|
||||||
|
v-model:value="formConfig.currentItem.mapSetData.chooseLayer"
|
||||||
|
:options="options"
|
||||||
|
mode="tags"
|
||||||
|
size="middle"
|
||||||
|
placeholder="请选择图层"
|
||||||
|
/>
|
||||||
|
</FormItem>
|
||||||
|
<FormItem label="图层字段解析">
|
||||||
|
<FormItem label="GID字段">
|
||||||
|
<a-input
|
||||||
|
v-model:value="formConfig.currentItem.mapSetData.layerFields.gidField"
|
||||||
|
placeholder="请输入GID字段"
|
||||||
|
/>
|
||||||
|
</FormItem> -->
|
||||||
|
<FormItem label="标注字段">
|
||||||
|
<a-select
|
||||||
|
v-model:value="formConfig.currentItem.mapSetData.layerFields.labelField"
|
||||||
|
:options="formConfig.currentItem.mapSetData.layerFields.labelFieldOptions"
|
||||||
|
size="middle"
|
||||||
|
placeholder="请选择标注字段"
|
||||||
|
/>
|
||||||
|
</FormItem>
|
||||||
|
<!--
|
||||||
|
<FormItem label="geom字段">
|
||||||
|
<a-input
|
||||||
|
v-model:value="formConfig.currentItem.mapSetData.layerFields.geomField"
|
||||||
|
placeholder="请输入geom字段"
|
||||||
|
/>
|
||||||
|
</FormItem>
|
||||||
</FormItem> -->
|
</FormItem> -->
|
||||||
<FormItem label="是否允许添加图斑">
|
<FormItem label="是否允许添加图斑">
|
||||||
<Switch v-model:checked="formConfig.mapSetData.isAllowAddPolygon" />
|
<Switch v-model:checked="formConfig.currentItem.mapSetData.isAllowAddPolygon" />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem label="是否允许编辑图斑">
|
<FormItem label="是否允许编辑图斑">
|
||||||
<Switch v-model:checked="formConfig.mapSetData.isAllowEditPolygon" />
|
<Switch v-model:checked="formConfig.currentItem.mapSetData.isAllowEditPolygon" />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem label="是否开启位置跳转">
|
<FormItem label="是否开启位置跳转">
|
||||||
<Switch v-model:checked="formConfig.mapSetData.isEnablePostionJump" />
|
<Switch v-model:checked="formConfig.currentItem.mapSetData.isEnablePostionJump" />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
</Form>
|
</Form>
|
||||||
<Form v-else label-align="left" layout="vertical">
|
<Form v-else label-align="left" layout="vertical">
|
||||||
|
|
@ -111,6 +140,8 @@
|
||||||
|
|
||||||
const { formConfig } = useFormDesignState();
|
const { formConfig } = useFormDesignState();
|
||||||
|
|
||||||
|
const options = [...Array(25)].map((_, i) => ({ value: (i + 10).toString(36) + (i + 1) }));
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
() => formConfig.value,
|
() => formConfig.value,
|
||||||
() => {
|
() => {
|
||||||
|
|
@ -120,7 +151,15 @@
|
||||||
formConfig.value.currentItem.itemProps.labelCol || {};
|
formConfig.value.currentItem.itemProps.labelCol || {};
|
||||||
formConfig.value.currentItem.itemProps.wrapperCol =
|
formConfig.value.currentItem.itemProps.wrapperCol =
|
||||||
formConfig.value.currentItem.itemProps.wrapperCol || {};
|
formConfig.value.currentItem.itemProps.wrapperCol || {};
|
||||||
formConfig.value.mapSetData = formConfig.value.mapSetData || {};
|
if (formConfig.value.currentItem.field == 'MapGeom') {
|
||||||
|
formConfig.value.currentItem.mapSetData = formConfig.value.currentItem.mapSetData || {
|
||||||
|
width: 100,
|
||||||
|
layerFields: {},
|
||||||
|
isAllowAddPolygon: false,
|
||||||
|
isAllowEditPolygon: false,
|
||||||
|
isEnablePostionJump: false,
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ deep: true, immediate: true },
|
{ deep: true, immediate: true },
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
<TabPane :key="3" tab="栅格">
|
<TabPane :key="3" tab="栅格">
|
||||||
<ComponentColumnProps />
|
<ComponentColumnProps />
|
||||||
</TabPane>
|
</TabPane>
|
||||||
<TabPane :key="4" tab="组件">
|
<TabPane :key="4" tab="组件" v-if="formType_design < 2">
|
||||||
<slot v-if="slotProps" :name="slotProps.component + 'Props'"></slot>
|
<slot v-if="slotProps" :name="slotProps.component + 'Props'"></slot>
|
||||||
<ComponentProps v-else />
|
<ComponentProps v-else />
|
||||||
</TabPane>
|
</TabPane>
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { computed, defineComponent } from 'vue';
|
import { computed, defineComponent, ref, watch, inject } from 'vue';
|
||||||
import FormProps from '../components/FormProps.vue';
|
import FormProps from '../components/FormProps.vue';
|
||||||
import FormItemProps from '../components/FormItemProps.vue';
|
import FormItemProps from '../components/FormItemProps.vue';
|
||||||
import ComponentProps from '../components/ComponentProps.vue';
|
import ComponentProps from '../components/ComponentProps.vue';
|
||||||
|
|
@ -52,7 +52,16 @@
|
||||||
// );
|
// );
|
||||||
});
|
});
|
||||||
// return { formConfig, customComponents, slotProps };
|
// return { formConfig, customComponents, slotProps };
|
||||||
return { formConfig, slotProps };
|
const thisFormType: any = inject('thisFormType');
|
||||||
|
const formType_design = ref();
|
||||||
|
watch(
|
||||||
|
() => thisFormType,
|
||||||
|
() => {
|
||||||
|
formType_design.value = thisFormType.value?.info?.formType | 0;
|
||||||
|
},
|
||||||
|
{ deep: true, immediate: true },
|
||||||
|
);
|
||||||
|
return { formConfig, slotProps, formType_design };
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -26,8 +26,7 @@
|
||||||
|
|
||||||
<!-- 部分控件需要一个空div -->
|
<!-- 部分控件需要一个空div -->
|
||||||
<div>
|
<div>
|
||||||
<img
|
<Divider
|
||||||
src="/mars/img/onlineform/map.png"
|
|
||||||
v-if="schema.field == 'MapGeom'"
|
v-if="schema.field == 'MapGeom'"
|
||||||
class="v-form-item-wrapper"
|
class="v-form-item-wrapper"
|
||||||
:defaultValue="schema.defaultValue"
|
:defaultValue="schema.defaultValue"
|
||||||
|
|
@ -36,7 +35,9 @@
|
||||||
style="width: 100%; height: 10%"
|
style="width: 100%; height: 10%"
|
||||||
@change="handleChange"
|
@change="handleChange"
|
||||||
@click="handleClick(schema)"
|
@click="handleClick(schema)"
|
||||||
/>
|
>
|
||||||
|
地图组件
|
||||||
|
</Divider>
|
||||||
<component
|
<component
|
||||||
v-else
|
v-else
|
||||||
class="v-form-item-wrapper"
|
class="v-form-item-wrapper"
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,38 @@ export type PropsTabKey = 1 | 2 | 3;
|
||||||
type ColSpanType = number | string;
|
type ColSpanType = number | string;
|
||||||
|
|
||||||
declare type Value = [number, number] | number;
|
declare type Value = [number, number] | number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 图层字段
|
||||||
|
*/
|
||||||
|
export interface LayerFields {
|
||||||
|
// GID字段
|
||||||
|
gidField?: string;
|
||||||
|
// 标注字段
|
||||||
|
labelField?: string;
|
||||||
|
// geom字段
|
||||||
|
geomField?: string;
|
||||||
|
// 标注字段options
|
||||||
|
labelFieldOptions?: any[];
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 地图属性
|
||||||
|
*/
|
||||||
|
export interface MapComponent {
|
||||||
|
// 地图宽度
|
||||||
|
width?: number;
|
||||||
|
// 选择图层
|
||||||
|
chooseLayer?: any[];
|
||||||
|
// 图层字段解析
|
||||||
|
layerFields: LayerFields;
|
||||||
|
// 是否允许添加图斑
|
||||||
|
isAllowAddPolygon?: boolean;
|
||||||
|
// 是否允许编辑图斑
|
||||||
|
isAllowEditPolygon?: boolean;
|
||||||
|
// 是否开启位置跳转
|
||||||
|
isEnablePostionJump?: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 组件属性
|
* 组件属性
|
||||||
*/
|
*/
|
||||||
|
|
@ -70,37 +102,8 @@ export interface IVFormComponent {
|
||||||
wrapperCol?: IAnyObject;
|
wrapperCol?: IAnyObject;
|
||||||
// 子控件
|
// 子控件
|
||||||
columns?: Array<{ span: number; children: any[] }>;
|
columns?: Array<{ span: number; children: any[] }>;
|
||||||
}
|
// 地图数据
|
||||||
|
mapSetData?: MapComponent;
|
||||||
/**
|
|
||||||
* 图层字段
|
|
||||||
*/
|
|
||||||
export interface LayerFields {
|
|
||||||
// GID字段
|
|
||||||
gidField?: string;
|
|
||||||
// 标注字段
|
|
||||||
labelField?: string;
|
|
||||||
// geom字段
|
|
||||||
geomField?: string;
|
|
||||||
// 标注字段options
|
|
||||||
labelFieldOptions?: any[];
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* 地图属性
|
|
||||||
*/
|
|
||||||
export interface MapComponent {
|
|
||||||
// 地图宽度
|
|
||||||
width?: string;
|
|
||||||
// 选择图层
|
|
||||||
chooseLayer: string;
|
|
||||||
// 图层字段解析
|
|
||||||
layerFields?: LayerFields;
|
|
||||||
// 是否允许添加图斑
|
|
||||||
isAllowAddPolygon?: boolean;
|
|
||||||
// 是否允许编辑图斑
|
|
||||||
isAllowEditPolygon?: boolean;
|
|
||||||
// 是否开启位置跳转
|
|
||||||
isEnablePostionJump?: boolean;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
declare type namesType = string | string[];
|
declare type namesType = string | string[];
|
||||||
|
|
@ -129,7 +132,6 @@ export interface IFormConfig extends PickAntFormConfig {
|
||||||
activeKey?: PropsTabKey;
|
activeKey?: PropsTabKey;
|
||||||
status?: string;
|
status?: string;
|
||||||
defaultValue?: string;
|
defaultValue?: string;
|
||||||
mapSetData?: MapComponent;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface AForm {
|
export interface AForm {
|
||||||
|
|
|
||||||
|
|
@ -180,7 +180,6 @@
|
||||||
schemeId: designerData.formCurrentNode.formVerison,
|
schemeId: designerData.formCurrentNode.formVerison,
|
||||||
isUpdate: props.isUpdate,
|
isUpdate: props.isUpdate,
|
||||||
pkey: keyValue.value,
|
pkey: keyValue.value,
|
||||||
pkeyValue: processId,
|
|
||||||
};
|
};
|
||||||
// 有表单内容,先存表单信息
|
// 有表单内容,先存表单信息
|
||||||
if (formVisble.value) {
|
if (formVisble.value) {
|
||||||
|
|
@ -190,19 +189,31 @@
|
||||||
formBoxRef.value
|
formBoxRef.value
|
||||||
.getForm()
|
.getForm()
|
||||||
.then(async (res) => {
|
.then(async (res) => {
|
||||||
res[designerData.formCurrentNode.formRelationId] = processId;
|
if (!props.isUpdate) {
|
||||||
|
res[designerData.formCurrentNode.formRelationId] = processId;
|
||||||
|
querys.pkeyValue = processId;
|
||||||
|
}
|
||||||
for (var item in res) {
|
for (var item in res) {
|
||||||
|
console.log(res[item]);
|
||||||
if (res[item] == undefined) {
|
if (res[item] == undefined) {
|
||||||
res[item] = '';
|
res[item] = '';
|
||||||
if (item.search('_input_guid') != -1) {
|
if (item.search('_input_guid') != -1 && !props.isUpdate) {
|
||||||
res[item] = buildGUID();
|
res[item] = buildGUID();
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
if (props.isUpdate) {
|
||||||
|
if (item.search('_input_guid') != -1) {
|
||||||
|
console.log(res[item]);
|
||||||
|
querys.pkeyValue = res[item];
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
querys.data = JSON.stringify(res);
|
querys.data = JSON.stringify(res);
|
||||||
|
console.log(querys);
|
||||||
const formValue = await functionsaveForm(querys);
|
const formValue = await functionsaveForm(querys);
|
||||||
if (formValue) {
|
if (formValue) {
|
||||||
handleCreateFlow(processId);
|
handleCreateFlow(processId, querys.pkeyValue);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
|
|
@ -214,12 +225,18 @@
|
||||||
handleCreateFlow(processId);
|
handleCreateFlow(processId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
async function handleCreateFlow(processId) {
|
async function handleCreateFlow(processId, pkeyValue) {
|
||||||
|
var commit = {
|
||||||
|
schemeId: designerData.formCurrentNode.formVerison,
|
||||||
|
pkey: keyValue.value,
|
||||||
|
pkeyValue: pkeyValue ? pkeyValue : processId,
|
||||||
|
};
|
||||||
var querys = {
|
var querys = {
|
||||||
schemeCode: designerData.isDraft ? '' : props.code,
|
schemeCode: designerData.isDraft ? '' : props.code,
|
||||||
userId: formData.userId,
|
userId: formData.userId,
|
||||||
title: formData.title,
|
title: formData.title,
|
||||||
processId: processId,
|
processId: processId,
|
||||||
|
InstanceInfo: JSON.stringify(commit),
|
||||||
};
|
};
|
||||||
if (!designerData.isDraft) {
|
if (!designerData.isDraft) {
|
||||||
await saveDraft(querys);
|
await saveDraft(querys);
|
||||||
|
|
|
||||||
|
|
@ -392,6 +392,7 @@
|
||||||
openModal(true, toProps);
|
openModal(true, toProps);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
flowFormData.value = {};
|
||||||
previewOpen.value = true;
|
previewOpen.value = true;
|
||||||
isUpdate.value = false;
|
isUpdate.value = false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,7 @@
|
||||||
ref="modalDesign_config"
|
ref="modalDesign_config"
|
||||||
:modalFormVerison="modalFormVerison"
|
:modalFormVerison="modalFormVerison"
|
||||||
:editData="editData"
|
:editData="editData"
|
||||||
|
:isEdit="isEdit"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -39,13 +39,19 @@
|
||||||
type: Object,
|
type: Object,
|
||||||
default: () => ({}),
|
default: () => ({}),
|
||||||
},
|
},
|
||||||
|
isEdit: {
|
||||||
|
type: Boolean,
|
||||||
|
default: () => false,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
watch(
|
watch(
|
||||||
() => props.modalFormVerison,
|
() => props.modalFormVerison,
|
||||||
(newVal, oldVal) => {
|
(newVal, oldVal) => {
|
||||||
if (newVal != oldVal) {
|
if (newVal != oldVal) {
|
||||||
validateSteps(newVal);
|
if (typeof newVal == 'string') {
|
||||||
|
validateSteps(newVal);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
@ -236,9 +242,14 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
// 编辑时的先前内容
|
// 编辑时的先前内容
|
||||||
if (props.editData.formEdit) {
|
if (props.isEdit) {
|
||||||
if (props.editData.record.formVerison === formVerison) {
|
if (
|
||||||
|
(typeof props.editData.record.formVerison == 'string'
|
||||||
|
? props.editData.record.formVerison
|
||||||
|
: props.editData.record.formVerison.value) === formVerison
|
||||||
|
) {
|
||||||
const editDataScheme = JSON.parse(props.editData.record.scheme);
|
const editDataScheme = JSON.parse(props.editData.record.scheme);
|
||||||
|
|
||||||
// 布局
|
// 布局
|
||||||
config.value.layoutType = editDataScheme.layoutType;
|
config.value.layoutType = editDataScheme.layoutType;
|
||||||
// 查询设置-风格
|
// 查询设置-风格
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@
|
||||||
@ok="modalSubmit"
|
@ok="modalSubmit"
|
||||||
title="选择表单"
|
title="选择表单"
|
||||||
width="60%"
|
width="60%"
|
||||||
height="750"
|
|
||||||
useWrapper="false"
|
useWrapper="false"
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@
|
||||||
<AutomaticModal
|
<AutomaticModal
|
||||||
@register="automaticModal"
|
@register="automaticModal"
|
||||||
:isAddVisible="isAddVisible"
|
:isAddVisible="isAddVisible"
|
||||||
@automaticModalSubmitsuccess="automaticModalSubmitsuccess"
|
@automatic-modal-submitsuccess="automaticModalSubmitsuccess"
|
||||||
/>
|
/>
|
||||||
</BasicModal>
|
</BasicModal>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -81,7 +81,7 @@
|
||||||
const emit = defineEmits(['submitsuccess']);
|
const emit = defineEmits(['submitsuccess']);
|
||||||
let isAddVisible = ref();
|
let isAddVisible = ref();
|
||||||
|
|
||||||
let formScheme = ref();
|
let formScheme: any = ref({ info: {}, scheme: {} });
|
||||||
|
|
||||||
let saveFormDatas: any = ref({});
|
let saveFormDatas: any = ref({});
|
||||||
const primaryKey: any = ref();
|
const primaryKey: any = ref();
|
||||||
|
|
@ -89,6 +89,10 @@
|
||||||
'handleNextStepsData',
|
'handleNextStepsData',
|
||||||
computed(() => saveFormDatas.value),
|
computed(() => saveFormDatas.value),
|
||||||
);
|
);
|
||||||
|
provide(
|
||||||
|
'thisFormType',
|
||||||
|
computed(() => saveFormDatas.value),
|
||||||
|
);
|
||||||
|
|
||||||
function designSendGrandson(value) {
|
function designSendGrandson(value) {
|
||||||
let designTab = JSON.parse(value);
|
let designTab = JSON.parse(value);
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,7 @@
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
const emit = defineEmits(['automaticModalSubmitsuccess']);
|
const emit = defineEmits(['automatic-modal-submitsuccess']);
|
||||||
let saveFormDatas;
|
let saveFormDatas;
|
||||||
|
|
||||||
const labelCol = { span: 7 };
|
const labelCol = { span: 7 };
|
||||||
|
|
@ -129,7 +129,7 @@
|
||||||
// 获取db
|
// 获取db
|
||||||
if (!props.isAddVisible) {
|
if (!props.isAddVisible) {
|
||||||
let query: any = { id: data.saveFormDatas.info.id };
|
let query: any = { id: data.saveFormDatas.info.id };
|
||||||
let result = await functionGetForm(query);
|
let result: any = await functionGetForm(query);
|
||||||
let result_json = JSON.parse(result.scheme.scheme);
|
let result_json = JSON.parse(result.scheme.scheme);
|
||||||
let data_json = JSON.parse(data.saveFormDatas.scheme.scheme);
|
let data_json = JSON.parse(data.saveFormDatas.scheme.scheme);
|
||||||
data_json.db = result_json.db;
|
data_json.db = result_json.db;
|
||||||
|
|
@ -213,7 +213,7 @@
|
||||||
});
|
});
|
||||||
saveFormDatas.scheme.scheme = JSON.stringify(schems);
|
saveFormDatas.scheme.scheme = JSON.stringify(schems);
|
||||||
|
|
||||||
emit('automaticModalSubmitsuccess', saveFormDatas);
|
emit('automatic-modal-submitsuccess', saveFormDatas);
|
||||||
closeModal();
|
closeModal();
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -166,11 +166,18 @@
|
||||||
designerData.delegateUsers = data;
|
designerData.delegateUsers = data;
|
||||||
}
|
}
|
||||||
async function handleSaveDraft() {
|
async function handleSaveDraft() {
|
||||||
|
var processId = buildGUID();
|
||||||
|
var commit = {
|
||||||
|
schemeId: designerData.formCurrentNode.formVerison,
|
||||||
|
pkey: keyValue.value,
|
||||||
|
pkeyValue: processId,
|
||||||
|
};
|
||||||
var querys = {
|
var querys = {
|
||||||
schemeCode: designerData.isDraft ? '' : props.code,
|
schemeCode: designerData.isDraft ? '' : props.code,
|
||||||
userId: formData.userId,
|
userId: formData.userId,
|
||||||
title: formData.title,
|
title: formData.title,
|
||||||
processId: buildGUID(),
|
processId: processId,
|
||||||
|
InstanceInfo: JSON.stringify(commit),
|
||||||
};
|
};
|
||||||
const data = await saveDraft(querys);
|
const data = await saveDraft(querys);
|
||||||
querys.schemeCode = '';
|
querys.schemeCode = '';
|
||||||
|
|
@ -184,6 +191,7 @@
|
||||||
}
|
}
|
||||||
function handleSubmit() {
|
function handleSubmit() {
|
||||||
var processId = buildGUID();
|
var processId = buildGUID();
|
||||||
|
|
||||||
var querys = {
|
var querys = {
|
||||||
schemeId: designerData.formCurrentNode.formVerison,
|
schemeId: designerData.formCurrentNode.formVerison,
|
||||||
isUpdate: false,
|
isUpdate: false,
|
||||||
|
|
@ -223,11 +231,17 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
async function handleCreateFlow(processId) {
|
async function handleCreateFlow(processId) {
|
||||||
|
var commit = {
|
||||||
|
schemeId: designerData.formCurrentNode.formVerison,
|
||||||
|
pkey: keyValue.value,
|
||||||
|
pkeyValue: processId,
|
||||||
|
};
|
||||||
var querys = {
|
var querys = {
|
||||||
schemeCode: designerData.isDraft ? '' : props.code,
|
schemeCode: designerData.isDraft ? '' : props.code,
|
||||||
userId: formData.userId,
|
userId: formData.userId,
|
||||||
title: formData.title,
|
title: formData.title,
|
||||||
processId: processId,
|
processId: processId,
|
||||||
|
InstanceInfo: JSON.stringify(commit),
|
||||||
};
|
};
|
||||||
if (!designerData.isDraft) {
|
if (!designerData.isDraft) {
|
||||||
await saveDraft(querys);
|
await saveDraft(querys);
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@
|
||||||
:processId="designerData.process.id"
|
:processId="designerData.process.id"
|
||||||
:formVerison="designerData.formCurrentNode.formVerison"
|
:formVerison="designerData.formCurrentNode.formVerison"
|
||||||
:formRelationId="designerData.formCurrentNode.formRelationId"
|
:formRelationId="designerData.formCurrentNode.formRelationId"
|
||||||
|
:instanceInfo="designerData.process.instanceInfo"
|
||||||
v-if="formVisble"
|
v-if="formVisble"
|
||||||
/>
|
/>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@
|
||||||
:processId="designerData.process.id"
|
:processId="designerData.process.id"
|
||||||
:formVerison="designerData.formCurrentNode.formVerison"
|
:formVerison="designerData.formCurrentNode.formVerison"
|
||||||
:formRelationId="designerData.formCurrentNode.formRelationId"
|
:formRelationId="designerData.formCurrentNode.formRelationId"
|
||||||
|
:instanceInfo="designerData.process.instanceInfo"
|
||||||
v-if="formVisble"
|
v-if="formVisble"
|
||||||
/>
|
/>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,66 @@
|
||||||
|
// vite.config.ts
|
||||||
|
import { defineApplicationConfig } from "file:///E:/%E6%96%B0%E6%9E%B6%E6%9E%84%E9%A1%B9%E7%9B%AE/%E8%B4%A2%E6%BA%90%E4%B8%80%E4%BD%93%E5%8C%96/mian/CaiYuanYiTiHua/internal/vite-config/dist/index.mjs";
|
||||||
|
var vite_config_default = defineApplicationConfig({
|
||||||
|
overrides: {
|
||||||
|
optimizeDeps: {
|
||||||
|
include: [
|
||||||
|
"echarts/core",
|
||||||
|
"echarts/charts",
|
||||||
|
"echarts/components",
|
||||||
|
"echarts/renderers",
|
||||||
|
"qrcode",
|
||||||
|
"@iconify/iconify",
|
||||||
|
"ant-design-vue/es/locale/zh_CN",
|
||||||
|
"ant-design-vue/es/locale/en_US",
|
||||||
|
"@/../lib/vform/designer.umd.js"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
build: {
|
||||||
|
/* 其他build生产打包配置省略 */
|
||||||
|
//...
|
||||||
|
target: "esnext",
|
||||||
|
commonjsOptions: {
|
||||||
|
include: /node_modules|lib/
|
||||||
|
//这里记得把lib目录加进来,否则生产打包会报错!!
|
||||||
|
}
|
||||||
|
},
|
||||||
|
server: {
|
||||||
|
proxy: {
|
||||||
|
"/basic-api": {
|
||||||
|
target: "http://localhost:3000",
|
||||||
|
changeOrigin: true,
|
||||||
|
ws: true,
|
||||||
|
rewrite: (path) => path.replace(new RegExp(`^/basic-api`), "")
|
||||||
|
// only https
|
||||||
|
// secure: false
|
||||||
|
},
|
||||||
|
"/upload": {
|
||||||
|
target: "http://localhost:3300/upload",
|
||||||
|
changeOrigin: true,
|
||||||
|
ws: true,
|
||||||
|
rewrite: (path) => path.replace(new RegExp(`^/upload`), "")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
warmup: {
|
||||||
|
clientFiles: ["./index.html", "./src/{views,components}/*"]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
define: {
|
||||||
|
"process.env": {
|
||||||
|
BASE_URL: "/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
css: {
|
||||||
|
preprocessorOptions: {
|
||||||
|
less: {
|
||||||
|
javascriptEnabled: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
plugins: []
|
||||||
|
}
|
||||||
|
});
|
||||||
|
export {
|
||||||
|
vite_config_default as default
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJFOlxcXFxcdTY1QjBcdTY3QjZcdTY3ODRcdTk4NzlcdTc2RUVcXFxcXHU4RDIyXHU2RTkwXHU0RTAwXHU0RjUzXHU1MzE2XFxcXG1pYW5cXFxcQ2FpWXVhbllpVGlIdWFcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkU6XFxcXFx1NjVCMFx1NjdCNlx1Njc4NFx1OTg3OVx1NzZFRVxcXFxcdThEMjJcdTZFOTBcdTRFMDBcdTRGNTNcdTUzMTZcXFxcbWlhblxcXFxDYWlZdWFuWWlUaUh1YVxcXFx2aXRlLmNvbmZpZy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRTovJUU2JTk2JUIwJUU2JTlFJUI2JUU2JTlFJTg0JUU5JUExJUI5JUU3JTlCJUFFLyVFOCVCNCVBMiVFNiVCQSU5MCVFNCVCOCU4MCVFNCVCRCU5MyVFNSU4QyU5Ni9taWFuL0NhaVl1YW5ZaVRpSHVhL3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHsgZGVmaW5lQXBwbGljYXRpb25Db25maWcgfSBmcm9tICdAdmJlbi92aXRlLWNvbmZpZyc7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZUFwcGxpY2F0aW9uQ29uZmlnKHtcbiAgb3ZlcnJpZGVzOiB7XG4gICAgb3B0aW1pemVEZXBzOiB7XG4gICAgICBpbmNsdWRlOiBbXG4gICAgICAgICdlY2hhcnRzL2NvcmUnLFxuICAgICAgICAnZWNoYXJ0cy9jaGFydHMnLFxuICAgICAgICAnZWNoYXJ0cy9jb21wb25lbnRzJyxcbiAgICAgICAgJ2VjaGFydHMvcmVuZGVyZXJzJyxcbiAgICAgICAgJ3FyY29kZScsXG4gICAgICAgICdAaWNvbmlmeS9pY29uaWZ5JyxcbiAgICAgICAgJ2FudC1kZXNpZ24tdnVlL2VzL2xvY2FsZS96aF9DTicsXG4gICAgICAgICdhbnQtZGVzaWduLXZ1ZS9lcy9sb2NhbGUvZW5fVVMnLFxuICAgICAgICAnQC8uLi9saWIvdmZvcm0vZGVzaWduZXIudW1kLmpzJyxcbiAgICAgIF0sXG4gICAgfSxcbiAgICBidWlsZDoge1xuICAgICAgLyogXHU1MTc2XHU0RUQ2YnVpbGRcdTc1MUZcdTRFQTdcdTYyNTNcdTUzMDVcdTkxNERcdTdGNkVcdTc3MDFcdTc1NjUgKi9cbiAgICAgIC8vLi4uXG4gICAgICB0YXJnZXQ6ICdlc25leHQnLFxuICAgICAgY29tbW9uanNPcHRpb25zOiB7XG4gICAgICAgIGluY2x1ZGU6IC9ub2RlX21vZHVsZXN8bGliLywgLy9cdThGRDlcdTkxQ0NcdThCQjBcdTVGOTdcdTYyOEFsaWJcdTc2RUVcdTVGNTVcdTUyQTBcdThGREJcdTY3NjVcdUZGMENcdTU0MjZcdTUyMTlcdTc1MUZcdTRFQTdcdTYyNTNcdTUzMDVcdTRGMUFcdTYyQTVcdTk1MTlcdUZGMDFcdUZGMDFcbiAgICAgIH0sXG4gICAgfSxcbiAgICBzZXJ2ZXI6IHtcbiAgICAgIHByb3h5OiB7XG4gICAgICAgICcvYmFzaWMtYXBpJzoge1xuICAgICAgICAgIHRhcmdldDogJ2h0dHA6Ly9sb2NhbGhvc3Q6MzAwMCcsXG4gICAgICAgICAgY2hhbmdlT3JpZ2luOiB0cnVlLFxuICAgICAgICAgIHdzOiB0cnVlLFxuICAgICAgICAgIHJld3JpdGU6IChwYXRoKSA9PiBwYXRoLnJlcGxhY2UobmV3IFJlZ0V4cChgXi9iYXNpYy1hcGlgKSwgJycpLFxuICAgICAgICAgIC8vIG9ubHkgaHR0cHNcbiAgICAgICAgICAvLyBzZWN1cmU6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgICcvdXBsb2FkJzoge1xuICAgICAgICAgIHRhcmdldDogJ2h0dHA6Ly9sb2NhbGhvc3Q6MzMwMC91cGxvYWQnLFxuICAgICAgICAgIGNoYW5nZU9yaWdpbjogdHJ1ZSxcbiAgICAgICAgICB3czogdHJ1ZSxcbiAgICAgICAgICByZXdyaXRlOiAocGF0aCkgPT4gcGF0aC5yZXBsYWNlKG5ldyBSZWdFeHAoYF4vdXBsb2FkYCksICcnKSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB3YXJtdXA6IHtcbiAgICAgICAgY2xpZW50RmlsZXM6IFsnLi9pbmRleC5odG1sJywgJy4vc3JjL3t2aWV3cyxjb21wb25lbnRzfS8qJ10sXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGVmaW5lOiB7XG4gICAgICAncHJvY2Vzcy5lbnYnOiB7XG4gICAgICAgIEJBU0VfVVJMOiAnLycsXG4gICAgICB9LFxuICAgIH0sXG4gICAgY3NzOiB7XG4gICAgICBwcmVwcm9jZXNzb3JPcHRpb25zOiB7XG4gICAgICAgIGxlc3M6IHtcbiAgICAgICAgICBqYXZhc2NyaXB0RW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBwbHVnaW5zOiBbXSxcbiAgfSxcbn0pO1xuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUFrWCxTQUFTLCtCQUErQjtBQUUxWixJQUFPLHNCQUFRLHdCQUF3QjtBQUFBLEVBQ3JDLFdBQVc7QUFBQSxJQUNULGNBQWM7QUFBQSxNQUNaLFNBQVM7QUFBQSxRQUNQO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLElBQ0EsT0FBTztBQUFBO0FBQUE7QUFBQSxNQUdMLFFBQVE7QUFBQSxNQUNSLGlCQUFpQjtBQUFBLFFBQ2YsU0FBUztBQUFBO0FBQUEsTUFDWDtBQUFBLElBQ0Y7QUFBQSxJQUNBLFFBQVE7QUFBQSxNQUNOLE9BQU87QUFBQSxRQUNMLGNBQWM7QUFBQSxVQUNaLFFBQVE7QUFBQSxVQUNSLGNBQWM7QUFBQSxVQUNkLElBQUk7QUFBQSxVQUNKLFNBQVMsQ0FBQyxTQUFTLEtBQUssUUFBUSxJQUFJLE9BQU8sYUFBYSxHQUFHLEVBQUU7QUFBQTtBQUFBO0FBQUEsUUFHL0Q7QUFBQSxRQUNBLFdBQVc7QUFBQSxVQUNULFFBQVE7QUFBQSxVQUNSLGNBQWM7QUFBQSxVQUNkLElBQUk7QUFBQSxVQUNKLFNBQVMsQ0FBQyxTQUFTLEtBQUssUUFBUSxJQUFJLE9BQU8sVUFBVSxHQUFHLEVBQUU7QUFBQSxRQUM1RDtBQUFBLE1BQ0Y7QUFBQSxNQUNBLFFBQVE7QUFBQSxRQUNOLGFBQWEsQ0FBQyxnQkFBZ0IsNEJBQTRCO0FBQUEsTUFDNUQ7QUFBQSxJQUNGO0FBQUEsSUFDQSxRQUFRO0FBQUEsTUFDTixlQUFlO0FBQUEsUUFDYixVQUFVO0FBQUEsTUFDWjtBQUFBLElBQ0Y7QUFBQSxJQUNBLEtBQUs7QUFBQSxNQUNILHFCQUFxQjtBQUFBLFFBQ25CLE1BQU07QUFBQSxVQUNKLG1CQUFtQjtBQUFBLFFBQ3JCO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxJQUNBLFNBQVMsQ0FBQztBQUFBLEVBQ1o7QUFDRixDQUFDOyIsCiAgIm5hbWVzIjogW10KfQo=
|
||||||
Loading…
Reference in New Issue