Преглед изворни кода

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

yuantianjiao пре 6 година
родитељ
комит
59e13638f0
38 измењених фајлова са 423 додато и 137 уклоњено
  1. 5
    2
      src/pages/system/caseManager/caseAreaManager/add.vue
  2. 5
    2
      src/pages/system/caseManager/caseAreaManager/edit.vue
  3. 5
    3
      src/pages/system/caseManager/caseAreaManager/index.vue
  4. 4
    0
      src/pages/system/caseManager/caseInfo/addCase/index.vue
  5. 1
    0
      src/pages/system/caseManager/caseInfo/addCase/page.scss
  6. 3
    8
      src/pages/system/caseManager/caseInfo/index.vue
  7. 15
    5
      src/pages/system/caseManager/caseInfo/pplConcerned/editPPLConcerned/index.vue
  8. 8
    6
      src/pages/system/caseManager/caseInfo/pplConcerned/index.vue
  9. 26
    5
      src/pages/system/caseManager/caseTableManager/add.vue
  10. 25
    4
      src/pages/system/caseManager/caseTableManager/edit.vue
  11. 7
    21
      src/pages/system/caseManager/caseTableManager/index.vue
  12. 2
    1
      src/pages/system/caseManager/deviceManager/add.vue
  13. 2
    0
      src/pages/system/caseManager/deviceManager/index.vue
  14. 40
    10
      src/pages/system/caseManager/keyManager/index.vue
  15. 4
    8
      src/pages/system/caseManager/tagManager/index.vue
  16. 9
    7
      src/pages/system/channelManager/channelList/index.vue
  17. 18
    0
      src/pages/system/cmsManager/bannerManager/add.vue
  18. 18
    0
      src/pages/system/cmsManager/bannerManager/edit.vue
  19. 11
    4
      src/pages/system/cmsManager/indexMsg/add.vue
  20. 11
    4
      src/pages/system/cmsManager/indexMsg/edit.vue
  21. 9
    2
      src/pages/system/cmsManager/indexMsg/index.vue
  22. 9
    3
      src/pages/system/cmsManager/majorProjects/index.vue
  23. 21
    4
      src/pages/system/cmsManager/newsManager/add.vue
  24. 21
    4
      src/pages/system/cmsManager/newsManager/edit.vue
  25. 2
    1
      src/pages/system/cmsManager/newsManager/index.vue
  26. 13
    2
      src/pages/system/dataStatistics/frontEndUserList/index.vue
  27. 15
    4
      src/pages/system/goodsManager/goodsSpecManager/index.vue
  28. 5
    3
      src/pages/system/goodsManager/goodsTypeManager/index.vue
  29. 10
    10
      src/pages/system/page.js
  30. 8
    0
      src/pages/system/systemSet/roleManager/add.vue
  31. 0
    1
      src/pages/system/systemSet/roleManager/index.vue
  32. 9
    1
      src/pages/system/systemSet/userManager/add.vue
  33. 10
    2
      src/pages/system/systemSet/userManager/edit.vue
  34. 50
    6
      src/pages/system/systemSet/userManager/index.vue
  35. 2
    2
      src/store/app.js
  36. 3
    0
      src/store/case/device.js
  37. 5
    2
      src/store/cms/index.js
  38. 12
    0
      src/util/api.js

+ 5
- 2
src/pages/system/caseManager/caseAreaManager/add.vue Прегледај датотеку

@@ -9,7 +9,9 @@
9 9
               <el-input
10 10
                 placeholder="请输入区域名"
11 11
                 v-model="postData.AreaName"
12
-                clearable>
12
+                clearable
13
+                maxlength="5"
14
+                >
13 15
               </el-input>
14 16
             </div>
15 17
           </div>
@@ -88,7 +90,8 @@ export default {
88 90
   computed: {
89 91
     ...mapState({
90 92
       cases: x => x.app.cases.list,
91
-      defaultCaseId: x => x.app.cases.default
93
+      defaultCaseId: x => x.app.cases.default,
94
+      OrgId: x => x.app.user.OrgId,
92 95
     }),
93 96
     CaseId: {
94 97
       get () {

+ 5
- 2
src/pages/system/caseManager/caseAreaManager/edit.vue Прегледај датотеку

@@ -9,7 +9,9 @@
9 9
               <el-input
10 10
                 placeholder="请输入区域名"
11 11
                 v-model="postData.AreaName"
12
-                clearable>
12
+                clearable
13
+                maxlength="5"
14
+                >
13 15
               </el-input>
14 16
             </div>
15 17
           </div>
@@ -88,7 +90,8 @@ export default {
88 90
   computed: {
89 91
     ...mapState({
90 92
       cases: x => x.app.cases.list,
91
-      defaultCaseId: x => x.app.cases.default
93
+      defaultCaseId: x => x.app.cases.default,
94
+      OrgId: x => x.app.user.OrgId,
92 95
     }),
93 96
     CaseId: {
94 97
       get () {

+ 5
- 3
src/pages/system/caseManager/caseAreaManager/index.vue Прегледај датотеку

@@ -44,7 +44,7 @@
44 44
         </el-table-column>
45 45
         <el-table-column
46 46
           prop="AreaIconWhite"
47
-          label="白图标">
47
+          label="白图标">
48 48
           <template slot-scope="scope">
49 49
             <a class="tableImg">
50 50
               <img :src="scope.row.AreaIconWhite" class="centerLabel contain" alt="">
@@ -95,8 +95,10 @@ export default {
95 95
       currentList: [],
96 96
     }
97 97
   },
98
-  created () {
99
-    this.getList()
98
+  mounted () {
99
+    this.$nextTick(function () {
100
+      this.getList()
101
+    })
100 102
   },
101 103
   computed: {
102 104
     ...mapState({

+ 4
- 0
src/pages/system/caseManager/caseInfo/addCase/index.vue Прегледај датотеку

@@ -9,6 +9,7 @@
9 9
               <el-input
10 10
                 placeholder="请输入名称"
11 11
                 v-model="postData.CaseName"
12
+                maxlength="10"
12 13
                 clearable>
13 14
               </el-input>
14 15
             </div>
@@ -22,6 +23,7 @@
22 23
                 type="textarea"
23 24
                 :autosize="{ minRows: 3, maxRows: 5}"
24 25
                 placeholder="请填写详细地址"
26
+                maxlength="30"
25 27
                 v-model="postData.CaseAddress">
26 28
               </el-input>
27 29
             </div>
@@ -35,6 +37,7 @@
35 37
                 type="textarea"
36 38
                 :autosize="{ minRows: 3, maxRows: 5}"
37 39
                 placeholder="请填写详细描述"
40
+                maxlength="30"
38 41
                 v-model="postData.CaseDesc">
39 42
               </el-input>
40 43
             </div>
@@ -47,6 +50,7 @@
47 50
               <el-input
48 51
                 placeholder="限中国地区有效号码"
49 52
                 v-model="postData.CaseTel"
53
+                maxlength="11"
50 54
                 clearable>
51 55
               </el-input>
52 56
             </div>

+ 1
- 0
src/pages/system/caseManager/caseInfo/addCase/page.scss Прегледај датотеку

@@ -14,6 +14,7 @@ span{
14 14
   &>div.search{
15 15
     display: inline-block;
16 16
     position: absolute;
17
+    padding: 10px;
17 18
   }
18 19
 
19 20
   &>div.flex-item{

+ 3
- 8
src/pages/system/caseManager/caseInfo/index.vue Прегледај датотеку

@@ -14,10 +14,6 @@
14 14
         :data="currentList"
15 15
         stripe
16 16
         style="width: 100%">
17
-        <el-table-column
18
-          prop="CaseId"
19
-          label="ID">
20
-        </el-table-column>
21 17
         <el-table-column
22 18
           prop="CaseName"
23 19
           label="案场名称">
@@ -70,10 +66,9 @@ export default {
70 66
     tableSearch,
71 67
   },
72 68
   mounted () {
73
-    this.$nextTick(function () { })
74
-  },
75
-  created () {
76
-    this.getList()
69
+    this.$nextTick(function () {
70
+      this.getList()
71
+    })
77 72
   },
78 73
   methods: {
79 74
     pplConcerned (index, row) { // 相关人员

+ 15
- 5
src/pages/system/caseManager/caseInfo/pplConcerned/editPPLConcerned/index.vue Прегледај датотеку

@@ -8,9 +8,9 @@
8 8
             <el-select v-model="postData.UserType" placeholder="请选择">
9 9
               <el-option
10 10
                 v-for="item in typeList"
11
-                :key="item.TypeId"
11
+                :key="item.TypeCode"
12 12
                 :label="item.TypeName"
13
-                :value="item.TypeId">
13
+                :value="item.TypeCode">
14 14
               </el-option>
15 15
             </el-select>
16 16
           </div>
@@ -22,6 +22,7 @@
22 22
               <el-input
23 23
                 placeholder="请输入名称"
24 24
                 v-model="postData.UserName"
25
+                maxlength="10"
25 26
                 clearable>
26 27
               </el-input>
27 28
             </div>
@@ -34,6 +35,7 @@
34 35
               <el-input
35 36
                 placeholder="请输入手机号码"
36 37
                 v-model="postData.Tel"
38
+                maxlength="11"
37 39
                 clearable>
38 40
               </el-input>
39 41
             </div>
@@ -98,11 +100,11 @@ export default {
98 100
       }
99 101
     },
100 102
     getUserTypeList () { // 获取用户类型
101
-      this.$ajax(this.$api.caseManager.getUserTypeList.url, {
102
-        method: this.$api.caseManager.getUserTypeList.method,
103
+      this.$ajax(this.$api.caseManager.getCaseUserType.url, {
104
+        method: this.$api.caseManager.getCaseUserType.method,
103 105
       }).then(res => {
104 106
         this.typeList = res
105
-        this.postData.UserType = res[0].TypeId
107
+        this.postData.UserType = res[0].TypeCode
106 108
       })
107 109
     },
108 110
     submit () { // 提交数据
@@ -120,6 +122,14 @@ export default {
120 122
         })
121 123
         return false
122 124
       }
125
+      var myreg = /^[1][3,4,5,6,7,8][0-9]{9}$/
126
+      if (!myreg.test(this.postData.Tel)) {
127
+        this.$message({
128
+          type: 'error',
129
+          message: '请输入正确的手机号!'
130
+        })
131
+        return false
132
+      }
123 133
       this.postData.OrgId = this.OrgId
124 134
       if (this.$route.query.userid !== undefined) {
125 135
         this.$ajax(this.$api.caseManager.editCaseUser.url, {

+ 8
- 6
src/pages/system/caseManager/caseInfo/pplConcerned/index.vue Прегледај датотеку

@@ -14,8 +14,10 @@
14 14
         stripe
15 15
         style="width: 100%">
16 16
         <el-table-column
17
-          prop="UserType"
18 17
           label="用户类型">
18
+          <template slot-scope="scope">
19
+            {{getUserType(scope.row)}}
20
+          </template>
19 21
         </el-table-column>
20 22
         <el-table-column
21 23
           prop="UserName"
@@ -67,10 +69,13 @@ export default {
67 69
     })
68 70
   },
69 71
   methods: {
72
+    getUserType (row) {
73
+      return (this.typeList.filter(x => x.TypeCode === row.UserType)[0] || {}).TypeName || ''
74
+    },
70 75
     getUserTypeList () { // 获取用户类型
71 76
       return new Promise((resolve) => {
72
-        this.$ajax(this.$api.caseManager.getUserTypeList.url, {
73
-          method: this.$api.caseManager.getUserTypeList.method,
77
+        this.$ajax(this.$api.caseManager.getCaseUserType.url, {
78
+          method: this.$api.caseManager.getCaseUserType.method,
74 79
         }).then(res => {
75 80
           this.typeList = res
76 81
           resolve()
@@ -85,9 +90,6 @@ export default {
85 90
         method: this.$api.caseManager.getCaseUserList.method,
86 91
         queryData: this.postData
87 92
       }).then(res => {
88
-        for (var n = 0; n < res.list.length; n++) {
89
-          res.list[n].UserType = this.typeList.filter(x => x.TypeId === res.list[n].UserType)[0].TypeName
90
-        }
91 93
         this.currentList = res.list
92 94
         this.postData.page = res.page
93 95
         this.total = res.pagenum

+ 26
- 5
src/pages/system/caseManager/caseTableManager/add.vue Прегледај датотеку

@@ -14,13 +14,28 @@
14 14
             </div>
15 15
           </div>
16 16
         </li>
17
+        <li class="flex-h">
18
+          <span>案场:</span>
19
+          <div class="flex-item">
20
+            <div style="width:50%">
21
+              <el-select v-model="CaseId" placeholder="请选择">
22
+                <el-option
23
+                  v-for="item in cases"
24
+                  :key="item.CaseId"
25
+                  :label="item.CaseName"
26
+                  :value="item.CaseId">
27
+                </el-option>
28
+              </el-select>
29
+            </div>
30
+          </div>
31
+        </li>
17 32
         <li class="flex-h">
18 33
           <span>区域:</span>
19 34
           <div class="flex-item">
20 35
             <div style="width:50%">
21 36
               <el-select v-model="postData.AreaId" placeholder="请选择">
22 37
                 <el-option
23
-                  v-for="item in caseAreaList"
38
+                  v-for="item in caseAreas"
24 39
                   :key="item.AreaId"
25 40
                   :label="item.AreaName"
26 41
                   :value="item.AreaId">
@@ -62,7 +77,9 @@ export default {
62 77
   computed: {
63 78
     ...mapState({
64 79
       cases: x => x.app.cases.list,
65
-      defaultCaseId: x => x.app.cases.default
80
+      caseids: x => x.app.cases.list.map(i => i.CaseId).join(','),
81
+      defaultCaseId: x => x.app.cases.default,
82
+      OrgId: x => x.app.user.OrgId,
66 83
     }),
67 84
     CaseId: {
68 85
       get () {
@@ -70,8 +87,12 @@ export default {
70 87
       },
71 88
       set (val) {
72 89
         this.postData.CaseId = val
90
+        this.postData.AreaId = ''
73 91
       }
74
-    }
92
+    },
93
+    caseAreas () {
94
+      return this.caseAreaList.filter(x => x.CaseId === this.CaseId)
95
+    },
75 96
   },
76 97
   components: {},
77 98
   methods: {
@@ -79,13 +100,13 @@ export default {
79 100
       this.$ajax(this.$api.caseManager.getCaseAreaList.url, {
80 101
         method: this.$api.caseManager.getCaseAreaList.method,
81 102
         queryData: {
82
-          caseid: this.CaseId, // 案场id
103
+          caseid: this.caseids, // 案场id
83 104
           page: 1, // 当前页码
84 105
           pagesize: 10000, // 请求数据量
85 106
         }
86 107
       }).then(res => {
87 108
         this.caseAreaList = res.list
88
-        this.postData.AreaId = res.list[0].AreaId
109
+        // this.postData.AreaId = res.list[0].AreaId
89 110
       })
90 111
     },
91 112
     submit () { // 提交数据

+ 25
- 4
src/pages/system/caseManager/caseTableManager/edit.vue Прегледај датотеку

@@ -14,13 +14,28 @@
14 14
             </div>
15 15
           </div>
16 16
         </li>
17
+        <li class="flex-h">
18
+          <span>案场:</span>
19
+          <div class="flex-item">
20
+            <div style="width:50%">
21
+              <el-select v-model="CaseId" placeholder="请选择">
22
+                <el-option
23
+                  v-for="item in cases"
24
+                  :key="item.CaseId"
25
+                  :label="item.CaseName"
26
+                  :value="item.CaseId">
27
+                </el-option>
28
+              </el-select>
29
+            </div>
30
+          </div>
31
+        </li>
17 32
         <li class="flex-h">
18 33
           <span>区域:</span>
19 34
           <div class="flex-item">
20 35
             <div style="width:50%">
21 36
               <el-select v-model="postData.AreaId" placeholder="请选择">
22 37
                 <el-option
23
-                  v-for="item in caseAreaList"
38
+                  v-for="item in caseAreas"
24 39
                   :key="item.AreaId"
25 40
                   :label="item.AreaName"
26 41
                   :value="item.AreaId">
@@ -63,7 +78,9 @@ export default {
63 78
   computed: {
64 79
     ...mapState({
65 80
       cases: x => x.app.cases.list,
66
-      defaultCaseId: x => x.app.cases.default
81
+      caseids: x => x.app.cases.list.map(i => i.CaseId).join(','),
82
+      defaultCaseId: x => x.app.cases.default,
83
+      OrgId: x => x.app.user.OrgId,
67 84
     }),
68 85
     CaseId: {
69 86
       get () {
@@ -71,8 +88,12 @@ export default {
71 88
       },
72 89
       set (val) {
73 90
         this.postData.CaseId = val
91
+        this.postData.AreaId = ''
74 92
       }
75
-    }
93
+    },
94
+    caseAreas () {
95
+      return this.caseAreaList.filter(x => x.CaseId === this.CaseId)
96
+    },
76 97
   },
77 98
   components: {},
78 99
   methods: {
@@ -88,7 +109,7 @@ export default {
88 109
       this.$ajax(this.$api.caseManager.getCaseAreaList.url, {
89 110
         method: this.$api.caseManager.getCaseAreaList.method,
90 111
         queryData: {
91
-          caseid: this.CaseId, // 案场id
112
+          caseid: this.caseids, // 案场id
92 113
           page: 1, // 当前页码
93 114
           pagesize: 10000, // 请求数据量
94 115
         }

+ 7
- 21
src/pages/system/caseManager/caseTableManager/index.vue Прегледај датотеку

@@ -34,7 +34,11 @@
34 34
           label="桌位名称">
35 35
         </el-table-column>
36 36
         <el-table-column
37
-          prop="AreaId"
37
+          prop="CaseName"
38
+          label="所属案场">
39
+        </el-table-column>
40
+        <el-table-column
41
+          prop="AreaName"
38 42
           label="区域">
39 43
         </el-table-column>
40 44
         <el-table-column label="操作">
@@ -92,27 +96,12 @@ export default {
92 96
       }
93 97
     }
94 98
   },
95
-  created () {
96
-    this.getAreaList().then(() => {
99
+  mounted () {
100
+    this.$nextTick(function () {
97 101
       this.getList()
98 102
     })
99 103
   },
100 104
   methods: {
101
-    getAreaList () {
102
-      return new Promise((resolve) => {
103
-        this.$ajax(this.$api.caseManager.getCaseAreaList.url, {
104
-          method: this.$api.caseManager.getCaseAreaList.method,
105
-          queryData: {
106
-            caseid: this.CaseId, // 案场id
107
-            page: 1, // 当前页码
108
-            pagesize: 10000, // 请求数据量
109
-          }
110
-        }).then(res => {
111
-          this.caseAreaList = res.list
112
-          resolve()
113
-        })
114
-      })
115
-    },
116 105
     search () { // 搜索
117 106
       this.postData.page = 1
118 107
       this.currentList = []
@@ -123,9 +112,6 @@ export default {
123 112
         method: this.$api.caseManager.getCaseTableList.method,
124 113
         queryData: { ...this.postData, caseid: this.CaseId }
125 114
       }).then(res => {
126
-        for (var n = 0; n < res.list.length; n++) {
127
-          res.list[n].AreaId = this.caseAreaList.filter(x => x.AreaId === res.list[n].AreaId)[0].AreaName
128
-        }
129 115
         this.currentList = res.list
130 116
         this.postData.page = res.page
131 117
         this.total = res.pagenum

+ 2
- 1
src/pages/system/caseManager/deviceManager/add.vue Прегледај датотеку

@@ -74,7 +74,7 @@ export default {
74 74
         return this.detail.CaseId || this.caseid
75 75
       },
76 76
       set (val) {
77
-        this.detail.CaseId = val
77
+        this.UpdateInfo({...this.detail, CaseId: val})
78 78
       }
79 79
     }
80 80
   },
@@ -84,6 +84,7 @@ export default {
84 84
       'AddDevice',
85 85
       'UpdateDevice',
86 86
       'SetDeviceNull',
87
+      'UpdateInfo',
87 88
     ]),
88 89
     submit () {
89 90
       if ((this.detail.EquipmentId || '') === '') {

+ 2
- 0
src/pages/system/caseManager/deviceManager/index.vue Прегледај датотеку

@@ -17,6 +17,8 @@
17 17
         </el-table-column>
18 18
         <el-table-column prop="Name" label="体检设备名称">
19 19
         </el-table-column>
20
+        <el-table-column prop="EquipmentCode" label="设备Code">
21
+        </el-table-column>
20 22
         <el-table-column label="创建时间" width="300">
21 23
           <template slot-scope="scope">
22 24
             <label>{{FormatDate(scope.row.CreateDate)}}</label>

+ 40
- 10
src/pages/system/caseManager/keyManager/index.vue Прегледај датотеку

@@ -17,6 +17,13 @@
17 17
               </el-option>
18 18
             </el-select>
19 19
           </li>
20
+          <li>
21
+            <el-input
22
+              :placeholder="'请输入锁柜编号'"
23
+              v-model="lockNum"
24
+            >
25
+            </el-input>
26
+          </li>
20 27
         </ul>
21 28
         <el-button
22 29
           size="mini"
@@ -40,17 +47,24 @@
40 47
         <el-table-column
41 48
           prop="Status"
42 49
           label="状态">
50
+          <template slot-scope="scope">
51
+            {{scope.row.Status===1?'有人':'无人'}}
52
+          </template>
43 53
         </el-table-column>
44 54
         <el-table-column label="操作">
45 55
           <template slot-scope="scope">
46
-            <el-button v-if="scope.row.Status==='有人'"
56
+            <el-button v-if="scope.row.Status===1"
47 57
               size="mini"
48 58
               type="danger"
49 59
               @click="unBindItem(scope.$index, scope.row)">解绑</el-button>
50
-            <el-button v-if="scope.row.Status==='无人'"
60
+            <el-button v-if="scope.row.Status===0"
51 61
               size="mini"
52 62
               type="success"
53 63
               @click="bindItem(scope.$index, scope.row)">绑定</el-button>
64
+            <el-button v-if="scope.row.Status===0"
65
+              size="mini"
66
+              type="danger"
67
+              @click="deleteItem(scope.$index, scope.row)">删除</el-button>
54 68
           </template>
55 69
         </el-table-column>
56 70
       </el-table>
@@ -110,10 +124,13 @@ export default {
110 124
         pagesize: 10, // 请求数据量
111 125
       },
112 126
       currentList: [],
127
+      lockNum: '',
113 128
     }
114 129
   },
115
-  created () {
116
-    this.getList()
130
+  mounted () {
131
+    this.$nextTick(function () {
132
+      this.getList()
133
+    })
117 134
   },
118 135
   computed: {
119 136
     ...mapState({
@@ -144,13 +161,8 @@ export default {
144 161
     getList () { // 获取列表
145 162
       this.$ajax(this.$api.caseManager.getKeyList.url, {
146 163
         method: this.$api.caseManager.getKeyList.method,
147
-        queryData: { ...this.postData, caseid: this.CaseId }
164
+        queryData: { ...this.postData, caseid: this.CaseId, num: this.lockNum }
148 165
       }).then(res => {
149
-        if (res.list !== null) {
150
-          for (var n = 0; n < res.list.length; n++) {
151
-            res.list[n].Status === 0 ? res.list[n].Status = '无人' : res.list[n].Status = '有人'
152
-          }
153
-        }
154 166
         this.currentList = res.list
155 167
         this.postData.page = res.page
156 168
         this.total = res.pagenum
@@ -185,6 +197,24 @@ export default {
185 197
         })
186 198
       })
187 199
     },
200
+    deleteItem (index, row) {
201
+      this.$confirm('确认删除此锁柜?', '提示', {
202
+        confirmButtonText: '确定',
203
+        cancelButtonText: '取消',
204
+        type: 'warning'
205
+      }).then(() => {
206
+        this.$ajax(this.$api.caseManager.deleteKey.url, {
207
+          method: this.$api.caseManager.deleteKey.method,
208
+          urlData: { id: row.KeyId }
209
+        }).then(res => {
210
+          this.$message({
211
+            type: 'success',
212
+            message: '删除成功!'
213
+          })
214
+          this.getList()
215
+        })
216
+      })
217
+    },
188 218
   }
189 219
 }
190 220
 </script>

+ 4
- 8
src/pages/system/caseManager/tagManager/index.vue Прегледај датотеку

@@ -36,9 +36,6 @@
36 36
         <el-table-column
37 37
           prop="CaseNames"
38 38
           label="案场">
39
-          <template slot-scope="scope">
40
-            <span v-for="(item,index) in scope.row.CaseNames" :key="index">{{item}}<br></span>
41
-          </template>
42 39
         </el-table-column>
43 40
         <el-table-column label="操作">
44 41
           <template slot-scope="scope">
@@ -95,8 +92,10 @@ export default {
95 92
       }
96 93
     }
97 94
   },
98
-  created () {
99
-    this.getList()
95
+  mounted () {
96
+    this.$nextTick(function () {
97
+      this.getList()
98
+    })
100 99
   },
101 100
   methods: {
102 101
     search () { // 搜索
@@ -109,9 +108,6 @@ export default {
109 108
         method: this.$api.caseManager.getCaseTagList.method,
110 109
         queryData: { ...this.postData, caseid: this.CaseId }
111 110
       }).then(res => {
112
-        for (var n = 0; n < res.list.length; n++) {
113
-          res.list[n].CaseNames = res.list[n].CaseNames.split(',')
114
-        }
115 111
         this.currentList = res.list
116 112
         this.postData.page = res.page
117 113
         this.total = res.pagenum

+ 9
- 7
src/pages/system/channelManager/channelList/index.vue Прегледај датотеку

@@ -53,7 +53,7 @@
53 53
     </div>
54 54
     <el-pagination
55 55
       @current-change="handleCurrentChange"
56
-      :current-page.sync="postData.page+1"
56
+      :current-page.sync="postData.page"
57 57
       :page-size="postData.pagesize"
58 58
       layout="prev, pager, next, jumper"
59 59
       :total="total">
@@ -77,8 +77,10 @@ export default {
77 77
       currentList: []
78 78
     }
79 79
   },
80
-  created () {
81
-    this.getList()
80
+  mounted () {
81
+    this.$nextTick(function () {
82
+      this.getList()
83
+    })
82 84
   },
83 85
   computed: {
84 86
     ...mapState({
@@ -117,15 +119,15 @@ export default {
117 119
       this.$router.push({ name: 'editChannel', query: { id: row.ChannelId } })
118 120
     },
119 121
     handleDelete (index, row) { // 删除
120
-      let name = '确认删除规格“' + row.TypeName + '”?'
122
+      let name = '确认删除渠道“' + row.ChannelName + '”?'
121 123
       this.$confirm(name, '提示', {
122 124
         confirmButtonText: '确定',
123 125
         cancelButtonText: '取消',
124 126
         type: 'warning'
125 127
       }).then(() => {
126
-        this.$ajax(this.$api.goodsManager.deleteGoodsType.url, {
127
-          method: this.$api.goodsManager.deleteGoodsType.method,
128
-          urlData: { id: row.TypeId }
128
+        this.$ajax(this.$api.channelManager.deleteChannel.url, {
129
+          method: this.$api.channelManager.deleteChannel.method,
130
+          urlData: { channelId: row.ChannelId }
129 131
         }).then(res => {
130 132
           this.$message({
131 133
             type: 'success',

+ 18
- 0
src/pages/system/cmsManager/bannerManager/add.vue Прегледај датотеку

@@ -144,6 +144,24 @@ export default {
144 144
     ...mapCmsActions(['updateLocationInfo']),
145 145
     ...mapActions(['updateSystemInfo']),
146 146
     submit () {
147
+      if (this.postData.ForwardType === '1') {
148
+        if (this.postData.ForwardUrl === '') {
149
+          this.$message({
150
+            message: '链接地址不能为空',
151
+            type: 'error',
152
+          })
153
+          return false
154
+        } else {
155
+          var reg = /^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/  // eslint-disable-line
156
+          if (!reg.test(this.postData.ForwardUrl)) {
157
+            this.$message({
158
+              message: '链接地址格式不正确',
159
+              type: 'error',
160
+            })
161
+            return false
162
+          }
163
+        }
164
+      }
147 165
       this.postData.OrgId = this.OrgId
148 166
       this.postData.ForwardType === '1' ? this.postData.ForwardType = 'url' : this.postData.ForwardType = 'course'
149 167
       this.postData.ImageUrl = ''

+ 18
- 0
src/pages/system/cmsManager/bannerManager/edit.vue Прегледај датотеку

@@ -140,6 +140,24 @@ export default {
140 140
   methods: {
141 141
     ...mapCmsActions(['updateLocationInfo']),
142 142
     submit () {
143
+      if (this.postData.ForwardType === '1') {
144
+        if (this.postData.ForwardUrl === '') {
145
+          this.$message({
146
+            message: '链接地址不能为空',
147
+            type: 'error',
148
+          })
149
+          return false
150
+        } else {
151
+          var reg = /^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/  // eslint-disable-line
152
+          if (!reg.test(this.postData.ForwardUrl)) {
153
+            this.$message({
154
+              message: '链接地址格式不正确',
155
+              type: 'error',
156
+            })
157
+            return false
158
+          }
159
+        }
160
+      }
143 161
       this.postData.OrgId = this.OrgId
144 162
       this.postData.CaseId = this.CaseId
145 163
       this.postData.ForwardType === '1' ? this.postData.ForwardType = 'url' : this.postData.ForwardType = 'course'

+ 11
- 4
src/pages/system/cmsManager/indexMsg/add.vue Прегледај датотеку

@@ -41,7 +41,7 @@
41 41
             </div>
42 42
           </div>
43 43
         </li>
44
-        <li class="flex-h">
44
+        <!-- <li class="flex-h">
45 45
           <span>位置:</span>
46 46
           <div class="flex-item">
47 47
             <div style="width:50%">
@@ -55,7 +55,7 @@
55 55
               </el-select>
56 56
             </div>
57 57
           </div>
58
-        </li>
58
+        </li> -->
59 59
         <li style="text-align:center">
60 60
           <el-button type="primary" size="mini" @click="submit">保存</el-button>
61 61
           <el-button type="danger" size="mini" @click="cancel">取消</el-button>
@@ -90,7 +90,7 @@ export default {
90 90
   },
91 91
   computed: {
92 92
     ...mapState({
93
-      positionList: x => x.cms.location,
93
+      // positionList: x => x.cms.location,
94 94
       OrgId: x => x.app.user.OrgId,
95 95
       defaultCaseId: x => x.app.cases.default,
96 96
       caseList: x => x.app.cases.list
@@ -100,7 +100,14 @@ export default {
100 100
     ...mapCmsActions(['updateLocationInfo']),
101 101
     ...mapActions(['updateSystemInfo']),
102 102
     submit () {
103
-      console.log(this.postData)
103
+      var reg = /^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/  // eslint-disable-line
104
+      if (!reg.test(this.postData.InfoUrl)) {
105
+        this.$message({
106
+          message: '链接地址格式不正确',
107
+          type: 'error',
108
+        })
109
+        return false
110
+      }
104 111
       this.postData.OrgId = this.OrgId
105 112
       this.$ajax(this.$api.cms.addInfo.url, {
106 113
         method: this.$api.cms.addInfo.method,

+ 11
- 4
src/pages/system/cmsManager/indexMsg/edit.vue Прегледај датотеку

@@ -41,7 +41,7 @@
41 41
             </div>
42 42
           </div>
43 43
         </li>
44
-        <li class="flex-h">
44
+        <!-- <li class="flex-h">
45 45
           <span>位置:</span>
46 46
           <div class="flex-item">
47 47
             <div style="width:50%">
@@ -55,7 +55,7 @@
55 55
               </el-select>
56 56
             </div>
57 57
           </div>
58
-        </li>
58
+        </li> -->
59 59
         <li style="text-align:center">
60 60
           <el-button type="primary" size="mini" @click="submit">保存</el-button>
61 61
           <el-button type="danger" size="mini" @click="cancel">取消</el-button>
@@ -88,7 +88,7 @@ export default {
88 88
   },
89 89
   computed: {
90 90
     ...mapState({
91
-      positionList: x => x.cms.location,
91
+      // positionList: x => x.cms.location,
92 92
       OrgId: x => x.app.user.OrgId,
93 93
       caseList: x => x.app.cases.list
94 94
     })
@@ -96,7 +96,14 @@ export default {
96 96
   methods: {
97 97
     ...mapCmsActions(['updateLocationInfo']),
98 98
     submit () {
99
-      console.log(this.postData)
99
+      var reg = /^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/  // eslint-disable-line
100
+      if (!reg.test(this.postData.InfoUrl)) {
101
+        this.$message({
102
+          message: '链接地址格式不正确',
103
+          type: 'error',
104
+        })
105
+        return false
106
+      }
100 107
       this.postData.OrgId = this.OrgId
101 108
       this.$ajax(this.$api.cms.editInfo.url, {
102 109
         method: this.$api.cms.editInfo.method,

+ 9
- 2
src/pages/system/cmsManager/indexMsg/index.vue Прегледај датотеку

@@ -22,6 +22,12 @@
22 22
           prop="InfoUrl"
23 23
           label="跳转链接">
24 24
         </el-table-column>
25
+        <el-table-column
26
+          label="创建时间">
27
+          <template slot-scope="scope">
28
+            <label>{{FormatDate(scope.row.CreateDate)}}</label>
29
+          </template>
30
+        </el-table-column>
25 31
         <el-table-column label="操作">
26 32
           <template slot-scope="scope">
27 33
             <el-button
@@ -80,16 +86,17 @@ export default {
80 86
     tableSearch,
81 87
   },
82 88
   methods: {
89
+    FormatDate (date) {
90
+      return this.toolClass.dateFormat(date)
91
+    },
83 92
     handleCurrentChange (val) {
84 93
       this.postData.currentPage = val
85 94
       this.getList()
86 95
     },
87 96
     handleEdit (index, row) { // 编辑
88
-      console.log(index, row)
89 97
       this.$router.push({ name: 'editIndexMsg', query: { id: row.InfoId } })
90 98
     },
91 99
     handleDelete (index, row) { // 删除
92
-      console.log(index, row)
93 100
       this.$confirm('确认删除此消息?', '提示', {
94 101
         confirmButtonText: '确定',
95 102
         cancelButtonText: '取消',

+ 9
- 3
src/pages/system/cmsManager/majorProjects/index.vue Прегледај датотеку

@@ -3,12 +3,16 @@
3 3
     <div class="system-table-search">
4 4
       <div class="flex-h">
5 5
         <div class="flex-item flex-h">
6
-          <el-button size="mini" type="success" @click='addMajorProjects'>新增首页案场</el-button>
6
+          <el-button size="mini" type="success" @click='addMajorProjects'>新增售楼处项目专题</el-button>
7 7
         </div>
8 8
         <ul>
9 9
           <li>
10 10
             <span>选择案场:</span>
11 11
             <el-select v-model="tableSearch.caseId" placeholder="请选择">
12
+              <el-option
13
+              value=""
14
+              >
15
+              </el-option>
12 16
               <el-option
13 17
                 v-for="item in caseList"
14 18
                 :key="item.CaseId"
@@ -52,6 +56,7 @@
52 56
             <el-button
53 57
               size="mini"
54 58
               type="warning"
59
+              v-if="scope.row.Status === 0"
55 60
               @click="editItem(scope.$index, scope.row)">编辑</el-button>
56 61
             <!-- <el-button
57 62
               size="mini"
@@ -59,6 +64,7 @@
59 64
             <el-button
60 65
               size="mini"
61 66
               type="danger"
67
+              v-if="scope.row.Status === 0"
62 68
               @click="deleteItem(scope.$index, scope.row)">删除</el-button>
63 69
           </template>
64 70
         </el-table-column>
@@ -106,14 +112,14 @@ export default {
106 112
   },
107 113
   created () {
108 114
     this.updateSystemInfo().then(() => {
109
-      this.tableSearch.caseId = this.defaultCaseId
115
+      // this.tableSearch.caseId = this.defaultCaseId
110 116
       this.getList()
111 117
     })
112 118
   },
113 119
   methods: {
114 120
     ...mapActions(['updateSystemInfo']),
115 121
     handleCurrentChange (val) {
116
-      this.postData.currentPage = val - 1
122
+      this.postData.currentPage = val
117 123
       this.getList()
118 124
     },
119 125
     showItem (index, row) { // 前台显示

+ 21
- 4
src/pages/system/cmsManager/newsManager/add.vue Прегледај датотеку

@@ -6,17 +6,17 @@
6 6
           <span>跳转类型:</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>
9
+                <el-radio v-model="postData.ForwardType" label='1' >接</el-radio>
10 10
                 <el-radio v-model="postData.ForwardType" label='0' >课程</el-radio>
11 11
             </div>
12 12
           </div>
13 13
         </li>
14 14
         <li class="flex-h">
15
-          <span>接:</span>
15
+          <span>接:</span>
16 16
           <div class="flex-item">
17 17
             <div style="width:50%">
18 18
               <el-input
19
-                placeholder="请输入接"
19
+                placeholder="请输入接"
20 20
                 v-model="postData.ForwardUrl"
21 21
                 clearable>
22 22
               </el-input>
@@ -128,7 +128,24 @@ export default {
128 128
     ...mapActions(['updateSystemInfo']),
129 129
     ...mapCmsActions(['updateLocationInfo']),
130 130
     submit () {
131
-      console.log(this.postData)
131
+      if (this.postData.ForwardType === '1') {
132
+        if (this.postData.ForwardUrl === '') {
133
+          this.$message({
134
+            message: '链接地址不能为空',
135
+            type: 'error',
136
+          })
137
+          return false
138
+        } else {
139
+          var reg = /^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/  // eslint-disable-line
140
+          if (!reg.test(this.postData.ForwardUrl)) {
141
+            this.$message({
142
+              message: '链接地址格式不正确',
143
+              type: 'error',
144
+            })
145
+            return false
146
+          }
147
+        }
148
+      }
132 149
       this.postData.ForwardType === '1' ? this.postData.ForwardType = 'url' : this.postData.ForwardType = 'course'
133 150
       this.postData.locationids = this.postData.LocationIds.join(',')
134 151
       this.postData.ImageUrl = ''

+ 21
- 4
src/pages/system/cmsManager/newsManager/edit.vue Прегледај датотеку

@@ -6,17 +6,17 @@
6 6
           <span>跳转类型:</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>
9
+                <el-radio v-model="postData.ForwardType" label='1' >接</el-radio>
10 10
                 <el-radio v-model="postData.ForwardType" label='0' >课程</el-radio>
11 11
             </div>
12 12
           </div>
13 13
         </li>
14 14
         <li class="flex-h">
15
-          <span>接:</span>
15
+          <span>接:</span>
16 16
           <div class="flex-item">
17 17
             <div style="width:50%">
18 18
               <el-input
19
-                placeholder="请输入接"
19
+                placeholder="请输入接"
20 20
                 v-model="postData.ForwardUrl"
21 21
                 clearable>
22 22
               </el-input>
@@ -124,7 +124,24 @@ export default {
124 124
   methods: {
125 125
     ...mapCmsActions(['updateLocationInfo']),
126 126
     submit () {
127
-      console.log(this.postData)
127
+      if (this.postData.ForwardType === '1') {
128
+        if (this.postData.ForwardUrl === '') {
129
+          this.$message({
130
+            message: '链接地址不能为空',
131
+            type: 'error',
132
+          })
133
+          return false
134
+        } else {
135
+          var reg = /^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/  // eslint-disable-line
136
+          if (!reg.test(this.postData.ForwardUrl)) {
137
+            this.$message({
138
+              message: '链接地址格式不正确',
139
+              type: 'error',
140
+            })
141
+            return false
142
+          }
143
+        }
144
+      }
128 145
       this.postData.ForwardType === '1' ? this.postData.ForwardType = 'url' : this.postData.ForwardType = 'course'
129 146
       this.postData.locationids = this.postData.LocationIds.join(',')
130 147
       this.postData.ImageUrl = ''

+ 2
- 1
src/pages/system/cmsManager/newsManager/index.vue Прегледај датотеку

@@ -18,7 +18,7 @@
18 18
             </el-select>
19 19
           </li>
20 20
         </ul>
21
-        <tableSearch @exportSearchKey="searchList"></tableSearch>
21
+        <tableSearch @exportSearchKey="searchList" value="请输入标题"></tableSearch>
22 22
       </div>
23 23
       <div class="moreFilter"></div>
24 24
     </div>
@@ -109,6 +109,7 @@ export default {
109 109
     ...mapCmsActions(['updateLocationInfo']),
110 110
     handleCurrentChange (val) {
111 111
       console.log(`当前页: ${val}`)
112
+      this.getList()
112 113
     },
113 114
     handleEdit (index, row) { // 编辑
114 115
       console.log(index, row)

+ 13
- 2
src/pages/system/dataStatistics/frontEndUserList/index.vue Прегледај датотеку

@@ -36,6 +36,12 @@
36 36
           prop="OpenId"
37 37
           label="openId">
38 38
         </el-table-column>
39
+        <el-table-column
40
+          label="创建时间">
41
+          <template slot-scope="scope">
42
+            <label>{{FormatDate(scope.row.CreateDate)}}</label>
43
+          </template>
44
+        </el-table-column>
39 45
       </el-table>
40 46
     </div>
41 47
     <el-pagination
@@ -67,10 +73,15 @@ export default {
67 73
   components: {
68 74
     tableSearch,
69 75
   },
70
-  created () {
71
-    this.getList()
76
+  mounted () {
77
+    this.$nextTick(function () {
78
+      this.getList()
79
+    })
72 80
   },
73 81
   methods: {
82
+    FormatDate (date) {
83
+      return this.toolClass.dateFormat(date)
84
+    },
74 85
     handleCurrentChange (val) {
75 86
       this.getList()
76 87
     },

+ 15
- 4
src/pages/system/goodsManager/goodsSpecManager/index.vue Прегледај датотеку

@@ -33,6 +33,12 @@
33 33
           prop="SpecName"
34 34
           label="规格名">
35 35
         </el-table-column>
36
+        <el-table-column
37
+          label="所属案场">
38
+          <template slot-scope="scope">
39
+            <label>{{getCaseName(scope.row.CaseId)}}</label>
40
+          </template>
41
+        </el-table-column>
36 42
         <el-table-column label="操作">
37 43
           <template slot-scope="scope">
38 44
             <el-button
@@ -68,13 +74,15 @@ export default {
68 74
       postData: { // 表格搜索条件
69 75
         CaseId: '', // 案场id
70 76
         page: 1, // 当前页码
71
-        pagesize: 3, // 请求数据量
77
+        pagesize: 10, // 请求数据量
72 78
       },
73 79
       currentList: []
74 80
     }
75 81
   },
76
-  created () {
77
-    this.getList()
82
+  mounted () {
83
+    this.$nextTick(function () {
84
+      this.getList()
85
+    })
78 86
   },
79 87
   computed: {
80 88
     ...mapState({
@@ -91,6 +99,9 @@ export default {
91 99
     }
92 100
   },
93 101
   methods: {
102
+    getCaseName (caseid) {
103
+      return (this.cases.filter(x => x.CaseId === caseid)[0] || {}).CaseName
104
+    },
94 105
     search () { // 搜索
95 106
       this.postData.page = 1
96 107
       this.currentList = []
@@ -99,7 +110,7 @@ export default {
99 110
     getList () { // 获取列表
100 111
       this.$ajax(this.$api.goodsManager.getGoodsSpecList.url, {
101 112
         method: this.$api.goodsManager.getGoodsSpecList.method,
102
-        queryData: { ...this.postData, CaseId: this.CaseId }
113
+        queryData: { ...this.postData, caseid: this.CaseId }
103 114
       }).then(res => {
104 115
         this.currentList = res.list
105 116
         this.postData.page = res.page

+ 5
- 3
src/pages/system/goodsManager/goodsTypeManager/index.vue Прегледај датотеку

@@ -77,8 +77,10 @@ export default {
77 77
       currentList: []
78 78
     }
79 79
   },
80
-  created () {
81
-    this.getList()
80
+  mounted () {
81
+    this.$nextTick(function () {
82
+      this.getList()
83
+    })
82 84
   },
83 85
   computed: {
84 86
     ...mapState({
@@ -120,7 +122,7 @@ export default {
120 122
       this.$router.push({ name: 'editGoodsType', query: { id: row.TypeId } })
121 123
     },
122 124
     handleDelete (index, row) { // 删除
123
-      let name = '确认删除规格“' + row.TypeName + '”?'
125
+      let name = '确认删除类型“' + row.TypeName + '”?'
124 126
       this.$confirm(name, '提示', {
125 127
         confirmButtonText: '确定',
126 128
         cancelButtonText: '取消',

+ 10
- 10
src/pages/system/page.js Прегледај датотеку

@@ -120,16 +120,6 @@ export default {
120 120
             name: 'editCase',
121 121
             component: editCase,
122 122
             children: []
123
-          }, { // 体检设备
124
-            path: 'deviceManager',
125
-            name: 'deviceManager',
126
-            component: deviceManager,
127
-            children: []
128
-          }, { // 添加体检设备
129
-            path: 'editDevice',
130
-            name: 'editDevice',
131
-            component: editDevice,
132
-            children: []
133 123
           }, { // 相关人员
134 124
             path: 'pplConcerned',
135 125
             name: 'pplConcerned',
@@ -141,6 +131,16 @@ export default {
141 131
               children: []
142 132
             }]
143 133
           }]
134
+        }, { // 体检设备
135
+          path: 'deviceManager',
136
+          name: 'deviceManager',
137
+          component: deviceManager,
138
+          children: [{ // 添加体检设备
139
+            path: 'editDevice',
140
+            name: 'editDevice',
141
+            component: editDevice,
142
+            children: []
143
+          }]
144 144
         }, { // 钥匙管理
145 145
           path: 'keyManager',
146 146
           name: 'keyManager',

+ 8
- 0
src/pages/system/systemSet/roleManager/add.vue Прегледај датотеку

@@ -9,6 +9,7 @@
9 9
               <el-input
10 10
                 placeholder="请输入角色名称"
11 11
                 v-model="detail.RoleName"
12
+                maxlength="10"
12 13
                 clearable>
13 14
               </el-input>
14 15
             </div>
@@ -64,6 +65,13 @@ export default {
64 65
       'SetRoleNull',
65 66
     ]),
66 67
     submit () {
68
+      if (!this.detail.RoleName || this.detail.RoleName === '') {
69
+        this.$message({
70
+          type: 'error',
71
+          message: '角色名称不允许为空!'
72
+        })
73
+        return false
74
+      }
67 75
       if ((this.detail.RoleId || '') === '') {
68 76
         this.detail.CaseId = this.caseid
69 77
         this.detail.OrgId = this.orgid

+ 0
- 1
src/pages/system/systemSet/roleManager/index.vue Прегледај датотеку

@@ -96,7 +96,6 @@ export default {
96 96
       'GetRoleMenu',
97 97
     ]),
98 98
     FormatDate (date) {
99
-      console.log()
100 99
       return this.toolClass.dateFormat(date)
101 100
     },
102 101
     handleSizeChange (val) {

+ 9
- 1
src/pages/system/systemSet/userManager/add.vue Прегледај датотеку

@@ -7,7 +7,7 @@
7 7
           <div class="flex-item">
8 8
             <div style="width:50%">
9 9
               <el-input
10
-                placeholder="请输入帐户名称"
10
+                placeholder="请输入帐户名称,只限英文"
11 11
                 v-model="postData.UserName"
12 12
                 clearable>
13 13
               </el-input>
@@ -202,6 +202,14 @@ export default {
202 202
         })
203 203
         return false
204 204
       }
205
+      var re = new RegExp('^[a-zA-Z0-9]+$')
206
+      if (!re.test(this.postData.UserName)) {
207
+        this.$message({
208
+          type: 'error',
209
+          message: '帐户名称必须为英文或数字'
210
+        })
211
+        return false
212
+      }
205 213
       if (this.postData.Phone === '') {
206 214
         this.$message({
207 215
           type: 'error',

+ 10
- 2
src/pages/system/systemSet/userManager/edit.vue Прегледај датотеку

@@ -7,7 +7,7 @@
7 7
           <div class="flex-item">
8 8
             <div style="width:50%">
9 9
               <el-input
10
-                placeholder="请输入帐户名称"
10
+                placeholder="请输入帐户名称,只限英文"
11 11
                 v-model="postData.UserName"
12 12
                 clearable>
13 13
               </el-input>
@@ -178,7 +178,7 @@ export default {
178 178
         method: this.$api.systemSet.getUserInfo.method,
179 179
         urlData: { id: this.$route.query.id }
180 180
       }).then(res => {
181
-        for (var n = 0; n < res.UserTag.length; n++) {
181
+        for (var n = 0; n < (res.UserTag || []).length; n++) {
182 182
           this.TagIds.push(res.UserTag[n].TagId)
183 183
         }
184 184
         if (res.UserType !== null) res.TypeId = res.UserType[0].TypeId
@@ -219,6 +219,14 @@ export default {
219 219
         })
220 220
         return false
221 221
       }
222
+      var re = new RegExp('^[a-zA-Z0-9]+$')
223
+      if (!re.test(this.postData.UserName)) {
224
+        this.$message({
225
+          type: 'error',
226
+          message: '帐户名称必须为英文或数字'
227
+        })
228
+        return false
229
+      }
222 230
       if (this.postData.Phone === '') {
223 231
         this.$message({
224 232
           type: 'error',

+ 50
- 6
src/pages/system/systemSet/userManager/index.vue Прегледај датотеку

@@ -17,6 +17,29 @@
17 17
               </el-option>
18 18
             </el-select>
19 19
           </li>
20
+          <li>
21
+            <el-input
22
+              placeholder="请输入用户名"
23
+              v-model="name"
24
+            >
25
+            </el-input>
26
+          </li>
27
+          <li>
28
+            <el-select v-model="usertype" placeholder="请选择用户类型">
29
+              <el-option
30
+                key=""
31
+                label=""
32
+                value=""
33
+              >
34
+              </el-option>
35
+              <el-option
36
+                v-for="item in typeList"
37
+                :key="item.TypeId"
38
+                :label="item.TypeName"
39
+                :value="item.TypeId">
40
+              </el-option>
41
+            </el-select>
42
+          </li>
20 43
         </ul>
21 44
         <el-button
22 45
           size="mini"
@@ -53,7 +76,7 @@
53 76
         <el-table-column
54 77
           prop="Phone"
55 78
           label="手机号"
56
-          width="100">
79
+          width="150">
57 80
         </el-table-column>
58 81
         <el-table-column
59 82
           prop="UserTypeNames"
@@ -157,6 +180,9 @@ export default {
157 180
   name: '',
158 181
   data () {
159 182
     return {
183
+      name: '',
184
+      usertype: '',
185
+      typeList: [],
160 186
       currentEditItem: null,
161 187
       dialogTableVisible: false,
162 188
       total: 0,
@@ -164,7 +190,7 @@ export default {
164 190
         caseid: '',
165 191
         name: '', // 搜索关键词
166 192
         page: 1, // 当前页码
167
-        pagesize: 10000, // 请求数据量
193
+        pagesize: 10, // 请求数据量
168 194
       },
169 195
       currentList: [],
170 196
       searchTagList: [],
@@ -185,10 +211,20 @@ export default {
185 211
       }
186 212
     }
187 213
   },
188
-  created () {
189
-    this.getList()
214
+  mounted () {
215
+    this.$nextTick(function () {
216
+      this.getUserTypeList()
217
+      this.getList()
218
+    })
190 219
   },
191 220
   methods: {
221
+    getUserTypeList () { // 获取用户类型
222
+      this.$ajax(this.$api.caseManager.getUserTypeList.url, {
223
+        method: this.$api.caseManager.getUserTypeList.method,
224
+      }).then(res => {
225
+        this.typeList = res
226
+      })
227
+    },
192 228
     resetPasswd (index, row) { // 重置密码
193 229
       this.$confirm('确认重置此用户密码?', '提示', {
194 230
         confirmButtonText: '确定',
@@ -212,11 +248,19 @@ export default {
212 248
       })
213 249
     },
214 250
     bindRoles () { // 绑定角色
251
+      const roleids = this.returnRoles()
252
+      if (roleids === '') {
253
+        this.$message({
254
+          type: 'error',
255
+          message: '请先选择角色!'
256
+        })
257
+        return false
258
+      }
215 259
       this.$ajax(this.$api.systemSet.bindRoles.url, {
216 260
         method: this.$api.systemSet.bindRoles.method,
217 261
         queryData: {
218 262
           userid: this.currentEditItem.UserId,
219
-          roles: this.returnRoles()
263
+          roles: roleids
220 264
         }
221 265
       }).then(res => {
222 266
         this.$message({
@@ -244,7 +288,7 @@ export default {
244 288
     getList () { // 获取列表
245 289
       this.$ajax(this.$api.systemSet.getUserList.url, {
246 290
         method: this.$api.systemSet.getUserList.method,
247
-        queryData: { ...this.postData, caseid: this.CaseId }
291
+        queryData: { ...this.postData, caseid: this.CaseId, typeid: this.usertype, username: this.name }
248 292
       }).then(res => {
249 293
         for (var n = 0; n < res.list.length; n++) {
250 294
           res.list[n].CreateDate = this.returnTime(res.list[n].CreateDate)

+ 2
- 2
src/store/app.js Прегледај датотеку

@@ -53,7 +53,7 @@ export default {
53 53
     breadcrumb: [],
54 54
     cases: {
55 55
       list: [],
56
-      default: 0
56
+      default: '',
57 57
     },
58 58
     roles: [],
59 59
     user: {}
@@ -65,7 +65,7 @@ export default {
65 65
       state.user = data.user
66 66
       state.menus = packChildren(data.menus)
67 67
 
68
-      let defaultCase = 0
68
+      let defaultCase = ''
69 69
       for (let i = 0; i < data.cases.length; i++) {
70 70
         if (data.cases[i].IsBelong === 1) {
71 71
           defaultCase = data.cases[i].CaseId

+ 3
- 0
src/store/case/device.js Прегледај датотеку

@@ -66,5 +66,8 @@ export default {
66 66
     SetDeviceNull ({ commit }) {
67 67
       commit('updateInfo', {})
68 68
     },
69
+    UpdateInfo ({ commit }, info) {
70
+      commit('updateInfo', info)
71
+    },
69 72
   }
70 73
 }

+ 5
- 2
src/store/cms/index.js Прегледај датотеку

@@ -10,10 +10,13 @@ export default {
10 10
     }
11 11
   },
12 12
   actions: {
13
-    updateLocationInfo (context) { // 这里的context和我们使用的$store拥有相同的对象和方法
13
+    updateLocationInfo (context, payload) { // 这里的context和我们使用的$store拥有相同的对象和方法
14 14
       return new Promise((resolve) => {
15 15
         this.$ajax(this.$api.cms.location.url, {
16
-          method: this.$api.cms.location.method
16
+          method: this.$api.cms.location.method,
17
+          data: {
18
+            issys: payload && payload.issys ? payload.issys : 0
19
+          }
17 20
         }).then(res => {
18 21
           context.commit('init', res)
19 22
           resolve()

+ 12
- 0
src/util/api.js Прегледај датотеку

@@ -74,6 +74,10 @@ const $api = {
74 74
       method: 'put',
75 75
       url: `${baseUrl}${common}/channel`
76 76
     },
77
+    deleteChannel: { // 删除渠道
78
+      method: 'delete',
79
+      url: `${baseUrl}${common}/channel/:channelId`
80
+    },
77 81
   },
78 82
   caseManager: {
79 83
     getRolesList: { // 获取角色列表
@@ -96,6 +100,10 @@ const $api = {
96 100
       method: 'put',
97 101
       url: `${baseUrl}${common}/case/info/:id`
98 102
     },
103
+    getCaseUserType: { // 获取案场相关人员类型
104
+      method: 'get',
105
+      url: `${baseUrl}${common}/case/usertype`
106
+    },
99 107
     getCaseUserList: { // 获取案场相关人员列表
100 108
       method: 'get',
101 109
       url: `${baseUrl}${common}/case/user`
@@ -124,6 +132,10 @@ const $api = {
124 132
       method: 'put',
125 133
       url: `${baseUrl}${common}/case/unlock/:id`
126 134
     },
135
+    deleteKey: { // 删除钥匙
136
+      method: 'delete',
137
+      url: `${baseUrl}${common}/case/key/:id`
138
+    },
127 139
     getCaseAreaList: { // 获取案场区域列表
128 140
       method: 'get',
129 141
       url: `${baseUrl}${common}/case/area`