Commit e0ac9fd3 authored by denghr's avatar denghr

解决冲突

parents 05b6e7de 744f2961
module.exports = { module.exports = {
NODE_ENV: '"development"', NODE_ENV: '"development"',
BASE_API: '"http://10.1.37.246:8765"',//'"https://xxfcmgmt.upyuns.com"(正)',//http://10.1.37.192:9527(何), //https://xxtest.upyuns.com(测),10.1.37.246:9527(韩), 10.1.37.244(李斌)10.1.37.248:8765(小威) BASE_API: '"https://xxtest.upyuns.com"',//'"https://xxfcmgmt.upyuns.com"(正)',//http://10.1.37.192:9527(何), //https://xxtest.upyuns.com(测),10.1.37.246:9527(韩), 10.1.37.244(李斌)10.1.37.248:8765(小威)
APP_ORIGIN: '"https://wallstreetcn.com"' APP_ORIGIN: '"https://wallstreetcn.com"'
} }
...@@ -3911,7 +3911,8 @@ ...@@ -3911,7 +3911,8 @@
"version": "2.1.1", "version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
"dev": true "dev": true,
"optional": true
}, },
"aproba": { "aproba": {
"version": "1.1.1", "version": "1.1.1",
...@@ -3988,6 +3989,7 @@ ...@@ -3988,6 +3989,7 @@
"resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
"integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"inherits": "~2.0.0" "inherits": "~2.0.0"
} }
...@@ -3997,6 +3999,7 @@ ...@@ -3997,6 +3999,7 @@
"resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"hoek": "2.x.x" "hoek": "2.x.x"
} }
...@@ -4016,7 +4019,8 @@ ...@@ -4016,7 +4019,8 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
"integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=",
"dev": true "dev": true,
"optional": true
}, },
"caseless": { "caseless": {
"version": "0.12.0", "version": "0.12.0",
...@@ -4036,7 +4040,8 @@ ...@@ -4036,7 +4040,8 @@
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
"dev": true "dev": true,
"optional": true
}, },
"combined-stream": { "combined-stream": {
"version": "1.0.5", "version": "1.0.5",
...@@ -4059,13 +4064,15 @@ ...@@ -4059,13 +4064,15 @@
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
"integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
"dev": true "dev": true,
"optional": true
}, },
"core-util-is": { "core-util-is": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
"dev": true "dev": true,
"optional": true
}, },
"cryptiles": { "cryptiles": {
"version": "2.0.5", "version": "2.0.5",
...@@ -4148,7 +4155,8 @@ ...@@ -4148,7 +4155,8 @@
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz",
"integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=",
"dev": true "dev": true,
"optional": true
}, },
"forever-agent": { "forever-agent": {
"version": "0.6.1", "version": "0.6.1",
...@@ -4173,13 +4181,15 @@ ...@@ -4173,13 +4181,15 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true "dev": true,
"optional": true
}, },
"fstream": { "fstream": {
"version": "1.0.11", "version": "1.0.11",
"resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
"integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"graceful-fs": "^4.1.2", "graceful-fs": "^4.1.2",
"inherits": "~2.0.0", "inherits": "~2.0.0",
...@@ -4240,6 +4250,7 @@ ...@@ -4240,6 +4250,7 @@
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"fs.realpath": "^1.0.0", "fs.realpath": "^1.0.0",
"inflight": "^1.0.4", "inflight": "^1.0.4",
...@@ -4253,7 +4264,8 @@ ...@@ -4253,7 +4264,8 @@
"version": "4.1.11", "version": "4.1.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
"integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
"dev": true "dev": true,
"optional": true
}, },
"har-schema": { "har-schema": {
"version": "1.0.5", "version": "1.0.5",
...@@ -4297,7 +4309,8 @@ ...@@ -4297,7 +4309,8 @@
"version": "2.16.3", "version": "2.16.3",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
"integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
"dev": true "dev": true,
"optional": true
}, },
"http-signature": { "http-signature": {
"version": "1.1.1", "version": "1.1.1",
...@@ -4316,6 +4329,7 @@ ...@@ -4316,6 +4329,7 @@
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"once": "^1.3.0", "once": "^1.3.0",
"wrappy": "1" "wrappy": "1"
...@@ -4325,7 +4339,8 @@ ...@@ -4325,7 +4339,8 @@
"version": "2.0.3", "version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
"dev": true "dev": true,
"optional": true
}, },
"ini": { "ini": {
"version": "1.3.4", "version": "1.3.4",
...@@ -4339,6 +4354,7 @@ ...@@ -4339,6 +4354,7 @@
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"number-is-nan": "1.0.1" "number-is-nan": "1.0.1"
} }
...@@ -4354,7 +4370,8 @@ ...@@ -4354,7 +4370,8 @@
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true "dev": true,
"optional": true
}, },
"isstream": { "isstream": {
"version": "0.1.2", "version": "0.1.2",
...@@ -4455,6 +4472,7 @@ ...@@ -4455,6 +4472,7 @@
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"brace-expansion": "1.1.7" "brace-expansion": "1.1.7"
} }
...@@ -4471,6 +4489,7 @@ ...@@ -4471,6 +4489,7 @@
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"minimist": "0.0.8" "minimist": "0.0.8"
} }
...@@ -4550,6 +4569,7 @@ ...@@ -4550,6 +4569,7 @@
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"wrappy": "1" "wrappy": "1"
} }
...@@ -4583,7 +4603,8 @@ ...@@ -4583,7 +4603,8 @@
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true "dev": true,
"optional": true
}, },
"performance-now": { "performance-now": {
"version": "0.2.0", "version": "0.2.0",
...@@ -4596,7 +4617,8 @@ ...@@ -4596,7 +4617,8 @@
"version": "1.0.7", "version": "1.0.7",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
"integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
"dev": true "dev": true,
"optional": true
}, },
"punycode": { "punycode": {
"version": "1.4.1", "version": "1.4.1",
...@@ -4639,6 +4661,7 @@ ...@@ -4639,6 +4661,7 @@
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz",
"integrity": "sha1-z3jsb0ptHrQ9JkiMrJfwQudLf8g=", "integrity": "sha1-z3jsb0ptHrQ9JkiMrJfwQudLf8g=",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"buffer-shims": "~1.0.0", "buffer-shims": "~1.0.0",
"core-util-is": "~1.0.0", "core-util-is": "~1.0.0",
...@@ -4685,6 +4708,7 @@ ...@@ -4685,6 +4708,7 @@
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz",
"integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"glob": "^7.0.5" "glob": "^7.0.5"
} }
...@@ -4693,7 +4717,8 @@ ...@@ -4693,7 +4717,8 @@
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz",
"integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=", "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=",
"dev": true "dev": true,
"optional": true
}, },
"semver": { "semver": {
"version": "5.3.0", "version": "5.3.0",
...@@ -4758,6 +4783,7 @@ ...@@ -4758,6 +4783,7 @@
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"code-point-at": "^1.0.0", "code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0", "is-fullwidth-code-point": "^1.0.0",
...@@ -4769,6 +4795,7 @@ ...@@ -4769,6 +4795,7 @@
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz",
"integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=", "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"safe-buffer": "^5.0.1" "safe-buffer": "^5.0.1"
} }
...@@ -4785,6 +4812,7 @@ ...@@ -4785,6 +4812,7 @@
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"ansi-regex": "^2.0.0" "ansi-regex": "^2.0.0"
} }
...@@ -4801,6 +4829,7 @@ ...@@ -4801,6 +4829,7 @@
"resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
"integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
"dev": true, "dev": true,
"optional": true,
"requires": { "requires": {
"block-stream": "*", "block-stream": "*",
"fstream": "^1.0.2", "fstream": "^1.0.2",
...@@ -4862,7 +4891,8 @@ ...@@ -4862,7 +4891,8 @@
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
"dev": true "dev": true,
"optional": true
}, },
"uuid": { "uuid": {
"version": "3.0.1", "version": "3.0.1",
...@@ -4895,7 +4925,8 @@ ...@@ -4895,7 +4925,8 @@
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true "dev": true,
"optional": true
} }
} }
}, },
......
...@@ -16,3 +16,11 @@ export function saveNewMemberObject(obj) { ...@@ -16,3 +16,11 @@ export function saveNewMemberObject(obj) {
}); });
} }
export function staffImport(form) {
return fetch({
url: '/api/admin/postion/admin/excel/import',
method: 'post',
data:form
});
}
...@@ -79,4 +79,40 @@ export function userPosition(obj) { ...@@ -79,4 +79,40 @@ export function userPosition(obj) {
url: '/api/admin/appUsersManage/user_position?id='+obj.id+'&positionId='+obj.positionId, url: '/api/admin/appUsersManage/user_position?id='+obj.id+'&positionId='+obj.positionId,
method: 'put', method: 'put',
}); });
} }
\ No newline at end of file
// 用户身份录入列表
export function staffList(obj) {
return fetch({
url: '/api/admin/postion/admin/page',
method: 'post',
data: obj
});
}
// 身份列表
export function postions(obj) {
return fetch({
url: '/api/admin/postion/admin/postions',
method: 'get',
data: obj
});
}
// 添加员工
export function addEditor(obj) {
return fetch({
url: '/api/admin/postion/admin/add',
method: 'post',
data: obj
});
}
//删除员工
export function deleteStaffs(id) {
return fetch({
url: '/api/admin/postion/admin/' + id,
method: 'delete'
});
}
...@@ -426,6 +426,12 @@ export const asyncRouterMap = [{ ...@@ -426,6 +426,12 @@ export const asyncRouterMap = [{
component: _import('order/memberOrderInfo/index'), component: _import('order/memberOrderInfo/index'),
name: '会员订单管理', name: '会员订单管理',
authority: 'memberOrderInfo' authority: 'memberOrderInfo'
},
{
path: 'orderStatistics',
component: _import('order/orderStatistics/index'),
name: '会员订单统计',
authority: 'orderStatistics'
} }
] ]
}, },
...@@ -478,7 +484,7 @@ export const asyncRouterMap = [{ ...@@ -478,7 +484,7 @@ export const asyncRouterMap = [{
{ {
path: 'memberManagement', path: 'memberManagement',
component: _import('userManagement/memberManagement/index'), component: _import('userManagement/memberManagement/index'),
name: '会员管理', name: '会员管理1',
authority: 'memberManagement' authority: 'memberManagement'
}, },
{ {
...@@ -491,7 +497,12 @@ export const asyncRouterMap = [{ ...@@ -491,7 +497,12 @@ export const asyncRouterMap = [{
path:'imCustomerServiceManger', path:'imCustomerServiceManger',
component: _import('userManagement/imCustomerServiceManger/cusomterServiceList'), component: _import('userManagement/imCustomerServiceManger/cusomterServiceList'),
name:'客服列表', name:'客服列表',
authority: 'imCustomerServiceManger' authority: 'imCustomerServiceManger'
},{
path: 'employeesInput',
component: _import('userManagement/employeesInput'),
name: '员工录入',
authority: 'employeesInput'
} }
] ]
}, },
...@@ -528,6 +539,21 @@ export const asyncRouterMap = [{ ...@@ -528,6 +539,21 @@ export const asyncRouterMap = [{
} }
] ]
}, },
{
path: '/summit',
component: Layout,
name: '峰会管理',
icon: 'setting',
authority: 'summit',
children: [
{
path: 'summitList',
component: _import('summit/summitList/index'),
name: '峰会列表',
authority: 'summitList'
}
]
},
{ {
path: '/cunponManagements', path: '/cunponManagements',
component: Layout, component: Layout,
......
...@@ -546,6 +546,7 @@ ...@@ -546,6 +546,7 @@
} }
}, },
resetTemp() { resetTemp() {
this.membersName = undefined;
this.editCompanyId = undefined; this.editCompanyId = undefined;
this.form = { this.form = {
username: undefined, username: undefined,
...@@ -563,6 +564,7 @@ ...@@ -563,6 +564,7 @@
dataLimit: undefined,//数据权限 dataLimit: undefined,//数据权限
members: [], members: [],
}; };
// this.form = { // this.form = {
// username: undefined, // username: undefined,
// name: undefined, // name: undefined,
......
<template>
<div class="app-container calendar-list-container">
<div class="filter-container">
<el-form ref="queryForm" :model="listQuery" label-width="100px">
<el-row>
<el-col :span="5">
<el-form-item label="统计时间:">
<el-date-picker
v-model="listQuery.time"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
@change="changeTime"
placeholder="请选择统计时间"
></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="统计方式:" class="wayMsg">
<span
v-for="(item,index) in way"
:key="index"
:class="{active:isactive==item.label}"
@click="changeWay(item.label)"
>{{item.label}}</span>
</el-form-item>
</el-col>
<el-col :span="5" style="float:right;text-align:right">
<el-button class="filter-item" type="primary" v-waves @click="handleFilter">导出为Excel</el-button>
</el-col>
</el-row>
</el-form>
<el-table
:key="tableKey"
:data="list"
border
fit
highlight-current-row
style="width: 100%"
>
<el-table-column align="center" label="时间">
<template scope="scope">
<span>{{scope.row.id}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="普通会员购买量">
<template scope="scope">
<span>{{scope.row.no}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="支付金额(普通会员)">
<template scope="scope">
<span>{{scope.row.name}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="黄金会员购买量">
<template scope="scope">
<span>{{scope.row.name}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="支付金额(普通会员)">
<template scope="scope">
<span>{{scope.row.name}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="支付金额(黄金会员)">
<template scope="scope">
<span>{{scope.row.name}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="钻石会员购买量">
<template scope="scope">
<span>{{scope.row.name}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="支付金额(钻石会员)">
<template scope="scope">
<span>{{scope.row.name}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="总支付金额">
<template scope="scope">
<span>{{scope.row.name}}</span>
</template>
</el-table-column>
</el-table>
</div>
</div>
</template>
<script>
export default {
created() {},
data() {
return {
// 统计时间筛选
listQuery: {
time: "null"
},
//统计方式筛选
way: [
{
label: "全部",
id: "0"
},
{
label: "日统计",
id: "1"
},
{
label: "周统计",
id: "2"
},
{
label: "月统计",
id: "3"
}
],
isactive: "全部"
};
},
methods: {
//统计时间筛选
changeTime() {
console.log("----");
},
//统计方式筛选
changeWay(val) {
this.isactive = val;
},
//导出
handleFilter() {}
}
};
</script>
<style>
.wayMsg span {
margin: 10px;
cursor: pointer;
}
.active {
color: #409eff;
font-weight: bold;
}
</style>
\ No newline at end of file
<template>
<div class="app-container calendar-list-container">
<div class="filter-container">
<el-form :model="listQuery" label-width="100px">
<el-row>
<el-col :span="4">
<el-form-item label="峰会名称">
<el-input v-model.number="listQuery.name" placeholder="请输入手机号"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="开始时间">
<el-date-picker v-model="listQuery.time" type="date" placeholder="选择日期"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="状态">
<el-select class="filter-item" v-model="listQuery.status" placeholder="请选员工状态">
<el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-option
v-for="(item,index) in statusList "
:key="index"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">搜索</el-button>
<el-button
class="filter-item"
type="primary"
v-waves
icon="delete"
@click="cleaningQuery"
>清除搜索条件</el-button>
<el-button
class="filter-item"
type="primary"
v-waves
icon="el-icon-plus"
@click="creatSummit"
>创建峰会</el-button>
</el-form>
<el-table :data="list" border fit highlight-current-row style="width: 100%">
<el-table-column prop="name" label="姓名" width="180" align="center"></el-table-column>
<el-table-column prop="phone" label="手机号" align="center"></el-table-column>
<el-table-column prop="positionName" label="身份" align="center"></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="soldOut(scope.row)"
>下架</el-button>
<el-button
size="small"
class="el-button el-button--text el-button--small"
@click="information(scope.row)"
>报名信息</el-button>
<el-button
size="small"
class="el-button el-button--text el-button--small"
@click="basics(scope.row)"
>基础信息</el-button>
<el-button
size="small"
class="el-button el-button--text el-button--small"
@click="applyPage(scope.row)"
>报名页面</el-button>
<el-button
size="small"
class="el-button el-button--text el-button--small"
@click="lookPage(scope.row)"
>回顾页面</el-button>
<el-button
size="small"
class="el-button el-button--text el-button--small"
@click="deleteMsg(scope.row)"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<el-dialog
:title="summitTitle"
:visible.sync="bulkUploadMember"
class="member"
@close="closeAdd"
>
<el-form
:model="ruleForm"
:rules="rules"
ref="ruleForm"
label-width="100px"
class="demo-ruleForm"
>
<el-form-item label="标题:" prop="title">
<el-input v-model="ruleForm.title"></el-input>
</el-form-item>
<el-form-item label="封面图:" prop="title">
<el-upload
class="avatar-uploader"
action="https://jsonplaceholder.typicode.com/posts/"
:show-file-list="false"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
>
<img v-if="imageUrl" :src="imageUrl" class="avatar" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
</el-form-item>
<el-form-item label="峰会时间:" prop="title">
<el-date-picker
v-model="ruleForm.time"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')">确定</el-button>
<el-button @click="bulkUploadMember = false">取消</el-button>
</el-form-item>
</el-form>
</el-dialog>
</div>
</div>
</template>
<script>
export default {
created() {},
data() {
return {
imageUrl: "",
//快捷筛选
listQuery: {
name: "",
time: null,
status: null
},
//峰会状态
statusList: [],
// 表格数据
list: [],
summitTitle: "创建峰会",
bulkUploadMember: true,
ruleForm: {
title: "" //标题
}, //创建峰会表单
rules: {
title: [{ required: true, message: "请输入标题", trigger: "blur" }]
} //创建峰会表单验证
};
},
methods: {
//提交峰会
submitForm(formName) {
this.$refs[formName].validate(valid => {
if (valid) {
alert("submit!");
} else {
console.log("error submit!!");
return false;
}
});
},
handleAvatarSuccess() {},
beforeAvatarUpload() {},
//搜索
handleFilter() {},
//清空搜索条件
cleaningQuery() {},
//创建峰会
creatSummit() {
bulkUploadMember = true;
},
//下架
soldOut() {},
//报名信息
information() {},
//基础信息
basics() {},
//报名信息
applyPage() {},
//回顾页面
lookPage() {},
//删除信息
deleteMsg() {},
//监听峰会弹窗关闭
closeAdd() {}
}
};
</script>
<style>
.avatar-uploader .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
}
.avatar-uploader .el-upload:hover {
border-color: #409eff;
}
.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 178px;
height: 178px;
line-height: 178px;
text-align: center;
}
.avatar {
width: 178px;
height: 178px;
display: block;
}
</style>
\ No newline at end of file
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
<el-date-picker <el-date-picker
v-model="item.startTime" v-model="item.startTime"
type="date" type="date"
:disabled="!item.dis"
@change="changeStartTime(item)" @change="changeStartTime(item)"
format="yyyy-MM-dd" format="yyyy-MM-dd"
placeholder="选择日期"> placeholder="选择日期">
...@@ -140,6 +141,8 @@ ...@@ -140,6 +141,8 @@
stock: 0 stock: 0
}; };
this.list.push(this.t); this.list.push(this.t);
this.list[this.list.length-1].dis = 'dis'
console.log(this.list)
}, },
/** /**
* 确定 * 确定
......
<template>
<div class="app-container calendar-list-container">
<div class="filter-container">
<el-form ref="queryForm" :model="listQuery" label-width="100px">
<el-row>
<el-col :span="4">
<el-form-item label="手机号">
<el-input v-model.number="listQuery.phone" placeholder="请输入手机号"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="姓名">
<el-input v-model.number="listQuery.name" placeholder="请输入姓名"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="状态">
<el-select class="filter-item" v-model="listQuery.status" placeholder="请选员工状态">
<el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-option
v-for="(item,index) in statusList "
:key="index"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-button class="filter-item" type="primary" v-waves icon="search" @click="handleFilter">搜索</el-button>
<el-button
class="filter-item"
type="primary"
v-waves
icon="delete"
@click="cleaningQuery"
>清除搜索条件</el-button>
<el-button class="filter-item" type="primary" v-waves @click="addStaff">新增员工</el-button>
<el-button class="filter-item" type="primary" v-waves @click="toLoad">批量导入员工</el-button>
<el-table
:key="tableKey"
:data="list"
v-loading="listLoading"
border
fit
highlight-current-row
style="width: 100%"
>
<el-table-column prop="name" label="姓名" width="180" align="center"></el-table-column>
<el-table-column prop="phone" label="手机号" align="center"></el-table-column>
<el-table-column prop="positionName" label="身份" align="center"></el-table-column>
<el-table-column label="状态" align="center">
<template scope="scope">
<span v-if="scope.row.status == 1">已核销</span>
<span v-else>未核销</span>
</template>
</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="editorStaff(scope.row)"
>编辑</el-button>
<el-button
size="small"
class="el-button el-button--text el-button--small"
@click="deleteStaff(scope.row)"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="listQuery.page"
:page-sizes="[10,20,30, 50]"
:page-size="listQuery.limit"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
style="margin-top:20px"
></el-pagination>
<!-- 新增编辑员工 -->
<el-dialog
:title="staffTitle"
:visible.sync="bulkUploadMember"
class="member"
@close="closeAdd"
>
<el-form :model="staffTitleFrom" ref="userMembership" :rules="rules" label-width="100px">
<el-form-item label="员工姓名">
<el-input v-model.number="staffTitleFrom.name" placeholder="请输入姓名"></el-input>
</el-form-item>
<el-form-item label="手机号">
<el-input v-model.number="staffTitleFrom.phone" placeholder="请输入手机号"></el-input>
</el-form-item>
<el-form-item label="员工身份">
<el-select
class="filter-item"
v-model="staffTitleFrom.positionId"
placeholder="请选择员工身份"
style="width:100%"
>
<el-option :key="undefined" label="全部" :value="undefined"></el-option>
<el-option
v-for="(item,index) in postionsList "
:key="index"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<div style="text-align:center">
<el-button type="primary" @click="confirm">确 定</el-button>
<el-button type="primary" @click="bulkUploadMember = false">取消</el-button>
</div>
</el-form>
</el-dialog>
<!--批量导入会员窗口-->
<el-dialog title="导入会员" :visible.sync="tolead">
<el-form :model="fileForm">
<el-form-item label="上传文件" label-width="80px">
<el-button type="primary" icon="el-icon-download">
<a
class="el-icon-download"
href="https://mgmt.dfangche.com/axshare/userposition.xlsx"
>下载模板</a>
</el-button>
<el-upload
ref="uploadExcel"
:limit="limitNum"
action="1111"
:headers="getHeaderWithToken"
accept=".xlsx"
:http-request="upLoad"
:on-remove="handleRemove"
:before-remove="beforeRemove"
:before-upload="beforeUploadFile"
:on-change="fileChange"
:on-exceed="exceedFile"
:file-list="fileList"
>
<el-button size="small" type="primary" icon="el-icon-edit">
上传文件
<i class="el-icon-upload el-icon--right"></i>
</el-button>
<div slot="tip" class="el-upload__tip">只能上传xlsx(Excel2007以上版本)文件,且不超过10M</div>
</el-upload>
<el-button
size="small"
class="filter-item"
type="primary"
@click="cancelNotDeleteForm"
>取消</el-button>
</el-form-item>
</el-form>
</el-dialog>
<!-- 提示 -->
<el-dialog title="上传提示" :visible.sync="uploadHiut">
<p>
上传成功:
<b>{{uploadListHiut.success}}</b>条,上传失败:
<b>{{uploadListHiut.error}}</b>
</p>
<ul class="defeated">
<li v-for="(item,index) in uploadListHiut.uploadList" :key="index">
<p>
失败行数:
<span>{{item.num}}</span>,失败原因:
<span>{{item.msg}}</span>
</p>
</li>
</ul>
</el-dialog>
</div>
</div>
</template>
<script>
import {
staffList,
postions,
addEditor,
deleteStaffs
} from "src/api/admin/userManagement/index";
import { getToken } from "src/utils/auth";
import { mapGetters } from "vuex";
import { staffImport } from "src/api/admin/UserMember/index";
export default {
created() {
this.getList();
this.postionsFn();
},
computed: {
...mapGetters(["elements"]),
/**
* 获取token
*/
getHeaderWithToken() {
return { Authorization: getToken() };
}
},
data() {
return {
activeId: "",
uploadListHiut: {
uploadList: [],
success: "",
error: ""
},
uploadHiut: false,
fileList: [],
BASE_API: process.env.BASE_API,
limitNum: 1,
fileForm: {
file: ""
},
tolead: false,
listQuery: {
name: "",
phone: "",
status: null,
page: 1,
limit: 10
},
total: null,
tableKey: 0,
list: [],
listLoading: true,
statusList: [
{
label: "未核销",
value: "0"
},
{
label: "已核销",
value: "1"
}
],
postionsList: [],
staffTitle: "新增员工",
bulkUploadMember: false,
staffTitleFrom: {
phone: "",
name: "",
positionId: ""
},
rules: {}
};
},
methods: {
//新增,编辑员工弹窗关闭
closeAdd() {
this.staffTitleFrom = {
phone: "",
name: "",
positionId: ""
};
},
upLoad(file) {
var form = new FormData();
// 文件对象
form.append("file", file.file);
staffImport(form).then(res => {
console.log(res);
this.uploadHiut = true;
(this.uploadListHiut = {
uploadList: res.data.data,
success: res.data.success,
error: res.data.error
}),
this.getList();
});
},
//excel上传
handleRemove(file, fileList) {
//console.log(file, fileList);
},
handlePreview(file) {
//console.log(file);
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`);
},
// 文件超出个数限制时的钩子
exceedFile(files, fileList) {
this.$notify.warning({
title: "警告",
message: `只能选择 ${
this.limitNum
} 个文件,当前共选择了 ${files.length + fileList.length} 个`
});
},
// 文件状态改变时的钩子
fileChange(file, fileList) {
//console.log("change");
//console.log(file);
this.fileForm.file = file.raw;
//console.log(this.fileForm.file);
// console.log(fileList);
},
// 上传文件之前的钩子, 参数为上传的文件,若返回 false 或者返回 Promise 且被 reject,则停止上传
beforeUploadFile(file) {
//console.log("before upload");
//console.log(file);
let extension = file.name.substring(file.name.lastIndexOf(".") + 1);
let size = file.size / 1024 / 1024;
if (extension !== "xlsx") {
this.$notify.warning({
title: "警告",
message: `只能上传Excel 2007以上版本(即后缀是.xlsx)的文件`
});
}
if (size > 10) {
this.$notify.warning({
title: "警告",
message: `文件大小不得超过10M`
});
}
},
cancelNotDeleteForm() {
this.tolead = false;
this.$refs.uploadExcel.clearFiles();
},
//员工列表
getList() {
staffList(this.listQuery).then(data => {
this.listLoading = true;
if (data.status == 200) {
console.log(data);
this.list = data.data.data;
this.total = data.data.totalCount;
this.listLoading = false;
}
});
},
handleSizeChange(val) {
this.listQuery.limit = val;
this.getList();
},
handleCurrentChange(val) {
this.listQuery.page = val;
this.getList();
},
//搜索
handleFilter() {
this.getList();
},
//清空搜索条件
cleaningQuery() {
this.listQuery.page = 1;
this.listQuery.limit = 10;
this.listQuery.name = "";
this.listQuery.phone = "";
this.listQuery.status = "";
this.getList();
},
//新增员工
addStaff() {
this.staffTitle == "新增员工"
this.bulkUploadMember = true;
},
//批量导入员工
toLoad() {
this.tolead = true;
},
//编辑员工
editorStaff(row) {
this.activeId = row.id;
this.staffTitle = "编辑员工";
this.bulkUploadMember = true;
this.staffTitleFrom = {
phone: row.phone,
name: row.name,
positionId: row.positionId
};
},
//删除员工
deleteStaff(row) {
this.$confirm("确定删除吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
deleteStaffs(row.id).then(data => {
if (data.status == 200) {
this.$notify({
title: "成功",
message: "删除成功",
type: "success",
duration: 2000
});
this.getList();
} else {
this.$notify({
title: "失败",
message: "删除失败",
type: "failed",
duration: 2000
});
}
});
});
},
//确定
confirm(formName) {
if (this.staffTitle == "新增员工") {
addEditor(this.staffTitleFrom).then(data => {
if (data.status == 200) {
this.$notify({
title: "成功",
message: "新增成功",
type: "success",
duration: 2000
});
this.bulkUploadMember = false;
this.getList();
}
});
} else {
this.staffTitleFrom.id = this.activeId;
addEditor(this.staffTitleFrom).then(data => {
if (data.status == 200) {
this.$notify({
title: "成功",
message: "编辑成功",
type: "success",
duration: 2000
});
this.bulkUploadMember = false;
this.getList();
}
});
}
},
//身份列表
postionsFn() {
postions().then(data => {
//console.log(data);
if (data.status == 200) {
this.postionsList = data.data;
}
});
},
resetForm(formName) {
this.$refs[formName].resetFields();
}
}
};
</script>
<style>
.member .el-dialog--small {
width: 500px;
}
.defeated {
padding: 0;
}
.defeated li {
list-style: none;
}
</style>
...@@ -1473,7 +1473,7 @@ ...@@ -1473,7 +1473,7 @@
*/ */
handleRet(row) { handleRet(row) {
this.arrivalPicList = []; this.arrivalPicList = [];
this.arrivalForm.bookRecordId = row.id this.arrivalForm.bookRecordId = row.id
this.arrivalForm.vehicleId = row.vehicleId this.arrivalForm.vehicleId = row.vehicleId
this.arrivalForm.numberPlate = row.numberPlate this.arrivalForm.numberPlate = row.numberPlate
this.arrivalForm.arrivalDate = Date(); this.arrivalForm.arrivalDate = Date();
......
<!--车辆排班 保养弹框--> <!--车辆排班 保养弹框-->
<template> <template>
<el-dialog title="安排用车" :visible.sync="anpai" class="user-car"> <el-dialog title="安排用车" :visible.sync="anpai" class="user-car">
<el-form :model="form" ref="form" :rules="rules" label-width="140px"> <el-form :model="form" ref="form" :rules="rules" label-width="140px">
<el-form-item label="车牌号"> <el-form-item label="车牌号">
<span>{{currentItem.item.numberPlate}}</span> <span>{{currentItem.item.numberPlate}}</span>
</el-form-item> </el-form-item>
...@@ -29,14 +29,23 @@ ...@@ -29,14 +29,23 @@
<span v-if="currentItem.item.vehicleModel.keyword">{{currentItem.item.vehicleModel.keyword}}</span> <span v-if="currentItem.item.vehicleModel.keyword">{{currentItem.item.vehicleModel.keyword}}</span>
</el-form-item> </el-form-item>
<el-form-item label="选择时间" prop="times"> <el-form-item label="选择时间" prop="times">
<el-date-picker <!-- <el-date-picker
v-model="form.times" v-model="form.times"
type="datetimerange" type="datetimerange"
:picker-options="pickerOptions0" :picker-options="pickerOptions0"
format="yyyy-MM-dd HH:00:00" format="yyyy-MM-dd HH:00:00"
value-format="yyyy-MM-dd HH:00:00" value-format="yyyy-MM-dd HH:00:00"
placeholder="选择时间范围"> placeholder="选择时间范围"
</el-date-picker> ></el-date-picker>-->
<el-time-picker
is-range
v-model="form.times"
range-separator="-"
start-placeholder="开始时间"
end-placeholder="结束时间"
placeholder="选择时间范围"
value-format="HH-mm-ss"
></el-time-picker>
</el-form-item> </el-form-item>
<el-form-item label="还车分公司" prop="arrivalBranchCompanyName"> <el-form-item label="还车分公司" prop="arrivalBranchCompanyName">
<el-autocomplete <el-autocomplete
...@@ -59,9 +68,8 @@ ...@@ -59,9 +68,8 @@
<el-option label="客户用车" value="9"></el-option> <el-option label="客户用车" value="9"></el-option>
<el-option label="其他" value="10"></el-option> <el-option label="其他" value="10"></el-option>
<!--<el-option v-for="item in getAllUseType() " :key="item.code" :label="item.val"--> <!--<el-option v-for="item in getAllUseType() " :key="item.code" :label="item.val"-->
<!--:value="item.code"></el-option>--> <!--:value="item.code"></el-option>-->
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="保养项目" prop="upkeepIds" v-if="form.bookType==6"> <el-form-item label="保养项目" prop="upkeepIds" v-if="form.bookType==6">
...@@ -72,14 +80,29 @@ ...@@ -72,14 +80,29 @@
<el-form-item label="路线" v-if="form.bookType==5" required> <el-form-item label="路线" v-if="form.bookType==5" required>
<el-select class="filter-item" placeholder="请选择路线" v-model="goodId" @change="goodChange"> <el-select class="filter-item" placeholder="请选择路线" v-model="goodId" @change="goodChange">
<el-option :key="undefined" label="无" :value="undefined"></el-option> <el-option :key="undefined" label="无" :value="undefined"></el-option>
<el-option v-for="item in goodList" :key="item.goodId" :label="item.goodName" :value="item.goodId"></el-option> <el-option
v-for="item in goodList"
:key="item.goodId"
:label="item.goodName"
:value="item.goodId"
></el-option>
</el-select> </el-select>
<el-select class="filter-item" placeholder="请选择出车公司" v-model="siteId" @change="siteChange"> <el-select class="filter-item" placeholder="请选择出车公司" v-model="siteId" @change="siteChange">
<el-option :key="undefined" label="无" :value="undefined"></el-option> <el-option :key="undefined" label="无" :value="undefined"></el-option>
<el-option v-for="item in siteList" :key="item.siteId" :label="item.siteName" :value="item.siteId"></el-option> <el-option
v-for="item in siteList"
:key="item.siteId"
:label="item.siteName"
:value="item.siteId"
></el-option>
</el-select> </el-select>
<el-select class="filter-item" placeholder="请选择出发时间" v-model="verificationId"> <el-select class="filter-item" placeholder="请选择出发时间" v-model="verificationId">
<el-option v-for="item in timeList" :key="item.verificationId" :label="item.time" :value="item.verificationId"></el-option> <el-option
v-for="item in timeList"
:key="item.verificationId"
:label="item.time"
:value="item.verificationId"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="使用人" prop="vehicleUsername"> <el-form-item label="使用人" prop="vehicleUsername">
...@@ -94,14 +117,18 @@ ...@@ -94,14 +117,18 @@
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="cancel()">取消</el-button> <el-button @click="cancel()">取消</el-button>
<el-button type="primary" @click="handelOk('form')" v-if="vehicleSchedulManage_btn_add_plan">确 定</el-button> <el-button
type="primary"
@click="handelOk('form')"
v-if="vehicleSchedulManage_btn_add_plan"
>确 定</el-button>
</div> </div>
</el-dialog> </el-dialog>
</template> </template>
<style> <style>
.user-car .el-row{ .user-car .el-row {
margin-bottom: 0; margin-bottom: 0;
} }
</style> </style>
<script> <script>
import {mapGetters} from 'vuex'; import {mapGetters} from 'vuex';
...@@ -146,13 +173,7 @@ ...@@ -146,13 +173,7 @@
if (!value) { if (!value) {
return callback(new Error('手机号不能为空')); return callback(new Error('手机号不能为空'));
} else { } else {
const reg = /^[1](([3][0-9])|([4][5,7,9])|([5][0-9])|([6][6])|([7][1,2,3,5,6,7,8])|([8][0-9])|([9][1,8,9]))[0-9]{8}$/ return callback(new Error("请输入正确的手机号"));
console.log(reg.test(value));
if (reg.test(value)) {
callback();
} else {
return callback(new Error('请输入正确的手机号'));
}
} }
}; };
return { return {
...@@ -205,26 +226,83 @@ ...@@ -205,26 +226,83 @@
bookType:{ bookType:{
type: 'string', type: 'string',
required: true, required: true,
message: '请选择用途', message: "请输入使用人姓名",
trigger: 'change' trigger: "blur"
}, },
times: { {
required: true, min: 0,
message: '请选择时间', max: 20,
message: "长度小于 20 个字符",
trigger: "blur"
} }
],
arrivalBranchCompanyName: {
type: "string",
required: true,
message: "请选择还车公司",
trigger: "change"
}, },
vehicleSchedulManage_btn_add_plan: false,//申请预定 vehicleUserPhone: {
validator: checkPhone,
trigger: "blur",
required: true
},
bookType: {
type: "string",
required: true,
message: "请选择用途",
trigger: "change"
},
times: {
required: true,
message: "请选择时间"
}
},
vehicleSchedulManage_btn_add_plan: false //申请预定
};
},
created() {
console.log(this.currentItem);
this.vehicleSchedulManage_btn_add_plan = this.elements[
"vehicleSchedulManage:btn_add_plan"
];
getAll().then(response => {
this.allCompaniesArr = response.data;
});
getAllCompany(codeAndBranchCompany => {
this.allCompanies = codeAndBranchCompany;
});
getUpkeepAll().then(response => {
this.upkeepList = response.data;
});
},
computed: {
...mapGetters(["elements"])
},
watch: {
anpai(newValue, oldValue) {
if (!newValue) {
this.$emit("anpaiDialogEvent", false);
} }
}
},
mounted() {
this.anpai = true;
},
methods: {
/**
* 还车分公司
*/
handleSelectArrivalCompanyName(item) {
this.form.arrivalBranchCompanyId = item.id;
this.form.arrivalBranchCompanyName = item.name;
console.log(item);
}, },
created() { querySearch(queryString, cb) {
console.log(this.currentItem); let selectArry = [];
this.vehicleSchedulManage_btn_add_plan = this.elements['vehicleSchedulManage:btn_add_plan']; this.allCompaniesArr.map(function(item) {
getAll() item.value = item.name;
.then(response => { selectArry.push(item);
this.allCompaniesArr = response.data;
})
getAllCompany(codeAndBranchCompany => {
this.allCompanies = codeAndBranchCompany;
}); });
getUpkeepAll().then(response => { getUpkeepAll().then(response => {
this.upkeepList = response.data this.upkeepList = response.data
...@@ -238,15 +316,16 @@ ...@@ -238,15 +316,16 @@
'elements', 'elements',
]), ]),
}, },
watch: { createFilter(queryString) {
anpai(newValue, oldValue){ return restaurant => {
if(!newValue){ return restaurant.name.indexOf(queryString.toLowerCase()) != -1;
this.$emit("anpaiDialogEvent", false); };
}
},
}, },
mounted() { /**
this.anpai = true; * 弹框-取消
* */
cancel() {
this.$emit("anpaiDialogEvent", false);
}, },
methods: { methods: {
goodChange(){ goodChange(){
...@@ -349,9 +428,35 @@ ...@@ -349,9 +428,35 @@
} }
}) })
} }
}) let params = {
}, vehicleId: this.currentItem.item.id,
bookStartDate:
formatDate(this.form.times[0], "hh:mm:ss"), //预定开始时间
bookEndDate:
formatDate(this.form.times[1], "hh:mm:ss"), //预定结束时间
retCompany: this.form.arrivalBranchCompanyId, //还车分公司
bookType: this.form.bookType, //预定车辆用途类型
vehicleUsername: this.form.vehicleUsername, //使用人姓名
vehicleUserPhone: this.form.vehicleUserPhone, //使用人电话
remark: this.form.remark, //说明
upkeepIds:
this.form.bookType == 6 ? this.form.upkeepIds.join(",") : "" //保养类型
};
bookPlan(params).then(response => {
if (response.status === 200) {
this.$emit("anpaiDialogEvent", true);
} else {
this.$notify({
title: "失败",
message: response.message,
type: "error",
duration: 2000
});
}
});
}
});
} }
} }
};
</script> </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