Browse Source

关联表单的隐藏条件和数据范围条件编辑校验

lwx_13
liwenxuan 1 year ago
parent
commit
4bcfe77b2b
  1. 10
      src/components/DesignForm/assembly/index.ts
  2. 15
      src/components/DesignForm/formControlAttr.vue
  3. 15
      src/components/DesignForm/formControlPropertiNew.vue
  4. 4
      src/widget/associatedforms/associatedFormsTinyace.vue
  5. 4
      src/widget/associatedforms/associatedFormsTinyaceRange.vue

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

@ -712,9 +712,19 @@ export default [
modelValue: '',
hideConditionHtml: '',
hideConditionHtmlCopy: '',
hideGongShi:{
formulaHtml:'',
mathsFormula:'',
mathsString:'',
},
formid: '',
dataRangeConditionHtml: '',
dataRangeConditionHtmlCopy: '',
dataRangeGongShi:{
formulaHtml:'',
mathsFormula:'',
mathsString:'',
},
saveFlag: false,
asfasfLabel:'',
fillRoles: [

15
src/components/DesignForm/formControlAttr.vue

@ -2263,9 +2263,20 @@ function aftTextChanged(str:string){
controlData.value.control.hideConditionHtml = str
}
function aftGongshiChanged(gongshi:any){
controlData.value.control.hideGongShi.formulaHtml = gongshi.formulaHtml
controlData.value.control.hideGongShi.mathsFormula = gongshi.mathsFormula
controlData.value.control.hideGongShi.mathsString = gongshi.mathsString
}
function aftTextChangedRange(str:string){
controlData.value.control.dataRangeConditionHtml = str
}
function aftGongshiChangedRange(gongshi:any){
controlData.value.control.dataRangeGongShi.formulaHtml = gongshi.formulaHtml
controlData.value.control.dataRangeGongShi.mathsFormula = gongshi.mathsFormula
controlData.value.control.dataRangeGongShi.mathsString = gongshi.mathsString
}
//asf
function asfhTextCancel(){
determine.value = false
@ -3837,7 +3848,7 @@ const disabledIstrue = (val:string) => {
<el-main style="border: 1px solid gainsboro; padding: 3px;" class="associatedFormsHideDialogMain">
<div style="border: 1px solid gainsboro; height: 7%; border-bottom: 0px; padding-top: 3px; padding-left: 5px; background-color: #E6F3FE;">当满足以下条件时此控件隐藏</div>
<div id="associatedFormsHideEditArea" style="border: 1px solid gainsboro; height: 63%; border-bottom: 0px;">
<AssociatedFormsTinyace ref="aft" :aft-text="controlData.control.hideConditionHtml" :aft-text-copy = "controlData.control.hideConditionHtmlCopy" @text-change = "aftTextChanged"></AssociatedFormsTinyace>
<AssociatedFormsTinyace ref="aft" :aft-text="controlData.control.hideConditionHtml" :aft-text-copy = "controlData.control.hideConditionHtmlCopy" @text-change = "aftTextChanged" @gongshi-change = "aftGongshiChanged"></AssociatedFormsTinyace>
<!-- <div style="border: 1px solid #4189EF;width:90px;height:26px;border-radius: 3px;padding:2px;text-align: center;cursor:pointer;float: right;margin-top: -32px;margin-right: 5px;z-index:99999999;position: relative;">
<span style="color: #4189EF;font:6px;margin-right: 5px;">fx</span>插入函数
</div> -->
@ -3947,7 +3958,7 @@ const disabledIstrue = (val:string) => {
<el-main style="border: 1px solid gainsboro; padding: 3px;" class="associatedFormsHideDialogMain">
<div style="border: 1px solid gainsboro; height: 7%; border-bottom: 0px; padding-top: 3px; padding-left: 5px; background-color: #E6F3FE;">仅可选择符合以下条件的数据</div>
<div id="associatedFormsHideEditArea" style="border: 1px solid gainsboro; height: 63%; border-bottom: 0px;">
<AssociatedFormsTinyaceRange ref="aftRange" :aft-text="controlData.control.dataRangeConditionHtml" :aft-text-copy = "controlData.control.dataRangeConditionHtmlCopy" @text-change = "aftTextChangedRange"></AssociatedFormsTinyaceRange>
<AssociatedFormsTinyaceRange ref="aftRange" :aft-text="controlData.control.dataRangeConditionHtml" :aft-text-copy = "controlData.control.dataRangeConditionHtmlCopy" @text-change = "aftTextChangedRange" @gongshi-change = "aftGongshiChangedRange"></AssociatedFormsTinyaceRange>
<!-- <div style="border: 1px solid #4189EF;width:90px;height:26px;border-radius: 3px;padding:2px;text-align: center;cursor:pointer;float: right;margin-top: -32px;margin-right: 5px;z-index:99999999;position: relative;">
<span style="color: #4189EF;font:6px;margin-right: 5px;">fx</span>插入函数
</div> -->

15
src/components/DesignForm/formControlPropertiNew.vue

@ -2298,9 +2298,20 @@ function aftTextChanged(str:string){
controlData.value.control.hideConditionHtml = str
}
function aftGongshiChanged(gongshi:any){
controlData.value.control.hideGongShi.formulaHtml = gongshi.formulaHtml
controlData.value.control.hideGongShi.mathsFormula = gongshi.mathsFormula
controlData.value.control.hideGongShi.mathsString = gongshi.mathsString
}
function aftTextChangedRange(str:string){
controlData.value.control.dataRangeConditionHtml = str
}
function aftGongshiChangedRange(gongshi:any){
controlData.value.control.dataRangeGongShi.formulaHtml = gongshi.formulaHtml
controlData.value.control.dataRangeGongShi.mathsFormula = gongshi.mathsFormula
controlData.value.control.dataRangeGongShi.mathsString = gongshi.mathsString
}
//asf
function asfhTextCancel(){
determine.value = false
@ -3870,7 +3881,7 @@ const disabledIstrue = (val:string) => {
<el-main style="border: 1px solid gainsboro; padding: 3px;" class="associatedFormsHideDialogMain">
<div style="border: 1px solid gainsboro; height: 7%; border-bottom: 0px; padding-top: 3px; padding-left: 5px; background-color: #E6F3FE;">当满足以下条件时此控件隐藏</div>
<div id="associatedFormsHideEditArea" style="border: 1px solid gainsboro; height: 63%; border-bottom: 0px;">
<AssociatedFormsTinyace ref="aft" :aft-text="controlData.control.hideConditionHtml" :aft-text-copy = "controlData.control.hideConditionHtmlCopy" @text-change = "aftTextChanged"></AssociatedFormsTinyace>
<AssociatedFormsTinyace ref="aft" :aft-text="controlData.control.hideConditionHtml" :aft-text-copy = "controlData.control.hideConditionHtmlCopy" @text-change = "aftTextChanged" @gongshi-change = "aftGongshiChanged"></AssociatedFormsTinyace>
<!-- <div style="border: 1px solid #4189EF;width:90px;height:26px;border-radius: 3px;padding:2px;text-align: center;cursor:pointer;float: right;margin-top: -32px;margin-right: 5px;z-index:99999999;position: relative;">
<span style="color: #4189EF;font:6px;margin-right: 5px;">fx</span>插入函数
</div> -->
@ -3980,7 +3991,7 @@ const disabledIstrue = (val:string) => {
<el-main style="border: 1px solid gainsboro; padding: 3px;" class="associatedFormsHideDialogMain">
<div style="border: 1px solid gainsboro; height: 7%; border-bottom: 0px; padding-top: 3px; padding-left: 5px; background-color: #E6F3FE;">仅可选择符合以下条件的数据</div>
<div id="associatedFormsHideEditArea" style="border: 1px solid gainsboro; height: 63%; border-bottom: 0px;">
<AssociatedFormsTinyaceRange ref="aftRange" :aft-text="controlData.control.dataRangeConditionHtml" :aft-text-copy = "controlData.control.dataRangeConditionHtmlCopy" @text-change = "aftTextChangedRange"></AssociatedFormsTinyaceRange>
<AssociatedFormsTinyaceRange ref="aftRange" :aft-text="controlData.control.dataRangeConditionHtml" :aft-text-copy = "controlData.control.dataRangeConditionHtmlCopy" @text-change = "aftTextChangedRange" @gongshi-change = "aftGongshiChangedRange"></AssociatedFormsTinyaceRange>
<!-- <div style="border: 1px solid #4189EF;width:90px;height:26px;border-radius: 3px;padding:2px;text-align: center;cursor:pointer;float: right;margin-top: -32px;margin-right: 5px;z-index:99999999;position: relative;">
<span style="color: #4189EF;font:6px;margin-right: 5px;">fx</span>插入函数
</div> -->

4
src/widget/associatedforms/associatedFormsTinyace.vue

@ -43,7 +43,7 @@ const props = defineProps({
},
})
let $emit = defineEmits(["textChange"]);
let $emit = defineEmits(["textChange","gongshiChange"]);
const tinymceHtml = ref("")
tinymceHtml.value = props.aftText
@ -75,7 +75,7 @@ watch(()=>tinymceHtml.value, (val:any) => {
mathsString:tinymceBox.value.innerText,
mathsFormula:suanShitwo,
}
$emit('gongshiChange',gongShi);
if(containsNewline(gongShi.mathsString)){
errorCondition("条件不允许换行")

4
src/widget/associatedforms/associatedFormsTinyaceRange.vue

@ -42,7 +42,7 @@ const props = defineProps({
},
})
let $emit = defineEmits(["textChange"]);
let $emit = defineEmits(["textChange","gongshiChange"]);
const tinymceHtml = ref("")
tinymceHtml.value = props.aftText
@ -75,7 +75,7 @@ watch(()=>tinymceHtml.value, (val:any) => {
mathsFormula:suanShitwo,
}
$emit('gongshiChange',gongShi);
if(containsNewline(gongShi.mathsString)){
errorCondition("条件不允许换行")
}else if(!gongShi.formulaHtml.startsWith("<p><span")){

Loading…
Cancel
Save