Merge branch 'develop' of https://gitee.com/siwa-team/dawa-vue into develop
This commit is contained in:
commit
c5b3af31e7
|
@ -1,56 +1,56 @@
|
|||
import _ from 'lodash'
|
||||
export function timeFix() {
|
||||
const time = new Date()
|
||||
const hour = time.getHours()
|
||||
return hour < 9 ? '早上好' : hour <= 11 ? '上午好' : hour <= 13 ? '中午好' : hour < 20 ? '下午好' : '晚上好'
|
||||
const time = new Date()
|
||||
const hour = time.getHours()
|
||||
return hour < 9 ? '早上好' : hour <= 11 ? '上午好' : hour <= 13 ? '中午好' : hour < 20 ? '下午好' : '晚上好'
|
||||
}
|
||||
|
||||
export function welcome() {
|
||||
const arr = ['休息一会儿吧', '准备吃什么呢?', '要不要打一把 DOTA', '我猜你可能累了']
|
||||
const index = Math.floor(Math.random() * arr.length)
|
||||
return arr[index]
|
||||
const arr = ['休息一会儿吧', '准备吃什么呢?', '要不要打一把 DOTA', '我猜你可能累了']
|
||||
const index = Math.floor(Math.random() * arr.length)
|
||||
return arr[index]
|
||||
}
|
||||
|
||||
/**
|
||||
* 触发 window.resize
|
||||
*/
|
||||
export function triggerWindowResizeEvent() {
|
||||
const event = document.createEvent('HTMLEvents')
|
||||
event.initEvent('resize', true, true)
|
||||
event.eventType = 'message'
|
||||
window.dispatchEvent(event)
|
||||
const event = document.createEvent('HTMLEvents')
|
||||
event.initEvent('resize', true, true)
|
||||
event.eventType = 'message'
|
||||
window.dispatchEvent(event)
|
||||
}
|
||||
|
||||
export function handleScrollHeader(callback) {
|
||||
let timer = 0
|
||||
let timer = 0
|
||||
|
||||
let beforeScrollTop = window.pageYOffset
|
||||
callback = callback || function () { }
|
||||
window.addEventListener(
|
||||
'scroll',
|
||||
event => {
|
||||
clearTimeout(timer)
|
||||
timer = setTimeout(() => {
|
||||
let direction = 'up'
|
||||
const afterScrollTop = window.pageYOffset
|
||||
const delta = afterScrollTop - beforeScrollTop
|
||||
if (delta === 0) {
|
||||
return false
|
||||
}
|
||||
direction = delta > 0 ? 'down' : 'up'
|
||||
callback(direction)
|
||||
beforeScrollTop = afterScrollTop
|
||||
}, 50)
|
||||
},
|
||||
false
|
||||
)
|
||||
let beforeScrollTop = window.pageYOffset
|
||||
callback = callback || function() {}
|
||||
window.addEventListener(
|
||||
'scroll',
|
||||
event => {
|
||||
clearTimeout(timer)
|
||||
timer = setTimeout(() => {
|
||||
let direction = 'up'
|
||||
const afterScrollTop = window.pageYOffset
|
||||
const delta = afterScrollTop - beforeScrollTop
|
||||
if (delta === 0) {
|
||||
return false
|
||||
}
|
||||
direction = delta > 0 ? 'down' : 'up'
|
||||
callback(direction)
|
||||
beforeScrollTop = afterScrollTop
|
||||
}, 50)
|
||||
},
|
||||
false
|
||||
)
|
||||
}
|
||||
|
||||
export function isIE() {
|
||||
const bw = window.navigator.userAgent
|
||||
const compare = (s) => bw.indexOf(s) >= 0
|
||||
const ie11 = (() => 'ActiveXObject' in window)()
|
||||
return compare('MSIE') || ie11
|
||||
const bw = window.navigator.userAgent
|
||||
const compare = (s) => bw.indexOf(s) >= 0
|
||||
const ie11 = (() => 'ActiveXObject' in window)()
|
||||
return compare('MSIE') || ie11
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -59,65 +59,65 @@ export function isIE() {
|
|||
* @param timeout
|
||||
*/
|
||||
export function removeLoadingAnimate(id = '', timeout = 1500) {
|
||||
if (id === '') {
|
||||
return
|
||||
}
|
||||
setTimeout(() => {
|
||||
document.body.removeChild(document.getElementById(id))
|
||||
}, timeout)
|
||||
if (id === '') {
|
||||
return
|
||||
}
|
||||
setTimeout(() => {
|
||||
document.body.removeChild(document.getElementById(id))
|
||||
}, timeout)
|
||||
}
|
||||
|
||||
export function listToTree(list, tree, parentId) {
|
||||
list.map(item => {
|
||||
const index = _.findIndex(list, ['id', item.pid])
|
||||
if(index === -1){
|
||||
item.pid = 0
|
||||
}
|
||||
})
|
||||
list.forEach(item => {
|
||||
if (item.pid === parentId) {
|
||||
const child = {
|
||||
...item,
|
||||
scopedSlots: {
|
||||
icon: 'icon'
|
||||
},
|
||||
children: []
|
||||
}
|
||||
listToTree(list, child.children, item.id)
|
||||
if (child.children.length <= 0) {
|
||||
delete child.children
|
||||
}
|
||||
tree.push(child)
|
||||
}
|
||||
})
|
||||
return tree
|
||||
list.map(item => {
|
||||
const index = _.findIndex(list, ['id', item.pid])
|
||||
if (index === -1) {
|
||||
item.pid = 0
|
||||
}
|
||||
})
|
||||
list.forEach(item => {
|
||||
if (item.pid === parentId) {
|
||||
const child = {
|
||||
...item,
|
||||
scopedSlots: {
|
||||
icon: 'icon'
|
||||
},
|
||||
children: []
|
||||
}
|
||||
listToTree(list, child.children, item.id)
|
||||
if (child.children.length <= 0) {
|
||||
delete child.children
|
||||
}
|
||||
tree.push(child)
|
||||
}
|
||||
})
|
||||
return tree
|
||||
}
|
||||
|
||||
// 词典集合转树
|
||||
export function dictToTree(list, tree, parentId) {
|
||||
list.forEach(item => {
|
||||
if (item.parentid === parentId) {
|
||||
let item_ = {};
|
||||
item_.title = item.name;
|
||||
item_.value = item.value;
|
||||
item_.key = item.id;
|
||||
const child = { ...item_, children: [] };
|
||||
list.forEach(item => {
|
||||
if (item.parentid === parentId) {
|
||||
let item_ = {};
|
||||
item_.title = item.name;
|
||||
item_.value = item.value;
|
||||
item_.key = item.id;
|
||||
const child = {...item_, children: [] };
|
||||
|
||||
dictToTree(list, child.children, item.value);
|
||||
dictToTree(list, child.children, item.value);
|
||||
|
||||
if (child.children.length <= 0) {
|
||||
delete child.children
|
||||
} else {
|
||||
child.selectable = false;
|
||||
}
|
||||
if (child.children.length <= 0) {
|
||||
delete child.children
|
||||
} else {
|
||||
// child.selectable = false;
|
||||
}
|
||||
|
||||
tree.push(child)
|
||||
}
|
||||
})
|
||||
return tree
|
||||
tree.push(child)
|
||||
}
|
||||
})
|
||||
return tree
|
||||
}
|
||||
|
||||
//拿地址路径中的参数,不能用$route取的就用这个取
|
||||
export function getUrlKey(name) {
|
||||
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.href) || [, ""])[1].replace(/\+/g, '%20')) || null
|
||||
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.href) || [, ""])[1].replace(/\+/g, '%20')) || null
|
||||
}
|
|
@ -8,7 +8,7 @@
|
|||
<a-menu-item key="self">自主课程</a-menu-item>
|
||||
<!-- :disabled="tabDis" -->
|
||||
</a-menu>
|
||||
<!-- :defaultExpandedKeys="defaultExpandedKeys" -->
|
||||
<!-- :defaultExpandedKeys="defaultExpandedKeys :replaceFields="replaceFields"" -->
|
||||
<a-tree :treeData="treeData" @select="onSelect" :defaultExpandAll="true" :replaceFields="replaceFields">
|
||||
<a-icon slot="switcherIcon" type="down" />
|
||||
</a-tree>
|
||||
|
@ -62,6 +62,7 @@
|
|||
import { coursewareClassList } from '@/api/course/courseware'
|
||||
import { listByClass } from '@/api/course/course'
|
||||
import { dictionaryDropDown } from '@/api/sys/dictionaryItem'
|
||||
import { dictToTree } from '@/utils/util'
|
||||
import { STable } from '@/components'
|
||||
const rootParentId = 0
|
||||
|
||||
|
@ -87,7 +88,7 @@ export default {
|
|||
menuKey: ['sys'], //默认系统课程
|
||||
// 查询参数
|
||||
queryParam: { name: '', classType: 1, type: 1, tags: [] },
|
||||
replaceFields: { children: 'children', title: 'name', key: 'value', value: 'id' },
|
||||
replaceFields: { children: 'children', title: 'title', key: 'value', value: 'key' },
|
||||
expandedKeys: [],
|
||||
autoExpandParent: true,
|
||||
dictCourseTag: [], //课程标签
|
||||
|
@ -256,21 +257,28 @@ export default {
|
|||
},
|
||||
|
||||
//获取课程分类数据,转换成树结构
|
||||
getCourseTreeData(type) {
|
||||
coursewareClassList({ type: type }).then((res) => {
|
||||
//list转🌲
|
||||
const list2tree1 = (list, parentId) => {
|
||||
return list.filter((item) => {
|
||||
// 默认选中第一个节点
|
||||
if (!this.treeDataOne) this.treeDataOne.push(item.value)
|
||||
if (item.parentId === parentId) {
|
||||
item.children = list2tree1(list, item.id)
|
||||
return true
|
||||
}
|
||||
return false
|
||||
})
|
||||
}
|
||||
this.treeData = list2tree1(res.data, 0)
|
||||
// getCourseTreeData(type) {
|
||||
// coursewareClassList({ type: type }).then((res) => {
|
||||
// //list转🌲
|
||||
// const list2tree1 = (list, parentId) => {
|
||||
// return list.filter((item) => {
|
||||
// // 默认选中第一个节点
|
||||
// if (!this.treeDataOne) this.treeDataOne.push(item.value)
|
||||
// if (item.parentId === parentId) {
|
||||
// item.children = list2tree1(list, item.id)
|
||||
// return true
|
||||
// }
|
||||
// return false
|
||||
// })
|
||||
// }
|
||||
// this.treeData = list2tree1(res.data, 0)
|
||||
// })
|
||||
// },
|
||||
getCourseTreeData () {
|
||||
dictionaryDropDown({ dictionaryCode: '0006' }).then((res) => {
|
||||
const result = dictToTree(res.data, [], 0)
|
||||
console.log('result',result)
|
||||
this.treeData = result
|
||||
})
|
||||
},
|
||||
},
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
</a-row>
|
||||
<a-row>
|
||||
<a-col :span="12">
|
||||
<a-form-model-item ref="parentid" label="上级编号" prop="parentid">
|
||||
<a-form-model-item ref="parentid" label="所属上级" prop="parentid">
|
||||
<a-input-number v-if="operable" v-model="form.parentid" :min="0"/>
|
||||
<span v-else>{{ form.parentid }}</span>
|
||||
</a-form-model-item>
|
||||
|
|
|
@ -66,11 +66,11 @@ export default {
|
|||
selectedRowKeys: [], // 选中行的key 出选择框时需要配置
|
||||
selectedRows: [], // 选中行的数据
|
||||
columns: [
|
||||
{ title: '编号', width: 30, dataIndex: 'id', key: 'id' },
|
||||
// { title: '编号', width: 30, dataIndex: 'id', key: 'id' },
|
||||
{ title: '词典项名称', width: 30, dataIndex: 'name', key: 'name' },
|
||||
{ title: '词典项值', width: 30, dataIndex: 'value', key: 'value' },
|
||||
{ title: '词典标识', width: 30, dataIndex: 'dictionaryCode', key: 'dictionaryCode' },
|
||||
{ title: '上级编号', width: 30, dataIndex: 'parentid', key: 'parentid' },
|
||||
{ title: '上级', width: 30, dataIndex: 'parentid', key: 'parentid' },
|
||||
{ title: '排序', width: 30, dataIndex: 'sortid', key: 'sortid' }
|
||||
],
|
||||
loadData: parameter => {
|
||||
|
|
Loading…
Reference in New Issue