apply-clients 3.5.4-2 → 3.5.4-21
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.
- package/build/dev-server.js +137 -133
- package/package.json +1 -1
- package/src/App.vue +25 -25
- package/src/components/android/Process/AppServiceControl.vue +5 -0
- package/src/components/android/Process/Processes/AppAddMaterialScience.vue +493 -493
- package/src/components/android/Process/Processes/AppInstallationDetails.vue +1 -3
- package/src/components/image/dxf.png +0 -0
- package/src/components/product/Process/ExplorationUser.vue +1 -0
- package/src/components/product/Process/Processes/addMaterialScience.vue +471 -471
- package/src/filiale/baiyin/android/AppServiceControl.vue +1762 -0
- package/src/filiale/baiyin/android/ByAddMaterialScience.vue +801 -0
- package/src/filiale/baiyin/android/ByDeviceManagement.vue +917 -0
- package/src/filiale/baiyin/android.js +8 -0
- package/src/filiale/fugou/android/AppChargeManagement.vue +132 -1
- package/src/filiale/fugou/pc/ServiceControl.vue +27 -6
- package/src/filiale/qianneng/android/AppExplorationUser.vue +38 -0
- package/src/filiale/qianneng/android/AppInstallationDetails.vue +20 -11
- package/src/filiale/qianneng/pc/ApplyUpload.vue +292 -291
- package/src/filiale/qianneng/pc/Applybatchdispatch.vue +11 -6
- package/src/filiale/qianneng/pc/InstallationDetails.vue +614 -586
- package/src/filiale/qianneng/pc/ServiceControl.vue +1 -0
- package/src/filiale/qianneng/pc/printactivatecard.vue +6 -6
- package/src/filiale/ruihua/pc/InstallationDetails.vue +610 -0
- package/src/filiale/ruihua/pc/ServiceControl.vue +20 -0
- package/src/filiale/ruihua/pc/printVentilation.vue +21 -6
- package/src/filiale/ruihua/pc.js +1 -0
- package/src/filiale/shexian/android/AppServiceControl.vue +1758 -1753
- package/src/filiale/shexian/android/AppTakePic.vue +94 -140
- package/src/filiale/siyangRH/pc/chargeManagement.vue +810 -0
- package/src/filiale/siyangRH/pc.js +1 -0
- package/src/filiale/yangchunboneng/android/AppChargeManagement.vue +4 -0
- package/src/filiale/yangchunboneng/android/AppExplorationUser.vue +12 -0
- package/src/filiale/yangchunboneng/android/AppInstallationMaterial.vue +7 -3
- package/src/filiale/yangchunboneng/android/AppServiceControl.vue +17 -1
- package/src/filiale/yangchunboneng/android/AppSuperServiceControl.vue +1 -1
- package/src/filiale/yangchunboneng/android/AppUpload.vue +50 -8
- package/src/filiale/yangchunboneng/pc/ApplyUpload.vue +230 -219
- package/src/filiale/yangchunboneng/pc/ExplorationSelect.vue +53 -13
- package/src/filiale/yangchunboneng/pc/ServiceControl.vue +183 -2
- package/src/filiale/yangchunboneng/pc/SupervisoryControlNew.vue +140 -0
- package/src/filiale/yangchunboneng/pc/SupervisoryList.vue +54 -13
- package/src/filiale/yangchunboneng/pc/SupervisoryListNew.vue +613 -0
- package/src/filiale/yangchunboneng/pc/SupervisoryServiceControl.vue +902 -0
- package/src/filiale/yangchunboneng/pc/SupervisoryServiceControlNew.vue +901 -0
- package/src/filiale/yangchunboneng/pc/SupervisoryServiceView.vue +1117 -0
- package/src/filiale/yangchunboneng/pc/chargeManagement.vue +99 -12
- package/src/filiale/yangchunboneng/pc.js +6 -1
- package/src/main.js +23 -23
|
@@ -120,256 +120,267 @@
|
|
|
120
120
|
</template>
|
|
121
121
|
|
|
122
122
|
<script>
|
|
123
|
-
|
|
124
|
-
|
|
123
|
+
import {HttpResetClass} from 'vue-client'
|
|
124
|
+
import {isEmpty} from "../../../components/Util";
|
|
125
125
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
126
|
+
export default {
|
|
127
|
+
title: '附件',
|
|
128
|
+
props: ['blodid', 'businessid', 'isremark', 'isusetype', 'takeimg', 'defname', 'isupload', 'isdelete', 'bootstraped', 'issearch'],
|
|
129
|
+
data() {
|
|
130
|
+
return {
|
|
131
|
+
defnames: [{label: '全部', value: ''}, ...this.$appdata.getParam('报建节点')],
|
|
132
|
+
defname: '',
|
|
133
|
+
fileInfoData: [], // 数据库存储的文件记录对象数组
|
|
134
|
+
headers: {
|
|
135
|
+
'username': this.$login.f.name,
|
|
136
|
+
'blodid': '',
|
|
137
|
+
'businessid': '',
|
|
138
|
+
'fremarks': '',
|
|
139
|
+
'defname': '',
|
|
140
|
+
'fusetype': ''
|
|
141
|
+
}, // 调用rs/file/uploadFile 的参数
|
|
142
|
+
showUpload: false, // 上传模态框控制
|
|
143
|
+
showhighmeter: false, // 高拍仪组件控制
|
|
144
|
+
useType: null,
|
|
145
|
+
checkes:[]
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
ready() {
|
|
149
|
+
this.headers.blodid = this.blodid
|
|
150
|
+
this.headers.businessid = this.businessid
|
|
151
|
+
this.headers.defname = this.defname
|
|
152
|
+
if (this.blodid || this.businessid) {
|
|
153
|
+
this.load()
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
methods: {
|
|
157
|
+
delet(index, row) {
|
|
158
|
+
if(this.defname!==row.defname){
|
|
159
|
+
this.$showMessage('无法删除非当前环节的附件')
|
|
160
|
+
return
|
|
146
161
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
this.headers.blodid = this.blodid
|
|
150
|
-
this.headers.businessid = this.businessid
|
|
151
|
-
this.headers.defname = this.defname
|
|
152
|
-
if (this.blodid || this.businessid) {
|
|
162
|
+
this.$resetdelete('rs/entity/t_files', {id: row.id}, {resolveMsg: '删除成功', rejectMsg: '删除失败'}).then((res) => {
|
|
163
|
+
this.$dispatch("delResid", row.id)
|
|
153
164
|
this.load()
|
|
154
|
-
}
|
|
165
|
+
})
|
|
155
166
|
},
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
this
|
|
161
|
-
|
|
162
|
-
},
|
|
163
|
-
async deletefiles(){
|
|
164
|
-
if (this.checkes.length > 0){
|
|
165
|
-
let http = new HttpResetClass()
|
|
166
|
-
for (let i = 0;i<this.checkes.length;i++){
|
|
167
|
-
await http.load('DELETE',`rs/entity/t_files/${this.checkes[i].id}`,{},{resolveMsg: null, rejectMsg: null})
|
|
168
|
-
}
|
|
169
|
-
this.load()
|
|
167
|
+
async deletefiles(){
|
|
168
|
+
debugger
|
|
169
|
+
for (let i = 0;i<this.checkes.length;i++){
|
|
170
|
+
if(this.this.checkes[i].defname!==this.defname){
|
|
171
|
+
this.$showMessage(`第${i}个不是当前环节的附件,无法删`)
|
|
172
|
+
return
|
|
170
173
|
}
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
let index=this.checkes.findIndex(item => item.id == row.id)
|
|
177
|
-
if(index<0){
|
|
178
|
-
this.checkes.push(row)
|
|
179
|
-
}else{
|
|
180
|
-
this.checkes.splice(index,1)
|
|
174
|
+
}
|
|
175
|
+
if (this.checkes.length > 0){
|
|
176
|
+
let http = new HttpResetClass()
|
|
177
|
+
for (let i = 0;i<this.checkes.length;i++){
|
|
178
|
+
await http.load('DELETE',`rs/entity/t_files/${this.checkes[i].id}`,{},{resolveMsg: null, rejectMsg: null})
|
|
181
179
|
}
|
|
182
|
-
console.log('this.checkes=', JSON.stringify(this.checkes))
|
|
183
|
-
},
|
|
184
|
-
// 下载
|
|
185
|
-
downloadfile(filepath) {
|
|
186
|
-
let name = this.extractFileName(filepath)
|
|
187
|
-
var link = document.createElement('a')
|
|
188
|
-
link.href = filepath
|
|
189
|
-
link.download = name
|
|
190
|
-
link.dispatchEvent(new MouseEvent('click'))
|
|
191
|
-
},
|
|
192
|
-
extractFileName(str) {
|
|
193
|
-
// 使用split分割字符串
|
|
194
|
-
var parts = str.split('\\');
|
|
195
|
-
// 获取最后一个部分,这通常是文件名
|
|
196
|
-
var fileName = parts[parts.length - 1];
|
|
197
|
-
// 返回文件名
|
|
198
|
-
return fileName;
|
|
199
|
-
},
|
|
200
|
-
// 关闭文件上传对话框
|
|
201
|
-
close() {
|
|
202
|
-
this.showUpload = false
|
|
203
|
-
this.showhighmeter = false
|
|
204
|
-
// 将选的文件清空
|
|
205
|
-
this.$refs.file.$el.querySelector('input').value = ''
|
|
206
|
-
this.headers.fusetype = ''
|
|
207
|
-
this.headers.fremarks = ''
|
|
208
180
|
this.load()
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
isChecked(row) {
|
|
184
|
+
return this.checkes.findIndex(item => item.id == row.id) != -1
|
|
185
|
+
},
|
|
186
|
+
setCheckes(row) {
|
|
187
|
+
let index=this.checkes.findIndex(item => item.id == row.id)
|
|
188
|
+
if(index<0){
|
|
189
|
+
this.checkes.push(row)
|
|
190
|
+
}else{
|
|
191
|
+
this.checkes.splice(index,1)
|
|
192
|
+
}
|
|
193
|
+
console.log('this.checkes=', JSON.stringify(this.checkes))
|
|
194
|
+
},
|
|
195
|
+
// 下载
|
|
196
|
+
downloadfile(filepath) {
|
|
197
|
+
let name = this.extractFileName(filepath)
|
|
198
|
+
var link = document.createElement('a')
|
|
199
|
+
link.href = filepath
|
|
200
|
+
link.download = name
|
|
201
|
+
link.dispatchEvent(new MouseEvent('click'))
|
|
202
|
+
},
|
|
203
|
+
extractFileName(str) {
|
|
204
|
+
// 使用split分割字符串
|
|
205
|
+
var parts = str.split('\\');
|
|
206
|
+
// 获取最后一个部分,这通常是文件名
|
|
207
|
+
var fileName = parts[parts.length - 1];
|
|
208
|
+
// 返回文件名
|
|
209
|
+
return fileName;
|
|
210
|
+
},
|
|
211
|
+
// 关闭文件上传对话框
|
|
212
|
+
close() {
|
|
213
|
+
this.showUpload = false
|
|
214
|
+
this.showhighmeter = false
|
|
215
|
+
// 将选的文件清空
|
|
216
|
+
this.$refs.file.$el.querySelector('input').value = ''
|
|
217
|
+
this.headers.fusetype = ''
|
|
218
|
+
this.headers.fremarks = ''
|
|
219
|
+
this.load()
|
|
220
|
+
},
|
|
221
|
+
// 查询
|
|
222
|
+
async load() {
|
|
223
|
+
let condition = ''
|
|
224
|
+
if (!isEmpty(this.businessid)) {
|
|
225
|
+
condition = `f_businessid= '${this.headers.businessid}' `
|
|
226
|
+
} else {
|
|
227
|
+
condition = `f_blobid= '${this.headers.blodid}' `
|
|
228
|
+
}
|
|
229
|
+
if (!isEmpty(this.useType)) {
|
|
230
|
+
condition += `and fusetype = '${this.useType}'`
|
|
231
|
+
}
|
|
232
|
+
if (!isEmpty(this.defname)) {
|
|
233
|
+
condition += `and defname = '${this.defname}'`
|
|
234
|
+
}
|
|
235
|
+
let http = new HttpResetClass()
|
|
236
|
+
let data = {
|
|
237
|
+
tablename: 't_files',
|
|
238
|
+
condition: condition + ` order by f_uploaddate desc `
|
|
239
|
+
}
|
|
240
|
+
let getFile = await http.load('POST', 'rs/sql/apply_singleTable', {data: data}, {
|
|
241
|
+
warnMsg: null,
|
|
242
|
+
resolveMsg: null
|
|
243
|
+
})
|
|
244
|
+
this.fileInfoData = []
|
|
245
|
+
for (var i = 0; i < getFile.data.length; i++) {
|
|
246
|
+
// 如果使用类型包含导入字样,则是execl文件导入的,不做显示
|
|
247
|
+
if (getFile.data[i].fusetype && (getFile.data[i].fusetype.includes('execl导入'))) {
|
|
248
|
+
getFile.data.splice(i, 1)
|
|
249
|
+
i--
|
|
250
|
+
continue
|
|
223
251
|
}
|
|
224
|
-
let
|
|
225
|
-
let
|
|
226
|
-
|
|
227
|
-
|
|
252
|
+
let temp = getFile.data[i].f_downloadpath
|
|
253
|
+
let URL = temp.substring(temp.lastIndexOf(":\\") + 2)
|
|
254
|
+
getFile.data[i].f_downloadURL = "http://" + location.host + "/" + URL
|
|
255
|
+
let uploaddate = getFile.data[i].f_uploaddate.substring(0,10)
|
|
256
|
+
if (this.fileInfoData.findIndex(item => item.uploaddate == uploaddate) == -1){
|
|
257
|
+
this.fileInfoData.push({uploaddate:uploaddate,data:[]})
|
|
228
258
|
}
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
if (getFile.data[i].fusetype && (getFile.data[i].fusetype.includes('execl导入'))) {
|
|
237
|
-
getFile.data.splice(i, 1)
|
|
238
|
-
i--
|
|
239
|
-
continue
|
|
240
|
-
}
|
|
259
|
+
}
|
|
260
|
+
for (var i = 0; i < getFile.data.length; i++) {
|
|
261
|
+
if (getFile.data[i].f_downloadpath.includes('http:')) {
|
|
262
|
+
let temp = getFile.data[i].f_downloadpath
|
|
263
|
+
getFile.data[i].f_downloadURL = temp
|
|
264
|
+
console.log('打印', i)
|
|
265
|
+
} else {
|
|
241
266
|
let temp = getFile.data[i].f_downloadpath
|
|
242
267
|
let URL = temp.substring(temp.lastIndexOf(":\\") + 2)
|
|
243
268
|
getFile.data[i].f_downloadURL = "http://" + location.host + "/" + URL
|
|
244
|
-
let uploaddate = getFile.data[i].f_uploaddate.substring(0,10)
|
|
245
|
-
if (this.fileInfoData.findIndex(item => item.uploaddate == uploaddate) == -1){
|
|
246
|
-
this.fileInfoData.push({uploaddate:uploaddate,data:[]})
|
|
247
|
-
}
|
|
248
269
|
}
|
|
249
|
-
for (var i = 0; i < getFile.data.length; i++) {
|
|
250
|
-
if (getFile.data[i].f_downloadpath.includes('http:')) {
|
|
251
|
-
let temp = getFile.data[i].f_downloadpath
|
|
252
|
-
getFile.data[i].f_downloadURL = temp
|
|
253
|
-
console.log('打印', i)
|
|
254
|
-
} else {
|
|
255
|
-
let temp = getFile.data[i].f_downloadpath
|
|
256
|
-
let URL = temp.substring(temp.lastIndexOf(":\\") + 2)
|
|
257
|
-
getFile.data[i].f_downloadURL = "http://" + location.host + "/" + URL
|
|
258
|
-
}
|
|
259
270
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
}
|
|
271
|
+
}
|
|
272
|
+
// this.fileInfoData = getFile.data
|
|
273
|
+
for (var i = 0; i < getFile.data.length; i++) {
|
|
274
|
+
for (var j = 0; j < this.fileInfoData.length; j++){
|
|
275
|
+
if (getFile.data[i].f_uploaddate.includes(this.fileInfoData[j].uploaddate)){
|
|
276
|
+
this.fileInfoData[j].data.push(getFile.data[i])
|
|
267
277
|
}
|
|
268
278
|
}
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
let form = new FormData()
|
|
283
|
-
let xhr = new XMLHttpRequest()
|
|
284
|
-
let formDataBoundary = "----WebkitFormBoundary" + "GaoPaiYi";
|
|
285
|
-
form.append('Content-Type', 'multipart/form-data;boundary=' + formDataBoundary)
|
|
286
|
-
form.append('file', this.convertBase64ToBlob(Imgbase64), "GaoPaiYi.jpg")
|
|
287
|
-
xhr.open("POST", "rs/file/uploadFile")
|
|
279
|
+
}
|
|
280
|
+
},
|
|
281
|
+
// 打开高拍仪
|
|
282
|
+
upload() {
|
|
283
|
+
if (this.showhighmeter) {
|
|
284
|
+
this.$refs.ltgao.closeVideo()
|
|
285
|
+
}
|
|
286
|
+
this.showhighmeter = !this.showhighmeter
|
|
287
|
+
},
|
|
288
|
+
// 高拍仪回调
|
|
289
|
+
newPhoto(Imgbase64, fusetype, fremarks) {
|
|
290
|
+
this.headers.fusetype = fusetype
|
|
291
|
+
this.headers.fremarks = fremarks
|
|
288
292
|
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
setTimeout(() => {
|
|
296
|
-
this.close()
|
|
297
|
-
}, 5000)
|
|
298
|
-
},
|
|
299
|
-
convertBase64ToBlob(base64String) {
|
|
300
|
-
// 将base64解码
|
|
301
|
-
var bytes = atob(base64String);
|
|
302
|
-
//var bytes = base64;
|
|
303
|
-
var bytesCode = new ArrayBuffer(bytes.length);
|
|
304
|
-
// 转换为类型化数组
|
|
305
|
-
var byteArray = new Uint8Array(bytesCode);
|
|
293
|
+
let form = new FormData()
|
|
294
|
+
let xhr = new XMLHttpRequest()
|
|
295
|
+
let formDataBoundary = "----WebkitFormBoundary" + "GaoPaiYi";
|
|
296
|
+
form.append('Content-Type', 'multipart/form-data;boundary=' + formDataBoundary)
|
|
297
|
+
form.append('file', this.convertBase64ToBlob(Imgbase64), "GaoPaiYi.jpg")
|
|
298
|
+
xhr.open("POST", "rs/file/uploadFile")
|
|
306
299
|
|
|
307
|
-
|
|
308
|
-
for (var
|
|
309
|
-
|
|
300
|
+
if (this.headers) {
|
|
301
|
+
for (var header in this.headers) {
|
|
302
|
+
xhr.setRequestHeader(header, encodeURIComponent(this.headers[header]))
|
|
310
303
|
}
|
|
311
|
-
// 生成Blob对象(文件对象)
|
|
312
|
-
return new Blob([bytesCode], {type: 'image/jpeg'});
|
|
313
|
-
},
|
|
314
|
-
},
|
|
315
|
-
computed: {
|
|
316
|
-
typeOfUse() {
|
|
317
|
-
return [{label: '全部', value: ''}, ...this.$appdata.getParam('报建-使用类型')]
|
|
318
304
|
}
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
onFileUpload: function (file, res) {
|
|
322
|
-
this.$dispatch("resid", res.id)
|
|
323
|
-
this.headers.fremarks = ''
|
|
305
|
+
xhr.send(form)
|
|
306
|
+
setTimeout(() => {
|
|
324
307
|
this.close()
|
|
308
|
+
}, 5000)
|
|
309
|
+
},
|
|
310
|
+
convertBase64ToBlob(base64String) {
|
|
311
|
+
// 将base64解码
|
|
312
|
+
var bytes = atob(base64String);
|
|
313
|
+
//var bytes = base64;
|
|
314
|
+
var bytesCode = new ArrayBuffer(bytes.length);
|
|
315
|
+
// 转换为类型化数组
|
|
316
|
+
var byteArray = new Uint8Array(bytesCode);
|
|
317
|
+
|
|
318
|
+
// 将base64转换为ascii码
|
|
319
|
+
for (var i = 0; i < bytes.length; i++) {
|
|
320
|
+
byteArray[i] = bytes.charCodeAt(i);
|
|
325
321
|
}
|
|
322
|
+
// 生成Blob对象(文件对象)
|
|
323
|
+
return new Blob([bytesCode], {type: 'image/jpeg'});
|
|
324
|
+
},
|
|
325
|
+
},
|
|
326
|
+
computed: {
|
|
327
|
+
typeOfUse() {
|
|
328
|
+
return [{label: '全部', value: ''}, ...this.$appdata.getParam('报建-使用类型')]
|
|
329
|
+
}
|
|
330
|
+
},
|
|
331
|
+
events: {
|
|
332
|
+
onFileUpload: function (file, res) {
|
|
333
|
+
this.$dispatch("resid", res.id)
|
|
334
|
+
this.headers.fremarks = ''
|
|
335
|
+
this.close()
|
|
326
336
|
}
|
|
327
337
|
}
|
|
338
|
+
}
|
|
328
339
|
</script>
|
|
329
340
|
|
|
330
341
|
<style scoped>
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
342
|
+
.clears {
|
|
343
|
+
margin: 0;
|
|
344
|
+
font-size: 10px;
|
|
345
|
+
overflow: hidden;
|
|
346
|
+
text-overflow: ellipsis;
|
|
347
|
+
white-space: nowrap;
|
|
348
|
+
}
|
|
338
349
|
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
350
|
+
.showData {
|
|
351
|
+
padding: 15px 10px 0px 10px;
|
|
352
|
+
box-sizing: border-box;
|
|
353
|
+
height: 140px;
|
|
354
|
+
font-family: "微软雅黑";
|
|
355
|
+
}
|
|
345
356
|
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
357
|
+
.showData .item {
|
|
358
|
+
padding-bottom: 10px;
|
|
359
|
+
border-bottom: solid 1px #c1c1c1;
|
|
360
|
+
}
|
|
350
361
|
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
362
|
+
.left {
|
|
363
|
+
padding-right: 10px;
|
|
364
|
+
}
|
|
354
365
|
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
366
|
+
.left img {
|
|
367
|
+
height: 100%;
|
|
368
|
+
width: 100%;
|
|
369
|
+
}
|
|
359
370
|
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
371
|
+
.right {
|
|
372
|
+
height: 100%;
|
|
373
|
+
/*display: -webkit-flex;*/
|
|
374
|
+
/*display: flex;*/
|
|
375
|
+
/*flex-direction: column;*/
|
|
376
|
+
/*justify-content: space-around;*/
|
|
377
|
+
}
|
|
367
378
|
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
379
|
+
.item_btn {
|
|
380
|
+
width: 80%;
|
|
381
|
+
background-color: #6aa6e2;
|
|
382
|
+
border-radius: 4px;
|
|
383
|
+
color: #FFFFFF;
|
|
384
|
+
font-family: PingFang;
|
|
385
|
+
}
|
|
375
386
|
</style>
|
|
@@ -68,6 +68,12 @@
|
|
|
68
68
|
v-on:keyup.enter="$parent.$parent.search()"
|
|
69
69
|
condition="f_phone like '%{}%'">
|
|
70
70
|
</div>
|
|
71
|
+
<div class="form-group col-sm-3">
|
|
72
|
+
<label class="font_normal_body">用户评价:</label>
|
|
73
|
+
<input type="text" style="width:60%" class="input_search" placeholder='用户评价' v-model="model.f_user_appraise"
|
|
74
|
+
v-on:keyup.enter="$parent.$parent.search()"
|
|
75
|
+
condition="f_user_appraise like '%{}%'">
|
|
76
|
+
</div>
|
|
71
77
|
<div class="form-group col-sm-3">
|
|
72
78
|
<label class="font_normal_body">合同编号:</label>
|
|
73
79
|
<input type="text" style="width:60%" class="input_search" placeholder='合同编号' v-model="model.f_contract_number"
|
|
@@ -79,13 +85,13 @@
|
|
|
79
85
|
<v-select
|
|
80
86
|
v-model="model.f_apply_type"
|
|
81
87
|
placeholder='报建类型'
|
|
82
|
-
condition="f_apply_type
|
|
88
|
+
condition="f_apply_type in {}"
|
|
83
89
|
:value.sync="model.f_apply_type"
|
|
84
90
|
:options='$parent.$parent.applytype'
|
|
85
91
|
class="select select_list"
|
|
86
|
-
:
|
|
92
|
+
:multiple="true"
|
|
87
93
|
@change="$parent.$parent.applyTypeChange()"
|
|
88
|
-
|
|
94
|
+
></v-select>
|
|
89
95
|
</div>
|
|
90
96
|
<div class="form-group col-sm-3">
|
|
91
97
|
<label class="font_normal_body">办理环节:</label>
|
|
@@ -199,6 +205,7 @@
|
|
|
199
205
|
<th style="white-space: nowrap;">办理环节</th>
|
|
200
206
|
<th style="white-space: nowrap;">流程状态</th>
|
|
201
207
|
<th style="white-space: nowrap;">报建日期</th>
|
|
208
|
+
<th style="white-space: nowrap;">用户评价</th>
|
|
202
209
|
</tr>
|
|
203
210
|
</template>
|
|
204
211
|
<template partial='body'>
|
|
@@ -257,6 +264,9 @@
|
|
|
257
264
|
<td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' , row.f_back_reason ? 'back-style':'' ]" style="text-align: center;">
|
|
258
265
|
<nobr><font>{{row.f_apply_date}}</font></nobr>
|
|
259
266
|
</td>
|
|
267
|
+
<td :class="[ row.isover ==='过期' ? 'p1' : row.isbeforeover === '预期提醒'? 'p':'' , row.f_back_reason ? 'back-style':'' ]" style="text-align: center;">
|
|
268
|
+
<nobr><font>{{row.f_user_appraise}}</font></nobr>
|
|
269
|
+
</td>
|
|
260
270
|
</tr>
|
|
261
271
|
</template>
|
|
262
272
|
</data-grid>
|
|
@@ -416,19 +426,49 @@
|
|
|
416
426
|
this.$dispatch('search')
|
|
417
427
|
},
|
|
418
428
|
async applyTypeChange () {
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
429
|
+
//判断this.$refs.cp.$refs.cri.model.f_apply_type是不是数组
|
|
430
|
+
if (Array.isArray(this.$refs.cp.$refs.cri.model.f_apply_type)) {
|
|
431
|
+
if(this.$refs.cp.$refs.cri.model.f_apply_type.length>0){
|
|
432
|
+
for (let i = 0; i < this.$refs.cp.$refs.cri.model.f_apply_type.length; i++) {
|
|
433
|
+
let res = await this.$resetpost('rs/logic/getDefnameByType',
|
|
434
|
+
{ f_apply_type: this.$refs.cp.$refs.cri.model.f_apply_type[i] },
|
|
435
|
+
{resolveMsg: null, rejectMsg: '节点信息获取失败!!!'}
|
|
436
|
+
)
|
|
437
|
+
if (!isEmpty(res.data)) {
|
|
438
|
+
const newDefnames = [{ label: '全部', value: '' }, ...res.data];
|
|
439
|
+
const newApplyNatures = isEmpty(this.$appdata.getParam(`${this.$refs.cp.$refs.cri.model.f_apply_type[i]}性质`))
|
|
440
|
+
? [{ label: '全部', value: '' }]
|
|
441
|
+
: [{ label: '全部', value: '' }, ...this.$appdata.getParam(`${this.$refs.cp.$refs.cri.model.f_apply_type[i]}性质`)];
|
|
442
|
+
// 检查并追加 defnames
|
|
443
|
+
newDefnames.forEach(item => {
|
|
444
|
+
if (!this.defnames.some(defname => defname.value === item.value)) {
|
|
445
|
+
this.defnames.push(item);
|
|
446
|
+
}
|
|
447
|
+
});
|
|
448
|
+
// 检查并追加 applyNatures
|
|
449
|
+
newApplyNatures.forEach(item => {
|
|
450
|
+
if (!this.applyNatures.some(applyNature => applyNature.value === item.value)) {
|
|
451
|
+
this.applyNatures.push(item);
|
|
452
|
+
}
|
|
453
|
+
});
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
}else{
|
|
458
|
+
if (!isEmpty(this.$refs.cp.$refs.cri.model.f_apply_type)) {
|
|
459
|
+
let res = await this.$resetpost('rs/logic/getDefnameByType',
|
|
460
|
+
{ f_apply_type: this.$refs.cp.$refs.cri.model.f_apply_type },
|
|
461
|
+
{resolveMsg: null, rejectMsg: '节点信息获取失败!!!'}
|
|
462
|
+
)
|
|
424
463
|
|
|
425
|
-
|
|
464
|
+
this.defnames = [{label: '全部', value: ''}, ...res.data]
|
|
426
465
|
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
466
|
+
this.applyNatures = isEmpty(this.$appdata.getParam(`${this.$refs.cp.$refs.cri.model.f_apply_type}性质`)) ? [{label: '全部', value: ''}] : [{label: '全部', value: ''}, ...this.$appdata.getParam(`${this.$refs.cp.$refs.cri.model.f_apply_type}性质`)]
|
|
467
|
+
} else {
|
|
468
|
+
this.defnames = [{label: '全部', value: ''}]
|
|
430
469
|
|
|
431
|
-
|
|
470
|
+
this.applyNatures = [{label: '全部', value: ''}]
|
|
471
|
+
}
|
|
432
472
|
}
|
|
433
473
|
},
|
|
434
474
|
clear () {
|