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 @@
{
+ if (col.dataIndex === this.iSorter.column) {
+ this.$set(col, 'sortOrder', this.iSorter.order === 'asc' ? 'ascend' : 'descend')
+ } else {
+ this.$set(col, 'sortOrder', false)
+ }
+ })
+ } else {
+ console.warn('【JPopup】sorter参数不合法')
+ }
+ }
+ },
+ },
},
computed:{
showSearchFlag(){
@@ -167,6 +189,10 @@
return filterMultiDictText(this.dictOptions[dictCode], text+"");
}
}
+ // 排序字段受控
+ if (this.iSorter && currColumns[a].dataIndex === this.iSorter.column) {
+ currColumns[a].sortOrder = this.iSorter.order === 'asc' ? 'ascend' : 'descend'
+ }
}
this.table.columns = [...currColumns]
this.initQueryInfo()
@@ -253,7 +279,7 @@
paramTarget['self_'+key] = this.dynamicParam[key]
})
}
- let param = Object.assign(paramTarget, this.queryParam, this.sorter);
+ let param = Object.assign(paramTarget, this.queryParam, this.iSorter);
param.pageNo = this.table.pagination.current;
param.pageSize = this.table.pagination.pageSize;
return filterObj(param);
@@ -288,8 +314,18 @@
handleChangeInTable(pagination, filters, sorter) {
//分页、排序、筛选变化时触发
if (Object.keys(sorter).length > 0) {
- this.sorter.column = sorter.field
- this.sorter.order = 'ascend' == sorter.order ? 'asc' : 'desc'
+ this.iSorter = {
+ column: sorter.field,
+ order: 'ascend' === sorter.order ? 'asc' : 'desc'
+ }
+ // 排序字段受控
+ this.table.columns.forEach(col => {
+ if (col.dataIndex === sorter.field) {
+ this.$set(col, 'sortOrder',sorter.order)
+ } else {
+ this.$set(col, 'sortOrder', false)
+ }
+ })
}
this.table.pagination = pagination
this.loadData()
diff --git a/jero-web/src/components/layouts/TabLayout.vue b/jero-web/src/components/layouts/TabLayout.vue
index 36331577..f1dca771 100644
--- a/jero-web/src/components/layouts/TabLayout.vue
+++ b/jero-web/src/components/layouts/TabLayout.vue
@@ -32,13 +32,14 @@
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 }}
-
+
modal.visible=true">点击弹出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 @@
您的部门下暂无有效部门信息
- 普通员工暂此权限
+ 普通员工暂无此权限
@@ -49,8 +49,8 @@
-
\ No newline at end of file
diff --git a/jero-web/src/views/system/SysCheckRuleList.vue b/jero-web/src/views/system/SysCheckRuleList.vue
index 75a96d8c..b83f2e4e 100644
--- a/jero-web/src/views/system/SysCheckRuleList.vue
+++ b/jero-web/src/views/system/SysCheckRuleList.vue
@@ -3,18 +3,18 @@
-
+
-
+
-
+
-
+
-
+
@@ -30,7 +30,7 @@
-
+
diff --git a/jero-web/src/views/system/SysFillRuleList.vue b/jero-web/src/views/system/SysFillRuleList.vue
index 1989c2f8..84cb3baf 100644
--- a/jero-web/src/views/system/SysFillRuleList.vue
+++ b/jero-web/src/views/system/SysFillRuleList.vue
@@ -3,17 +3,17 @@
-
+
-
+
-
+
-
+
-
+
@@ -22,7 +22,7 @@
-
+
diff --git a/jero-web/src/views/system/UserList.vue b/jero-web/src/views/system/UserList.vue
index c9867045..93f99259 100644
--- a/jero-web/src/views/system/UserList.vue
+++ b/jero-web/src/views/system/UserList.vue
@@ -64,7 +64,7 @@
-
添加用户
+
添加用户
导出
导入
@@ -119,9 +119,9 @@
- 编辑
+ 编辑
-
+
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 @@
-
+
-
+
-
+
-
+
-
+
@@ -24,7 +24,7 @@
-
+
-
-
+
-
-
-
+
+
+
-
-
+
-
-
-
+
+
-
+
公司
@@ -38,36 +38,35 @@
岗位
-
-
+
-
-
-
+
+
-
-
-
+
+
-
-
-
+
+
-
-
-
+
+
+
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="关闭">
-
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
+
-
+
@@ -51,16 +34,9 @@
+
-
+
@@ -146,15 +122,12 @@
sm: { span: 16 },
},
confirmLoading: false,
- form: this.$form.createForm(this),
validatorRules: {
- ruleName: { rules: [{ required: true, message: '请输入规则名称!' },] },
- ruleCode: {
- rules: [
- { required: true, message: '请输入规则Code!' },
- { validator: (rule, value, callback) => validateDuplicateValue('sys_check_rule', 'rule_code', value, this.model.id, callback) }
- ]
- },
+ ruleName: [{required: true, message: '请输入规则名称!'}],
+ ruleCode: [
+ {required: true, message: '请输入规则Code!'},
+ {validator: (rule, value, callback) => validateDuplicateValue('sys_check_rule', 'rule_code', value, this.model.id, callback)}
+ ],
},
tabs: {
activeKey: 'design',
@@ -272,14 +245,14 @@
this.edit({})
},
edit(record) {
- this.form.resetFields()
this.tabs.activeKey = this.tabs.design.key
this.tabs.global.dataSource = []
this.tabs.design.dataSource = [{ digits: '', pattern: '', message: '' }]
- this.model = Object.assign({}, record)
this.visible = true
this.$nextTick(() => {
- this.form.setFieldsValue(pick(this.model, 'ruleName', 'ruleCode', 'ruleDescription'))
+ this.$refs.form.resetFields()
+ this.model = Object.assign({}, record)
+
// 子表数据
let ruleJson = this.model.ruleJson
if (ruleJson) {
@@ -307,7 +280,7 @@
Promise.all([
// 主表单校验
alwaysResolve(new Promise((resolve, reject) => {
- this.form.validateFields((error, values) => error ? reject(error) : resolve(values))
+ this.$refs.form.validate((ok, err) => ok ? resolve(this.model) : reject(err))
})),
// 局部规则子表校验
alwaysResolve(this.$refs.designTable.getValuesPromise),
diff --git a/jero-web/src/views/system/modules/SysFillRuleModal.vue b/jero-web/src/views/system/modules/SysFillRuleModal.vue
index f1344f65..bfe80142 100644
--- a/jero-web/src/views/system/modules/SysFillRuleModal.vue
+++ b/jero-web/src/views/system/modules/SysFillRuleModal.vue
@@ -10,40 +10,27 @@
cancelText="关闭">
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
+