mirror of https://gitee.com/xiaonuobase/snowy
【更新】去掉前端组件无用的<style>标签,部分组件语法规范化
parent
fc23e7dfb9
commit
eeb3e72ee0
|
@ -22,5 +22,3 @@
|
||||||
name: 'Gitee'
|
name: 'Gitee'
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -77,5 +77,3 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -55,5 +55,3 @@
|
||||||
Echarts.setOption(option)
|
Echarts.setOption(option)
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -52,5 +52,3 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -51,5 +51,3 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -33,5 +33,3 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -205,5 +205,3 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -322,5 +322,3 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -98,5 +98,3 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -79,5 +79,3 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -112,5 +112,3 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -112,5 +112,3 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -49,5 +49,3 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -137,5 +137,3 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -90,5 +90,3 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -262,5 +262,3 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -180,5 +180,3 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -32,5 +32,3 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -113,5 +113,3 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -79,5 +79,3 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -66,5 +66,3 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -35,5 +35,3 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -104,5 +104,3 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -81,5 +81,3 @@
|
||||||
}, 2000)
|
}, 2000)
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -145,5 +145,3 @@
|
||||||
}, 2000)
|
}, 2000)
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -75,5 +75,3 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -130,5 +130,3 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -30,5 +30,3 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -247,5 +247,3 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -58,5 +58,3 @@
|
||||||
piePlot.render()
|
piePlot.render()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -33,5 +33,3 @@
|
||||||
piePlot.render()
|
piePlot.render()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -49,5 +49,3 @@
|
||||||
piePlot.render()
|
piePlot.render()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -79,5 +79,3 @@
|
||||||
piePlot.render()
|
piePlot.render()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -35,5 +35,3 @@
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -29,5 +29,3 @@
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -38,5 +38,3 @@
|
||||||
gauge.render()
|
gauge.render()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -20,5 +20,3 @@
|
||||||
liquidPlot.render()
|
liquidPlot.render()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -69,5 +69,3 @@
|
||||||
}, 100)
|
}, 100)
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -56,5 +56,3 @@
|
||||||
}, 500)
|
}, 500)
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -25,5 +25,3 @@
|
||||||
funnelPlot.render()
|
funnelPlot.render()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -46,5 +46,3 @@
|
||||||
funnelPlot.render()
|
funnelPlot.render()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -22,5 +22,3 @@
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -28,5 +28,3 @@
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -20,5 +20,3 @@
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -33,5 +33,3 @@
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -46,5 +46,3 @@
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -50,5 +50,3 @@
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -49,5 +49,3 @@
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -335,5 +335,3 @@
|
||||||
scatterPlot.render()
|
scatterPlot.render()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -28,5 +28,3 @@
|
||||||
bar.render()
|
bar.render()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -124,5 +124,3 @@
|
||||||
stackedBarPlot.render()
|
stackedBarPlot.render()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -87,5 +87,3 @@
|
||||||
stackedBarPlot.render()
|
stackedBarPlot.render()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -32,5 +32,3 @@
|
||||||
barPlot.render()
|
barPlot.render()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -25,5 +25,3 @@
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -30,5 +30,3 @@
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -30,5 +30,3 @@
|
||||||
linePlot.render()
|
linePlot.render()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -46,5 +46,3 @@
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -74,5 +74,3 @@
|
||||||
columnPlot.render()
|
columnPlot.render()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -35,5 +35,3 @@
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -118,5 +118,3 @@
|
||||||
stackedColumnPlot.render()
|
stackedColumnPlot.render()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -136,5 +136,3 @@
|
||||||
columnPlot.render()
|
columnPlot.render()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -71,5 +71,3 @@
|
||||||
bulletPlot.render()
|
bulletPlot.render()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -94,5 +94,3 @@
|
||||||
bulletPlot.render()
|
bulletPlot.render()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -145,7 +145,7 @@
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style lang="less" scoped>
|
||||||
.circle {
|
.circle {
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<Editor v-model="contentValue" :init="init" :disabled="disabled" :placeholder="placeholder" @onClick="onClick" />
|
<Editor v-model="contentValue" :init="init" :disabled="disabled" :placeholder="placeholder" @onClick="onClick" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script setup name="Editor">
|
||||||
import fileApi from '@/api/dev/fileApi'
|
import fileApi from '@/api/dev/fileApi'
|
||||||
import Editor from '@tinymce/tinymce-vue'
|
import Editor from '@tinymce/tinymce-vue'
|
||||||
import tinymce from 'tinymce/tinymce'
|
import tinymce from 'tinymce/tinymce'
|
||||||
|
@ -18,92 +18,87 @@
|
||||||
import 'tinymce/plugins/lists' // 列表编号
|
import 'tinymce/plugins/lists' // 列表编号
|
||||||
import 'tinymce/plugins/advlist' //高级列表编号
|
import 'tinymce/plugins/advlist' //高级列表编号
|
||||||
|
|
||||||
export default {
|
const emit = defineEmits(['update:modelValue', 'onClick'])
|
||||||
components: {
|
const props = defineProps({
|
||||||
Editor
|
modelValue: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
},
|
},
|
||||||
props: {
|
placeholder: {
|
||||||
modelValue: {
|
type: String,
|
||||||
type: String,
|
default: ''
|
||||||
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'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
data() {
|
height: {
|
||||||
return {
|
type: Number,
|
||||||
init: {
|
default: 300
|
||||||
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
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
watch: {
|
disabled: {
|
||||||
modelValue(val) {
|
type: Boolean,
|
||||||
this.contentValue = val
|
default: false
|
||||||
},
|
|
||||||
contentValue(val) {
|
|
||||||
this.$emit('update:modelValue', val)
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
mounted() {
|
plugins: {
|
||||||
tinymce.init({})
|
type: [String, Array],
|
||||||
|
default: 'code image link preview table lists advlist'
|
||||||
},
|
},
|
||||||
methods: {
|
toolbar: {
|
||||||
onClick(e) {
|
type: [String, Array],
|
||||||
this.$emit('onClick', e, tinymce)
|
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>
|
</script>
|
||||||
|
|
|
@ -1,52 +1,44 @@
|
||||||
<template>
|
<template>
|
||||||
<div :class="[prefixCls]">
|
<div :class="[props.prefixCls]">
|
||||||
<slot name="subtitle">
|
<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>
|
</slot>
|
||||||
<div class="number-info-value">
|
<div class="number-info-value">
|
||||||
<span>{{ total }}</span>
|
<span>{{ props.total }}</span>
|
||||||
<span class="sub-total">
|
<span class="sub-total">
|
||||||
{{ subTotal }}
|
{{ props.subTotal }}
|
||||||
<span v-if="`${status}` === 'up'"><caret-up-outlined /></span>
|
<span v-if="`${props.status}` === 'up'"><caret-up-outlined /></span>
|
||||||
<span v-else><caret-down-outlined /></span>
|
<span v-else><caret-down-outlined /></span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script setup name="NumberInfo">
|
||||||
import { defineComponent } from 'vue'
|
|
||||||
import { CaretDownOutlined, CaretUpOutlined } from '@ant-design/icons-vue'
|
import { CaretDownOutlined, CaretUpOutlined } from '@ant-design/icons-vue'
|
||||||
export default defineComponent({
|
|
||||||
name: 'NumberInfo',
|
const props = defineProps({
|
||||||
components: {
|
prefixCls: {
|
||||||
CaretUpOutlined,
|
type: String,
|
||||||
CaretDownOutlined
|
default: 'ant-pro-number-info'
|
||||||
},
|
},
|
||||||
props: {
|
total: {
|
||||||
prefixCls: {
|
type: Number,
|
||||||
type: String,
|
required: true
|
||||||
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'
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
data() {
|
subTotal: {
|
||||||
return {}
|
type: Number,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
subTitle: {
|
||||||
|
type: [String, Function],
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
status: {
|
||||||
|
type: String,
|
||||||
|
default: 'up'
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -13,8 +13,8 @@
|
||||||
<div v-if="item.iconItem.length > 1" class="xn-icon-select-radio">
|
<div v-if="item.iconItem.length > 1" class="xn-icon-select-radio">
|
||||||
<a-radio-group v-model:value="iconItemDefault" @change="radioGroupChange">
|
<a-radio-group v-model:value="iconItemDefault" @change="radioGroupChange">
|
||||||
<a-radio-button v-for="iconItem in item.iconItem" :key="iconItem.key" :value="iconItem.key">{{
|
<a-radio-button v-for="iconItem in item.iconItem" :key="iconItem.key" :value="iconItem.key">{{
|
||||||
iconItem.name
|
iconItem.name
|
||||||
}}</a-radio-button>
|
}}</a-radio-button>
|
||||||
</a-radio-group>
|
</a-radio-group>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
:class="icon === modelValue ? 'active' : ''"
|
:class="icon === modelValue ? 'active' : ''"
|
||||||
@click="selectIcon(icon.font_class)"
|
@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>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
@ -38,106 +38,106 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import config from '@/assets/icons/mobile'
|
import config from '@/assets/icons/mobile'
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
visible: false,
|
visible: false,
|
||||||
iconData: [],
|
iconData: [],
|
||||||
modelValue: '',
|
modelValue: '',
|
||||||
activeKey: 'default',
|
activeKey: 'default',
|
||||||
iconItemDefault: 'default',
|
iconItemDefault: 'default'
|
||||||
}
|
}
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.iconData.push(...config.icons)
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
// 打开
|
|
||||||
showIconModal(value) {
|
|
||||||
this.visible = true
|
|
||||||
this.defaultSetting(value)
|
|
||||||
},
|
},
|
||||||
// 默认配置
|
mounted() {
|
||||||
defaultSetting(value) {
|
this.iconData.push(...config.icons)
|
||||||
if (value) {
|
},
|
||||||
this.modelValue = value
|
methods: {
|
||||||
// 判断展开哪个
|
// 打开
|
||||||
if (value.indexOf('-outlined') > -1 || value.indexOf('-filled') > -1 || value.indexOf('-two-tone') > -1) {
|
showIconModal(value) {
|
||||||
this.activeKey = 'default'
|
this.visible = true
|
||||||
if (value.indexOf('-two-tone') > -1) {
|
this.defaultSetting(value)
|
||||||
this.iconItemDefault = 'twotone'
|
},
|
||||||
} else if (value.indexOf('-filled') > -1) {
|
// 默认配置
|
||||||
this.iconItemDefault = 'filled'
|
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>
|
</script>
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.xn-icon-select-radio {
|
.xn-icon-select-radio {
|
||||||
padding-left: 5px;
|
padding-left: 5px;
|
||||||
padding-bottom: 10px;
|
padding-bottom: 10px;
|
||||||
}
|
}
|
||||||
.xn-icons {
|
.xn-icons {
|
||||||
font-size: 26px;
|
font-size: 26px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
.xn-icon-select-list {
|
.xn-icon-select-list {
|
||||||
height: 360px;
|
height: 360px;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
}
|
}
|
||||||
.xn-icon-select-list ul {
|
.xn-icon-select-list ul {
|
||||||
li {
|
li {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 60px;
|
width: 60px;
|
||||||
height: 60px;
|
height: 60px;
|
||||||
padding: 18px;
|
padding: 18px;
|
||||||
margin: 5px;
|
margin: 5px;
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
vertical-align: top;
|
vertical-align: top;
|
||||||
box-shadow: 0 0 0 1px var(--border-color-split);
|
box-shadow: 0 0 0 1px var(--border-color-split);
|
||||||
transition: all 0.1s;
|
transition: all 0.1s;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
&:hover,
|
&:hover,
|
||||||
&.active {
|
&.active {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
background-color: var(--primary-color);
|
background-color: var(--primary-color);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -211,33 +211,37 @@
|
||||||
idList: recordIds.value
|
idList: recordIds.value
|
||||||
}
|
}
|
||||||
selectedTableListLoading.value = true
|
selectedTableListLoading.value = true
|
||||||
props.checkedOrgListApi(param).then((data) => {
|
props
|
||||||
selectedData.value = data
|
.checkedOrgListApi(param)
|
||||||
})
|
.then((data) => {
|
||||||
.finally(() => {
|
selectedData.value = data
|
||||||
selectedTableListLoading.value = false
|
})
|
||||||
})
|
.finally(() => {
|
||||||
|
selectedTableListLoading.value = false
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 查询主表格数据
|
// 查询主表格数据
|
||||||
const loadData = () => {
|
const loadData = () => {
|
||||||
pageLoading.value = true
|
pageLoading.value = true
|
||||||
props.orgPageApi(searchFormState.value).then((data) => {
|
props
|
||||||
current.value = data.current
|
.orgPageApi(searchFormState.value)
|
||||||
total.value = data.total
|
.then((data) => {
|
||||||
// 重置、赋值
|
current.value = data.current
|
||||||
tableData.value = []
|
total.value = data.total
|
||||||
tableRecordNum.value = 0
|
// 重置、赋值
|
||||||
tableData.value = data.records
|
tableData.value = []
|
||||||
if (data.records) {
|
|
||||||
tableRecordNum.value = data.records.length
|
|
||||||
} else {
|
|
||||||
tableRecordNum.value = 0
|
tableRecordNum.value = 0
|
||||||
}
|
tableData.value = data.records
|
||||||
})
|
if (data.records) {
|
||||||
.finally(() => {
|
tableRecordNum.value = data.records.length
|
||||||
pageLoading.value = false
|
} else {
|
||||||
})
|
tableRecordNum.value = 0
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
pageLoading.value = false
|
||||||
|
})
|
||||||
}
|
}
|
||||||
// pageSize改变回调分页事件
|
// pageSize改变回调分页事件
|
||||||
const paginationChange = (page, pageSize) => {
|
const paginationChange = (page, pageSize) => {
|
||||||
|
|
|
@ -212,33 +212,37 @@
|
||||||
idList: recordIds.value
|
idList: recordIds.value
|
||||||
}
|
}
|
||||||
selectedTableListLoading.value = true
|
selectedTableListLoading.value = true
|
||||||
props.checkedPosListApi(param).then((data) => {
|
props
|
||||||
selectedData.value = data
|
.checkedPosListApi(param)
|
||||||
})
|
.then((data) => {
|
||||||
.finally(() => {
|
selectedData.value = data
|
||||||
selectedTableListLoading.value = false
|
})
|
||||||
})
|
.finally(() => {
|
||||||
|
selectedTableListLoading.value = false
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 查询主表格数据
|
// 查询主表格数据
|
||||||
const loadData = () => {
|
const loadData = () => {
|
||||||
pageLoading.value = true
|
pageLoading.value = true
|
||||||
props.posPageApi(searchFormState.value).then((data) => {
|
props
|
||||||
current.value = data.current
|
.posPageApi(searchFormState.value)
|
||||||
total.value = data.total
|
.then((data) => {
|
||||||
// 重置、赋值
|
current.value = data.current
|
||||||
tableData.value = []
|
total.value = data.total
|
||||||
tableRecordNum.value = 0
|
// 重置、赋值
|
||||||
tableData.value = data.records
|
tableData.value = []
|
||||||
if (data.records) {
|
|
||||||
tableRecordNum.value = data.records.length
|
|
||||||
} else {
|
|
||||||
tableRecordNum.value = 0
|
tableRecordNum.value = 0
|
||||||
}
|
tableData.value = data.records
|
||||||
})
|
if (data.records) {
|
||||||
.finally(() => {
|
tableRecordNum.value = data.records.length
|
||||||
pageLoading.value = false
|
} else {
|
||||||
})
|
tableRecordNum.value = 0
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
pageLoading.value = false
|
||||||
|
})
|
||||||
}
|
}
|
||||||
// pageSize改变回调分页事件
|
// pageSize改变回调分页事件
|
||||||
const paginationChange = (page, pageSize) => {
|
const paginationChange = (page, pageSize) => {
|
||||||
|
|
|
@ -252,12 +252,14 @@
|
||||||
idList: recordIds.value
|
idList: recordIds.value
|
||||||
}
|
}
|
||||||
selectedTableListLoading.value = true
|
selectedTableListLoading.value = true
|
||||||
props.checkedRoleListApi(param).then((data) => {
|
props
|
||||||
selectedData.value = data
|
.checkedRoleListApi(param)
|
||||||
})
|
.then((data) => {
|
||||||
.finally(() => {
|
selectedData.value = data
|
||||||
selectedTableListLoading.value = false
|
})
|
||||||
})
|
.finally(() => {
|
||||||
|
selectedTableListLoading.value = false
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 查询主表格数据
|
// 查询主表格数据
|
||||||
|
@ -267,22 +269,24 @@
|
||||||
searchFormState.value.category = 'ORG'
|
searchFormState.value.category = 'ORG'
|
||||||
}
|
}
|
||||||
pageLoading.value = true
|
pageLoading.value = true
|
||||||
props.rolePageApi(searchFormState.value).then((data) => {
|
props
|
||||||
current.value = data.current
|
.rolePageApi(searchFormState.value)
|
||||||
total.value = data.total
|
.then((data) => {
|
||||||
// 重置、赋值
|
current.value = data.current
|
||||||
tableData.value = []
|
total.value = data.total
|
||||||
tableRecordNum.value = 0
|
// 重置、赋值
|
||||||
tableData.value = data.records
|
tableData.value = []
|
||||||
if (data.records) {
|
|
||||||
tableRecordNum.value = data.records.length
|
|
||||||
} else {
|
|
||||||
tableRecordNum.value = 0
|
tableRecordNum.value = 0
|
||||||
}
|
tableData.value = data.records
|
||||||
})
|
if (data.records) {
|
||||||
.finally(() => {
|
tableRecordNum.value = data.records.length
|
||||||
pageLoading.value = false
|
} else {
|
||||||
})
|
tableRecordNum.value = 0
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
pageLoading.value = false
|
||||||
|
})
|
||||||
}
|
}
|
||||||
// pageSize改变回调分页事件
|
// pageSize改变回调分页事件
|
||||||
const paginationChange = (page, pageSize) => {
|
const paginationChange = (page, pageSize) => {
|
||||||
|
|
|
@ -212,34 +212,38 @@
|
||||||
idList: recordIds.value
|
idList: recordIds.value
|
||||||
}
|
}
|
||||||
selectedTableListLoading.value = true
|
selectedTableListLoading.value = true
|
||||||
props.checkedUserListApi(param).then((data) => {
|
props
|
||||||
selectedData.value = data
|
.checkedUserListApi(param)
|
||||||
})
|
.then((data) => {
|
||||||
.finally(() => {
|
selectedData.value = data
|
||||||
selectedTableListLoading.value = false
|
})
|
||||||
})
|
.finally(() => {
|
||||||
|
selectedTableListLoading.value = false
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 查询主表格数据
|
// 查询主表格数据
|
||||||
const loadData = () => {
|
const loadData = () => {
|
||||||
pageLoading.value = true
|
pageLoading.value = true
|
||||||
props.userPageApi(searchFormState.value).then((data) => {
|
props
|
||||||
current.value = data.current
|
.userPageApi(searchFormState.value)
|
||||||
// pageSize.value = data.size
|
.then((data) => {
|
||||||
total.value = data.total
|
current.value = data.current
|
||||||
// 重置、赋值
|
// pageSize.value = data.size
|
||||||
tableData.value = []
|
total.value = data.total
|
||||||
tableRecordNum.value = 0
|
// 重置、赋值
|
||||||
tableData.value = data.records
|
tableData.value = []
|
||||||
if (data.records) {
|
|
||||||
tableRecordNum.value = data.records.length
|
|
||||||
} else {
|
|
||||||
tableRecordNum.value = 0
|
tableRecordNum.value = 0
|
||||||
}
|
tableData.value = data.records
|
||||||
})
|
if (data.records) {
|
||||||
.finally(() => {
|
tableRecordNum.value = data.records.length
|
||||||
pageLoading.value = false
|
} else {
|
||||||
})
|
tableRecordNum.value = 0
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
pageLoading.value = false
|
||||||
|
})
|
||||||
}
|
}
|
||||||
// pageSize改变回调分页事件
|
// pageSize改变回调分页事件
|
||||||
const paginationChange = (page, pageSize) => {
|
const paginationChange = (page, pageSize) => {
|
||||||
|
|
|
@ -1,44 +1,32 @@
|
||||||
<template>
|
<template>
|
||||||
<div :class="[prefixCls, reverseColor && 'reverse-color']">
|
<div :class="[props.prefixCls, props.reverseColor && 'reverse-color']">
|
||||||
<span>
|
<span>
|
||||||
<slot name="term"></slot>
|
<slot name="term"></slot>
|
||||||
<span class="item-text">
|
<span class="item-text">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
<span v-if="`${flag}` === 'up'" :class="[flag]"><caret-up-outlined /></span>
|
<span v-if="`${props.flag}` === 'up'" :class="[props.flag]"><caret-up-outlined /></span>
|
||||||
<span v-else :class="[flag]"><caret-down-outlined /></span>
|
<span v-else :class="[props.flag]"><caret-down-outlined /></span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script setup name="Trend">
|
||||||
import { defineComponent } from 'vue'
|
|
||||||
import { CaretDownOutlined, CaretUpOutlined } from '@ant-design/icons-vue'
|
import { CaretDownOutlined, CaretUpOutlined } from '@ant-design/icons-vue'
|
||||||
export default defineComponent({
|
const props = defineProps({
|
||||||
name: 'Trend',
|
prefixCls: {
|
||||||
components: {
|
type: String,
|
||||||
CaretUpOutlined,
|
default: 'ant-pro-trend'
|
||||||
CaretDownOutlined
|
|
||||||
},
|
},
|
||||||
props: {
|
// 上升下降标识:up|down
|
||||||
prefixCls: {
|
flag: {
|
||||||
type: String,
|
type: String,
|
||||||
default: 'ant-pro-trend'
|
required: true
|
||||||
},
|
},
|
||||||
/**
|
// 颜色反转
|
||||||
* 上升下降标识:up|down
|
reverseColor: {
|
||||||
*/
|
type: Boolean,
|
||||||
flag: {
|
default: false
|
||||||
type: String,
|
|
||||||
required: true
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 颜色反转
|
|
||||||
*/
|
|
||||||
reverseColor: {
|
|
||||||
type: Boolean,
|
|
||||||
default: false
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -192,5 +192,3 @@
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -193,5 +193,3 @@
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -166,5 +166,3 @@
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -22,5 +22,3 @@
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -28,7 +28,12 @@
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="邮件正文" name="content" v-if="sendType === 'HTML'">
|
<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>
|
||||||
<a-form-item label="模板名:" name="templateName" v-if="sendType === 'TMP'">
|
<a-form-item label="模板名:" name="templateName" v-if="sendType === 'TMP'">
|
||||||
<a-input v-model:value="formData.templateName" placeholder="请输入预先创建且通过审核的模板名称" allow-clear />
|
<a-input v-model:value="formData.templateName" placeholder="请输入预先创建且通过审核的模板名称" allow-clear />
|
||||||
|
@ -45,11 +50,10 @@
|
||||||
<script setup name="aliyunEmailSend">
|
<script setup name="aliyunEmailSend">
|
||||||
import { message } from 'ant-design-vue'
|
import { message } from 'ant-design-vue'
|
||||||
import XnEditor from '@/components/Editor/index.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 emailApi from '@/api/dev/emailApi'
|
||||||
import fileApi from '@/api/dev/fileApi'
|
import fileApi from '@/api/dev/fileApi'
|
||||||
|
|
||||||
const uploadRef = ref()
|
|
||||||
// 发送文本方式
|
// 发送文本方式
|
||||||
const sendType = ref('TXT')
|
const sendType = ref('TXT')
|
||||||
// 定义emit事件
|
// 定义emit事件
|
||||||
|
@ -103,6 +107,14 @@
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 传递文件上传需要的API
|
||||||
|
const apiFunction = {
|
||||||
|
fileUploadApi: (param) => {
|
||||||
|
return fileApi.fileUploadDynamicReturnUrl(param).then((data) => {
|
||||||
|
return Promise.resolve(data)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
// 调用这个函数将子组件的一些数据和方法暴露出去
|
// 调用这个函数将子组件的一些数据和方法暴露出去
|
||||||
defineExpose({
|
defineExpose({
|
||||||
send
|
send
|
||||||
|
|
|
@ -24,7 +24,12 @@
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="邮件正文" name="content" v-if="sendType === 'HTML'">
|
<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>
|
||||||
</a-form>
|
</a-form>
|
||||||
</template>
|
</template>
|
||||||
|
@ -32,7 +37,7 @@
|
||||||
<script setup name="localEmailSend">
|
<script setup name="localEmailSend">
|
||||||
import { message } from 'ant-design-vue'
|
import { message } from 'ant-design-vue'
|
||||||
import XnEditor from '@/components/Editor/index.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 emailApi from '@/api/dev/emailApi'
|
||||||
import fileApi from '@/api/dev/fileApi'
|
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({
|
defineExpose({
|
||||||
send
|
send
|
||||||
|
|
|
@ -28,7 +28,12 @@
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="邮件正文" name="content" v-if="sendType === 'HTML'">
|
<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>
|
||||||
<a-form-item label="模板名:" name="templateName" v-if="sendType === 'TMP'">
|
<a-form-item label="模板名:" name="templateName" v-if="sendType === 'TMP'">
|
||||||
<a-input v-model:value="formData.templateName" placeholder="请输入预先创建且通过审核的模板名称" allow-clear />
|
<a-input v-model:value="formData.templateName" placeholder="请输入预先创建且通过审核的模板名称" allow-clear />
|
||||||
|
@ -45,7 +50,7 @@
|
||||||
<script setup name="tencentEmailSend">
|
<script setup name="tencentEmailSend">
|
||||||
import { message } from 'ant-design-vue'
|
import { message } from 'ant-design-vue'
|
||||||
import XnEditor from '@/components/Editor/index.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 emailApi from '@/api/dev/emailApi'
|
||||||
import fileApi from '@/api/dev/fileApi'
|
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({
|
defineExpose({
|
||||||
send
|
send
|
||||||
|
|
|
@ -24,10 +24,8 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup name="eCBingZhuangTu">
|
<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 DoughnutChartWithRoundedCorner from '@/components/Chart/eCBingZhuangTu/DoughnutChartWithRoundedCorner.vue'
|
||||||
import CustomizedPie from '@/components/Chart/eCBingZhuangTu/CustomizedPie.vue'
|
import CustomizedPie from '@/components/Chart/eCBingZhuangTu/CustomizedPie.vue'
|
||||||
import NightingaleChart from '@/components/Chart/eCBingZhuangTu/NightingaleChart.vue'
|
import NightingaleChart from '@/components/Chart/eCBingZhuangTu/NightingaleChart.vue'
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -9,5 +9,3 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup name="eCHengTiaoTu"></script>
|
<script setup name="eCHengTiaoTu"></script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -18,5 +18,3 @@
|
||||||
import BasicCandlestick from '@/components/Chart/eCKXianTu/BasicCandlestick.vue'
|
import BasicCandlestick from '@/components/Chart/eCKXianTu/BasicCandlestick.vue'
|
||||||
import ShangHaiIndex from '@/components/Chart/eCKXianTu/ShangHaiIndex.vue'
|
import ShangHaiIndex from '@/components/Chart/eCKXianTu/ShangHaiIndex.vue'
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -29,5 +29,3 @@
|
||||||
import CustomizedFunnel from '@/components/Chart/eCLouDouTu/CustomizedFunnel.vue'
|
import CustomizedFunnel from '@/components/Chart/eCLouDouTu/CustomizedFunnel.vue'
|
||||||
import MultipleFunnels from '@/components/Chart/eCLouDouTu/MultipleFunnels.vue'
|
import MultipleFunnels from '@/components/Chart/eCLouDouTu/MultipleFunnels.vue'
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -29,5 +29,3 @@
|
||||||
import EffectScatterChart from '@/components/Chart/eCSanDianTu/EffectScatterChart.vue'
|
import EffectScatterChart from '@/components/Chart/eCSanDianTu/EffectScatterChart.vue'
|
||||||
import ScatterAqiColor from '@/components/Chart/eCSanDianTu/ScatterAqiColor.vue'
|
import ScatterAqiColor from '@/components/Chart/eCSanDianTu/ScatterAqiColor.vue'
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -7,5 +7,3 @@
|
||||||
<script setup name="eCShuXingTu">
|
<script setup name="eCShuXingTu">
|
||||||
import TreeWithPolylineEdge from '@/components/Chart/eCShuXingTu/TreeWithPolylineEdge.vue'
|
import TreeWithPolylineEdge from '@/components/Chart/eCShuXingTu/TreeWithPolylineEdge.vue'
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -29,5 +29,3 @@
|
||||||
import StackedAreaChart from '@/components/Chart/eCXianXingTu/StackedAreaChart.vue'
|
import StackedAreaChart from '@/components/Chart/eCXianXingTu/StackedAreaChart.vue'
|
||||||
import StepLine from '@/components/Chart/eCXianXingTu/StepLine.vue'
|
import StepLine from '@/components/Chart/eCXianXingTu/StepLine.vue'
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -29,5 +29,3 @@
|
||||||
import TemperatureGaugeChart from '@/components/Chart/eCYiBiaoTu/TemperatureGaugeChart.vue'
|
import TemperatureGaugeChart from '@/components/Chart/eCYiBiaoTu/TemperatureGaugeChart.vue'
|
||||||
import GrogressGauge from '@/components/Chart/eCYiBiaoTu/GrogressGauge.vue'
|
import GrogressGauge from '@/components/Chart/eCYiBiaoTu/GrogressGauge.vue'
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -9,5 +9,3 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup name="eCZheZhuTu"></script>
|
<script setup name="eCZheZhuTu"></script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -29,5 +29,3 @@
|
||||||
import BarChartWithNegativeValue from '@/components/Chart/eCZhuZhuangTu/BarChartWithNegativeValue.vue'
|
import BarChartWithNegativeValue from '@/components/Chart/eCZhuZhuangTu/BarChartWithNegativeValue.vue'
|
||||||
import WatermarkEChartsDownload from '@/components/Chart/eCZhuZhuangTu/WatermarkEChartsDownload.vue'
|
import WatermarkEChartsDownload from '@/components/Chart/eCZhuZhuangTu/WatermarkEChartsDownload.vue'
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -24,5 +24,3 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup name="g2BingZhuangTu"></script>
|
<script setup name="g2BingZhuangTu"></script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -14,5 +14,3 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup name="g2CiYunTu"></script>
|
<script setup name="g2CiYunTu"></script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -24,5 +24,3 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup name="g2JinDuTu"></script>
|
<script setup name="g2JinDuTu"></script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -14,5 +14,3 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup name="g2LouDouTu"></script>
|
<script setup name="g2LouDouTu"></script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -24,5 +24,3 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup name="g2MianJiTu"></script>
|
<script setup name="g2MianJiTu"></script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -24,5 +24,3 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup name="g2SanDianTu"></script>
|
<script setup name="g2SanDianTu"></script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -24,5 +24,3 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup name="g2TiaoXingTu"></script>
|
<script setup name="g2TiaoXingTu"></script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -24,5 +24,3 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup name="g2ZheXianTu"></script>
|
<script setup name="g2ZheXianTu"></script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -24,5 +24,3 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup name="g2ZhuZhuangTu"></script>
|
<script setup name="g2ZhuZhuangTu"></script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
|
@ -14,5 +14,3 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup name="g2ZiDanTu"></script>
|
<script setup name="g2ZiDanTu"></script>
|
||||||
|
|
||||||
<style scoped></style>
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue