Browse Source

关联表单多变量数据填充条件---子表

lwx_v14
liwenxuan 1 year ago
parent
commit
1c44ea0c01
  1. 29
      src/components/DesignForm/public/form/form.vue
  2. 11
      src/widget/associatedforms/associatedForms.vue
  3. 7
      src/widget/associatedforms/associatedFormsTinyaceRange.vue

29
src/components/DesignForm/public/form/form.vue

@ -462,14 +462,14 @@ watch(() => model.value,(newVal) => {
let rangeFormulaArr = []
if(asfs.length>0){
asfs.forEach((element:any) => {
//console.log(element)
let asfName = element.name
//console.log("asfName----->"+asfName)
if(element.control.dataRangeGongShi&&element.control.dataRangeGongShi.mathsFormula&&element.control.dataRangeGongShi.mathsFormula.length>0){
let asfRangeDoubleCondi = element.control.dataRangeGongShi.mathsFormula
//console.log("----->"+asfRangeDoubleCondi)
if(currentChangeKey!=""){
//console.log("currentChangeKey----->"+currentChangeKey)
let a = asfRangeDoubleCondi.split(":")
let field = a[a.length-1]
if(currentChangeKey==field){
@ -480,10 +480,10 @@ watch(() => model.value,(newVal) => {
toShowDoubleCondiValVal:toShowDoubleCondiValVal
}
asfRangeDoubleCondiChangeObj.value = obj
//console.log(field)
}
}
//rangeFormulaArr.push()
}
});
}
@ -1609,7 +1609,7 @@ function getAsfs(){
setTimeout(()=>{
let dataList = ref({})
dataList.value = props.formData.list
//props.formData.list[i].type=="associatedForms"
if(dataList&&Array.isArray(dataList.value)&&dataList.value.length>0){
for(let i = 0;i<dataList.value.length;i++){
if(dataList.value[i].type=="associatedForms"){
@ -1627,12 +1627,12 @@ function getAsfs(){
});
}else if(dataList.value[i].type=="grid"){
let columns = JSON.parse(JSON.stringify(dataList.value[i].columns));
//console.log(columns)
if(columns.length>0){
for(let z = 0;z<columns.length;z++){
for(let x = 0; x<columns[z].list.length;x++){
let a = JSON.parse(JSON.stringify(columns[z].list[x]));
//console.log(a)
if(a.type=="associatedForms"){
asfs.push(a)
}
@ -1646,7 +1646,7 @@ function getAsfs(){
for(let z = 0;z<columns.length;z++){
for(let x = 0; x<columns[z].list.length;x++){
let a = JSON.parse(JSON.stringify(columns[z].list[x]));
//console.log(a)
if(a.type=="associatedForms"){
asfs.push(a)
}else if(a.type=="flex"||a.type=="table"){
@ -1658,7 +1658,7 @@ function getAsfs(){
if(a.list.length>0){
for(let m = 0;m<a.list.length;m++){
let q = JSON.parse(JSON.stringify(a.list[m]))
//console.log(q)
if(q.type=="associatedForms"){
asfs.push(q)
}
@ -1670,12 +1670,7 @@ function getAsfs(){
}
}
}
/* if(asfs.length>0){
console.log(asfs)
}
if(tables.length>0){
console.log(tables)
} */
}
},500)
}

11
src/widget/associatedforms/associatedForms.vue

@ -35,16 +35,15 @@ const asfRangeDoubleCondiChangeObj = inject('asfRangeDoubleCondiChangeObj')
watch(() => asfRangeDoubleCondiChangeObj,(newVal:any) => {
value1.value = ""
value2.value = ""
//console.log(newVal.value)
let newValObj = JSON.parse(JSON.stringify(newVal.value));
//console.log(newValObj)
//console.log(asfDataTitlesData)
let toShowDoubleCondiValValStr = newValObj.toShowDoubleCondiValVal+"";
//console.log(toShowDoubleCondiValValStr)
const filteredData = asfDataTitlesData.filter((item: any) => item.doubleCondiVal == toShowDoubleCondiValValStr);
//console.log(filteredData)
options.value = filteredData
//console.log(options.value)
},{deep: true})
const props = withDefaults(
defineProps<{

7
src/widget/associatedforms/associatedFormsTinyaceRange.vue

@ -95,17 +95,16 @@ watch(()=>tinymceHtml.value, (val:any) => {
if(!gongShi.formulaHtml.endsWith("</span></p>")){
errorCondition("请检查您的条件")
}else{
/* console.log(gongShi)
console.log(props.currentForm) */
const parts = gongShi.formulaHtml.split(':');
if (parts.length >= 2) {
const result = parts[parts.length - 2];
//console.log(result);
if(result.startsWith("table")){
errorCondition("第二个蓝色块不支持选择子表中的字段")
}else{
if(props.currentForm+""==result){
//console.log(result)
succCondition()
}else{
//errorCondition(",: .A==.B")

Loading…
Cancel
Save