Browse Source

Merge branch 'lwx_v10'

lwx_v11
hreenshan112 1 year ago
parent
commit
4308e315a7
  1. 13
      src/components/DesignForm/assembly/index.ts
  2. 42
      src/components/DesignForm/formControlPropertiNew.vue
  3. 12
      src/views/sysworkflow/lowcodepage/appPage/appPageForm/pageForm.vue
  4. 1
      src/widget/associatedforms/index.vue
  5. 102
      src/widget/lowcodetransfer/index.vue
  6. 151
      src/widget/lowcodetransfer/lowcodeTransfer.vue

13
src/components/DesignForm/assembly/index.ts

@ -813,7 +813,7 @@ export default [
icon: '',
iconFont: 'fa-arrows-h',
control: {
modelValue: '',
modelValue: [],
fixedOptions: [{
id: 'thefirstrootnode',
label: '根节点1',
@ -939,7 +939,16 @@ export default [
],
},
},
config: {}
config: {},
styles: {
divStyle: {
marginBot: "15"
},
labelStyle: {
paddingLeft: "7",
},
inputStyle: {}
}
},
{
type: 'component',

42
src/components/DesignForm/formControlPropertiNew.vue

@ -1260,6 +1260,29 @@ const getPropByPath = (obj: any, path: string, val: any) => {
}
}
//
const showAssociatedFormsFillRole = ref(true)
//----bug
const saveRefreshFormControlAttr = () => {
//
//setTimeout(() => {
getAssociatedFormsCurrentFieldTree1()
showAssociatedFormsFillRole.value = false;
//
setTimeout(() => {
showAssociatedFormsFillRole.value = true;
}, 200);
//}, 13000);
};
//
const delSelectOption = (index: number, type?: string) => {
//liwenxuan 20240508 checkbox start
@ -1616,7 +1639,7 @@ const eventClick = (type: string, tooltip?: string) => {
emits('openDialog', { type: type, title: tooltip, direction: 'ltr' })
}
getDataSource()
defineExpose({ getFormFieldBySource })
defineExpose({ getFormFieldBySource,saveRefreshFormControlAttr })
//
const isNotWrite = (val:any) =>{
// console.log("--->",val,props.customerformid)
@ -2266,22 +2289,26 @@ function formidChangedOptionsValue3(){
});
}
}
const currentFormChildTableFieldsForFillRole = ref<Tree[]>()
const associatedFormsCurrentFormFieldTree = ref<Tree[]>()
const associatedFormsCurrentFormFieldTree1 = ref<Tree[]>()
const associatedFormsCurrentFormFieldTreeNoTable = ref<Tree[]>()
const associatedFormsCurrentFormFieldTreeForGlxxsz = ref<Tree[]>()
let currentFormChildTableFieldsForFillRole = ref<Tree[]>()
let associatedFormsCurrentFormFieldTree = ref<Tree[]>()
let associatedFormsCurrentFormFieldTree1 = ref<Tree[]>()
let associatedFormsCurrentFormFieldTreeNoTable = ref<Tree[]>()
let associatedFormsCurrentFormFieldTreeForGlxxsz = ref<Tree[]>()
let associatedFormsCurrentFormFieldTreeForGlxxszExceptSelf = ref<Tree[]>()
let resDataForGlxxszExceptself: any[] = []
let resDataForGlxxszExceptself1: any[] = []
let getAssociatedFormsCurrentFieldTreeData:any
getAssociatedFormsCurrentFieldTree1()
function getAssociatedFormsCurrentFieldTree1(){
getAssociatedFormsCurrentFieldTree().then(({ data }) => {
// console.log(data)
getAssociatedFormsCurrentFieldTreeData = JSON.parse(JSON.stringify(data))
// console.log(getAssociatedFormsCurrentFieldTreeData)
if(data.id==="cfid为空"||data.id==="masterTable为null"){
//alert("cfid")
}else{
let resData = ref(data.children)
let resDataExceptSystemFields = JSON.parse(JSON.stringify(data.children))
let currentFormChildTableFields = JSON.parse(JSON.stringify(data.children))
@ -2357,7 +2384,7 @@ getAssociatedFormsCurrentFieldTree().then(({ data }) => {
}
});
}
const customerFormTree = ref<Tree[]>()
@ -4841,6 +4868,7 @@ const radioChangeSet = (val:any) => {
<div style="background-color: #F0F0F0;padding: 12px;border-radius: 5px;padding-left:45px;padding-bottom: 10px;margin-right: 10px;"><!-- #F5F7FA #E6F3FE #F0F0F0 #F5F7FA-->
<template v-for="(item, index) in controlData.control.fillRoles.master" :key="controlData.control.fillRoles.master[index].id">
<AssociatedFormsFillRole
v-if="showAssociatedFormsFillRole"
v-model:left-value="controlData.control.fillRoles.master[index].leftValue"
v-model:right-value="controlData.control.fillRoles.master[index].rightValue"
:left-tree-source = "asfasfMasterFieldTree"

12
src/views/sysworkflow/lowcodepage/appPage/appPageForm/pageForm.vue

@ -79,6 +79,8 @@ const state = computed({
}
});
const formControlAttrEl = ref(null)
provide('formDesignType', state.value.designType)
const appFormKeyVal = computed({
get() {
@ -330,6 +332,15 @@ const gainTableForm = () => {
})
}
}
function saveRefreshFormControlAttr1(){
formControlAttrEl.value.saveRefreshFormControlAttr()
}
onMounted(() => {
if (route.source) {
formControlAttrEl.value.getFormFieldBySource(route.source)
@ -425,6 +436,7 @@ const editAppFormTable = () => {
})
.finally(() => {
state.value.loading=false;
saveRefreshFormControlAttr1()
})
}
/**

1
src/widget/associatedforms/index.vue

@ -68,6 +68,7 @@ const value = computed({
}
})
const updateModel = (val: any) => {
console.log("dfsasdfasdf")
let controlAttribute = ""
if(props.data.control){
if(props.data.control.type){

102
src/widget/lowcodetransfer/index.vue

@ -14,7 +14,7 @@
<input v-model="value" type="hidden" >
</el-form-item>
<LowcodeTransfer :data="props.data"></LowcodeTransfer>
<LowcodeTransfer :data="props.data" :selected-value="value" @checked-id-list-changed="checkedIdListChangedIndex" @update-model="updateModel" ></LowcodeTransfer>
</template>
<script lang='ts' setup>
import LowcodeTransfer from './lowcodeTransfer.vue';
@ -34,10 +34,15 @@ const props = withDefaults(
}>(),
{}
)
const emits = defineEmits<{
(e: 'update:modelValue', numVal: any): void
}>()
function checkedIdListChangedIndex(val:any){
//console.log(val)
value.value = val
}
const formProps = inject(constFormProps, {}) as any
const type = computed(() => {
return formProps.value.type
@ -48,23 +53,116 @@ const config = computed(() => {
const changeEvent = inject(constControlChange, '') as any
const parsedData = ref<any[]>([])
const value = computed({
get() {
if (props.tProp) {
//console.log("a")
//
return props.modelValue
} else {
return formProps.value.model[props.data.name]
/* console.log(formProps.value.model)
console.log(props.data.name)
console.log(formProps.value.model[props.data.name]) */
nextTick(()=>{
if(formProps.value.model[props.data.name]&&formProps.value.model[props.data.name] != ""&&parsedData.value.length==0){
parsedData.value = JSON.parse(formProps.value.model[props.data.name]);
}
})
// eslint-disable-next-line vue/no-side-effects-in-computed-properties
// parsedData.value = arr
return parsedData.value
//return formProps.value.model[props.data.name]
}
},
set(newVal: any) {
//console.log(newVal)
if (props.tProp) {
emits('update:modelValue', newVal)
}
updateModel(newVal)
}
})
function waitModelHasValue(){
//console.log("waitModelHasValue")
setTimeout(()=>{
if(formProps.value.model&&formProps.value.model.creater){
/* console.log(formProps.value.model[props.data.name])
console.log(formProps.value.model)
console.log(props.data.name) */
/* nextTick(()=>{
if(formProps.value.model[props.data.name]&&formProps.value.model[props.data.name] != ""&&parsedData.value.length==0){
parsedData.value = JSON.parse(formProps.value.model[props.data.name]);
}
}) */
if(formProps.value.model[props.data.name]){
//console.log(formProps.value.model[props.data.name])
//parsedData.value = JSON.parse(formProps.value.model[props.data.name]);
try {
parsedData.value = JSON.parse(formProps.value.model[props.data.name]);
} catch (error) {
//console.error('Error parsing JSON:', error);
//
//parsedData.value = null;
}
}
//console.log(""+parsedData.value)
value.value = parsedData.value
}else{
waitModelHasValue()
}
},200)
}
onMounted(() => {
/* console.log(formProps.value.model[props.data.name])
console.log(formProps.value)
console.log(props.data.name) */
//nextTick(()=>{
if(formProps.value.model&&formProps.value.model.creater){
/* console.log(formProps.value.model[props.data.name])
console.log(formProps.value.model)
console.log(props.data.name) */
nextTick(()=>{
if(formProps.value.model[props.data.name]&&formProps.value.model[props.data.name] != ""&&parsedData.value.length==0){
parsedData.value = JSON.parse(formProps.value.model[props.data.name]);
}
})
value.value = parsedData.value
}else{
waitModelHasValue()
}
//})
/* setTimeout(()=>{
nextTick(()=>{
if(formProps.value.model[props.data.name]&&formProps.value.model[props.data.name] != ""&&parsedData.value.length==0){
parsedData.value = JSON.parse(formProps.value.model[props.data.name]);
}
})
checkedIdListChangedIndex(parsedData.value)
},500) */
})
/* watch(value, (newValue, oldValue) => {
},{deep:true}); */
const updateModel = (val: any) => {
/* console.log("updateModel")
console.log(typeof(val))
console.log(val) */
let controlAttribute = ""
if(props.data.control){
if(props.data.control.type){

151
src/widget/lowcodetransfer/lowcodeTransfer.vue

@ -1,6 +1,6 @@
<template>
<div v-if="dataFinished" class="transfer">
<div class="leftArea">
<div v-if="dataFinished" class="transfer"><!-- {{props.selectedValue}} -->
<div class="leftArea"><!-- {{ selectedValueCompu }}{{checkedIdList}} -->
<div class="transferName">{{ transferConfig.transferName }}</div>
<div style="padding-left: 15px; padding-right: 25px;margin-top: 10px;margin-bottom: 8px;">
<ElInput v-model="keyword" placeholder="搜索">
@ -50,9 +50,21 @@ import request from '@/utils/request';
const props = defineProps({
// eslint-disable-next-line vue/require-default-prop
data: {
type: Object,
}
type: Object,
default() {
return {};
},
},
selectedValue: {
type: Array,
default() {
return [];
},
},
})
const emits = defineEmits(['checkedIdListChanged','updateModel']);
const fixedOptions = props.data?.control.fixedOptions
const transferConfig = props.data?.config
const treeProps = {
@ -67,10 +79,69 @@ const isExpandAll = ref(false) // 是否全展开
const keyword = ref('') //
const checkList = ref([]) // list
const userList = ref([])
let checkedIdList = ["302697","ceshi","301625"];
checkedIdList = [];
let checkedIdList = ref([]);
let count = 0
function waitAndReGet(){
/* console.log("waitAndReGet")
console.log(props.selectedValue)
console.log(props.selectedValue.value) */
setTimeout(()=>{
let values = props.selectedValue.map(item => {
//
return item;
});
if(props.selectedValue&&values){
/* console.log("")
console.log(props.selectedValue)
console.log(values) */
//return props.selectedValue.value
checkedIdList.value = values
}else{
if(count<3){
count++
waitAndReGet()
}
/* console.log("waitAndReGet---else") */
}
},2000)
}
const selectedValueCompu = computed({
get() {
//console.log("get")
//nextTick(()=>{
let values = props.selectedValue.map(item => {
//
return item;
});
if(props.selectedValue&&values){
/* console.log(props.selectedValue.value)
console.log("computed---if") */
return values
}else{
waitAndReGet()
/* console.log("computed---else") */
return []
}
//})
},
set(){}
})
/* console.log(props.selectedValue) */
const url = transferConfig.apiUrl;/* '/javasys/lowCode/transfer/getOrgAndManTree' */
function getDetail() {
//console.log(11111)
if(transferConfig.transferDataSource==="数据源"){
@ -90,9 +161,9 @@ if(transferConfig.transferDataSource==="数据源"){
label: '全选',
children: [...resData.value]
}]
treeRef.value.setCheckedKeys(checkedIdList,true)
treeRef.value.setCheckedKeys(checkedIdList.value,true)
setTimeout(() => {
checkedIdList.forEach(element => {
checkedIdList.value.forEach(element => {
const _node = treeRef?.value?.getNode(element)
if (!_node) return
const _checkList = checkList.value
@ -116,7 +187,7 @@ if(transferConfig.transferDataSource==="数据源"){
});
}
const getCheckedList = () => {
checkedIdList = treeRef.value.getCheckedKeys(true)
checkedIdList.value = treeRef.value.getCheckedKeys(true)
}
@ -303,10 +374,10 @@ if(transferConfig.transferDataSource==="固定选项"){
children: fixedOptions
}]
//console.log(treeRef)
treeRef.value.setCheckedKeys(checkedIdList,true)
/* console.log(checkedIdList.value) */
treeRef.value.setCheckedKeys(checkedIdList.value,true)
setTimeout(() => {
checkedIdList.forEach(element => {
checkedIdList.value.forEach(element => {
const _node = treeRef?.value?.getNode(element)
if (!_node) return
const _checkList = checkList.value
@ -334,9 +405,63 @@ if(transferConfig.transferDataSource==="固定选项"){
onMounted(() => {
})
// checkedIdList
watch(checkedIdList, (newValue, oldValue) => {
//console.log('checkedIdList ', newValue);
emits('checkedIdListChanged',newValue);
},{deep:true});
watch(selectedValueCompu, (newValue, oldValue) => {
//console.log('selectedValueCompu ', newValue);
checkedIdList.value = selectedValueCompu.value
//
if(transferConfig.transferDataSource==="固定选项"){
setTimeout(() => {
// 2: node
userList.value = [{
id: '全选',
label: '全选',
children: fixedOptions
}]
//console.log(treeRef)
/* console.log(checkedIdList.value) */
treeRef.value.setCheckedKeys(checkedIdList.value,true)
setTimeout(() => {
checkedIdList.value.forEach(element => {
const _node = treeRef?.value?.getNode(element)
if (!_node) return
const _checkList = checkList.value
if (_node.checked) { //
if (_node.checked && _node.childNodes.length === 0) {
_checkList.push(_node)
}
// new Set()
checkList.value = Array.from(new Set(_checkList))
// ,,
if (_node.childNodes.length > 0) {
_node.childNodes.map(item => handleCheckList(item.data))
}
} else if (!_node.checked) { //
checkList.value = checkList.value.filter(item => item.checked)
}
});
}, 50);
}, 50);
dataFinished = true
}else{
getDetail
dataFinished = true
}
//emits('updateModel',newValue);
},{deep:true});
</script>

Loading…
Cancel
Save