|
@@ -1,7 +1,7 @@
|
|
-<template>
|
|
|
|
- <el-form-item :label="formConfig.columnComment" :label-width="converByte(formConfig.columnComment)*7+'px'" style="display: inline-block;" :prop="formConfig.columnName">
|
|
|
|
|
|
+<template>
|
|
|
|
+ <el-form-item :label="formConfig.columnComment" style="display: inline-block;" :prop="formConfig.columnName">
|
|
<!-- 输入框 -->
|
|
<!-- 输入框 -->
|
|
- <el-input v-if="formConfig.htmlType == 'input'" v-model="config[formConfig.columnName]" :placeholder="'请输入'+formConfig.columnComment"
|
|
|
|
|
|
+ <el-input v-if="formConfig.htmlType == 'input'" v-model="config[formConfig.columnValue]" :placeholder="'请输入'+formConfig.columnComment"
|
|
clearable @keyup.enter.native="handleQuery" />
|
|
clearable @keyup.enter.native="handleQuery" />
|
|
<!-- 多行输入框 -->
|
|
<!-- 多行输入框 -->
|
|
<el-input v-if="formConfig.htmlType == 'textarea'" type="textarea" v-model="config[formConfig.columnName]" :placeholder="'请输入'+formConfig.columnComment"
|
|
<el-input v-if="formConfig.htmlType == 'textarea'" type="textarea" v-model="config[formConfig.columnName]" :placeholder="'请输入'+formConfig.columnComment"
|
|
@@ -11,10 +11,10 @@
|
|
<el-option v-for="itemChild in formConfig.sysDictData" :key="itemChild.dictValue" :label="itemChild.dictLabel" :value="itemChild.dictValue">
|
|
<el-option v-for="itemChild in formConfig.sysDictData" :key="itemChild.dictValue" :label="itemChild.dictLabel" :value="itemChild.dictValue">
|
|
</el-option>
|
|
</el-option>
|
|
</el-select>
|
|
</el-select>
|
|
- <!-- 复选框 -->
|
|
|
|
|
|
+ <!-- 复选框 -->
|
|
<el-checkbox-group v-model="config" v-if="formConfig.htmlType == 'checkbox'">
|
|
<el-checkbox-group v-model="config" v-if="formConfig.htmlType == 'checkbox'">
|
|
- <el-checkbox @change="handleCheckedCitiesChange" v-for="itemChild in formConfig.sysDictData" :label="itemChild.dictValue" :key="itemChild.dictLabel" >
|
|
|
|
- {{itemChild.dictLabel}}
|
|
|
|
|
|
+ <el-checkbox @change="handleCheckedCitiesChange" v-for="itemChild in formConfig.sysDictData" :label="itemChild.dictValue" :key="itemChild.dictLabel" >
|
|
|
|
+ {{itemChild.dictLabel}}
|
|
</el-checkbox>
|
|
</el-checkbox>
|
|
</el-checkbox-group>
|
|
</el-checkbox-group>
|
|
<!-- 单选框 -->
|
|
<!-- 单选框 -->
|
|
@@ -22,7 +22,7 @@
|
|
<el-radio v-for="itemChild in formConfig.sysDictData" :key="itemChild.dictValue" :label="itemChild.dictValue">{{itemChild.dictLabel}}</el-radio>
|
|
<el-radio v-for="itemChild in formConfig.sysDictData" :key="itemChild.dictValue" :label="itemChild.dictValue">{{itemChild.dictLabel}}</el-radio>
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
<!-- 时间控件 -->
|
|
<!-- 时间控件 -->
|
|
- <el-date-picker v-model="config[formConfig.columnName]" v-if="formConfig.htmlType == 'datetime'" type="date" :placeholder="'请输入'+formConfig.columnComment">
|
|
|
|
|
|
+ <el-date-picker v-model="config[formConfig.columnName]" v-if="formConfig.htmlType == 'datetime'" type="date" :placeholder="'请输入'+formConfig.columnComment">
|
|
</el-date-picker>
|
|
</el-date-picker>
|
|
<!-- 上传图片 -->
|
|
<!-- 上传图片 -->
|
|
<el-upload v-if="formConfig.htmlType == 'imageUpload'" :headers="{Authorization: 'Bearer ' + getToken()}" :action="process + '/boman-file/upload'" :file-list="config" list-type="picture-card"
|
|
<el-upload v-if="formConfig.htmlType == 'imageUpload'" :headers="{Authorization: 'Bearer ' + getToken()}" :action="process + '/boman-file/upload'" :file-list="config" list-type="picture-card"
|
|
@@ -33,117 +33,100 @@
|
|
<img width="100%" :src="dialogImageUrl" alt="">
|
|
<img width="100%" :src="dialogImageUrl" alt="">
|
|
</el-dialog>
|
|
</el-dialog>
|
|
<!-- 上传文件 -->
|
|
<!-- 上传文件 -->
|
|
- <el-upload
|
|
|
|
- class="upload-demo"
|
|
|
|
- :headers="{Authorization: 'Bearer ' + getToken()}"
|
|
|
|
- v-if="formConfig.htmlType == 'fileUpload'"
|
|
|
|
- :action="process + '/boman-file/upload'"
|
|
|
|
- :on-change="handleChange"
|
|
|
|
- :on-success="upImageFn"
|
|
|
|
- :on-remove="reseImage"
|
|
|
|
- :file-list="config">
|
|
|
|
- <el-button size="small" type="primary">点击上传</el-button>
|
|
|
|
- <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
|
|
|
|
- </el-upload>
|
|
|
|
- <!-- 富文本 -->
|
|
|
|
|
|
+ <el-upload
|
|
|
|
+ class="upload-demo"
|
|
|
|
+ :headers="{Authorization: 'Bearer ' + getToken()}"
|
|
|
|
+ v-if="formConfig.htmlType == 'fileUpload'"
|
|
|
|
+ :action="process + '/boman-file/upload'"
|
|
|
|
+ :on-change="handleChange"
|
|
|
|
+ :on-success="upImageFn"
|
|
|
|
+ :on-remove="reseImage"
|
|
|
|
+ :file-list="config">
|
|
|
|
+ <el-button size="small" type="primary">点击上传</el-button>
|
|
|
|
+ <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
|
|
|
|
+ </el-upload>
|
|
|
|
+ <!-- 富文本 -->
|
|
<editor v-model="config[formConfig.columnName]" v-if="formConfig.htmlType == 'editor'" :min-height="192"/>
|
|
<editor v-model="config[formConfig.columnName]" v-if="formConfig.htmlType == 'editor'" :min-height="192"/>
|
|
- </el-form-item>
|
|
|
|
|
|
+ </el-form-item>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
- const defaultSettings = require('@/settings.js')
|
|
|
|
- import Editor from '@/components/Editor';
|
|
|
|
- import { getToken } from "@/utils/auth";
|
|
|
|
|
|
+ const defaultSettings = require('@/settings.js')
|
|
|
|
+ import Editor from '@/components/Editor';
|
|
|
|
+ import { getToken } from "@/utils/auth";
|
|
export default {
|
|
export default {
|
|
data() {
|
|
data() {
|
|
- return {
|
|
|
|
|
|
+ return {
|
|
fileList: [],
|
|
fileList: [],
|
|
defaultSettings,
|
|
defaultSettings,
|
|
- dialogImageUrl: '',
|
|
|
|
|
|
+ dialogImageUrl: '',
|
|
process: process.env.VUE_APP_BASE_API,
|
|
process: process.env.VUE_APP_BASE_API,
|
|
dialogVisible: false,
|
|
dialogVisible: false,
|
|
- disabled: false,
|
|
|
|
- config: {},
|
|
|
|
|
|
+ disabled: false,
|
|
|
|
+ config: {},
|
|
}
|
|
}
|
|
- },
|
|
|
|
- components: {
|
|
|
|
- Editor
|
|
|
|
|
|
+ },
|
|
|
|
+ components: {
|
|
|
|
+ Editor
|
|
},
|
|
},
|
|
props: {
|
|
props: {
|
|
formConfig: {
|
|
formConfig: {
|
|
type: Object,
|
|
type: Object,
|
|
- required: true,
|
|
|
|
- 'default': {
|
|
|
|
- sysDictData: []
|
|
|
|
|
|
+ required: true,
|
|
|
|
+ 'default': {
|
|
|
|
+ sysDictData: []
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- },
|
|
|
|
- created() {
|
|
|
|
- this.init()
|
|
|
|
|
|
+ },
|
|
|
|
+ created() {
|
|
|
|
+ this.config = {}
|
|
|
|
+ this.init()
|
|
},
|
|
},
|
|
mounted() {
|
|
mounted() {
|
|
},
|
|
},
|
|
- methods: {
|
|
|
|
- // 字符串转成字节
|
|
|
|
- converByte(str){
|
|
|
|
- var bt=0;
|
|
|
|
- for (var i = 0; i < str.length; i++) {
|
|
|
|
- var un = str.charCodeAt(i);
|
|
|
|
- if (un>=0 && un<=127) {
|
|
|
|
- bt+=1;
|
|
|
|
- }else if (un>127 && un<=2048) {
|
|
|
|
- bt+=2;
|
|
|
|
- }else if (un>2048 && un<=65536) {
|
|
|
|
- bt+=3;
|
|
|
|
- }else if (un>65536 && un<=2097152) {
|
|
|
|
- bt+=4;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- return bt
|
|
|
|
- },
|
|
|
|
|
|
+ methods: {
|
|
upImageFn(res, file){
|
|
upImageFn(res, file){
|
|
- this.config.push({
|
|
|
|
- name: res.data.name,
|
|
|
|
- url: res.data.url,
|
|
|
|
- });
|
|
|
|
- },
|
|
|
|
- init() {
|
|
|
|
|
|
+ this.config.push(res.data);
|
|
|
|
+ },
|
|
|
|
+ init() {
|
|
if(this.formConfig.htmlType == 'checkbox' || this.formConfig.htmlType == 'imageUpload' || this.formConfig.htmlType == 'fileUpload'){
|
|
if(this.formConfig.htmlType == 'checkbox' || this.formConfig.htmlType == 'imageUpload' || this.formConfig.htmlType == 'fileUpload'){
|
|
- this.config = []
|
|
|
|
- }
|
|
|
|
- console.log(this.config,99888)
|
|
|
|
- },
|
|
|
|
- handleChange(file, fileList) {
|
|
|
|
- this.fileList = fileList.slice(-3);
|
|
|
|
- },
|
|
|
|
- getToken() {
|
|
|
|
- return getToken()
|
|
|
|
- },
|
|
|
|
- reseImage(file, fileList) {
|
|
|
|
- let urls = ""
|
|
|
|
- if(file.response){
|
|
|
|
- urls = file.response.url
|
|
|
|
|
|
+ this.config = []
|
|
}else{
|
|
}else{
|
|
- urls = file.url
|
|
|
|
- }
|
|
|
|
- for (let i = this.config.length - 1; i >= 0; i--) {
|
|
|
|
- if (this.config[i].url == urls) {
|
|
|
|
- this.config.splice(i, 1);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- reseImage1(file, fileList) {
|
|
|
|
- let urls = ""
|
|
|
|
- if(file.response){
|
|
|
|
- urls = file.response.url
|
|
|
|
- }else{
|
|
|
|
- urls = file.url
|
|
|
|
- }
|
|
|
|
- for (let i = this.config.length - 1; i >= 0; i--) {
|
|
|
|
- if (this.config[i].url == urls) {
|
|
|
|
- this.config.splice(i, 1);
|
|
|
|
- }
|
|
|
|
|
|
+ this.config[this.formConfig.columnName] = this.formConfig.columnValue || ''
|
|
}
|
|
}
|
|
|
|
+ console.log(this.formConfig,this.config,9911112)
|
|
|
|
+ },
|
|
|
|
+ handleChange(file, fileList) {
|
|
|
|
+ this.fileList = fileList.slice(-3);
|
|
|
|
+ },
|
|
|
|
+ getToken() {
|
|
|
|
+ return getToken()
|
|
|
|
+ },
|
|
|
|
+ reseImage(file, fileList) {
|
|
|
|
+ let urls = ""
|
|
|
|
+ if(file.response){
|
|
|
|
+ urls = file.response.url
|
|
|
|
+ }else{
|
|
|
|
+ urls = file.url
|
|
|
|
+ }
|
|
|
|
+ for (let i = this.config.length - 1; i >= 0; i--) {
|
|
|
|
+ if (this.config[i].url == urls) {
|
|
|
|
+ this.config.splice(i, 1);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ reseImage1(file, fileList) {
|
|
|
|
+ let urls = ""
|
|
|
|
+ if(file.response){
|
|
|
|
+ urls = file.response.url
|
|
|
|
+ }else{
|
|
|
|
+ urls = file.url
|
|
|
|
+ }
|
|
|
|
+ for (let i = this.config.length - 1; i >= 0; i--) {
|
|
|
|
+ if (this.config[i].url == urls) {
|
|
|
|
+ this.config.splice(i, 1);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
},
|
|
},
|
|
handlePictureCardPreview(file) {
|
|
handlePictureCardPreview(file) {
|
|
this.dialogImageUrl = file.url;
|
|
this.dialogImageUrl = file.url;
|
|
@@ -154,13 +137,13 @@
|
|
},
|
|
},
|
|
handleQuery() {
|
|
handleQuery() {
|
|
this.$emit('btns')
|
|
this.$emit('btns')
|
|
- },
|
|
|
|
- handleCheckedCitiesChange(value){
|
|
|
|
- console.log(this.config)
|
|
|
|
|
|
+ },
|
|
|
|
+ handleCheckedCitiesChange(value){
|
|
|
|
+ console.log(this.config)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<style>
|
|
<style>
|
|
-</style>
|
|
|
|
|
|
+</style>
|