|
|
@ -28,6 +28,13 @@ |
|
|
import { Plus } from '@element-plus/icons-vue' |
|
|
import { Plus } from '@element-plus/icons-vue' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import request from '@/utils/request'; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const props = withDefaults( //接收父级参数 |
|
|
const props = withDefaults( //接收父级参数 |
|
|
defineProps<{ |
|
|
defineProps<{ |
|
|
formData: any |
|
|
formData: any |
|
|
@ -623,6 +630,73 @@ |
|
|
vIf: state.isSearch, |
|
|
vIf: state.isSearch, |
|
|
vShow: ['associatedForms'] |
|
|
vShow: ['associatedForms'] |
|
|
}, |
|
|
}, |
|
|
|
|
|
<<<<<<< HEAD |
|
|
|
|
|
======= |
|
|
|
|
|
{ |
|
|
|
|
|
label: '上传图片', |
|
|
|
|
|
value: config.lowcodeImage, |
|
|
|
|
|
path: 'config.lowcodeImage', |
|
|
|
|
|
type: 'lowcodeImage_url', |
|
|
|
|
|
vIf: state.isSearch, |
|
|
|
|
|
vShow: ['lowcodeImage'] |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
label: '尺寸', |
|
|
|
|
|
value: config.lowcodeImage, |
|
|
|
|
|
path: 'config.lowcodeImage', |
|
|
|
|
|
type: 'lowcodeImage_showMode', |
|
|
|
|
|
vIf: state.isSearch, |
|
|
|
|
|
vShow: ['lowcodeImage'] |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
label: '契合度', |
|
|
|
|
|
value: config.lowcodeImage, |
|
|
|
|
|
path: 'config.lowcodeImage', |
|
|
|
|
|
type: 'lowcodeImage_fit', |
|
|
|
|
|
vIf: state.isSearch, |
|
|
|
|
|
vShow: ['lowcodeImage'] |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
label: '圆角', |
|
|
|
|
|
value: config.lowcodeImage, |
|
|
|
|
|
path: 'config.lowcodeImage', |
|
|
|
|
|
type: 'lowcodeImage_radius', |
|
|
|
|
|
vIf: state.isSearch, |
|
|
|
|
|
vShow: ['lowcodeImage'] |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
label: '边框和阴影', |
|
|
|
|
|
value: config.lowcodeImage, |
|
|
|
|
|
path: 'config.lowcodeImage', |
|
|
|
|
|
type: 'lowcodeImage_boderAndShadow', |
|
|
|
|
|
vIf: state.isSearch, |
|
|
|
|
|
vShow: ['lowcodeImage'] |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
label: '图片链接', |
|
|
|
|
|
value: config.lowcodeImage, |
|
|
|
|
|
path: 'config.lowcodeImage', |
|
|
|
|
|
type: 'lowcodeImage_link', |
|
|
|
|
|
vIf: state.isSearch, |
|
|
|
|
|
vShow: ['lowcodeImage'] |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
label: '浮动', |
|
|
|
|
|
value: config.lowcodeImage, |
|
|
|
|
|
path: 'config.lowcodeImage', |
|
|
|
|
|
type: 'lowcodeImage_float', |
|
|
|
|
|
vIf: state.isSearch, |
|
|
|
|
|
vShow: ['lowcodeImage'] |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
label: '内外四边距', |
|
|
|
|
|
value: config.lowcodeImage, |
|
|
|
|
|
path: 'config.lowcodeImage', |
|
|
|
|
|
type: 'lowcodeImage_marginAndPadding', |
|
|
|
|
|
vIf: state.isSearch, |
|
|
|
|
|
vShow: ['lowcodeImage'] |
|
|
|
|
|
}, |
|
|
|
|
|
>>>>>>> lwx_v6 |
|
|
{ |
|
|
{ |
|
|
label: '轮播图设置', |
|
|
label: '轮播图设置', |
|
|
value: config.carousel, |
|
|
value: config.carousel, |
|
|
@ -631,6 +705,23 @@ |
|
|
vIf: state.isSearch, |
|
|
vIf: state.isSearch, |
|
|
vShow: ['lowcodeCarsusel'] |
|
|
vShow: ['lowcodeCarsusel'] |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
|
label: '穿梭框名', |
|
|
|
|
|
value: config.transfer, |
|
|
|
|
|
path: 'config.transfer', |
|
|
|
|
|
type: 'transfer_name', |
|
|
|
|
|
vIf: state.isSearch, |
|
|
|
|
|
vShow: ['lowcodeTransfer'] |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
label: '选项数据源', |
|
|
|
|
|
value: config.transfer, |
|
|
|
|
|
path: 'config.transfer', |
|
|
|
|
|
type: 'transfer_options_datasource', |
|
|
|
|
|
vIf: state.isSearch, |
|
|
|
|
|
vShow: ['lowcodeTransfer'] |
|
|
|
|
|
}, |
|
|
{ |
|
|
{ |
|
|
label: '上传视频', |
|
|
label: '上传视频', |
|
|
value: config.uploadvideo, |
|
|
value: config.uploadvideo, |
|
|
@ -1060,6 +1151,10 @@ |
|
|
const newVal = obj.isNum ? formatNumber(val) : val // 类型为数字时转整数 |
|
|
const newVal = obj.isNum ? formatNumber(val) : val // 类型为数字时转整数 |
|
|
obj.path && getPropByPath(controlData.value, obj.path, newVal) |
|
|
obj.path && getPropByPath(controlData.value, obj.path, newVal) |
|
|
} |
|
|
} |
|
|
|
|
|
<<<<<<< HEAD |
|
|
|
|
|
======= |
|
|
|
|
|
|
|
|
|
|
|
>>>>>>> lwx_v6 |
|
|
} |
|
|
} |
|
|
/** |
|
|
/** |
|
|
* 获取非负整数随机数 |
|
|
* 获取非负整数随机数 |
|
|
@ -1430,7 +1525,7 @@ |
|
|
mathBoxShow.value = true |
|
|
mathBoxShow.value = true |
|
|
} |
|
|
} |
|
|
//返回值处理 |
|
|
//返回值处理 |
|
|
const updataDigit = (key:sring,val:any) => { |
|
|
const updataDigit = (key:string,val:any) => { |
|
|
|
|
|
|
|
|
// console.log("默认值处理-1-->",props.formList) |
|
|
// console.log("默认值处理-1-->",props.formList) |
|
|
// console.log("默认值处理-2-->",props.formConfig) |
|
|
// console.log("默认值处理-2-->",props.formConfig) |
|
|
@ -1511,13 +1606,15 @@ |
|
|
|
|
|
|
|
|
//liwenxuan 20240111 carousel start |
|
|
//liwenxuan 20240111 carousel start |
|
|
|
|
|
|
|
|
import { Delete,Plus } from '@element-plus/icons-vue' |
|
|
import { Delete } from '@element-plus/icons-vue' |
|
|
import { CarsuselConfig } from '@/api/DesignForm/types' |
|
|
import { CarsuselConfig } from '@/api/DesignForm/types' |
|
|
import errimg from '@/assets/404_images/untilUploadImg.png' |
|
|
import errimg from '@/assets/404_images/untilUploadImg.png' |
|
|
import { v4 as uuidv4 } from "uuid"; |
|
|
import { v4 as uuidv4 } from "uuid"; |
|
|
|
|
|
|
|
|
//轮播图设置弹窗显示控制 |
|
|
//轮播图设置弹窗显示控制 |
|
|
const dialogTableVisible = ref(false) |
|
|
const dialogTableVisible = ref(false) |
|
|
|
|
|
//穿梭框设置弹窗显示控制 |
|
|
|
|
|
const transferDialogTableVisible = ref(false) |
|
|
|
|
|
|
|
|
//图片展示显示控制 |
|
|
//图片展示显示控制 |
|
|
const showImagePreview = ref(false) |
|
|
const showImagePreview = ref(false) |
|
|
@ -1604,6 +1701,230 @@ |
|
|
currentUploadImgid = clickedRow.imgId |
|
|
currentUploadImgid = clickedRow.imgId |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//liwenxuan 20240111 carousel end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//liwenxuan 20240217 transfer start |
|
|
|
|
|
|
|
|
|
|
|
const showModeSelectOptions = [ |
|
|
|
|
|
{ |
|
|
|
|
|
value: '自定义像素值', |
|
|
|
|
|
label: '自定义像素值', |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
value: '自定义占父容器比例', |
|
|
|
|
|
label: '自定义占父容器比例', |
|
|
|
|
|
}, |
|
|
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
const floatSelectOptions = [ |
|
|
|
|
|
{ |
|
|
|
|
|
value: 'left', |
|
|
|
|
|
label: '左', |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
value: 'right', |
|
|
|
|
|
label: '右', |
|
|
|
|
|
}, |
|
|
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//!!!!!!!!!!!!!!!树数据start |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const dataSource = ref<Tree[]>([]) |
|
|
|
|
|
interface Tree { |
|
|
|
|
|
id?: string |
|
|
|
|
|
label: string |
|
|
|
|
|
disabled?: boolean |
|
|
|
|
|
children?: Tree[] |
|
|
|
|
|
parentId?: string |
|
|
|
|
|
[key: string]: any |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const addRootNode = () => { |
|
|
|
|
|
let onlyNumber = uuidv4().replaceAll('-','').toString(); |
|
|
|
|
|
controlData.value.control.fixedOptions.push({ |
|
|
|
|
|
id: onlyNumber, |
|
|
|
|
|
label: '新根节点', |
|
|
|
|
|
disabled: false, |
|
|
|
|
|
children: [], |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const append = (data: Tree) => { |
|
|
|
|
|
let onlyNumber = uuidv4().replaceAll('-','').toString(); |
|
|
|
|
|
const newChild = { id: onlyNumber, label: '新节点', disabled:false,children: [] } |
|
|
|
|
|
if (!data.children) { |
|
|
|
|
|
data.children = [] |
|
|
|
|
|
} |
|
|
|
|
|
data.children.push(newChild) |
|
|
|
|
|
dataSource.value = [...dataSource.value] |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const remove = (node: Node, data: Tree) => { |
|
|
|
|
|
let really = confirm("确认删除吗?\n将删除本节点与本节点的所有子孙节点!"); |
|
|
|
|
|
if(really){ |
|
|
|
|
|
const parent = node.parent |
|
|
|
|
|
const children: Tree[] = parent.data.children || parent.data |
|
|
|
|
|
const index = children.findIndex((d) => d.id === data.id) |
|
|
|
|
|
children.splice(index, 1) |
|
|
|
|
|
dataSource.value = [...dataSource.value] |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const changeLabel = (node:Node,data:Tree) =>{ |
|
|
|
|
|
let favDrink = prompt("请输入:"); |
|
|
|
|
|
if(favDrink!=null && favDrink.length>0){ |
|
|
|
|
|
const parent = node.parent |
|
|
|
|
|
const children: Tree[] = parent.data.children || parent.data |
|
|
|
|
|
const index = children.findIndex((d) => d.id === data.id) |
|
|
|
|
|
children[index].label = favDrink |
|
|
|
|
|
dataSource.value = [...dataSource.value] |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const setNodeEnable = (node:Node,data:Tree) =>{ |
|
|
|
|
|
const parent = node.parent |
|
|
|
|
|
const children: Tree[] = parent.data.children || parent.data |
|
|
|
|
|
const index = children.findIndex((d) => d.id === data.id) |
|
|
|
|
|
children[index].disabled = !children[index].disabled |
|
|
|
|
|
dataSource.value = [...dataSource.value] |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//!!!!!!!!!!!!!!!树数据end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//liwenxuan 20240217 transfer end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//liwenxuan20240313 lowcodeImage start |
|
|
|
|
|
|
|
|
|
|
|
//图片上传成功钩子 |
|
|
|
|
|
function lowcodeImageUploadSuccess(response: any, uploadFile: UploadFile, uploadFiles: UploadFiles){ |
|
|
|
|
|
const element = controlData.value.control |
|
|
|
|
|
element.imgUrl=response.data.url |
|
|
|
|
|
element.uploadFlag=true |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// |
|
|
|
|
|
const transferDataSourceOptions = [ |
|
|
|
|
|
{ |
|
|
|
|
|
value: '数据源', |
|
|
|
|
|
label: '数据源', |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
value: '固定选项', |
|
|
|
|
|
label: '固定选项', |
|
|
|
|
|
}, |
|
|
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
//const radio = ref(controlData.value.control.fit) |
|
|
|
|
|
|
|
|
|
|
|
//liwenxuan20240313 lowcodeImage end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//liwenxuan20240403 associatedForms start |
|
|
|
|
|
|
|
|
|
|
|
const associatedFormsHideDialogFlag = ref(false) |
|
|
|
|
|
|
|
|
|
|
|
const defaultProps = { |
|
|
|
|
|
children: 'children', |
|
|
|
|
|
label: 'label', |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function getAssociatedFormsCurrentFieldTree() { |
|
|
|
|
|
return request({ |
|
|
|
|
|
url: '/javasys/lowCode/AssociatedForms/getFieldTree', |
|
|
|
|
|
method: 'post', |
|
|
|
|
|
data: { |
|
|
|
|
|
cfid:'13' |
|
|
|
|
|
}, |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function getAssociatedFormsOrgAndManTree() { |
|
|
|
|
|
return request({ |
|
|
|
|
|
url: '/javasys/lowCode/transfer/getOrgAndManTree', |
|
|
|
|
|
method: 'post', |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
const associatedFormsCurrentFormFieldTree = ref<Tree[]>() |
|
|
|
|
|
|
|
|
|
|
|
getAssociatedFormsCurrentFieldTree().then(({ data }) => { |
|
|
|
|
|
let resData = ref(data.children) |
|
|
|
|
|
//let rootid_ = data.value.label |
|
|
|
|
|
associatedFormsCurrentFormFieldTree.value = [{ |
|
|
|
|
|
id: 'rootid_'+data.label, |
|
|
|
|
|
label: '当前表单', |
|
|
|
|
|
children: [...resData.value] |
|
|
|
|
|
}] |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
const orgAndManTree = ref<Tree[]>() |
|
|
|
|
|
getAssociatedFormsOrgAndManTree().then(({ data }) => { |
|
|
|
|
|
let resData = ref(data.children) |
|
|
|
|
|
orgAndManTree.value = [{ |
|
|
|
|
|
id: data.id, |
|
|
|
|
|
//label: data.label, |
|
|
|
|
|
label: '组织机构', |
|
|
|
|
|
children: [...resData.value] |
|
|
|
|
|
}] |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
const fieldTreeSearchFlag = ref(false) |
|
|
|
|
|
|
|
|
|
|
|
function handleFieldTreeExpand(){ |
|
|
|
|
|
|
|
|
|
|
|
fieldTreeSearchFlag.value = true; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function handleFieldTreeCollapse(){ |
|
|
|
|
|
|
|
|
|
|
|
fieldTreeSearchFlag.value = false; |
|
|
|
|
|
} |
|
|
|
|
|
function handleFieldTreeNodeclick(){ |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
function handleFieldTreeContextmenu(MouseEvent:any, object:any, Node:any, element:any){ |
|
|
|
|
|
//console.log(MouseEvent) |
|
|
|
|
|
console.log(object) |
|
|
|
|
|
//console.log(Node) |
|
|
|
|
|
//console.log(element) |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
import { ElTree } from 'element-plus' |
|
|
|
|
|
const fieldTreeFilterText = ref('') |
|
|
|
|
|
const fieldTreeRef = ref<InstanceType<typeof ElTree>>() |
|
|
|
|
|
|
|
|
|
|
|
watch(fieldTreeFilterText, (val) => { |
|
|
|
|
|
fieldTreeRef.value!.filter(val) |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
const filterNode = (value: string, associatedFormsCurrentFormFieldTree: Tree) => { |
|
|
|
|
|
if (!value) return true |
|
|
|
|
|
return associatedFormsCurrentFormFieldTree.label.includes(value) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//liwenxuan20240403 associatedForms end |
|
|
|
|
|
|
|
|
const showModeSelectOptions = [ |
|
|
const showModeSelectOptions = [ |
|
|
{ |
|
|
{ |
|
|
value: '自定义像素值', |
|
|
value: '自定义像素值', |
|
|
@ -1621,6 +1942,7 @@ |
|
|
{ label: '每行三列', value: 'form-row-3' }, |
|
|
{ label: '每行三列', value: 'form-row-3' }, |
|
|
{ label: '每行四列', value: 'form-row-4' } |
|
|
{ label: '每行四列', value: 'form-row-4' } |
|
|
] |
|
|
] |
|
|
|
|
|
<<<<<<< HEAD |
|
|
|
|
|
|
|
|
const floatSelectOptions = [ |
|
|
const floatSelectOptions = [ |
|
|
{ |
|
|
{ |
|
|
@ -1642,6 +1964,8 @@ interface Tree { |
|
|
[key: string]: any |
|
|
[key: string]: any |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
======= |
|
|
|
|
|
>>>>>>> lwx_v6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const layouytStyle = reactive<any>(controlData.value.styles) |
|
|
const layouytStyle = reactive<any>(controlData.value.styles) |
|
|
@ -2031,6 +2355,7 @@ const filterNode = (value: string, associatedFormsCurrentFormFieldTree: Tree) => |
|
|
<el-button type="primary" append-to-body="true" modal="true" @click="dialogTableVisible = true" >轮播图设置</el-button> |
|
|
<el-button type="primary" append-to-body="true" modal="true" @click="dialogTableVisible = true" >轮播图设置</el-button> |
|
|
</el-row> |
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
|
|
<<<<<<< HEAD |
|
|
<el-row v-else-if="item.type === 'transfer_name'"> |
|
|
<el-row v-else-if="item.type === 'transfer_name'"> |
|
|
<el-input |
|
|
<el-input |
|
|
v-model="controlData.config.transferName" |
|
|
v-model="controlData.config.transferName" |
|
|
@ -2240,6 +2565,220 @@ const filterNode = (value: string, associatedFormsCurrentFormFieldTree: Tree) => |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
======= |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-row v-else-if="item.type === 'transfer_name'"> |
|
|
|
|
|
<el-input |
|
|
|
|
|
v-model="controlData.config.transferName" |
|
|
|
|
|
placeholder="请输入穿梭框名" |
|
|
|
|
|
style="width:221px" |
|
|
|
|
|
/> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
|
|
<el-row v-else-if="item.type ==='transfer_options_datasource'"> |
|
|
|
|
|
<!-- <span style="display:inline-block;width:78px">选项数据源</span> --> |
|
|
|
|
|
<el-select |
|
|
|
|
|
v-model="controlData.config.transferDataSource" |
|
|
|
|
|
placeholder="选项数据源" |
|
|
|
|
|
style="width: 150px; height:20px"> |
|
|
|
|
|
<el-option |
|
|
|
|
|
v-for="dataSourceOption1 in transferDataSourceOptions" |
|
|
|
|
|
:key="dataSourceOption1.value" |
|
|
|
|
|
:label="dataSourceOption1.label" |
|
|
|
|
|
:value="dataSourceOption1.value" |
|
|
|
|
|
/> |
|
|
|
|
|
|
|
|
|
|
|
</el-select> |
|
|
|
|
|
<div v-if="controlData.config.transferDataSource==='固定选项'" style="width: auto;margin-top:33px;margin-left:-220px;padding-bottom: 6px;"> |
|
|
|
|
|
<el-button type="primary" append-to-body="true" modal="true" @click="transferDialogTableVisible = true" >编辑固定选项</el-button> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div v-if="controlData.config.transferDataSource==='数据源'" style="width: auto;margin-top: 20px;"> |
|
|
|
|
|
<!-- <span style="display:inline-block;width:50px;margin-bottom: 25px;">接口url</span> --> |
|
|
|
|
|
<el-input |
|
|
|
|
|
v-model="controlData.config.apiUrl" |
|
|
|
|
|
|
|
|
|
|
|
style="width:278px;margin-left: -68px;margin-top: -5px;" |
|
|
|
|
|
placeholder="数据源接口url"> |
|
|
|
|
|
<template #prepend> |
|
|
|
|
|
<el-select |
|
|
|
|
|
v-model="controlData.config.method" |
|
|
|
|
|
style="width: 100px"> |
|
|
|
|
|
<el-option label="get" value="get" /> |
|
|
|
|
|
<el-option label="post" value="post" /> |
|
|
|
|
|
</el-select> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-input> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
<!-- 图片 liwenxuan 20240312 --> |
|
|
|
|
|
<el-row v-else-if="item.type === 'lowcodeImage_radius'"> |
|
|
|
|
|
<el-switch v-model="controlData.control.radius" style="margin-right: 15px;"/> |
|
|
|
|
|
<el-popover |
|
|
|
|
|
placement="top-start" |
|
|
|
|
|
:width="200" |
|
|
|
|
|
trigger="hover" |
|
|
|
|
|
content="数值越大圆角程度越高" |
|
|
|
|
|
> |
|
|
|
|
|
<template #reference> |
|
|
|
|
|
<el-input-number v-if="controlData.control.radius" v-model="controlData.control.radiusNum" :step="1"/> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-popover> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
|
|
<el-row v-else-if="item.type === 'lowcodeImage_url'"> |
|
|
|
|
|
<el-upload |
|
|
|
|
|
:action="uploadUrl" :before-remove="beforeRemove" |
|
|
|
|
|
:on-success="lowcodeImageUploadSuccess" |
|
|
|
|
|
:on-error="videoUploadErr" |
|
|
|
|
|
:limit="1" |
|
|
|
|
|
accept=".jpg,.jpeg,.png,.tif,.tga,.bmp,.dds,.svg,.eps,.pdf,.hdr,.raw,.exr,.psd,.afphoto,.afdesign"> |
|
|
|
|
|
<el-button v-if="!controlData.control.uploadFlag" type="primary">点此上传</el-button> |
|
|
|
|
|
<el-button v-if="controlData.control.uploadFlag" type="primary">已上传,点击修改</el-button> |
|
|
|
|
|
</el-upload> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
|
|
<el-row v-else-if="item.type === 'lowcodeImage_showMode'"> |
|
|
|
|
|
<el-select |
|
|
|
|
|
v-model="controlData.control.showMode" |
|
|
|
|
|
placeholder="选项数据源" |
|
|
|
|
|
style="width: 150px; height:20px"> |
|
|
|
|
|
<el-option |
|
|
|
|
|
v-for="showModeSelected in showModeSelectOptions" |
|
|
|
|
|
:key="showModeSelected.value" |
|
|
|
|
|
:label="showModeSelected.label" |
|
|
|
|
|
:value="showModeSelected.value" |
|
|
|
|
|
/> |
|
|
|
|
|
|
|
|
|
|
|
</el-select> |
|
|
|
|
|
<div v-if="controlData.control.showMode==='自定义像素值'" style="width: auto;margin-top:33px;margin-left:-187px;padding-bottom: 6px;"> |
|
|
|
|
|
<span style="margin-right: 10px;">宽度(像素) </span><el-input-number v-model="controlData.control.pxWidth" style="margin-bottom: 10px;" /><br/> |
|
|
|
|
|
<span style="margin-right: 10px;">高度(像素) </span><el-input-number v-model="controlData.control.pxHeight" /> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div v-if="controlData.control.showMode==='自定义占父容器比例'" style="width: auto;margin-top:33px;margin-left:-187px;padding-bottom: 6px;"> |
|
|
|
|
|
<span style="margin-right: 10px;">百分比宽 </span><el-input-number v-model="controlData.control.widthPercent" style="margin-bottom: 10px;"/><br/> |
|
|
|
|
|
<span style="margin-right: 10px;">百分比高 </span><el-input-number v-model="controlData.control.heightPercent" /> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-row v-else-if="item.type === 'lowcodeImage_fit'"> |
|
|
|
|
|
<el-radio-group v-model="controlData.control.fit"> |
|
|
|
|
|
<el-popover |
|
|
|
|
|
placement="top-start" |
|
|
|
|
|
title="fill" |
|
|
|
|
|
:width="200" |
|
|
|
|
|
trigger="hover" |
|
|
|
|
|
content="默认值。调整替换后的内容大小,以填充元素的内容框。如有必要,将拉伸或挤压物体以适应该对象。" |
|
|
|
|
|
> |
|
|
|
|
|
<template #reference> |
|
|
|
|
|
<el-radio :label="1" :value="1">fill</el-radio> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-popover> |
|
|
|
|
|
|
|
|
|
|
|
<el-popover |
|
|
|
|
|
placement="top-start" |
|
|
|
|
|
title="contain" |
|
|
|
|
|
:width="200" |
|
|
|
|
|
trigger="hover" |
|
|
|
|
|
content="缩放替换后的内容以保持其纵横比,同时将其放入元素的内容框。" |
|
|
|
|
|
> |
|
|
|
|
|
<template #reference> |
|
|
|
|
|
<el-radio :label="2" :value="2">contain</el-radio> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-popover> |
|
|
|
|
|
|
|
|
|
|
|
<el-popover |
|
|
|
|
|
placement="top-start" |
|
|
|
|
|
title="cover" |
|
|
|
|
|
:width="200" |
|
|
|
|
|
trigger="hover" |
|
|
|
|
|
content="调整替换内容的大小,以在填充元素的整个内容框时保持其长宽比。该对象将被裁剪以适应。" |
|
|
|
|
|
> |
|
|
|
|
|
<template #reference> |
|
|
|
|
|
<el-radio :label="3" :value="3">cover</el-radio> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-popover> |
|
|
|
|
|
|
|
|
|
|
|
<el-popover |
|
|
|
|
|
placement="top-start" |
|
|
|
|
|
title="none" |
|
|
|
|
|
:width="200" |
|
|
|
|
|
trigger="hover" |
|
|
|
|
|
content="不对替换的内容调整大小。" |
|
|
|
|
|
> |
|
|
|
|
|
<template #reference> |
|
|
|
|
|
<el-radio :label="4" :value="4">none</el-radio> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-popover> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-popover |
|
|
|
|
|
placement="top-start" |
|
|
|
|
|
title="scale-down" |
|
|
|
|
|
:width="200" |
|
|
|
|
|
trigger="hover" |
|
|
|
|
|
content="调整内容大小就像没有指定内容或包含内容一样(将导致较小的具体对象尺寸)" |
|
|
|
|
|
> |
|
|
|
|
|
<template #reference> |
|
|
|
|
|
<el-radio :label="5" :value="5">scale-down</el-radio> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-popover> |
|
|
|
|
|
|
|
|
|
|
|
</el-radio-group> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
|
|
<el-row v-else-if="item.type === 'lowcodeImage_boderAndShadow'"> |
|
|
|
|
|
<el-switch v-model="controlData.control.boderAndShadow" style="margin-right: 15px;"/> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
<el-row v-else-if="item.type === 'lowcodeImage_link'"> |
|
|
|
|
|
<el-input |
|
|
|
|
|
v-model="controlData.control.link" |
|
|
|
|
|
placeholder="请录入图片链接地址" |
|
|
|
|
|
style="width:221px" |
|
|
|
|
|
/> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
|
|
<el-row v-else-if="item.type === 'lowcodeImage_marginAndPadding'"> |
|
|
|
|
|
<div style="width: auto;margin-top:33px;margin-left:-47px;padding-bottom: 6px;"> |
|
|
|
|
|
<span style="margin-right: 10px;"> 外边距(上)</span><el-input-number v-model="controlData.control.mt" style="margin-bottom: 10px;"/><br/> |
|
|
|
|
|
<span style="margin-right: 10px;"> 外边距(下)</span><el-input-number v-model="controlData.control.mb" style="margin-bottom: 10px;"/><br/> |
|
|
|
|
|
<span style="margin-right: 10px;"> 外边距(左)</span><el-input-number v-model="controlData.control.ml" style="margin-bottom: 10px;"/><br/> |
|
|
|
|
|
<span style="margin-right: 10px;"> 外边距(右)</span><el-input-number v-model="controlData.control.mr" style="margin-bottom: 10px;"/><br/> |
|
|
|
|
|
<span style="margin-right: 10px;"> 内边距(上)</span><el-input-number v-model="controlData.control.pt" style="margin-bottom: 10px;"/><br/> |
|
|
|
|
|
<span style="margin-right: 10px;"> 内边距(下)</span><el-input-number v-model="controlData.control.pb" style="margin-bottom: 10px;"/><br/> |
|
|
|
|
|
<span style="margin-right: 10px;"> 内边距(左)</span><el-input-number v-model="controlData.control.pl" style="margin-bottom: 10px;"/><br/> |
|
|
|
|
|
<span style="margin-right: 10px;"> 内边距(右)</span><el-input-number v-model="controlData.control.pr" style="margin-bottom: 10px;"/><br/> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
|
|
<el-row v-else-if="item.type === 'lowcodeImage_float'"> |
|
|
|
|
|
<el-switch v-model="controlData.control.floatFlag" style="margin-right: 15px;"/> |
|
|
|
|
|
|
|
|
|
|
|
<el-select |
|
|
|
|
|
v-if="controlData.control.floatFlag" |
|
|
|
|
|
v-model="controlData.control.floatValue" |
|
|
|
|
|
|
|
|
|
|
|
style="width: 150px; height:20px"> |
|
|
|
|
|
<el-option |
|
|
|
|
|
v-for="showModeSelected1 in floatSelectOptions" |
|
|
|
|
|
:key="showModeSelected1.value" |
|
|
|
|
|
:label="showModeSelected1.label" |
|
|
|
|
|
:value="showModeSelected1.value" |
|
|
|
|
|
/> |
|
|
|
|
|
|
|
|
|
|
|
</el-select> |
|
|
|
|
|
|
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
|
|
<el-row v-else-if="item.type === 'associatedForms_hide'"> |
|
|
|
|
|
<el-button type="primary" append-to-body="true" modal="true" @click="associatedFormsHideDialogFlag = true" >设置隐藏条件</el-button> |
|
|
|
|
|
|
|
|
|
|
|
</el-row> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
>>>>>>> lwx_v6 |
|
|
<el-input |
|
|
<el-input |
|
|
v-else |
|
|
v-else |
|
|
:type="item.inputStyle" |
|
|
:type="item.inputStyle" |
|
|
@ -2905,10 +3444,16 @@ const filterNode = (value: string, associatedFormsCurrentFormFieldTree: Tree) => |
|
|
@close="closePreview" |
|
|
@close="closePreview" |
|
|
/> |
|
|
/> |
|
|
|
|
|
|
|
|
|
|
|
<<<<<<< HEAD |
|
|
<!-- 穿梭框设置弹窗 liwenxuan 20240217 start --> |
|
|
<!-- 穿梭框设置弹窗 liwenxuan 20240217 start --> |
|
|
|
|
|
======= |
|
|
|
|
|
<!-- 轮播图设置弹窗 liwenxuan 20240122 end --> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 穿梭框设置弹窗 liwenxuan 20240217 start --> |
|
|
|
|
|
>>>>>>> lwx_v6 |
|
|
<el-dialog v-model="transferDialogTableVisible" title="创建穿梭框选项树" top="150px" style="margin-top:70px;" width="50%" > |
|
|
<el-dialog v-model="transferDialogTableVisible" title="创建穿梭框选项树" top="150px" style="margin-top:70px;" width="50%" > |
|
|
<div v-if="controlData.type=='lowcodeTransfer'"> |
|
|
<div v-if="controlData.type=='lowcodeTransfer'"> |
|
|
<el-button type="success" plain style="margin-top: -35px;" @click="addRootNode()">新增根节点</el-button> |
|
|
<el-button type="success" plain style="margin-top: 5px;margin-bottom: 5px;" @click="addRootNode()">新增根节点</el-button> |
|
|
|
|
|
|
|
|
<!-- 建立树 --> |
|
|
<!-- 建立树 --> |
|
|
<div class="custom-tree-container"> |
|
|
<div class="custom-tree-container"> |
|
|
@ -2918,7 +3463,7 @@ const filterNode = (value: string, associatedFormsCurrentFormFieldTree: Tree) => |
|
|
:data="controlData.control.fixedOptions" |
|
|
:data="controlData.control.fixedOptions" |
|
|
show-checkbox |
|
|
show-checkbox |
|
|
node-key="id" |
|
|
node-key="id" |
|
|
default-expand-all |
|
|
:default-expand-all = "false" |
|
|
:expand-on-click-node="false" |
|
|
:expand-on-click-node="false" |
|
|
> |
|
|
> |
|
|
<template #default="{ node, data }"> |
|
|
<template #default="{ node, data }"> |
|
|
@ -2997,7 +3542,23 @@ const filterNode = (value: string, associatedFormsCurrentFormFieldTree: Tree) => |
|
|
|
|
|
|
|
|
<!-- 关联表单设置弹窗 liwenxuan 20240402 end --> |
|
|
<!-- 关联表单设置弹窗 liwenxuan 20240402 end --> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
<<<<<<< HEAD |
|
|
<style lang='scss' scoped> |
|
|
<style lang='scss' scoped> |
|
|
|
|
|
======= |
|
|
|
|
|
<style lang='scss' scoped> |
|
|
|
|
|
.sidebar-tools .el-tabs__content{ |
|
|
|
|
|
padding: 0; |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
.el-collapse-item__header { |
|
|
|
|
|
padding-left: 10px; |
|
|
|
|
|
background-color: rgb(229, 229, 229); |
|
|
|
|
|
} |
|
|
|
|
|
.el-collapse-item__header{ |
|
|
|
|
|
padding-left: 10px; |
|
|
|
|
|
background-color: rgb(229, 229, 229); |
|
|
|
|
|
} |
|
|
|
|
|
>>>>>>> lwx_v6 |
|
|
.form_cont{ |
|
|
.form_cont{ |
|
|
padding: 0 10px; |
|
|
padding: 0 10px; |
|
|
} |
|
|
} |
|
|
@ -3013,6 +3574,13 @@ const filterNode = (value: string, associatedFormsCurrentFormFieldTree: Tree) => |
|
|
height: 100px; |
|
|
height: 100px; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
<<<<<<< HEAD |
|
|
|
|
|
======= |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//!!!!!!!!!!!!!!!!!穿梭框编辑树样式start |
|
|
|
|
|
>>>>>>> lwx_v6 |
|
|
.custom-tree-node { |
|
|
.custom-tree-node { |
|
|
flex: 1; |
|
|
flex: 1; |
|
|
display: flex; |
|
|
display: flex; |
|
|
@ -3033,6 +3601,7 @@ const filterNode = (value: string, associatedFormsCurrentFormFieldTree: Tree) => |
|
|
.el-main{ |
|
|
.el-main{ |
|
|
--el-main-padding: 5px |
|
|
--el-main-padding: 5px |
|
|
} |
|
|
} |
|
|
|
|
|
<<<<<<< HEAD |
|
|
</style> |
|
|
</style> |
|
|
<style > |
|
|
<style > |
|
|
|
|
|
|
|
|
@ -3049,3 +3618,8 @@ const filterNode = (value: string, associatedFormsCurrentFormFieldTree: Tree) => |
|
|
background-color: rgb(229, 229, 229); |
|
|
background-color: rgb(229, 229, 229); |
|
|
} |
|
|
} |
|
|
</style> |
|
|
</style> |
|
|
|
|
|
======= |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</style> |
|
|
|
|
|
>>>>>>> lwx_v6 |
|
|
|