sale-client 4.2.114 → 4.2.115

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.
@@ -1,206 +1,206 @@
1
- <template>
2
- <div class="panel panel-info auto">
3
- <div class="panel-heading auto" style="height: 35px">
4
- <h4 style="display:inline-block;margin-top: auto" title="参数:维修情况查询">维修情况</h4>
5
- </div>
6
- <table class="table table-striped table-bordered" v-if="this.pared==1" >
7
- <thead>
8
- <tr>
9
- <th colspan="4" style="text-align: center;background-color: #8cbce2;">用户维修情况</th>
10
- </tr>
11
- </thead>
12
- <tbody>
13
- <tr>
14
- <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">维修时间:</td>
15
- <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px;">{{model.f_created_date }}</td>
16
- </tr>
17
- <tr>
18
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
19
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ model.f_date_come }}</td>
20
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
21
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ model.f_date_leave }}</td>
22
- </tr>
23
- <tr>
24
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">维修费用:</td>
25
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ model.f_money }}</td>
26
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">维修结果:</td>
27
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ model.f_result_status }}</td>
28
- </tr>
29
- <tr>
30
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">维修人:</td>
31
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ model.f_order_man }}</td>
32
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">工单类型:</td>
33
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ model.f_workorder_type }}</td>
34
- </tr>
35
- <tr>
36
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">工单进度:</td>
37
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ model.f_department }}</td>
38
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">工单状态:</td>
39
- <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ model.f_orderstatus }}</td>
40
- </tr>
41
- </tbody>
42
- </table>
43
- <!-- 维修照片展示 -->
44
- <table class="table table-striped table-bordered" v-if="pared == 1 && repairImages.length > 0">
45
- <thead>
46
- <tr>
47
- <th colspan="4" style="text-align: center;background-color: #8cbce2;">维修照片</th>
48
- </tr>
49
- </thead>
50
- <tbody>
51
- <tr>
52
- <td style="margin: auto;text-align: center">
53
- <div class="container" style="background: #FFFFFF;margin:0;width:100%;">
54
- <div class="img" v-for="img in repairImages">
55
- <img-self v-if="img.android_file!='' && img.android_file!=null" :src="'rs/image/file/'+img.android_file" style="float: left" width="100" height="150"></img-self>
56
- </div>
57
- </div>
58
- </td>
59
- </tr>
60
- </tbody>
61
- </table>
62
- <div class="auto info-content" v-if="pared == 0">
63
- <div class="row">
64
- <strong>暂无维修信息</strong>
65
- </div>
66
- </div>
67
- </div>
68
- </template>
69
- <script>
70
- /**
71
- *用户信息
72
- *维修情况
73
- */
74
-
75
- import {HttpResetClass} from 'vue-client'
76
-
77
- export default {
78
- title: '安检维修情况',
79
- data () {
80
- return {
81
- model: {},
82
- repairList: [], // 所有维修记录列表
83
- pared: 0,
84
- repairImages: [] // 维修照片列表
85
- }
86
- },
87
- props: ['data'],
88
- ready () {
89
- this.getServiceRepair()
90
- },
91
- methods: {
92
- async getServiceRepair () {
93
- if (this.data && this.data.f_userinfo_id) {
94
- let data = {
95
- f_userinfo_id: this.data.f_userinfo_id
96
- }
97
- let http = new HttpResetClass()
98
- let res = await http.load('POST', 'api/af-revenue/sql/getServiceRepair', {data: data}, {resolveMsg: null, rejectMsg: null})
99
- console.log('看看维修情况', res, res.data)
100
- if (res.data && res.data.length > 0) {
101
- this.repairList = res.data
102
- this.model = res.data[0]
103
- this.pared = 1
104
- await this.getAllRepairImages(res.data)
105
- } else {
106
- this.pared = 0
107
- this.repairList = []
108
- this.repairImages = []
109
- }
110
- } else {
111
- this.pared = 0
112
- this.repairList = []
113
- this.repairImages = []
114
- }
115
- },
116
- // 获取单个维修记录的照片
117
- async getRepairImages (workorderId) {
118
- if (!workorderId) {
119
- return []
120
- }
121
- try {
122
- let http = new HttpResetClass()
123
- let serviceWorkRes = await http.load('POST', 'api/af-revenue/sql/saleSingleTable', {
124
- data: {
125
- tablename: 't_servicework',
126
- condition: `serviceid = '${workorderId}'`
127
- }
128
- }, {resolveMsg: null, rejectMsg: null})
129
- if (serviceWorkRes.data && serviceWorkRes.data.length > 0) {
130
- let serviceId = serviceWorkRes.data[0].id
131
- let repairImgRes = await http.load('POST', 'api/af-revenue/sql/saleSingleTable', {
132
- data: {
133
- tablename: 't_repairimg',
134
- condition: `serviceid = '${serviceId}'`
135
- }
136
- }, {resolveMsg: null, rejectMsg: null})
137
- if (repairImgRes.data && repairImgRes.data.length > 0) {
138
- return repairImgRes.data
139
- }
140
- }
141
- return []
142
- } catch (error) {
143
- console.error('获取维修照片失败:', error)
144
- return []
145
- }
146
- },
147
- // 获取所有维修记录的照片
148
- async getAllRepairImages (repairList) {
149
- if (!repairList || repairList.length === 0) {
150
- this.repairImages = []
151
- return
152
- }
153
- try {
154
- let allImages = []
155
- for (let repair of repairList) {
156
- if (repair.id) {
157
- let images = await this.getRepairImages(repair.id)
158
- allImages = allImages.concat(images)
159
- }
160
- }
161
- this.repairImages = allImages
162
- console.log('所有维修照片', this.repairImages)
163
- } catch (error) {
164
- console.error('获取所有维修照片失败:', error)
165
- this.repairImages = []
166
- }
167
- }
168
- },
169
- watch: {
170
- 'data' () {
171
- console.log('维修情况', this.data)
172
- this.getServiceRepair()
173
- }
174
- }
175
- }
176
- </script>
177
- <style scoped>
178
- .img {
179
- border: 1px solid #9773ed;
180
- width: auto;
181
- height: auto;
182
- float: left;
183
- text-align: center;
184
- margin: 6px;
185
- }
186
-
187
- img {
188
- margin: 6px;
189
- }
190
-
191
-
192
- .container{
193
- margin: 10px auto;
194
- width: 80%;
195
- height: auto;
196
- }
197
- div::-webkit-scrollbar {
198
- width: 0 !important;
199
- height: 0 !important;
200
- }
201
-
202
- div{
203
- -ms-overflow-style: none;
204
- overflow: -moz-scrollbars-none;
205
- }
206
- </style>
1
+ <template>
2
+ <div class="panel panel-info auto">
3
+ <div class="panel-heading auto" style="height: 35px">
4
+ <h4 style="display:inline-block;margin-top: auto" title="参数:维修情况查询">维修情况</h4>
5
+ </div>
6
+ <table class="table table-striped table-bordered" v-if="this.pared==1" >
7
+ <thead>
8
+ <tr>
9
+ <th colspan="4" style="text-align: center;background-color: #8cbce2;">用户维修情况</th>
10
+ </tr>
11
+ </thead>
12
+ <tbody>
13
+ <tr>
14
+ <td colspan="1" style="text-align: center;border: #E9E9E9 solid 1px;">维修时间:</td>
15
+ <td colspan="3" style="text-align: center;border: #E9E9E9 solid 1px;">{{model.f_created_date }}</td>
16
+ </tr>
17
+ <tr>
18
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">到达时间:</td>
19
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ model.f_date_come }}</td>
20
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">离开时间:</td>
21
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ model.f_date_leave }}</td>
22
+ </tr>
23
+ <tr>
24
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">维修费用:</td>
25
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ model.f_money }}</td>
26
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">维修结果:</td>
27
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ model.f_result_status }}</td>
28
+ </tr>
29
+ <tr>
30
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">维修人:</td>
31
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ model.f_order_man }}</td>
32
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">工单类型:</td>
33
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ model.f_workorder_type }}</td>
34
+ </tr>
35
+ <tr>
36
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">工单进度:</td>
37
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ model.f_department }}</td>
38
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 17%">工单状态:</td>
39
+ <td style="text-align: center;border: #E9E9E9 solid 1px;width: 33%">{{ model.f_orderstatus }}</td>
40
+ </tr>
41
+ </tbody>
42
+ </table>
43
+ <!-- 维修照片展示 -->
44
+ <table class="table table-striped table-bordered" v-if="pared == 1 && repairImages.length > 0">
45
+ <thead>
46
+ <tr>
47
+ <th colspan="4" style="text-align: center;background-color: #8cbce2;">维修照片</th>
48
+ </tr>
49
+ </thead>
50
+ <tbody>
51
+ <tr>
52
+ <td style="margin: auto;text-align: center">
53
+ <div class="container" style="background: #FFFFFF;margin:0;width:100%;">
54
+ <div class="img" v-for="img in repairImages">
55
+ <img-self v-if="img.android_file!='' && img.android_file!=null" :src="'rs/image/file/'+img.android_file" style="float: left" width="100" height="150"></img-self>
56
+ </div>
57
+ </div>
58
+ </td>
59
+ </tr>
60
+ </tbody>
61
+ </table>
62
+ <div class="auto info-content" v-if="pared == 0">
63
+ <div class="row">
64
+ <strong>暂无维修信息</strong>
65
+ </div>
66
+ </div>
67
+ </div>
68
+ </template>
69
+ <script>
70
+ /**
71
+ *用户信息
72
+ *维修情况
73
+ */
74
+
75
+ import {HttpResetClass} from 'vue-client'
76
+
77
+ export default {
78
+ title: '安检维修情况',
79
+ data () {
80
+ return {
81
+ model: {},
82
+ repairList: [], // 所有维修记录列表
83
+ pared: 0,
84
+ repairImages: [] // 维修照片列表
85
+ }
86
+ },
87
+ props: ['data'],
88
+ ready () {
89
+ this.getServiceRepair()
90
+ },
91
+ methods: {
92
+ async getServiceRepair () {
93
+ if (this.data && this.data.f_userinfo_id) {
94
+ let data = {
95
+ f_userinfo_id: this.data.f_userinfo_id
96
+ }
97
+ let http = new HttpResetClass()
98
+ let res = await http.load('POST', 'api/af-revenue/sql/getServiceRepair', {data: data}, {resolveMsg: null, rejectMsg: null})
99
+ console.log('看看维修情况', res, res.data)
100
+ if (res.data && res.data.length > 0) {
101
+ this.repairList = res.data
102
+ this.model = res.data[0]
103
+ this.pared = 1
104
+ await this.getAllRepairImages(res.data)
105
+ } else {
106
+ this.pared = 0
107
+ this.repairList = []
108
+ this.repairImages = []
109
+ }
110
+ } else {
111
+ this.pared = 0
112
+ this.repairList = []
113
+ this.repairImages = []
114
+ }
115
+ },
116
+ // 获取单个维修记录的照片
117
+ async getRepairImages (workorderId) {
118
+ if (!workorderId) {
119
+ return []
120
+ }
121
+ try {
122
+ let http = new HttpResetClass()
123
+ let serviceWorkRes = await http.load('POST', 'api/af-revenue/sql/saleSingleTable', {
124
+ data: {
125
+ tablename: 't_servicework',
126
+ condition: `serviceid = '${workorderId}'`
127
+ }
128
+ }, {resolveMsg: null, rejectMsg: null})
129
+ if (serviceWorkRes.data && serviceWorkRes.data.length > 0) {
130
+ let serviceId = serviceWorkRes.data[0].id
131
+ let repairImgRes = await http.load('POST', 'api/af-revenue/sql/saleSingleTable', {
132
+ data: {
133
+ tablename: 't_repairimg',
134
+ condition: `serviceid = '${serviceId}'`
135
+ }
136
+ }, {resolveMsg: null, rejectMsg: null})
137
+ if (repairImgRes.data && repairImgRes.data.length > 0) {
138
+ return repairImgRes.data
139
+ }
140
+ }
141
+ return []
142
+ } catch (error) {
143
+ console.error('获取维修照片失败:', error)
144
+ return []
145
+ }
146
+ },
147
+ // 获取所有维修记录的照片
148
+ async getAllRepairImages (repairList) {
149
+ if (!repairList || repairList.length === 0) {
150
+ this.repairImages = []
151
+ return
152
+ }
153
+ try {
154
+ let allImages = []
155
+ for (let repair of repairList) {
156
+ if (repair.id) {
157
+ let images = await this.getRepairImages(repair.id)
158
+ allImages = allImages.concat(images)
159
+ }
160
+ }
161
+ this.repairImages = allImages
162
+ console.log('所有维修照片', this.repairImages)
163
+ } catch (error) {
164
+ console.error('获取所有维修照片失败:', error)
165
+ this.repairImages = []
166
+ }
167
+ }
168
+ },
169
+ watch: {
170
+ 'data' () {
171
+ console.log('维修情况', this.data)
172
+ this.getServiceRepair()
173
+ }
174
+ }
175
+ }
176
+ </script>
177
+ <style scoped>
178
+ .img {
179
+ border: 1px solid #9773ed;
180
+ width: auto;
181
+ height: auto;
182
+ float: left;
183
+ text-align: center;
184
+ margin: 6px;
185
+ }
186
+
187
+ img {
188
+ margin: 6px;
189
+ }
190
+
191
+
192
+ .container{
193
+ margin: 10px auto;
194
+ width: 80%;
195
+ height: auto;
196
+ }
197
+ div::-webkit-scrollbar {
198
+ width: 0 !important;
199
+ height: 0 !important;
200
+ }
201
+
202
+ div{
203
+ -ms-overflow-style: none;
204
+ overflow: -moz-scrollbars-none;
205
+ }
206
+ </style>
@@ -63,6 +63,7 @@
63
63
  <th>收费时间</th>
64
64
  <th>记录状态</th>
65
65
  <th>生成记录人员</th>
66
+ <th>备注</th>
66
67
  <th>所属分公司</th>
67
68
  <th>操作</th>
68
69
  </tr>
@@ -79,6 +80,7 @@
79
80
  <td>{{ row.f_operate_date }}</td>
80
81
  <td>{{ row.f_state }}</td>
81
82
  <td>{{ row.f_operator }}</td>
83
+ <td>{{ row.f_comment }}</td>
82
84
  <td>{{ row.f_orgname }}</td>
83
85
  <td style="text-align: center"> <button v-if="row.f_state === '待生成'" type="button" class="btn btn-danger" @click.stop="$parent.$parent.$parent.cancel(row)">作废</button>&nbsp;&nbsp;&nbsp;
84
86
  </td>