Commit ac171eb8 by liuchenxi

update: 标签规则限制以及分组调整

parent 53ab996e
......@@ -20,9 +20,9 @@
<!-- 2.数字范围 -->
<template v-if="parent.templateCode == 'tag003'">
<div class="m-b-20" :key="'tag2' + pindex">
<el-input :value="parent.numRange[0]" @input="v => $set(parent.numRange, 0, onInputNum(v))" class="select-wrap-input" style="width: 100px;margin-right: 0;" placeholder="请输入数字" @blur="e => $set(parent.numRange, 0, onInputBlur(e))"></el-input>
<el-input :value="parent.numRange[0]" @input="v => $set(parent.numRange, 0, onInputNum(v, parent.expandParams))" class="select-wrap-input" style="width: 100px;margin-right: 0;" placeholder="请输入数字" @blur="e => $set(parent.numRange, 0, onInputBlur(e, parent.expandParams))"></el-input>
<label> - </label>
<el-input :value="parent.numRange[1]" @input="v => $set(parent.numRange, 1, onInputNum(v))" class="select-wrap-input" style="width: 100px;margin-right: 0;" placeholder="请输入数字" @blur="e => $set(parent.numRange, 1, onInputBlur(e))"></el-input>
<el-input :value="parent.numRange[1]" @input="v => $set(parent.numRange, 1, onInputNum(v, parent.expandParams))" class="select-wrap-input" style="width: 100px;margin-right: 0;" placeholder="请输入数字" @blur="e => $set(parent.numRange, 1, onInputBlur(e, parent.expandParams))"></el-input>
</div>
</template>
......@@ -39,12 +39,12 @@
</el-select>
<div style="display: inline-block" v-if="parent.symbol == '区间'">
<el-input :value="parent.numRange[0]" @input="v => $set(parent.numRange, 0, onInputNum(v))" @keyup.native="handleNumRangeEnd($event)" @blur="e => $set(parent.numRange, 0, onInputBlur(e))" class="select-wrap-input" style="width: 100px;margin-right: 0;" placeholder="请输入数字"></el-input>
<el-input :value="parent.numRange[0]" @input="v => $set(parent.numRange, 0, onInputNum(v, parent.expandParams))" @keyup.native="handleNumRangeEnd($event, parent.expandParams)" @blur="e => $set(parent.numRange, 0, onInputBlur(e, parent.expandParams))" class="select-wrap-input" style="width: 100px;margin-right: 0;" placeholder="请输入数字"></el-input>
<label>-</label>
<el-input :value="parent.numRange[1]" @input="v => $set(parent.numRange, 1, onInputNum(v))" @keyup.native="handleNumRangeEnd($event)" @blur="e => $set(parent.numRange, 1, onInputBlur(e))" class="select-wrap-input" style="width: 100px;margin-right: 0;" placeholder="请输入数字"></el-input>
<el-input :value="parent.numRange[1]" @input="v => $set(parent.numRange, 1, onInputNum(v, parent.expandParams))" @keyup.native="handleNumRangeEnd($event, parent.expandParams)" @blur="e => $set(parent.numRange, 1, onInputBlur(e, parent.expandParams))" class="select-wrap-input" style="width: 100px;margin-right: 0;" placeholder="请输入数字"></el-input>
</div>
<div style="display: inline-block" v-if="parent.symbol != '区间'">
<el-input :value="parent.num" @input="v => $set(parent, 'num', onInputNum(v))" @keyup.native="handleNumRangeEnd($event)" @blur="e => $set(parent, 'num', onInputBlur(e))" class="select-wrap-input" style="width: 100px;margin-right: 0;" placeholder="请输入数字"></el-input>
<el-input :value="parent.num" @input="v => $set(parent, 'num', onInputNum(v, parent.expandParams))" @keyup.native="handleNumRangeEnd($event, parent.expandParams)" @blur="e => $set(parent, 'num', onInputBlur(e, parent.expandParams))" class="select-wrap-input" style="width: 100px;margin-right: 0;" placeholder="请输入数字"></el-input>
</div>
<!-- <label class="label-tip">注:如果起始值为空则视为小于等于最大输入值;如果最大值为空则视为大于等于最小输入值!</label> -->
......@@ -758,12 +758,12 @@
</el-select>
<div style="display: inline-block" v-if="parent.symbol == '区间'">
<el-input :value="parent.numRange[0]" @input="v => $set(parent.numRange, 0, onInputNum(v))" @keyup.native="handleNumRangeEnd($event)" @blur="e => $set(parent.numRange, 0, onInputBlur(e))" class="select-wrap-input" style="width: 100px;margin-right: 0;" placeholder="请输入数字"></el-input>
<el-input :value="parent.numRange[0]" @input="v => $set(parent.numRange, 0, onInputNum(v, parent.expandParams))" @keyup.native="handleNumRangeEnd($event, parent.expandParams)" @blur="e => $set(parent.numRange, 0, onInputBlur(e, parent.expandParams))" class="select-wrap-input" style="width: 100px;margin-right: 0;" placeholder="请输入数字"></el-input>
<label>-</label>
<el-input :value="parent.numRange[1]" @input="v => $set(parent.numRange, 1, onInputNum(v))" @keyup.native="handleNumRangeEnd($event)" @blur="e => $set(parent.numRange, 1, onInputBlur(e))" class="select-wrap-input" style="width: 100px;margin-right: 10px;" placeholder="请输入数字"></el-input>
<el-input :value="parent.numRange[1]" @input="v => $set(parent.numRange, 1, onInputNum(v, parent.expandParams))" @keyup.native="handleNumRangeEnd($event, parent.expandParams)" @blur="e => $set(parent.numRange, 1, onInputBlur(e, parent.expandParams))" class="select-wrap-input" style="width: 100px;margin-right: 10px;" placeholder="请输入数字"></el-input>
</div>
<div style="display: inline-block" v-if="parent.symbol != '区间'">
<el-input :value="parent.num" @input="v => $set(parent, 'num', onInputNum(v))" @keyup.native="handleNumRangeEnd($event)" @blur="e => $set(parent, 'num', onInputBlur(e))" class="select-wrap-input" style="width: 100px;margin-right: 10px;" placeholder="请输入数字"></el-input>
<el-input :value="parent.num" @input="v => $set(parent, 'num', onInputNum(v, parent.expandParams))" @keyup.native="handleNumRangeEnd($event, parent.expandParams)" @blur="e => $set(parent, 'num', onInputBlur(e, parent.expandParams))" class="select-wrap-input" style="width: 100px;margin-right: 10px;" placeholder="请输入数字"></el-input>
</div>
</div>
......@@ -1350,8 +1350,9 @@ export default {
eve.target.value = '';
}
},
handleNumRangeEnd(eve) {
handleNumRangeEnd(eve, controlJson) {
let value = eve.target.value;
if (controlJson) return value; // 有后端限制就不需要以下控制
value.replace(RegNoC, (str, p1, offset) => {
if (offset > -1) {
this.$message.warning({
......@@ -2249,7 +2250,29 @@ export default {
}
}
},
onInputNum(v) {
// 远程校验数字类型
remoteControlNum(v, controlJson) {
const { type, maxNum, minNum } = JSON.parse(controlJson).reduce((obj, cur) => {
obj[cur.key] = cur.value;
return obj;
}, {});
switch(type) {
case 'int':
v = parseInt(v);
break;
case 'double':
v = parseFloat(v).toFixed(2);
break;
}
if (Number.isNaN(v)) return ''; // 是否为数字
if (v > maxNum || v < minNum) { // 校验规则
this.$message.error(`仅支持输入${minNum}-${maxNum}的值`);
return '';
}
return v;
},
onInputNum(v, controlJson) {
if (controlJson) return v;
v = v + '';
// flag true:是负数,最后结果需要加上负号
const flag = v.indexOf('-') == 0;
......@@ -2270,27 +2293,32 @@ export default {
v = typeof v[1] == 'string' ? `${v[0]}.${v[1]}` : v[0];
return flag ? `-${v}` : v;
},
onInputBlur(e) {
// 输入框失焦后,校验用户是否只输入了一个负号或者小数点
let v = e.target.value;
v = v.indexOf('-') == v.length - 1 ? '' : v;
v = v.indexOf('.') == v.length - 1 ? v.replace('.', '') : v;
if(this.tagData.tagId == '6fb8ab4ce2d64fd19ac22fcba722bd61') {
v = Math.floor(v);
if(v < 0) {
v = 0
onInputBlur(e, controlJson) {
// controlJson字段存在时,使用后端配置的校验规则。否则用当前默认规则
if (!controlJson) {
// 输入框失焦后,校验用户是否只输入了一个负号或者小数点
let v = e.target.value;
v = v.indexOf('-') == v.length - 1 ? '' : v;
v = v.indexOf('.') == v.length - 1 ? v.replace('.', '') : v;
if(this.tagData.tagId == '6fb8ab4ce2d64fd19ac22fcba722bd61') {
v = Math.floor(v);
if(v < 0) {
v = 0
}
}
}
// 部分标签只允许输入整数
const tags = ['次数', '天数', '时长'];
if(tags.some((el) => this.tagData.tagName.indexOf(el) !== -1)) {
v = Math.floor(v);
if(v < 0) {
v = 0
// 部分标签只允许输入整数
const tags = ['次数', '天数', '时长'];
if(tags.some((el) => this.tagData.tagName.indexOf(el) !== -1)) {
v = Math.floor(v);
if(v < 0) {
v = 0
}
}
return v + '';
} else {
return this.remoteControlNum(e.target.value, controlJson);
}
return v + '';
},
onChangeTime(val) {
if(isNaN(val)) {
......
......@@ -192,6 +192,7 @@
<div class="page-box">
<dm-pagination
background
:pager-count="5"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="pageNum"
......@@ -785,6 +786,7 @@ export default {
this.treeNodeId = '';
this.pageNum = 1;
this.getTagsGroupList();
this.pageSize = 20;
},
// 是否展示系统标签
getShowSystem() {
......
<template>
<div class="member-group">
<div class="flex">
<el-tabs v-model="activeType" class="tabs">
<el-tabs v-model="activeType" class="tabs" @tab-click="onTabClick">
<el-tab-pane label="我的客户分组" name="1"></el-tab-pane>
<el-tab-pane label="固化人群" name="2"></el-tab-pane>
<el-tab-pane label="金字塔客户分组" name="3" v-if="!($store.state.enableAccessControl && !$store.state.isSuperAdmin)"></el-tab-pane>
......@@ -294,7 +294,7 @@
<el-switch :active-value="1" :inactive-value="0" v-model="scope.row.appStatus" active-color="#2F54EB" @change="switchAppStatus(scope.row.appStatus, scope.row)"> </el-switch>
</template>
</el-table-column>
<el-table-column label="创建人" prop="createUserName" v-if="[2,3].includes($store.state.departAuth) || $store.state.isSuperAdmin">
<el-table-column label="创建人" min-width="110" prop="createUserName" v-if="[2,3].includes($store.state.departAuth) || $store.state.isSuperAdmin">
<template slot-scope="{ row }">{{ row.createUserName || '--'}}</template>
</el-table-column>
<el-table-column prop="recentUpdateDate" min-width="100" label="到期时间">
......@@ -320,7 +320,7 @@
</el-table-column>
<el-table-column label="操作" width="210" fixed="right" v-if="setAuth">
<el-table-column label="操作" width="230" fixed="right" v-if="setAuth">
<template slot-scope="scope">
<router-link
:to="`/memberGroupDetail?memberTagGroupId=${scope.row.memberTagGroupId}&type=1`"
......@@ -889,6 +889,8 @@ export default {
},
// 会员分组二级
getsecondList(list) {
this.currentPage = 1;
this.params.pageNum = 1;
this.showFixedList = false
if(list === 'showFixedList') {
this.params.memberTagGroupClassifyId = '';
......@@ -904,6 +906,8 @@ export default {
this.isTagRecommend = true;
this.memberTagGroupId = '';
this.currentPage = 1;
this.params.pageNum = 1;
this.params.pageSize = 20;
this.pageSize = 20;
this._gradeList();
return;
......@@ -1330,9 +1334,7 @@ export default {
let now = new Date().toLocaleDateString().replace(/(\d+)\/(\d+)\/(\d+)/, (match, p1, p2, p3) => {
return [p1, p2.padStart(2, '0'), p3.padStart(2, '0')].join('-');
});
console.log(lastDate, now);
if (lastDate !== now) return false;
// if(new Date().getTime() > lastDate.getTime()) return false;
return true;
},
onExpandChange(row, expandedRows) {
......@@ -1453,6 +1455,12 @@ export default {
});
})
}).finally(() => this.reqLock = false);
},
onTabClick() {
this.pageSize = 20;
this.params.pageSize = 20;
this.currentPage = 1;
this.params.pageNum = 1;
}
},
created() {
......
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