【更新】去掉前端组件无用的<style>标签,部分组件语法规范化

pull/159/MERGE
小诺 2023-09-04 22:31:55 +08:00 committed by 俞宝山
parent fc23e7dfb9
commit eeb3e72ee0
104 changed files with 936 additions and 1209 deletions

View File

@ -22,5 +22,3 @@
name: 'Gitee'
}
</script>
<style scoped></style>

View File

@ -77,5 +77,3 @@
}
})
</script>
<style scoped></style>

View File

@ -55,5 +55,3 @@
Echarts.setOption(option)
})
</script>
<style scoped></style>

View File

@ -52,5 +52,3 @@
}
})
</script>
<style scoped></style>

View File

@ -51,5 +51,3 @@
}
})
</script>
<style scoped></style>

View File

@ -33,5 +33,3 @@
}
})
</script>
<style scoped></style>

View File

@ -205,5 +205,3 @@
}
})
</script>
<style scoped></style>

View File

@ -322,5 +322,3 @@
}
})
</script>
<style scoped></style>

View File

@ -98,5 +98,3 @@
}
})
</script>
<style scoped></style>

View File

@ -79,5 +79,3 @@
}
})
</script>
<style scoped></style>

View File

@ -112,5 +112,3 @@
}
})
</script>
<style scoped></style>

View File

@ -112,5 +112,3 @@
}
})
</script>
<style scoped></style>

View File

@ -49,5 +49,3 @@
}
})
</script>
<style scoped></style>

View File

@ -137,5 +137,3 @@
}
})
</script>
<style scoped></style>

View File

@ -90,5 +90,3 @@
}
})
</script>
<style scoped></style>

View File

@ -262,5 +262,3 @@
}
})
</script>
<style scoped></style>

View File

@ -180,5 +180,3 @@
}
})
</script>
<style scoped></style>

View File

@ -32,5 +32,3 @@
}
})
</script>
<style scoped></style>

View File

@ -113,5 +113,3 @@
}
})
</script>
<style scoped></style>

View File

@ -79,5 +79,3 @@
}
})
</script>
<style scoped></style>

View File

@ -66,5 +66,3 @@
}
})
</script>
<style scoped></style>

View File

@ -35,5 +35,3 @@
}
})
</script>
<style scoped></style>

View File

@ -104,5 +104,3 @@
}
})
</script>
<style scoped></style>

View File

@ -81,5 +81,3 @@
}, 2000)
})
</script>
<style scoped></style>

View File

@ -145,5 +145,3 @@
}, 2000)
})
</script>
<style scoped></style>

View File

@ -75,5 +75,3 @@
}
})
</script>
<style scoped></style>

View File

@ -130,5 +130,3 @@
}
})
</script>
<style scoped></style>

View File

@ -30,5 +30,3 @@
}
})
</script>
<style scoped></style>

View File

@ -247,5 +247,3 @@
}
})
</script>
<style scoped></style>

View File

@ -58,5 +58,3 @@
piePlot.render()
})
</script>
<style scoped></style>

View File

@ -33,5 +33,3 @@
piePlot.render()
})
</script>
<style scoped></style>

View File

@ -49,5 +49,3 @@
piePlot.render()
})
</script>
<style scoped></style>

View File

@ -79,5 +79,3 @@
piePlot.render()
})
</script>
<style scoped></style>

View File

@ -35,5 +35,3 @@
})
})
</script>
<style scoped></style>

View File

@ -29,5 +29,3 @@
})
})
</script>
<style scoped></style>

View File

@ -38,5 +38,3 @@
gauge.render()
})
</script>
<style scoped></style>

View File

@ -20,5 +20,3 @@
liquidPlot.render()
})
</script>
<style scoped></style>

View File

@ -69,5 +69,3 @@
}, 100)
})
</script>
<style scoped></style>

View File

@ -56,5 +56,3 @@
}, 500)
})
</script>
<style scoped></style>

View File

@ -25,5 +25,3 @@
funnelPlot.render()
})
</script>
<style scoped></style>

View File

@ -46,5 +46,3 @@
funnelPlot.render()
})
</script>
<style scoped></style>

View File

@ -22,5 +22,3 @@
})
})
</script>
<style scoped></style>

View File

@ -28,5 +28,3 @@
})
})
</script>
<style scoped></style>

View File

@ -20,5 +20,3 @@
})
})
</script>
<style scoped></style>

View File

@ -33,5 +33,3 @@
})
})
</script>
<style scoped></style>

View File

@ -46,5 +46,3 @@
})
})
</script>
<style scoped></style>

View File

@ -50,5 +50,3 @@
})
})
</script>
<style scoped></style>

View File

@ -49,5 +49,3 @@
})
})
</script>
<style scoped></style>

View File

@ -335,5 +335,3 @@
scatterPlot.render()
})
</script>
<style scoped></style>

View File

@ -28,5 +28,3 @@
bar.render()
})
</script>
<style scoped></style>

View File

@ -124,5 +124,3 @@
stackedBarPlot.render()
})
</script>
<style scoped></style>

View File

@ -87,5 +87,3 @@
stackedBarPlot.render()
})
</script>
<style scoped></style>

View File

@ -32,5 +32,3 @@
barPlot.render()
})
</script>
<style scoped></style>

View File

@ -25,5 +25,3 @@
})
})
</script>
<style scoped></style>

View File

@ -30,5 +30,3 @@
})
})
</script>
<style scoped></style>

View File

@ -30,5 +30,3 @@
linePlot.render()
})
</script>
<style scoped></style>

View File

@ -46,5 +46,3 @@
})
})
</script>
<style scoped></style>

View File

@ -74,5 +74,3 @@
columnPlot.render()
})
</script>
<style scoped></style>

View File

@ -35,5 +35,3 @@
})
})
</script>
<style scoped></style>

View File

@ -118,5 +118,3 @@
stackedColumnPlot.render()
})
</script>
<style scoped></style>

View File

@ -136,5 +136,3 @@
columnPlot.render()
})
</script>
<style scoped></style>

View File

@ -71,5 +71,3 @@
bulletPlot.render()
})
</script>
<style scoped></style>

View File

@ -94,5 +94,3 @@
bulletPlot.render()
})
</script>
<style scoped></style>

File diff suppressed because it is too large Load Diff

View File

@ -145,7 +145,7 @@
})
</script>
<style scoped>
<style lang="less" scoped>
.circle {
border-radius: 50%;
}

View File

@ -2,7 +2,7 @@
<Editor v-model="contentValue" :init="init" :disabled="disabled" :placeholder="placeholder" @onClick="onClick" />
</template>
<script>
<script setup name="Editor">
import fileApi from '@/api/dev/fileApi'
import Editor from '@tinymce/tinymce-vue'
import tinymce from 'tinymce/tinymce'
@ -18,92 +18,87 @@
import 'tinymce/plugins/lists' //
import 'tinymce/plugins/advlist' //
export default {
components: {
Editor
const emit = defineEmits(['update:modelValue', 'onClick'])
const props = defineProps({
modelValue: {
type: String,
default: ''
},
props: {
modelValue: {
type: String,
default: ''
},
placeholder: {
type: String,
default: ''
},
height: {
type: Number,
default: 300
},
disabled: {
type: Boolean,
default: false
},
plugins: {
type: [String, Array],
default: 'code image link preview table lists advlist'
},
toolbar: {
type: [String, Array],
default:
'undo redo | forecolor backcolor bold italic underline strikethrough link | blocks fontfamily fontsize | \
alignleft aligncenter alignright alignjustify outdent indent lineheight | bullist numlist | \
image table preview | code selectall'
}
placeholder: {
type: String,
default: ''
},
data() {
return {
init: {
language_url: '/tinymce/langs/zh_CN.js',
language: 'zh_CN',
skin_url: '/tinymce/skins/ui/oxide',
content_css: '/tinymce/skins/content/default/content.css',
menubar: false,
statusbar: true,
plugins: this.plugins,
toolbar: this.toolbar,
fontsize_formats: '12px 14px 16px 18px 20px 22px 24px 28px 32px 36px 48px 56px 72px',
height: this.height,
placeholder: this.placeholder,
branding: false,
resize: true,
elementpath: true,
content_style: '',
images_upload_handler(blobInfo, progress) {
return new Promise((resolve, reject) => {
const data = new FormData()
data.append('file', blobInfo.blob(), blobInfo.filename())
fileApi.fileUploadDynamicReturnUrl(data).then((res) => {
return resolve(res)
}).catch((err) => {
return reject('err:' + err)
})
})
},
setup: (editor) => {
editor.on('init', function () {
this.getBody().style.fontSize = '14px'
})
}
},
contentValue: this.modelValue
}
height: {
type: Number,
default: 300
},
watch: {
modelValue(val) {
this.contentValue = val
},
contentValue(val) {
this.$emit('update:modelValue', val)
}
disabled: {
type: Boolean,
default: false
},
mounted() {
tinymce.init({})
plugins: {
type: [String, Array],
default: 'code image link preview table lists advlist'
},
methods: {
onClick(e) {
this.$emit('onClick', e, tinymce)
}
toolbar: {
type: [String, Array],
default:
'undo redo | forecolor backcolor bold italic underline strikethrough link | blocks fontfamily fontsize | \
alignleft aligncenter alignright alignjustify outdent indent lineheight | bullist numlist | \
image table preview | code selectall'
},
fileUploadFunction: {
type: Function,
default: undefined
}
})
const init = ref({
language_url: '/tinymce/langs/zh_CN.js',
language: 'zh_CN',
skin_url: '/tinymce/skins/ui/oxide',
content_css: '/tinymce/skins/content/default/content.css',
menubar: false,
statusbar: true,
plugins: props.plugins,
toolbar: props.toolbar,
fontsize_formats: '12px 14px 16px 18px 20px 22px 24px 28px 32px 36px 48px 56px 72px',
height: props.height,
placeholder: props.placeholder,
branding: false,
resize: true,
elementpath: true,
content_style: '',
images_upload_handler(blobInfo, progress) {
return new Promise((resolve, reject) => {
const param = new FormData()
param.append('file', blobInfo.blob(), blobInfo.filename())
props
.fileUploadFunction(param)
.then((data) => {
return resolve(data)
})
.catch((err) => {
return reject('err:' + err)
})
})
},
setup: (editor) => {
editor.on('init', () => {
// getBody().style.fontSize = '14px'
})
}
})
const contentValue = ref()
watch(props, (newValue) => {
emit('update:modelValue', newValue.modelValue)
})
watch(contentValue, (newValue) => {
emit('update:modelValue', newValue)
})
const onClick = (e) => {
emit('onClick', e, tinymce)
}
onMounted(() => {
tinymce.init({})
})
</script>

View File

@ -1,52 +1,44 @@
<template>
<div :class="[prefixCls]">
<div :class="[props.prefixCls]">
<slot name="subtitle">
<div :class="[`${prefixCls}-subtitle`]">{{ typeof subTitle === 'string' ? subTitle : subTitle() }}</div>
<div :class="[`${props.prefixCls}-subtitle`]">
{{ typeof props.subTitle === 'string' ? props.subTitle : props.subTitle() }}
</div>
</slot>
<div class="number-info-value">
<span>{{ total }}</span>
<span>{{ props.total }}</span>
<span class="sub-total">
{{ subTotal }}
<span v-if="`${status}` === 'up'"><caret-up-outlined /></span>
{{ props.subTotal }}
<span v-if="`${props.status}` === 'up'"><caret-up-outlined /></span>
<span v-else><caret-down-outlined /></span>
</span>
</div>
</div>
</template>
<script>
import { defineComponent } from 'vue'
<script setup name="NumberInfo">
import { CaretDownOutlined, CaretUpOutlined } from '@ant-design/icons-vue'
export default defineComponent({
name: 'NumberInfo',
components: {
CaretUpOutlined,
CaretDownOutlined
const props = defineProps({
prefixCls: {
type: String,
default: 'ant-pro-number-info'
},
props: {
prefixCls: {
type: String,
default: 'ant-pro-number-info'
},
total: {
type: Number,
required: true
},
subTotal: {
type: Number,
required: true
},
subTitle: {
type: [String, Function],
default: ''
},
status: {
type: String,
default: 'up'
}
total: {
type: Number,
required: true
},
data() {
return {}
subTotal: {
type: Number,
required: true
},
subTitle: {
type: [String, Function],
default: ''
},
status: {
type: String,
default: 'up'
}
})
</script>

View File

@ -13,8 +13,8 @@
<div v-if="item.iconItem.length > 1" class="xn-icon-select-radio">
<a-radio-group v-model:value="iconItemDefault" @change="radioGroupChange">
<a-radio-button v-for="iconItem in item.iconItem" :key="iconItem.key" :value="iconItem.key">{{
iconItem.name
}}</a-radio-button>
iconItem.name
}}</a-radio-button>
</a-radio-group>
</div>
@ -27,7 +27,7 @@
:class="icon === modelValue ? 'active' : ''"
@click="selectIcon(icon.font_class)"
>
<span class="snowy xn-icons" :class="icon.font_class" ></span>
<span class="snowy xn-icons" :class="icon.font_class"></span>
</li>
</ul>
</div>
@ -38,106 +38,106 @@
</template>
<script>
import config from '@/assets/icons/mobile'
export default {
data() {
return {
visible: false,
iconData: [],
modelValue: '',
activeKey: 'default',
iconItemDefault: 'default',
}
},
mounted() {
this.iconData.push(...config.icons)
},
methods: {
//
showIconModal(value) {
this.visible = true
this.defaultSetting(value)
import config from '@/assets/icons/mobile'
export default {
data() {
return {
visible: false,
iconData: [],
modelValue: '',
activeKey: 'default',
iconItemDefault: 'default'
}
},
//
defaultSetting(value) {
if (value) {
this.modelValue = value
//
if (value.indexOf('-outlined') > -1 || value.indexOf('-filled') > -1 || value.indexOf('-two-tone') > -1) {
this.activeKey = 'default'
if (value.indexOf('-two-tone') > -1) {
this.iconItemDefault = 'twotone'
} else if (value.indexOf('-filled') > -1) {
this.iconItemDefault = 'filled'
mounted() {
this.iconData.push(...config.icons)
},
methods: {
//
showIconModal(value) {
this.visible = true
this.defaultSetting(value)
},
//
defaultSetting(value) {
if (value) {
this.modelValue = value
//
if (value.indexOf('-outlined') > -1 || value.indexOf('-filled') > -1 || value.indexOf('-two-tone') > -1) {
this.activeKey = 'default'
if (value.indexOf('-two-tone') > -1) {
this.iconItemDefault = 'twotone'
} else if (value.indexOf('-filled') > -1) {
this.iconItemDefault = 'filled'
}
} else if (value.indexOf('-extend') > -1) {
//
this.activeKey = 'extend'
// ,
// this.iconItemDefault = 'json'
}
} else if (value.indexOf('-extend') > -1) {
//
this.activeKey = 'extend'
// ,
// this.iconItemDefault = 'json'
}
},
//
paneChange(e) {
if (e.indexOf('default') === -1) {
this.iconItemDefault = 'default'
}
},
// icon
radioGroupChange(e) {
this.iconItemDefault = e.target.value
},
//
selectIcon(value) {
this.defaultValue = value
this.visible = false
// eslint-disable-next-line vue/require-explicit-emits
this.$emit('iconCallBack', this.defaultValue)
},
onCancel() {
this.visible = false
}
},
//
paneChange(e) {
if (e.indexOf('default') === -1) {
this.iconItemDefault = 'default'
}
},
// icon
radioGroupChange(e) {
this.iconItemDefault = e.target.value
},
//
selectIcon(value) {
this.defaultValue = value
this.visible = false
// eslint-disable-next-line vue/require-explicit-emits
this.$emit('iconCallBack', this.defaultValue)
},
onCancel() {
this.visible = false
}
}
}
</script>
<style lang="less" scoped>
.xn-icon-select-radio {
padding-left: 5px;
padding-bottom: 10px;
}
.xn-icons {
font-size: 26px;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.xn-icon-select-list {
height: 360px;
overflow: auto;
}
.xn-icon-select-list ul {
li {
display: inline-block;
width: 60px;
height: 60px;
padding: 18px;
margin: 5px;
border-radius: 2px;
vertical-align: top;
box-shadow: 0 0 0 1px var(--border-color-split);
transition: all 0.1s;
position: relative;
.xn-icon-select-radio {
padding-left: 5px;
padding-bottom: 10px;
}
.xn-icons {
font-size: 26px;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.xn-icon-select-list {
height: 360px;
overflow: auto;
}
.xn-icon-select-list ul {
li {
display: inline-block;
width: 60px;
height: 60px;
padding: 18px;
margin: 5px;
border-radius: 2px;
vertical-align: top;
box-shadow: 0 0 0 1px var(--border-color-split);
transition: all 0.1s;
position: relative;
&:hover,
&.active {
cursor: pointer;
color: #ffffff;
background-color: var(--primary-color);
&:hover,
&.active {
cursor: pointer;
color: #ffffff;
background-color: var(--primary-color);
}
}
}
}
</style>

View File

@ -211,33 +211,37 @@
idList: recordIds.value
}
selectedTableListLoading.value = true
props.checkedOrgListApi(param).then((data) => {
selectedData.value = data
})
.finally(() => {
selectedTableListLoading.value = false
})
props
.checkedOrgListApi(param)
.then((data) => {
selectedData.value = data
})
.finally(() => {
selectedTableListLoading.value = false
})
}
}
//
const loadData = () => {
pageLoading.value = true
props.orgPageApi(searchFormState.value).then((data) => {
current.value = data.current
total.value = data.total
//
tableData.value = []
tableRecordNum.value = 0
tableData.value = data.records
if (data.records) {
tableRecordNum.value = data.records.length
} else {
props
.orgPageApi(searchFormState.value)
.then((data) => {
current.value = data.current
total.value = data.total
//
tableData.value = []
tableRecordNum.value = 0
}
})
.finally(() => {
pageLoading.value = false
})
tableData.value = data.records
if (data.records) {
tableRecordNum.value = data.records.length
} else {
tableRecordNum.value = 0
}
})
.finally(() => {
pageLoading.value = false
})
}
// pageSize
const paginationChange = (page, pageSize) => {

View File

@ -212,33 +212,37 @@
idList: recordIds.value
}
selectedTableListLoading.value = true
props.checkedPosListApi(param).then((data) => {
selectedData.value = data
})
.finally(() => {
selectedTableListLoading.value = false
})
props
.checkedPosListApi(param)
.then((data) => {
selectedData.value = data
})
.finally(() => {
selectedTableListLoading.value = false
})
}
}
//
const loadData = () => {
pageLoading.value = true
props.posPageApi(searchFormState.value).then((data) => {
current.value = data.current
total.value = data.total
//
tableData.value = []
tableRecordNum.value = 0
tableData.value = data.records
if (data.records) {
tableRecordNum.value = data.records.length
} else {
props
.posPageApi(searchFormState.value)
.then((data) => {
current.value = data.current
total.value = data.total
//
tableData.value = []
tableRecordNum.value = 0
}
})
.finally(() => {
pageLoading.value = false
})
tableData.value = data.records
if (data.records) {
tableRecordNum.value = data.records.length
} else {
tableRecordNum.value = 0
}
})
.finally(() => {
pageLoading.value = false
})
}
// pageSize
const paginationChange = (page, pageSize) => {

View File

@ -252,12 +252,14 @@
idList: recordIds.value
}
selectedTableListLoading.value = true
props.checkedRoleListApi(param).then((data) => {
selectedData.value = data
})
.finally(() => {
selectedTableListLoading.value = false
})
props
.checkedRoleListApi(param)
.then((data) => {
selectedData.value = data
})
.finally(() => {
selectedTableListLoading.value = false
})
}
}
//
@ -267,22 +269,24 @@
searchFormState.value.category = 'ORG'
}
pageLoading.value = true
props.rolePageApi(searchFormState.value).then((data) => {
current.value = data.current
total.value = data.total
//
tableData.value = []
tableRecordNum.value = 0
tableData.value = data.records
if (data.records) {
tableRecordNum.value = data.records.length
} else {
props
.rolePageApi(searchFormState.value)
.then((data) => {
current.value = data.current
total.value = data.total
//
tableData.value = []
tableRecordNum.value = 0
}
})
.finally(() => {
pageLoading.value = false
})
tableData.value = data.records
if (data.records) {
tableRecordNum.value = data.records.length
} else {
tableRecordNum.value = 0
}
})
.finally(() => {
pageLoading.value = false
})
}
// pageSize
const paginationChange = (page, pageSize) => {

View File

@ -212,34 +212,38 @@
idList: recordIds.value
}
selectedTableListLoading.value = true
props.checkedUserListApi(param).then((data) => {
selectedData.value = data
})
.finally(() => {
selectedTableListLoading.value = false
})
props
.checkedUserListApi(param)
.then((data) => {
selectedData.value = data
})
.finally(() => {
selectedTableListLoading.value = false
})
}
}
//
const loadData = () => {
pageLoading.value = true
props.userPageApi(searchFormState.value).then((data) => {
current.value = data.current
// pageSize.value = data.size
total.value = data.total
//
tableData.value = []
tableRecordNum.value = 0
tableData.value = data.records
if (data.records) {
tableRecordNum.value = data.records.length
} else {
props
.userPageApi(searchFormState.value)
.then((data) => {
current.value = data.current
// pageSize.value = data.size
total.value = data.total
//
tableData.value = []
tableRecordNum.value = 0
}
})
.finally(() => {
pageLoading.value = false
})
tableData.value = data.records
if (data.records) {
tableRecordNum.value = data.records.length
} else {
tableRecordNum.value = 0
}
})
.finally(() => {
pageLoading.value = false
})
}
// pageSize
const paginationChange = (page, pageSize) => {

View File

@ -1,44 +1,32 @@
<template>
<div :class="[prefixCls, reverseColor && 'reverse-color']">
<div :class="[props.prefixCls, props.reverseColor && 'reverse-color']">
<span>
<slot name="term"></slot>
<span class="item-text">
<slot></slot>
</span>
</span>
<span v-if="`${flag}` === 'up'" :class="[flag]"><caret-up-outlined /></span>
<span v-else :class="[flag]"><caret-down-outlined /></span>
<span v-if="`${props.flag}` === 'up'" :class="[props.flag]"><caret-up-outlined /></span>
<span v-else :class="[props.flag]"><caret-down-outlined /></span>
</div>
</template>
<script>
import { defineComponent } from 'vue'
<script setup name="Trend">
import { CaretDownOutlined, CaretUpOutlined } from '@ant-design/icons-vue'
export default defineComponent({
name: 'Trend',
components: {
CaretUpOutlined,
CaretDownOutlined
const props = defineProps({
prefixCls: {
type: String,
default: 'ant-pro-trend'
},
props: {
prefixCls: {
type: String,
default: 'ant-pro-trend'
},
/**
* 上升下降标识up|down
*/
flag: {
type: String,
required: true
},
/**
* 颜色反转
*/
reverseColor: {
type: Boolean,
default: false
}
// up|down
flag: {
type: String,
required: true
},
//
reverseColor: {
type: Boolean,
default: false
}
})
</script>

View File

@ -192,5 +192,3 @@
})
}
</script>
<style scoped></style>

View File

@ -193,5 +193,3 @@
})
}
</script>
<style scoped></style>

View File

@ -166,5 +166,3 @@
})
}
</script>
<style scoped></style>

View File

@ -22,5 +22,3 @@
})
}
</script>
<style scoped></style>

View File

@ -28,7 +28,12 @@
/>
</a-form-item>
<a-form-item label="邮件正文" name="content" v-if="sendType === 'HTML'">
<xn-editor v-model="formData.content" placeholder="请输入邮件正文" :height="200"></xn-editor>
<xn-editor
v-model="formData.content"
placeholder="请输入邮件正文"
:height="200"
:file-upload-function="apiFunction.fileUploadApi"
/>
</a-form-item>
<a-form-item label="模板名:" name="templateName" v-if="sendType === 'TMP'">
<a-input v-model:value="formData.templateName" placeholder="请输入预先创建且通过审核的模板名称" allow-clear />
@ -45,11 +50,10 @@
<script setup name="aliyunEmailSend">
import { message } from 'ant-design-vue'
import XnEditor from '@/components/Editor/index.vue'
import { required, rules } from '@/utils/formRules'
import { required } from '@/utils/formRules'
import emailApi from '@/api/dev/emailApi'
import fileApi from '@/api/dev/fileApi'
const uploadRef = ref()
//
const sendType = ref('TXT')
// emit
@ -103,6 +107,14 @@
}
})
}
// API
const apiFunction = {
fileUploadApi: (param) => {
return fileApi.fileUploadDynamicReturnUrl(param).then((data) => {
return Promise.resolve(data)
})
}
}
//
defineExpose({
send

View File

@ -24,7 +24,12 @@
/>
</a-form-item>
<a-form-item label="邮件正文" name="content" v-if="sendType === 'HTML'">
<xn-editor v-model="formData.content" placeholder="请输入邮件正文" :height="200"></xn-editor>
<xn-editor
v-model="formData.content"
placeholder="请输入邮件正文"
:height="200"
:file-upload-function="apiFunction.fileUploadApi"
/>
</a-form-item>
</a-form>
</template>
@ -32,7 +37,7 @@
<script setup name="localEmailSend">
import { message } from 'ant-design-vue'
import XnEditor from '@/components/Editor/index.vue'
import { required, rules } from '@/utils/formRules'
import { required } from '@/utils/formRules'
import emailApi from '@/api/dev/emailApi'
import fileApi from '@/api/dev/fileApi'
@ -77,6 +82,14 @@
}
})
}
// API
const apiFunction = {
fileUploadApi: (param) => {
return fileApi.fileUploadDynamicReturnUrl(param).then((data) => {
return Promise.resolve(data)
})
}
}
//
defineExpose({
send

View File

@ -28,7 +28,12 @@
/>
</a-form-item>
<a-form-item label="邮件正文" name="content" v-if="sendType === 'HTML'">
<xn-editor v-model="formData.content" placeholder="请输入邮件正文" :height="200"></xn-editor>
<xn-editor
v-model="formData.content"
placeholder="请输入邮件正文"
:height="200"
:file-upload-function="apiFunction.fileUploadApi"
/>
</a-form-item>
<a-form-item label="模板名:" name="templateName" v-if="sendType === 'TMP'">
<a-input v-model:value="formData.templateName" placeholder="请输入预先创建且通过审核的模板名称" allow-clear />
@ -45,7 +50,7 @@
<script setup name="tencentEmailSend">
import { message } from 'ant-design-vue'
import XnEditor from '@/components/Editor/index.vue'
import { required, rules } from '@/utils/formRules'
import { required } from '@/utils/formRules'
import emailApi from '@/api/dev/emailApi'
import fileApi from '@/api/dev/fileApi'
@ -102,6 +107,14 @@
}
})
}
// API
const apiFunction = {
fileUploadApi: (param) => {
return fileApi.fileUploadDynamicReturnUrl(param).then((data) => {
return Promise.resolve(data)
})
}
}
//
defineExpose({
send

View File

@ -24,10 +24,8 @@
</template>
<script setup name="eCBingZhuangTu">
import BasicCandlestick from '@/components/Chart/eCBingZhuangTu/RefererOfAWebsite.vue'
import RefererOfAWebsite from '@/components/Chart/eCBingZhuangTu/RefererOfAWebsite.vue'
import DoughnutChartWithRoundedCorner from '@/components/Chart/eCBingZhuangTu/DoughnutChartWithRoundedCorner.vue'
import CustomizedPie from '@/components/Chart/eCBingZhuangTu/CustomizedPie.vue'
import NightingaleChart from '@/components/Chart/eCBingZhuangTu/NightingaleChart.vue'
</script>
<style scoped></style>

View File

@ -9,5 +9,3 @@
</template>
<script setup name="eCHengTiaoTu"></script>
<style scoped></style>

View File

@ -18,5 +18,3 @@
import BasicCandlestick from '@/components/Chart/eCKXianTu/BasicCandlestick.vue'
import ShangHaiIndex from '@/components/Chart/eCKXianTu/ShangHaiIndex.vue'
</script>
<style scoped></style>

View File

@ -29,5 +29,3 @@
import CustomizedFunnel from '@/components/Chart/eCLouDouTu/CustomizedFunnel.vue'
import MultipleFunnels from '@/components/Chart/eCLouDouTu/MultipleFunnels.vue'
</script>
<style scoped></style>

View File

@ -29,5 +29,3 @@
import EffectScatterChart from '@/components/Chart/eCSanDianTu/EffectScatterChart.vue'
import ScatterAqiColor from '@/components/Chart/eCSanDianTu/ScatterAqiColor.vue'
</script>
<style scoped></style>

View File

@ -7,5 +7,3 @@
<script setup name="eCShuXingTu">
import TreeWithPolylineEdge from '@/components/Chart/eCShuXingTu/TreeWithPolylineEdge.vue'
</script>
<style scoped></style>

View File

@ -29,5 +29,3 @@
import StackedAreaChart from '@/components/Chart/eCXianXingTu/StackedAreaChart.vue'
import StepLine from '@/components/Chart/eCXianXingTu/StepLine.vue'
</script>
<style scoped></style>

View File

@ -29,5 +29,3 @@
import TemperatureGaugeChart from '@/components/Chart/eCYiBiaoTu/TemperatureGaugeChart.vue'
import GrogressGauge from '@/components/Chart/eCYiBiaoTu/GrogressGauge.vue'
</script>
<style scoped></style>

View File

@ -9,5 +9,3 @@
</template>
<script setup name="eCZheZhuTu"></script>
<style scoped></style>

View File

@ -29,5 +29,3 @@
import BarChartWithNegativeValue from '@/components/Chart/eCZhuZhuangTu/BarChartWithNegativeValue.vue'
import WatermarkEChartsDownload from '@/components/Chart/eCZhuZhuangTu/WatermarkEChartsDownload.vue'
</script>
<style scoped></style>

View File

@ -24,5 +24,3 @@
</template>
<script setup name="g2BingZhuangTu"></script>
<style scoped></style>

View File

@ -14,5 +14,3 @@
</template>
<script setup name="g2CiYunTu"></script>
<style scoped></style>

View File

@ -24,5 +24,3 @@
</template>
<script setup name="g2JinDuTu"></script>
<style scoped></style>

View File

@ -14,5 +14,3 @@
</template>
<script setup name="g2LouDouTu"></script>
<style scoped></style>

View File

@ -24,5 +24,3 @@
</template>
<script setup name="g2MianJiTu"></script>
<style scoped></style>

View File

@ -24,5 +24,3 @@
</template>
<script setup name="g2SanDianTu"></script>
<style scoped></style>

View File

@ -24,5 +24,3 @@
</template>
<script setup name="g2TiaoXingTu"></script>
<style scoped></style>

View File

@ -24,5 +24,3 @@
</template>
<script setup name="g2ZheXianTu"></script>
<style scoped></style>

View File

@ -24,5 +24,3 @@
</template>
<script setup name="g2ZhuZhuangTu"></script>
<style scoped></style>

View File

@ -14,5 +14,3 @@
</template>
<script setup name="g2ZiDanTu"></script>
<style scoped></style>

Some files were not shown because too many files have changed in this diff Show More