|
|
@ -3,56 +3,22 @@ |
|
|
|
title="选择标签属性" |
|
|
|
:close-on-click-modal="false" |
|
|
|
:close-on-press-escape="false" |
|
|
|
width="80%" |
|
|
|
width="600px" |
|
|
|
height="90%"> |
|
|
|
<el-card shadow="never" class="aui-card--fill"> |
|
|
|
<div class="mod-sys__user"> |
|
|
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataListSearch()"> |
|
|
|
<el-form-item label="标签属性名称"> |
|
|
|
<el-input v-model="dataForm.dictName" |
|
|
|
:placeholder="$t('dict.dictName')" |
|
|
|
@keyup.native="btKeyUpDictName" |
|
|
|
clearable></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item> |
|
|
|
<el-button @click="getDataListSearch()" type="success">{{ $t('query') }}</el-button> |
|
|
|
<el-form :inline="true" :model="dataForm"> |
|
|
|
<el-form-item label=""> |
|
|
|
<el-form-item label="标签属性" prop="tagPropertyid"> |
|
|
|
<el-select v-model="dataForm.tagPropertyid" placeholder="标签属性"> |
|
|
|
<el-option v-for="item in paramNameArr" :key="item.dictValue" :label="item.dictName" :value="item.dictValue" > |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-table v-loading="dataListLoading" :data="dataList" max-height="450" style="width: 100%;" @selection-change="handleSelectionChange"> |
|
|
|
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column> |
|
|
|
<el-table-column |
|
|
|
type="index" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
width="50" |
|
|
|
label='序号' |
|
|
|
></el-table-column> |
|
|
|
<el-table-column prop="dictName" |
|
|
|
:label="$t('dict.dictName')" |
|
|
|
header-align="center" |
|
|
|
align="center"></el-table-column> |
|
|
|
<el-table-column prop="remark" |
|
|
|
:label="$t('dict.remark')" |
|
|
|
header-align="center" |
|
|
|
align="center"></el-table-column> |
|
|
|
<el-table-column prop="createDate" |
|
|
|
:label="$t('dict.createDate')" |
|
|
|
sortable="custom" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
width="180"></el-table-column> |
|
|
|
</el-table> |
|
|
|
<el-pagination |
|
|
|
:current-page="page" |
|
|
|
:page-sizes="[10, 20, 50, 100]" |
|
|
|
:page-size="limit" |
|
|
|
:total="total" |
|
|
|
layout="total, sizes, prev, pager, next, jumper" |
|
|
|
@size-change="pageSizeChangeHandle" |
|
|
|
@current-change="pageCurrentChangeHandle"> |
|
|
|
</el-pagination> |
|
|
|
<el-form> |
|
|
|
<el-button type="primary" @click="getInfo()" style="margin-left:48%" class="end">{{"确定"}}</el-button> |
|
|
|
<el-button type="primary" @click="dataFormSubmitHandle()" style="margin-left:48%" class="end">{{"确定"}}</el-button> |
|
|
|
</el-form> |
|
|
|
</div> |
|
|
|
</el-card> |
|
|
@ -61,69 +27,70 @@ |
|
|
|
|
|
|
|
<script> |
|
|
|
import mixinViewModule from '@/mixins/view-module' |
|
|
|
import debounce from 'lodash/debounce' |
|
|
|
export default { |
|
|
|
mixins: [mixinViewModule], |
|
|
|
data () { |
|
|
|
return { |
|
|
|
mixinViewModuleOptions: { |
|
|
|
getDataListURL: '/sys/dict/page', |
|
|
|
getDataListURL: '/app-user/tagproperty/page', |
|
|
|
getDataListIsPage: true, |
|
|
|
deleteURL: '/sys/user', |
|
|
|
deleteURL: '/app-user/tagproperty', |
|
|
|
deleteIsBatch: true, |
|
|
|
exportURL: '/sys/user/export' |
|
|
|
exportURL: '/app-user/tagproperty/export' |
|
|
|
}, |
|
|
|
visible: false, |
|
|
|
dataForm: { |
|
|
|
pid: '1333600380046565377', |
|
|
|
dictName: '', |
|
|
|
dictType: 'tag_property', |
|
|
|
dictValue: '' |
|
|
|
id: '', |
|
|
|
tagid: '', |
|
|
|
tagPropertyid: '' |
|
|
|
}, |
|
|
|
responseData: [] |
|
|
|
paramNameArr: [] |
|
|
|
} |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
btKeyUpDictName (e) { |
|
|
|
e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】\\[\]、;‘’,。、\s+]/g, '') |
|
|
|
this.dataForm.dictName = e.target.value |
|
|
|
}, |
|
|
|
btKeyUpRealname (e) { |
|
|
|
e.target.value = e.target.value.replace(/[`~!@#$%^&*()_\-+=<>?:"{}|·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、]/g, '') |
|
|
|
this.dataForm.realname = e.target.value |
|
|
|
}, |
|
|
|
btKeyUpEmail (e) { |
|
|
|
e.target.value = e.target.value.replace(/[`~!#$%^&*()_\-+=<>?:"{}|~!#¥%……&*()——={}|《》?:“”【】、;‘’,。、]/g, '') |
|
|
|
this.dataForm.email = e.target.value |
|
|
|
}, |
|
|
|
btKeyUpMobile (e) { |
|
|
|
e.target.value = e.target.value.replace(/[`~!@#$%^&*()_=<>?:"{}|·~!@#¥%……&*()——={}|《》?:“”【】、;‘’,。、]/g, '') |
|
|
|
this.dataForm.mobile = e.target.value |
|
|
|
}, |
|
|
|
getDataListOverWrite () { |
|
|
|
this.page = 1 |
|
|
|
this.getDataList() |
|
|
|
}, |
|
|
|
// 获取数据列表 |
|
|
|
init () { |
|
|
|
init (tagId, propertyId, relationId) { |
|
|
|
this.visible = true |
|
|
|
this.$nextTick(() => { |
|
|
|
this.getDataList() |
|
|
|
// 调用获取标签属性下拉信息接口 |
|
|
|
this.getParamListInfo() |
|
|
|
this.dataForm.tagid = tagId |
|
|
|
if (propertyId !== '' || propertyId !== null) { |
|
|
|
this.dataForm.tagPropertyid = propertyId |
|
|
|
} |
|
|
|
if (relationId !== '' || relationId !== null) { |
|
|
|
this.dataForm.id = relationId |
|
|
|
} |
|
|
|
console.log(this.dataForm) |
|
|
|
}) |
|
|
|
}, |
|
|
|
handleSelectionChange (val) { |
|
|
|
this.responseData = val |
|
|
|
// 获取标签属性下拉信息 |
|
|
|
getParamListInfo () { |
|
|
|
this.$http.get(`/app-user/property/listSimple`).then(({ data: res }) => { |
|
|
|
if (res.code !== 0) { |
|
|
|
return this.$message.error(res.msg) |
|
|
|
} |
|
|
|
this.paramNameArr = res.data |
|
|
|
}).catch(() => {}) |
|
|
|
}, |
|
|
|
getInfo () { |
|
|
|
if (this.responseData.length === 0) { |
|
|
|
// 表单提交 |
|
|
|
dataFormSubmitHandle: debounce(function () { |
|
|
|
this.$http[!this.dataForm.id ? 'post' : 'put']('/app-user/tagproperty/', this.dataForm).then(({ data: res }) => { |
|
|
|
if (res.code !== 0) { |
|
|
|
return this.$message.error(res.msg) |
|
|
|
} |
|
|
|
this.$message({ |
|
|
|
message: '请选择用户!', |
|
|
|
type: 'warning' |
|
|
|
message: this.$t('prompt.success'), |
|
|
|
type: 'success', |
|
|
|
duration: 500, |
|
|
|
onClose: () => { |
|
|
|
this.visible = false |
|
|
|
this.$emit('refreshDataList') |
|
|
|
} |
|
|
|
}) |
|
|
|
return false |
|
|
|
} |
|
|
|
this.$emit('connectResponse', this.responseData) |
|
|
|
this.visible = false |
|
|
|
} |
|
|
|
}).catch(() => {}) |
|
|
|
}, 1000, { 'leading': true, 'trailing': false }) |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|