Merge branch 'main' of http://123.132.248.154:10000/HC_YFZX/CaiYuanYiTiHua
commit
83aeba4735
|
|
@ -135,16 +135,22 @@
|
|||
:useWrapper="false"
|
||||
@ok="handleSubmit"
|
||||
>
|
||||
<div style="display: flex">
|
||||
<div class="w-1/2 xl:w-1/2" style="overflow: auto; height: calc(100%)">
|
||||
<a-textarea v-model:value="formContent" :rows="29" />
|
||||
<div class="alertModal">
|
||||
<div class="alertModal_content">
|
||||
<a-textarea
|
||||
v-model:value="formContent"
|
||||
autosize
|
||||
:auto-size="{ minRows: 22, maxRows: 22 }"
|
||||
/>
|
||||
</div>
|
||||
<div class="w-1/2 xl:w-1/2" style="overflow: auto; height: calc(100%)">
|
||||
<a-alert message="脚本参数说明,只支持ES5语法(兼容小程序)" type="warning">
|
||||
<template #description>
|
||||
<div v-html="description"></div>
|
||||
</template>
|
||||
</a-alert>
|
||||
<div class="alertModal_content">
|
||||
<a-textarea
|
||||
class="alertModal_content-textarea"
|
||||
v-model:value="formItemPropsScript"
|
||||
autosize
|
||||
readOnly
|
||||
:auto-size="{ minRows: 22, maxRows: 22 }"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</BasicModal>
|
||||
|
|
@ -180,7 +186,7 @@
|
|||
import { IBaseFormAttrs } from '../config/formItemPropsConfig';
|
||||
import { getOutKeyList } from '@/api/formdesign/index';
|
||||
import { BasicModal, useModal } from '@/components/Modal';
|
||||
import { formItemPropsScript, addBreakLines } from '../../VFormDesign/config/formItemPropsScript';
|
||||
import { formItemPropsScript } from '../../VFormDesign/config/formItemPropsScript';
|
||||
|
||||
export default defineComponent({
|
||||
name: 'ComponentProps',
|
||||
|
|
@ -434,7 +440,6 @@
|
|||
});
|
||||
// 脚本
|
||||
const formContent: any = ref('');
|
||||
const description = addBreakLines(formItemPropsScript);
|
||||
// 脚本窗口
|
||||
const [buttonScriptModal, { openModal, closeModal }] = useModal();
|
||||
// 点击脚本按钮
|
||||
|
|
@ -495,7 +500,7 @@
|
|||
fetch,
|
||||
BasicModal,
|
||||
formContent,
|
||||
description,
|
||||
formItemPropsScript,
|
||||
buttonScriptModal,
|
||||
openModal,
|
||||
closeModal,
|
||||
|
|
@ -505,3 +510,23 @@
|
|||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.alertModal {
|
||||
display: flex;
|
||||
background-color: @border-color-base;
|
||||
|
||||
&_content {
|
||||
width: 50%;
|
||||
padding: 1px;
|
||||
|
||||
&-textarea {
|
||||
// @if @border-color-base == #141414 {
|
||||
background-color: @border-color-base;
|
||||
// } @else {
|
||||
// background-color: #fffbe6;
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -113,16 +113,22 @@
|
|||
:width="1000"
|
||||
@ok="handleSubmit"
|
||||
>
|
||||
<div style="display: flex">
|
||||
<div class="w-1/2 xl:w-1/2" style="overflow: auto; height: calc(100%)">
|
||||
<a-textarea v-model:value="formContent" :rows="29" />
|
||||
<div class="alertModal">
|
||||
<div class="alertModal_content">
|
||||
<a-textarea
|
||||
v-model:value="formContent"
|
||||
autosize
|
||||
:auto-size="{ minRows: 22, maxRows: 22 }"
|
||||
/>
|
||||
</div>
|
||||
<div class="w-1/2 xl:w-1/2" style="overflow: auto; height: calc(100%)">
|
||||
<a-alert message="脚本参数说明" type="warning">
|
||||
<template #description>
|
||||
<div v-html="description"></div>
|
||||
</template>
|
||||
</a-alert>
|
||||
<div class="alertModal_content">
|
||||
<a-textarea
|
||||
class="alertModal_content-textarea"
|
||||
v-model:value="formItemPropsScript"
|
||||
autosize
|
||||
readOnly
|
||||
:auto-size="{ minRows: 22, maxRows: 22 }"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</BasicModal>
|
||||
|
|
@ -130,7 +136,7 @@
|
|||
<script lang="ts" setup name="FormProps">
|
||||
import { ref, computed } from 'vue';
|
||||
import { BasicModal, useModal } from '@/components/Modal';
|
||||
import { formItemPropsScript, addBreakLines } from '../../VFormDesign/config/formItemPropsScript';
|
||||
import { formItemPropsScript } from '../../VFormDesign/config/formItemPropsScript';
|
||||
import { useFormDesignState } from '../../../hooks/useFormDesignState';
|
||||
import {
|
||||
InputNumber,
|
||||
|
|
@ -169,7 +175,6 @@
|
|||
let formTitle: any = ref('');
|
||||
let btnClickEvent_now = '';
|
||||
let formContent: any = ref('');
|
||||
let description = addBreakLines(formItemPropsScript);
|
||||
// 脚本窗口
|
||||
const [propsScriptModal, { openModal, closeModal }] = useModal();
|
||||
// 点击脚本按钮
|
||||
|
|
@ -250,3 +255,23 @@
|
|||
return flag;
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.alertModal {
|
||||
display: flex;
|
||||
background-color: @border-color-base;
|
||||
|
||||
&_content {
|
||||
width: 50%;
|
||||
padding: 1px;
|
||||
|
||||
&-textarea {
|
||||
// @if @border-color-base == #141414 {
|
||||
background-color: @border-color-base;
|
||||
// } @else {
|
||||
// background-color: #fffbe6;
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
export const formItemPropsScript = `
|
||||
export const formItemPropsScript = `脚本参数说明
|
||||
// 获取表单是新增还是编辑
|
||||
var isUpdate = utils.isUpdate();
|
||||
let update = utils.isUpdate();
|
||||
// 组件变更数据
|
||||
var data = utils.data();
|
||||
let data = utils.data();
|
||||
|
||||
// 数据设置
|
||||
// 获取主表数据
|
||||
|
|
@ -20,7 +20,6 @@ subTableList.value = addChildValue('组件的字段标识', '旧value', '新valu
|
|||
// 删除子表数据
|
||||
subTableList.value = deleteChildValue('组件的字段标识', 'value');
|
||||
|
||||
|
||||
// 组件设置
|
||||
// 设置组件为隐藏
|
||||
formColumns.value = utils.setHide('组件的字段标识', false);
|
||||
|
|
@ -38,7 +37,7 @@ formColumns.value = utils.setRequired('组件的字段标识', false);
|
|||
// 功能设置
|
||||
// 提示消息
|
||||
utils.message('提示信息', '提示类型');
|
||||
提示类型:success(成功)、error(错误)、warn(警告)、info(默认)\
|
||||
提示类型:success(成功)、error(错误)、warn(警告)、info(默认)
|
||||
// 获取登录者信息
|
||||
var loginUser = utils.loginUser();
|
||||
loginUser返回值为{ account: 账号, name: 姓名 }
|
||||
|
|
@ -59,10 +58,3 @@ url:api地址, params:参数
|
|||
let resPut = await utils.httpPut(url, params);
|
||||
url:api地址, params:参数
|
||||
`;
|
||||
|
||||
export function addBreakLines(text: string): string {
|
||||
// 根据换行符分割文本为行
|
||||
const lines = text.split(/\r?\n/);
|
||||
// 在每行后面添加
|
||||
return lines.map((line) => line + '<br />').join('');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@
|
|||
@success="submitsuccess"
|
||||
/> -->
|
||||
<div class="map-form-container" v-if="mapFormShow">
|
||||
<MapFormModal v-if="mapFormShow" @clsoeMapForm="clsoeMapForm" :data="mapFormData"/>
|
||||
<MapFormModal v-if="mapFormShow" @clsoeMapForm="clsoeMapForm" :data="mapFormData" />
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
|
|
@ -109,8 +109,8 @@
|
|||
import { v4 as uuidv4 } from 'uuid';
|
||||
import { changeCardStructure, cardNestStructure } from '@/views/demo/onlineform/util.ts';
|
||||
const MapboxMap = defineAsyncComponent(() => import('@/components/MapboxMaps/MapComponent.vue'));
|
||||
const mapFormShow = ref<boolean>(false)
|
||||
const mapFormData = ref<Object>({})
|
||||
const mapFormShow = ref<boolean>(false);
|
||||
const mapFormData = ref<Object>({});
|
||||
const { createConfirm, createMessage } = useMessage();
|
||||
const route = useRoute();
|
||||
const btnArr: any = [
|
||||
|
|
@ -256,7 +256,7 @@
|
|||
}
|
||||
const [registerModal, { openModal }] = useModal();
|
||||
|
||||
const [registerMapFormModal,{ openModal:openMapFormModal }] = useModal();
|
||||
const [registerMapFormModal, { openModal: openMapFormModal }] = useModal();
|
||||
|
||||
const [registerTable, { reload, setColumns, getSelectRows, clearSelectedRowKeys }] = useTable({
|
||||
title: '表单列表',
|
||||
|
|
@ -276,13 +276,10 @@
|
|||
showTableSetting: true,
|
||||
bordered: true,
|
||||
beforeFetch: (data) => {
|
||||
console.log('item.key', data);
|
||||
// 接口请求前 参数处理
|
||||
const querys = JSON.parse(JSON.stringify(data));
|
||||
console.log('1111', querys);
|
||||
delete querys.page;
|
||||
delete querys.limit;
|
||||
console.log('querys', querys);
|
||||
var temp = {
|
||||
id: paramsId.value,
|
||||
mid: codeId.value,
|
||||
|
|
@ -415,7 +412,7 @@
|
|||
// key: 'f_id',
|
||||
keyValue: null,
|
||||
});
|
||||
const str: any = ref(addParamsArr.value[0].field);
|
||||
const str: any = ref();
|
||||
// const str: any = ref('_input_guid_43');
|
||||
addParamsArr.value.forEach((item) => {
|
||||
if (item.type == 'main') {
|
||||
|
|
@ -451,7 +448,7 @@
|
|||
if (haveMap.value) {
|
||||
// showFormModalData.value = toProps;
|
||||
// openShowFormModal.value = true;
|
||||
openModal(true,toProps);
|
||||
openModal(true, toProps);
|
||||
mapgemoList.value = [];
|
||||
mapSetData.value.isAllowAddPolygon && MapboxComponent.value.handlerDraw(status);
|
||||
} else {
|
||||
|
|
@ -556,11 +553,11 @@
|
|||
// showFormModalData.value = toProps;
|
||||
// openShowFormModal.value = true;
|
||||
// 根据ids获取图斑
|
||||
try{
|
||||
console.log("formConfig",formConfig);
|
||||
handlerShowGeomtrys(formConfig,rows[0])
|
||||
}catch(e){
|
||||
createMessage.error("当前数据没有图斑!");
|
||||
try {
|
||||
console.log('formConfig', formConfig);
|
||||
handlerShowGeomtrys(formConfig, rows[0]);
|
||||
} catch (e) {
|
||||
createMessage.error('当前数据没有图斑!');
|
||||
}
|
||||
} else {
|
||||
openModal(true, toProps);
|
||||
|
|
@ -574,82 +571,82 @@
|
|||
break;
|
||||
}
|
||||
};
|
||||
const chooseLayer = ref<string>("")
|
||||
const geomfield = ref<string>("");
|
||||
const chooseLayer = ref<string>('');
|
||||
const geomfield = ref<string>('');
|
||||
|
||||
function findValue(obj, targetKey) {
|
||||
for (var key in obj) {
|
||||
if (typeof obj[key] === 'object') {
|
||||
// 如果当前值是对象,则递归调用findValue
|
||||
var result = findValue(obj[key], targetKey);
|
||||
if (result !== undefined && result == 'MapGeom') {
|
||||
return result;
|
||||
}
|
||||
} else if (key === targetKey && obj[key] == 'MapGeom') {
|
||||
// 如果当前键等于目标键,则返回对应的值
|
||||
chooseLayer.value = obj['mapSetData'].chooseLayer;
|
||||
geomfield.value = obj['field']
|
||||
return obj[key];
|
||||
}
|
||||
for (var key in obj) {
|
||||
if (typeof obj[key] === 'object') {
|
||||
// 如果当前值是对象,则递归调用findValue
|
||||
var result = findValue(obj[key], targetKey);
|
||||
if (result !== undefined && result == 'MapGeom') {
|
||||
return result;
|
||||
}
|
||||
} else if (key === targetKey && obj[key] == 'MapGeom') {
|
||||
// 如果当前键等于目标键,则返回对应的值
|
||||
chooseLayer.value = obj['mapSetData'].chooseLayer;
|
||||
geomfield.value = obj['field'];
|
||||
return obj[key];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async function handlerShowGeomtrys(currentNode,rows){
|
||||
findValue(currentNode.value.schemas,"component")
|
||||
|
||||
let info = currentNode.value.schemas?.find((item,index)=>{
|
||||
return item.component.match(/mapgeom/i)
|
||||
})
|
||||
let layer:string=chooseLayer.value;
|
||||
async function handlerShowGeomtrys(currentNode, rows) {
|
||||
findValue(currentNode.value.schemas, 'component');
|
||||
|
||||
let info = currentNode.value.schemas?.find((item, index) => {
|
||||
return item.component.match(/mapgeom/i);
|
||||
});
|
||||
let layer: string = chooseLayer.value;
|
||||
// // let layer:string="drone_shp_data";
|
||||
// if(info){
|
||||
// layer = info?.mapSetData?.chooseLayer
|
||||
// }
|
||||
if(!layer){
|
||||
createMessage.error("图斑未绑定图层服务!");
|
||||
if (!layer) {
|
||||
createMessage.error('图斑未绑定图层服务!');
|
||||
return;
|
||||
}
|
||||
let geomfiledValue = geomfield.value;
|
||||
let gids = "";
|
||||
let gids = '';
|
||||
try {
|
||||
// geomfiledValue = geomfiledValue.charAt(0).toLowerCase();
|
||||
geomfiledValue = geomfiledValue.charAt(0).toLowerCase() + geomfiledValue.slice(1);
|
||||
gids = rows[geomfiledValue]
|
||||
if(gids){
|
||||
try{
|
||||
let getGeomPrams = {
|
||||
TableName:layer,
|
||||
FieldName:"gid",
|
||||
FieldValue:gids,
|
||||
page:1,
|
||||
limit:999,
|
||||
key:null,
|
||||
}
|
||||
await getGeom(getGeomPrams).then(res=>{
|
||||
let geoms = [];
|
||||
if(res){
|
||||
if(res.items?.length>0){
|
||||
res.items.forEach((item,index)=>{
|
||||
let geom = {
|
||||
key:item.gid,
|
||||
mapgeom:item.geometry
|
||||
}
|
||||
geoms.push(geom);
|
||||
})
|
||||
}
|
||||
MapboxComponent.value.handlerDraw("Details",geoms, false)
|
||||
}else{
|
||||
createMessage.error("当前数据没有图斑!");
|
||||
gids = rows[geomfiledValue];
|
||||
if (gids) {
|
||||
try {
|
||||
let getGeomPrams = {
|
||||
TableName: layer,
|
||||
FieldName: 'gid',
|
||||
FieldValue: gids,
|
||||
page: 1,
|
||||
limit: 999,
|
||||
key: null,
|
||||
};
|
||||
await getGeom(getGeomPrams).then((res) => {
|
||||
let geoms = [];
|
||||
if (res) {
|
||||
if (res.items?.length > 0) {
|
||||
res.items.forEach((item, index) => {
|
||||
let geom = {
|
||||
key: item.gid,
|
||||
mapgeom: item.geometry,
|
||||
};
|
||||
geoms.push(geom);
|
||||
});
|
||||
}
|
||||
})
|
||||
}catch(e){
|
||||
createMessage.error("当前数据没有图斑!");
|
||||
}
|
||||
}else{
|
||||
createMessage.error("当前数据没有图斑!");
|
||||
MapboxComponent.value.handlerDraw('Details', geoms, false);
|
||||
} else {
|
||||
createMessage.error('当前数据没有图斑!');
|
||||
}
|
||||
});
|
||||
} catch (e) {
|
||||
createMessage.error('当前数据没有图斑!');
|
||||
}
|
||||
}catch{
|
||||
createMessage.error("获取图斑数据失败!");
|
||||
} else {
|
||||
createMessage.error('当前数据没有图斑!');
|
||||
}
|
||||
} catch {
|
||||
createMessage.error('获取图斑数据失败!');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -904,9 +901,9 @@
|
|||
}
|
||||
};
|
||||
|
||||
const clsoeMapForm = ()=>{
|
||||
const clsoeMapForm = () => {
|
||||
mapFormShow.value = false;
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="less">
|
||||
.full-modal {
|
||||
|
|
@ -939,13 +936,13 @@
|
|||
z-index: 1;
|
||||
}
|
||||
|
||||
.map-form-container{
|
||||
width:100%;
|
||||
height:100%;
|
||||
position:absolute;
|
||||
top:0px;
|
||||
left:0px;
|
||||
background:#fff;
|
||||
z-index:999;
|
||||
.map-form-container {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
background: #fff;
|
||||
z-index: 999;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -194,6 +194,7 @@
|
|||
db_list.value = [];
|
||||
// dbCode
|
||||
forminfoDbCode = data.saveFormDatas.info.DbCode;
|
||||
// 分析表单
|
||||
scheme = getSchemeByscheme(
|
||||
scheme,
|
||||
forminfoDbCode,
|
||||
|
|
@ -793,6 +794,7 @@
|
|||
let oldDbColumnArray = old.dbColumnInfoList.map((o) => o.dbColumnName);
|
||||
db.dbColumnInfoList.forEach(async (dbColumn) => {
|
||||
if (!oldDbColumnArray.includes(dbColumn.dbColumnName)) {
|
||||
dbColumn.isNullable = 1;
|
||||
let query: any = {
|
||||
dbCode: forminfoDbCode,
|
||||
dbColumn: dbColumn,
|
||||
|
|
|
|||
Loading…
Reference in New Issue