Browse Source

文件,链接

yunpan
liwenxuan 3 months ago
parent
commit
9a067b3efe
  1. 19
      src/components/lowCode/assistant/uploadPage.vue
  2. 33
      src/components/lowCode/assistant/urlLink.vue

19
src/components/lowCode/assistant/uploadPage.vue

@ -138,8 +138,9 @@ const uploadSuccess = (response: any, uploadFile: any, uploadFiles: any) => {
// console.log("uploadSuccess=fileList==>",fileList) // console.log("uploadSuccess=fileList==>",fileList)
} }
</script> </script>
<template>{{types}} <template><!-- {'{types}} -->
<div> <div style="width: 100%;
display: inline;">
<el-upload <el-upload
v-bind="props.control" v-bind="props.control"
:action="uploadUrl" :action="uploadUrl"
@ -162,7 +163,8 @@ const uploadSuccess = (response: any, uploadFile: any, uploadFiles: any) => {
<el-button type="primary" plain v-if="props.config?.btnText"> <el-button type="primary" plain v-if="props.config?.btnText">
{{ props.config?.btnText }} {{ props.config?.btnText }}
</el-button> </el-button>
<i v-else class="icon-plus"><i class="fa fa-paperclip" ></i></i> <!-- <i v-else class="icon-plus"><i class="fa fa-paperclip" ></i></i> -->
<el-button v-else style="color:grey;font-weight: bolder;"><el-icon style="margin-right: 7px;font-weight: bolder;"><Plus /></el-icon></el-button>
</template> </template>
<template #tip v-if="props.config?.tip"> <template #tip v-if="props.config?.tip">
<div class="el-upload__tip"> <div class="el-upload__tip">
@ -172,6 +174,15 @@ const uploadSuccess = (response: any, uploadFile: any, uploadFiles: any) => {
</el-upload> </el-upload>
</div> </div>
</template> </template>
<style lang='scss' scoped> <style lang='scss' >
.el-upload-list__item {
border-radius: 4px;
box-sizing: border-box;
color: var(--el-text-color-regular);
font-size: 14px;
margin-bottom: 5px;
position: relative;
transition: all .5s cubic-bezier(.55,0,.1,1);
}
</style> </style>

33
src/components/lowCode/assistant/urlLink.vue

@ -142,8 +142,6 @@ const formatCustomRules = () => {
const urlVal = ref("http://") const urlVal = ref("http://")
//访URL //访URL
const openUrl = () => { const openUrl = () => {
console.log(1)
alert(1)
let patt = /^http(s)?:\/\/[\w-]+(\.[\w-]+)+(\:\d+)?(\/\w+)*(\?\w+=.*(\&\w+=.*)*)?$/i; let patt = /^http(s)?:\/\/[\w-]+(\.[\w-]+)+(\:\d+)?(\/\w+)*(\?\w+=.*(\&\w+=.*)*)?$/i;
console.log("编码组件-url-1111-》", value.value, patt.test(value.value)) console.log("编码组件-url-1111-》", value.value, patt.test(value.value))
if (patt.test(value.value)) { if (patt.test(value.value)) {
@ -188,10 +186,39 @@ onMounted(() => {
<template #append><el-button type="warning" @click="openUrl">访问</el-button></template> <template #append><el-button type="warning" @click="openUrl">访问</el-button></template>
</el-input> </el-input>
<div v-else style="border: 0px solid black; cursor: pointer; color:#0000EE; text-decoration:underline;" class="wordColor" @click="openUrl1">{{urlVal}}{{value}}</div><el-button v-show="false" type="warning" @click="openUrl">访问</el-button>
<div v-if="types==3" class="url-container" @click="openUrl1">
<span class="url-content">
{{urlVal}}{{value}}
</span>
</div>
</template> </template>
<style lang='scss' scoped> <style lang='scss' scoped>
.wordColor { .wordColor {
color: #000000; color: #000000;
} }
.url-container {
/* 容器样式(保持点击和下划线等特性) */
cursor: pointer;
color: #0000EE;
text-decoration: underline;
/* 可选:限制容器最大宽度,避免span无限拉伸 */
max-width: 100%;
}
.url-content {
/* 1. 自定义触发溢出的宽度(例如300px) */
width: 100%;
/* 2. 块级显示,确保width生效 */
display: inline-block;
/* 3. 超出宽度后自动换行(默认行为,可省略) */
white-space: normal;
/* 4. 处理长英文/数字不换行问题(可选) */
word-wrap: break-word;
text-decoration:underline;
}
</style> </style>
Loading…
Cancel
Save