Explorar el Código

Merge branch 'Test' into 'master'

Test

See merge request crowd-2019/crowd-test-service-front!46
郭超 hace 5 años
padre
commit
26a0315a47

+ 2 - 1
build/build.js

@@ -11,7 +11,8 @@ const webpack = require('webpack')
 const config = require('../config')
 const webpackConfig = require('./webpack.prod.conf')
 
-const spinner = ora('building for production...')
+// const spinner = ora('building for production...')
+const spinner = ora('building for' + process.env.NODE_ENV + 'of' + process.env.env_config + 'mode...')
 spinner.start()
 
 rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {

+ 2 - 2
build/webpack.prod.conf.js

@@ -11,8 +11,8 @@ const ExtractTextPlugin = require('extract-text-webpack-plugin')
 const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
 const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
 
-const env = require('../config/prod.env')
-
+// const env = require('../config/prod.env')
+const env = config.build[process.env.env_config + 'Env']
 const webpackConfig = merge(baseWebpackConfig, {
   module: {
     rules: utils.styleLoaders({

+ 1 - 0
config/dev.env.js

@@ -4,6 +4,7 @@ const prodEnv = require('./prod.env')
 
 module.exports = merge(prodEnv, {
   NODE_ENV: '"development"',
+  ENV_CONFIG: "'dev'",
   API_ROOT: '"//crowd.dev.mooctest.net"',
   LOGIN_URL: '"http://user.mooctest.net:8081/page/login?redirect=http%3a%2f%2fcrowd.dev.mooctest.net%2f%23%2fmine"'
 })

+ 3 - 0
config/index.js

@@ -44,6 +44,9 @@ module.exports = {
   },
 
   build: {
+    devEnv: require('./dev.env'),
+    testEnv: require('./test.env'),
+    prodEnv: require('./prod.env'),
     // Template for index.html
     index: path.resolve(__dirname, '../dist/index.html'),
 

+ 1 - 0
config/prod.env.js

@@ -1,6 +1,7 @@
 'use strict'
 module.exports = {
   NODE_ENV: '"production"',
+  ENV_CONFIG: "'prod'",
   API_ROOT: '"//www.cofortest.com"',
   LOGIN_URL:'"http://user.cofortest.com/page/login?redirect=http%3a%2f%2fwww.cofortest.com%2f%23%2fmine"'
 }

+ 4 - 3
config/test.env.js

@@ -1,6 +1,7 @@
 'use strict'
 module.exports = {
-  NODE_ENV: '"production"',
-  API_ROOT: '"//crowd.mooctest.net"',
-  LOGIN_URL:'"http://user.mooctest.net:8081/page/login?redirect=http%3a%2f%2fcrowd.mooctest.net%2f%23%2fmine"'
+  NODE_ENV: '"test"',
+  ENV_CONFIG: "'test'",
+  API_ROOT: '"//crowd.mooctest.net:8083"',
+  LOGIN_URL:'"http://user.mooctest.net:8081/page/login?redirect=http%3a%2f%2fcrowd.mooctest.net:8083%2f%23%2fmine"'
 }

+ 42 - 42
package-lock.json

@@ -168,7 +168,7 @@
     },
     "@types/q": {
       "version": "1.5.2",
-      "resolved": "https://registry.npm.taobao.org/@types/q/download/@types/q-1.5.2.tgz",
+      "resolved": "https://registry.npm.taobao.org/@types/q/download/@types/q-1.5.2.tgz?cache=0&sync_timestamp=1567534086032&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fq%2Fdownload%2F%40types%2Fq-1.5.2.tgz",
       "integrity": "sha1-aQoUdbhPKohP0HzXl8APXzE1bqg=",
       "dev": true
     },
@@ -1893,7 +1893,7 @@
     },
     "caniuse-api": {
       "version": "3.0.0",
-      "resolved": "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz",
+      "resolved": "http://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz",
       "integrity": "sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA=",
       "dev": true,
       "requires": {
@@ -2117,7 +2117,7 @@
     },
     "coa": {
       "version": "2.0.2",
-      "resolved": "https://registry.npm.taobao.org/coa/download/coa-2.0.2.tgz",
+      "resolved": "http://registry.npm.taobao.org/coa/download/coa-2.0.2.tgz",
       "integrity": "sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM=",
       "dev": true,
       "requires": {
@@ -2150,7 +2150,7 @@
     },
     "color": {
       "version": "3.1.2",
-      "resolved": "https://registry.npm.taobao.org/color/download/color-3.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcolor%2Fdownload%2Fcolor-3.1.2.tgz",
+      "resolved": "https://registry.npm.taobao.org/color/download/color-3.1.2.tgz",
       "integrity": "sha1-aBSOf4XUGtdknF+oyBBvCY0inhA=",
       "dev": true,
       "requires": {
@@ -2175,7 +2175,7 @@
     },
     "color-string": {
       "version": "1.5.3",
-      "resolved": "https://registry.npm.taobao.org/color-string/download/color-string-1.5.3.tgz",
+      "resolved": "http://registry.npm.taobao.org/color-string/download/color-string-1.5.3.tgz",
       "integrity": "sha1-ybvF8BtYtUkvPWhXRZy2WQziBMw=",
       "dev": true,
       "requires": {
@@ -2653,7 +2653,7 @@
       "dependencies": {
         "source-map": {
           "version": "0.5.7",
-          "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
+          "resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
           "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
           "dev": true
         }
@@ -2679,7 +2679,7 @@
     },
     "cssnano": {
       "version": "4.1.10",
-      "resolved": "https://registry.npm.taobao.org/cssnano/download/cssnano-4.1.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcssnano%2Fdownload%2Fcssnano-4.1.10.tgz",
+      "resolved": "http://registry.npm.taobao.org/cssnano/download/cssnano-4.1.10.tgz",
       "integrity": "sha1-CsQfCxPRPUZUh+ERt3jULaYxuLI=",
       "dev": true,
       "requires": {
@@ -2844,7 +2844,7 @@
     },
     "csso": {
       "version": "3.5.1",
-      "resolved": "https://registry.npm.taobao.org/csso/download/csso-3.5.1.tgz",
+      "resolved": "http://registry.npm.taobao.org/csso/download/csso-3.5.1.tgz",
       "integrity": "sha1-e564vmFiiXPBsmHhadLwJACOdYs=",
       "dev": true,
       "requires": {
@@ -5344,7 +5344,7 @@
     },
     "html-comment-regex": {
       "version": "1.1.2",
-      "resolved": "https://registry.npm.taobao.org/html-comment-regex/download/html-comment-regex-1.1.2.tgz",
+      "resolved": "http://registry.npm.taobao.org/html-comment-regex/download/html-comment-regex-1.1.2.tgz",
       "integrity": "sha1-l9RoiutcgYhqNk+qDK0d2hTUM6c=",
       "dev": true
     },
@@ -5571,7 +5571,7 @@
     },
     "import-fresh": {
       "version": "2.0.0",
-      "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz",
+      "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz?cache=0&sync_timestamp=1561888919431&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-2.0.0.tgz",
       "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
       "dev": true,
       "requires": {
@@ -5581,7 +5581,7 @@
       "dependencies": {
         "caller-path": {
           "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/caller-path/download/caller-path-2.0.0.tgz",
+          "resolved": "http://registry.npm.taobao.org/caller-path/download/caller-path-2.0.0.tgz",
           "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
           "dev": true,
           "requires": {
@@ -7078,7 +7078,7 @@
     },
     "normalize-url": {
       "version": "3.3.0",
-      "resolved": "https://registry.npm.taobao.org/normalize-url/download/normalize-url-3.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnormalize-url%2Fdownload%2Fnormalize-url-3.3.0.tgz",
+      "resolved": "http://registry.npm.taobao.org/normalize-url/download/normalize-url-3.3.0.tgz",
       "integrity": "sha1-suHE3E98bVd0PfczpPWXjRhlBVk=",
       "dev": true
     },
@@ -7186,7 +7186,7 @@
     },
     "object.getownpropertydescriptors": {
       "version": "2.0.3",
-      "resolved": "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.0.3.tgz",
+      "resolved": "http://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.0.3.tgz",
       "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
       "dev": true,
       "requires": {
@@ -7600,7 +7600,7 @@
     },
     "postcss-calc": {
       "version": "7.0.1",
-      "resolved": "https://registry.npm.taobao.org/postcss-calc/download/postcss-calc-7.0.1.tgz",
+      "resolved": "http://registry.npm.taobao.org/postcss-calc/download/postcss-calc-7.0.1.tgz",
       "integrity": "sha1-Ntd7qwI7Dsu5eJ2E3LI8SUEUVDY=",
       "dev": true,
       "requires": {
@@ -7612,7 +7612,7 @@
       "dependencies": {
         "cssesc": {
           "version": "2.0.0",
-          "resolved": "https://registry.npm.taobao.org/cssesc/download/cssesc-2.0.0.tgz",
+          "resolved": "http://registry.npm.taobao.org/cssesc/download/cssesc-2.0.0.tgz",
           "integrity": "sha1-OxO9G7HLNuG8taTc0n9UxdyzVwM=",
           "dev": true
         },
@@ -7629,7 +7629,7 @@
         },
         "postcss-selector-parser": {
           "version": "5.0.0",
-          "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-5.0.0.tgz",
+          "resolved": "http://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-5.0.0.tgz",
           "integrity": "sha1-JJBENWaXsztk8aj3yAki3d7nGVw=",
           "dev": true,
           "requires": {
@@ -7651,7 +7651,7 @@
     },
     "postcss-colormin": {
       "version": "4.0.3",
-      "resolved": "https://registry.npm.taobao.org/postcss-colormin/download/postcss-colormin-4.0.3.tgz",
+      "resolved": "http://registry.npm.taobao.org/postcss-colormin/download/postcss-colormin-4.0.3.tgz",
       "integrity": "sha1-rgYLzpPteUrHEmTwgTLVUJVr04E=",
       "dev": true,
       "requires": {
@@ -7709,7 +7709,7 @@
     },
     "postcss-convert-values": {
       "version": "4.0.1",
-      "resolved": "https://registry.npm.taobao.org/postcss-convert-values/download/postcss-convert-values-4.0.1.tgz",
+      "resolved": "http://registry.npm.taobao.org/postcss-convert-values/download/postcss-convert-values-4.0.1.tgz",
       "integrity": "sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8=",
       "dev": true,
       "requires": {
@@ -7741,7 +7741,7 @@
     },
     "postcss-discard-comments": {
       "version": "4.0.2",
-      "resolved": "https://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-4.0.2.tgz",
+      "resolved": "http://registry.npm.taobao.org/postcss-discard-comments/download/postcss-discard-comments-4.0.2.tgz",
       "integrity": "sha1-H7q9LCRr/2qq15l7KwkY9NevQDM=",
       "dev": true,
       "requires": {
@@ -7772,7 +7772,7 @@
     },
     "postcss-discard-duplicates": {
       "version": "4.0.2",
-      "resolved": "https://registry.npm.taobao.org/postcss-discard-duplicates/download/postcss-discard-duplicates-4.0.2.tgz",
+      "resolved": "http://registry.npm.taobao.org/postcss-discard-duplicates/download/postcss-discard-duplicates-4.0.2.tgz",
       "integrity": "sha1-P+EzzTyCKC5VD8myORdqkge3hOs=",
       "dev": true,
       "requires": {
@@ -7803,7 +7803,7 @@
     },
     "postcss-discard-empty": {
       "version": "4.0.1",
-      "resolved": "https://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz",
+      "resolved": "http://registry.npm.taobao.org/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz",
       "integrity": "sha1-yMlR6fc+2UKAGUWERKAq2Qu592U=",
       "dev": true,
       "requires": {
@@ -7834,7 +7834,7 @@
     },
     "postcss-discard-overridden": {
       "version": "4.0.1",
-      "resolved": "https://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz",
+      "resolved": "http://registry.npm.taobao.org/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz",
       "integrity": "sha1-ZSrvipZybwKfXj4AFG7npOdV/1c=",
       "dev": true,
       "requires": {
@@ -8019,7 +8019,7 @@
     },
     "postcss-merge-longhand": {
       "version": "4.0.11",
-      "resolved": "https://registry.npm.taobao.org/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz",
+      "resolved": "http://registry.npm.taobao.org/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz",
       "integrity": "sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ=",
       "dev": true,
       "requires": {
@@ -8053,7 +8053,7 @@
     },
     "postcss-merge-rules": {
       "version": "4.0.3",
-      "resolved": "https://registry.npm.taobao.org/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz",
+      "resolved": "http://registry.npm.taobao.org/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz",
       "integrity": "sha1-NivqT/Wh+Y5AdacTxsslrv75plA=",
       "dev": true,
       "requires": {
@@ -8101,7 +8101,7 @@
         },
         "postcss-selector-parser": {
           "version": "3.1.1",
-          "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.1.tgz",
+          "resolved": "http://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.1.tgz",
           "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
           "dev": true,
           "requires": {
@@ -8123,7 +8123,7 @@
     },
     "postcss-minify-font-values": {
       "version": "4.0.2",
-      "resolved": "https://registry.npm.taobao.org/postcss-minify-font-values/download/postcss-minify-font-values-4.0.2.tgz",
+      "resolved": "http://registry.npm.taobao.org/postcss-minify-font-values/download/postcss-minify-font-values-4.0.2.tgz",
       "integrity": "sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY=",
       "dev": true,
       "requires": {
@@ -8155,7 +8155,7 @@
     },
     "postcss-minify-gradients": {
       "version": "4.0.2",
-      "resolved": "https://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-4.0.2.tgz",
+      "resolved": "http://registry.npm.taobao.org/postcss-minify-gradients/download/postcss-minify-gradients-4.0.2.tgz",
       "integrity": "sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE=",
       "dev": true,
       "requires": {
@@ -8189,7 +8189,7 @@
     },
     "postcss-minify-params": {
       "version": "4.0.2",
-      "resolved": "https://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz",
+      "resolved": "http://registry.npm.taobao.org/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz",
       "integrity": "sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ=",
       "dev": true,
       "requires": {
@@ -8248,7 +8248,7 @@
     },
     "postcss-minify-selectors": {
       "version": "4.0.2",
-      "resolved": "https://registry.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz",
+      "resolved": "http://registry.npm.taobao.org/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz",
       "integrity": "sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g=",
       "dev": true,
       "requires": {
@@ -8271,7 +8271,7 @@
         },
         "postcss-selector-parser": {
           "version": "3.1.1",
-          "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.1.tgz",
+          "resolved": "http://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.1.tgz",
           "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
           "dev": true,
           "requires": {
@@ -8450,7 +8450,7 @@
     },
     "postcss-normalize-charset": {
       "version": "4.0.1",
-      "resolved": "https://registry.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz",
+      "resolved": "http://registry.npm.taobao.org/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz",
       "integrity": "sha1-izWt067oOhNrBHHg1ZvlilAoXdQ=",
       "dev": true,
       "requires": {
@@ -8704,7 +8704,7 @@
     },
     "postcss-normalize-url": {
       "version": "4.0.1",
-      "resolved": "https://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz",
+      "resolved": "http://registry.npm.taobao.org/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz",
       "integrity": "sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE=",
       "dev": true,
       "requires": {
@@ -8770,7 +8770,7 @@
     },
     "postcss-ordered-values": {
       "version": "4.1.2",
-      "resolved": "https://registry.npm.taobao.org/postcss-ordered-values/download/postcss-ordered-values-4.1.2.tgz",
+      "resolved": "http://registry.npm.taobao.org/postcss-ordered-values/download/postcss-ordered-values-4.1.2.tgz",
       "integrity": "sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4=",
       "dev": true,
       "requires": {
@@ -8803,7 +8803,7 @@
     },
     "postcss-reduce-initial": {
       "version": "4.0.3",
-      "resolved": "https://registry.npm.taobao.org/postcss-reduce-initial/download/postcss-reduce-initial-4.0.3.tgz",
+      "resolved": "http://registry.npm.taobao.org/postcss-reduce-initial/download/postcss-reduce-initial-4.0.3.tgz",
       "integrity": "sha1-f9QuvqXpyBRgljniwuhK4nC6SN8=",
       "dev": true,
       "requires": {
@@ -8860,7 +8860,7 @@
     },
     "postcss-reduce-transforms": {
       "version": "4.0.2",
-      "resolved": "https://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz",
+      "resolved": "http://registry.npm.taobao.org/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz",
       "integrity": "sha1-F++kBerMbge+NBSlyi0QdGgdTik=",
       "dev": true,
       "requires": {
@@ -8905,7 +8905,7 @@
     },
     "postcss-svgo": {
       "version": "4.0.2",
-      "resolved": "https://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-4.0.2.tgz",
+      "resolved": "http://registry.npm.taobao.org/postcss-svgo/download/postcss-svgo-4.0.2.tgz",
       "integrity": "sha1-F7mXvHEbMzurFDqu07jT1uPTglg=",
       "dev": true,
       "requires": {
@@ -8939,7 +8939,7 @@
     },
     "postcss-unique-selectors": {
       "version": "4.0.1",
-      "resolved": "https://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz",
+      "resolved": "http://registry.npm.taobao.org/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz",
       "integrity": "sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w=",
       "dev": true,
       "requires": {
@@ -9825,7 +9825,7 @@
     },
     "sax": {
       "version": "1.2.4",
-      "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz",
+      "resolved": "http://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz",
       "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=",
       "dev": true
     },
@@ -10081,7 +10081,7 @@
       "dependencies": {
         "is-arrayish": {
           "version": "0.3.2",
-          "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.3.2.tgz",
+          "resolved": "http://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.3.2.tgz",
           "integrity": "sha1-RXSirlb3qyBolvtDHq7tBm/fjwM=",
           "dev": true
         }
@@ -10644,7 +10644,7 @@
         },
         "postcss-selector-parser": {
           "version": "3.1.1",
-          "resolved": "https://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.1.tgz",
+          "resolved": "http://registry.npm.taobao.org/postcss-selector-parser/download/postcss-selector-parser-3.1.1.tgz",
           "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
           "dev": true,
           "requires": {
@@ -10696,7 +10696,7 @@
       "dependencies": {
         "css-select": {
           "version": "2.0.2",
-          "resolved": "https://registry.npm.taobao.org/css-select/download/css-select-2.0.2.tgz",
+          "resolved": "http://registry.npm.taobao.org/css-select/download/css-select-2.0.2.tgz",
           "integrity": "sha1-q0OGzsnh9miFVWSxfDcztDsqXt4=",
           "dev": true,
           "requires": {
@@ -11288,7 +11288,7 @@
     },
     "util.promisify": {
       "version": "1.0.0",
-      "resolved": "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil.promisify%2Fdownload%2Futil.promisify-1.0.0.tgz",
+      "resolved": "http://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.0.tgz",
       "integrity": "sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA=",
       "dev": true,
       "requires": {

+ 3 - 1
package.json

@@ -8,7 +8,9 @@
     "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
     "start": "npm run dev",
     "lint": "eslint --ext .js,.vue src",
-    "build": "node build/build.js"
+    "build--dev": "NODE_ENV=production env_config=dev node build/build.js",
+    "build--test": "NODE_ENV=production env_config=test node build/build.js",
+    "build--prod": "NODE_ENV=production env_config=prod node build/build.js"
   },
   "dependencies": {
     "axios": "latest",

+ 11 - 10
src/components/Mine.vue

@@ -59,11 +59,12 @@
           </span>
           <el-row v-if="unFinishedTaskList != null && unFinishedTaskList.length != 0" type="flex" align="middle"
                   justify="center" style="font-size: 14px;">
-            <el-col :span="6">任务封面</el-col>
-            <el-col :span="5">任务名称</el-col>
-            <el-col :span="5">任务类型</el-col>
+            <el-col :span="5">任务封面</el-col>
+            <el-col :span="4">任务名称</el-col>
+            <el-col :span="4">任务类型</el-col>
             <el-col :span="4">任务预算</el-col>
-            <el-col :span="4">操作</el-col>
+            <el-col :span="4">领取人数</el-col>
+            <el-col :span="3">操作</el-col>
           </el-row>
           <span v-if="unFinishedTaskList == null || unFinishedTaskList.length == 0"> 暂无任务 </span>
           <task-item v-if="unFinishedTaskList != null || unFinishedTaskList.length > 0"
@@ -75,12 +76,12 @@
           </span>
           <el-row v-if="finishedTaskList != null && finishedTaskList.length != 0" type="flex" align="middle"
                   justify="center" style="font-size: 14px;">
-
-            <el-col :span="6">任务封面</el-col>
-            <el-col :span="5">任务名称</el-col>
-            <el-col :span="5">任务类型</el-col>
+            <el-col :span="5">任务封面</el-col>
+            <el-col :span="4">任务名称</el-col>
+            <el-col :span="4">任务类型</el-col>
             <el-col :span="4">任务预算</el-col>
-            <el-col :span="4">操作</el-col>
+            <el-col :span="4">领取人数</el-col>
+            <el-col :span="3">操作</el-col>
           </el-row>
           <span v-if="finishedTaskList == null || finishedTaskList.length == 0"> 暂无任务 </span>
           <task-item v-if="finishedTaskList != null || finishedTaskList.length > 0"
@@ -289,7 +290,7 @@ export default {
         xAxis: {
           type: 'category',
           boundaryGap: false,
-          data: ['2019年5月', '2019年6月', '2019年7月', '2019年8月', '2019年9月', '2019年10月', '2019年11月']
+          data: ['2019年11月', '2019年12月', '2020年1月', '2020年2月', '2020年3月', '2020年4月', '2020年5月']
         },
         yAxis: {
           type: 'value'

+ 5 - 4
src/components/Square.vue

@@ -4,11 +4,12 @@
 
     <div class="square-list-container" v-loading="loading" type="flex" align="middle">
       <el-row v-if="list != null && list.length != 0" type="flex" align="middle" justify="center"  style="font-size: 14px;">
-        <el-col :span="6">任务封面</el-col>
-        <el-col :span="5">任务名称</el-col>
-        <el-col :span="5">任务类型</el-col>
+        <el-col :span="5">任务封面</el-col>
+        <el-col :span="4">任务名称</el-col>
+        <el-col :span="4">任务类型</el-col>
         <el-col :span="4">任务预算</el-col>
-        <el-col :span="4">操作</el-col>
+        <el-col :span="4">领取次数</el-col>
+        <el-col :span="3">操作</el-col>
       </el-row>
       <task-item v-if="list!=null&&list.length>0" v-for="(item,index) in list" :key="index" :task="item"/>
       <!--<div v-if="loading" class="loading">-->

+ 1 - 1
src/components/commons/ProvinceCity.vue

@@ -2,7 +2,7 @@
 <template>
   <div class="province-city">
     <el-form-item
-      label-width="20%"
+      label-width="25%"
       class="page-form-item"
       label="所属省:"
       prop="status"

+ 7 - 4
src/components/commons/TaskItem.vue

@@ -1,20 +1,23 @@
 <template>
   <div class="task-item-container">
     <el-row type="flex" align="middle" justify="center" style="font-size: 14px;">
-      <el-col :span="6" type="flex" align="middle" justify="center">
+      <el-col :span="5" type="flex" align="middle" justify="center">
         <el-badge :value="taskTable.statusVO.text" class="item" :type="taskTable.statusVO.style">
           <img class="task-cover" src="@/assets/img/home_ban1.jpg">
         </el-badge>
       </el-col>
-      <el-col :span="5" type="flex" align="middle" justify="center">{{taskTable.title}}</el-col>
+      <el-col :span="4" type="flex" align="middle" justify="center">{{taskTable.title}}</el-col>
       <!--<el-col :span="4">{{project.id}}</el-col>-->
-      <el-col :span="5" type="flex" align="middle" justify="center">{{taskTable.serviceType}}</el-col>
+      <el-col :span="4" type="flex" align="middle" justify="center">{{taskTable.serviceType}}</el-col>
       <el-col :span="4" type="flex" align="middle" justify="center">
         <div class="badge" type="flex" align="middle" justify="center">
           ¥{{taskTable.quotePrice==null?0:taskTable.quotePrice}}
         </div>
       </el-col>
-      <el-col :span="4" type="flex" align="middle" justify="center"><span class="btn btn-medium btn-info"
+      <el-col :span="4" type="flex" align="middle" justify="center">
+        {{taskTable.acceptedCount}} / {{  taskTable.participantCount}}
+      </el-col>
+      <el-col :span="3" type="flex" align="middle" justify="center"><span class="btn btn-medium btn-info"
                                                                           @click="goToTaskDetail(taskTable.projectId,taskTable.id)">查看详情</span>
       </el-col>
     </el-row>

+ 30 - 14
src/components/project/Project.vue

@@ -14,9 +14,9 @@
           <el-form :model="project" :rules="rules" ref="project" label-width="30%" class="demo-project">
             <el-form-item label="项目名称" prop="name">
               <el-input size="small" v-if="isModifyMode" v-model="project.name"></el-input>
-              <span v-if="!isModifyMode">{{project.name}}</span>
+              <span v-if="!isModifyMode" style="margin-right: 5px">{{project.name}}</span>
+              <el-tag v-if="!isModifyMode" :type="project.statusVO&&project.statusVO.style">{{project.statusVO?project.statusVO.text:''}}</el-tag>
             </el-form-item>
-
             <el-form-item size="small" label="联系人" prop="contactName">
               <el-input v-if="isModifyMode" v-model="project.contactName" placeholder="请输入联系人姓名"></el-input>
               <span v-if="!isModifyMode">{{project.contactName}}</span>
@@ -35,6 +35,9 @@
             <el-form-item v-if="!isModifyMode" size="small" label="状态" prop="status">
               <span v-if="!isModifyMode">{{project.status==1?'等待接收':(project.status==2?'已被接收':(project.status==3?'项目已提交':'项目已结束'))}}</span>
             </el-form-item>
+            <el-form-item size="small" label="区域管理员" prop="institution" v-if="project.institution">
+              <span v-if="!isModifyMode">{{project.institution}}</span>
+            </el-form-item>
             <el-form-item label="需求描述">
               <el-input style="width: 400px" autosize v-if="isModifyMode" type="textarea"
                         v-model="project.desc"></el-input>
@@ -75,7 +78,7 @@
             <el-form-item label="项目可见性" prop="resource">
               <div v-if="!isModifyMode">
                 <div v-if="project.resource=='1'">{{updateLocation(project.location)}}</div>
-                <div v-if="project.resource=='0'">{{project.institution==null?'暂未被接收':project.institution}}</div>
+                <div v-if="project.resource=='0'">定向</div>
                 <div v-if="project.resource=='2'">{{resourceType[project.resource]}}</div>
               </div>
               <el-tabs :tab-position="tabPosition" v-model="project.resource" style="max-height: 200px;"
@@ -205,7 +208,8 @@
         </el-col>
       </el-row>
     </div>
-    <div class="create-body" v-if="!isModifyMode">
+<!--    任务列表-->
+    <div class="create-body" v-if="!isModifyMode && showTaskList">
       <div class="title h2">任务列表</div>
       <div class="task-list">
         <el-table :showHeader="true" :stripe="true" :data="task" style="width: 100%">
@@ -233,11 +237,11 @@
             </template>
           </el-table-column>
           <el-table-column align="center" label="状态">
-
             <template slot-scope="scope">
               <el-tag :type="scope.row.statusVO.style">{{scope.row.statusVO.text}}</el-tag>
             </template>
           </el-table-column>
+
           <el-table-column align="right" label="操作">
 
             <template slot-scope="scope">
@@ -258,7 +262,7 @@
     </div>
 
     <div class="create-body" v-if="!isModifyMode">
-      <div class="title h2">报告列表</div>
+      <div class="title h2">用户报告列表</div>
       <report-list v-bind:reports="reportList" v-bind:taskId=null v-bind:projectId="projectId"/>
     </div>
   </div>
@@ -306,6 +310,8 @@ export default {
       }
     }
     return {
+      showTaskList: true,
+      acceptedUserList:[],
       projectId: 0,
       user: {},
       loading: false,
@@ -447,7 +453,7 @@ export default {
   },
   mounted () {
     this.$nextTick(() => {
-      this.init()
+      this.init();
     })
   },
   watch: {
@@ -597,7 +603,6 @@ export default {
             this.project.usage = res.projectDetails.usage
             this.project.fileUrl = res.projectDetails.file
             this.project.requireDocUrl = res.projectDetails.doc
-
             this.task = res.taskList
             this.reportList = res.reportList
             this.isModifyMode = false
@@ -700,6 +705,7 @@ export default {
     submitProjectRequestSuccess (res) {
       this.hideLoading()
       notify('success', '项目提交成功!')
+      this.loadData()
       this.projectOperationControl = res.projectOperationControl
       this.project.status = res.projectDetails.status
       this.project.institution = res.projectDetails.institution
@@ -724,6 +730,7 @@ export default {
     endProjectSuccess (res) {
       this.hideLoading()
       notify('success', '项目提交成功!')
+      this.loadData()
       this.projectOperationControl = res.projectOperationControl
       this.project.status = res.projectDetails.status
       this.project.institution = res.projectDetails.institution
@@ -827,16 +834,18 @@ export default {
         this.project.requireDocUrl = res.projectDetails.doc
         this.project.userId = res.projectDetails.userId
         this.project.status = res.projectDetails.status
+        this.project.statusVO = res.projectDetails.statusVO
         this.task = res.taskList
         this.reportList = res.reportList
         this.projectOperationControl = res.projectOperationControl
         this.progress = res.progress
-        this.hideLoading();
+        this.hideLoading()
+        this.handleShowTaskListOrNot()
         for(var i = 0; i < this.progress.length; i++){
-            if(this.progress[i].value != 0){
-                this.setEcharts()
-                break
-            }
+          if(this.progress[i].value != 0){
+              this.setEcharts()
+              break
+          }
         }
 
       }).catch((error) => {
@@ -844,6 +853,14 @@ export default {
         notify('error', error.data)
       })
     },
+
+    handleShowTaskListOrNot () {
+      // console.log(storageGet('user')['userVO']['id'])
+      if(storageGet('user')['userVO']['id'] === this.project.userId){
+        this.showTaskList = false
+      }
+    },
+
     locationChange (provinceId, cityId) {
       if (provinceId || cityId) {
         this.project.location = {provinceCode: provinceId, cityCode: cityId}
@@ -880,7 +897,6 @@ export default {
         notify('success', '需求文档上传成功')
       }).catch((error) => {
         this.hideLoading()
-        this.project.doc = []
         notify('error', '需求文档上传失败:' + error.data)
       })
     },

+ 0 - 1
src/components/project/ProjectCreate.vue

@@ -21,7 +21,6 @@
           <el-input type="textarea" style="width: 400px" v-model="project.desc"
                     placeholder="请输入对项目的描述"></el-input>
         </el-form-item>
-
         <!--<el-form-item label="价格" prop="price">-->
         <!--<el-input type="number" v-model="project.price">-->
         <!--<template slot="append">¥</template>-->

+ 13 - 1
src/components/report/ReportList.vue

@@ -10,6 +10,15 @@
     </el-row>-->
 
     <el-table :showHeader="true" :data="reportList" style="width: 100%">
+<!--      <el-table-column-->
+<!--        prop="userName"-->
+<!--        label="提交用户"-->
+<!--      >-->
+<!--      </el-table-column>-->
+      <el-table-column
+        prop="name"
+        label="报告名称"
+      ></el-table-column>
       <el-table-column prop="type" label="报告类型" title="报告类型">
         <template slot-scope="scope">
           <span class="badge">{{scope.row.type}}</span>
@@ -110,10 +119,13 @@ export default {
 
 <style lang="less" scoped>
   .report-container {
-    margin: 0 30px;
+    margin: 0 30px 0 0;
   }
 
   .el-row {
     margin-bottom: 20px;
   }
+  .el-collapse-item__content{
+    padding-bottom: 0 !important;
+  }
 </style>

+ 6 - 2
src/components/report/TaskReport.vue

@@ -97,7 +97,8 @@ export default {
         content: '',
         file: [],
         fileUrl: '',
-        conclusion: ''
+        conclusion: '',
+        participantCount: 1
       },
       rules: {
         name: [
@@ -149,7 +150,8 @@ export default {
             target: this.report.target,
             content: this.report.content,
             file: this.report.fileUrl,
-            conclusion: this.report.conclusion
+            conclusion: this.report.conclusion,
+            participantCount: this.report.participantCount
           }
           console.log(newReport)
           Http.put(Apis.REPORT.UPDATE_TASK_REPORT.replace('{projectId}', this.projectId).replace('{taskId}', this.taskId).replace('{reportId}', this.reportId), newReport).then((res) => {
@@ -175,6 +177,7 @@ export default {
       this.report.file = ''
       this.report.type = ''
       this.report.conclusion = ''
+      this.report.participantCount = 1
     },
     cancelCreate () {
       this.isModifyMode = false
@@ -235,6 +238,7 @@ export default {
         this.report.fileUrl = res.crowdReportVO.file
         this.report.conclusion = res.crowdReportVO.conclusion
         this.report.target = res.crowdReportVO.target
+        this.report.participantCount = res.crowdReportVO.participantCount
         this.hideLoading()
       }).catch((error) => {
         this.hideLoading()

+ 2 - 1
src/components/report/TaskReportCreate.vue

@@ -191,6 +191,7 @@ export default {
       return isDOC || isEXCEL || isPDF || isTXT || isXLS || isXLSX
       */
     },
+
     loadData () {
     },
     uploadReportFile (param) {
@@ -201,7 +202,7 @@ export default {
       }
       formData.append('file', param.file)
       Http.upload(Apis.FILE.UPLOAD_REPORT_FILE.replace('{userId}', this.user.userVO.id), formData, config).then((res) => {
-        console.log('上传成功')
+        notify('success', '上传成功')
         this.report.fileUrl = res.data
         console.log(res)
       })

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 557 - 503
src/components/task/Task.vue


+ 9 - 3
src/components/task/TaskCreate.vue

@@ -50,6 +50,9 @@
             <el-tab-pane :label="resourceType[2]" name="2"></el-tab-pane>
           </el-tabs>
         </el-form-item>
+        <el-form-item label="领取人数" prop="contactPhone" v-if="task.resource !== '0'">
+          <el-input-number v-model="task.participantCount" :min="1" :max="1000" label="领取人数"></el-input-number>
+        </el-form-item>
         <el-form-item label="需求文档" prop="doc">
           <el-upload
             drag
@@ -126,7 +129,8 @@ export default {
         quotePrice: '',
         fixedPrice: '',
         doc: [],
-        requireDocUrl: '123.doc'
+        requireDocUrl: '',
+        participantCount: 1
       },
       pickerOptions: {
         shortcuts: [
@@ -261,7 +265,8 @@ export default {
             datetime: this.task.datetime,
             quotePrice: this.task.quotePrice,
             fixedPrice: this.task.fixedPrice,
-            requirementFile: this.task.requireDocUrl
+            requirementFile: this.task.requireDocUrl,
+            participantCount: this.task.participantCount
           }
           Http.post(Apis.TASK.CREATE_TASK.replace('{projectId}', this.projectId), newTask).then((res) => {
             console.log(res)
@@ -287,7 +292,8 @@ export default {
       this.task.resource = '广场'; //如果是广场不用管Location和institution ,定向看institution,区域看location
       (this.task.location = {provinceCode: '', cityCode: ''}),
         (this.task.institution = '')
-      this.task.datetime = ''
+      this.task.datetime = '',
+        this.task.participantCount = 1
     },
     locationChange (provinceId, cityId) {
       if (provinceId || cityId) {

+ 2 - 0
src/main.js

@@ -58,6 +58,7 @@ import {
   TimeSelect,
   Tooltip,
   Upload,
+  Progress
 } from 'element-ui'
 function getCurrentUserSuccess(res){
 
@@ -180,6 +181,7 @@ Vue.use(DropdownMenu)
 Vue.use(Image)
 Vue.use(Badge)
 Vue.use(Popover)
+Vue.use(Progress)
 
 Vue.prototype.$msgbox = MessageBox
 Vue.prototype.$alert = MessageBox.alert

+ 2 - 2
tool4deploy/conf.d/nginx.conf

@@ -1,6 +1,6 @@
 server {
-        listen       80;
-        server_name  www.callfortest.com;
+        listen       8083;
+        server_name  crowd.mooctest.net;
         root /usr/share/nginx/html;
         #charset koi8-r;
         client_max_body_size 100m;

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio