Merge branch 'main' of http://123.132.248.154:10000/HC_YFZX/CaiYuanYiTiHua
commit
eb73b3c4eb
|
|
@ -252,7 +252,7 @@ export function AddTable(params) {
|
|||
dbColumnName: 'geom',
|
||||
dataType: 'geometry',
|
||||
length: 0,
|
||||
columnDescription: 'geom',
|
||||
columnDescription: '地图组件',
|
||||
isNullable: 0,
|
||||
isIdentity: 0,
|
||||
isPrimarykey: 0,
|
||||
|
|
@ -272,3 +272,34 @@ export function AddColumn(params) {
|
|||
params,
|
||||
});
|
||||
}
|
||||
|
||||
// 获取表单分页数据 【先不写】
|
||||
export function functionGetFormDataPage(params: AccountParams) {
|
||||
return defHttp.post<FromSchemandAndInfoModel>({
|
||||
url: Api.GetFormDataPage,
|
||||
params,
|
||||
});
|
||||
}
|
||||
// 获取表单分页数据【先不写】
|
||||
export function functionGetFormDataList(params: AccountParams) {
|
||||
return defHttp.post<FromSchemandAndInfoModel>({
|
||||
url: Api.GetFormDataList,
|
||||
params,
|
||||
});
|
||||
}
|
||||
|
||||
// 获取表单数据【先不写】
|
||||
export function functionGetFormDataFormScheme(params: AccountParams) {
|
||||
return defHttp.get<FromSchemandAndInfoModel>({
|
||||
url: Api.GetFormDataFormScheme,
|
||||
params,
|
||||
});
|
||||
}
|
||||
|
||||
// 保存自定表单数据【先不写】
|
||||
export function functionsaveForm(params: AccountParams) {
|
||||
return defHttp.post<FromSchemandAndInfoModel>({
|
||||
url: Api.saveForm,
|
||||
params,
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
formVerison: String,
|
||||
formRelationId: String,
|
||||
flowFormData: Object,
|
||||
instanceInfo: String,
|
||||
});
|
||||
props.formConfig.forEach((element) => {
|
||||
element.componentProps.disabled = !element.disabled;
|
||||
|
|
@ -44,10 +45,11 @@
|
|||
}
|
||||
}
|
||||
async function getFormDetail() {
|
||||
var instance = JSON.parse(props.instanceInfo);
|
||||
const querys = {
|
||||
id: props.formVerison,
|
||||
key: keyValue.value,
|
||||
keyValue: props.processId,
|
||||
keyValue: instance.pkeyValue,
|
||||
};
|
||||
const data = await functionGetFormDataFormScheme(querys);
|
||||
let obj = new Object();
|
||||
|
|
|
|||
|
|
@ -13,25 +13,54 @@
|
|||
>
|
||||
<FormItem label="地图宽度">
|
||||
<a-input-number
|
||||
v-model:value="formConfig.mapSetData.width"
|
||||
v-model:value="formConfig.currentItem.mapSetData.width"
|
||||
placeholder="请输入地图宽度"
|
||||
:min="1"
|
||||
:max="100"
|
||||
defaultValue="100"
|
||||
>
|
||||
<template #addonAfter><PercentageOutlined /></template>
|
||||
</a-input-number>
|
||||
</FormItem>
|
||||
<!-- <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 label="是否允许添加图斑">
|
||||
<Switch v-model:checked="formConfig.mapSetData.isAllowAddPolygon" />
|
||||
<Switch v-model:checked="formConfig.currentItem.mapSetData.isAllowAddPolygon" />
|
||||
</FormItem>
|
||||
<FormItem label="是否允许编辑图斑">
|
||||
<Switch v-model:checked="formConfig.mapSetData.isAllowEditPolygon" />
|
||||
<Switch v-model:checked="formConfig.currentItem.mapSetData.isAllowEditPolygon" />
|
||||
</FormItem>
|
||||
<FormItem label="是否开启位置跳转">
|
||||
<Switch v-model:checked="formConfig.mapSetData.isEnablePostionJump" />
|
||||
<Switch v-model:checked="formConfig.currentItem.mapSetData.isEnablePostionJump" />
|
||||
</FormItem>
|
||||
</Form>
|
||||
<Form v-else label-align="left" layout="vertical">
|
||||
|
|
@ -111,6 +140,8 @@
|
|||
|
||||
const { formConfig } = useFormDesignState();
|
||||
|
||||
const options = [...Array(25)].map((_, i) => ({ value: (i + 10).toString(36) + (i + 1) }));
|
||||
|
||||
watch(
|
||||
() => formConfig.value,
|
||||
() => {
|
||||
|
|
@ -120,7 +151,15 @@
|
|||
formConfig.value.currentItem.itemProps.labelCol || {};
|
||||
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 },
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
<TabPane :key="3" tab="栅格">
|
||||
<ComponentColumnProps />
|
||||
</TabPane>
|
||||
<TabPane :key="4" tab="组件">
|
||||
<TabPane :key="4" tab="组件" v-if="formType_design < 2">
|
||||
<slot v-if="slotProps" :name="slotProps.component + 'Props'"></slot>
|
||||
<ComponentProps v-else />
|
||||
</TabPane>
|
||||
|
|
@ -21,7 +21,7 @@
|
|||
</div>
|
||||
</template>
|
||||
<script lang="ts">
|
||||
import { computed, defineComponent } from 'vue';
|
||||
import { computed, defineComponent, ref, watch, inject } from 'vue';
|
||||
import FormProps from '../components/FormProps.vue';
|
||||
import FormItemProps from '../components/FormItemProps.vue';
|
||||
import ComponentProps from '../components/ComponentProps.vue';
|
||||
|
|
@ -52,7 +52,16 @@
|
|||
// );
|
||||
});
|
||||
// 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>
|
||||
|
|
|
|||
|
|
@ -26,8 +26,7 @@
|
|||
|
||||
<!-- 部分控件需要一个空div -->
|
||||
<div>
|
||||
<img
|
||||
src="/mars/img/onlineform/map.png"
|
||||
<Divider
|
||||
v-if="schema.field == 'MapGeom'"
|
||||
class="v-form-item-wrapper"
|
||||
:defaultValue="schema.defaultValue"
|
||||
|
|
@ -36,7 +35,9 @@
|
|||
style="width: 100%; height: 10%"
|
||||
@change="handleChange"
|
||||
@click="handleClick(schema)"
|
||||
/>
|
||||
>
|
||||
地图组件
|
||||
</Divider>
|
||||
<component
|
||||
v-else
|
||||
class="v-form-item-wrapper"
|
||||
|
|
|
|||
|
|
@ -15,6 +15,38 @@ export type PropsTabKey = 1 | 2 | 3;
|
|||
type ColSpanType = number | string;
|
||||
|
||||
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;
|
||||
// 子控件
|
||||
columns?: Array<{ span: number; children: any[] }>;
|
||||
}
|
||||
|
||||
/**
|
||||
* 图层字段
|
||||
*/
|
||||
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;
|
||||
// 地图数据
|
||||
mapSetData?: MapComponent;
|
||||
}
|
||||
|
||||
declare type namesType = string | string[];
|
||||
|
|
@ -129,7 +132,6 @@ export interface IFormConfig extends PickAntFormConfig {
|
|||
activeKey?: PropsTabKey;
|
||||
status?: string;
|
||||
defaultValue?: string;
|
||||
mapSetData?: MapComponent;
|
||||
}
|
||||
|
||||
export interface AForm {
|
||||
|
|
|
|||
|
|
@ -180,7 +180,6 @@
|
|||
schemeId: designerData.formCurrentNode.formVerison,
|
||||
isUpdate: props.isUpdate,
|
||||
pkey: keyValue.value,
|
||||
pkeyValue: processId,
|
||||
};
|
||||
// 有表单内容,先存表单信息
|
||||
if (formVisble.value) {
|
||||
|
|
@ -190,19 +189,31 @@
|
|||
formBoxRef.value
|
||||
.getForm()
|
||||
.then(async (res) => {
|
||||
res[designerData.formCurrentNode.formRelationId] = processId;
|
||||
if (!props.isUpdate) {
|
||||
res[designerData.formCurrentNode.formRelationId] = processId;
|
||||
querys.pkeyValue = processId;
|
||||
}
|
||||
for (var item in res) {
|
||||
console.log(res[item]);
|
||||
if (res[item] == undefined) {
|
||||
res[item] = '';
|
||||
if (item.search('_input_guid') != -1) {
|
||||
if (item.search('_input_guid') != -1 && !props.isUpdate) {
|
||||
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);
|
||||
console.log(querys);
|
||||
const formValue = await functionsaveForm(querys);
|
||||
if (formValue) {
|
||||
handleCreateFlow(processId);
|
||||
handleCreateFlow(processId, querys.pkeyValue);
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
|
|
@ -214,12 +225,18 @@
|
|||
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 = {
|
||||
schemeCode: designerData.isDraft ? '' : props.code,
|
||||
userId: formData.userId,
|
||||
title: formData.title,
|
||||
processId: processId,
|
||||
InstanceInfo: JSON.stringify(commit),
|
||||
};
|
||||
if (!designerData.isDraft) {
|
||||
await saveDraft(querys);
|
||||
|
|
|
|||
|
|
@ -317,6 +317,7 @@
|
|||
btnList: btnList.value,
|
||||
});
|
||||
} else {
|
||||
flowFormData.value = {};
|
||||
previewOpen.value = true;
|
||||
isUpdate.value = false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@
|
|||
ref="modalDesign_config"
|
||||
:modalFormVerison="modalFormVerison"
|
||||
:editData="editData"
|
||||
:isEdit="isEdit"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -39,13 +39,19 @@
|
|||
type: Object,
|
||||
default: () => ({}),
|
||||
},
|
||||
isEdit: {
|
||||
type: Boolean,
|
||||
default: () => false,
|
||||
},
|
||||
});
|
||||
|
||||
watch(
|
||||
() => props.modalFormVerison,
|
||||
(newVal, oldVal) => {
|
||||
if (newVal != oldVal) {
|
||||
validateSteps(newVal);
|
||||
if (typeof newVal == 'string') {
|
||||
validateSteps(newVal);
|
||||
}
|
||||
}
|
||||
},
|
||||
);
|
||||
|
|
@ -236,9 +242,14 @@
|
|||
}
|
||||
|
||||
// 编辑时的先前内容
|
||||
if (props.editData.formEdit) {
|
||||
if (props.editData.record.formVerison === formVerison) {
|
||||
if (props.isEdit) {
|
||||
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);
|
||||
|
||||
// 布局
|
||||
config.value.layoutType = editDataScheme.layoutType;
|
||||
// 查询设置-风格
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
@ok="modalSubmit"
|
||||
title="选择表单"
|
||||
width="60%"
|
||||
height="750"
|
||||
useWrapper="false"
|
||||
>
|
||||
<div>
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@
|
|||
<AutomaticModal
|
||||
@register="automaticModal"
|
||||
:isAddVisible="isAddVisible"
|
||||
@automaticModalSubmitsuccess="automaticModalSubmitsuccess"
|
||||
@automatic-modal-submitsuccess="automaticModalSubmitsuccess"
|
||||
/>
|
||||
</BasicModal>
|
||||
</template>
|
||||
|
|
@ -81,7 +81,7 @@
|
|||
const emit = defineEmits(['submitsuccess']);
|
||||
let isAddVisible = ref();
|
||||
|
||||
let formScheme = ref();
|
||||
let formScheme: any = ref({ info: {}, scheme: {} });
|
||||
|
||||
let saveFormDatas: any = ref({});
|
||||
const primaryKey: any = ref();
|
||||
|
|
@ -89,6 +89,10 @@
|
|||
'handleNextStepsData',
|
||||
computed(() => saveFormDatas.value),
|
||||
);
|
||||
provide(
|
||||
'thisFormType',
|
||||
computed(() => saveFormDatas.value),
|
||||
);
|
||||
|
||||
function designSendGrandson(value) {
|
||||
let designTab = JSON.parse(value);
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@
|
|||
},
|
||||
});
|
||||
|
||||
const emit = defineEmits(['automaticModalSubmitsuccess']);
|
||||
const emit = defineEmits(['automatic-modal-submitsuccess']);
|
||||
let saveFormDatas;
|
||||
|
||||
const labelCol = { span: 7 };
|
||||
|
|
@ -129,7 +129,7 @@
|
|||
// 获取db
|
||||
if (!props.isAddVisible) {
|
||||
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 data_json = JSON.parse(data.saveFormDatas.scheme.scheme);
|
||||
data_json.db = result_json.db;
|
||||
|
|
@ -213,7 +213,7 @@
|
|||
});
|
||||
saveFormDatas.scheme.scheme = JSON.stringify(schems);
|
||||
|
||||
emit('automaticModalSubmitsuccess', saveFormDatas);
|
||||
emit('automatic-modal-submitsuccess', saveFormDatas);
|
||||
closeModal();
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -166,11 +166,18 @@
|
|||
designerData.delegateUsers = data;
|
||||
}
|
||||
async function handleSaveDraft() {
|
||||
var processId = buildGUID();
|
||||
var commit = {
|
||||
schemeId: designerData.formCurrentNode.formVerison,
|
||||
pkey: keyValue.value,
|
||||
pkeyValue: processId,
|
||||
};
|
||||
var querys = {
|
||||
schemeCode: designerData.isDraft ? '' : props.code,
|
||||
userId: formData.userId,
|
||||
title: formData.title,
|
||||
processId: buildGUID(),
|
||||
processId: processId,
|
||||
InstanceInfo: JSON.stringify(commit),
|
||||
};
|
||||
const data = await saveDraft(querys);
|
||||
querys.schemeCode = '';
|
||||
|
|
@ -184,6 +191,7 @@
|
|||
}
|
||||
function handleSubmit() {
|
||||
var processId = buildGUID();
|
||||
|
||||
var querys = {
|
||||
schemeId: designerData.formCurrentNode.formVerison,
|
||||
isUpdate: false,
|
||||
|
|
@ -223,11 +231,17 @@
|
|||
}
|
||||
}
|
||||
async function handleCreateFlow(processId) {
|
||||
var commit = {
|
||||
schemeId: designerData.formCurrentNode.formVerison,
|
||||
pkey: keyValue.value,
|
||||
pkeyValue: processId,
|
||||
};
|
||||
var querys = {
|
||||
schemeCode: designerData.isDraft ? '' : props.code,
|
||||
userId: formData.userId,
|
||||
title: formData.title,
|
||||
processId: processId,
|
||||
InstanceInfo: JSON.stringify(commit),
|
||||
};
|
||||
if (!designerData.isDraft) {
|
||||
await saveDraft(querys);
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@
|
|||
:processId="designerData.process.id"
|
||||
:formVerison="designerData.formCurrentNode.formVerison"
|
||||
:formRelationId="designerData.formCurrentNode.formRelationId"
|
||||
:instanceInfo="designerData.process.instanceInfo"
|
||||
v-if="formVisble"
|
||||
/>
|
||||
</a-tab-pane>
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
:processId="designerData.process.id"
|
||||
:formVerison="designerData.formCurrentNode.formVerison"
|
||||
:formRelationId="designerData.formCurrentNode.formRelationId"
|
||||
:instanceInfo="designerData.process.instanceInfo"
|
||||
v-if="formVisble"
|
||||
/>
|
||||
</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