|
@@ -1,36 +1,131 @@
|
|
|
<template>
|
|
|
<el-row>
|
|
|
- <el-form-item label="展示文本">
|
|
|
- <el-input :value="activeData.__config__.defaultValue" @input="onDefaultValueInput" placeholder="显示在分割线上的文字" />
|
|
|
+ <el-form-item label="控件栅格">
|
|
|
+ <el-slider v-model="activeData.__config__.span" :max="24" :min="6" show-stops :step="2" show-tooltip />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="背景颜色">
|
|
|
- <el-color-picker v-model="activeData.__config__.bgColor" show-alpha @change="onBgColorChange"></el-color-picker>
|
|
|
+ <el-form-item label="展示文本">
|
|
|
+ <el-input :value="activeData.__slot__.default" @input="onDefaultValueInput" placeholder="显示在分割线上的文字" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="文字颜色">
|
|
|
- <el-color-picker v-model="activeData.__config__.color" show-alpha @change="onColorChange"></el-color-picker>
|
|
|
+ <el-form-item label="模式">
|
|
|
+ <el-radio-group v-model="activeData.__config__.type" size="mini">
|
|
|
+ <el-radio-button label="0">系统</el-radio-button>
|
|
|
+ <el-radio-button label="1">自定义</el-radio-button>
|
|
|
+ </el-radio-group>
|
|
|
</el-form-item>
|
|
|
+
|
|
|
+ <div v-show="activeData.__config__.type == '0'">
|
|
|
+ <el-form-item label="模板列表">
|
|
|
+ <el-select v-model="activeData.__config__.svgModel" placeholder="请选择">
|
|
|
+ <el-option v-for="item in svgList" :key="item.value" :value="item.value" :label="item.label">
|
|
|
+ <div v-if="item.value == '1'">
|
|
|
+ <!-- <svg-divider1 :text="activeData.__slot__.default" :bgColor="activeData.__config__.bgColor"></svg-divider1> -->
|
|
|
+ </div>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="背景颜色">
|
|
|
+ <el-color-picker v-model="activeData.__config__.bgColor" show-alpha @change="onBgColorChange"></el-color-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="文字颜色">
|
|
|
+ <el-color-picker v-model="activeData.__config__.fontStyle.color" show-alpha @change="onColorChange($event, 'color')"></el-color-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <!-- <el-form-item label="文字加粗">
|
|
|
+ <el-switch v-model="activeData.__config__.fontStyle.weight" @change="onColorChange($event, 'weight')"></el-switch>
|
|
|
+ </el-form-item> -->
|
|
|
+ <el-form-item label="文字大小">
|
|
|
+ <el-input-number v-model="activeData.__config__.fontStyle.size" :min="10" :max="40" @change="onColorChange($event, 'size')"></el-input-number>
|
|
|
+ </el-form-item>
|
|
|
+ <!-- <el-form-item label="文字间隔">
|
|
|
+ <el-input-number v-model="activeData.__config__.fontStyle.spacing" :min="0" :max="100" @change="onColorChange($event, 'spacing')"></el-input-number>
|
|
|
+ </el-form-item> -->
|
|
|
+ </div>
|
|
|
+ <div v-show="activeData.__config__.type == '1'">
|
|
|
+ <!-- <img :src="'https://windata.platomix.net/uploads/owteeh2//2024//3//0404f0ef-9397-4771-ac42-9b48e527ecf1.svg'" alt="" /> -->
|
|
|
+ <el-form-item label="上传文件">
|
|
|
+ <el-upload :action="define.comUploadUrl" :headers="uploadHeaders" :on-success="handleSuccess" :show-file-list="false" accept="SVG/*" list-type="picture-card" :limit="1" class="upload-btn">
|
|
|
+ <div v-if="activeData.__config__.svgUrl != ''">
|
|
|
+ <img style="width: 148px" :src="define.comUrl + '/' + activeData.__config__.svgUrl" alt="" />
|
|
|
+ </div>
|
|
|
+ <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
+ </el-upload>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- <el-form-item label="文字位置">
|
|
|
+ <el-form-item label-width="40px" label="上">
|
|
|
+ <el-input-number v-model="activeData.__config__.positionStyle.top" size="mini" :min="-20" :max="100" @change="onPositionChange($event, 'top')"></el-input-number>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label-width="40px" label="下">
|
|
|
+ <el-input-number v-model="activeData.__config__.positionStyle.bottom" size="mini" :min="-20" :max="100" @change="onPositionChange($event, 'bottom')"></el-input-number>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label-width="40px" label="左">
|
|
|
+ <el-input-number v-model="activeData.__config__.positionStyle.left" size="mini" :min="-20" :max="100" @change="onPositionChange($event, 'left')"></el-input-number>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label-width="40px" label="右">
|
|
|
+ <el-input-number v-model="activeData.__config__.positionStyle.right" size="mini" :min="-20" :max="100" @change="onPositionChange($event, 'right')"></el-input-number>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form-item> -->
|
|
|
</el-row>
|
|
|
</template>
|
|
|
<script>
|
|
|
import comMixin from './mixin'
|
|
|
+import { getToken } from '@/utils/auth'
|
|
|
+import svgDivider1 from '@/components/Generator/components/NewDivider/divider1.vue'
|
|
|
+// import svgDivider2 from '@/components/Generator/components/NewDivider/divider2.vue'
|
|
|
+// import svgDivider3 from '@/components/Generator/components/NewDivider/divider3.vue'
|
|
|
export default {
|
|
|
props: ['activeData'],
|
|
|
mixins: [comMixin],
|
|
|
+ components: {
|
|
|
+ svgDivider1
|
|
|
+ // svgDivider2,
|
|
|
+ // svgDivider3
|
|
|
+ },
|
|
|
data() {
|
|
|
- return {}
|
|
|
+ return {
|
|
|
+ uploadHeaders: { 'Blade-Auth': 'bearer ' + getToken() },
|
|
|
+ svgList: [
|
|
|
+ {
|
|
|
+ value: '1',
|
|
|
+ label: '模板1'
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ console.log(this.define.comUrl)
|
|
|
+
|
|
|
+ // let mySvg = document.getElementById('my-svg')
|
|
|
+ // let svg = mySvg.getElementsByTagName('svg')
|
|
|
+ // console.log(svg.style)
|
|
|
+ // let path = svg.getElementsByTagName('path')
|
|
|
+ // console.log(path)
|
|
|
},
|
|
|
methods: {
|
|
|
+ handleSuccess(res) {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$set(this.activeData.__config__, 'svgUrl', res.data.filePath)
|
|
|
+ } else {
|
|
|
+ this.$message({ message: res.msg, type: 'error', duration: 5000 })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleRemove() {
|
|
|
+ this.$set(this.activeData.__config__, 'svgUrl', '')
|
|
|
+ },
|
|
|
// 按钮
|
|
|
onDefaultValueInput(str) {
|
|
|
- this.$set(this.activeData.__config__, 'defaultValue', str)
|
|
|
+ this.$set(this.activeData.__slot__, 'default', str)
|
|
|
},
|
|
|
onBgColorChange(val) {
|
|
|
this.$set(this.activeData.__config__, 'bgColor', val)
|
|
|
- // console.log(this.activeData.__config__);
|
|
|
},
|
|
|
- onColorChange(val) {
|
|
|
- this.$set(this.activeData.__config__, 'color', val)
|
|
|
+ onColorChange(val, type) {
|
|
|
+ this.$set(this.activeData.__config__.fontStyle, type, val)
|
|
|
+ },
|
|
|
+ onPositionChange(val, type) {
|
|
|
+ this.$set(this.activeData.__config__.positionStyle, type, val)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
+<style lang="scss"></style>
|