Commit ca502d38 authored by lixy's avatar lixy

Merge branch 'base-modify' of http://113.105.137.151:22280/youjj/cloud-platform-ui into base-modify

parents 32120521 5548eccd
......@@ -2821,8 +2821,8 @@
},
"dom7": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/dom7/-/dom7-2.1.3.tgz",
"integrity": "sha512-QTxHHDox+M6ZFz1zHPAHZKI3JOHY5iY4i9BK2uctlggxKQwRhO3q3HHFq1BKsT25Bm/ySSj70K6Wk/G4bs9rMQ==",
"resolved": "https://registry.npm.taobao.org/dom7/download/dom7-2.1.3.tgz",
"integrity": "sha1-pzb5w7+8TKA5qBzQlfl9HX894Zw=",
"dev": true,
"requires": {
"ssr-window": "^1.0.1"
......@@ -3911,8 +3911,7 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
"dev": true,
"optional": true
"dev": true
},
"aproba": {
"version": "1.1.1",
......@@ -3989,7 +3988,6 @@
"resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
"integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
"dev": true,
"optional": true,
"requires": {
"inherits": "~2.0.0"
}
......@@ -3999,7 +3997,6 @@
"resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
"dev": true,
"optional": true,
"requires": {
"hoek": "2.x.x"
}
......@@ -4019,8 +4016,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
"integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=",
"dev": true,
"optional": true
"dev": true
},
"caseless": {
"version": "0.12.0",
......@@ -4040,8 +4036,7 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
"dev": true,
"optional": true
"dev": true
},
"combined-stream": {
"version": "1.0.5",
......@@ -4064,15 +4059,13 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
"integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
"dev": true,
"optional": true
"dev": true
},
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
"dev": true,
"optional": true
"dev": true
},
"cryptiles": {
"version": "2.0.5",
......@@ -4155,8 +4148,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz",
"integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=",
"dev": true,
"optional": true
"dev": true
},
"forever-agent": {
"version": "0.6.1",
......@@ -4181,15 +4173,13 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true,
"optional": true
"dev": true
},
"fstream": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
"integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
"dev": true,
"optional": true,
"requires": {
"graceful-fs": "^4.1.2",
"inherits": "~2.0.0",
......@@ -4250,7 +4240,6 @@
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
"dev": true,
"optional": true,
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
......@@ -4264,8 +4253,7 @@
"version": "4.1.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
"integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
"dev": true,
"optional": true
"dev": true
},
"har-schema": {
"version": "1.0.5",
......@@ -4309,8 +4297,7 @@
"version": "2.16.3",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
"integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
"dev": true,
"optional": true
"dev": true
},
"http-signature": {
"version": "1.1.1",
......@@ -4329,7 +4316,6 @@
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"optional": true,
"requires": {
"once": "^1.3.0",
"wrappy": "1"
......@@ -4339,8 +4325,7 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
"dev": true,
"optional": true
"dev": true
},
"ini": {
"version": "1.3.4",
......@@ -4354,7 +4339,6 @@
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
"dev": true,
"optional": true,
"requires": {
"number-is-nan": "1.0.1"
}
......@@ -4370,8 +4354,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true,
"optional": true
"dev": true
},
"isstream": {
"version": "0.1.2",
......@@ -4472,7 +4455,6 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true,
"optional": true,
"requires": {
"brace-expansion": "1.1.7"
}
......@@ -4489,7 +4471,6 @@
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"dev": true,
"optional": true,
"requires": {
"minimist": "0.0.8"
}
......@@ -4569,7 +4550,6 @@
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
"optional": true,
"requires": {
"wrappy": "1"
}
......@@ -4603,8 +4583,7 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true,
"optional": true
"dev": true
},
"performance-now": {
"version": "0.2.0",
......@@ -4617,8 +4596,7 @@
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
"integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
"dev": true,
"optional": true
"dev": true
},
"punycode": {
"version": "1.4.1",
......@@ -4661,7 +4639,6 @@
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz",
"integrity": "sha1-z3jsb0ptHrQ9JkiMrJfwQudLf8g=",
"dev": true,
"optional": true,
"requires": {
"buffer-shims": "~1.0.0",
"core-util-is": "~1.0.0",
......@@ -4708,7 +4685,6 @@
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz",
"integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=",
"dev": true,
"optional": true,
"requires": {
"glob": "^7.0.5"
}
......@@ -4717,8 +4693,7 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz",
"integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=",
"dev": true,
"optional": true
"dev": true
},
"semver": {
"version": "5.3.0",
......@@ -4783,7 +4758,6 @@
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"dev": true,
"optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
......@@ -4795,7 +4769,6 @@
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
"integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
"dev": true,
"optional": true,
"requires": {
"safe-buffer": "^5.0.1"
}
......@@ -4812,7 +4785,6 @@
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"dev": true,
"optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
......@@ -4829,7 +4801,6 @@
"resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
"integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
"dev": true,
"optional": true,
"requires": {
"block-stream": "*",
"fstream": "^1.0.2",
......@@ -4891,8 +4862,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
"dev": true,
"optional": true
"dev": true
},
"uuid": {
"version": "3.0.1",
......@@ -4925,8 +4895,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true,
"optional": true
"dev": true
}
}
},
......@@ -10562,8 +10531,8 @@
},
"ssr-window": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-1.0.1.tgz",
"integrity": "sha512-dgFqB+f00LJTEgb6UXhx0h+SrG50LJvti2yMKMqAgzfUmUXZrLSv2fjULF7AWGwK25EXu8+smLR3jYsJQChPsg==",
"resolved": "https://registry.npm.taobao.org/ssr-window/download/ssr-window-1.0.1.tgz",
"integrity": "sha1-MHUqakZm53Z/C35qpvwv29DZs2k=",
"dev": true
},
"stackframe": {
......@@ -10761,8 +10730,8 @@
},
"swiper": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/swiper/-/swiper-4.5.0.tgz",
"integrity": "sha512-jRCd/CGet9kaHwthHdd/sL/YU8CI157PWLyItnIcn/o/jP4haVky3zTF6f9F3JDpmQIw7jdWihISiYx0/oTHsg==",
"resolved": "https://registry.npm.taobao.org/swiper/download/swiper-4.5.0.tgz",
"integrity": "sha1-TYcL7E9avi+yWTJYSd0mQckkPA0=",
"dev": true,
"requires": {
"dom7": "^2.1.3",
......
......@@ -70,6 +70,17 @@ export function getAllVehicleList() {
method: 'get'
});
}
/**
* 根据sort排序,获取全部车型
* */
export function getAllVehicleModelList() {
return fetch({
url: '/vehicle/vehicleModel/list',
method: 'get'
});
}
/**
* 车型标签是否多选
*/
......
......@@ -96,6 +96,22 @@ Vue.directive('enterNumber', {
});
}
});
Vue.directive('isNumber', {
inserted: function (el) {
el.addEventListener("keypress",function(e){
e = e || window.event;
let charcode = typeof e.charCode == 'number' ? e.charCode : e.keyCode;
let re = /\d/;
if(!re.test(String.fromCharCode(charcode)) && charcode > 9 && !e.ctrlKey){
if(e.preventDefault){
e.preventDefault();
}else{
e.returnValue = false;
}
}
});
}
});
// register global utility filters.
Object.keys(filters).forEach(key => {
......
......@@ -561,4 +561,32 @@ export const asyncRouterMap = [{
}
]
}
,
{
path: '/xxOfficialWebsite',
component: Layout,
name: '新欣房车官网管理',
icon: 'setting',
authority: 'xxOfficialWebsite',
children: [
{
path: 'activityList',
component: _import('xxOfficialWebsite/activityList'),
name: '活动管理',
authority: 'activityList'
},
{
path: 'newsList',
component: _import('xxOfficialWebsite/newsList'),
name: '新闻管理',
authority: 'newsList'
},
{
path: 'bannerList',
component: _import('xxOfficialWebsite/bannerList'),
name: 'banner管理',
authority: 'bannerList'
}
]
}
];
......@@ -50,3 +50,298 @@ export function objDeepCopy(source) {
}
/*是否合法IP地址*/
export function validateIP(rule, value,callback) {
if(value==''||value==undefined||value==null){
callback();
}else {
const reg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
if ((!reg.test(value)) && value != '') {
callback(new Error('请输入正确的IP地址'));
} else {
callback();
}
}
}
/* 是否手机号码或者固话*/
export function validatePhoneTwo(rule, value, callback) {
const reg = /^((0\d{2,3}-\d{7,8})|(1[34578]\d{9}))$/;;
if (value == '' || value == undefined || value == null) {
callback();
} else {
if ((!reg.test(value)) && value != '') {
callback(new Error('请输入正确的电话号码或者固话号码'));
} else {
callback();
}
}
}
/* 是否固话*/
export function validateTelphone(rule, value,callback) {
const reg =/0\d{2}-\d{7,8}/;
if(value==''||value==undefined||value==null){
callback();
}else {
if ((!reg.test(value)) && value != '') {
callback(new Error('请输入正确的固话(格式:区号+号码,如010-1234567)'));
} else {
callback();
}
}
}
/* 是否手机号码*/
export function validatePhone(rule, value,callback) {
const reg =/^[1][3,4,5,7,8][0-9]{9}$/;
if(value==''||value==undefined||value==null){
callback();
}else {
if ((!reg.test(value)) && value != '') {
callback(new Error('请输入正确的电话号码'));
} else {
callback();
}
}
}
/* 是否身份证号码*/
export function validateIdNo(rule, value,callback) {
const reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
if(value==''||value==undefined||value==null){
callback();
}else {
if ((!reg.test(value)) && value != '') {
callback(new Error('请输入正确的身份证号码'));
} else {
callback();
}
}
}
/* 是否邮箱*/
export function validateEMail(rule, value,callback) {
const reg =/^([a-zA-Z0-9]+[-_\.]?)+@[a-zA-Z0-9]+\.[a-z]+$/;
if(value==''||value==undefined||value==null){
callback();
}else{
if (!reg.test(value)){
callback(new Error('请输入正确的邮箱地址'));
} else {
callback();
}
}
}
/*验证内容是否英文数字以及下划线*/
export function isPassword(rule, value, callback) {
const reg =/^[_a-zA-Z0-9]+$/;
if(value==''||value==undefined||value==null){
callback();
} else {
if (!reg.test(value)){
callback(new Error('密码仅由英文字母,数字以及下划线组成'));
} else {
callback();
}
}
}
/*自动检验数值的范围*/
export function checkMax20000(rule, value, callback) {
if (value == '' || value == undefined || value == null) {
callback();
} else if (!Number(value)) {
callback(new Error('请输入[1,20000]之间的数字'));
} else if (value < 1 || value > 20000) {
callback(new Error('请输入[1,20000]之间的数字'));
} else {
callback();
}
}
//验证数字输入框最大数值,32767
export function checkMaxVal(rule, value,callback) {
if (value < 0 || value > 32767) {
callback(new Error('请输入[0,32767]之间的数字'));
} else {
callback();
}
}
//验证是否1-99之间
export function isOneToNinetyNine(rule, value, callback) {
if (!value) {
return callback(new Error('输入不可以为空'));
}
setTimeout(() => {
if (!Number(value)) {
callback(new Error('请输入正整数'));
} else {
const re = /^[1-9][0-9]{0,1}$/;
const rsCheck = re.test(value);
if (!rsCheck) {
callback(new Error('请输入正整数,值为【1,99】'));
} else {
callback();
}
}
}, 0);
}
// 验证是否整数
export function isInteger(rule, value, callback) {
if (!value) {
return callback(new Error('输入不可以为空'));
}
setTimeout(() => {
if (!Number(value)) {
callback(new Error('请输入正整数'));
} else {
const re = /^[0-9]*[1-9][0-9]*$/;
const rsCheck = re.test(value);
if (!rsCheck) {
callback(new Error('请输入正整数'));
} else {
callback();
}
}
}, 0);
}
// 验证是否整数,非必填
export function isIntegerNotMust(rule, value, callback) {
if (!value) {
callback();
}
setTimeout(() => {
if (!Number(value)) {
callback(new Error('请输入正整数'));
} else {
const re = /^[0-9]*[1-9][0-9]*$/;
const rsCheck = re.test(value);
if (!rsCheck) {
callback(new Error('请输入正整数'));
} else {
callback();
}
}
}, 1000);
}
// 验证是否是[0-1]的小数
export function isDecimal(rule, value, callback) {
if (!value) {
return callback(new Error('输入不可以为空'));
}
setTimeout(() => {
if (!Number(value)) {
callback(new Error('请输入[0,1]之间的数字'));
} else {
if (value < 0 || value > 1) {
callback(new Error('请输入[0,1]之间的数字'));
} else {
callback();
}
}
}, 100);
}
// 验证是否是[1-10]的小数,即不可以等于0
export function isBtnOneToTen(rule, value, callback) {
if (typeof value == 'undefined') {
return callback(new Error('输入不可以为空'));
}
setTimeout(() => {
if (!Number(value)) {
callback(new Error('请输入正整数,值为[1,10]'));
} else {
if (!(value == '1' || value == '2' || value == '3' || value == '4' || value == '5' || value == '6' || value == '7' || value == '8' || value == '9' || value == '10')) {
callback(new Error('请输入正整数,值为[1,10]'));
} else {
callback();
}
}
}, 100);
}
// 验证是否是[1-100]的小数,即不可以等于0
export function isBtnOneToHundred(rule, value, callback) {
if (!value) {
return callback(new Error('输入不可以为空'));
}
setTimeout(() => {
if (!Number(value)) {
callback(new Error('请输入整数,值为[1,100]'));
} else {
if (value < 1 || value > 100) {
callback(new Error('请输入整数,值为[1,100]'));
} else {
callback();
}
}
}, 100);
}
// 验证是否是[0-100]的小数
export function isBtnZeroToHundred(rule, value, callback) {
if (!value) {
return callback(new Error('输入不可以为空'));
}
setTimeout(() => {
if (!Number(value)) {
callback(new Error('请输入[1,100]之间的数字'));
} else {
if (value < 0 || value > 100) {
callback(new Error('请输入[1,100]之间的数字'));
} else {
callback();
}
}
}, 100);
}
// 验证端口是否在[0,65535]之间
export function isPort(rule, value, callback) {
if (!value) {
return callback(new Error('输入不可以为空'));
}
setTimeout(() => {
if (value == '' || typeof(value) == undefined) {
callback(new Error('请输入端口值'));
} else {
const re = /^([0-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/;
const rsCheck = re.test(value);
if (!rsCheck) {
callback(new Error('请输入在[0-65535]之间的端口值'));
} else {
callback();
}
}
}, 100);
}
// 验证端口是否在[0,65535]之间,非必填,isMust表示是否必填
export function isCheckPort(rule, value, callback) {
if (!value) {
callback();
}
setTimeout(() => {
if (value == '' || typeof(value) == undefined) {
//callback(new Error('请输入端口值'));
} else {
const re = /^([0-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/;
const rsCheck = re.test(value);
if (!rsCheck) {
callback(new Error('请输入在[0-65535]之间的端口值'));
} else {
callback();
}
}
}, 100);
}
/*保留2为小数*/
export function validatetoFixedNew(str) {
return str ;
}
......@@ -102,7 +102,7 @@
<el-form-item label="会员等级">
<el-select class="filter-item" v-model="newMemberObject.memberLevel" placeholder="选择会员等级">
<!-- <el-option :key="undefined" label="无" :value="undefined"></el-option>-->
<el-option v-for="(val, key, index) in memberLevelist " :key="val.id" :label="val.name"
<el-option v-for="(val, key, index) in memberLevelList " :key="val.id" :label="val.name"
:value="val.id"></el-option>
</el-select>
</el-form-item>
......@@ -125,14 +125,14 @@
<el-row>
<el-col :span="8">
<el-form-item label="免费天数" placeholder="免费天数" prop="totalNumber">
<el-input size="small " type="text" v-model="newMemberObject.totalNumber" v-enterNumber></el-input>
<el-input size="small " type="number" v-model="newMemberObject.totalNumber" min="0" v-enterNumber></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="剩余天数" placeholder="剩余天数" prop="rentFreeDays">
<el-input size="small " type="text" v-model="newMemberObject.rentFreeDays" v-enterNumber></el-input>
<el-input size="small " type="number" v-model="newMemberObject.rentFreeDays" min="0" v-enterNumber></el-input>
</el-form-item>
</el-col>
</el-row>
......@@ -196,6 +196,7 @@
import {formatDate} from "../../utils/dateFormattor";
import ElRow from "element-ui/packages/row/src/row";
import ElCol from "element-ui/packages/col/src/col";
import {getMembers} from "src/api/admin/member/index"
export default {
components: {
......@@ -214,7 +215,7 @@
id: undefined,
userId: undefined
},
memberLevelist: [{id: 1, name: '普通会员'}, {id: 2, name: '黄金会员'}, {id: 3, name: '钻石会员'}],
memberLevelList: [],
saveUserId: undefined,
validityType: '无',
userOrderMessage: {},
......@@ -302,6 +303,7 @@
this.memberEnter_btn_del=this.elements['memberEnter:btn_del'];//删除
this.memberEnter_btn_addIn=this.elements['memberEnter:btn_addIn'];//批量上传
this.getList();
this. getMembersLevel()
} ,
computed: {
...
......@@ -316,6 +318,20 @@
},
},
methods: {
getMembersLevel() {
var _this = this;
getMembers().then(res => {
let members = res.data
// console.log('getMembersLevel:{}'+JSON.stringify(members))
// debugger
members.map(function (ele) {
_this.memberLevelList.push({id: ele.level, name: ele.name})
})
// console.log('this.queryMemberLevelList'+JSON.stringify(this.queryMemberLevelList))
}
)
},
/**
* 上传
*/
......
......@@ -65,7 +65,7 @@
<el-row>
<el-col :span="16">
<el-form-item label="等级" prop="level">
<el-input type="text" v-model="add.level" placeholder="请填会员等级"></el-input>
<el-input type="number" min="0" v-model="add.level" placeholder="请填会员等级" v-enterNumber></el-input>
</el-form-item>
</el-col>
</el-row>
......@@ -82,7 +82,7 @@
<el-row>
<el-col :span="16">
<el-form-item label="折扣" prop="discount">
<el-input type="text" v-model="add.discount"
<el-input type="number" min="0" v-model="add.discount"
placeholder="请填写折扣"></el-input>
</el-form-item>
</el-col>
......@@ -90,14 +90,14 @@
<el-row>
<el-col :span="16">
<el-form-item label="免费天数" prop="number">
<el-input type="text" v-model="add.number" placeholder="请填免费天数"></el-input>
<el-input type="number" min="0" v-model="add.number" placeholder="请填免费天数" v-enterNumber></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<el-form-item label="价格" prop="price">
<el-input type="text" v-model="add.price" placeholder="请填价格"></el-input>
<el-input type="number" min="0" v-model="add.price" placeholder="请填价格"></el-input>
</el-form-item>
</el-col>
</el-row>
......
......@@ -3,63 +3,64 @@
<div class="filter-container">
<el-form ref="queryForm" :inline="inline" :model="listQuery" label-width="100px">
<el-row>
<el-form-item label="手机号">
<el-input v-model.number="listQuery.mobile" placeholder="请输入手机号"></el-input>
</el-form-item>
<el-form-item label="注册终端">
<el-select class="filter-item" v-model="listQuery.channel" placeholder="请选注册终端">
<el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-option v-for="(val, key, index) in mobileList " :key="val.id" :label="val.name"
:value="val.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="会员类型">
<el-select class="filter-item" v-model="listQuery.memberLevel" placeholder="请选会员类型">
<el-option :key="undefined" label="全部用户" :value="undefined"></el-option>
<el-option v-for="(val, key, index) in queryMemberLevelList " :key="val.id" :label="val.name"
:value="val.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="用户身份">
<el-select class="filter-item" v-model="listQuery.postionState" placeholder="选择会员身份">
<el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-option v-for="(val, key, index) in postionStatelList " :key="val.id" :label="val.name"
:value="val.id"></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="注册时间" prop="bookDateRange">-->
<!-- <el-date-picker-->
<!-- v-model="listQuery.registrationDate "-->
<!-- type="daterange"-->
<!-- :editable="true"-->
<!-- format="yyyy-MM-dd"-->
<!-- placeholder="请选择注册时间范围">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<el-form-item label="手机号">
<el-input v-model.number="listQuery.mobile" placeholder="请输入手机号"></el-input>
</el-form-item>
<el-form-item label="注册终端">
<el-select class="filter-item" v-model="listQuery.channel" placeholder="请选注册终端">
<el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-option v-for="(val, key, index) in mobileList " :key="val.id" :label="val.name"
:value="val.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="会员类型">
<el-select class="filter-item" v-model="listQuery.memberLevel" placeholder="请选会员类型">
<el-option :key="undefined" label="全部用户" :value="undefined"></el-option>
<el-option v-for="(val, key, index) in queryMemberLevelList " :key="val.id" :label="val.name"
:value="val.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="用户身份">
<el-select class="filter-item" v-model="listQuery.postionState" placeholder="选择会员身份">
<el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-option v-for="(val, key, index) in postionStatelList " :key="val.id" :label="val.name"
:value="val.id"></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="注册时间" prop="bookDateRange">-->
<!-- <el-date-picker-->
<!-- v-model="listQuery.registrationDate "-->
<!-- type="daterange"-->
<!-- :editable="true"-->
<!-- format="yyyy-MM-dd"-->
<!-- placeholder="请选择注册时间范围">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<el-form-item label="注册时间">
<el-date-picker
v-model="listQuery.registrationTimeBegin"
type="date"
:editable="true"
format="yyyy-MM-dd"
placeholder="选择日期"
></el-date-picker>~
<el-date-picker
v-model="listQuery.registrationTimeEnd"
type="date"
:editable="true"
format="yyyy-MM-dd"
placeholder="选择日期"
></el-date-picker>
</el-form-item>
<el-form-item label="用户来源">
<el-select class="filter-item" v-model="listQuery.source" placeholder="请选用户来源">
<el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-option v-for="(val, key, index) in sourceList" :key="val.id" :label="val.name"
:value="val.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="注册时间">
<el-date-picker
v-model="listQuery.registrationTimeBegin"
type="date"
:editable="true"
format="yyyy-MM-dd"
placeholder="选择日期"
></el-date-picker>
~
<el-date-picker
v-model="listQuery.registrationTimeEnd"
type="date"
:editable="true"
format="yyyy-MM-dd"
placeholder="选择日期"
></el-date-picker>
</el-form-item>
<el-form-item label="用户来源">
<el-select class="filter-item" v-model="listQuery.source" placeholder="请选用户来源">
<el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-option v-for="(val, key, index) in sourceList" :key="val.id" :label="val.name"
:value="val.id"></el-option>
</el-select>
</el-form-item>
</el-row>
</el-form>
<el-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">搜索</el-button>
......@@ -131,19 +132,29 @@
<!-- </el-table-column>-->
<el-table-column align="center" label="操作" width="400" fixed="right">
<template scope="scope">
<el-button size="small" class="el-button el-button--text el-button--small" @click="viewDetails(scope.row)">查看详情
<el-button size="small" class="el-button el-button--text el-button--small" @click="viewDetails(scope.row)">
查看详情
</el-button>
<el-button size="small" class="el-button el-button--text el-button--small" v-if="admin_btn_user_postion_put"
@click="peopleSetting(scope.row)">身份设置
</el-button>
<el-button size="small" class="el-button el-button--text el-button--small" v-if="admin_btn_user_postion_put" @click="peopleSetting(scope.row)">身份设置
<el-button class="el-button el-button--text el-button--small" v-if="scope.row.status!=1&&userList_btn_edit"
size="small" @click=" setMember(scope.row)">设置会员信息
</el-button>
<el-button class="el-button el-button--text el-button--small" v-if="scope.row.status!=1&&userList_btn_edit" size="small" @click=" setMember(scope.row)">设置会员信息
<el-button class="el-button el-button--text el-button--small" v-if="scope.row.status!=1" size="small"
@click="userOrder(scope.row)">用户订单
</el-button>
<el-button class="el-button el-button--text el-button--small" v-if="scope.row.status!=1" size="small" @click="userOrder(scope.row)">用户订单
<el-button v-if="scope.row.status!=1&&userList_btn_forbidden" size="small"
class="el-button el-button--text el-button--small" style="color:red" @click="disable(scope.row)">
设为禁用
</el-button>
<el-button v-if="scope.row.status!=1&&userList_btn_forbidden" size="small" class="el-button el-button--text el-button--small" style="color:red" @click="disable(scope.row)">设为禁用
<el-button v-if="scope.row.status==1&&userList_btn_unmute" size="small"
class="el-button el-button--text el-button--small" style="color:red" @click="available(scope.row)">
取消禁用
</el-button>
<el-button v-if="scope.row.status==1&&userList_btn_unmute" size="small" class="el-button el-button--text el-button--small" style="color:red" @click="available(scope.row)">取消禁用
<el-button class="el-button el-button--text el-button--small" style="color:red" size="small"
v-if="userList_btn_del" @click="deleteUser(scope.row)">删除
</el-button>
<el-button class="el-button el-button--text el-button--small" style="color:red" size="small" v-if="userList_btn_del" @click="deleteUser(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
......@@ -154,7 +165,8 @@
layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination>
</div>
<!-- 用户详细信息窗口-->
<el-dialog title="用户详情" :visible.sync="detailsDialogFormVisible" type="text" label-width="95px" class="user-list-dialog">
<el-dialog title="用户详情" :visible.sync="detailsDialogFormVisible" type="text" label-width="95px"
class="user-list-dialog">
<el-form>
<el-row>
<el-form-item label="基础信息">
......@@ -302,12 +314,12 @@
<!-- 设置会员信息窗口-->
<el-dialog title="设置会员信息" @change="change" :visible.sync="setMemberArea" class="member">
<el-form :model="userMembershipInformation" ref="userMembership" label-width="100px">
<el-form :model="userMembershipInformation" :rules="rules" ref="userMembership" label-width="100px">
<el-row>
<el-col :span="16">
<el-form-item label="会员等级" prop="memberLevel">
<el-select class="filter-item" v-model="userMembershipInformation.memberLevel" placeholder="请选择会员等级">
<!-- <el-option :key="undefined" label="无" :value="undefined"></el-option>-->
<!-- <el-option :key="undefined" label="无" :value="undefined"></el-option>-->
<el-option v-for="(val, key, index) in setMemberLevelList " :key="val.id" :label="val.name"
:value="val.id"></el-option>
</el-select>
......@@ -318,7 +330,7 @@
<el-col :span="24">
<el-form-item label="有效期" prop="validTime">
<el-radio-group v-model="validityType">
<!-- <el-radio-button style="margin-bottom: 10px;" label="无"></el-radio-button>-->
<!-- <el-radio-button style="margin-bottom: 10px;" label="无"></el-radio-button>-->
<el-radio-button style="margin-bottom: 10px;" label="永久"></el-radio-button>
<el-radio-button style="margin-bottom: 10px;" label="自定义"></el-radio-button>
</el-radio-group>
......@@ -336,22 +348,23 @@
<el-row>
<el-col :span="16">
<el-form-item label="充值次数/次" prop="buyCount">
<el-input type="text" :disabled="true" v-model="userMembershipInformation.buyCount"
<el-input type="number" :disabled="true" v-model="userMembershipInformation.buyCount"
placeholder="请填写充值次数"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<el-form-item label="总天数" prop="totalNumber">
<el-input type="text" v-model="userMembershipInformation.totalNumber" placeholder="请填写赠送天数" v-enterNumber></el-input>
<el-form-item label="总天数" prop="totalNumber">
<el-input type="number" v-model="userMembershipInformation.totalNumber" min="0" placeholder="请填写总天数"
v-enterNumber></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<el-form-item label="剩余天数/天" prop="rentFreeDays" placeholder="请填写剩余天数">
<el-input type="text" v-model="userMembershipInformation.rentFreeDays" v-enterNumber></el-input>
<el-form-item label="剩余天数" prop="rentFreeDays">
<el-input type="number" v-model="userMembershipInformation.rentFreeDays" min="0" v-enterNumber placeholder="请填写剩余天数"></el-input>
</el-form-item>
</el-col>
</el-row>
......@@ -366,7 +379,9 @@
<el-dialog title="身份设置" :visible.sync="peopleSettingModal" width="10%">
<el-form :model="peopleSettingObject" ref="" label-width="100px">
<el-form-item label="身份类型">
<el-radio v-model="peopleSettingObject.positionId" :label='item.id' v-for="(item,index) in settingList" :key="index">{{item.name}}</el-radio>
<el-radio v-model="peopleSettingObject.positionId" :label='item.id' v-for="(item,index) in settingList"
:key="index">{{item.name}}
</el-radio>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
......@@ -426,7 +441,9 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-button class="filter-item" type="primary" v-waves icon="search" @click="userOrder" style="margin-left: 10px;">搜索</el-button>
<el-button class="filter-item" type="primary" v-waves icon="search" @click="userOrder"
style="margin-left: 10px;">搜索
</el-button>
</el-col>
</el-row>
......@@ -540,13 +557,14 @@
getrewardSetting
} from 'api/purseManage';
import {formatDate} from "../../../utils/dateFormattor";
import {getMembers} from "src/api/admin/member/index"
import {getMembers} from "src/api/admin/member/index"
export default {
name: 'appUser',
data() {
return {
inline:true,
peopleSettingModal:false,
inline: true,
peopleSettingModal: false,
orderData: [],
validTime: '',
userMembershipInformation: {
......@@ -558,22 +576,22 @@
id: undefined,
userId: undefined
},
peopleSettingObject:{
id:'',
positionId:undefined
peopleSettingObject: {
id: '',
positionId: undefined
},
saveUserId: undefined,
validityType: '无',
userOrderMessage: {},
mobileList: [{id: 1, name: 'app'}, {id: 2, name: "小程序"}],
queryMemberLevelList: [{id: -1, name: '全部会员'}],
postionStatelList:[
postionStatelList: [
{
id:6,
name:'普通用户'
},{
id:1,
name:'非普通用户'
id: 6,
name: '普通用户'
}, {
id: 1,
name: '非普通用户'
}
],
setMemberLevelList: [],
......@@ -588,8 +606,8 @@
{id: 7, name: '已完成'}
],
orderTypeList: [
{id: 1, name: '旅游'},
{id: 2, name: '租车'},
{id: 1, name: '租车'},
{id: 2, name: '旅游'},
{id: 3, name: '会员订单'}
],
BASE_API: process.env.BASE_API,
......@@ -619,6 +637,11 @@
type: undefined,
status: undefined
},
rules: {
totalNumber: [this.integerValidator()],
rentFreeDays: [this.integerValidator()]
},
newMemberObjectVerify: {
phone: [
{
......@@ -660,11 +683,11 @@
channel: undefined,
registrationTimeEnd: undefined,
registrationTimeBegin: undefined,
postionState:undefined,
postionState: undefined,
},
sexObj:{
1:'女',
2:'男'
sexObj: {
1: '女',
2: '男'
},
source: {
0: '自来',
......@@ -684,8 +707,8 @@
6: '已完成',
},
orderType: {
1: '旅游',
2: '租车',
1: '租车',
2: '旅游',
3: '会员订单'
},
detailsDialogFormVisible: false,
......@@ -703,18 +726,18 @@
selectedAccItem: undefined,
userList_btn_edit: false,//编辑
userList_btn_forbidden: false,//禁用
userList_btn_unmute:false,//取消禁用
userList_btn_unmute: false,//取消禁用
userList_btn_del: false,//删除
admin_btn_user_postion_put:false,//身份设置
settingList:[],
admin_btn_user_postion_put: false,//身份设置
settingList: [],
}
},
created() {
this.userList_btn_edit=this.elements['userList:btn_edit'];//编辑
this.userList_btn_forbidden=this.elements['userList:btn_forbidden'];//禁用
this.userList_btn_unmute=this.elements['userList:btn_unmute'];//取消禁用
this.userList_btn_del=this.elements['userList:btn_del'];//删除
this.admin_btn_user_postion_put=this.elements['admin:btn:user_postion:put'];//身份设置
this.userList_btn_edit = this.elements['userList:btn_edit'];//编辑
this.userList_btn_forbidden = this.elements['userList:btn_forbidden'];//禁用
this.userList_btn_unmute = this.elements['userList:btn_unmute'];//取消禁用
this.userList_btn_del = this.elements['userList:btn_del'];//删除
this.admin_btn_user_postion_put = this.elements['admin:btn:user_postion:put'];//身份设置
this.getList();
this.getMembersLevel();
}
......@@ -735,19 +758,19 @@
},
methods: {
getMembersLevel(){
getMembersLevel() {
var _this = this;
getMembers().then(res=>{
let members = res.data
// console.log('getMembersLevel:{}'+JSON.stringify(members))
// debugger
members.map(function (ele) {
getMembers().then(res => {
let members = res.data
// console.log('getMembersLevel:{}'+JSON.stringify(members))
// debugger
members.map(function (ele) {
_this.queryMemberLevelList.push({id:ele.level,name:ele.name})
_this.setMemberLevelList.push({id:ele.level,name:ele.name})
})
_this.queryMemberLevelList.push({id: ele.level, name: ele.name})
_this.setMemberLevelList.push({id: ele.level, name: ele.name})
})
// console.log('this.queryMemberLevelList'+JSON.stringify(this.queryMemberLevelList))
}
}
)
},
......@@ -832,10 +855,10 @@
let query = JSON.parse(JSON.stringify(this.listQuery))
query.source = query.source ? query.source - 1 : ''
// console.log('handleFilterStatus:this.listQuery=' + JSON.stringify(this.listQuery))
query.registrationTimeBegin =this.listQuery.registrationTimeBegin
?(new Date(query.registrationTimeBegin).getTime()) / 1000:undefined
query.registrationTimeBegin = this.listQuery.registrationTimeBegin
? (new Date(query.registrationTimeBegin).getTime()) / 1000 : undefined
query.registrationTimeEnd = this.listQuery.registrationTimeEnd
? (new Date( query.registrationTimeEnd).getTime()) / 1000:undefined
? (new Date(query.registrationTimeEnd).getTime()) / 1000 : undefined
//
// console.log('handleFilterEnd:this.listQuery=' + JSON.stringify(this.listQuery))
// console.log('query================' + JSON.stringify(query))
......@@ -857,14 +880,14 @@
listKey.timeOfMembership = listKey.timeOfMembership ? timestamp2Date(listKey.timeOfMembership) : '';
listKey.recentRecharge = listKey.recentRecharge ? timestamp2Date(listKey.recentRecharge) : '';
listKey.lastTime = listKey.lastTime ? timestamp2Date(listKey.lastTime) : '';
listKey.createTime = listKey.createTime ? timestamp2Date(listKey.createTime*1000) : '';
listKey.createTime = listKey.createTime ? timestamp2Date(listKey.createTime * 1000) : '';
listKey.buyCount = listKey.buyCount ? listKey.buyCount : 0;
listKey.channel = this.terminal[listKey.channel];
listKey.source = this.source[listKey.source];
listKey.validTime = listKey.validTime ? ((listKey.validTime == 0) ? '永久' : listKey.validTime) : '无';
listKey.visible2 =false
listKey.visible2 = false
listKey.sex=(listKey.sex+1)?this.sexObj[(listKey.sex+1)]:''
listKey.sex = (listKey.sex + 1) ? this.sexObj[(listKey.sex + 1)] : ''
},
/**
......@@ -916,28 +939,28 @@
this.saveUserId = row.userId
getUserMemberByUserId(row.userId).then(response => {
if (response.data){
if (response.data.validTime == 0) {
this.validityType = '永久'
} else if (response.data.validTime&&response.data.validTime !=-1) {
this.validityType = '自定义'
response.data.validTime = timestamp2Date(response.data.validTime)
}
// else if (response.data.validTime == -1) {
// this.validityType = '无'
// }
this.validTime = response.data.validTime;
this.userMembershipInformation.memberLevel = response.data.memberLevel;
this.userMembershipInformation.validTime = response.data.validTime;
this.userMembershipInformation.totalNumber = response.data.totalNumber;
this.userMembershipInformation.rentFreeDays = response.data.rentFreeDays;
this.userMembershipInformation.buyCount = response.data.buyCount;
this.userMembershipInformation.id = response.data.id;
// this.userMembershipInformation.memberLevel= this.userMembershipInformation.memberLevel?this.userMembershipInformation.memberLevel:undefined
if (response.data) {
if (response.data.validTime == 0) {
this.validityType = '永久'
} else if (response.data.validTime && response.data.validTime != -1) {
this.validityType = '自定义'
response.data.validTime = timestamp2Date(response.data.validTime)
}
// else if (response.data.validTime == -1) {
// this.validityType = '无'
// }
this.validTime = response.data.validTime;
this.userMembershipInformation.memberLevel = response.data.memberLevel?response.data.memberLevel:'';
this.userMembershipInformation.validTime = response.data.validTime;
this.userMembershipInformation.totalNumber = response.data.totalNumber;
this.userMembershipInformation.rentFreeDays = response.data.rentFreeDays;
this.userMembershipInformation.buyCount = response.data.buyCount;
this.userMembershipInformation.id = response.data.id;
// this.userMembershipInformation.memberLevel= this.userMembershipInformation.memberLevel?this.userMembershipInformation.memberLevel:undefined
}
this.setMemberArea = true
})
console.log('this.userMembershipInformation:'+JSON.stringify(this.userMembershipInformation))
// console.log('this.userMembershipInformation:' + JSON.stringify(this.userMembershipInformation))
this.userMembershipInformation.userId = this.saveUserId
},
/**
......@@ -945,44 +968,49 @@
* @param formName
*/
saveMember(formName) {
if(Number(this.userMembershipInformation.totalNumber)<Number(this.userMembershipInformation.rentFreeDays)){
this.$notify({
title: '警告',
message: '剩余天数不能大于总天数',
type: 'warning',
duration: 2000
});
return false
}
if (this.validityType == '永久') {
this.userMembershipInformation.validTime = 0
} else if (this.validityType == '自定义') {
let date = new Date(this.validTime);
this.userMembershipInformation.validTime = date.getTime()
}
// else {
// this.userMembershipInformation.validTime = -1
// }
// if (this.$utils.isInteger(this.userMembershipInformation.totalNumber) ||
// this.$utils.isInteger(this.userMembershipInformation.rentFreeDays) ||
// (this.userMembershipInformation.totalNumber && this.userMembershipInformation.rentFreeDays)) {
this.userMembershipInformation.userId = this.saveUserId
this.userMembershipInformation.buyCount=undefined;
// console.log('userMembershipInformation:' + JSON.stringify(this.userMembershipInformation))
seveObj(this.userMembershipInformation).then(res => {
if (res.rel) {
this.$notify.success({
title: '修改成功',
message: `success`
})
} else {
this.$notify.warning({
title: '修改成功',
message: `failed`
})
if (Number(this.userMembershipInformation.totalNumber) < Number(this.userMembershipInformation.rentFreeDays)) {
this.$notify({
title: '警告',
message: '剩余天数不能大于总天数',
type: 'warning',
duration: 2000
});
return false
}
this.setMemberArea = false
this.$refs[formName].resetFields()
this.getList();
})
if (this.validityType == '永久') {
this.userMembershipInformation.validTime = 0
} else if (this.validityType == '自定义') {
let date = new Date(this.validTime);
this.userMembershipInformation.validTime = date.getTime()
}
// else {
// this.userMembershipInformation.validTime = -1
// }
this.userMembershipInformation.userId = this.saveUserId
this.userMembershipInformation.buyCount = undefined;
// console.log('userMembershipInformation:' + JSON.stringify(this.userMembershipInformation))
seveObj(this.userMembershipInformation).then(res => {
if (res.rel) {
this.$notify.success({
title: '修改成功',
message: `success`
})
} else {
this.$notify.warning({
title: '修改失败',
message: `failed`
})
}
this.setMemberArea = false
this.$refs[formName].resetFields()
this.getList();
})
// }
},
/**
* 显示新增会员窗口
......@@ -1050,10 +1078,10 @@
closeMembershipWindow() {
this.detailsDialogFormVisible = false;
},
cancelPeopleSetting(){
cancelPeopleSetting() {
this.peopleSettingModal = false;
},
setPeopleSetting(){
setPeopleSetting() {
userPosition(this.peopleSettingObject).then(response => {
if (response.status == 200) {
this.$notify({
......@@ -1064,7 +1092,7 @@
});
this.peopleSettingModal = false;
this.getList();
}else{
} else {
this.$notify({
title: '失败',
message: response.message,
......@@ -1074,17 +1102,17 @@
}
});
},
peopleSetting(row){
var that = this;
peopleSetting(row) {
var that = this;
this.peopleSettingObject.id = row.userId;
getrewardSetting().then(response => {
this.settingList = response.data;
response.data.forEach(function(item){
if(row.positionName){
if(row.positionName==item.name){
response.data.forEach(function (item) {
if (row.positionName) {
if (row.positionName == item.name) {
that.peopleSettingObject.positionId = item.id;
}
}else{
} else {
that.peopleSettingObject.positionId = 1;
}
})
......@@ -1211,26 +1239,26 @@
cleaningQuery() {
this.listQuery.page = 1
this.listQuery.limit = 20
this.listQuery.mobileList = undefined
this.listQuery.mobile = undefined
this.listQuery.memberLevel = undefined
this.listQuery.source = undefined
this.listQuery.channel = undefined
this.listQuery.registrationTimeEnd = undefined
this.listQuery.registrationTimeBegin = undefined
this.listQuery.postionState = undefined
this.listQuery.mobileList = undefined
this.listQuery.mobile = undefined
this.listQuery.memberLevel = undefined
this.listQuery.source = undefined
this.listQuery.channel = undefined
this.listQuery.registrationTimeEnd = undefined
this.listQuery.registrationTimeBegin = undefined
this.listQuery.postionState = undefined
},
change() {
this.$forceUpdate()
},
deleteUser(row){
deleteUser(row) {
this.$confirm('确定删除吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteUser(row.userId).then(
res=>{
res => {
if (res.rel) {
this.$notify.success({
title: '删除成功',
......@@ -1245,7 +1273,21 @@
this.getList()
})
})
}
},
integerValidator: function () {
return {
validator: (rule, value, callback) => {
if (this.$utils.isUndefined(value) || this.$utils.isNull()) {
return callback();
}
if (!this.$utils.isInteger(value)) {
return callback(new Error('必须为整数'));
}
callback();
},
trigger: 'blur'
};
},
}
}
</script>
......@@ -1253,7 +1295,8 @@
.member .el-dialog--small {
width: 500px;
}
.user-list-dialog .el-form-item{
.user-list-dialog .el-form-item {
margin-bottom: 0px;
}
</style>
......
......@@ -745,6 +745,7 @@
} from 'api/vehicle/vehicleInfo/';
import {
getAllVehicleModelList,
getAllVehicleList
} from 'api/vehicleType';
......@@ -1368,7 +1369,7 @@
* 获取全部车型
* */
getAllVehicleType() {
getAllVehicleList().then(response => {
getAllVehicleModelList().then(response => {
let listRs = undefined;
if (!this.$utils.isEmpty(response.data)) {
listRs = response.data;
......
......@@ -69,7 +69,7 @@
<span>{{scope.row.sum}}</span>
</template>
</el-table-column>
<el-table-column width="200" align="center" label="可租借数量">
<el-table-column width="150" align="center" label="可租借数量">
<template scope="scope">
<span>{{scope.row.leasableQuantity}}</span>
</template>
......
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