telephone-clients 3.0.103 → 3.0.104-11

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 (132) hide show
  1. package/package.json +3 -3
  2. package/src/App.vue +54 -56
  3. package/src/assets//345/210/240/351/231/244.png +0 -0
  4. package/src/components/Util/RightTreeSafe.vue +2 -2
  5. package/src/components/Util/RightTreeSafeDep.vue +350 -0
  6. package/src/components/android/AddMyTask.vue +7 -0
  7. package/src/components/guoxin/Console.vue +9 -0
  8. package/src/components/guoxin/VisitInfo.vue +0 -11
  9. package/src/components/pc/NewRepairPaper.vue +370 -370
  10. package/src/components/pc/RepairsWork.vue +23 -2
  11. package/src/components/pc/RoleSelectorDep.vue +158 -0
  12. package/src/components/pc/TelFindUser.vue +1 -1
  13. package/src/components/pc/TelListener.vue +47 -16
  14. package/src/components/pc/VisitInfo.vue +44 -17
  15. package/src/components/pc/WorkCenter.vue +1 -1
  16. package/src/components/pc/WorkCenterList.vue +1 -1
  17. package/src/components/pc/WorkHistory.vue +20 -2
  18. package/src/components/pc/WorkListAll.vue +1 -1
  19. package/src/components/pc/WorkListAllNew.vue +10 -3
  20. package/src/components/pc/WorkListNew.vue +9 -3
  21. package/src/components/pc/olddata/OldWorkList.vue +193 -0
  22. package/src/components/telreport/RepairsDetailsReport.vue +98 -0
  23. package/src/components/telreport/TableFaultReport.vue +96 -0
  24. package/src/components/telreport/Traffic.vue +3 -3
  25. package/src/components/telreport/TrafficClassificationReport.vue +134 -0
  26. package/src/components/temp/ChangemeterInfo.vue +75 -87
  27. package/src/components/temp/DeviceInfo.vue +80 -82
  28. package/src/components/temp/HandplanInfo.vue +14 -3
  29. package/src/components/temp/InfoTable.vue +5 -2
  30. package/src/components/temp/MetereadInfo.vue +1 -4
  31. package/src/components/temp/OldRepairList.vue +100 -0
  32. package/src/components/temp/RepairList.vue +2 -2
  33. package/src/components/weinan/Console.vue +1 -1
  34. package/src/components/weinan/RecordList.vue +2 -2
  35. package/src/components/weinan/SiteSend.vue +2 -2
  36. package/src/components/weinan/SiteSendWeixiu.vue +7 -16
  37. package/src/components/weinan/StandWorkWeixiu.vue +1 -1
  38. package/src/components/weinan/WorkList.vue +73 -0
  39. package/src/components/weinan/WorkListAll.vue +90 -14
  40. package/src/components/weinan/WorkListWeixiu.vue +1 -1
  41. package/src/components/workorder/CompletedRepair.vue +269 -183
  42. package/src/components/workorder/FaultAll.vue +826 -826
  43. package/src/components/workorder/PhoneStandWork.vue +354 -354
  44. package/src/components/workorder/PhoneUpDetail.vue +3 -0
  45. package/src/components/workorder/RepairDetails.vue +12 -2
  46. package/src/components/workorder/RepairFirstV.vue +1 -1
  47. package/src/components/workorder/RepairOrderV.vue +1446 -1446
  48. package/src/filiale/furuike/pc/ComplainWork.vue +348 -348
  49. package/src/filiale/furuike/pc/Seekwork.vue +352 -352
  50. package/src/filiale/gongyi/android/RepairOrderV.vue +1415 -1415
  51. package/src/filiale/hanzhong/telephone.js +1 -1
  52. package/src/filiale/kelai/android/AppTakePic.vue +143 -0
  53. package/src/filiale/kelai/android/PhoneVentilationLeave.vue +176 -0
  54. package/src/filiale/kelai/pc/WorkCenterList.vue +20 -3
  55. package/src/filiale/kelai/pc/WorkListAllNew.vue +47 -9
  56. package/src/filiale/kelai/pc/serviceDeleteOrder.vue +55 -0
  57. package/src/filiale/kelai/telephone.js +9 -8
  58. package/src/filiale/kelai/telephoneAndroid.js +3 -1
  59. package/src/filiale/liaoyuan/android/RepairOrderV.vue +831 -831
  60. package/src/filiale/qianneng/android/FaultAll.vue +883 -883
  61. package/src/filiale/qianneng/android/MaterIialOne.vue +123 -123
  62. package/src/filiale/qianneng/android/RepairOrderV.vue +874 -874
  63. package/src/filiale/qianneng/android/TemporarySingle.vue +25 -0
  64. package/src/filiale/qianneng/android/chargesList.vue +161 -161
  65. package/src/filiale/qianneng/pc/MaterialDetailed.vue +15 -3
  66. package/src/filiale/qianneng/pc/MaterialStatistics.vue +144 -0
  67. package/src/filiale/qianneng/pc/NewRepairPaper.vue +467 -467
  68. package/src/filiale/qianneng/pc/RepairsWork.vue +992 -982
  69. package/src/filiale/qianneng/pc/WorkHistory.vue +2 -2
  70. package/src/filiale/qianneng/pc/WorkListAllNew.vue +53 -5
  71. package/src/filiale/qianneng/pc/changetable.vue +273 -0
  72. package/src/filiale/qianneng/telephone.js +2 -0
  73. package/src/filiale/rizhao/pc/DispatchMan.vue +3 -3
  74. package/src/filiale/rizhao/pc/DispatchWork.vue +3 -3
  75. package/src/filiale/rizhao/pc/Traffic.vue +3 -3
  76. package/src/filiale/rizhao/pc/WorkListAllNew.vue +8 -3
  77. package/src/filiale/rizhao/telephone.js +1 -1
  78. package/src/filiale/rongcheng/CliWorkListAll.vue +442 -407
  79. package/src/filiale/rongcheng/FaultAll.vue +3 -3
  80. package/src/filiale/rongcheng/RepairOrderV.vue +1445 -0
  81. package/src/filiale/rongcheng/telephoneAndroid.js +3 -1
  82. package/src/filiale/shanxian/android/RepairFirstV.vue +5 -1
  83. package/src/filiale/shanxian/pc/RepairsWork.vue +826 -0
  84. package/src/filiale/shanxian/pc/WorkList.vue +1 -1
  85. package/src/filiale/shanxian/telephone.js +13 -12
  86. package/src/filiale/shexian/android/AddMyTask.vue +7 -0
  87. package/src/filiale/shexian/android/CompletedRepair.vue +280 -0
  88. package/src/filiale/shexian/android/FaultAll.vue +847 -0
  89. package/src/filiale/shexian/android/Outlay.vue +182 -165
  90. package/src/filiale/shexian/android/RepairFirstV.vue +16 -2
  91. package/src/filiale/shexian/android/RepairInfo.vue +1 -0
  92. package/src/filiale/shexian/pc/QueryVisitHistory.vue +237 -0
  93. package/src/filiale/shexian/pc/TelAgentVoiceReport.vue +271 -0
  94. package/src/filiale/shexian/pc/TelByOrderManCount.vue +10 -2
  95. package/src/filiale/shexian/pc/WorkList.vue +782 -740
  96. package/src/filiale/shexian/pc/WorkListAllNew.vue +75 -67
  97. package/src/filiale/shexian/telephone.js +21 -18
  98. package/src/filiale/shexian/telephoneAndroid.js +32 -26
  99. package/src/filiale/tongchuan/android/RepairDetails.vue +623 -0
  100. package/src/filiale/tongchuan/android/TicketDetails.vue +3 -0
  101. package/src/filiale/tongchuan/pc/UserWork.vue +805 -805
  102. package/src/filiale/tongchuan/pc/WorkOrderStatistics.vue +2 -2
  103. package/src/filiale/tongchuan/telephone.js +52 -52
  104. package/src/filiale/tongchuan/telephoneAndroid.js +23 -22
  105. package/src/filiale/wenxi/android/FailureShow.vue +61 -0
  106. package/src/filiale/wenxi/android/PhoneUpUserinfo.vue +1053 -0
  107. package/src/filiale/wenxi/android/RepairInfo.vue +158 -74
  108. package/src/filiale/wenxi/android/RepairOrderV.vue +805 -1419
  109. package/src/filiale/wenxi/android/RepairUserInfo.vue +532 -0
  110. package/src/filiale/wenxi/android/ZHihuanFirst.vue +502 -0
  111. package/src/filiale/wenxi/pc/DistributeWork.vue +107 -121
  112. package/src/filiale/wenxi/pc/FailureEdit.vue +1 -1
  113. package/src/filiale/wenxi/pc/GasWork.vue +747 -0
  114. package/src/filiale/wenxi/pc/MetereadInfo.vue +82 -0
  115. package/src/filiale/wenxi/pc/RepairsWork.vue +15 -0
  116. package/src/filiale/wenxi/pc/TelFindUser.vue +213 -116
  117. package/src/filiale/wenxi/pc/WorkListAll.vue +348 -297
  118. package/src/filiale/wenxi/telephone.js +4 -5
  119. package/src/filiale/wenxi/telephoneAndroid.js +4 -1
  120. package/src/filiale/wuan/android/RepairOrderV.vue +1384 -1384
  121. package/src/filiale/wuhai/telephone.js +1 -1
  122. package/src/filiale/yuncheng/pc/TelFindUser.vue +302 -0
  123. package/src/filiale/yuncheng/telephone.js +12 -0
  124. package/src/filiale/zhongsheng/android/FaultAll.vue +741 -0
  125. package/src/filiale/zhongsheng/android/RepairOrderV.vue +1430 -1430
  126. package/src/filiale/zhongsheng/android/RepairUserInfo.vue +241 -214
  127. package/src/filiale/zhongsheng/pc/RepairsWork.vue +775 -775
  128. package/src/filiale/zhongsheng/telephone.js +23 -23
  129. package/src/filiale/zhongsheng/telephoneAndroid.js +2 -1
  130. package/src/main.js +1 -1
  131. package/src/telephone.js +17 -1
  132. package/src/weinan.js +6 -0
@@ -375,6 +375,9 @@
375
375
  ename: Vue.user.ename
376
376
  }, user: null, callObj: null
377
377
  }
378
+ if(data.model.failure){
379
+ data.model.f_json = this.trouble(data.model.failure)
380
+ }
378
381
  if(this.model.f_handlingtype=='转维修员'){
379
382
  data.toRepair = '一级派单'
380
383
  this.model.f_meetunit = Vue.user.deps
@@ -427,6 +430,28 @@
427
430
  failure.push({"f_failure_type": val[i], "failurecase": []})
428
431
  }
429
432
  this.model.failure=JSON.stringify(failure)
433
+ },
434
+ trouble (val) {
435
+ let failureall=''
436
+ let failure = JSON.parse(val)
437
+ for (let i = 0; i <failure.length; i++) {
438
+ if (failure[i].failurecase.length>0){
439
+ failureall+=failure[i].f_failure_type+":"
440
+ for (let j = 0; j < failure[i].failurecase.length; j++) {
441
+ failureall+=failure[i].failurecase[j]
442
+ if (j+1!=failure[i].failurecase.length){
443
+ failureall+=","
444
+ }
445
+ }
446
+
447
+ }else{
448
+ failureall+=failure[i].f_failure_type
449
+ }
450
+ if (i+1!=failure.length){
451
+ failureall+=';'
452
+ }
453
+ }
454
+ return failureall
430
455
  }
431
456
  },
432
457
  ready(){
@@ -1,161 +1,161 @@
1
- <template>
2
- <div id="tel-charges-list">
3
-
4
- <div class="list" v-show="changeModel">
5
- <div style="display: flex;justify-content: center;">
6
- <button type="button" name="button" class="btn btn-primary btn-sm fr btn-img-cl" @click="open()" style="margin: 5px ">
7
- 新增收费
8
- </button>
9
- </div>
10
- <div>
11
- <data-grid partial='list' v-ref:grid :model="model" class="list_area table_sy">
12
- <template partial='body'>
13
- <td style="text-align: center;">
14
- <nobr>{{ row.f_payment }}</nobr>
15
- </td>
16
- <td style="text-align: center;">
17
- <nobr>¥{{ row.f_collection }}</nobr>
18
- </td>
19
- <td style="text-align: center;">
20
- <nobr><button @click="$parent.$parent.getAllMaterial(row)">查看</button></nobr>
21
- </td>
22
- </template>
23
- </data-grid>
24
- </div>
25
- <div class="">
26
- <data-grid partial='list' v-ref:grid :model="material" class="list_area table_sy">
27
- <template partial='head'>
28
- <tr>
29
- <th>
30
- <nobr>品名规格</nobr>
31
- </th>
32
- <th>
33
- <nobr>型号</nobr>
34
- </th>
35
- <th>
36
- <nobr>单价</nobr>
37
- </th>
38
- <th>
39
- <nobr>数量</nobr>
40
- </th>
41
- </tr>
42
- </template>
43
- <template partial='body'>
44
- <td style="text-align: center;">
45
- <nobr>{{row.f_material_name }}</nobr>
46
- </td>
47
- <td style="text-align: center;">
48
- <nobr>{{ row.f_typenumber }}</nobr>
49
- </td>
50
- <td style="text-align: center;">
51
- <nobr>{{ row.f_material_price }}</nobr>
52
- </td>
53
- <td style="text-align: center;">
54
- <nobr>{{ row.f_material_number }}</nobr>
55
- </td>
56
- </template>
57
- </data-grid>
58
- </div>
59
- </div>
60
- <div class="material_service" v-show="!changeModel">
61
- <appinstallation-material v-if="!changeModel" :selectdata = "selectdata" @valueChange="change" @aftersave="aftersave()"></appinstallation-material>
62
- </div>
63
- </div>
64
- </template>
65
-
66
- <script>
67
- import Vue from 'vue'
68
- import {HttpResetClass} from 'vue-client'
69
- import QRCode from 'qrcodejs2'
70
- import {isEmpty} from '../../../components/Util'
71
- import AppInstallationMaterial from './AppInstallationMaterial'
72
- import FailureEdit from 'telephone-clients/src/filiale/qianneng/pc/FailureEdit'
73
- export default {
74
- title: '材料添加',
75
- props: {
76
- selectdata: {
77
- type: Object
78
- }
79
- },
80
- data() {
81
- return {
82
- model:{rows:[]},
83
- material:{rows:[]},
84
- showmaterial:false,
85
- changeModel:true
86
- }
87
- },
88
- ready() {
89
- this.getAllOthercharge()
90
- // this.getmaterial()
91
- // this.getmaterialTYPE()
92
-
93
- },
94
- methods: {
95
- open(){
96
- this.changeModel=false
97
- },
98
- aftersave(){
99
- this.getAllOthercharge()
100
- this.changeModel=true
101
- },
102
- getAllOthercharge(){
103
- new HttpResetClass().load('POST',this.$androidUtil.getProxyUrl() +`/rs/sql/tel_singleTable_OrderBy?pageNo=1&pageSize=10`, {data: {
104
- items: '*',
105
- tablename: 't_othercharge',
106
- condition: ` f_voucher_number='${this.selectdata.f_process_id}' and f_state='有效'`,
107
- orderitem: 'id desc'
108
- }},{resolveMsg:null,rejectMsg:null}).then(res=>{
109
- console.log(res)
110
- this.model.rows=res.data
111
- }).catch((e)=>{
112
- console.log("933",e)
113
- })
114
- },
115
- getAllMaterial(row){
116
- new HttpResetClass().load('POST',this.$androidUtil.getProxyUrl() +`/rs/sql/tel_singleTable_OrderBy?pageNo=1&pageSize=100`, {data: {
117
- items: '*',
118
- tablename: 't_material_service',
119
- condition: ` f_othercharge_id='${row.id}'`,
120
- orderitem: 'id desc'
121
- }},{resolveMsg:null,rejectMsg:null}).then(res=>{
122
- console.log(res)
123
- this.material.rows=res.data
124
- }).catch((e)=>{
125
- console.log("933",e)
126
- })
127
- },
128
- },
129
- events: {},
130
- computed: {},
131
- watch: {},
132
- components: {
133
- 'appinstallation-material': AppInstallationMaterial
134
- }
135
- }
136
- </script>
137
- <style lang="less" scoped>
138
- .head-but {
139
- margin-left: 5px;
140
- height: 34px;
141
- /*background-color: #6aa6e2;*/
142
- border-radius: 4px;
143
- font-family: PingFang;
144
- color: #ffffff;
145
- }
146
-
147
- /*清除model中的浮动*/
148
- .clearfix:after, .clearfix:before {
149
- display: table;
150
- }
151
-
152
- .clearfix:after {
153
- clear: both;
154
- }
155
- #tel-charges-list{
156
- .list{
157
- display: flex;
158
- flex-direction: column;
159
- }
160
- }
161
- </style>
1
+ <template>
2
+ <div id="tel-charges-list">
3
+
4
+ <div class="list" v-show="changeModel">
5
+ <div style="display: flex;justify-content: center;">
6
+ <button type="button" name="button" class="btn btn-primary btn-sm fr btn-img-cl" @click="open()" style="margin: 5px ">
7
+ 新增收费
8
+ </button>
9
+ </div>
10
+ <div>
11
+ <data-grid partial='list' v-ref:grid :model="model" class="list_area table_sy">
12
+ <template partial='body'>
13
+ <td style="text-align: center;">
14
+ <nobr>{{ row.f_payment }}</nobr>
15
+ </td>
16
+ <td style="text-align: center;">
17
+ <nobr>¥{{ row.f_collection }}</nobr>
18
+ </td>
19
+ <td style="text-align: center;">
20
+ <nobr><button @click="$parent.$parent.getAllMaterial(row)">查看</button></nobr>
21
+ </td>
22
+ </template>
23
+ </data-grid>
24
+ </div>
25
+ <div class="">
26
+ <data-grid partial='list' v-ref:grid :model="material" class="list_area table_sy">
27
+ <template partial='head'>
28
+ <tr>
29
+ <th>
30
+ <nobr>品名规格</nobr>
31
+ </th>
32
+ <th>
33
+ <nobr>型号</nobr>
34
+ </th>
35
+ <th>
36
+ <nobr>单价</nobr>
37
+ </th>
38
+ <th>
39
+ <nobr>数量</nobr>
40
+ </th>
41
+ </tr>
42
+ </template>
43
+ <template partial='body'>
44
+ <td style="text-align: center;">
45
+ <nobr>{{row.f_material_name }}</nobr>
46
+ </td>
47
+ <td style="text-align: center;">
48
+ <nobr>{{ row.f_typenumber }}</nobr>
49
+ </td>
50
+ <td style="text-align: center;">
51
+ <nobr>{{ row.f_material_price }}</nobr>
52
+ </td>
53
+ <td style="text-align: center;">
54
+ <nobr>{{ row.f_material_number }}</nobr>
55
+ </td>
56
+ </template>
57
+ </data-grid>
58
+ </div>
59
+ </div>
60
+ <div class="material_service" v-show="!changeModel">
61
+ <appinstallation-material v-if="!changeModel" :selectdata = "selectdata" @valueChange="change" @aftersave="aftersave()"></appinstallation-material>
62
+ </div>
63
+ </div>
64
+ </template>
65
+
66
+ <script>
67
+ import Vue from 'vue'
68
+ import {HttpResetClass} from 'vue-client'
69
+ import QRCode from 'qrcodejs2'
70
+ import {isEmpty} from '../../../components/Util'
71
+ import AppInstallationMaterial from './AppInstallationMaterial'
72
+ import FailureEdit from 'telephone-clients/src/filiale/qianneng/pc/FailureEdit'
73
+ export default {
74
+ title: '材料添加',
75
+ props: {
76
+ selectdata: {
77
+ type: Object
78
+ }
79
+ },
80
+ data() {
81
+ return {
82
+ model:{rows:[]},
83
+ material:{rows:[]},
84
+ showmaterial:false,
85
+ changeModel:true
86
+ }
87
+ },
88
+ ready() {
89
+ this.getAllOthercharge()
90
+ // this.getmaterial()
91
+ // this.getmaterialTYPE()
92
+
93
+ },
94
+ methods: {
95
+ open(){
96
+ this.changeModel=false
97
+ },
98
+ aftersave(){
99
+ this.getAllOthercharge()
100
+ this.changeModel=true
101
+ },
102
+ getAllOthercharge(){
103
+ new HttpResetClass().load('POST',this.$androidUtil.getProxyUrl() +`/rs/sql/tel_singleTable_OrderBy?pageNo=1&pageSize=10`, {data: {
104
+ items: '*',
105
+ tablename: 't_othercharge',
106
+ condition: ` f_voucher_number='${this.selectdata.f_process_id}' and f_state='有效'`,
107
+ orderitem: 'id desc'
108
+ }},{resolveMsg:null,rejectMsg:null}).then(res=>{
109
+ console.log(res)
110
+ this.model.rows=res.data
111
+ }).catch((e)=>{
112
+ console.log("933",e)
113
+ })
114
+ },
115
+ getAllMaterial(row){
116
+ new HttpResetClass().load('POST',this.$androidUtil.getProxyUrl() +`/rs/sql/tel_singleTable_OrderBy?pageNo=1&pageSize=100`, {data: {
117
+ items: '*',
118
+ tablename: 't_material_service',
119
+ condition: ` f_othercharge_id='${row.id}'`,
120
+ orderitem: 'id desc'
121
+ }},{resolveMsg:null,rejectMsg:null}).then(res=>{
122
+ console.log(res)
123
+ this.material.rows=res.data
124
+ }).catch((e)=>{
125
+ console.log("933",e)
126
+ })
127
+ },
128
+ },
129
+ events: {},
130
+ computed: {},
131
+ watch: {},
132
+ components: {
133
+ 'appinstallation-material': AppInstallationMaterial
134
+ }
135
+ }
136
+ </script>
137
+ <style lang="less" scoped>
138
+ .head-but {
139
+ margin-left: 5px;
140
+ height: 34px;
141
+ /*background-color: #6aa6e2;*/
142
+ border-radius: 4px;
143
+ font-family: PingFang;
144
+ color: #ffffff;
145
+ }
146
+
147
+ /*清除model中的浮动*/
148
+ .clearfix:after, .clearfix:before {
149
+ display: table;
150
+ }
151
+
152
+ .clearfix:after {
153
+ clear: both;
154
+ }
155
+ #tel-charges-list{
156
+ .list{
157
+ display: flex;
158
+ flex-direction: column;
159
+ }
160
+ }
161
+ </style>
@@ -98,9 +98,10 @@
98
98
  </div>
99
99
  <div class="form-group col-sm-3">
100
100
  <label class="font_normal_body">部&emsp;&emsp;门:</label>
101
- <input type="text" style="width: 60%" class="input_search" placeholder='部门' v-model="model.f_department"
102
- v-on:keyup.enter="$parent.$parent.search()"
103
- condition="ms.f_department like '{}'">
101
+ <v-select :value.sync="model.f_department"
102
+ v-model="model.f_department"
103
+ :options='$parent.$parent.f_departments' placeholder='部门'
104
+ close-on-select condition="ms.f_department like '%{}%'"></v-select>
104
105
  </div>
105
106
  </div>
106
107
  </div>
@@ -110,7 +111,9 @@
110
111
  <tr>
111
112
  <th>序号</th>
112
113
  <th>工单编号</th>
114
+ <th>客户编号</th>
113
115
  <th>客户名称</th>
116
+ <th>客户电话</th>
114
117
  <th>地址</th>
115
118
  <th>故障明细</th>
116
119
  <th>用户类型</th>
@@ -134,9 +137,15 @@
134
137
  <td style="text-align: center;">
135
138
  <nobr><font>{{row.f_service_id}}</font></nobr>
136
139
  </td>
140
+ <td style="text-align: center;">
141
+ <nobr><font>{{row.f_userinfo_code}}</font></nobr>
142
+ </td>
137
143
  <td style="text-align: center;">
138
144
  <nobr><font>{{row.f_user_name}}</font></nobr>
139
145
  </td>
146
+ <td style="text-align: center;">
147
+ <nobr><font>{{row.f_contact_phone}}</font></nobr>
148
+ </td>
140
149
  <td style="text-align: center;">
141
150
  <nobr><font>{{row.f_address}}</font></nobr>
142
151
  </td>
@@ -192,10 +201,13 @@ export default {
192
201
  data () {
193
202
  return {
194
203
  model: new PagedList('rs/sql/getmaterialservice', 30, null),
204
+ f_departments:[{label:"全部",value:""},...this.$appdata.getParam('部门')],
195
205
  criteriaShow: false,
196
206
  getfield: {
197
207
  'f_service_id': '工单编号',
208
+ 'f_userinfo_code': '客户编号',
198
209
  'f_user_name': '客户名称',
210
+ 'f_contact_phone': '客户电话',
199
211
  'f_address': '地址',
200
212
  'f_json': '故障明细',
201
213
  'f_user_type': '用户类型',
@@ -0,0 +1,144 @@
1
+ <template>
2
+ <div class="flex-row">
3
+ <div style="height: 95%" class="basic-main" >
4
+ <criteria-paged :model="model" v-ref:cp>
5
+ <criteria partial='criteria' @condition-changed='$parent.searchCondition' v-ref:cri>
6
+ <div class="form-horizontal select-overspread container-fluid auto" style="margin-bottom: 10px" partial>
7
+ <div class="row">
8
+ <div class="col-sm-6 form-group form-input-group" style="width: 40%">
9
+ <role-selector-tel
10
+ role-name="维修员"
11
+ role-lable="维&nbsp;修&nbsp;员"
12
+ @re-res="$parent.$parent.getRes"
13
+ :value.sync="model.f_checker_id"
14
+ v-model="model.f_checker_id"
15
+ condition="f_order_man = '{}'">
16
+ </role-selector-tel>
17
+ </div>
18
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
19
+ <label class="font_normal_body" style="width: 40%">操作时间</label>
20
+ <datepicker placeholder="起始操作时间"
21
+ :value.sync="model.f_created_date"
22
+ v-model="model.f_created_date"
23
+ :format="'yyyy-MM-dd 00:00:00'"
24
+ condition="f_date >= '{}'"
25
+ ></datepicker>
26
+ </div>
27
+ <div class="col-sm-3 form-group form-input-group" style="width: 20%">
28
+ <label class="font_normal_body" style="width: 40%">操作时间</label>
29
+ <datepicker placeholder="终止操作时间"
30
+ :value.sync="model.f_created_enddate"
31
+ v-model="model.f_created_enddate"
32
+ :format="'yyyy-MM-dd 23:59:59'"
33
+ condition="f_date <= '{}'"
34
+ ></datepicker>
35
+ </div>
36
+ <div class="form-group col-sm-3 button-range">
37
+ <button class="button_search button_spacing" @click="$parent.$parent.search()" v-el:cx>查询</button>
38
+ <button class="button_clear button_spacing" @click="$parent.$parent.clear()">清空</button>
39
+ <export-excel :data="$parent.$parent.getCondition"
40
+ :field="$parent.$parent.getfield"
41
+ sqlurl="rs/logic/telephoneExport"
42
+ sql-name="getMaterialStatistics"
43
+ template-name='材料汇总导出'
44
+ :choose-col="true"></export-excel>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </criteria>
49
+ <data-grid :model="model" partial='list' v-ref:grid style="overflow: auto" class="list_area table_sy">
50
+ <template partial='head'>
51
+ <tr>
52
+ <th>序号</th>
53
+ <th>维修员</th>
54
+ <th>材料名称</th>
55
+ <th>材料型号</th>
56
+ <th>数量</th>
57
+ <th>金额(元)</th>
58
+ </tr>
59
+ </template>
60
+ <template partial='body'>
61
+ <tr >
62
+ <td style="text-align: center;">
63
+ <nobr><font>{{$index+1}}</font></nobr>
64
+ </td>
65
+ <td style="text-align: center;">
66
+ <nobr><font>{{row.f_repair_man}}</font></nobr>
67
+ </td>
68
+ <td style="text-align: center;">
69
+ <nobr><font>{{row.f_material_name}}</font></nobr>
70
+ </td>
71
+ <td style="text-align: center;">
72
+ <nobr><font>{{row.f_material_type}}</font></nobr>
73
+ </td>
74
+ <td style="text-align: center;">
75
+ <nobr><font>{{row.f_count}}</font></nobr>
76
+ </td>
77
+ <td style="text-align: center;">
78
+ <nobr><font>{{row.f_money}}</font></nobr>
79
+ </td>
80
+ </tr>
81
+ </template>
82
+ </data-grid>
83
+ </criteria-paged>
84
+ </div>
85
+
86
+ </div>
87
+ </template>
88
+
89
+ <script>
90
+ import {PagedList} from 'vue-client'
91
+ export default {
92
+ title: '材料汇总',
93
+ data () {
94
+ return {
95
+ model: new PagedList('rs/sql/getMaterialStatistics', 30, null),
96
+ criteriaShow: false,
97
+ getfield: {
98
+ 'f_repair_man': '维修员',
99
+ 'f_material_name': '材料名称',
100
+ 'f_material_type': '材料型号',
101
+ 'f_count': '数量',
102
+ 'f_money': '金额(元)',
103
+ },
104
+ f_filialeids: ''
105
+ }
106
+ },
107
+ ready () {
108
+ // 调用查询
109
+ this.search()
110
+ },
111
+ methods: {
112
+ clear () {
113
+ Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
114
+ this.$refs.cp.$refs.cri.model[key] = ''
115
+ })
116
+ },
117
+ searchCondition (args) {
118
+ if (this.f_filialeids) {
119
+ args.condition += ` and t2.f_filiale_id in ${this.f_filialeids}`
120
+ } else {
121
+ args.condition += ` and t2.f_filiale_id = '${this.$login.f.orgid}'`
122
+ }
123
+ this.model.search(args.condition, args.model)
124
+ },
125
+ // 查询
126
+ search () {
127
+ this.$refs.cp.$refs.cri.search()
128
+ },
129
+ getRes (obj) {
130
+ this.f_filialeids = this.$login.convertToIn(obj.resids)
131
+ },
132
+ },
133
+ computed: {
134
+ getCondition () {
135
+ return {
136
+ condition: this.model.condition
137
+ }
138
+ }
139
+ }
140
+ }
141
+ </script>
142
+
143
+ <style scoped>
144
+ </style>