Commit 9d4f8f6c authored by xulili's avatar xulili

Merge branch 'dev_xll' into 'master'

Dev xll

See merge request !10
parents 9fed4027 c4c4875d
......@@ -5,10 +5,16 @@ let getAreas = function(){
method: 'get',
url: 'organ/getAreaTree'
}).then(res=>{
if(res.data.code == 200){
resolve(res.data.body)
}else{
if(res.status != 200){
resolve([])
}else{
if(res.data.resultCode == 200){
let list = res.data.data
let filterList = setChildNull(list)
resolve(filterList)
}else{
resolve([])
}
}
}).catch(err=>{
......@@ -16,4 +22,21 @@ let getAreas = function(){
})
})
}
function setChildNull(list){
if (list.length === 0) return []
list.forEach(v=>{
fs(v)
})
return list
}
function fs(v){
if(v.children && v.children.length === 0){
v.children = null
}else{
v.children.forEach(s=>{
fs(s)
})
}
}
export { getAreas }
\ No newline at end of file
......@@ -88,7 +88,8 @@ const httpServer = (opts,data,file,timeout)=>{
if(opts.authType && opts.authType!=""){
// Authorization
if(opts.authType==="back"){
authToken=localStorage.getItem('backToken');
//authToken=localStorage.getItem('backToken');
authToken = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInVzZXJfaWQiOiIxIiwiaXNzIjoiSUFUQSIsImV4cCI6MTYxNjU5MDE3NiwiaWF0IjoxNjE2NTc1Nzc2fQ.BT7bv2fmz_mS10nhoeW8_z17MSRY0MQNta-0ozhUMkuqFC2bed88yc2xoolyMEN7DYSVUOCFvDJrwmi8NwgDgQ"
}else if(opts.authType==="front"){
authToken = localStorage.getItem("token") || MyLocalStorage.Cache.get('token');
}
......
<template>
<!-- 运维日志 -->
<div class="devops-wrapper height100">
<div class="search-container">
<el-form :inline="true" :model="form">
<el-form-item>
<el-input
v-model="form.user"
placeholder="请输入操作者"
placeholder="请输入运维者账号"
suffix-icon="el-icon-search"
></el-input>
</el-form-item>
<el-form-item>
<el-date-picker
v-model="form.value"
v-model="form.date"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-select v-model="form.user" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<div class="btn-group">
<el-button type="primary" @click="handleSubmit">查询</el-button>
......@@ -53,7 +44,7 @@ export default {
return{
form:{
user:'',
value:''
date:''
},
addForm:{
......
......@@ -64,7 +64,7 @@ import { getAreas } from "@/config/area";
export default {
data() {
return {
dialogVisible: true,
dialogVisible: false,
form: {
name: "",
areaId: [],
......@@ -72,11 +72,11 @@ export default {
remarks: "",
},
disabled: false,
areaOptions: [],
areaOptions: [],
cascaderProps: {
label: "name",
value: "id",
checkStrictly: true,
checkStrictly: true
},
levelOption: [],
rules: {
......@@ -97,6 +97,10 @@ export default {
type: Number,
default: 1,
},
parentId:{
type: String,
default: '0',
}
},
mounted() {
this.getLevelOption();
......@@ -109,10 +113,20 @@ export default {
handleClose() {
this.$confirm("确认关闭?")
.then((_) => {
done();
this.handleReset()
})
.catch((_) => {});
},
handleReset(){
this.dialogVisible = false
this.$refs.form.resetFields()
this.form = {
name: "",
areaId: [],
level: "",
remarks: "",
}
},
handleCancle() {
this.handleClose();
},
......@@ -125,24 +139,33 @@ export default {
params.areaId = [...this.form.areaId].pop();
params.remarks = this.form.remarks;
params.level = this.form.level;
params.parentId = this.parentId
let requestparams = this.$qs.stringify(params);
this.$https(
{
method: "post",
url: "organ/add",
authType: this.backToken,
},
requestparams
)
.then((res) => {
console.log(res);
if (res.data.code != 200) {
this.$message({
type: "success",
message: res.data.message,
});
if(res.status == 200 ){
if (res.data.resultCode == 200 ) {
this.$message({
type: "success",
message: res.data.message,
});
this.handleReset()
this.$emit('success',true)
} else {
this.$message.error(res.data.message);
this.$emit('success',false)
}
} else {
this.$message.error(res.data.message);
}
this.$message.error(res.data);
this.$emit('success',false)
}
})
.catch((err) => {
console.log(res);
......
......@@ -7,17 +7,20 @@
<div class="tree-search party-form">
<el-input
placeholder="请输入组织结构名称"
v-model="orgName"
suffix-icon="el-icon-search"
clearable
v-model="name"
>
<i
slot="suffix"
class="el-input__icon el-icon-search"
@click="getOrgTree()">
</i>
</el-input>
<div class="f0">
<el-tooltip content="新建" placement="top">
<i class="icon-add party-icon-20" />
<i class="icon-add party-icon-20" @click="handleAdd('add')"/>
</el-tooltip>
<el-tooltip content="导入" placement="top">
<i class="icon-import party-icon-20" />
<i class="icon-import party-icon-20" @click="handleImport('import')"/>
</el-tooltip>
</div>
</div>
......@@ -43,10 +46,10 @@
</div>
<div class="org-detail">
<div class="org-detail-panel-box">
<span class="title">{{ title }}</span>
<span class="title">{{ currentInfo.name }}</span>
<div class="icon-group">
<i class="icon-edit party-icon-24"> </i>
<i class="icon-del party-icon-24"> </i>
<i class="icon-edit party-icon-24" @click="handleEdit()"> </i>
<i class="icon-del party-icon-24" @click="handleDel()"> </i>
</div>
</div>
<div class="org-detail-panel-box-content">
......@@ -58,162 +61,166 @@
</div>
<el-form label-position="top" :inline="true">
<el-form-item label="上级机构" class="w50">
<span>中国国家博物馆</span>
<span></span>
</el-form-item>
<el-form-item label="下级机构" class="w50">
<span>中国国家博物馆</span>
<span>
</span>
</el-form-item>
<el-form-item label="地理位置" class="w100">
<span>北京市海淀区</span>
<span>
{{currentInfo.remarks}}
</span>
</el-form-item>
<el-form-item label="备注信息" class="w100">
<span>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean
euismod bibendum laoreet. Proin gravida dolor sit amet lacus
accumsan et viverra justo commodo. Proin sodales pulvinar tempor.
Cum sociis natoque penatibus et magnis dis parturient montes,
nascetur ridiculus mus. Nam fermentum, nulla luctus pharetra
vulputate, felis tellus mollis orci, sed rhoncus sapien nunc eget.
{{currentInfo.remarks}}
</span>
</el-form-item>
</el-form>
</div>
<org-add/>
<org-edit/>
<org-add
ref="orgAdd"
:parentId="currentInfo.id"
:level="currentInfo.level"
@success="getOrgTree()"
/>
<org-edit ref="orgEdit" :currentInfo="currentInfo"/>
</div>
</div>
</template>
<script>
let res = {
code: "200",
body: [
{
children: [
{
children: [
{
children: [],
city: 1,
country: 1,
createTime: "2020-03-22",
icon: "1",
id: "3",
isDeleted: false,
level: 3,
name: "xe",
parentId: "2",
province: 1,
remarks: "1",
updateTime: "2021-03-22",
},
],
city: 1,
country: 1,
createTime: "2021-03-22",
icon: "1",
id: "2",
isDeleted: false,
level: 2,
name: "测试2级",
parentId: "1",
province: 1,
remarks: "1",
updateTime: "2021-03-22",
},
{
children: [],
city: 1,
country: 1,
createTime: "2021-03-22",
icon: "1",
id: "4",
isDeleted: false,
level: 2,
name: "测试2级2",
parentId: "1",
province: 1,
remarks: "1",
updateTime: "2021-03-22",
},
],
city: 1101,
country: 11011,
createTime: "2021-03-22",
icon: "0",
id: "1",
isDeleted: false,
level: 1,
name: "国博",
parentId: "0",
province: 110005,
remarks: "0",
updateTime: "2021-03-22",
},
{
children: [],
city: 1,
country: 1,
createTime: "2021-03-22",
icon: "1",
id: "1373918679665557505",
isDeleted: false,
level: 1,
name: "测试",
parentId: "0",
province: 1,
remarks: "1",
updateTime: "2021-03-22",
},
{
children: [],
city: 110100,
country: 110108,
createTime: "2021-03-23",
icon: "0",
id: "1374238828926935042",
isDeleted: false,
level: 1,
name: "测试11",
parentId: "0",
province: 110000,
remarks: "测试",
updateTime: "2021-03-23",
},
{
children: [],
city: 110100,
country: 110108,
createTime: "2021-03-23",
icon: "0",
id: "1374239612615909378",
isDeleted: false,
level: 1,
name: "测试22",
parentId: "0",
province: 110000,
remarks: "测试",
updateTime: "2021-03-23",
},
],
};
import {orgAdd, orgEdit} from './orgDialog'
export default {
data() {
return {
orgName: "",
data: res.body,
name: "",
data: [],
defaultProps: {
children: "children",
label: "name",
},
title: "国博",
currentId:'',
currentInfo:{},
};
},
components:{orgAdd,orgEdit},
mounted(){
this.getOrgTree()
},
methods: {
handleNodeClick(data) {
console.log(data);
this.currentId = data.id
this.getInfoById()
},
// 获取机构数详情
getInfoById(){
this.$https({
method: "get",
url: "organ/getById",
authType: this.backToken,
},{id:this.currentId}).then(res=>{
if(res.status == 200){
if(res.data.resultCode == 200){
if(res.data.data){
this.currentInfo = res.data.data
}else{
this.currentInfo = {}
}
}else{
this.currentInfo = {}
}
}else{
this.currentInfo = {}
}
}).catch(err=>{
console.log(res)
})
},
// 获取机构树
getOrgTree(){
this.$https({
method: "get",
url: "organ/getTree",
authType: this.backToken,
},{name:this.name}).then(res=>{
if(res.status == 200){
if(res.data.resultCode == 200){
this.data = res.data.data
}else{
this.data = []
}
}else{
this.data = []
}
}).catch(err=>{
console.log(res)
})
},
// 新增或者导入 之前判断是否选择父级
handleOperate(type){
if(JSON.stringify(this.currentInfo) === "{}"){
this.currentId.level = 1
this.currentInfo.id = '0'
}
if(type === 'add'){
this.handleAdd()
}
if(type === 'import'){
this.handleImport()
}
},
// 新增
handleAdd(){
this.$refs.orgAdd.dialogVisible = true
},
//导入
handleImport(){
},
handleEdit(){
},
// 删除
handleDel(){
this.$confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.delAction()
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
},
delAction(){
this.$https({
method: `delete?id=${this.currentId}`,
url: "organ/delete",
authType: this.backToken,
}).then(res=>{
if(res.status == 200){
if(res.data.resultCode == 200){
this.$message({
type:'success',
message:res.data.message
})
this.getOrgTree()
}else{
this.$message.error(res.data.message)
}
}else{
this.$message.error(res.data)
}
}).catch(err=>{
console.log(err)
})
}
},
};
</script>
......@@ -255,6 +262,11 @@ export default {
}
.org-tree-box-content {
padding: 20px;
height: calc(100% - 56px);
.tree-content{
height: calc(100% - 60px);
overflow-y: auto;
}
}
}
}
......
......@@ -392,6 +392,14 @@
}
.el-tree-node{
background-color: @party-white;
&.is-current{
>.el-tree-node__content{
.custom-tree-node{
background-color: @party-border-color;
}
}
}
}
.el-tree-node__content{
height: auto;
......@@ -422,6 +430,7 @@
height: 56px;
line-height: 56px;
border-bottom: 1px solid @party-border-color;
padding-left: 5px;
}
.tree-node-level2,
.tree-node-level3{
......
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