diff --git a/jero-web/package.json b/jero-web/package.json index a0e8aa7b..2c2e5c7c 100644 --- a/jero-web/package.json +++ b/jero-web/package.json @@ -45,7 +45,8 @@ "vuex": "^3.1.0", "vxe-table": "2.9.13", "vxe-table-plugin-antd": "1.8.10", - "xe-utils": "2.4.8" + "xe-utils": "2.4.8", + "cron-parser": "^2.10.0" }, "devDependencies": { "@babel/polyfill": "^7.2.5", @@ -98,10 +99,7 @@ "vue/html-closing-bracket-newline": 0, "vue/no-parsing-error": 0, "no-tabs": 0, - "indent": [ - "off", - 2 - ], + "indent": ["off", 2], "no-console": 0, "space-before-function-paren": 0 } diff --git a/jero-web/src/components/JVxeCells/JVxePopupCell.vue b/jero-web/src/components/JVxeCells/JVxePopupCell.vue index 76ddd391..885933d3 100644 --- a/jero-web/src/components/JVxeCells/JVxePopupCell.vue +++ b/jero-web/src/components/JVxeCells/JVxePopupCell.vue @@ -6,7 +6,7 @@ diff --git a/jero-web/src/components/dict/JSearchSelectTag.vue b/jero-web/src/components/dict/JSearchSelectTag.vue index 077530b5..38e1400b 100644 --- a/jero-web/src/components/dict/JSearchSelectTag.vue +++ b/jero-web/src/components/dict/JSearchSelectTag.vue @@ -65,7 +65,11 @@ type: Number, default: 10, required: false - } + }, + getPopupContainer: { + type:Function, + default: null + }, }, data(){ this.loadData = debounce(this.loadData, 800);//消抖 @@ -226,7 +230,9 @@ return this.options }, getParentContainer(node){ - if(!this.popContainer){ + if(typeof this.getPopupContainer === 'function'){ + return this.getPopupContainer(node) + } else if(!this.popContainer){ return node.parentNode }else{ return document.querySelector(this.popContainer) diff --git a/jero-web/src/components/jero/JCron.vue b/jero-web/src/components/jero/JCron.vue index 39c279e1..f873bdba 100644 --- a/jero-web/src/components/jero/JCron.vue +++ b/jero-web/src/components/jero/JCron.vue @@ -1,7 +1,7 @@ @@ -672,13 +701,13 @@ import Draggable from 'vuedraggable' import { ACCESS_TOKEN } from '@/store/mutation-types' import { FormTypes, VALIDATE_NO_PASSED } from '@/utils/JEditableTableUtil' - import { cloneObject, randomString, randomNumber, getEventPath } from '@/utils/util' + import { cloneObject, getEventPath, randomNumber, randomString } from '@/utils/util' import JDate from '@/components/jero/JDate' import { filterDictText, initDictOptions } from '@/components/dict/JDictSelectUtil' - import { getFileAccessHttpUrl } from '@/api/manage'; + import { getFileAccessHttpUrl } from '@/api/manage' import JInputPop from '@/components/jero/minipop/JInputPop' import JFilePop from '@/components/jero/minipop/JFilePop' - import { getNoAuthCols } from "@/utils/authFilter" + import { getNoAuthCols } from '@/utils/authFilter' // 行高,需要在实例加载完成前用到 let rowHeight = 61 @@ -814,6 +843,7 @@ metaCheckboxValues: {}, multiSelectValues: {}, searchSelectValues: {}, + searchSelectAsyncValues: {}, // 绑定左侧选择框已选择的id selectedRowIds: [], // 存储被删除行的id @@ -1048,6 +1078,10 @@ this.inputValues = [] this.rows = [] this.deleteIds = [] + this.selectedRowIds = [] + this.tooltips = {} + this.notPassedIds = [] + // 重置values this.selectValues = {} this.checkboxValues = {} this.jdateValues = {} @@ -1055,14 +1089,16 @@ this.departCompValues = {} this.userCompValues = {} this.slotValues = {} - this.selectedRowIds = [] - this.tooltips = {} - this.notPassedIds = [] - this.uploadValues = [] - this.popupValues = [] - this.radioValues = [] - this.multiSelectValues = [] - this.searchSelectValues = [] + //update-begin-author:shunjlei date:20210415 for:类型赋值错误 + this.uploadValues = {} + this.popupValues = {} + this.radioValues = {} + this.multiSelectValues = {} + this.searchSelectValues = {} + this.searchSelectAsyncValues = {} + //update-end-author:shunjlei date:20210415 for:类型赋值错误 + + // 重置滚动条 this.scrollTop = 0 this.$nextTick(() => { this.getElement('tbody').scrollTop = 0 @@ -1136,6 +1172,7 @@ let radioValues = { ...this.radioValues } let multiSelectValues = { ...this.multiSelectValues } let searchSelectValues = { ...this.searchSelectValues } + let searchSelectAsyncValues = { ...this.searchSelectAsyncValues } // 禁用行的id let disabledRowIds = (this.disabledRowIds || []) dataSource.forEach((data, newValueIndex) => { @@ -1225,6 +1262,8 @@ radioValues[inputId] = sourceValue } else if (column.type === FormTypes.sel_search) { searchSelectValues[inputId] = sourceValue + } else if (column.type === FormTypes.sel_search_async) { + searchSelectAsyncValues[inputId] = sourceValue } else if (column.type === FormTypes.list_multi) { if (typeof sourceValue === 'string' && sourceValue.length > 0) { multiSelectValues[inputId] = sourceValue.split(',') @@ -1245,6 +1284,8 @@ status: 'done', path: sourceValue } + } else { + uploadValues[inputId] = null } } else { value[column.key] = sourceValue @@ -1309,6 +1350,7 @@ this.radioValues = radioValues this.multiSelectValues = multiSelectValues this.searchSelectValues = searchSelectValues + this.searchSelectAsyncValues = searchSelectAsyncValues // 重新计算所有统计列 this.recalcAllStatisticsColumns() // 更新到 dom @@ -1543,6 +1585,8 @@ value[column.key] = this.radioValues[inputId] } else if (column.type === FormTypes.sel_search) { value[column.key] = this.searchSelectValues[inputId] + } else if (column.type === FormTypes.sel_search_async) { + value[column.key] = this.searchSelectAsyncValues[inputId] } else if (column.type === FormTypes.list_multi) { if (!this.multiSelectValues[inputId] || this.multiSelectValues[inputId].length === 0) { value[column.key] = '' @@ -1671,6 +1715,7 @@ radioValues: this.radioValues, multiSelectValues: this.multiSelectValues, searchSelectValues: this.searchSelectValues, + searchSelectAsyncValues: this.searchSelectAsyncValues, }) }, /** 设置某行某列的值 */ @@ -1736,6 +1781,8 @@ edited = this.setOneValue(this.multiSelectValues, modelKey, newValue, true) } else if (column.type === FormTypes.sel_search) { edited = this.setOneValue(this.searchSelectValues, modelKey, newValue) + } else if (column.type === FormTypes.sel_search_async) { + edited = this.setOneValue(this.searchSelectAsyncValues, modelKey, newValue) } else { edited = false } @@ -2731,6 +2778,11 @@ this.validateOneInput(value, row, column, this.notPassedIds, true, 'change') this.elemValueChange(FormTypes.sel_search, row, column, value) }, + handleSearchSelectAsyncChange(value, id, row, column) { + this.searchSelectAsyncValues = this.bindValuesChange(value, id, 'searchSelectAsyncValues') + this.validateOneInput(value, row, column, this.notPassedIds, true, 'change') + this.elemValueChange(FormTypes.sel_search_async, row, column, value) + }, filterOption(input, option) { return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0 }, @@ -2992,6 +3044,8 @@ border-bottom: @border; transition: background-color 300ms; width: 100%; + height: 61px; + overflow: hidden; position: absolute; left: 0; z-index: 10; @@ -3101,6 +3155,12 @@ } } + .comp-normal { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + .j-td-span { position: relative; padding: 4px 11px; diff --git a/jero-web/src/components/jero/JPopup.vue b/jero-web/src/components/jero/JPopup.vue index 50f03983..3d93e472 100644 --- a/jero-web/src/components/jero/JPopup.vue +++ b/jero-web/src/components/jero/JPopup.vue @@ -10,6 +10,7 @@ ref="jPopupOnlReport" :code="code" :multi="multi" + :sorter="sorter" :groupId="uniqGroupId" :param="param" @ok="callBack" @@ -47,6 +48,11 @@ default: '', required: false }, + /** 排序列,指定要排序的列,使用方式:列名=desc|asc */ + sorter: { + type: String, + default: '' + }, width: { type: Number, default: 1200, diff --git a/jero-web/src/components/jero/JUpload.vue b/jero-web/src/components/jero/JUpload.vue index 7631f7cb..6e1e4ca4 100644 --- a/jero-web/src/components/jero/JUpload.vue +++ b/jero-web/src/components/jero/JUpload.vue @@ -2,6 +2,7 @@
{ let col = column.own - if (record[col.key] == null || record[col.key] === '') { + if (col.key && (record[col.key] == null || record[col.key] === '')) { // 设置默认值 let createValue = getEnhancedMixins(col.$type || col.type, 'createValue') record[col.key] = createValue({row: record, column, $table: xTable}) diff --git a/jero-web/src/components/jero/JVxeTable/components/cells/JVxeDateCell.vue b/jero-web/src/components/jero/JVxeTable/components/cells/JVxeDateCell.vue index c9bff20d..48d33b5d 100644 --- a/jero-web/src/components/jero/JVxeTable/components/cells/JVxeDateCell.vue +++ b/jero-web/src/components/jero/JVxeTable/components/cells/JVxeDateCell.vue @@ -55,7 +55,9 @@ // 【组件增强】注释详见:JVxeCellMixins.js enhanced: { aopEvents: { - editActived: event => dispatchEvent(event, 'ant-calendar-picker', el => el.children[0].dispatchEvent(event.$event)), + editActived(event) { + dispatchEvent.call(this, event, 'ant-calendar-picker', el => el.children[0].dispatchEvent(event.$event)) + }, }, } } diff --git a/jero-web/src/components/jero/JVxeTable/components/cells/JVxeDragSortCell.vue b/jero-web/src/components/jero/JVxeTable/components/cells/JVxeDragSortCell.vue index ad6d8c4a..0ba9e4fb 100644 --- a/jero-web/src/components/jero/JVxeTable/components/cells/JVxeDragSortCell.vue +++ b/jero-web/src/components/jero/JVxeTable/components/cells/JVxeDragSortCell.vue @@ -34,7 +34,7 @@ return this.rowIndex === 0 }, disabledMoveDown() { - return this.rowIndex === (this.rows.length - 1) + return this.rowIndex === (this.fullDataLength - 1) }, }, methods: { diff --git a/jero-web/src/components/jero/JVxeTable/components/cells/JVxeSelectCell.vue b/jero-web/src/components/jero/JVxeTable/components/cells/JVxeSelectCell.vue index 7bd52e14..d837f45c 100644 --- a/jero-web/src/components/jero/JVxeTable/components/cells/JVxeSelectCell.vue +++ b/jero-web/src/components/jero/JVxeTable/components/cells/JVxeSelectCell.vue @@ -116,7 +116,9 @@ // 【组件增强】注释详见:JVxeCellMixins.js enhanced: { aopEvents: { - editActived: event => dispatchEvent(event, 'ant-select'), + editActived(event) { + dispatchEvent.call(this, event, 'ant-select') + }, }, translate: {enabled: true}, getValue(value) { diff --git a/jero-web/src/components/jero/JVxeTable/components/cells/JVxeTextareaCell.vue b/jero-web/src/components/jero/JVxeTable/components/cells/JVxeTextareaCell.vue index 68db34cd..c75d8478 100644 --- a/jero-web/src/components/jero/JVxeTable/components/cells/JVxeTextareaCell.vue +++ b/jero-web/src/components/jero/JVxeTable/components/cells/JVxeTextareaCell.vue @@ -23,7 +23,9 @@ autofocus: '.ant-input', }, aopEvents: { - editActived: event => dispatchEvent(event, 'anticon-fullscreen'), + editActived(event) { + dispatchEvent.call(this, event, 'anticon-fullscreen') + }, }, }, } diff --git a/jero-web/src/components/jero/JVxeTable/mixins/JVxeCellMixins.js b/jero-web/src/components/jero/JVxeTable/mixins/JVxeCellMixins.js index f564dbe3..85159d69 100644 --- a/jero-web/src/components/jero/JVxeTable/mixins/JVxeCellMixins.js +++ b/jero-web/src/components/jero/JVxeTable/mixins/JVxeCellMixins.js @@ -36,6 +36,9 @@ export default { rows() { return this.params.data }, + fullDataLength() { + return this.params.$table.tableFullData.length + }, rowIndex() { return this.params.rowIndex }, @@ -291,6 +294,10 @@ export function vModel(value, row, property) { /** 模拟触发事件 */ export function dispatchEvent({cell, $event}, className, handler) { + // alwaysEdit 下不模拟触发事件,否者会导致触发两次 + if (this && this.alwaysEdit) { + return + } window.setTimeout(() => { let element = cell.getElementsByClassName(className) if (element && element.length > 0) { @@ -298,9 +305,7 @@ export function dispatchEvent({cell, $event}, className, handler) { handler(element[0]) } else { // 模拟触发点击事件 - console.log($event) if($event){ - console.log("$event===>",$event) element[0].dispatchEvent($event) } } diff --git a/jero-web/src/components/jero/index.js b/jero-web/src/components/jero/index.js index 6acca5fb..e415d1fe 100644 --- a/jero-web/src/components/jero/index.js +++ b/jero-web/src/components/jero/index.js @@ -26,6 +26,7 @@ import JSlider from './JSlider.vue' import JSwitch from './JSwitch.vue' import JTime from './JTime.vue' import JTreeTable from './JTreeTable.vue' +import JEasyCron from "@/components/jeecg/JEasyCron"; //jerobiz import JSelectDepart from '../jerobiz/JSelectDepart.vue' @@ -69,5 +70,6 @@ export default { Vue.component('JSelectMultiUser', JSelectMultiUser) Vue.component('JSelectRole', JSelectRole) Vue.component('JSelectUserByDep', JSelectUserByDep) + Vue.component(JEasyCron.name, JEasyCron) } } \ No newline at end of file diff --git a/jero-web/src/components/jero/modal/JCronModal.vue b/jero-web/src/components/jero/modal/JCronModal.vue index c3361899..2727495b 100644 --- a/jero-web/src/components/jero/modal/JCronModal.vue +++ b/jero-web/src/components/jero/modal/JCronModal.vue @@ -1,6 +1,6 @@ diff --git a/jero-web/src/components/page/GlobalLayout.vue b/jero-web/src/components/page/GlobalLayout.vue index 0f96ee77..8a0effa3 100644 --- a/jero-web/src/components/page/GlobalLayout.vue +++ b/jero-web/src/components/page/GlobalLayout.vue @@ -16,6 +16,7 @@ v-if="device === 'mobile'" :menus="menus" @menuSelect="menuSelect" + @updateMenuTitle="handleUpdateMenuTitle" :theme="navTheme" :collapsed="false" :collapsible="true"> @@ -26,6 +27,7 @@ mode="inline" :menus="menus" @menuSelect="myMenuSelect" + @updateMenuTitle="handleUpdateMenuTitle" :theme="navTheme" :collapsed="collapsed" :collapsible="true"> @@ -45,6 +47,7 @@ mode="inline" :menus="menus" @menuSelect="menuSelect" + @updateMenuTitle="handleUpdateMenuTitle" :theme="navTheme" :collapsed="false" :collapsible="true"> @@ -62,6 +65,7 @@ :collapsed="collapsed" :device="device" @toggle="toggle" + @updateMenuTitle="handleUpdateMenuTitle" /> @@ -85,15 +89,14 @@ import SideMenu from '@/components/menu/SideMenu' import GlobalHeader from '@/components/page/GlobalHeader' import GlobalFooter from '@/components/page/GlobalFooter' + import { triggerWindowResizeEvent } from '@/utils/util' + import { mapActions, mapState } from 'vuex' + import { mixin, mixinDevice } from '@/utils/mixin.js' // update-start---- author:os_chengtgen -- date:20190830 -- for:issues/463 -编译主题颜色已生效,但还一直转圈,显示主题 正在编译 ------ // import SettingDrawer from '@/components/setting/SettingDrawer' // 注释这个因为在个人设置模块已经加载了SettingDrawer页面 // update-end ---- author:os_chengtgen -- date:20190830 -- for:issues/463 -编译主题颜色已生效,但还一直转圈,显示主题 正在编译 ------ - import { triggerWindowResizeEvent } from '@/utils/util' - import { mapState, mapActions } from 'vuex' - import { mixin, mixinDevice } from '@/utils/mixin.js' - export default { name: 'GlobalLayout', components: { @@ -160,10 +163,6 @@ //此处触发动态路由被点击事件 this.findMenuBykey(this.menus,value.key) this.$emit("dynamicRouterShow",value.key,this.activeMenu.meta.title) - // update-begin-author:sunjianlei date:20191223 for: 修复刷新后菜单Tab名字显示异常 - let storeKey = 'route:title:' + this.activeMenu.path - this.$ls.set(storeKey, this.activeMenu.meta.title) - // update-end-author:sunjianlei date:20191223 for: 修复刷新后菜单Tab名字显示异常 }, findMenuBykey(menus,key){ for(let i of menus){ @@ -173,8 +172,17 @@ this.findMenuBykey(i.children,key) } } - } + }, //update-end-author:taoyan date:20190430 for:动态路由title显示配置的菜单title而不是其对应路由的title + + // update-begin-author:sunjianlei date:20210409 for: 修复动态功能测试菜单、带参数菜单标题错误、展开错误的问题 + handleUpdateMenuTitle(value) { + this.findMenuBykey(this.menus, value.path) + this.activeMenu.meta.title = value.meta.title + this.$emit('dynamicRouterShow', value.path, this.activeMenu.meta.title) + }, + // update-end-author:sunjianlei date:20210409 for: 修复动态功能测试菜单、带参数菜单标题错误、展开错误的问题 + } } diff --git a/jero-web/src/components/tools/UserMenu.vue b/jero-web/src/components/tools/UserMenu.vue index d92eda9d..8ebbc56f 100644 --- a/jero-web/src/components/tools/UserMenu.vue +++ b/jero-web/src/components/tools/UserMenu.vue @@ -185,8 +185,8 @@ return that.Logout({}).then(() => { // update-begin author:wangshuai date:20200601 for: 退出登录跳转登录页面 that.$router.push({ path: '/user/login' }); + window.location.reload() // update-end author:wangshuai date:20200601 for: 退出登录跳转登录页面 - //window.location.reload() }).catch(err => { that.$message.error({ title: '错误', @@ -225,11 +225,17 @@ // update_begin author:sunjianlei date:20191230 for: 解决外部链接打开失败的问题 searchMethods(value) { let route = this.searchMenuOptions.filter(item => item.id === value)[0] - if (route.meta.internalOrExternal === true || route.component.includes('layouts/IframePageView')) { + //update-begin-author:taoyan date:20210528 for: 【菜单问题】配置一个iframe地址的菜单,内部打开,在搜索菜单上打开却新开了一个窗口 + if (route.meta.internalOrExternal === true) { window.open(route.meta.url, '_blank') } else { - this.$router.push({ path: route.path }) + if(route.component.includes('layouts/IframePageView')){ + this.$router.push(route) + }else{ + this.$router.push({ path: route.path }) + } } + //update-end-author:taoyan date:20210528 for: 【菜单问题】配置一个iframe地址的菜单,内部打开,在搜索菜单上打开却新开了一个窗口 this.searchMenuVisible = false }, // update_end author:sunjianlei date:20191230 for: 解决外部链接打开失败的问题 diff --git a/jero-web/src/utils/JEditableTableUtil.js b/jero-web/src/utils/JEditableTableUtil.js index 8eea1ed7..53ddabc5 100644 --- a/jero-web/src/utils/JEditableTableUtil.js +++ b/jero-web/src/utils/JEditableTableUtil.js @@ -14,6 +14,7 @@ const FormTypes = { popup:'popup', list_multi:"list_multi", sel_search:"sel_search", + sel_search_async:"sel_search_async", radio:'radio', checkbox_meta:"checkbox_meta", input_pop:'input_pop', diff --git a/jero-web/src/views/demo/SelectDemo.vue b/jero-web/src/views/demo/SelectDemo.vue index c8694033..3d12d30d 100644 --- a/jero-web/src/views/demo/SelectDemo.vue +++ b/jero-web/src/views/demo/SelectDemo.vue @@ -2,26 +2,35 @@
- + - + - + 选中值:{{ formData.sex}} + + + + + + + 选中值:{{ formData.sex2}} + + - + - + 选中值:{{ formData.user}} @@ -29,9 +38,9 @@ - + - + 选中值:{{ formData.user2}} @@ -40,10 +49,10 @@ - + - + 选中值:{{ formData.searchValue}} @@ -51,7 +60,7 @@ - + - + 选中值:{{ formData.asyncSelectValue}} @@ -67,13 +76,13 @@ - + - + 多选组合(v-model):{{ formData.selMuti }} @@ -81,48 +90,48 @@ - - - + + + - 选中的部门Code(v-decorator):{{ orgCodes }} + 选中的部门Code(v-model):{{ formData.orgCodes }} - - - + + + - 选中的部门ID(v-model):{{ departId }} + 选中的部门ID(v-model):{{ formData.departId }} - - - + + + - 选中的用户(v-model):{{ userIds }} + 选中的用户(v-model):{{ formData.userIds }} - - - + + + - 选中的用户(v-model):{{ multiUser }} + 选中的用户(v-model):{{ formData.multiUser }} - + - + 选中值:{{ formData.selectRole}} @@ -130,90 +139,90 @@ - + - + - 多选组合(v-model):{{ jcheckbox.values }} + 多选组合(v-model):{{ formData.jCheckbox }} - + - + - 代码输入框(v-model):{{ jcodedditor.value }} + 代码输入框(v-model):{{ formData.jCodeEditor }} - - - + + + - 日期选择框(v-model):{{ jdate.value }} + 日期选择框(v-model):{{ formData.jDate }} - - - + + + - 富文本编辑器(v-model):{{ jeditor.value }} + 富文本编辑器(v-model):{{ formData.jEditor }} - - - + + + - 过长剪切:{{ jellipsis.value }} + 过长剪切:{{ formData.jEllipsis }} - + - + - 滑块验证码验证通过:{{ jslider.value }} + 滑块验证码验证通过:{{ formData.jSlider }} - - - + + + - 多选下拉框(v-model):{{ jselectMultiple.value }} + 多选下拉框(v-model):{{ formData.jSelectMultiple }} - + 点击弹出JModal 全屏化: 允许切换全屏: - + - - - + + + 选中的值(v-model):{{ formData.treeDict }} - + - + 选中的值(v-model):{{ formData.treeSelect }} - + - + 选中的值(v-model):{{ formData.treeSelectMultiple }} - - - + + + 选中的值(v-model):{{ formData.selectCategory }} @@ -286,23 +295,23 @@ - - - + + + - + - + - + - + @@ -361,27 +370,27 @@ - + 输入的值(v-model):{{ formData.jInput }} - - - + + + - 输入的值(v-model):{{ content }} + 输入的值(v-model):{{ formData.content }} - + - + 输入的值(v-model):{{ formData.areaLinkage1 }} @@ -390,9 +399,9 @@ - + - + 输入的值(v-model):{{ formData.areaLinkage2 }} @@ -400,18 +409,18 @@ - + 点击关闭当前页面 - + - + - + 选择的值(v-model):{{ formData.jPopup }} @@ -433,7 +442,7 @@ 选择的值(v-model):{{ formData.mm }} - +
@@ -496,56 +505,41 @@ }, data() { return { - ss:false, + sw:false, selectList: [], selectedDepUsers: '', formData: { areaLinkage1: '110105', areaLinkage2: '140221', - sex: 1 - }, - form: this.$form.createForm(this), - departId: '57197590443c44f083d42ae24ef26a2c,a7d7e77e06c84325a40932163adcdaa6', - orgCodes: 'A02A01,A02A02', - userIds: 'admin', - multiUser: 'admin,jero', - jcheckbox: { - values: 'spring,jeroboot', - options: [ - { label: 'Jero', value: 'jero' }, - { label: 'Jero-Boot', value: 'jeroboot' }, - { label: 'Spring', value: 'spring', disabled: true }, - { label: 'MyBaits', value: 'mybatis' } - ] - }, - jcodedditor: { - value: `function sayHi(word) { - alert(word) -} -sayHi('hello, world!')` - }, - jdate: { - value: '2019-5-10 15:33:06' - }, - jeditor: { - value: '

富文本编辑器

这里是富文本编辑器。

' - }, - jellipsis: { - value: '这是一串很长很长的文字段落。这是一串很长很长的文字段落。这是一串很长很长的文字段落。这是一串很长很长的文字段落。' - }, - jslider: { - value: false - }, - jselectMultiple: { - options: [ - { text: '字符串', value: 'String' }, - { text: '字符串1', value: 'String1' }, - { text: '整数型', value: 'Integer' }, - { text: '浮点型', value: 'Double' }, - { text: '布尔型', value: 'Boolean' } - ], - value: 'Integer,Boolean' + sex: 1, + orgCodes: 'A02A01,A02A02', + departId: '57197590443c44f083d42ae24ef26a2c,a7d7e77e06c84325a40932163adcdaa6', + userIds: 'admin', + multiUser: 'admin,jeecg', + jCheckbox: 'spring,jeecgboot', + jCodeEditor: `function sayHi(word) {\n alert(word)\n}\nsayHi('hello, world!')`, + jDate: '2019-5-10 15:33:06', + jEditor: '

富文本编辑器

这里是富文本编辑器。

', + jEllipsis: '这是一串很长很长的文字段落。这是一串很长很长的文字段落。这是一串很长很长的文字段落。这是一串很长很长的文字段落。', + jSlider: false, + jSelectMultiple: 'Integer,Boolean', + imgList:[], + fileList:[], + content: '', + cronExpression: '* * * * * ? *', }, + jCheckboxOptions: [ + {label: 'Jeecg', value: 'jeecg'}, + {label: 'Jeecg-Boot', value: 'jeecgboot'}, + {label: 'Spring', value: 'spring', disabled: true}, + {label: 'MyBaits', value: 'mybatis'} + ], + jSelectMultipleOptions: [ + {text: '字符串', value: 'String'}, + {text: '整数型', value: 'Integer'}, + {text: '浮点型', value: 'Double'}, + {text: '布尔型', value: 'Boolean'} + ], modal: { title: '这里是标题', visible: false, @@ -569,8 +563,6 @@ sayHi('hello, world!')` }, ] }, - fileList:[], - imgList:[], jInput: { type: 'like', options: [ @@ -580,7 +572,6 @@ sayHi('hello, world!')` { value: 'le', label: '小于等于(le)' }, ], }, - content: '', searchOptions:[{ text:"选项一", value:"1" @@ -610,10 +601,10 @@ sayHi('hello, world!')` }, methods: { getDepartIdValue() { - return this.form.getFieldValue('departId') + return this.formData.departId }, getOrgCodesValue() { - return this.form.getFieldValue('orgCodes') + return this.formData.orgCodes }, changeMe() { @@ -637,12 +628,7 @@ sayHi('hello, world!')` this.selectedDepUsers = selectedDepUsers }, handleJSliderSuccess(value) { - this.jslider.value = value - }, - setCorn(data){ - this.$nextTick(() => { - this.form.cronExpression = data; - }) + this.formData.jSlider = value }, handleCloseCurrentPage() { diff --git a/jero-web/src/views/demo/modules/JEditableTable/DefaultTable.vue b/jero-web/src/views/demo/modules/JEditableTable/DefaultTable.vue index 46b72c49..bb4ca35d 100644 --- a/jero-web/src/views/demo/modules/JEditableTable/DefaultTable.vue +++ b/jero-web/src/views/demo/modules/JEditableTable/DefaultTable.vue @@ -99,7 +99,11 @@ placeholder: '点击上传', token: true, responseName: 'message', - action: window._CONFIG['domianURL'] + '/sys/common/upload' + action: window._CONFIG['domianURL'] + '/sys/common/upload', + data: { + biz: 'temp', + // 更多扩展参数 + }, }, { title: '字段类型', diff --git a/jero-web/src/views/demo/modules/VueCronModal.vue b/jero-web/src/views/demo/modules/VueCronModal.vue index 5c815cf0..bde3c8d8 100644 --- a/jero-web/src/views/demo/modules/VueCronModal.vue +++ b/jero-web/src/views/demo/modules/VueCronModal.vue @@ -1,6 +1,6 @@ - 编辑 + 编辑 - + diff --git a/jero-web/src/views/system/modules/AddressListRight.vue b/jero-web/src/views/system/modules/AddressListRight.vue index 67be2b74..9e05c659 100644 --- a/jero-web/src/views/system/modules/AddressListRight.vue +++ b/jero-web/src/views/system/modules/AddressListRight.vue @@ -1,20 +1,20 @@ diff --git a/jero-web/src/views/system/modules/SysCheckRuleModal.vue b/jero-web/src/views/system/modules/SysCheckRuleModal.vue index 60f0b441..6b719455 100644 --- a/jero-web/src/views/system/modules/SysCheckRuleModal.vue +++ b/jero-web/src/views/system/modules/SysCheckRuleModal.vue @@ -9,41 +9,24 @@ cancelText="关闭"> - + - - - - - - - - - + + + + + + + + + - + - +