Commit 2c523f99 authored by 何虹's avatar 何虹 💬

升级程序

parent 9a65bf39
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
"element-ui": "^2.15.1", "element-ui": "^2.15.1",
"umy-ui": "^1.1.6", "umy-ui": "^1.1.6",
"file-saver": "^2.0.5", "file-saver": "^2.0.5",
"hs-util-js": "^1.0.33", "hs-util-js": "^1.0.34",
"i": "^0.3.6", "i": "^0.3.6",
"jsoneditor": "^8.6.5", "jsoneditor": "^8.6.5",
"lodash": "^4.17.15", "lodash": "^4.17.15",
......
import uButton from './src/button' import uButton from './src/button'
uButton.install = function(Vue) { uButton.install = function (Vue) {
Vue.component(uButton.name, uButton) Vue.component(uButton.name, uButton)
} }
export default uButton export default uButton
<template> <template>
<button class="u-button" <button class="u-button"
:class="[[`icon-${position}`], :class="[[`icon-${position}`],
typeStyle,sizeStyle,plainStyle,dangerStyle,dashedStyle,loadingStyle,circleStyle] typeStyle,sizeStyle,plainStyle,dangerStyle,dashedStyle,loadingStyle,circleStyle]
" "
:disabled="disabled||loading" :disabled="disabled||loading"
ref="button" ref="button"
:style="roundStyle" :style="roundStyle"
@click="onClick" @click="onClick"
@focus="focusOn" @focus="focusOn"
@blur="blurIt" @blur="blurIt">
>
<u-icon :name="loading?'loading':icon" <u-icon :name="loading?'loading':icon"
:color="color" :color="color"
:style="disabledStyle" :style="disabledStyle"
v-if="icon || loading" :class="{loading:loading}"> v-if="icon || loading"
</u-icon> :class="{loading:loading}">
<span class="u-button-content" </u-icon>
:style="disabledStyle" <span class="u-button-content"
> :style="disabledStyle">
<slot> <slot>
</slot> </slot>
</span> </span>
</button> </button>
</template> </template>
<script> <script>
import Icon from '../../icon/src/icon.vue'
import Icon from '../../icon/src/icon.vue' export default {
name: 'u-button',
export default { components: {
name: 'u-button', 'u-icon': Icon
components: { },
'u-icon': Icon methods: {
}, onClick () {
methods: { this.$emit('click')
onClick() { this.dangerAnimation()
this.$emit('click') },
this.dangerAnimation() dangerAnimation () {
}, const arr = this.$refs.button.classList
dangerAnimation() { arr.remove('loop')
let arr = this.$refs.button.classList arr.add('loop')
arr.remove('loop') setTimeout(() => {
arr.add('loop') arr.remove('loop')
setTimeout(() => { }, 300)
arr.remove('loop') },
}, 300) focusOn () {},
}, blurIt () {}
focusOn() { },
computed: {
}, disabledStyle () {
blurIt() { if (this.disabled) return 'pointer-events: none;'
},
} typeStyle () {
}, if (!this.type) return
computed: { return `type-${this.type}`
disabledStyle() { },
if (this.disabled)return 'pointer-events: none;' sizeStyle () {
}, if (!this.size) return
typeStyle() { return `size-${this.size}`
if (!this.type) return },
return `type-${this.type}` roundStyle () {
}, if (this.round) {
sizeStyle() { return 'border-radius:21px;'
if (!this.size) return }
return `size-${this.size}` },
}, circleStyle () {
roundStyle() { if (this.circle) {
if (this.round) { return 'circle'
return 'border-radius:21px;' }
} },
}, plainStyle () {
circleStyle() { if (this.plain) {
if (this.circle) { return 'plain'
return 'circle' }
} },
}, dangerStyle () {
plainStyle() { if (this.danger) {
if (this.plain) { return 'danger'
return 'plain' }
} },
}, dashedStyle () {
dangerStyle() { if (this.dashed) {
if (this.danger) { return 'dashed'
return 'danger' }
} },
}, loadingStyle () {
dashedStyle() { if (this.loading) {
if (this.dashed) { return 'loadingCloak'
return 'dashed' }
} }
}, },
loadingStyle() { props: {
if (this.loading) { icon: {
return 'loadingCloak' type: String
} },
} disabled: {
type: Boolean,
}, default: false
props: { },
icon: { type: {
type: String type: String,
}, validator: val =>
disabled: { ['primary', 'success', 'warn', 'error', 'info'].indexOf(val) > -1
type: Boolean, },
default: false plain: {
}, type: Boolean,
type: { default: false
type: String, },
validator:(val)=>['primary', 'success', 'warn', 'error', 'info'].indexOf(val) > -1 dashed: {
}, type: Boolean,
plain: { default: false
type: Boolean, },
default: false size: {
}, type: String,
dashed:{ default: 'medium',
type: Boolean, validator (val) {
default: false return ['big', 'medium', 'small', 'mini'].indexOf(val) > -1
}, }
size: { },
type: String, round: {
default: 'medium', type: Boolean,
validator(val) { default: false
return ['big', 'medium', 'small', 'mini'].indexOf(val) > -1 },
} color: {
}, type: String,
round: { default () {
type: Boolean, if (this.type) {
default: false return 'white'
}, } else {
color: { return 'black'
type: String,
default() {
if (this.type) {
return 'white'
} else {
return 'black'
}
}
},
loading: {
type: Boolean,
default: false
},
danger: {
type: Boolean,
default: false
},
position: {
type: String,
default: 'left',
validator(value) {
return !(value !== 'left' && value !== 'right');
}
},
circle: {
type: Boolean,
default: false
}
} }
}
},
loading: {
type: Boolean,
default: false
},
danger: {
type: Boolean,
default: false
},
position: {
type: String,
default: 'left',
validator (value) {
return !(value !== 'left' && value !== 'right')
}
},
circle: {
type: Boolean,
default: false
} }
}
}
</script> </script>
<style> <style>
a{ a {
size: 1; size: 1;
} }
</style> </style>
This diff is collapsed.
// dialog.js // dialog.js
import Vue from 'vue' import Vue from 'vue'
function makeDialog(option) { function makeDialog (option) {
var dom = document.createElement('div') var dom = document.createElement('div')
document.getElementsByTagName('body')[0].appendChild(dom) document.getElementsByTagName('body')[0].appendChild(dom)
const tpl = ` const tpl = `
...@@ -16,7 +16,7 @@ function makeDialog(option) { ...@@ -16,7 +16,7 @@ function makeDialog(option) {
</el-dialog>` </el-dialog>`
var vue = new Vue({ var vue = new Vue({
el: dom, el: dom,
data: function() { data: function () {
return { return {
title: option.title, title: option.title,
size: option.size || 'small', size: option.size || 'small',
...@@ -26,28 +26,28 @@ function makeDialog(option) { ...@@ -26,28 +26,28 @@ function makeDialog(option) {
}, },
template: tpl, template: tpl,
computed: { computed: {
customClass() { customClass () {
return `el-dialog--width-${option.size || 'auto'}` return `el-dialog--width-${option.size || 'auto'}`
} }
}, },
methods: { methods: {
handleClose(done) { handleClose (done) {
if (option.beforeClose) { if (option.beforeClose) {
option.beforeClose(done) option.beforeClose(done)
} else { } else {
done() done()
} }
}, },
close() { close () {
if (option.close) { if (option.close) {
option.close() option.close()
} }
}, },
closeDialog() { closeDialog () {
this.show = false this.show = false
}, },
confirmDialog(result) { confirmDialog (result) {
this.show = false this.show = false
option.confirm && option.confirm(result) option.confirm && option.confirm(result)
} }
...@@ -60,7 +60,7 @@ function makeDialog(option) { ...@@ -60,7 +60,7 @@ function makeDialog(option) {
} }
export default { export default {
open(options) { open (options) {
return makeDialog(options) return makeDialog(options)
} }
} }
<template> <template>
<el-dialog <el-dialog title="导入"
title="导入" :visible.sync="dialogVisible"
:visible.sync="dialogVisible" width="90%"
width="90%" :before-close="handleClose"
:before-close="handleClose" :close-on-click-modal='false'
:close-on-click-modal='false' @open='open'
@open='open' :append-to-body='true'>
:append-to-body='true' <iframe name="zi"
> :src='pageSrc'
<iframe style="width:100%;height:500px;padding-top:10px"
name="zi" sandbox="allow-same-origin allow-scripts allow-forms allow-top-navigation allow-popups"></iframe>
:src='pageSrc'
style="width:100%;height:500px;padding-top:10px"
sandbox="allow-same-origin allow-scripts allow-forms allow-top-navigation allow-popups"
></iframe>
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
...@@ -33,32 +29,28 @@ export default { ...@@ -33,32 +29,28 @@ export default {
entityManger: {} entityManger: {}
}, },
watch: { watch: {
value(val) { value (val) {
this.dialogVisible = val this.dialogVisible = val
}, },
dialogVisible(val) { dialogVisible (val) {
this.$emit('input', val) this.$emit('input', val)
} }
}, },
data() { data () {
return { return {
dialogVisiblePage: false, dialogVisiblePage: false,
pageSrc: '', pageSrc: '',
dialogVisible: false dialogVisible: false
} }
}, },
beforeDestroy() { beforeDestroy () {
window.removeEventListener('message', this.listenerMessageFun, false) window.removeEventListener('message', this.listenerMessageFun, false)
}, },
mounted() { mounted () {
window.addEventListener( window.addEventListener('message', this.listenerMessageFun, false)
'message',
this.listenerMessageFun,
false
)
}, },
methods: { methods: {
listenerMessageFun(event) { listenerMessageFun (event) {
const data_ = event.data const data_ = event.data
const { innerType, data, main, close } = data_ const { innerType, data, main, close } = data_
if (close) { if (close) {
...@@ -78,17 +70,19 @@ export default { ...@@ -78,17 +70,19 @@ export default {
} }
}, },
// 参照弹出选择 // 参照弹出选择
selectPlugin(data) { selectPlugin (data) {
this.$emit('linkBtnUiBack', data) this.$emit('linkBtnUiBack', data)
}, },
// 单一列表的数据导入 // 单一列表的数据导入
async dataImport(data, config, main) { async dataImport (data, config, main) {
if (!config) return if (!config) return
const type = this.entityManger.type // 实体类型 const type = this.entityManger.type // 实体类型
const restful_appcode = this.entityManger.config.restful_appcode const restful_appcode = this.entityManger.config.restful_appcode
if (type === 'mainDtl') { // 详情的导入 if (type === 'mainDtl') {
// 详情的导入
this.dtlImport(data, config, main) this.dtlImport(data, config, main)
} else { // 列表上的导入 } else {
// 列表上的导入
const ids = data.reduce((prve, curr) => { const ids = data.reduce((prve, curr) => {
prve.push(curr.id) prve.push(curr.id)
return prve return prve
...@@ -119,7 +113,7 @@ export default { ...@@ -119,7 +113,7 @@ export default {
} }
}, },
// 详情中的导入 // 详情中的导入
async dtlImport(data, config, main) { async dtlImport (data, config, main) {
if (!config) return if (!config) return
const mainEntity = this.entityManger.mainEntity const mainEntity = this.entityManger.mainEntity
const config_ = mainEntity.config const config_ = mainEntity.config
...@@ -164,10 +158,10 @@ export default { ...@@ -164,10 +158,10 @@ export default {
}) })
} }
}, },
open() { open () {
this.pageSrc = this.src this.pageSrc = this.src
}, },
handleClose() { handleClose () {
this.dialogVisible = false this.dialogVisible = false
} }
} }
......
<template> <template>
<el-dialog <el-dialog title="导入"
title="导入" :visible.sync="dialogVisible"
:visible.sync="dialogVisible" width="40%"
width="40%" :before-close="handleClose"
:before-close="handleClose" :close-on-click-modal='false'
:close-on-click-modal='false' @open='open'
@open='open' :append-to-body='true'>
:append-to-body='true' <el-upload class="upload-demo"
:drag='false'
> ref='uploadEl'
<el-upload action="https://jsonplaceholder.typicode.com/posts/"
class="upload-demo" :auto-upload="false"
:drag='false' :on-change="handleChange"
ref='uploadEl' :accept='accept'
action="https://jsonplaceholder.typicode.com/posts/" :multiple='false'
:auto-upload="false" :on-remove="handleRemove">
:on-change="handleChange" <!-- <i class="el-icon-upload"></i> -->
:accept='accept' <!-- <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div> -->
:multiple='false' <el-button size="small"
:on-remove="handleRemove" type="primary">选择文件</el-button>
> <div class="el-upload__tip"
<!-- <i class="el-icon-upload"></i> --> slot="tip">只能上传xlsx/xls文件</div>
<!-- <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div> --> </el-upload>
<el-button size="small" type="primary">选择文件</el-button> <span slot="footer"
<div class="el-upload__tip" slot="tip">只能上传xlsx/xls文件</div> class="dialog-footer">
</el-upload> <el-button size='mini'
<span slot="footer" class="dialog-footer"> @click="dialogVisible = false">取 消</el-button>
<el-button size='mini' @click="dialogVisible = false">取 消</el-button> <el-button size='mini'
<el-button size='mini' type="primary" @click="submit">确 定</el-button> type="primary"
</span> @click="submit">确 定</el-button>
</span>
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
...@@ -38,49 +39,50 @@ export default { ...@@ -38,49 +39,50 @@ export default {
value: { value: {
type: Boolean, type: Boolean,
default: false default: false
}, },
entityConfig: {}, entityConfig: {},
currentImportItem: {} currentImportItem: {}
}, },
watch: { watch: {
value(val) { value (val) {
this.dialogVisible = val this.dialogVisible = val
}, },
dialogVisible(val) { dialogVisible (val) {
this.$emit('input', val) this.$emit('input', val)
} }
}, },
data() { data () {
return { return {
dialogVisible: false, dialogVisible: false,
fileList: [], fileList: [],
accept: 'application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' accept:
'application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
} }
}, },
methods: { methods: {
handleRemove(file, fileList) { handleRemove (file, fileList) {
if (!fileList.length) { if (!fileList.length) {
this.fileList = [] this.fileList = []
} }
}, },
handleChange(file, fileList) { handleChange (file, fileList) {
const uploadFiles = this.$refs.uploadEl.uploadFiles.pop() const uploadFiles = this.$refs.uploadEl.uploadFiles.pop()
this.$refs.uploadEl.uploadFiles = [uploadFiles] this.$refs.uploadEl.uploadFiles = [uploadFiles]
const file_ = [file] const file_ = [file]
this.fileList = file_ this.fileList = file_
}, },
open() { open () {
const r = this.$refs.uploadEl const r = this.$refs.uploadEl
this.fileList = [] this.fileList = []
if (r) { // 清空上传列表 if (r) {
// 清空上传列表
r.clearFiles() r.clearFiles()
} }
}, },
handleClose() { handleClose () {
this.dialogVisible = false this.dialogVisible = false
}, },
submit() { submit () {
if (!this.fileList.length) { if (!this.fileList.length) {
this.$message.error('请选择文件') this.$message.error('请选择文件')
return return
...@@ -91,7 +93,7 @@ export default { ...@@ -91,7 +93,7 @@ export default {
} }
</script> </script>
<style scoped> <style scoped>
.upload-demo{ .upload-demo {
text-align: center text-align: center;
} }
</style> </style>
This diff is collapsed.
...@@ -1480,7 +1480,8 @@ const hsPageConfigImport = { ...@@ -1480,7 +1480,8 @@ const hsPageConfigImport = {
'version': '2.0', 'version': '2.0',
'ui': { 'ui': {
main: { main: {
tableHeightAdaption: false tableHeightAdaption: false,
showImportExtraParamForm: false
} }
}, },
'entity': { 'entity': {
...@@ -2460,6 +2461,111 @@ const hsButton = { ...@@ -2460,6 +2461,111 @@ const hsButton = {
label: '测试' label: '测试'
} }
} }
const hsPopoverHtml = {
config: {
width: 400,
height: 400
}
}
const hsCalculator = {
config: {},
data: []
}
const hsTextLinks = {
config: {
linkList: [{
'label': '...'
}]
},
data: []
}
const hsGroupCheckbox = {
config: {
label: 'name',
value: 'id',
group: 'group'
},
data: []
}
const hsPageConfigCheckbox = {
config: {
'restful_appcode': '', // appcode
'isInitMenuParam': false, // 是否初始化menuParam
pageMode: true,
'version': '2.0',
ui: {
main: {
isTabsForm: false,
tableHeightAdaption: false,
mainControlType: 1
},
index: {
showQueryComponent: false
}
},
'entity': { // 实体节点
'index': {
'isInitNewDefault': false, // 初始化新增默认值
'initNewDefaultOnce': true, // 是否只调用一次
'width': '220px',
'group': 'Tree',
'isShowTreeHeader': false, // 是否显示树的头部
'table_name': '', // 表名
'primaryKey': 'id', // 主键
'saveIncludeFields': '', // 保存时一定会传入到后台的字段,无论这些字段是否有修改,多字段时逗号串联
'saveExcludeFields': '', // 保存时不传给后端的字段,无论这些字段是否有修改,多字段时逗号串联
'dyncQueryParms': {}, // 动态查询参数
'queryOneDyncQueryParms': {},
'indexTitle': '', // 标题
'saveDyncParms': {},
'check': {} // 修改或者新增时 数据校验
},
'main': {
'refreshIndex': false, // 单行修改后 是否刷新左侧
'isInitNewDefault': false, // 初始化新增默认值
'initNewDefaultOnce': true, // 是否只调用一次
'check': {}, // 修改时数据校验
'enableBillFlow': true, // 是否开启审核流程
'queryDefault': {}, // 查询默认值
'isHideQueryZone': false, // 是否隐藏搜索区域
'group': '', // 分组
'table_name': '', // 表名
'primaryKey': 'id', // 主键
'saveIncludeFields': '', // 保存时一定会传入到后台的字段,无论这些字段是否有修改,多字段时逗号串联
'saveExcludeFields': '', // 保存时不传给后端的字段,无论这些字段是否有修改,多字段时逗号串联
'dyncQueryParms': { // 动态查询参数
},
'saveDyncParms': {},
'queryOneDyncQueryParms': {},
'importInfo': []
}
},
'new_default': {// 新增默认值
'main': {
'columns': {
}
},
'index': {
'columns': {
}
}
}
},
data: []
}
const hsTreeCheckbox = {
config: {
label: 'name',
parentId: 'parent_id',
nodeKey: 'id',
showCheckbox: true,
checkOnClickNode: true,
defaultExpandAll: true,
columns: [],
showHeader: false
},
data: []
}
const mockData = { const mockData = {
hsLineBar: hsLineBar, hsLineBar: hsLineBar,
hsPie: initPie, hsPie: initPie,
...@@ -2524,6 +2630,12 @@ const mockData = { ...@@ -2524,6 +2630,12 @@ const mockData = {
hsInputSelect, hsInputSelect,
hsTabsTable, hsTabsTable,
hsPageConfigQueryBi, hsPageConfigQueryBi,
hsButton hsButton,
hsPopoverHtml,
hsCalculator,
hsTextLinks,
hsGroupCheckbox,
hsPageConfigCheckbox,
hsTreeCheckbox
} }
export default mockData export default mockData
<template> <template>
<div> <div>
<el-table <el-table :data="gridData"
:data="gridData" max-height="350">
max-height="350" <el-table-column property="app_code"
> label="appCode"
<el-table-column width="150"></el-table-column>
property="app_code" <el-table-column property="page_name"
label="appCode" label="pageName"
width="150" width="200"></el-table-column>
></el-table-column> <el-table-column property="control_name"
<el-table-column label="controlName"></el-table-column>
property="page_name" <el-table-column property="query_sql"
label="pageName" label="querySql"
width="200" :show-overflow-tooltip='true'></el-table-column>
></el-table-column> <el-table-column property="version"
<el-table-column label="version"></el-table-column>
property="control_name"
label="controlName"
></el-table-column>
<el-table-column
property="query_sql"
label="querySql"
:show-overflow-tooltip='true'
></el-table-column>
<el-table-column
property="version"
label="version"
></el-table-column>
<el-table-column label="操作"> <el-table-column label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button size="mini"
size="mini" type="danger"
type="danger" @click="revertVersion(scope.$index, scope.row)">回滚</el-button>
@click="revertVersion(scope.$index, scope.row)" <el-button type="success"
>回滚</el-button> size="mini"
<el-button @click="showView(scope.$index, scope.row)">查看效果</el-button>
type="success"
size="mini"
@click="showView(scope.$index, scope.row)"
>查看效果</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -50,7 +34,7 @@ export default { ...@@ -50,7 +34,7 @@ export default {
props: { props: {
elInfo: { elInfo: {
type: Object, type: Object,
default() { default () {
return { return {
dialogVisible: false dialogVisible: false
} }
...@@ -61,7 +45,7 @@ export default { ...@@ -61,7 +45,7 @@ export default {
default: false default: false
} }
}, },
data() { data () {
return { return {
pageTitle: '', pageTitle: '',
dialogVisible: false, dialogVisible: false,
...@@ -69,15 +53,15 @@ export default { ...@@ -69,15 +53,15 @@ export default {
} }
}, },
watch: { watch: {
isrequest(value) { isrequest (value) {
this.dialogOpen() this.dialogOpen()
} }
}, },
mounted() { mounted () {
this.dialogOpen() this.dialogOpen()
}, },
methods: { methods: {
revertVersion(index, item) { revertVersion (index, item) {
const parm = { const parm = {
appCode: item.app_code, appCode: item.app_code,
pageName: item.page_name, pageName: item.page_name,
...@@ -100,7 +84,7 @@ export default { ...@@ -100,7 +84,7 @@ export default {
}) })
}) })
}, },
async dialogOpen() { async dialogOpen () {
const params = { const params = {
appCode: '', appCode: '',
pageName: this.elInfo.page, pageName: this.elInfo.page,
...@@ -108,10 +92,12 @@ export default { ...@@ -108,10 +92,12 @@ export default {
dbName: '', dbName: '',
dbCode: '' dbCode: ''
} }
const res = await this.$httpClient.WebChartConfigModule.webChartConfigQueryLog(params) const res = await this.$httpClient.WebChartConfigModule.webChartConfigQueryLog(
params
)
this.gridData = res.data || [] this.gridData = res.data || []
}, },
showView(index, item) { showView (index, item) {
const data = { const data = {
config: JSON.parse(item.json_config), config: JSON.parse(item.json_config),
sourceData: JSON.parse(item.json_data), sourceData: JSON.parse(item.json_data),
......
This diff is collapsed.
<template> <template>
<el-dialog <el-dialog @opened="dialogOpen"
@opened="dialogOpen" title="系统布局配置"
title="系统布局配置" :visible.sync="dialogVisible"
:visible.sync="dialogVisible" @closed="dialogClose"
@closed="dialogClose" width="95%" width="95%"
:append-to-body='true' :append-to-body='true'
:close-on-click-modal='false'> :close-on-click-modal='false'>
<div class="drawer-container"> <div class="drawer-container">
<div> <div>
<div class="drawer-item"> <div class="drawer-item">
<span class="itemColor">系统主题颜色:</span> <span class="itemColor">系统主题颜色:</span>
<theme-picker @changeColor="themeChange" /> <theme-picker @changeColor="themeChange" />
</div>
</div> </div>
</div> </div>
</div> </el-dialog>
</el-dialog>
</template> </template>
<script> <script>
...@@ -25,20 +25,20 @@ export default { ...@@ -25,20 +25,20 @@ export default {
value: Boolean value: Boolean
}, },
watch: { watch: {
value(val) { value (val) {
this.dialogVisible = val this.dialogVisible = val
}, },
dialogVisible(val) { dialogVisible (val) {
this.$emit('input', val) this.$emit('input', val)
} }
}, },
data() { data () {
return { return {
dialogVisible: false dialogVisible: false
} }
}, },
methods: { methods: {
themeChange(val) { themeChange (val) {
// this.$store.dispatch('setting/changeSetting', { // this.$store.dispatch('setting/changeSetting', {
// key: 'theme', // key: 'theme',
// value: val // value: val
...@@ -51,7 +51,7 @@ export default { ...@@ -51,7 +51,7 @@ export default {
}) })
}, },
// 保存queryBIView页面的配置信息 // 保存queryBIView页面的配置信息
savePageConfig(data) { savePageConfig (data) {
const parms = { const parms = {
sControl: 'systemSetting', sControl: 'systemSetting',
sConfig: {}, sConfig: {},
...@@ -59,10 +59,10 @@ export default { ...@@ -59,10 +59,10 @@ export default {
} }
return this.$API.runSave(parms) return this.$API.runSave(parms)
}, },
dialogOpen() { dialogOpen () {
this.$store.commit('change_viewStatus', true) this.$store.commit('change_viewStatus', true)
}, },
dialogClose() { dialogClose () {
this.$store.commit('change_viewStatus', false) this.$store.commit('change_viewStatus', false)
this.dialogVisible = false this.dialogVisible = false
} }
...@@ -76,22 +76,21 @@ export default { ...@@ -76,22 +76,21 @@ export default {
font-size: 14px; font-size: 14px;
line-height: 1.5; line-height: 1.5;
word-wrap: break-word; word-wrap: break-word;
} }
.drawer-title { .drawer-title {
margin-bottom: 12px; margin-bottom: 12px;
color: rgba(0, 0, 0, .85); color: rgba(0, 0, 0, 0.85);
font-size: 14px; font-size: 14px;
line-height: 22px; line-height: 22px;
} }
.drawer-item { .drawer-item {
display: flex; display: flex;
justify-content: start; justify-content: start;
color: rgba(0, 0, 0, .65); color: rgba(0, 0, 0, 0.65);
font-size: 14px; font-size: 14px;
padding: 12px 0; padding: 12px 0;
} }
.itemColor{ .itemColor {
margin-right: 10px; margin-right: 10px;
} }
</style> </style>
This diff is collapsed.
const data = { const data = {
exportToExcel(columnList = [], dataList = [], fileName = 'data') { exportToExcel (columnList = [], dataList = [], fileName = 'data') {
const tHeader = [] const tHeader = []
const filterVal = [] const filterVal = []
for (const item of columnList) { for (const item of columnList) {
...@@ -13,10 +13,10 @@ const data = { ...@@ -13,10 +13,10 @@ const data = {
export_json_to_excel(tHeader, data, fileName) export_json_to_excel(tHeader, data, fileName)
}) })
}, },
formatJson(filterVal, jsonData) { formatJson (filterVal, jsonData) {
return jsonData.map(v => filterVal.map(j => v[j])) return jsonData.map(v => filterVal.map(j => v[j]))
}, },
exportJsonToExcelMuilt(dataList = [], fileName = 'data') { exportJsonToExcelMuilt (dataList = [], fileName = 'data') {
require.ensure([], () => { require.ensure([], () => {
const { export_json_to_excel_muilt } = require('./Export2Excel.js') const { export_json_to_excel_muilt } = require('./Export2Excel.js')
export_json_to_excel_muilt(dataList, fileName) export_json_to_excel_muilt(dataList, fileName)
......
import { EleResize } from './ezresize' import { EleResize } from './ezresize'
import echarts from 'echarts' import echarts from 'echarts'
export default function drawEcharts(id, option) { // id: chart所在块id, option: 配置项 export default function drawEcharts (id, option) { // id: chart所在块id, option: 配置项
const dom = document.getElementById(id) const dom = document.getElementById(id)
const chart = echarts.init(dom) const chart = echarts.init(dom)
chart.setOption(option) chart.setOption(option)
......
import index from './src/index.vue' import index from './src/index.vue'
index.install = function(Vue) { index.install = function (Vue) {
Vue.component(index.name, index) Vue.component(index.name, index)
} }
export default index export default index
This diff is collapsed.
This diff is collapsed.
import index from './src/index.vue' import index from './src/index.vue'
index.install = function(Vue) { index.install = function (Vue) {
Vue.component(index.name, index) Vue.component(index.name, index)
} }
export default index export default index
This diff is collapsed.
<template> <template>
<hs-component-shell <hs-component-shell v-bind="$attrs"
v-bind="$attrs" v-on="$listeners">
v-on="$listeners" <child v-bind="$attrs"
> v-on="$listeners"></child>
<child
v-bind="$attrs"
v-on="$listeners"
></child>
</hs-component-shell> </hs-component-shell>
</template> </template>
<script> <script>
......
import index from './src/index.vue' import index from './src/index.vue'
index.install = function(Vue) { index.install = function (Vue) {
Vue.component(index.name, index) Vue.component(index.name, index)
} }
export default index export default index
This diff is collapsed.
<template> <template>
<hs-component-shell <hs-component-shell v-bind="$attrs"
v-bind="$attrs" v-on="$listeners">
v-on="$listeners" <child v-bind="$attrs"
> v-on="$listeners"></child>
<child
v-bind="$attrs"
v-on="$listeners"
></child>
</hs-component-shell> </hs-component-shell>
</template> </template>
<script> <script>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment