Browse Source

关联表单v0.6

lwx_v8
liwenxuan 2 years ago
parent
commit
b28ea26ad4
  1. 5
      node_modules/.package-lock.json
  2. 6
      package-lock.json
  3. 1
      package.json
  4. 35
      src/components/DesignForm/formControlAttr.vue
  5. 2
      src/main.ts
  6. 34
      src/widget/associatedforms/associatedFormsTinyace.vue

5
node_modules/.package-lock.json

@ -3308,11 +3308,6 @@
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
"dev": true
},
"node_modules/default-passive-events": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/default-passive-events/-/default-passive-events-2.0.0.tgz",
"integrity": "sha512-eMtt76GpDVngZQ3ocgvRcNCklUMwID1PaNbCNxfpDXuiOXttSh0HzBbda1HU9SIUsDc02vb7g9+3I5tlqe/qMQ=="
},
"node_modules/defaults": {
"version": "1.0.4",
"resolved": "https://registry.npmmirror.com/defaults/-/defaults-1.0.4.tgz",

6
package-lock.json

@ -18,7 +18,6 @@
"@wecom/jssdk": "^1.3.2",
"axios": "^1.4.0",
"clipboard": "^2.0.11",
"default-passive-events": "^2.0.0",
"echarts": "^5.4.3",
"element-plus": "^2.3.4",
"font-awesome": "^4.7.0",
@ -3706,11 +3705,6 @@
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
"dev": true
},
"node_modules/default-passive-events": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/default-passive-events/-/default-passive-events-2.0.0.tgz",
"integrity": "sha512-eMtt76GpDVngZQ3ocgvRcNCklUMwID1PaNbCNxfpDXuiOXttSh0HzBbda1HU9SIUsDc02vb7g9+3I5tlqe/qMQ=="
},
"node_modules/defaults": {
"version": "1.0.4",
"resolved": "https://registry.npmmirror.com/defaults/-/defaults-1.0.4.tgz",

1
package.json

@ -49,7 +49,6 @@
"@wecom/jssdk": "^1.3.2",
"axios": "^1.4.0",
"clipboard": "^2.0.11",
"default-passive-events": "^2.0.0",
"echarts": "^5.4.3",
"element-plus": "^2.3.4",
"font-awesome": "^4.7.0",

35
src/components/DesignForm/formControlAttr.vue

@ -1833,7 +1833,7 @@ const filterNode = (value: string, associatedFormsCurrentFormFieldTree: Tree) =>
//flag
const associatedFormsHideDialogFlag = ref(false)
//
let associatedFormsHideDialogText = ref('')//
let associatedFormsHideDialogText = ref('')//textarea
//
let associatedFormsHideDialogTextCopy = ref('')
//
@ -1841,39 +1841,48 @@ function associatedFormsHideDialoghandle(){
associatedFormsHideDialogFlag.value = true
associatedFormsHideDialogTextCopy.value = associatedFormsHideDialogText.value
}
//text
function aftTextChanged(str:string){
//str = Object.assign({},str)
console.log(str)
//setTimeout(()=>{
associatedFormsHideDialogText.value = str
//},3000)
}
//asf
function asfhTextCancel(){
determine.value = false
associatedFormsHideDialogFlag.value = false
associatedFormsHideDialogText.value = associatedFormsHideDialogTextCopy.value
//copy
aft.value.handelCancel(associatedFormsHideDialogTextCopy)
}
//text
function aftTextChanged(str:any){
console.log(str)
associatedFormsHideDialogText.value = str.value
}
//true
let determine = ref(false)
let determine = ref(true)
//associatedFormsHideDialogFlag true init tinymce
watch(associatedFormsHideDialogFlag, (val) => {
if(associatedFormsHideDialogFlag.value===true&&determine.value===true){
determine.value = false
//setTimeout(() => {
//alert("determine:"+determine.value)
if(val===true&&determine.value===false){
setTimeout(() => {
aft.value.tinymceReInit()
//}, 200);
}, 200);
}
})
//
function handleDetermine(){
associatedFormsHideDialogFlag.value = false
determine.value = true
associatedFormsHideDialogTextCopy.value = associatedFormsHideDialogText.value
}
//liwenxuan20240403 associatedForms end
@ -3042,7 +3051,7 @@ const loadNextPage = () => {
<el-dialog v-model="associatedFormsHideDialogFlag" title="隐藏条件" top="150px" style="margin-top:70px ;min-height: 500px" width="50%">
<el-dialog v-model="associatedFormsHideDialogFlag" title="隐藏条件" top="150px" :close-on-click-modal="false" :show-close="false" style="margin-top:70px ;min-height: 500px" width="50%" >
<template v-if="controlData.type=='associatedForms'">
<div class="common-layout">
@ -3080,7 +3089,7 @@ const loadNextPage = () => {
<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 @textChange = "aftTextChanged" ref="aft" :aftText="associatedFormsHideDialogText" ></AssociatedFormsTinyace>
<AssociatedFormsTinyace ref="aft" :aft-text="associatedFormsHideDialogText" :aft-text-copy = "associatedFormsHideDialogTextCopy" @text-change = "aftTextChanged"></AssociatedFormsTinyace>
</div>
<div style="border: 1px solid gainsboro; height: 30%;"></div>
</el-main>

2
src/main.ts

@ -6,7 +6,7 @@ import { setupDirective } from '@/directive';
import ElementPlus from 'element-plus'
import zhCn from 'element-plus/es/locale/lang/zh-cn'
import 'default-passive-events'
import '@/permission';
// 本地SVG图标

34
src/widget/associatedforms/associatedFormsTinyace.vue

@ -34,7 +34,12 @@ const props = defineProps({
return {}
}
},
aftTextCopy:{
type: String,
default(){
return {}
}
},
})
let $emit = defineEmits(["textChange"]);
@ -49,27 +54,37 @@ onMounted(() => {
tinymce.init({}); //
});
watch(tinymceHtml, (val) => {
$emit('textChange',val);
})
const addIcon = (currentObject:any) =>{
console.log(currentObject)
//console.log(currentObject)
tinymce.activeEditor?.execCommand('mceInsertContent', false, `<span style="margin:3px;background-color: #4189EF;border-radius: 5px; padding:3px" contenteditable="false" data-keyid= "${currentObject.id}" >${currentObject.label}</span>`);
$emit('textChange',tinymceHtml);
}
//
const handelCancel = (associatedFormsHideDialogTextCopy:any) =>{
console.log(associatedFormsHideDialogTextCopy)
//console.log(associatedFormsHideDialogTextCopy)
tinymceHtml.value = associatedFormsHideDialogTextCopy
}
const tinymceReInit = ()=>{
const tinymceReInit = ()=>{
//alert("tinymceReInit")
//tinymce.init({}); //
//console.log(tinymce.get("tinymce"))
tinymce.get("tinymce")?.setContent('<p>213342</p>')
//setTimeout(() => {
let str:string = props.aftTextCopy
console.log(str)
//tinymce.get("tinymce")?.setContent(str)
//}, 60);
}
@ -84,6 +99,7 @@ defineExpose({
<template>
<editor id="tinymce" v-model="tinymceHtml" :init="tinymceInit" ></editor>
</template>
<style lang='scss' scoped>

Loading…
Cancel
Save