Commit 14aeb7f4 authored by 程卓's avatar 程卓
parents 9b69b2d1 b5e55149
......@@ -140,12 +140,20 @@ const appRoutes = [
},
]
},
{ // 标签管理
path: '/systemManagement/lvot', name: 'lvot', component: resolve => require(['@/views/label/labelList'], resolve), //Tbls,
meta: { title: '标签管理', menuPath: true, menuIcon: 'setting', hideInBread: false, },
},
]
},
{
path: '/house', name: 'house', component: resolve => require(['@/components/Layout/content-wrapper'], resolve), // ContentWrapper,
meta: { title: '住宅信息', menuPath: true, menuIcon: 'home', hideInBread: true, requirePerm: false, authCode: '0001' },
children: [
{
path: '/houseData/basicInfoByLabel', name: 'basicInfoByLabel', component: resolve => require(['@/views/houseData/basicInfoByLabel'], resolve), //basicInfo,
meta: { title: '小区列表-标签', menuPath: true, hideInBread: false, },
},
{ // 小区列表
path: '/houseData/basicInfo', name: 'basicInfo', component: resolve => require(['@/views/houseData/basicInfo'], resolve), //basicInfo,
meta: { title: '住宅小区', menuPath: true, hideInBread: false, authCode: '000101', menuIcon: 'home'},
......
......@@ -37,10 +37,11 @@ case 'huangpu-prod':
default: // 默认环境下(开发环境)
// BASE_URL = 'http://31.0.161.39/apiv2'
// BASE_URL = 'http://211.136.105.193/apiv2'
// BASE_URL = 'http://yangpu-hm.omniview.pro/api/v2'
BASE_URL = 'http://yangpu-hm.omniview.pro/api/v2'
// BASE_URL = 'http://huangpu.hm.omniview.pro/api/v2'
// BASE_URL = 'http://xuhui.hm.omniview.pro/api/v2'
// BASE_URL = 'http://pudong.hm.omniview.pro/api/v2'
// BASE_URL = 'http://xuhui.hm.omniview.pro/api/v2'
BASE_URL = 'http://yangpu-hm.omniview.pro/api/v2'
// BASE_URL = 'http://211.136.105.193/apiv2'
break
}
......@@ -185,6 +186,10 @@ export default {
GET_USER_PEIMISSION: '/service-permission/user/perms', // 当前用户角色权限树 -- 传userId
GET_ALL_PEIMISSION: '/service-permission/perms', // 全部角色权限树
GET_ALL_ROLE: '/service-permission/menu/tree', //获取权限
GET_PREMSPOINT_LIST: '/service-permission/perm/points', //获取功能点清单
POST_PREMSBRANCH: '/service-permission/perm/perm', //单个新增权限分支
DELETE_PREMSPOINT: '/service-permission/perm/point/{id}', //删除功能点
SYSTEM_LIST_ALL_GET: '/service-user/user/systems', //查询系统列表
GET_USER_CODE: '/service-permission/user/menus/code', //获取用户权限
GET_USER_PERM: '/service-permission/user/menus/{id}',
......@@ -209,4 +214,19 @@ export default {
GET_RIZHI_INFO: '/service-log/operateRecord/{id}', //日志详情
GET_XIAOQUTOTAL: '/service-basicdatasync-ddd/summary/community/totare', //查询小区住宅面积,总楼栋数,总户数信息
GET_LABEL_LIST: '/service-customkey-ddd/label/tree', // 获取标签列表
GET_LABEL_DETAIL: '/service-customkey-ddd/label/{id}', // 查看标签详情
DELETE_SINGLE_LABEL: '/service-customkey-ddd/label/{id}', // 根据id删除某个标签
POST_SINGLE_LABEL: '/service-customkey-ddd/label', // 新增标签
PUT_LABEL_INFO: '/service-customkey-ddd/label/{id}', // 修改标签信息
POST_AVAILABLE_KEY: '/service-customkey-ddd/entityKeyDic', // 可查询字段新增
PUT_AVAILABLE_KEY: '/service-customkey-ddd/entityKeyDic/{id}', // 可查询字段修改
GET_AVAILABLE_KEY_LIST: '/service-customkey-ddd/entityKeyDics', // 可查询字段列表
DELETE_AVAILABLE_KEY: '/service-customkey-ddd/entityKeyDic/{id}', // 删除字段
GET_SINGLE_KEY_INFO: '/service-customkey-ddd/entityKeyDic/{id}', //可查询字段详情
GET_LABEL_BIND_FILTER_RESULT: '/service-customkey-ddd/labelResource', // 点击保存后查询是否有结果,有结果则调用绑定接口
POST_LABEL_RESULT_PREVIEW: '/service-customkey-ddd/findLabelObject', // 标签预览
POST_LABEL_CREATE_CONFIRM: '/service-customkey-ddd/label/confirm',
GET_ID_INFO_BY_LABEL: '/service-customkey-ddd/label/resource/datas',
GET_WY_AND_YWH_LIST: '/service-customkey-ddd/datas'
}
This diff is collapsed.
<template>
<div class="routerWapper">
<div class="portalDetailTitle" v-if="$route.name=='lvot'">
<span class="title">标签维护</span>
<!-- {{currentState}} -->
<div class="detailOperations">
<a-button @click="backPage"> 返回 </a-button>
</div>
</div>
<div class="layoutMargin layoutPadding" v-if="$route.name == 'lvot'">
<a-row v-if="$route.name=='lvot'">
<a-col :span="4" style="border-right:1px solid #ccc;height:100%; position:relative">
<span style="display: block; width: 90%; color:#1890ff; font-size: 16px; font-weight: 500; padding-bottom:5px;"><a-button style="width: 100%" type="default" @click="addLabel"> <a-icon type="plus" />添加标签 </a-button></span>
<a-tree
style="height: 700px"
:tree-data="treeData"
:replace-fields="replaceFields"
:selected-keys="selectedKeys"
@select="onSelect"
/>
</a-col>
<a-col :span="19" :offset='1'>
<RightPanel v-if="currentState == 'create'" :trigger-type='currentState' @finish='getFinishState' />
<RightPanel v-else-if="currentState == 'loadChildLabel'" :trigger-type='currentState' :label-id='labelId' @finish='getFinishState' />
<ParentRightPanel v-else-if="currentState == 'loadParentLabel'" :trigger-type='currentState' :label-id='labelId' @finish='getFinishState' />
<EmptyRightPanel v-else />
</a-col>
</a-row>
</div>
<!-- <div v-if="$route.name=='lvot'">
<a-row>
<a-col :span='4' class="layoutMargin layoutPadding" style="height: 680px">
<a-row style="height: 36px">
<a-button style="width: 100%" size='small' type="default" @click="addLabel"> <a-icon type="plus" />添加标签 </a-button>
</a-row>
<a-tree
:tree-data="treeData"
:replace-fields="replaceFields"
:selected-keys="selectedKeys"
@select="onSelect"
/>
</a-col>
<a-col :span='1'></a-col>
<a-col :span='18' class="layoutMargin layoutPadding" style="height: 680px">
<RightPanel v-if="currentState == 'create'" :trigger-type='currentState' @finish='getFinishState' />
<RightPanel v-else-if="currentState == 'loadChildLabel'" :trigger-type='currentState' :label-id='labelId' @finish='getFinishState' />
<ParentRightPanel v-else-if="currentState == 'loadParentLabel'" :trigger-type='currentState' :label-id='labelId' @finish='getFinishState' />
<EmptyRightPanel v-else />
</a-col>
</a-row>
</div> -->
<RouterWapper v-else />
</div>
</template>
<script>
import RightPanel from '@/views/label/labelRightSide.vue'
import ParentRightPanel from '@/views/label/parentLabelRightPanel.vue'
import EmptyRightPanel from '@/views/label/labelRightSideEmpty.vue'
const treeData = []
export default {
name: 'lvot',
components: {
RightPanel,
EmptyRightPanel,
ParentRightPanel
},
data() {
return {
treeData,
replaceFields: {
children: 'children',
title: 'labelName',
key: 'id'
},
selectedKeys: [],
currentState: null,
labelId: null
}
},
mounted() {
this.getLabelList()
},
methods: {
getFinishState(state) {
if(state == true) {
this.currentState = null
this.getLabelList()
}
},
getLabelList() {
this.$ajax.get({
url: this.$api.GET_LABEL_LIST,
}).then(res => {
if (res.code == 200) {
this.treeData = this.$com.confirm(res, 'data.content', [])
console.log(JSON.stringify(this.treeData))
}
})
},
backPage(){ // 返回按钮
this.$router.back()
},
onSelect(selectedKeys, node) {
console.log(selectedKeys, node.node.$children.length)
this.$ajax.get({
url: this.$api.GET_LABEL_DETAIL.replace('{id}', selectedKeys[0]),
}).then(res => {
if (res.code == 200) {
let result = this.$com.confirm(res, 'data.content', [])
this.labelId = selectedKeys[0]
console.log(result.parentId, node.node.$children.length)
if(result.parentId !== '0' && node.node.$children.length == 0 || result.parentId == '0' && node.node.$children.length == 0) { // 为二级菜单
this.currentState = 'loadChildLabel'
} else { // 为一级菜单
this.currentState = 'loadParentLabel'
}
}
})
},
onCheck(checkedKeys, info) {
console.log('onCheck', checkedKeys, info)
},
addLabel() {
this.currentState = 'create'
console.log('add')
}
},
}
</script>
<style>
.ant-tree li {
margin: 0;
padding: 10px 0;
white-space: nowrap;
list-style: none;
outline: 0;
}
.ant-tree-child-tree > li:first-child {
padding-top: 20px;
}
</style>
......@@ -61,9 +61,8 @@
<a-form-item v-if="index66 !== 0" style="margin-bottom: 20px">
<a-select style="width: 80px" placeholder='与上组关系' v-decorator="['relationWithGroup-' + index66 + '-0',{initialValue: item66.relation, validateTrigger:'blur',rules: [{required: true, message: '请至少选择一项!'}]}]">
<a-select-option value='and'></a-select-option>
<a-select-option value='and'></a-select-option>
<a-select-option value='or'></a-select-option>
<a-select-option value='ne'></a-select-option>
</a-select>
</a-form-item>
......@@ -81,9 +80,8 @@
<a-form-item v-if="index !== 0">
<a-select style="width: 80px" placeholder='请选择条件' v-decorator="['relation-' + index66 +'-' + index,{initialValue: item.relation, validateTrigger:'blur',rules: [{required: true, message: '请至少选择一项!'}]}]">
<a-select-option value='and'></a-select-option>
<a-select-option value='and'></a-select-option>
<a-select-option value='or'></a-select-option>
<a-select-option value='ne'></a-select-option>
</a-select>
</a-form-item>
......@@ -104,8 +102,8 @@
<a-form-item>
<a-select style="width: 150px" placeholder='区间' v-decorator="['codition-' + index66 +'-' + index,{initialValue: item.codition, validateTrigger:'blur',rules: [{required: true, message: '请至少选择一项!'}]}]">
<a-select-option value='eq'>等于(精确)</a-select-option>
<a-select-option value='regex'>等于(模糊)</a-select-option>
<a-select-option value='eq'>等于</a-select-option>
<a-select-option value='regex'>包含</a-select-option>
<a-select-option value='ne'>不等于</a-select-option>
<a-select-option value='gt'>大于</a-select-option>
<a-select-option value='gte'>大于等于</a-select-option>
......@@ -493,6 +491,7 @@ export default {
val: !formData['inputTwo-' + i+'-'+index] ? formData['inputOne-' + i+'-'+index] : formData['inputOne-' + i+'-'+index] + ',' + formData['inputTwo-' + i+'-'+index],
codition: formData['codition-' + i + '-' +index],
relation: !!formData['relation-' + i + '-' + index]? formData['relation-' + i + '-' + index]: 'and',
randomNum: formData['randomNumInner-' + i + '-' +index],
})
})
......@@ -532,7 +531,7 @@ export default {
console.log(this.loopContent)
Vue.set(this.loopContent, 'data', [
...this.loopContent.data, {randomNum: Math.random().toString(), serial: '新分组', relation: 'and', labelSelConditionList: [ { key: '', val: '', tableName: '', codition: 'eq', relation: '' } ] }
...this.loopContent.data, {randomNum: Math.random().toString(), serial: '新分组', relation: 'and', labelSelConditionList: [ { key: '', val: '', tableName: '', codition: 'eq', relation: '', randomNum: Math.random() } ] }
])
this.$forceUpdate()
......@@ -556,6 +555,7 @@ export default {
val: !formData['inputTwo-' + i+'-'+index] ? formData['inputOne-' + i+'-'+index] : formData['inputOne-' + i+'-'+index] + ',' + formData['inputTwo-' + i+'-'+index],
codition: formData['codition-' + i + '-' +index],
relation: !!formData['relation-' + i + '-' + index]? formData['relation-' + i + '-' + index]: 'and',
randomNum: formData['randomNumInner-' + i + '-' +index],
})
})
......@@ -684,8 +684,7 @@ export default {
this.deleteVisible = !this.deleteVisible
},
resetFormFields() {
this.loopContent.data = [ { randomNum: Math.random(), serial: '新分组', relation: 'and', labelSelConditionList: [ {key: '', val: '', tableName: '', codition: 'eq', relation: '' } ] } ]
this.loopContent.data = [ { randomNum: Math.random(), serial: '新分组', relation: 'and', labelSelConditionList: [ {key: '', val: '', tableName: '', codition: 'eq', relation: '', randomNum: Math.random()} ] } ]
this.resultList = []
this.labelForm.resetFields()
this.infoSettingForm.resetFields()
......@@ -744,6 +743,7 @@ export default {
val: !formData['inputTwo-' + i+'-'+index] ? formData['inputOne-' + i+'-'+index] : formData['inputOne-' + i+'-'+index] + ',' + formData['inputTwo-' + i+'-'+index],
codition: formData['codition-' + i + '-' +index],
relation: !!formData['relation-' + i + '-' + index]? formData['relation-' + i + '-' + index]: 'and',
randomNum: formData['randomNumInner-' + i + '-' +index],
})
})
innerResult.push({
......@@ -813,6 +813,7 @@ export default {
val: !formData['inputTwo-' + i+'-'+index] ? formData['inputOne-' + i+'-'+index] : formData['inputOne-' + i+'-'+index] + ',' + formData['inputTwo-' + i+'-'+index],
codition: formData['codition-' + i + '-' +index],
relation: !!formData['relation-' + i + '-' + index]? formData['relation-' + i + '-' + index]: 'and',
randomNum: formData['randomNumInner-' + i + '-' +index],
})
})
......
<template>
<div style="position: relative">
<div style="border: 1px dotted lightgrey; padding: 150px;">
<a-row style="text-align: center; margin-bottom: 50px;">
<img src="@/assets/icon/labelNone.png" />
</a-row>
<a-row style="text-align: center; font-weight: bold; font-size: 16px">
<span>请先在左侧选择一个标签或添加标签。</span>
</a-row>
</div>
</div>
</template>
<script>
export default {
}
</script>
\ No newline at end of file
<template>
<div class="routerWapper">
<!-- {{labelId}} -->
<div>
<a-row>
<a-col :span='1'>
<div class="detailOperations">
<a-button @click="backPage"> 返回 </a-button>
</div>
</a-col>
<a-col :span='1' :offset='1'>
<a-button type='primary' @click="save()">保存</a-button>
</a-col>
<a-col :span='19'></a-col>
</a-row>
</div>
<div>
<a-divider type='horizontal' />
<a-form :form='labelForm'>
<a-form-item label='标签名' :label-col="{span:2}" :wrapper-col="{span:14}">
<a-input v-decorator="['labelName',{validateTrigger:'blur', initialValue: '', rules: [{required: true, message: '请填写标签名!'}]}]"></a-input>
</a-form-item>
</a-form>
</div>
</div>
</template>
<script>
export default {
data() {
return {
labelForm: this.$form.createForm(this),
labelList: {},
finish: false,
}
},
props: [
'triggerType',
'labelId'
],
mounted() {
this.getLabelInfo()
},
watch: {
triggerType: {
handler: function(newV, oldV) {
this.resetFormFields()
this.getLabelInfo()
},
immediate: true
},
labelId: {
handler: function(newV, oldV) {
this.resetFormFields()
this.getLabelInfo()
},
immediate: true
}
},
methods: {
getLabelInfo() {
if(!!this.labelId) {
this.$ajax.get({
url: this.$api.GET_LABEL_DETAIL.replace('{id}', this.labelId),
}).then(res => {
if (res.code == 200) {
this.labelList = res.data.content
this.labelForm.setFieldsValue({
labelName: res.data.content.labelName
})
}
})
}
},
resetFormFields() {
this.labelForm.resetFields()
},
backPage(){ // 返回按钮
this.finish = true
this.$emit('finish', this.finish)
},
save() {
this.labelForm.validateFields((err1, values) => {
if(!err1) {
this.labelList.labelName = this.labelForm.getFieldValue('labelName')
this.$ajax.put({
url: this.$api.PUT_LABEL_INFO.replace('{id}', this.labelId),
params: Object.assign(this.labelList, {id: this.labelId})
}).then(res => {
if (res.code == 200) {
this.$message.success('修改成功!')
this.resetFormFields()
this.finish = true
this.$emit('finish', this.finish)
} else {
this.$message.success('修改失败!')
}
})
}
})
},
},
}
</script>
\ No newline at end of file
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