parent
d05df2d778
commit
f6e8fb3d09
|
@ -180,9 +180,7 @@ class MenuViewSet(CustomModelViewSet):
|
|||
return SuccessResponse(data=data, total=len(data), msg="获取成功")
|
||||
|
||||
def list(self,request):
|
||||
"""
|
||||
懒加载
|
||||
"""
|
||||
"""懒加载"""
|
||||
params = request.query_params
|
||||
parent = params.get('parent', None)
|
||||
if params:
|
||||
|
|
|
@ -23,11 +23,22 @@
|
|||
</div>
|
||||
<div slot="tip" class="el-upload__tip">
|
||||
<el-checkbox size="medium" label="是否更新已经存在的数据" border v-model="upload.updateSupport"/>
|
||||
|
||||
<el-select v-if="upload.updateSupport" size="medium" v-model="upload.updateField" style="width: 130px"
|
||||
placeholder="请选择更新字段依据">
|
||||
<el-option
|
||||
v-for="item in fieldOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
<div style="color: #b1b1b1;margin: 10px" v-if="upload.updateSupport">如果导入时需要更新数据,则请选择一个字段作为更新依据</div>
|
||||
</div>
|
||||
<div slot="tip" class="el-upload__tip" style="color:red">提示:仅允许导入“xls”或“xlsx”格式文件!</div>
|
||||
</el-upload>
|
||||
<div><el-link type="primary" style="font-size:14px;margin-top: 20px" @click="importTemplate">下载模板</el-link></div>
|
||||
<div>
|
||||
<el-button type="warning" style="font-size:14px;margin-top: 20px" @click="importTemplate">下载模板</el-button>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitFileForm">确 定</el-button>
|
||||
<el-button @click="upload.open = false">取 消</el-button>
|
||||
|
@ -68,6 +79,18 @@ export default {
|
|||
default () {
|
||||
return undefined
|
||||
}
|
||||
},
|
||||
updateFieldApi: {
|
||||
type: String,
|
||||
default () {
|
||||
return undefined
|
||||
}
|
||||
},
|
||||
fieldOptions: {
|
||||
type: Array,
|
||||
default () {
|
||||
return []
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
@ -99,7 +122,8 @@ export default {
|
|||
method: 'post',
|
||||
data: {
|
||||
url: response.data.url,
|
||||
updateSupport: that.upload.updateSupport
|
||||
updateSupport: that.upload.updateSupport,
|
||||
updateField: that.upload.updateField
|
||||
}
|
||||
}).then(response => {
|
||||
// this.$alert("导入成功!", "导入结果", { dangerouslyUseHTMLString: true });
|
||||
|
@ -114,8 +138,22 @@ export default {
|
|||
// 提交上传文件
|
||||
submitFileForm () {
|
||||
this.$refs.upload.submit()
|
||||
},
|
||||
getUpdateField () {
|
||||
const that = this
|
||||
if (that.updateFieldApi) {
|
||||
return request({
|
||||
url: that.updateFieldApi,
|
||||
method: 'get'
|
||||
}).then(res => {
|
||||
that.fieldOptions = res.data
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
this.getUpdateField()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
import * as api from './api'
|
||||
export const crudOptions = (vm) => {
|
||||
return {
|
||||
// pagination: false,
|
||||
pageOptions: {
|
||||
compact: true
|
||||
},
|
||||
pagination: false,
|
||||
options: {
|
||||
tableType: 'vxe-table',
|
||||
stripe: false,
|
||||
|
@ -14,10 +14,13 @@ export const crudOptions = (vm) => {
|
|||
highlightCurrentRow: false,
|
||||
defaultExpandAll: true,
|
||||
treeConfig: {
|
||||
transform: true,
|
||||
rowField: 'id',
|
||||
parentField: 'parent',
|
||||
hasChild: 'hasChild',
|
||||
lazy: true,
|
||||
hasChild: 'has_children',
|
||||
loadMethod: ({ row }) => {
|
||||
return api.GetList({ parent: row.id, lazy: true }).then(ret => {
|
||||
return api.GetList({ parent: row.id }).then(ret => {
|
||||
return ret.data.data
|
||||
})
|
||||
},
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
>
|
||||
<importExcel
|
||||
importApi="api/system/dept/import_data/"
|
||||
updateFieldApi = "api/system/dept/update_field/"
|
||||
v-permission="'Import'"
|
||||
>导入
|
||||
</importExcel>
|
||||
|
|
|
@ -55,3 +55,17 @@ export function GetMenuData (obj) {
|
|||
return res.data.data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取数据权限
|
||||
* @param obj
|
||||
* @returns {*}
|
||||
* @constructor
|
||||
*/
|
||||
export function GetDataScope () {
|
||||
return request({
|
||||
url: '/api/system/role/data_scope/',
|
||||
method: 'get',
|
||||
params: {}
|
||||
})
|
||||
}
|
||||
|
|
|
@ -202,6 +202,7 @@ export default {
|
|||
this.menuCheckedKeys = this.roleObj.menu // 加载已勾选的菜单
|
||||
this.menuCheckStrictly = true // 父子不相互关联
|
||||
this.deptCheckedKeys = this.roleObj.dept
|
||||
this.GetDataScope()
|
||||
},
|
||||
addRequest (row) {
|
||||
return api.createObj(row)
|
||||
|
@ -238,6 +239,12 @@ export default {
|
|||
})
|
||||
})
|
||||
},
|
||||
//获取权限范围
|
||||
GetDataScope(){
|
||||
api.GetDataScope().then(res=>{
|
||||
this.dataScopeOptions = res.data
|
||||
})
|
||||
},
|
||||
// 所有勾选菜单节点数据
|
||||
getMenuAllCheckedKeys () {
|
||||
// 目前被选中的菜单节点
|
||||
|
|
|
@ -198,6 +198,18 @@ export default {
|
|||
that.$message.error('表单校验失败,请检查')
|
||||
}
|
||||
})
|
||||
},
|
||||
//部门懒加载
|
||||
loadChildrenMethod({ row} ){
|
||||
return new Promise(resolve => {
|
||||
setTimeout(() => {
|
||||
const childs = [
|
||||
{ id: row.id + 100000, parent: row.id, name: row.name + 'Test45', type: 'mp4', size: null, date: '2021-10-03', hasChild: true },
|
||||
{ id: row.id + 150000, parent: row.id, name: row.name + 'Test56', type: 'mp3', size: null, date: '2021-07-09', hasChild: false }
|
||||
]
|
||||
resolve(childs)
|
||||
}, 500)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue