소스 검색

Merge branch 'dev' of http://git.ycjcjy.com/SpaceOfCheng/admin into dev

wangfei 6 년 전
부모
커밋
f486f2664f

+ 1
- 1
dist/index.html 파일 보기

@@ -1 +1 @@
1
-<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel=stylesheet href=//at.alicdn.com/t/font_775069_25hulf12ph6.css><title>城的空间后台管理系统</title><link href=./static/css/app.8d9257cdf3036eec0434d40e02dd8bb5.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.7e921535e20f729cf046.js></script><script type=text/javascript src=./static/js/app.fb70b4505d8b5473f866.js></script></body></html>
1
+<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel=stylesheet href=//at.alicdn.com/t/font_775069_dwqa9wy3lkh.css><title>城的空间后台管理系统</title><link href=./static/css/app.17827823c93d74dee7e46991e4110b0f.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.992319e39e0ff64940a3.js></script><script type=text/javascript src=./static/js/app.20d40803890c09bdb1f5.js></script></body></html>

+ 1
- 1
dist/static/js/manifest.3ad1d5771e9b13dbdad2.js.map 파일 보기

@@ -1 +1 @@
1
-{"version":3,"sources":["webpack:///webpack/bootstrap 3848669c23aacae56823"],"names":["parentJsonpFunction","window","chunkIds","moreModules","executeModules","moduleId","chunkId","result","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","shift","__webpack_require__","s","installedModules","2","exports","module","l","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","p","oe","err","console","error"],"mappings":"aACA,IAAAA,EAAAC,OAAA,aACAA,OAAA,sBAAAC,EAAAC,EAAAC,GAIA,IADA,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,EAAAC,KACQD,EAAAN,EAAAQ,OAAoBF,IAC5BF,EAAAJ,EAAAM,GACAG,EAAAL,IACAG,EAAAG,KAAAD,EAAAL,GAAA,IAEAK,EAAAL,GAAA,EAEA,IAAAD,KAAAF,EACAU,OAAAC,UAAAC,eAAAC,KAAAb,EAAAE,KACAY,EAAAZ,GAAAF,EAAAE,IAIA,IADAL,KAAAE,EAAAC,EAAAC,GACAK,EAAAC,QACAD,EAAAS,OAAAT,GAEA,GAAAL,EACA,IAAAI,EAAA,EAAYA,EAAAJ,EAAAM,OAA2BF,IACvCD,EAAAY,IAAAC,EAAAhB,EAAAI,IAGA,OAAAD,GAIA,IAAAc,KAGAV,GACAW,EAAA,GAIA,SAAAH,EAAAd,GAGA,GAAAgB,EAAAhB,GACA,OAAAgB,EAAAhB,GAAAkB,QAGA,IAAAC,EAAAH,EAAAhB,IACAG,EAAAH,EACAoB,GAAA,EACAF,YAUA,OANAN,EAAAZ,GAAAW,KAAAQ,EAAAD,QAAAC,IAAAD,QAAAJ,GAGAK,EAAAC,GAAA,EAGAD,EAAAD,QAKAJ,EAAAO,EAAAT,EAGAE,EAAAQ,EAAAN,EAGAF,EAAAS,EAAA,SAAAL,EAAAM,EAAAC,GACAX,EAAAY,EAAAR,EAAAM,IACAhB,OAAAmB,eAAAT,EAAAM,GACAI,cAAA,EACAC,YAAA,EACAC,IAAAL,KAMAX,EAAAiB,EAAA,SAAAZ,GACA,IAAAM,EAAAN,KAAAa,WACA,WAA2B,OAAAb,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAL,EAAAS,EAAAE,EAAA,IAAAA,GACAA,GAIAX,EAAAY,EAAA,SAAAO,EAAAC,GAAsD,OAAA1B,OAAAC,UAAAC,eAAAC,KAAAsB,EAAAC,IAGtDpB,EAAAqB,EAAA,KAGArB,EAAAsB,GAAA,SAAAC,GAA8D,MAApBC,QAAAC,MAAAF,GAAoBA","file":"static/js/manifest.3ad1d5771e9b13dbdad2.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t2: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 3848669c23aacae56823"],"sourceRoot":""}
1
+{"version":3,"sources":["webpack:///webpack/bootstrap 1489349eb84498198675"],"names":["parentJsonpFunction","window","chunkIds","moreModules","executeModules","moduleId","chunkId","result","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","shift","__webpack_require__","s","installedModules","2","exports","module","l","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","p","oe","err","console","error"],"mappings":"aACA,IAAAA,EAAAC,OAAA,aACAA,OAAA,sBAAAC,EAAAC,EAAAC,GAIA,IADA,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,EAAAC,KACQD,EAAAN,EAAAQ,OAAoBF,IAC5BF,EAAAJ,EAAAM,GACAG,EAAAL,IACAG,EAAAG,KAAAD,EAAAL,GAAA,IAEAK,EAAAL,GAAA,EAEA,IAAAD,KAAAF,EACAU,OAAAC,UAAAC,eAAAC,KAAAb,EAAAE,KACAY,EAAAZ,GAAAF,EAAAE,IAIA,IADAL,KAAAE,EAAAC,EAAAC,GACAK,EAAAC,QACAD,EAAAS,OAAAT,GAEA,GAAAL,EACA,IAAAI,EAAA,EAAYA,EAAAJ,EAAAM,OAA2BF,IACvCD,EAAAY,IAAAC,EAAAhB,EAAAI,IAGA,OAAAD,GAIA,IAAAc,KAGAV,GACAW,EAAA,GAIA,SAAAH,EAAAd,GAGA,GAAAgB,EAAAhB,GACA,OAAAgB,EAAAhB,GAAAkB,QAGA,IAAAC,EAAAH,EAAAhB,IACAG,EAAAH,EACAoB,GAAA,EACAF,YAUA,OANAN,EAAAZ,GAAAW,KAAAQ,EAAAD,QAAAC,IAAAD,QAAAJ,GAGAK,EAAAC,GAAA,EAGAD,EAAAD,QAKAJ,EAAAO,EAAAT,EAGAE,EAAAQ,EAAAN,EAGAF,EAAAS,EAAA,SAAAL,EAAAM,EAAAC,GACAX,EAAAY,EAAAR,EAAAM,IACAhB,OAAAmB,eAAAT,EAAAM,GACAI,cAAA,EACAC,YAAA,EACAC,IAAAL,KAMAX,EAAAiB,EAAA,SAAAZ,GACA,IAAAM,EAAAN,KAAAa,WACA,WAA2B,OAAAb,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAL,EAAAS,EAAAE,EAAA,IAAAA,GACAA,GAIAX,EAAAY,EAAA,SAAAO,EAAAC,GAAsD,OAAA1B,OAAAC,UAAAC,eAAAC,KAAAsB,EAAAC,IAGtDpB,EAAAqB,EAAA,KAGArB,EAAAsB,GAAA,SAAAC,GAA8D,MAApBC,QAAAC,MAAAF,GAAoBA","file":"static/js/manifest.3ad1d5771e9b13dbdad2.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t2: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 1489349eb84498198675"],"sourceRoot":""}

+ 31
- 0
package-lock.json 파일 보기

@@ -2969,6 +2969,31 @@
2969 2969
         "sha.js": "2.4.11"
2970 2970
       }
2971 2971
     },
2972
+    "cross-env": {
2973
+      "version": "5.2.0",
2974
+      "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.0.tgz",
2975
+      "integrity": "sha512-jtdNFfFW1hB7sMhr/H6rW1Z45LFqyI431m3qU6bFXcQ3Eh7LtBuG3h74o7ohHZ3crrRkkqHlo4jYHFPcjroANg==",
2976
+      "dev": true,
2977
+      "requires": {
2978
+        "cross-spawn": "6.0.5",
2979
+        "is-windows": "1.0.2"
2980
+      },
2981
+      "dependencies": {
2982
+        "cross-spawn": {
2983
+          "version": "6.0.5",
2984
+          "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
2985
+          "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
2986
+          "dev": true,
2987
+          "requires": {
2988
+            "nice-try": "1.0.5",
2989
+            "path-key": "2.0.1",
2990
+            "semver": "5.5.0",
2991
+            "shebang-command": "1.2.0",
2992
+            "which": "1.3.1"
2993
+          }
2994
+        }
2995
+      }
2996
+    },
2972 2997
     "cross-spawn": {
2973 2998
       "version": "5.1.0",
2974 2999
       "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
@@ -9413,6 +9438,12 @@
9413 9438
       "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
9414 9439
       "dev": true
9415 9440
     },
9441
+    "nice-try": {
9442
+      "version": "1.0.5",
9443
+      "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
9444
+      "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
9445
+      "dev": true
9446
+    },
9416 9447
     "nightwatch": {
9417 9448
       "version": "0.9.21",
9418 9449
       "resolved": "https://registry.npmjs.org/nightwatch/-/nightwatch-0.9.21.tgz",

+ 8
- 0
src/pages/login/index.vue 파일 보기

@@ -58,7 +58,15 @@ export default {
58 58
   },
59 59
   mounted () {
60 60
     this.$nextTick(function () {
61
+      var _that = this
61 62
       this.initLogin()
63
+      document.onkeydown = function (event) {
64
+        var e = event || window.event
65
+        var keyCode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode
66
+        if (keyCode === 13) {
67
+          _that.toLogin()
68
+        }
69
+      }
62 70
     })
63 71
   },
64 72
   methods: {

+ 10
- 5
src/pages/system/cardAndCouponManager/cardManager/edit.vue 파일 보기

@@ -447,16 +447,15 @@ export default {
447 447
         })
448 448
         return false
449 449
       }
450
+      return true
450 451
     },
451 452
     submit () { // 保存
452
-      if (!this.checkInfo()) {
453
-        return false
454
-      }
455 453
       if (this.$route.query.id) {
456 454
         if (this.date !== '') {
457 455
           this.cardInfo.StartDate = this.date[0]
458 456
           this.cardInfo.EndDate = this.date[1]
459 457
         }
458
+        this.courseList = this.courseList || []
460 459
         for (var x = 0; x < this.courseList.length; x++) {
461 460
           if (this.courseList[x].CourseId === this.cardInfo.Targets[0].TargetId) {
462 461
             this.cardInfo.Targets[0].TargetType = this.courseList[x].CourseType
@@ -464,6 +463,9 @@ export default {
464 463
           }
465 464
         }
466 465
         this.cardInfo.TotalCount = this.cardInfo.TotalCount - 0
466
+        if (!this.checkInfo()) {
467
+          return false
468
+        }
467 469
         this.editCard(this.cardInfo).then((res) => {
468 470
           this.$message({
469 471
             type: 'success',
@@ -477,6 +479,7 @@ export default {
477 479
           this.cardInfo.StartDate = this.date[0]
478 480
           this.cardInfo.EndDate = this.date[1]
479 481
         }
482
+        this.courseList = this.courseList || []
480 483
         for (var n = 0; n < this.courseList.length; n++) {
481 484
           if (this.courseList[n].CourseId === this.cardInfo.Targets[0].TargetId) {
482 485
             this.cardInfo.Targets[0].TargetType = this.courseList[n].CourseType
@@ -484,7 +487,9 @@ export default {
484 487
           }
485 488
         }
486 489
         this.cardInfo.TotalCount = this.cardInfo.TotalCount - 0
487
-        // console.log(JSON.stringify(this.cardInfo))
490
+        if (!this.checkInfo()) {
491
+          return false
492
+        }
488 493
         this.addCard(this.cardInfo).then((res) => {
489 494
           this.$message({
490 495
             type: 'success',
@@ -495,7 +500,7 @@ export default {
495 500
       }
496 501
     },
497 502
     cancel () { // 取消
498
-      this.$router.push({ name: 'couponList' })
503
+      this.$router.push({ name: 'cardList' })
499 504
     },
500 505
     handleAvatarSuccess (res, file) {
501 506
       if ((this.cardInfo.Images || []).length > 0) {

+ 7
- 3
src/pages/system/cardAndCouponManager/couponManager/edit.vue 파일 보기

@@ -679,16 +679,17 @@ export default {
679 679
         })
680 680
         return false
681 681
       }
682
+      return true
682 683
     },
683 684
     submit () { // 保存
684
-      if (!this.checkInfo()) {
685
-        return false
686
-      }
687 685
       if (this.$route.query.id) {
688 686
         if (this.couponInfo.ValidDays) {
689 687
           this.couponInfo.StartDate = undefined
690 688
           this.couponInfo.EndDate = undefined
691 689
         }
690
+        if (!this.checkInfo()) {
691
+          return false
692
+        }
692 693
         this.editCoupon({
693 694
           ...this.couponInfo,
694 695
           IsAll: this.couponInfo.IsAll - 0,
@@ -707,6 +708,9 @@ export default {
707 708
           this.couponInfo.StartDate = undefined
708 709
           this.couponInfo.EndDate = undefined
709 710
         }
711
+        if (!this.checkInfo()) {
712
+          return false
713
+        }
710 714
         this.addCoupon({
711 715
           ...this.couponInfo,
712 716
           IsAll: this.couponInfo.IsAll - 0,

+ 32
- 4
src/pages/system/caseManager/deviceManager/add.vue 파일 보기

@@ -3,7 +3,7 @@
3 3
     <form class="mainForm">
4 4
       <ul>
5 5
          <li class="flex-h">
6
-          <span>选择案场:</span>
6
+          <span>选择案场:<em>*</em></span>
7 7
           <div class="flex-item">
8 8
             <div style="width:50%">
9 9
               <el-select v-model="Case" placeholder="请选择">
@@ -18,7 +18,7 @@
18 18
           </div>
19 19
         </li>
20 20
         <li class="flex-h">
21
-          <span>设备名称:</span>
21
+          <span>设备名称:<em>*</em></span>
22 22
           <div class="flex-item">
23 23
             <div style="width:50%">
24 24
               <el-input
@@ -30,7 +30,7 @@
30 30
           </div>
31 31
         </li>
32 32
         <li class="flex-h">
33
-          <span>设备Code:</span>
33
+          <span>设备Code:<em>*</em></span>
34 34
           <div class="flex-item">
35 35
             <div style="width:50%">
36 36
               <el-input
@@ -74,7 +74,7 @@ export default {
74 74
         return this.detail.CaseId || this.caseid
75 75
       },
76 76
       set (val) {
77
-        this.UpdateInfo({...this.detail, CaseId: val})
77
+        this.UpdateInfo({ ...this.detail, CaseId: val })
78 78
       }
79 79
     }
80 80
   },
@@ -88,6 +88,20 @@ export default {
88 88
     ]),
89 89
     submit () {
90 90
       if ((this.detail.EquipmentId || '') === '') {
91
+        if ((this.detail.Name || '') === '') {
92
+          this.$message({
93
+            message: '设备名称不能为空',
94
+            type: 'error'
95
+          })
96
+          return false
97
+        }
98
+        if ((this.detail.EquipmentCode || '') === '') {
99
+          this.$message({
100
+            message: '设备Code不能为空',
101
+            type: 'error'
102
+          })
103
+          return false
104
+        }
91 105
         this.detail.OrgId = this.orgid
92 106
         if (!this.detail.CaseId || this.detail.CaseId === '') {
93 107
           this.detail.CaseId = this.caseid
@@ -100,6 +114,20 @@ export default {
100 114
           this.$router.push({ name: 'deviceManager' })
101 115
         })
102 116
       } else {
117
+        if ((this.detail.Name || '') === '') {
118
+          this.$message({
119
+            message: '设备名称不能为空',
120
+            type: 'error'
121
+          })
122
+          return false
123
+        }
124
+        if ((this.detail.EquipmentCode || '') === '') {
125
+          this.$message({
126
+            message: '设备Code不能为空',
127
+            type: 'error'
128
+          })
129
+          return false
130
+        }
103 131
         this.UpdateDevice(this.detail).then(() => {
104 132
           this.$message({
105 133
             type: 'success',

+ 19
- 2
src/pages/system/caseManager/keyManager/index.vue 파일 보기

@@ -117,12 +117,14 @@
117 117
 </template>
118 118
 
119 119
 <script>
120
-import { mapState } from 'vuex'
120
+import { createNamespacedHelpers, mapState } from 'vuex'
121
+const { mapActions: mapDeviceActions } = createNamespacedHelpers('device')
121 122
 
122 123
 export default {
123 124
   name: '',
124 125
   data () {
125 126
     return {
127
+      currentItem: {},
126 128
       gridData: [],
127 129
       showCardList: false, // 显隐卡列表
128 130
       bindPhone: '', // 绑定手机号
@@ -158,11 +160,25 @@ export default {
158 160
     }
159 161
   },
160 162
   methods: {
163
+    ...mapDeviceActions([
164
+      'bindKeyByPhone',
165
+    ]),
161 166
     addKey () {
162 167
       this.$router.push({ name: 'addKey' })
163 168
     },
164 169
     sureBindPhone () { // 确认绑定手机号
165
-      this.showCardList = true
170
+      this.bindKeyByPhone({
171
+        phone: this.bindPhone,
172
+        keyid: this.currentItem.KeyId
173
+      }).then((res) => {
174
+        this.$message({
175
+          message: '操作成功',
176
+          type: 'success'
177
+        })
178
+        this.dialogTableVisible = false
179
+        this.bindPhone = ''
180
+        this.getList()
181
+      })
166 182
     },
167 183
     search () { // 搜索
168 184
       this.postData.page = 1
@@ -186,6 +202,7 @@ export default {
186 202
       this.getList()
187 203
     },
188 204
     bindItem (index, row) { // 绑定
205
+      this.currentItem = row
189 206
       this.dialogTableVisible = true
190 207
     },
191 208
     unBindItem (index, row) { // 解绑

+ 6
- 42
src/pages/system/cmsManager/bannerManager/edit.vue 파일 보기

@@ -6,12 +6,12 @@
6 6
           <span>跳转类型:<em>*</em></span>
7 7
           <div class="flex-item">
8 8
             <div style="width:50%" class="radio">
9
-                <el-radio v-model="postData.ForwardType" label='1' >链接</el-radio>
10
-                <el-radio v-model="postData.ForwardType" label='0' >课程</el-radio>
9
+                <el-radio v-model="postData.ForwardType" label='url' >链接</el-radio>
10
+                <el-radio v-model="postData.ForwardType" label='course' >课程</el-radio>
11 11
             </div>
12 12
           </div>
13 13
         </li>
14
-        <li class="flex-h" v-if="postData.ForwardType==='1'">
14
+        <li class="flex-h" v-if="postData.ForwardType==='url'">
15 15
           <span>链接:<em>*</em></span>
16 16
           <div class="flex-item">
17 17
             <div style="width:50%">
@@ -126,11 +126,11 @@ export default {
126 126
   components: {},
127 127
   created () {
128 128
     this.GetCourseList({page: 1, pagesize: 100, callback: this.getDetail})
129
-    this.updateLocationInfo()
129
+    this.updateLocationAllInfo()
130 130
   },
131 131
   computed: {
132 132
     ...mapState({
133
-      positionList: x => x.cms.location,
133
+      positionList: x => x.cms.locationAll,
134 134
       OrgId: x => x.app.user.OrgId,
135 135
       caseList: x => x.app.cases.list
136 136
     }),
@@ -142,7 +142,7 @@ export default {
142 142
     ...mapCourseActions([
143 143
       'GetCourseList',
144 144
     ]),
145
-    ...mapCmsActions(['updateLocationInfo']),
145
+    ...mapCmsActions(['updateLocationAllInfo']),
146 146
     submit () {
147 147
       if (this.postData.ForwardType === 'url') {
148 148
         this.postData.ForwardResourceId = ''
@@ -188,14 +188,6 @@ export default {
188 188
       }
189 189
       this.postData.OrgId = this.OrgId
190 190
       this.postData.CaseId = this.CaseId
191
-      this.postData.ForwardType === '1' ? this.postData.ForwardType = 'url' : this.postData.ForwardType = 'course'
192
-      // this.postData.ImageUrl = ''
193
-      // for (let i = 0; i < this.imgsArr.length; i++) {
194
-      //   this.postData.ImageUrl += this.imgsArr[i].response.result.url + ','
195
-      // }
196
-      // if (this.postData.ImageUrl) {
197
-      //   this.postData.ImageUrl = this.postData.ImageUrl.substr(0, this.postData.ImageUrl.length - 1)
198
-      // }
199 191
       this.$ajax(this.$api.cms.editImage.url, {
200 192
         method: this.$api.cms.editImage.method,
201 193
         data: this.postData,
@@ -225,40 +217,12 @@ export default {
225 217
           id: this.$route.query.id
226 218
         }
227 219
       }).then(res => {
228
-        console.log(res)
229 220
         res.Status = res.Status + ''
230
-        res.ForwardType === 'url' ? res.ForwardType = '1' : res.ForwardType = '0'
231
-        // let imgsArr = []
232
-        // let item = {
233
-        //   url: res.ImageUrl,
234
-        //   response: {
235
-        //     result: {
236
-        //       url: res.ImageUrl
237
-        //     }
238
-        //   }
239
-        // }
240
-        // imgsArr.push(item)
241
-        // this.imgsArr = imgsArr
242 221
         this.postData = res
243 222
       }).catch(msg => {
244 223
 
245 224
       })
246 225
     },
247
-    // handlePictureCardPreview (res, file, fileList) {
248
-    //   this.imgs = res.result.url
249
-    //   this.dialogVisible = false
250
-    //   this.imgsArr = fileList
251
-    // },
252
-    // handleRemove (file, fileList) {
253
-    //   this.imgsArr = fileList
254
-    // },
255
-    // exceed () {
256
-    //   this.$message({
257
-    //     message: '超过可传的图片上限',
258
-    //     type: 'info',
259
-    //     duration: 1000
260
-    //   })
261
-    // }
262 226
     handleAvatarSuccess (res, file) {
263 227
       this.postData.ImageUrl = res.result.url
264 228
     }

+ 3
- 8
src/pages/system/cmsManager/bannerManager/index.vue 파일 보기

@@ -73,7 +73,7 @@ export default {
73 73
   },
74 74
   computed: {
75 75
     ...mapState({
76
-      positionList: x => x.cms.location
76
+      positionList: x => x.cms.locationAll,
77 77
     })
78 78
   },
79 79
   components: {
@@ -83,10 +83,10 @@ export default {
83 83
     this.updateSystemInfo().then(() => {
84 84
       this.getList()
85 85
     })
86
-    this.updateLocationInfo()
86
+    this.updateLocationAllInfo()
87 87
   },
88 88
   methods: {
89
-    ...mapCmsActions(['updateLocationInfo']),
89
+    ...mapCmsActions(['updateLocationAllInfo']),
90 90
     ...mapActions(['updateSystemInfo']),
91 91
     handleCurrentChange (val) {
92 92
       this.postData.currentPage = val
@@ -109,9 +109,6 @@ export default {
109 109
         })
110 110
       })
111 111
     },
112
-    // searchList (key) { // 搜索列表
113
-    //   console.log(key)
114
-    // },
115 112
     addBanner () {
116 113
       this.$router.push({ name: 'addBanner' })
117 114
     },
@@ -124,7 +121,6 @@ export default {
124 121
           pagesize: this.postData.pageSize
125 122
         }
126 123
       }).then(res => {
127
-        console.log(res)
128 124
         let length = res.list.length
129 125
         for (let i = 0; i < length; i++) {
130 126
           if (res.list[i].Status === 1) {
@@ -152,7 +148,6 @@ export default {
152 148
           id: id
153 149
         }
154 150
       }).then(res => {
155
-        console.log(res)
156 151
         this.$message({
157 152
           type: 'success',
158 153
           message: '删除成功!'

+ 4
- 2
src/pages/system/cmsManager/newsManager/add.vue 파일 보기

@@ -27,7 +27,7 @@
27 27
           <span>课程:<em>*</em></span>
28 28
           <div class="flex-item">
29 29
             <div style="width:50%">
30
-              <el-select v-model="postData.ForwardResourceId" placeholder="请选择课程">
30
+              <el-select v-model="postData.ForwardCourseId" placeholder="请选择课程">
31 31
                 <el-option
32 32
                   v-for="item in courses.list"
33 33
                   :key="item.CourseId"
@@ -137,6 +137,7 @@ export default {
137 137
       positionList: x => x.cms.locationAll,
138 138
       OrgId: x => x.app.user.OrgId,
139 139
       CaseId: x => x.app.cases.default,
140
+      defaultCaseId: x => x.app.cases.default,
140 141
     }),
141 142
     ...mapCourseState({
142 143
       courses: x => x.courseList,
@@ -171,7 +172,7 @@ export default {
171 172
         }
172 173
       } else {
173 174
         this.postData.ForwardUrl = ''
174
-        if (this.postData.ForwardResourceId === '') {
175
+        if (this.postData.ForwardCourseId === '') {
175 176
           this.$message({
176 177
             message: '课程不能为空',
177 178
             type: 'error',
@@ -200,6 +201,7 @@ export default {
200 201
         })
201 202
         return false
202 203
       }
204
+      this.postData.CaseId = this.defaultCaseId
203 205
       this.postData.locationids = this.postData.LocationIds.join(',')
204 206
       this.$ajax(this.$api.cms.addNews.url, {
205 207
         method: this.$api.cms.addNews.method,

+ 10
- 3
src/pages/system/cmsManager/newsManager/edit.vue 파일 보기

@@ -27,7 +27,7 @@
27 27
           <span>课程:<em>*</em></span>
28 28
           <div class="flex-item">
29 29
             <div style="width:50%">
30
-              <el-select v-model="postData.ForwardResourceId" placeholder="请选择课程">
30
+              <el-select v-model="postData.ForwardCourseId" placeholder="请选择课程">
31 31
                 <el-option
32 32
                   v-for="item in courses.list"
33 33
                   :key="item.CourseId"
@@ -100,6 +100,7 @@
100 100
 <script>
101 101
 import { mapState, createNamespacedHelpers } from 'vuex'
102 102
 const { mapActions: mapCmsActions } = createNamespacedHelpers('cms')
103
+const { mapState: mapCourseState, mapActions: mapCourseActions } = createNamespacedHelpers('course')
103 104
 export default {
104 105
   name: '',
105 106
   data () {
@@ -125,14 +126,21 @@ export default {
125 126
   created () {
126 127
     this.updateLocationInfo().then(() => {
127 128
       this.getDetail()
129
+      this.GetCourseList({ page: 1, pagesize: 10000 })
128 130
     })
129 131
   },
130 132
   computed: {
131 133
     ...mapState({
132 134
       positionList: x => x.cms.location
135
+    }),
136
+    ...mapCourseState({
137
+      courses: x => x.courseList,
133 138
     })
134 139
   },
135 140
   methods: {
141
+    ...mapCourseActions([
142
+      'GetCourseList',
143
+    ]),
136 144
     ...mapCmsActions(['updateLocationInfo']),
137 145
     submit () {
138 146
       if (this.postData.ForwardType === 'url') {
@@ -155,7 +163,7 @@ export default {
155 163
         }
156 164
       } else {
157 165
         this.postData.ForwardUrl = ''
158
-        if (this.postData.ForwardResourceId === '') {
166
+        if (this.postData.ForwardCourseId === '') {
159 167
           this.$message({
160 168
             message: '课程不能为空',
161 169
             type: 'error',
@@ -214,7 +222,6 @@ export default {
214 222
           id: this.$route.query.id
215 223
         }
216 224
       }).then(res => {
217
-        res.ForwardType === 'url' ? res.ForwardType = '1' : res.ForwardType = '0'
218 225
         res.Status += ''
219 226
         res.LocationIds = res.NewsLocations.reduce((previousValue, currentValue, index, array) => {
220 227
           previousValue.push(currentValue.LocationId)

+ 33
- 5
src/pages/system/courseManager/fiveA/add.vue 파일 보기

@@ -3,7 +3,7 @@
3 3
     <form class="mainForm">
4 4
       <ul>
5 5
         <li class="flex-h">
6
-          <span>名称:</span>
6
+          <span>名称:<em>*</em></span>
7 7
           <div class="flex-item">
8 8
             <div style="width:50%">
9 9
               <el-input
@@ -15,7 +15,7 @@
15 15
           </div>
16 16
         </li>
17 17
         <li class="flex-h">
18
-          <span>标题:</span>
18
+          <span>标题:<em>*</em></span>
19 19
           <div class="flex-item">
20 20
             <div style="width:50%">
21 21
               <el-input
@@ -27,7 +27,7 @@
27 27
           </div>
28 28
         </li>
29 29
         <li class="flex-h">
30
-          <span>资讯分类:</span>
30
+          <span>资讯分类:<em>*</em></span>
31 31
           <div class="flex-item">
32 32
             <div style="width:50%">
33 33
               <el-input
@@ -39,7 +39,7 @@
39 39
           </div>
40 40
         </li>
41 41
         <li class="flex-h">
42
-          <span>图片:</span>
42
+          <span>图片:<em>*</em></span>
43 43
           <div class="flex-item">
44 44
             <el-upload
45 45
               action='string'
@@ -103,6 +103,34 @@ export default {
103 103
   methods: {
104 104
     ...mapActions(['updateSystemInfo']),
105 105
     submit () {
106
+      if (this.postData.LocationName === '') {
107
+        this.$message({
108
+          type: 'error',
109
+          message: '名称不能为空'
110
+        })
111
+        return false
112
+      }
113
+      if (this.postData.Title === '') {
114
+        this.$message({
115
+          type: 'error',
116
+          message: '标题不能为空'
117
+        })
118
+        return false
119
+      }
120
+      if (this.postData.Consult === '') {
121
+        this.$message({
122
+          type: 'error',
123
+          message: '资讯分类不能为空'
124
+        })
125
+        return false
126
+      }
127
+      if (!this.imgsArr.length) {
128
+        this.$message({
129
+          type: 'error',
130
+          message: '图片不能为空'
131
+        })
132
+        return false
133
+      }
106 134
       this.postData.OrgId = this.OrgId
107 135
       this.postData.TypeImg = ''
108 136
       for (let i = 0; i < this.imgsArr.length; i++) {
@@ -111,7 +139,7 @@ export default {
111 139
       if (this.postData.TypeImg) {
112 140
         this.postData.TypeImg = this.postData.TypeImg.substr(0, this.postData.TypeImg.length - 1)
113 141
       }
114
-      console.log(this.postData)
142
+      // console.log(this.postData)
115 143
       this.$ajax(this.$api.cms.addLocation.url, {
116 144
         method: this.$api.cms.addLocation.method,
117 145
         data: this.postData

+ 32
- 16
src/pages/system/courseManager/fiveA/edit.vue 파일 보기

@@ -3,7 +3,7 @@
3 3
     <form class="mainForm">
4 4
       <ul>
5 5
         <li class="flex-h">
6
-          <span>名称:</span>
6
+          <span>名称:<em>*</em></span>
7 7
           <div class="flex-item">
8 8
             <div style="width:50%">
9 9
               <el-input
@@ -15,7 +15,7 @@
15 15
           </div>
16 16
         </li>
17 17
         <li class="flex-h">
18
-          <span>标题:</span>
18
+          <span>标题:<em>*</em></span>
19 19
           <div class="flex-item">
20 20
             <div style="width:50%">
21 21
               <el-input
@@ -27,7 +27,7 @@
27 27
           </div>
28 28
         </li>
29 29
         <li class="flex-h">
30
-          <span>资讯分类:</span>
30
+          <span>资讯分类:<em>*</em></span>
31 31
           <div class="flex-item">
32 32
             <div style="width:50%">
33 33
               <el-input
@@ -38,20 +38,8 @@
38 38
             </div>
39 39
           </div>
40 40
         </li>
41
-        <!-- <li class="flex-h">
42
-          <span>编码:</span>
43
-          <div class="flex-item">
44
-            <div style="width:50%">
45
-              <el-input
46
-                placeholder="请输入编码"
47
-                v-model="postData.LocationCode"
48
-                clearable>
49
-              </el-input>
50
-            </div>
51
-          </div>
52
-        </li> -->
53 41
         <li class="flex-h">
54
-          <span>图片:</span>
42
+          <span>图片:<em>*</em></span>
55 43
           <div class="flex-item">
56 44
             <el-upload
57 45
               action='string'
@@ -116,6 +104,34 @@ export default {
116 104
   methods: {
117 105
     ...mapActions(['updateSystemInfo']),
118 106
     submit () {
107
+      if (this.postData.LocationName === '') {
108
+        this.$message({
109
+          type: 'error',
110
+          message: '名称不能为空'
111
+        })
112
+        return false
113
+      }
114
+      if (this.postData.Title === '') {
115
+        this.$message({
116
+          type: 'error',
117
+          message: '标题不能为空'
118
+        })
119
+        return false
120
+      }
121
+      if (this.postData.Consult === '') {
122
+        this.$message({
123
+          type: 'error',
124
+          message: '资讯分类不能为空'
125
+        })
126
+        return false
127
+      }
128
+      if (!this.imgsArr.length) {
129
+        this.$message({
130
+          type: 'error',
131
+          message: '图片不能为空'
132
+        })
133
+        return false
134
+      }
119 135
       this.postData.OrgId = this.OrgId
120 136
       this.postData.TypeImg = ''
121 137
       for (let i = 0; i < this.imgsArr.length; i++) {

+ 9
- 2
src/pages/system/goodsManager/goodsSpecManager/add.vue 파일 보기

@@ -3,7 +3,7 @@
3 3
     <form class="mainForm">
4 4
       <ul>
5 5
         <li class="flex-h">
6
-          <span>规格名:</span>
6
+          <span>规格名:<em>*</em></span>
7 7
           <div class="flex-item">
8 8
             <div style="width:50%">
9 9
               <el-input
@@ -15,7 +15,7 @@
15 15
           </div>
16 16
         </li>
17 17
         <li class="flex-h">
18
-          <span>选择案场:</span>
18
+          <span>选择案场:<em>*</em></span>
19 19
           <div class="flex-item">
20 20
             <div style="width:50%">
21 21
               <el-select v-model="CaseId" placeholder="请选择">
@@ -72,6 +72,13 @@ export default {
72 72
   components: {},
73 73
   methods: {
74 74
     submit () { // 提交数据
75
+      if (this.postData.SpecName === '') {
76
+        this.$message({
77
+          message: '规格名不能为空',
78
+          type: 'error'
79
+        })
80
+        return false
81
+      }
75 82
       this.postData.OrgId = this.OrgId
76 83
       if (this.postData.CaseId === '') this.postData.CaseId = this.CaseId
77 84
       this.$ajax(this.$api.goodsManager.addGoodsSpec.url, {

+ 2
- 2
src/pages/system/goodsManager/goodsSpecManager/edit.vue 파일 보기

@@ -3,7 +3,7 @@
3 3
     <form class="mainForm">
4 4
       <ul>
5 5
         <li class="flex-h">
6
-          <span>规格名:</span>
6
+          <span>规格名:<em>*</em></span>
7 7
           <div class="flex-item">
8 8
             <div style="width:50%">
9 9
               <el-input
@@ -15,7 +15,7 @@
15 15
           </div>
16 16
         </li>
17 17
         <li class="flex-h">
18
-          <span>选择案场:</span>
18
+          <span>选择案场:<em>*</em></span>
19 19
           <div class="flex-item">
20 20
             <div style="width:50%">
21 21
               <el-select v-model="CaseId" placeholder="请选择">

+ 17
- 3
src/pages/system/goodsManager/goodsTypeManager/add.vue 파일 보기

@@ -3,7 +3,7 @@
3 3
     <form class="mainForm">
4 4
       <ul>
5 5
         <li class="flex-h">
6
-          <span>商品种类:</span>
6
+          <span>商品种类:<em>*</em></span>
7 7
           <div class="flex-item">
8 8
             <div style="width:50%">
9 9
               <el-input
@@ -16,7 +16,7 @@
16 16
           </div>
17 17
         </li>
18 18
         <li class="flex-h">
19
-          <span>种类英文:</span>
19
+          <span>种类英文:<em>*</em></span>
20 20
           <div class="flex-item">
21 21
             <div style="width:50%">
22 22
               <el-input
@@ -29,7 +29,7 @@
29 29
           </div>
30 30
         </li>
31 31
         <li class="flex-h">
32
-          <span>选择案场:</span>
32
+          <span>选择案场:<em>*</em></span>
33 33
           <div class="flex-item">
34 34
             <div style="width:50%">
35 35
               <el-select v-model="CaseId" placeholder="请选择">
@@ -94,6 +94,20 @@ export default {
94 94
   components: {},
95 95
   methods: {
96 96
     submit () {
97
+      if (this.postData.TypeName === '') {
98
+        this.$message({
99
+          type: 'error',
100
+          message: '种类名称不能为空'
101
+        })
102
+        return false
103
+      }
104
+      if (this.postData.EnglishName === '') {
105
+        this.$message({
106
+          type: 'error',
107
+          message: '种类英文不能为空'
108
+        })
109
+        return false
110
+      }
97 111
       this.postData.OrgId = this.OrgId
98 112
       if (this.postData.CaseId === '') this.postData.CaseId = this.CaseId
99 113
       this.$ajax(this.$api.goodsManager.addGoodsType.url, {

+ 11
- 4
src/pages/system/goodsManager/goodsTypeManager/edit.vue 파일 보기

@@ -3,7 +3,7 @@
3 3
     <form class="mainForm">
4 4
       <ul>
5 5
         <li class="flex-h">
6
-          <span>商品种类:</span>
6
+          <span>商品种类:<em>*</em></span>
7 7
           <div class="flex-item">
8 8
             <div style="width:50%">
9 9
               <el-input
@@ -16,7 +16,7 @@
16 16
           </div>
17 17
         </li>
18 18
         <li class="flex-h">
19
-          <span>种类英文:</span>
19
+          <span>种类英文:<em>*</em></span>
20 20
           <div class="flex-item">
21 21
             <div style="width:50%">
22 22
               <el-input
@@ -29,7 +29,7 @@
29 29
           </div>
30 30
         </li>
31 31
         <li class="flex-h">
32
-          <span>选择案场:</span>
32
+          <span>选择案场:<em>*</em></span>
33 33
           <div class="flex-item">
34 34
             <div style="width:50%">
35 35
               <el-select v-model="CaseId" placeholder="请选择">
@@ -93,7 +93,7 @@ export default {
93 93
         method: this.$api.goodsManager.getGoodsTypeById.method,
94 94
         urlData: {id: this.$route.query.id}
95 95
       }).then(res => {
96
-        console.log(res)
96
+        // console.log(res)
97 97
         this.postData = res
98 98
       })
99 99
     },
@@ -105,6 +105,13 @@ export default {
105 105
         })
106 106
         return false
107 107
       }
108
+      if (this.postData.EnglishName === '') {
109
+        this.$message({
110
+          type: 'error',
111
+          message: '种类英文不能为空'
112
+        })
113
+        return false
114
+      }
108 115
       this.$ajax(this.$api.goodsManager.editGoodsType.url, {
109 116
         method: this.$api.goodsManager.editGoodsType.method,
110 117
         data: this.postData,

+ 2
- 2
src/pages/system/newOrder/newOrderList/index.vue 파일 보기

@@ -30,7 +30,7 @@
30 30
           <div style="padding:25px 20px 5px;border-bottom:2px solid #cccccc;">
31 31
             <i class="iconfont icon-yinchenglogo" style="font-size:70px;color:red;position: relative;bottom: 20px;margin-right:10px;"></i>
32 32
             <div style="display:inline-block;">
33
-              <span style="display:block;font-size:20px;font-weight:700;">{{item.AreaName + item.TableNo}}</span>
33
+              <span style="display:block;font-size:20px;font-weight:700;width:180px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">{{item.AreaName + item.TableNo}}</span>
34 34
               <span style="display:block;margin-top:10px">下单时间:{{toolClass.dateFormat(item.CreateDate)}}</span>
35 35
               <span style="display:block;margin-top:10px">已等待:<span style="color:red;font-weight:700;">{{leftTimes[item.OrdersId]}}</span></span>
36 36
             </div>
@@ -231,7 +231,7 @@ export default {
231 231
       console.log(this.user)
232 232
       let caseid = this.caseid
233 233
       let id = this.userInfo.UserId
234
-      const wsuri = `${window.location.origin.replace('http', 'ws')}/api/common/MQ/websocket/${caseid}/${id}`
234
+      const wsuri = `${window.location.origin.replace('http', 'ws')}/api-v2/common/MQ/websocket/${caseid}/${id}`
235 235
       // const wsuri = `ws://192.168.0.11/api/guest/MQ/websocket/${caseid}/${id}`
236 236
       try {
237 237
         this.websock = new WebSocket(wsuri)

+ 10
- 0
src/store/case/device.js 파일 보기

@@ -16,6 +16,16 @@ export default {
16 16
     },
17 17
   },
18 18
   actions: {
19
+    bindKeyByPhone ({ commit }, payload) {
20
+      return new Promise((resolve, reject) => {
21
+        ajax(api.caseManager.bindKeyByPhone.url, {
22
+          method: api.caseManager.bindKeyByPhone.method,
23
+          urlData: { ...payload },
24
+        }).then(res => {
25
+          resolve(res)
26
+        }).catch(reject)
27
+      })
28
+    },
19 29
     bindKeyer ({ commit }, payload) {
20 30
       return new Promise((resolve, reject) => {
21 31
         ajax(api.caseManager.bindKey.url, {

+ 4
- 0
src/util/api.js 파일 보기

@@ -89,6 +89,10 @@ const $api = {
89 89
       method: 'get',
90 90
       url: `${baseUrl}${common}/case/key`
91 91
     },
92
+    bindKeyByPhone: {
93
+      method: 'post',
94
+      url: `${baseUrl}${common}/case/key/:phone/:keyid`
95
+    },
92 96
     bindKey: {
93 97
       method: 'post',
94 98
       url: `${baseUrl}${common}/case/key/:keyid/:customerid/:customername`