Commit 5eff4bbd authored by levante's avatar levante

标签功能暂存

parent d1f295bf
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<div class="layoutMargin layoutPadding" v-if="$route.name == 'lvot'"> <div class="layoutMargin layoutPadding" v-if="$route.name == 'lvot'">
<a-row 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"> <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%" size='medium' type="default" @click="addLabel"> <a-icon type="plus" />添加标签 </a-button></span> <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 <a-tree
style="height: 700px" style="height: 700px"
:tree-data="treeData" :tree-data="treeData"
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
@select="onSelect" @select="onSelect"
/> />
</a-col> </a-col>
<a-col :span="17" :offset="1"> <a-col :span="19" :offset="1">
<RightPanel v-if="currentState == 'create'" :trigger-type='currentState' @finish='getFinishState' /> <RightPanel v-if="currentState == 'create'" :trigger-type='currentState' @finish='getFinishState' />
<RightPanel v-else-if="currentState == 'loadChildLabel'" :trigger-type='currentState' :label-id='labelId' @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' /> <ParentRightPanel v-else-if="currentState == 'loadParentLabel'" :trigger-type='currentState' :label-id='labelId' @finish='getFinishState' />
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div> <div>
<!-- {{triggerType}} - {{labelId}} - {{finish}} - {{jsonData}} - {{initKey}} --> <!-- {{triggerType}} - {{labelId}} - {{finish}} - {{jsonData}} - {{initKey}} -->
<!-- {{loopContent.data}} --> <!-- {{loopContent.data}} -->
{{loopContent}} <!-- {{loopContent}} -->
<a-row> <a-row>
<!-- <a-col :span='1' v-if="triggerType == 'create'"> --> <!-- <a-col :span='1' v-if="triggerType == 'create'"> -->
<a-col :span='1'> <a-col :span='1'>
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
</a-row> </a-row>
</div> </div>
<a-divider type='horizontal' /> <a-divider type='horizontal' />
<div style="height: 580px; overflow: scroll"> <div style="height: 580px; overflow-y: scroll">
<a-form :form='labelForm'> <a-form :form='labelForm'>
<a-form-item label='标签名' :label-col="{span:3}" :wrapper-col="{span:15}"> <a-form-item label='标签名' :label-col="{span:3}" :wrapper-col="{span:15}">
<a-input placeholder='请输入标签名' v-decorator="['labelName',{validateTrigger:'blur', initialValue: jsonData.labelName?jsonData.labelName: '', rules: [{required: true, message: '请填写标签名!'}]}]"></a-input> <a-input placeholder='请输入标签名' v-decorator="['labelName',{validateTrigger:'blur', initialValue: jsonData.labelName?jsonData.labelName: '', rules: [{required: true, message: '请填写标签名!'}]}]"></a-input>
...@@ -46,40 +46,56 @@ ...@@ -46,40 +46,56 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
<a-form-item label='业务对象' :label-col="{span:3}" :wrapper-col="{span:15}"> <!-- <a-form-item label='标记对象' :label-col="{span:3}" :wrapper-col="{span:15}">
<!-- <a-select placeholder='请选择业务对象' :disabled="triggerType == 'loadChildLabel'" @change='handleObjChange' v-decorator="['tableName',{validateTrigger:'blur', initialValue: jsonData.tableName?jsonData.tableName: '', rules: [{required: true, message: '请选择业务对象!'}]}]"> -->
<a-select placeholder='请选择业务对象' @change='handleObjChange' v-decorator="['tableName',{validateTrigger:'blur', initialValue: jsonData.tableName?jsonData.tableName: '', rules: [{required: true, message: '请选择业务对象!'}]}]"> <a-select placeholder='请选择业务对象' @change='handleObjChange' v-decorator="['tableName',{validateTrigger:'blur', initialValue: jsonData.tableName?jsonData.tableName: '', rules: [{required: true, message: '请选择业务对象!'}]}]">
<a-select-option value='tbl_community'>小区</a-select-option> <a-select-option value='tbl_community'>小区</a-select-option>
<a-select-option value='tbl_building'>门牌幢</a-select-option> <a-select-option value='tbl_building'>门牌幢</a-select-option>
</a-select> </a-select>
</a-form-item> -->
<a-form-item label='标记对象' :label-col="{span:3}" :wrapper-col="{span:15}">
<a-radio-group @change='handleObjChange' v-decorator="['tableName',{validateTrigger:'blur', initialValue: jsonData.tableName?jsonData.tableName: '', rules: [{required: true, message: '请选择业务对象!'}]}]">
<a-radio value="tbl_community">
小区
</a-radio>
<a-radio value="tbl_building">
门牌幢
</a-radio>
</a-radio-group>
</a-form-item> </a-form-item>
</a-form> </a-form>
<a-divider type='horizontal' /> <!-- <div style="background-color: #F0F2F5; height: 10px; "></div> -->
<a-row style="font-weight: bold; font-size: 16px; margin-bottom: 20px">信息筛选配置<span style="font-weight: normal">(已有{{Object.keys(loopContent).length}}组配置)</span></a-row>
<a-form :form='infoSettingForm' layout='inline'> <a-form :form='infoSettingForm' layout='inline'>
<div v-for="(item66, index66) in loopContent" :key="index66"> <div v-for="(item66, index66) in loopContent" :key="index66" style="margin-top: 20px; padding: 20px; border: 1px solid lightgrey">
<div v-if="JSON.stringify(loopContent[index66]) !== '[]'" style="border: 1px solid lightgrey; padding: 20px; margin-bottom: 5px"> <a-row type='flex' style="font-weight: bold; font-size: 16px; margin-bottom: 20px; border-bottom: 1px solid lightgrey" align='middle'>
<a-col :span='21'>
<span style="font-weight: bold">条件分组{{index66.length == '4'? `1`: index66.split('data')[1]}}</span>
</a-col>
<a-col :span='3'>
<a-button style="color: darkred" type="link" @click="delGroup(index66)"><a-icon type="delete" /> {{index66}}删除分组 </a-button>
</a-col>
</a-row>
<div v-if="JSON.stringify(loopContent[index66]) !== '[]'" style="width: 90%; padding: 20px; margin-bottom: 20px">
<!-- <span v-if="index66 !== 'data'"></span> --> <!-- <span v-if="index66 !== 'data'"></span> -->
<!-- {{item66}} --> <!-- {{item66}} -->
<div v-for="(item, index) in item66" :key='index'> <div v-for="(item, index) in item66" :key='index' style="margin-bottom: 20px">
<a-form-item v-if="!!item.relation"> <a-form-item v-if="!!item.relation">
<a-select style="width: 100px" placeholder='请选择条件' v-decorator="['relation-' + index66 +'-' + index,{initialValue: item.relation, validateTrigger:'blur',rules: []}]"> <a-select style="width: 120px" placeholder='请选择条件' v-decorator="['relation-' + index66 +'-' + index,{initialValue: item.relation, validateTrigger:'blur',rules: []}]">
<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='or'></a-select-option>
<a-select-option value='ne'></a-select-option> <a-select-option value='ne'></a-select-option>
</a-select> </a-select>
</a-form-item> </a-form-item>
<a-form-item v-else style="margin-left: 100px"></a-form-item> <a-form-item v-else style="margin-left: 120px"></a-form-item>
<a-form-item> <a-form-item>
<a-select style="width: 100px" placeholder='请选择业务属性' v-decorator="['key-' + index66 +'-' + index,{initialValue: item.key, validateTrigger:'blur',rules: [{required: true, message: '请至少选择一项!'}]}]"> <a-select style="width: 120px" placeholder='请选择业务属性' v-decorator="['key-' + index66 +'-' + index,{initialValue: item.key, validateTrigger:'blur',rules: [{required: true, message: '请至少选择一项!'}]}]">
<a-select-option v-for="(item1, index1) in availableKeyList" :key='index1' :value='item1.tblKey'>{{item1.tblKeyName}}</a-select-option> <a-select-option v-for="(item1, index1) in availableKeyList" :key='index1' :value='item1.tblKey'>{{item1.tblKeyName}}</a-select-option>
</a-select> </a-select>
</a-form-item> </a-form-item>
<a-form-item> <a-form-item>
<a-select style="width: 100px" placeholder='区间' v-decorator="['codition-' + index66 +'-' + index,{initialValue: item.codition, validateTrigger:'blur',rules: [{required: true, message: '请至少选择一项!'}]}]"> <a-select style="width: 120px" 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='eq'>等于</a-select-option>
<a-select-option value='gt'>大于</a-select-option> <a-select-option value='gt'>大于</a-select-option>
<a-select-option value='gte'>大于等于</a-select-option> <a-select-option value='gte'>大于等于</a-select-option>
...@@ -90,14 +106,14 @@ ...@@ -90,14 +106,14 @@
</a-form-item> </a-form-item>
<a-form-item> <a-form-item>
<a-input style="width: 100px" placeholder='请输入' v-decorator="['inputOne-' + index66 +'-' + index,{initialValue: getInitialValueOne(item.val), validateTrigger:'blur',rules: [],}]"></a-input> <a-input style="width: 120px" placeholder='请输入' v-decorator="['inputOne-' + index66 +'-' + index,{initialValue: getInitialValueOne(item.val), validateTrigger:'blur',rules: [],}]"></a-input>
</a-form-item> </a-form-item>
<a-form-item v-if="infoSettingForm.getFieldValue('codition'+index) == 'btw'"> <a-form-item v-if="infoSettingForm.getFieldValue('codition'+index) == 'btw'">
<a-input style="width: 100px" placeholder='请输入' v-decorator="['inputTwo-' + index66 +'-' + index,{initialValue: getInitialValueTwo(item.val), validateTrigger:'blur',rules: []}]"></a-input> <a-input style="width: 120px" placeholder='请输入' v-decorator="['inputTwo-' + index66 +'-' + index,{initialValue: getInitialValueTwo(item.val), validateTrigger:'blur',rules: []}]"></a-input>
</a-form-item> </a-form-item>
<a-form-item> <a-form-item>
<a-select style="width: 100px" placeholder='查询方式' v-decorator="['selMet-' + index66 +'-' + index,{initialValue: item.selMet, validateTrigger:'blur',rules: [{required: true, message: '请至少选择一项!'}]}]"> <a-select style="width: 120px" placeholder='查询方式' v-decorator="['selMet-' + index66 +'-' + index,{initialValue: item.selMet, validateTrigger:'blur',rules: [{required: true, message: '请至少选择一项!'}]}]">
<a-select-option value='equels'>精确</a-select-option> <a-select-option value='equels'>精确</a-select-option>
<a-select-option value='like'>模糊</a-select-option> <a-select-option value='like'>模糊</a-select-option>
</a-select> </a-select>
...@@ -107,21 +123,18 @@ ...@@ -107,21 +123,18 @@
<a-icon v-if="index+1 == loopContent.data.length" theme='filled' style="color:red; margin-left: 5px" type="minus-circle" @click="deleteRow(index66, index)" /> <a-icon v-if="index+1 == loopContent.data.length" theme='filled' style="color:red; margin-left: 5px" type="minus-circle" @click="deleteRow(index66, index)" />
</a-form-item> --> </a-form-item> -->
<a-form-item> <a-form-item>
<a-icon theme='filled' style="color:lightgreen;" type="plus-circle" @click="addRow(index66)" /> <a-icon v-if="index+1 == loopContent.data.length" theme='filled' style="color:lightgreen;" type="plus-circle" @click="addRow(index66)" />
<a-icon theme='filled' style="color:red; margin-left: 5px" type="minus-circle" @click="deleteRow(index66, index)" /> <a-icon v-if="index+1 == loopContent.data.length" theme='filled' style="color:red; margin-left: 5px" type="minus-circle" @click="deleteRow(index66, index)" />
</a-form-item> </a-form-item>
<a-divider type='horizontal' dashed />
</div> </div>
<a-row style="text-align: center">
<a-button-group>
<a-button type="primary" @click="addGroup"> <a-icon type="plus" />新增分组 </a-button>
<a-button type="danger" @click="delGroup(index66)"> 删除分组<a-icon type="delete" /> </a-button>
</a-button-group>
</a-row>
</div> </div>
</div> </div>
</a-form> </a-form>
<a-row style="text-align: center; margin-top: 10px; border: 2px dashed lightblue; padding: 10px 0px">
<a-button type="link" @click="addGroup"> <a-icon type="plus" />添加分组 </a-button>
</a-row>
<!-- <a-button type='link' v-if="loopContent.data.length == 0" @click="addInitRow()"><a-icon type="plus" />新增配置</a-button> --> <!-- <a-button type='link' v-if="loopContent.data.length == 0" @click="addInitRow()"><a-icon type="plus" />新增配置</a-button> -->
<a-row v-if="Object.keys(this.loopContent).length == 0" style="border: 1px solid pink; padding: 20px"> <a-row v-if="Object.keys(this.loopContent).length == 0" style="border: 1px solid pink; padding: 20px">
<a-icon type="info-circle" /> <a-icon type="info-circle" />
...@@ -261,7 +274,8 @@ export default { ...@@ -261,7 +274,8 @@ export default {
this.getKeyList(this.initKey) this.getKeyList(this.initKey)
}, },
handleObjChange(val) { handleObjChange(val) {
this.getKeyList(val) let needValue = this.labelForm.getFieldValue('tableName')
this.getKeyList(needValue)
this.loopContent = {data: [{ this.loopContent = {data: [{
key: '', key: '',
...@@ -404,33 +418,34 @@ export default { ...@@ -404,33 +418,34 @@ export default {
this.jsonData = {selParams: []} this.jsonData = {selParams: []}
}, },
handleConfirmVisible() { handleConfirmVisible() {
if(!!this.labelId) { console.log(this.jsonData);
this.$ajax.put({ // if(!!this.labelId) {
url: this.$api.PUT_LABEL_INFO.replace('{id}', this.labelId), // this.$ajax.put({
params: Object.assign(this.jsonData, {id: this.labelId}) // url: this.$api.PUT_LABEL_INFO.replace('{id}', this.labelId),
}).then(res => { // params: Object.assign(this.jsonData, {id: this.labelId})
if (res.code == 200) { // }).then(res => {
this.$message.success('修改成功!') // if (res.code == 200) {
this.resetFormFields() // this.$message.success('修改成功!')
this.finish = true // this.resetFormFields()
this.$emit('finish', this.finish) // this.finish = true
} // this.$emit('finish', this.finish)
}) // }
} else { // })
this.$ajax.post({ // } else {
url: this.$api.POST_SINGLE_LABEL, // this.$ajax.post({
params: Object.assign(this.jsonData) // url: this.$api.POST_SINGLE_LABEL,
}).then(res => { // params: Object.assign(this.jsonData)
if (res.code == 200) { // }).then(res => {
this.$message.success('保存成功!') // if (res.code == 200) {
this.resetFormFields() // this.$message.success('保存成功!')
this.finish = true // this.resetFormFields()
this.$emit('finish', this.finish) // this.finish = true
} else { // this.$emit('finish', this.finish)
this.$message.success('保存失败!') // } else {
} // this.$message.success('保存失败!')
}) // }
} // })
// }
}, },
handleConfirmCancel() { handleConfirmCancel() {
this.confirmVisible = !this.confirmVisible this.confirmVisible = !this.confirmVisible
...@@ -450,18 +465,22 @@ export default { ...@@ -450,18 +465,22 @@ export default {
this.verifySelect = false this.verifySelect = false
} }
this.jsonData = {selParams: []} this.jsonData = {selParams: [{
labelSelConditionList: []
}]}
this.labelForm.validateFields((err, values) => { this.labelForm.validateFields((err, values) => {
if(!err) { if(!err) {
const labelFormData = this.labelForm.getFieldsValue() const labelFormData = this.labelForm.getFieldsValue()
this.jsonData = Object.assign(this.jsonData, labelFormData) this.jsonData = Object.assign(this.jsonData, labelFormData)
this.infoSettingForm.validateFields((err1, values) => { this.infoSettingForm.validateFields((err1, values) => {
console.log(values)
if(!err1) { if(!err1) {
let loopCounts = this.loopContent.data.length let loopCounts = this.loopContent.data.length
let formData = this.infoSettingForm.getFieldsValue() let formData = this.infoSettingForm.getFieldsValue()
for(let i = 0; i < loopCounts; i++) { for(let i = 0; i < loopCounts; i++) {
this.jsonData.selParams.push({ console.log(loopCounts);
this.jsonData.selParams.labelSelConditionList.push({
key: formData['key'+i], key: formData['key'+i],
val: !formData['inputTwo' + i] ? formData['inputOne' + i] : formData['inputOne' + i] + ',' + formData['inputTwo' + i], val: !formData['inputTwo' + i] ? formData['inputOne' + i] : formData['inputOne' + i] + ',' + formData['inputTwo' + i],
codition: formData['codition'+i], codition: formData['codition'+i],
...@@ -470,6 +489,9 @@ export default { ...@@ -470,6 +489,9 @@ export default {
}) })
} }
// 先循环得到有多少个form
// this.$ajax.post({ // this.$ajax.post({
// url: this.$api.GET_LABEL_BIND_FILTER_RESULT, // url: this.$api.GET_LABEL_BIND_FILTER_RESULT,
// params: this.jsonData // params: this.jsonData
......
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