system-clients 3.1.89-8 → 3.1.90

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/.eslintrc.js +16 -16
  2. package/build/webpack.base.conf.js +85 -75
  3. package/package.json +2 -2
  4. package/src/components/Main.vue +1 -1
  5. package/src/components/TabButton.vue +201 -0
  6. package/src/components/Tabs.vue +67 -0
  7. package/src/components/equipment/EquipmentManage.vue +65 -65
  8. package/src/components/equipment/PosAdd.vue +322 -299
  9. package/src/components/equipment/PosList.vue +294 -254
  10. package/src/components/equipment/PosManage.vue +138 -150
  11. package/src/components/equipment/PosManageBoth.vue +125 -0
  12. package/src/components/equipment/PosParamAdd.vue +234 -0
  13. package/src/components/equipment/PosParamList.vue +121 -0
  14. package/src/components/equipment/PosParamManage.vue +51 -0
  15. package/src/components/parammanage/ParamPage.vue +3 -3
  16. package/src/components/parammanage/SinglePage.vue +2 -2
  17. package/src/components/server/Login.vue +37 -9
  18. package/src/components/server/PcdBuildingSelect.vue +241 -0
  19. package/src/components/server/ResSelect.vue +5 -0
  20. package/src/components/server/ResSelectGroup.vue +144 -122
  21. package/src/components/server/RightTree.vue +5 -0
  22. package/src/styles/less/aofeng/standard.less +444 -58
  23. package/src/styles/less/aofeng/themeOne/BinaryTemplate.less +13 -13
  24. package/src/styles/less/tables.less +50 -0
  25. package/src/styles/less/type.less +15 -2
  26. package/src/styles/less/variables.less +6 -3
  27. package/src/system.js +93 -87
  28. package/static/newStyle/about-us.png +0 -0
  29. package/yarn-error.log +6896 -0
  30. package/dist/index.html +0 -3
  31. package/dist/static/.gitkeep +0 -0
  32. package/dist/static/1.7881cef2853d833a86ab.js +0 -2
  33. package/dist/static/10.43c453235f37ff93e693.js +0 -2
  34. package/dist/static/11.19a73a70ee12abc54e33.js +0 -2
  35. package/dist/static/12.f48a08201d23a6ab3279.js +0 -2
  36. package/dist/static/2.ce25203a36db12c135c6.js +0 -2
  37. package/dist/static/3.b4b918df9846c518e1ad.js +0 -2
  38. package/dist/static/4.d908e190ef02e4e0422c.js +0 -2
  39. package/dist/static/5.382f5cb714a4aa05d9d4.js +0 -2
  40. package/dist/static/6.22643ee9ad70928c5ca2.js +0 -2
  41. package/dist/static/7.8ece001f2c6f144fb653.js +0 -2
  42. package/dist/static/8.4944140db91396b9bacd.js +0 -2
  43. package/dist/static/9.f3242776f89b8c2547ac.js +0 -2
  44. package/dist/static/PingFangSC-Regular.ttf +0 -0
  45. package/dist/static/app.css +0 -2
  46. package/dist/static/app2cf08cb232d85ecf35b8.js +0 -83
  47. package/dist/static/batchleft.png +0 -0
  48. package/dist/static/batchright.png +0 -0
  49. package/dist/static/bluemainbg.jpg +0 -0
  50. package/dist/static/glyphicons-halflings-regular.eot +0 -0
  51. package/dist/static/glyphicons-halflings-regular.svg +0 -288
  52. package/dist/static/glyphicons-halflings-regular.ttf +0 -0
  53. package/dist/static/glyphicons-halflings-regular.woff +0 -0
  54. package/dist/static/glyphicons-halflings-regular.woff2 +0 -0
  55. package/dist/static/huangtengbiaozhi.png +0 -0
  56. package/dist/static/images/lefticon//345/215/241/346/234/215/345/212/241/347/256/241/347/220/206.png +0 -0
  57. package/dist/static/images/lefticon//345/221/274/345/217/253/347/263/273/347/273/237.png +0 -0
  58. package/dist/static/images/lefticon//345/224/256/346/260/224/346/224/266/350/264/271.png +0 -0
  59. package/dist/static/images/lefticon//345/233/276/345/261/2023/346/213/267/350/264/2354.png +0 -0
  60. package/dist/static/images/lefticon//345/233/276/345/261/202577.png +0 -0
  61. package/dist/static/images/lefticon//345/233/276/345/261/2028/346/213/267/350/264/23513.png +0 -0
  62. package/dist/static/images/lefticon//345/256/211/346/243/200/346/237/245/347/234/213.png +0 -0
  63. package/dist/static/images/lefticon//345/256/211/346/243/200/350/256/241/345/210/222.png +0 -0
  64. package/dist/static/images/lefticon//345/276/256/344/277/241/346/234/215/345/212/241.png +0 -0
  65. package/dist/static/images/lefticon//346/212/245/345/273/272/347/263/273/347/273/237.png +0 -0
  66. package/dist/static/images/lefticon//346/212/245/350/241/250/346/237/245/350/257/242.png +0 -0
  67. package/dist/static/images/lefticon//346/227/245/345/270/270/347/256/241/347/220/206.png +0 -0
  68. package/dist/static/images/lefticon//346/234/272/350/241/250/347/256/241/347/220/206.png +0 -0
  69. package/dist/static/images/lefticon//346/237/245/350/257/242/345/210/227/350/241/250.png +0 -0
  70. package/dist/static/images/lefticon//346/241/243/346/241/210/347/256/241/347/220/206.png +0 -0
  71. package/dist/static/images/lefticon//347/211/251/350/201/224/347/275/221/350/241/250.png +0 -0
  72. package/dist/static/images/lefticon//347/263/273/347/273/237/347/256/241/347/220/206.png +0 -0
  73. package/dist/static/images/lefticon//347/263/273/347/273/237/350/256/276/347/275/256.png +0 -0
  74. package/dist/static/images/lefticon//347/273/217/350/220/245/347/256/241/346/216/247.png +0 -0
  75. package/dist/static/images/lefticon//347/273/274/345/220/210/344/270/232/345/212/241.png +0 -0
  76. package/dist/static/images/lefticon//347/273/274/345/220/210/346/237/245/350/257/242.png +0 -0
  77. package/dist/static/images/lefticon//350/217/234/345/215/225/344/274/270/347/274/251.png +0 -0
  78. package/dist/static/images/lefticon//351/200/200/345/207/272/347/263/273/347/273/237.png +0 -0
  79. package/dist/static/login-do.gif +0 -0
  80. package/dist/static/login-left.png +0 -0
  81. package/dist/static/login_bg.jpg +0 -0
  82. package/dist/static/login_title.png +0 -0
  83. package/dist/static/login_title1.png +0 -0
  84. package/dist/static/loginbg.gif +0 -0
  85. package/dist/static/loginbg.jpg +0 -0
  86. package/dist/static/loginbg1280.gif +0 -0
  87. package/dist/static/loginbg1366.gif +0 -0
  88. package/dist/static/loginlogo.png +0 -0
  89. package/dist/static/main_logo.png +0 -0
  90. package/dist/static/mainbg.jpg +0 -0
  91. package/dist/static/menulogo.png +0 -0
  92. package/dist/static/newStyle/clear.png +0 -0
  93. package/dist/static/newStyle/fife.png +0 -0
  94. package/dist/static/newStyle/hidden.png +0 -0
  95. package/dist/static/newStyle/label-clear.png +0 -0
  96. package/dist/static/newStyle/left-img.png +0 -0
  97. package/dist/static/newStyle/list_ok.png +0 -0
  98. package/dist/static/newStyle/login-check.png +0 -0
  99. package/dist/static/newStyle/login-con.png +0 -0
  100. package/dist/static/newStyle/login-do.gif +0 -0
  101. package/dist/static/newStyle/login-f.png +0 -0
  102. package/dist/static/newStyle/login-info.png +0 -0
  103. package/dist/static/newStyle/login-left.png +0 -0
  104. package/dist/static/newStyle/login-org.png +0 -0
  105. package/dist/static/newStyle/login-pwd.png +0 -0
  106. package/dist/static/newStyle/login-user.png +0 -0
  107. package/dist/static/newStyle/loginbg.gif +0 -0
  108. package/dist/static/newStyle/loginbg1280.gif +0 -0
  109. package/dist/static/newStyle/loginbg1366.gif +0 -0
  110. package/dist/static/newStyle/setting.png +0 -0
  111. package/dist/static/newStyle/shirk.png +0 -0
  112. package/dist/static/newStyle/stretch_bottom.png +0 -0
  113. package/dist/static/newStyle/stretch_left.png +0 -0
  114. package/dist/static/newStyle/stretch_right.png +0 -0
  115. package/dist/static/newStyle/stretch_top.png +0 -0
  116. package/dist/static/newStyle/system-off.png +0 -0
  117. package/dist/static/newmainbg.jpg +0 -0
  118. package/dist/static/pingfang-bold.ttf +0 -0
  119. package/dist/static/pingfang-medium.ttf +0 -0
  120. package/dist/static/pingfang-regular.ttf +0 -0
  121. package/dist/static/psicon.png +0 -0
  122. package/dist/static/singleleft.png +0 -0
  123. package/dist/static/singleright.png +0 -0
  124. package/dist/static/treeopen.png +0 -0
  125. package/dist/static/treeout.png +0 -0
  126. package/dist/static/treeset.png +0 -0
  127. package/dist/static/trendstrends.ttf +0 -0
  128. package/dist/static/usericon.png +0 -0
  129. package/dist/static/xinxi.png +0 -0
  130. package/gradle/wrapper/gradle-wrapper.jar +0 -0
  131. package/gradle/wrapper/gradle-wrapper.properties +0 -5
  132. package/gradlew +0 -183
  133. package/gradlew.bat +0 -100
@@ -0,0 +1,121 @@
1
+ <template>
2
+ <div class="flex">
3
+ <criteria-paged :model="model" v-ref:paged>
4
+ <criteria partial='criteria' style="background-color: white" @condition-changed='$parent.selfSearch' v-ref:cri>
5
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
+ <div class="row">
7
+ <div class="col-sm-3 form-group">
8
+ <label class="font_normal_body">公&nbsp;&nbsp;&nbsp;司</label>
9
+ <res-select restype='organization'
10
+ :is-mul="false"
11
+ @res-select="$parent.$parent.getorg"
12
+ :initresid="$parent.$parent.curorgid">
13
+ </res-select>
14
+ </div>
15
+ <div class="col-sm-3 form-group">
16
+ <label class="font_normal_body">参数名称</label>
17
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_param_name"
18
+ condition="name like '%{}%'" placeholder="参数名称">
19
+ </div>
20
+ <div class="span" style="float:right;margin-top: 6px">
21
+ <button type="button" class="button_search" @click="search()" v-el:cx>查询</button>
22
+ <button type="button" class="button_search" @click="$parent.$parent.add() " v-el:cx>新增</button>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ </criteria>
27
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
28
+ <template partial='head'>
29
+ <tr>
30
+ <th style="text-align:center;white-space:nowrap;">参数id</th>
31
+ <th style="text-align:center;white-space:nowrap;">参数名称</th>
32
+ <th style="text-align:center;white-space:nowrap;">所属分公司</th>
33
+ <th style="text-align:center;white-space:nowrap;">所属银行</th>
34
+ <th style="text-align:center;white-space:nowrap;">创建人</th>
35
+ <th style="text-align:center;white-space:nowrap;">操作</th>
36
+ </tr>
37
+ </template>
38
+ <template partial='body' :model="model">
39
+ <tr>
40
+ <td style="text-align:center;white-space:nowrap;">{{ row.f_param_id }}</td>
41
+ <td style="text-align:center;white-space:nowrap;">{{ row.name }}</td>
42
+ <td style="text-align:center;white-space:nowrap;">{{ row.f_orgname }}</td>
43
+ <td style="text-align:center;white-space:nowrap;">{{ row.f_bank_name }}</td>
44
+ <td style="text-align:center;white-space:nowrap;">{{ row.f_operator }}</td>
45
+ <td style="text-align:center;white-space:nowrap;">
46
+ <div class="col-sm-1"></div>
47
+ <div class="col-sm-4">
48
+ <button type="button" class="btn button_new" v-if="!row.sum||row.sum ===0 "
49
+ @click.stop="$parent.$parent.$parent.delete(row)">删除
50
+ </button>
51
+ </div>
52
+ <div class="col-sm-1"></div>
53
+ <div class="col-sm-4">
54
+ <button type="button" class="btn button_new"
55
+ @click.stop="$parent.$parent.$parent.modify(row)">修改
56
+ </button>
57
+ </div>
58
+ <div class="col-sm-1"></div>
59
+ </td>
60
+ </tr>
61
+ </template>
62
+ </data-grid>
63
+ </criteria-paged>
64
+ </div>
65
+ </template>
66
+
67
+ <script>
68
+
69
+ import {PagedList} from 'vue-client'
70
+
71
+ export default {
72
+ title: '终端控制',
73
+ components: {},
74
+ data() {
75
+ return {
76
+ model: new PagedList('rs/sql/get_posParam', 20),
77
+ curorgid: [this.f_filialeid],
78
+ }
79
+ },
80
+ props: [],
81
+ ready() {
82
+ this.search()
83
+ },
84
+ watch: {},
85
+ methods: {
86
+ getRes(val) {
87
+ if (val.orgobj.length === 1 && val.orgobj[0].resourcetype === 'user') {
88
+ this.$refs.paged.$refs.cri.model.f_user_operatorid = val.orgobj[0].userid
89
+ this.$refs.paged.$refs.cri.model.f_user_operator = val.orgobj[0].name
90
+ } else {
91
+ this.$refs.paged.$refs.cri.model.f_user_operatorid = ''
92
+ this.$refs.paged.$refs.cri.model.f_user_operator = ''
93
+ }
94
+ },
95
+ async delete(row) {
96
+ await this.$resetpost('rs/logic/deletePosParam', {data: row}, {rejectMsg: null, resolveMsg: null})
97
+ await this.search()
98
+ },
99
+ modify(row) {
100
+ this.$dispatch('modify', row)
101
+ },
102
+ search() {
103
+ this.$refs.paged.$refs.cri.search()
104
+ },
105
+ selfSearch(args) {
106
+ if (this.f_orgid) {
107
+ args.condition += ` and f_orgid = ${this.f_orgid} `
108
+ }
109
+ this.model.search(args.condition, this.model)
110
+ },
111
+ add() {
112
+ this.$dispatch('add', this.f_filialeid)
113
+ },
114
+ getorg(val) {
115
+ this.f_orgid = val[0]
116
+ this.f_filialeid = val[0]
117
+ }
118
+ },
119
+ computed: {}
120
+ }
121
+ </script>
@@ -0,0 +1,51 @@
1
+ <template>
2
+ <div class="flex-row">
3
+ <div :class="{'basic-main':!isChange,'binary-left':isChange}">
4
+ <pos-param-list v-ref:list></pos-param-list>
5
+ </div>
6
+ <div class="binary-right" style="margin-left: 10px; width: 40%;" v-if="isChange">
7
+ <pos-param-add :param_id="param_id" v-ref:add></pos-param-add>
8
+ </div>
9
+ </div>
10
+ </template>
11
+ <script>
12
+
13
+ import PosParamList from './PosParamList'
14
+ import PosParamAdd from './PosParamAdd'
15
+
16
+ export default {
17
+ title: 'POS终端管理',
18
+ components: {
19
+ PosParamList, PosParamAdd
20
+ },
21
+ data() {
22
+ return {
23
+ isChange: false,
24
+ param_id: ''
25
+ }
26
+ },
27
+ methods: {},
28
+ events: {
29
+ 'add'() {
30
+ this.isChange = true
31
+ setTimeout(() => {
32
+ this.$refs.add.initModel()
33
+ }, 100)
34
+ },
35
+ 'close'() {
36
+ this.isChange = false
37
+ },
38
+ 'research'() {
39
+ this.$refs.list.search()
40
+ this.isChange = false
41
+ },
42
+ 'modify'(row) {
43
+ this.isChange = true
44
+ setTimeout(() => {
45
+ this.$refs.add.curorgid = []
46
+ this.$refs.add.edit(row.f_param_id)
47
+ }, 100)
48
+ }
49
+ }
50
+ }
51
+ </script>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div class="flex">
3
3
  <p class="bg-info text-center" style="padding: 8px;">参数管理
4
- <span class="btn btn-link add-postition" @click="add('t_parameter')">新增</span>
4
+ <button type="button" name="button" class="button_search button_spacing width-60" @click="add('t_parameter')" style="float:right">新增</button>
5
5
  </p>
6
6
  <div class="auto">
7
7
  <form class="form-horizontal" style="margin-bottom: 5px;">
@@ -25,7 +25,7 @@
25
25
  </form>
26
26
  </div>
27
27
  <div class="span">
28
- <data-grid :model="model" v-ref:params @select-changed="selected" class="list_area table_sy">
28
+ <data-grid :model="model" v-ref:params @select-changed="selected">
29
29
  <template partial='head'>
30
30
  <tr>
31
31
  <th>序号</th>
@@ -50,7 +50,7 @@
50
50
 
51
51
  <p v-if="selectItem" class="bg-info text-center" style="padding: 8px;margin: 8px 0px;">
52
52
  {{selectItem.name}}
53
- <span class="btn btn-link add-postition" @click="add('t_paramvalue')">新增</span>
53
+ <button type="button" name="button" class="button_search button_spacing width-60" @click="add('t_paramvalue')" style="float:right">新增</button>
54
54
  </p>
55
55
  <div v-if="selectItem" class="span">
56
56
  <data-grid :model="params" v-ref:selects >
@@ -2,7 +2,7 @@
2
2
  <div class="flex">
3
3
  <p class="bg-info text-center" style="padding: 8px;">
4
4
  单值管理
5
- <span class="btn btn-link add-postition" @click="add()">新增</span>
5
+ <button type="button" name="button" class="button_search button_spacing width-60 " @click="add()" style="float:right">新增</button>
6
6
  </p>
7
7
  <div class="auto">
8
8
  <form class="form-horizontal" style="margin-bottom: 5px;">
@@ -27,7 +27,7 @@
27
27
  </div>
28
28
  <div class="span">
29
29
  <partial-view v-ref:single-load>
30
- <data-grid :model="model" v-ref:grid class="list_area table_sy">
30
+ <data-grid :model="model" v-ref:grid >
31
31
  <template partial='head'>
32
32
  <tr>
33
33
  <th>序号</th>
@@ -1,17 +1,30 @@
1
1
  <template>
2
2
  <div class="syslogin">
3
3
  <div class="login-title" >
4
- <div class="login-title-chi" style="white-space: nowrap">
5
- <img src="../../../static/newStyle/login-info.png"/>
6
- <span>关于我们</span>
7
- <img src="../../../static/newStyle/login-con.png"/>
8
- <span>联系我们</span>
4
+ <div class="row auto">
5
+ <marquee style="width:80%;margin-top:25px"><span style="font-size: 1.8rem;color: white;">{{notice}}</span></marquee>
6
+ <div class="login-title-chi" style="white-space: nowrap;margin-right:-5%">
7
+ <img src="../../../static/newStyle/login-info.png"/>
8
+ <span @click="showus=true">关于我们</span>
9
+ <!-- <img src="../../../static/newStyle/login-con.png"/>-->
10
+ <!-- <span>联系我们</span>-->
11
+ </div>
9
12
  </div>
10
13
  </div>
14
+
15
+ <modal :show.sync="showus" backdrop="true" width="50%" style="width:auto;">
16
+ <article slot="modal-body" class="modal-body" >
17
+ <img style="height:100%;width:100%" src="../../../static/newStyle/about-us.png"/>
18
+ </article>
19
+ <footer slot="modal-footer" class="modal-footer">
20
+ </footer>
21
+ </modal>
22
+
23
+
11
24
  <div class="logoew" v-if="logoandroid" >
12
25
  <div v-if="logoandroid" class="imglogo"></div>
13
- <p class="logocontent">燃气客服系统Android版</p>
14
- <p class="logofooter">(仅浏览器扫描)</p>
26
+ <p class="logocontent">燃气客服系统Android版</p>
27
+ <p class="logofooter">(仅浏览器扫描)</p>
15
28
  </div>
16
29
  <!--输入框-->
17
30
  <div class="loginmain">
@@ -103,6 +116,7 @@
103
116
  import co from 'co'
104
117
  import $ from 'jquery'
105
118
  import Vue from 'vue'
119
+ import {HttpResetClass} from 'vue-client'
106
120
 
107
121
  let saveGen = function *(self) {
108
122
  try {
@@ -190,7 +204,19 @@
190
204
  }
191
205
  export default {
192
206
  title: '登录',
193
- ready () {
207
+ async ready () {
208
+ let http = new HttpResetClass()
209
+ let res = await http.load('POST', 'rs/sql/singleTable',
210
+ {data:{
211
+ tablename: 't_changedeclare',
212
+ condition: ` f_type ='变更通知' `
213
+ }
214
+ }, {resolveMsg: null, rejectMsg: '获取通知出错!!'})
215
+ if(res.data.length>0){
216
+ console.log("---------------获取通知",res.data[0].f_change_message)
217
+ this.notice=res.data[0].f_change_message
218
+ }
219
+
194
220
  if (this.$login && this.$login.getUrlCompileParames('name') && this.$login.getUrlCompileParames('password')) {
195
221
  this.model.ename = this.$login.getUrlCompileParames('name')
196
222
  this.model.password = this.$login.getUrlCompileParames('password')
@@ -228,7 +254,9 @@
228
254
  picLyanzhengma: '',
229
255
  // 修改密码弹框展示
230
256
  modifyPwShow: false,
231
- logoandroid:false
257
+ logoandroid:false,
258
+ showus:false,
259
+ notice:''
232
260
  }
233
261
  },
234
262
  methods: {
@@ -0,0 +1,241 @@
1
+ <template>
2
+ <div :class="style" v-show="show.pcdShow">
3
+ <label class="font_normal_body">省&nbsp;市&nbsp;区&nbsp;</label>
4
+ <v-select :value.sync="model.f_pcd"
5
+ class="select_list select"
6
+ enter-push
7
+ v-model="model.f_pcd"
8
+ style="width: 60%"
9
+ :multiple="mul"
10
+ @change="pcdChange"
11
+ :options='arrays.pcd' placeholder='选择省市区'
12
+ close-on-select v-el:cc>
13
+ </v-select>
14
+ </div>
15
+ <div :class="style" v-show="show.streetShow">
16
+ <label class="font_normal_body">街&emsp;&emsp;道</label>
17
+ <v-select :value.sync="model.f_street"
18
+ class="select_list select"
19
+ enter-push
20
+ v-model="model.f_street"
21
+ @change="streetChange"
22
+ style="width: 60%"
23
+ :multiple="mul"
24
+ :options='arrays.street' placeholder='选择街道'
25
+ close-on-select v-el:cc>
26
+ </v-select>
27
+ </div>
28
+ <div :class="style" v-show="show.areaShow">
29
+ <label class="font_normal_body">小&ensp;&ensp;&ensp;&ensp;区</label>
30
+ <v-select :value.sync="model.f_residential_area"
31
+ class="select_list select"
32
+ enter-push
33
+ v-model="model.f_residential_area"
34
+ style="width: 60%"
35
+ :multiple="mul"
36
+ @change="areaChange()"
37
+ :options='arrays.area' placeholder='选择小区'
38
+ close-on-select v-el:cc>
39
+ </v-select>
40
+ </div>
41
+ <div :class="style" v-show="show.buildingShow">
42
+ <label class="font_normal_body">楼&emsp;&emsp;栋</label>
43
+ <v-select :value.sync="model.f_building"
44
+ class="select_list select"
45
+ enter-push
46
+ v-model="model.f_building"
47
+ style="width: 60%"
48
+ :multiple="mul"
49
+ :options='arrays.building' placeholder='选择楼栋'
50
+ close-on-select v-el:cc>
51
+ </v-select>
52
+ </div>
53
+ </template>
54
+ <script>
55
+ import plugin from '../../plugins/GetLoginInfoService'
56
+ import { HttpResetClass } from 'vue-client'
57
+ let readyGen = async function (self) {
58
+ self.showComponent.find((item)=>{
59
+ switch(item){
60
+ case 'pcd': self.show.pcdShow=true; break;
61
+ case 'street': self.show.streetShow=true; break;
62
+ case 'area': self.show.areaShow=true; break;
63
+ case 'building': self.show.buildingShow=true; break;
64
+ }
65
+ })
66
+ self.arrays.pcd=[{label:'全部',value:''}]
67
+ if(self.show.pcdShow){
68
+ let HttpReset = new HttpResetClass()
69
+ var pcd = await HttpReset.load('POST', 'rs/sql/singleTable_OrderBy', {
70
+ data: {
71
+ items: 'f_pcd',
72
+ tablename: 't_pcd',
73
+ condition: `f_pcd is not null group by f_pcd`,
74
+ orderitem: 'f_pcd'
75
+ }
76
+ }, {resolveMsg: null, rejectMsg: '获取省市区出错!'})
77
+ for(var i=0;i<pcd.data.length;i++){
78
+ self.arrays.pcd.push({label:pcd.data[i].f_pcd,value:pcd.data[i].f_pcd})
79
+ }
80
+ }else if(self.show.streetShow){
81
+ console.log("------------查街道")
82
+ let HttpReset = new HttpResetClass()
83
+ var street = await HttpReset.load('POST', 'rs/sql/singleTable_OrderBy', {
84
+ data: {
85
+ items: 'f_street',
86
+ tablename: 't_street',
87
+ condition: `f_filialeid = '${self.$login.f.orgid}' and f_street is not null group by f_street`,
88
+ orderitem: 'f_street'
89
+ }
90
+ }, {resolveMsg: null, rejectMsg: '获取街道出错!'})
91
+ for(var i=0;i<street.data.length;i++){
92
+ self.arrays.street.push({label:street.data[i].f_street,value:street.data[i].f_street})
93
+ }
94
+ }else if(self.show.areaShow){
95
+ let HttpReset = new HttpResetClass()
96
+ var area = await HttpReset.load('POST', 'rs/sql/singleTable_OrderBy', {
97
+ data: {
98
+ items: 'f_residential_area',
99
+ tablename: 't_area',
100
+ condition: `f_filialeid = '${self.$login.f.orgid}' and f_residential_area is not null group by f_residential_area`,
101
+ orderitem: 'f_residential_area'
102
+ }
103
+ }, {resolveMsg: null, rejectMsg: '获取小区出错!'})
104
+ for(var i=0;i<area.data.length;i++){
105
+ self.arrays.area.push({label:area.data[i].f_residential_area,value:area.data[i].f_residential_area})
106
+ }
107
+ }
108
+
109
+
110
+ }
111
+ export default {
112
+ title: '省市区级联选择',
113
+ props: {
114
+ style: {
115
+ type: String,
116
+ default: 'col-sm-2 form-group'
117
+ },
118
+ mul: {
119
+ type: Boolean,
120
+ default: false
121
+ },
122
+ showComponent:{
123
+ default:['pcd','street','area','building']
124
+ }
125
+
126
+ },
127
+ data () {
128
+ return {
129
+ condition:'',
130
+ show:{
131
+ pcdShow:false,
132
+ streetShow:false,
133
+ areaShow:false,
134
+ buildingShow:false
135
+ },
136
+ arrays:{
137
+ pcd:[{label: '全部', value: ''}],
138
+ street:[{label: '全部', value: ''}],
139
+ area:[{label: '全部', value: ''}],
140
+ building:[{label: '全部', value: ''}]
141
+ },
142
+ model:{
143
+ f_pcd:[],
144
+ f_street:[],
145
+ f_residential_area:[],
146
+ f_building:[]
147
+ }
148
+
149
+ }
150
+ },
151
+ ready () {
152
+ readyGen(this)
153
+ },
154
+ methods:{
155
+ async pcdChange(){
156
+ this.arrays.street=[{label:'全部',value:''}]
157
+ var condition = `f_filialeid = '${this.$login.f.orgid}' and f_street is not null group by f_street`
158
+ let street = await this.$resetpost('rs/sql/singleTable_OrderBy', {
159
+ data: {
160
+ items: 'f_street',
161
+ tablename: 't_street',
162
+ condition: condition,
163
+ orderitem: 'f_street'
164
+ }
165
+ }, {resolveMsg: null, rejectMsg: '获取街道出错'})
166
+ for(var i=0;i<street.data.length;i++){
167
+ this.arrays.street.push({label:street.data[i].f_street,value:street.data[i].f_street})
168
+ }
169
+ this.returnCondition()
170
+ },
171
+ async streetChange(){
172
+ this.arrays.area=[{label:'全部',value:''}]
173
+ var condition = `f_street = '${this.model.f_street?this.model.f_street:null}' and f_residential_area is not null group by f_residential_area`
174
+ let area = await this.$resetpost('rs/sql/singleTable_OrderBy', {
175
+ data: {
176
+ items: 'f_residential_area',
177
+ tablename: 't_area',
178
+ condition: condition,
179
+ orderitem: 'f_residential_area'
180
+ }
181
+ }, {resolveMsg: null, rejectMsg: '获取小区出错'})
182
+ for(var i=0;i<area.data.length;i++){
183
+ this.arrays.area.push({label:area.data[i].f_residential_area,value:area.data[i].f_residential_area})
184
+ }
185
+ this.returnCondition()
186
+ },
187
+ async areaChange(){
188
+ this.building = [{label:'全部',value:''}]
189
+ var condition=''
190
+ if(this.show.areaShow){
191
+ condition = `f_residential_area = '${this.model.f_residential_area?this.model.f_residential_area:null}' and f_building is not null group by f_building`
192
+ }else{
193
+ condition = `f_filialeid = '${this.$login.f.orgid}' and f_building is not null group by f_building`
194
+ }
195
+ let build = await this.$resetpost('rs/sql/singleTable_OrderBy', {
196
+ data: {
197
+ items: 'f_building',
198
+ tablename: 't_user_address',
199
+ condition: condition,
200
+ orderitem: 'f_building'
201
+ }
202
+ }, {resolveMsg: null, rejectMsg: '获取楼栋出错'})
203
+ for(var i=0;i<build.data.length;i++){
204
+ this.arrays.building.push({label:build.data[i].f_building,value:build.data[i].f_building})
205
+ }
206
+ this.returnCondition()
207
+ },
208
+
209
+ returnCondition(){
210
+ this.condition=''
211
+ if(this.model.f_pcd){
212
+ if(this.model.f_pcd.length>0){
213
+ this.condition+=` and f_pcd = '${this.model.f_pcd[0]}'`
214
+ }
215
+ }
216
+ if(this.model.f_street) {
217
+ if (this.model.f_street.length > 0) {
218
+ this.condition += ` and f_street = '${this.model.f_street[0]}'`
219
+ }
220
+ }
221
+ if(this.model.f_area) {
222
+ if (this.model.f_area.length > 0) {
223
+ this.condition += ` and f_area = '${this.model.f_area[0]}'`
224
+ }
225
+ }
226
+ if(this.model.f_building) {
227
+ if (this.model.f_building.length > 0) {
228
+ this.condition += ` and f_building = '${this.model.f_building[0]}'`
229
+ }
230
+ }
231
+ // this.$parent.setCon(this.condition)
232
+ this.$dispatch('setcon',this.condition)
233
+ }
234
+ },
235
+ watch: {
236
+ // 'condition'(val){
237
+ //
238
+ // }
239
+ }
240
+ }
241
+ </script>
@@ -3,6 +3,7 @@
3
3
  :value.sync="selectres"
4
4
  :multiple="isMul"
5
5
  search="true"
6
+ :disabled="mustselect"
6
7
  :close-on-select="!isMul"
7
8
  @change="resChange"
8
9
  >
@@ -33,6 +34,10 @@
33
34
  type: Array,
34
35
  default() { return [] },
35
36
  },
37
+ mustselect: {
38
+ type: Boolean,
39
+ default: false
40
+ },
36
41
  },
37
42
  data () {
38
43
  return {