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.
- package/package.json +3 -3
- package/src/App.vue +54 -56
- package/src/assets//345/210/240/351/231/244.png +0 -0
- package/src/components/Util/RightTreeSafe.vue +2 -2
- package/src/components/Util/RightTreeSafeDep.vue +350 -0
- package/src/components/android/AddMyTask.vue +7 -0
- package/src/components/guoxin/Console.vue +9 -0
- package/src/components/guoxin/VisitInfo.vue +0 -11
- package/src/components/pc/NewRepairPaper.vue +370 -370
- package/src/components/pc/RepairsWork.vue +23 -2
- package/src/components/pc/RoleSelectorDep.vue +158 -0
- package/src/components/pc/TelFindUser.vue +1 -1
- package/src/components/pc/TelListener.vue +47 -16
- package/src/components/pc/VisitInfo.vue +44 -17
- package/src/components/pc/WorkCenter.vue +1 -1
- package/src/components/pc/WorkCenterList.vue +1 -1
- package/src/components/pc/WorkHistory.vue +20 -2
- package/src/components/pc/WorkListAll.vue +1 -1
- package/src/components/pc/WorkListAllNew.vue +10 -3
- package/src/components/pc/WorkListNew.vue +9 -3
- package/src/components/pc/olddata/OldWorkList.vue +193 -0
- package/src/components/telreport/RepairsDetailsReport.vue +98 -0
- package/src/components/telreport/TableFaultReport.vue +96 -0
- package/src/components/telreport/Traffic.vue +3 -3
- package/src/components/telreport/TrafficClassificationReport.vue +134 -0
- package/src/components/temp/ChangemeterInfo.vue +75 -87
- package/src/components/temp/DeviceInfo.vue +80 -82
- package/src/components/temp/HandplanInfo.vue +14 -3
- package/src/components/temp/InfoTable.vue +5 -2
- package/src/components/temp/MetereadInfo.vue +1 -4
- package/src/components/temp/OldRepairList.vue +100 -0
- package/src/components/temp/RepairList.vue +2 -2
- package/src/components/weinan/Console.vue +1 -1
- package/src/components/weinan/RecordList.vue +2 -2
- package/src/components/weinan/SiteSend.vue +2 -2
- package/src/components/weinan/SiteSendWeixiu.vue +7 -16
- package/src/components/weinan/StandWorkWeixiu.vue +1 -1
- package/src/components/weinan/WorkList.vue +73 -0
- package/src/components/weinan/WorkListAll.vue +90 -14
- package/src/components/weinan/WorkListWeixiu.vue +1 -1
- package/src/components/workorder/CompletedRepair.vue +269 -183
- package/src/components/workorder/FaultAll.vue +826 -826
- package/src/components/workorder/PhoneStandWork.vue +354 -354
- package/src/components/workorder/PhoneUpDetail.vue +3 -0
- package/src/components/workorder/RepairDetails.vue +12 -2
- package/src/components/workorder/RepairFirstV.vue +1 -1
- package/src/components/workorder/RepairOrderV.vue +1446 -1446
- package/src/filiale/furuike/pc/ComplainWork.vue +348 -348
- package/src/filiale/furuike/pc/Seekwork.vue +352 -352
- package/src/filiale/gongyi/android/RepairOrderV.vue +1415 -1415
- package/src/filiale/hanzhong/telephone.js +1 -1
- package/src/filiale/kelai/android/AppTakePic.vue +143 -0
- package/src/filiale/kelai/android/PhoneVentilationLeave.vue +176 -0
- package/src/filiale/kelai/pc/WorkCenterList.vue +20 -3
- package/src/filiale/kelai/pc/WorkListAllNew.vue +47 -9
- package/src/filiale/kelai/pc/serviceDeleteOrder.vue +55 -0
- package/src/filiale/kelai/telephone.js +9 -8
- package/src/filiale/kelai/telephoneAndroid.js +3 -1
- package/src/filiale/liaoyuan/android/RepairOrderV.vue +831 -831
- package/src/filiale/qianneng/android/FaultAll.vue +883 -883
- package/src/filiale/qianneng/android/MaterIialOne.vue +123 -123
- package/src/filiale/qianneng/android/RepairOrderV.vue +874 -874
- package/src/filiale/qianneng/android/TemporarySingle.vue +25 -0
- package/src/filiale/qianneng/android/chargesList.vue +161 -161
- package/src/filiale/qianneng/pc/MaterialDetailed.vue +15 -3
- package/src/filiale/qianneng/pc/MaterialStatistics.vue +144 -0
- package/src/filiale/qianneng/pc/NewRepairPaper.vue +467 -467
- package/src/filiale/qianneng/pc/RepairsWork.vue +992 -982
- package/src/filiale/qianneng/pc/WorkHistory.vue +2 -2
- package/src/filiale/qianneng/pc/WorkListAllNew.vue +53 -5
- package/src/filiale/qianneng/pc/changetable.vue +273 -0
- package/src/filiale/qianneng/telephone.js +2 -0
- package/src/filiale/rizhao/pc/DispatchMan.vue +3 -3
- package/src/filiale/rizhao/pc/DispatchWork.vue +3 -3
- package/src/filiale/rizhao/pc/Traffic.vue +3 -3
- package/src/filiale/rizhao/pc/WorkListAllNew.vue +8 -3
- package/src/filiale/rizhao/telephone.js +1 -1
- package/src/filiale/rongcheng/CliWorkListAll.vue +442 -407
- package/src/filiale/rongcheng/FaultAll.vue +3 -3
- package/src/filiale/rongcheng/RepairOrderV.vue +1445 -0
- package/src/filiale/rongcheng/telephoneAndroid.js +3 -1
- package/src/filiale/shanxian/android/RepairFirstV.vue +5 -1
- package/src/filiale/shanxian/pc/RepairsWork.vue +826 -0
- package/src/filiale/shanxian/pc/WorkList.vue +1 -1
- package/src/filiale/shanxian/telephone.js +13 -12
- package/src/filiale/shexian/android/AddMyTask.vue +7 -0
- package/src/filiale/shexian/android/CompletedRepair.vue +280 -0
- package/src/filiale/shexian/android/FaultAll.vue +847 -0
- package/src/filiale/shexian/android/Outlay.vue +182 -165
- package/src/filiale/shexian/android/RepairFirstV.vue +16 -2
- package/src/filiale/shexian/android/RepairInfo.vue +1 -0
- package/src/filiale/shexian/pc/QueryVisitHistory.vue +237 -0
- package/src/filiale/shexian/pc/TelAgentVoiceReport.vue +271 -0
- package/src/filiale/shexian/pc/TelByOrderManCount.vue +10 -2
- package/src/filiale/shexian/pc/WorkList.vue +782 -740
- package/src/filiale/shexian/pc/WorkListAllNew.vue +75 -67
- package/src/filiale/shexian/telephone.js +21 -18
- package/src/filiale/shexian/telephoneAndroid.js +32 -26
- package/src/filiale/tongchuan/android/RepairDetails.vue +623 -0
- package/src/filiale/tongchuan/android/TicketDetails.vue +3 -0
- package/src/filiale/tongchuan/pc/UserWork.vue +805 -805
- package/src/filiale/tongchuan/pc/WorkOrderStatistics.vue +2 -2
- package/src/filiale/tongchuan/telephone.js +52 -52
- package/src/filiale/tongchuan/telephoneAndroid.js +23 -22
- package/src/filiale/wenxi/android/FailureShow.vue +61 -0
- package/src/filiale/wenxi/android/PhoneUpUserinfo.vue +1053 -0
- package/src/filiale/wenxi/android/RepairInfo.vue +158 -74
- package/src/filiale/wenxi/android/RepairOrderV.vue +805 -1419
- package/src/filiale/wenxi/android/RepairUserInfo.vue +532 -0
- package/src/filiale/wenxi/android/ZHihuanFirst.vue +502 -0
- package/src/filiale/wenxi/pc/DistributeWork.vue +107 -121
- package/src/filiale/wenxi/pc/FailureEdit.vue +1 -1
- package/src/filiale/wenxi/pc/GasWork.vue +747 -0
- package/src/filiale/wenxi/pc/MetereadInfo.vue +82 -0
- package/src/filiale/wenxi/pc/RepairsWork.vue +15 -0
- package/src/filiale/wenxi/pc/TelFindUser.vue +213 -116
- package/src/filiale/wenxi/pc/WorkListAll.vue +348 -297
- package/src/filiale/wenxi/telephone.js +4 -5
- package/src/filiale/wenxi/telephoneAndroid.js +4 -1
- package/src/filiale/wuan/android/RepairOrderV.vue +1384 -1384
- package/src/filiale/wuhai/telephone.js +1 -1
- package/src/filiale/yuncheng/pc/TelFindUser.vue +302 -0
- package/src/filiale/yuncheng/telephone.js +12 -0
- package/src/filiale/zhongsheng/android/FaultAll.vue +741 -0
- package/src/filiale/zhongsheng/android/RepairOrderV.vue +1430 -1430
- package/src/filiale/zhongsheng/android/RepairUserInfo.vue +241 -214
- package/src/filiale/zhongsheng/pc/RepairsWork.vue +775 -775
- package/src/filiale/zhongsheng/telephone.js +23 -23
- package/src/filiale/zhongsheng/telephoneAndroid.js +2 -1
- package/src/main.js +1 -1
- package/src/telephone.js +17 -1
- package/src/weinan.js +6 -0
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="panel">
|
|
3
|
+
<div class="panel-body panel-self" style="background-color: #F8F8F8;">
|
|
4
|
+
<div class="row form-group" style="height: 240px;overflow: scroll;">
|
|
5
|
+
<div class="col-xs-4 col-sm-3 col-md-2 col-xs-offset-1 col-sm-offset-1 col-md-offset-1" v-for="(index,file) in fileList">
|
|
6
|
+
<img-self :src="file.f_downloadURL" :width="120" :height="170"></img-self>
|
|
7
|
+
<img src="../../../assets/删除.png" style="width: 15px;margin-top: -80px" @click.prevent="delfile(file, index)">
|
|
8
|
+
</div>
|
|
9
|
+
</div>
|
|
10
|
+
<div class="row text-right form-group" v-if="istakepic">
|
|
11
|
+
<v-select
|
|
12
|
+
class="fileType"
|
|
13
|
+
placeholder="请选择使用类型"
|
|
14
|
+
v-if="istype"
|
|
15
|
+
:search="false"
|
|
16
|
+
close-on-select
|
|
17
|
+
value-single
|
|
18
|
+
:options="typeList"
|
|
19
|
+
v-model="type"
|
|
20
|
+
:value.sync="type"
|
|
21
|
+
></v-select>
|
|
22
|
+
<button class="btn" style="background-color: #7dc1f4;border-radius: 5px;margin-right: 10px" @click.prevent="takePic(type)">拍照</button>
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
</template>
|
|
27
|
+
|
|
28
|
+
<script>
|
|
29
|
+
import {HttpResetClass} from 'vue-client'
|
|
30
|
+
import {guid, toStandardTimeString} from '../../../components/Util'
|
|
31
|
+
import Vue from 'vue'
|
|
32
|
+
export default {
|
|
33
|
+
title: '附件',
|
|
34
|
+
props: ['blobid', 'type', 'defname', 'istype', 'typelabel', 'isdelete', 'istakepic'],
|
|
35
|
+
data () {
|
|
36
|
+
return {
|
|
37
|
+
fileList: []
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
ready () {
|
|
41
|
+
this.getFiles()
|
|
42
|
+
},
|
|
43
|
+
methods: {
|
|
44
|
+
async getFiles () {
|
|
45
|
+
console.log('----------------开始查询图片----------------')
|
|
46
|
+
this.fileList = []
|
|
47
|
+
|
|
48
|
+
let http = new HttpResetClass()
|
|
49
|
+
|
|
50
|
+
let data = {
|
|
51
|
+
tablename: 't_files',
|
|
52
|
+
condition: `f_blobid = '${this.blobid}' and fremarks = '手机拍照' order by f_uploaddate desc `
|
|
53
|
+
}
|
|
54
|
+
let res = await http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/apply_singleTable`, {data: data}, {
|
|
55
|
+
// let res = await http.load('POST', `rs/sql/applySingleTable`, {data: data}, {
|
|
56
|
+
warnMsg: null,
|
|
57
|
+
resolveMsg: null
|
|
58
|
+
})
|
|
59
|
+
|
|
60
|
+
for (var i = 0; i < res.data.length; i++) {
|
|
61
|
+
console.log('-----------地址----------------',`${this.$androidUtil.getProxyUrl()}/${res.data[i].f_downloadpath.substring(res.data[i].f_downloadpath.lastIndexOf(":\\") + 2)}`)
|
|
62
|
+
res.data[i].f_downloadURL = `${this.$androidUtil.getProxyUrl()}/${res.data[i].f_downloadpath.substring(res.data[i].f_downloadpath.lastIndexOf(":\\") + 2)}`
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
this.fileList = res.data
|
|
66
|
+
},
|
|
67
|
+
delfile (file, index) {
|
|
68
|
+
this.$resetdelete(`${this.$androidUtil.getProxyUrl()}/rs/entity/t_files`, {id: file.id}, {resolveMsg: '删除成功', rejectMsg: '删除失败'}).then((res) => {
|
|
69
|
+
this.$dispatch("delResid", file.id)
|
|
70
|
+
this.getFiles()
|
|
71
|
+
})
|
|
72
|
+
},
|
|
73
|
+
takePic (title) {
|
|
74
|
+
// 拍照成功回调
|
|
75
|
+
HostApp.__callback__ = this.cameraCallBack
|
|
76
|
+
HostApp.__this__ = this
|
|
77
|
+
let fileName = guid() + '.jpg'
|
|
78
|
+
// 打开相机
|
|
79
|
+
HostApp._open_a_page({
|
|
80
|
+
type: 'boomerang',
|
|
81
|
+
page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
|
|
82
|
+
param: {
|
|
83
|
+
file: fileName,
|
|
84
|
+
requestCode: 200,
|
|
85
|
+
callback: 'javascript:HostApp.__callback__("' + fileName + '", "%s");',
|
|
86
|
+
watermark: title + '\t时间:' + toStandardTimeString() + '\t' + Vue.user.name // 水印
|
|
87
|
+
}
|
|
88
|
+
})
|
|
89
|
+
},
|
|
90
|
+
cameraCallBack (fileName, fileUrl) {
|
|
91
|
+
console.log('-----------cameraCallBack-----------------')
|
|
92
|
+
|
|
93
|
+
let data = {
|
|
94
|
+
blobid: HostApp.__this__.blobid,
|
|
95
|
+
type: HostApp.__this__.type,
|
|
96
|
+
defname: HostApp.__this__.defname,
|
|
97
|
+
username: Vue.user.name,
|
|
98
|
+
fremarks: '手机拍照',
|
|
99
|
+
fileName: fileName,
|
|
100
|
+
fileUrl: fileUrl,
|
|
101
|
+
entityName:null
|
|
102
|
+
}
|
|
103
|
+
debugger
|
|
104
|
+
console.log('-----------bzLogic-----------------')
|
|
105
|
+
let aaaa =HostApp.bzLogic({
|
|
106
|
+
'logic': 'appFileUpload',
|
|
107
|
+
'data': data
|
|
108
|
+
})
|
|
109
|
+
console.log("555"+aaaa)
|
|
110
|
+
console.log('----------------开始回调查询-------------------')
|
|
111
|
+
HostApp.__this__.getFiles()
|
|
112
|
+
console.log('----------------查询回调结束-------------------')
|
|
113
|
+
|
|
114
|
+
HostApp.__callback__ = null
|
|
115
|
+
HostApp.__this__ = null
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
computed: {
|
|
119
|
+
typeList () {
|
|
120
|
+
if (this.typelabel) {
|
|
121
|
+
return this.$appdata.getParam(this.typelabel)
|
|
122
|
+
}
|
|
123
|
+
return this.$appdata.getParam('使用类型')
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
events: {
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
</script>
|
|
130
|
+
|
|
131
|
+
<style lang="less">
|
|
132
|
+
.fileType {
|
|
133
|
+
float: left;
|
|
134
|
+
.select-style {
|
|
135
|
+
background: #f8f8f8;
|
|
136
|
+
border: 0px;
|
|
137
|
+
}
|
|
138
|
+
input {
|
|
139
|
+
border-left: none;
|
|
140
|
+
width: 100%;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
</style>
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div style="height: auto;width: 100%">
|
|
3
|
+
<criteria-paged :model="model" v-ref:paged>
|
|
4
|
+
<criteria partial='criteria' @condition-changed='search' v-ref:cri>
|
|
5
|
+
<div partial>
|
|
6
|
+
<form>
|
|
7
|
+
<div class="row app-row">
|
|
8
|
+
<div class="col-xs-4">
|
|
9
|
+
<label class="font text-left">用户编号:</label>
|
|
10
|
+
</div>
|
|
11
|
+
<div class="col-xs-8" >
|
|
12
|
+
<input class="search_input input-font" v-model="model.f_userinfo_code" condition="ti.f_userinfo_code like '%{}%'" />
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
15
|
+
<div class="row app-row">
|
|
16
|
+
<div class="col-xs-4">
|
|
17
|
+
<label class="font text-left">用户姓名:</label>
|
|
18
|
+
</div>
|
|
19
|
+
<div class="col-xs-8" >
|
|
20
|
+
<input class="search_input input-font" v-model="model.f_user_name" condition="ti.f_user_name like '%{}%'" />
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
<div class="row app-row">
|
|
24
|
+
<div class="col-xs-4">
|
|
25
|
+
<label class="font text-left">地址:</label>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="col-xs-8" >
|
|
28
|
+
<input class="search_input input-font" v-model="model.f_address" condition="ta.f_address like '%{}%'" />
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
<div class="row text-center" style="margin-top: 20px;text-align: center">
|
|
32
|
+
<button type="button" class="btn btn-lg btn-font" style="width: 25%;margin-right: 3%; background-color: #499edf;color:#FFFFFF;border-radius: 10px ;" @click="search()">查询</button>
|
|
33
|
+
</div>
|
|
34
|
+
</form>
|
|
35
|
+
</div>
|
|
36
|
+
</criteria>
|
|
37
|
+
<list :model="model" partial='list'>
|
|
38
|
+
<div partial>
|
|
39
|
+
<div class="auto app-text" style="margin-top: 5px;">
|
|
40
|
+
<div class="panel" style="padding: 10px 10px 5px 10px;">
|
|
41
|
+
<div class="panel-body panel-self">
|
|
42
|
+
<div class="col-xs-12">
|
|
43
|
+
<p class="panel-title col-xs-5 text-left font" style="float: left"><b>用户编号:</b></p>
|
|
44
|
+
<p class="panel-title col-xs-7 text-left input-font" >{{ row.f_userinfo_code }}</p>
|
|
45
|
+
</div>
|
|
46
|
+
<div class="col-xs-12">
|
|
47
|
+
<p class="panel-title col-xs-5 text-left font" style="float: left"><b>用户名称:</b></p>
|
|
48
|
+
<p class="panel-title col-xs-7 text-left input-font" >{{ row.f_user_name }}</p>
|
|
49
|
+
</div>
|
|
50
|
+
<div class="col-xs-12">
|
|
51
|
+
<p class="panel-title col-xs-5 text-left font"><b>用户电话:</b></p>
|
|
52
|
+
<p class="panel-title col-xs-7 text-left input-font" >{{ row.f_user_phone }}
|
|
53
|
+
</p>
|
|
54
|
+
</div>
|
|
55
|
+
<div class="col-xs-12">
|
|
56
|
+
<p class="panel-title col-xs-5 text-left font"><b>用户地址:</b></p>
|
|
57
|
+
<p class="panel-title col-xs-7 text-left input-font" >{{ row.f_address }}</p>
|
|
58
|
+
</div>
|
|
59
|
+
<div class="col-xs-12" style="display: flex; justify-content: flex-end;">
|
|
60
|
+
<button class="btn btn-info" @click="$parent.$parent.$parent.click(row)">拍照</button>
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
</div>
|
|
64
|
+
</div>
|
|
65
|
+
</div>
|
|
66
|
+
</list>
|
|
67
|
+
</criteria-paged>
|
|
68
|
+
<modal v-if="showModal" :show.sync="showModal" v-ref:modal :backdrop="false" >
|
|
69
|
+
<div slot="modal-body" class="modal-body">
|
|
70
|
+
<panel header="拍照" :is-open="true" type="primary">
|
|
71
|
+
<tel-take-pic
|
|
72
|
+
:blobid="selectdata.f_blobid"
|
|
73
|
+
:defname="selectdata.defname"
|
|
74
|
+
:isdelete="true"
|
|
75
|
+
:istakepic="true"
|
|
76
|
+
:type="selectdata.type"
|
|
77
|
+
:istype="true">
|
|
78
|
+
</tel-take-pic>
|
|
79
|
+
</panel>
|
|
80
|
+
</div>
|
|
81
|
+
<div slot="modal-footer" class="modal-footer">
|
|
82
|
+
<button type="button" class="btn btn-default" @click="infoaddsure()">确定</button>
|
|
83
|
+
</div>
|
|
84
|
+
</modal>
|
|
85
|
+
</div>
|
|
86
|
+
</template>
|
|
87
|
+
<script>
|
|
88
|
+
import Vue from 'vue'
|
|
89
|
+
import { PagedList,HttpResetClass } from 'vue-client'
|
|
90
|
+
export default {
|
|
91
|
+
title: '通气打压留底',
|
|
92
|
+
data() {
|
|
93
|
+
return {
|
|
94
|
+
selectdata:{
|
|
95
|
+
f_blobid:'',
|
|
96
|
+
type:'档案信息',
|
|
97
|
+
defname:'通气打压留底拍照'
|
|
98
|
+
},
|
|
99
|
+
showModal: false,
|
|
100
|
+
model_f: false,
|
|
101
|
+
ispos: true,
|
|
102
|
+
cardinfo: {},
|
|
103
|
+
userinfo: {},
|
|
104
|
+
operation: '',
|
|
105
|
+
model: new PagedList(`${this.$androidUtil.getProxyUrl()}/rs/sql/telqueryuserinfo`,5,{}),
|
|
106
|
+
f_operator: Vue.user.name,
|
|
107
|
+
f_orgid : Vue.user.orgid
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
ready(){
|
|
111
|
+
this.$refs.paged.$refs.cri.search()
|
|
112
|
+
},
|
|
113
|
+
|
|
114
|
+
methods: {
|
|
115
|
+
infoaddsure(){
|
|
116
|
+
this.showModal=false
|
|
117
|
+
this.$refs.paged.$refs.cri.search()
|
|
118
|
+
},
|
|
119
|
+
click(row){
|
|
120
|
+
this.showModal=true
|
|
121
|
+
this.selectdata.f_blobid=row.f_userinfo_id
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
</script>
|
|
126
|
+
<style scoped>
|
|
127
|
+
.bg {
|
|
128
|
+
background-color: blue;
|
|
129
|
+
height: 1px;
|
|
130
|
+
border: 0;
|
|
131
|
+
}
|
|
132
|
+
.app-row {
|
|
133
|
+
background-color: white;
|
|
134
|
+
padding: 10px 10px 0 10px;
|
|
135
|
+
border-bottom: 1px solid rgba(235, 235, 235, 0.5);
|
|
136
|
+
}
|
|
137
|
+
.search_input {
|
|
138
|
+
border: 0;
|
|
139
|
+
outline: none;
|
|
140
|
+
}
|
|
141
|
+
.font{
|
|
142
|
+
font: 15px PingFang-SC-Medium;
|
|
143
|
+
color: #666666;
|
|
144
|
+
}
|
|
145
|
+
.input-font{
|
|
146
|
+
font: 15px PingFang-SC-Medium;
|
|
147
|
+
color: #333333;
|
|
148
|
+
}
|
|
149
|
+
.btn-font{
|
|
150
|
+
font:600 16px PingFang-SC-Bold;
|
|
151
|
+
color: #499EDF;
|
|
152
|
+
}
|
|
153
|
+
.btn-color{
|
|
154
|
+
background-color: #FFFFFF;
|
|
155
|
+
border-radius: 10px ;
|
|
156
|
+
border: 1px solid #499EDF;
|
|
157
|
+
}
|
|
158
|
+
.app-text {
|
|
159
|
+
font-size: 12px;
|
|
160
|
+
}
|
|
161
|
+
.panel-self{
|
|
162
|
+
border-radius: 10px;
|
|
163
|
+
border:1px solid #499EDF;
|
|
164
|
+
background-color: #F8F8F8;
|
|
165
|
+
}
|
|
166
|
+
.btn_cz {
|
|
167
|
+
background-color: #499edf;
|
|
168
|
+
color:#FFFFFF;
|
|
169
|
+
width: 55px;
|
|
170
|
+
margin-right: 2%;
|
|
171
|
+
margin-top: 10px;
|
|
172
|
+
height: 38px;
|
|
173
|
+
border-radius: 9px;
|
|
174
|
+
font: 600 17px PingFang-SC-Bold;
|
|
175
|
+
}
|
|
176
|
+
</style>
|
|
@@ -81,6 +81,13 @@
|
|
|
81
81
|
:size="model.f_attendant ? model.f_order_man.length : 6" style="width: 80%;">
|
|
82
82
|
</div>
|
|
83
83
|
|
|
84
|
+
<div class="col-sm-3">
|
|
85
|
+
<v-select :value.sync="model.f_state"
|
|
86
|
+
v-model="model.f_state"
|
|
87
|
+
:width="'80%'"
|
|
88
|
+
:options='$parent.$parent.states' placeholder='是否退单'
|
|
89
|
+
close-on-select style="width: 80%;"></v-select>
|
|
90
|
+
</div>
|
|
84
91
|
<!-- <div class="form-group" style="float: left;margin-right: 3px">
|
|
85
92
|
<datepicker id="endDate" placeholder="接单日期"
|
|
86
93
|
v-model="model.f_order_date"
|
|
@@ -122,15 +129,15 @@
|
|
|
122
129
|
<button type="button" class="btn btn-link"
|
|
123
130
|
@click.stop="$parent.$parent.$parent.$emit('do', 'serviceDelete',row)" style="min-width: 30px;">撤销</button>
|
|
124
131
|
</div>
|
|
125
|
-
<div v-show="
|
|
132
|
+
<div v-show="row.f_state =='撤销' && row.f_workorder_type == '报修单'">
|
|
126
133
|
<button type="button" class="btn btn-link"
|
|
127
134
|
@click.stop="$parent.$parent.$parent.$emit('do', 'resend', row)" style="min-width: 30px;">重派</button>
|
|
128
135
|
</div>
|
|
129
|
-
<div v-show="
|
|
136
|
+
<div v-show="row.f_state =='撤销' && row.f_workorder_type == '置换通气单' ">
|
|
130
137
|
<button type="button" class="btn btn-link"
|
|
131
138
|
@click.stop="$parent.$parent.$parent.$emit('do', 'resendzhihuan', row)" style="min-width: 30px;">重派</button>
|
|
132
139
|
</div>
|
|
133
|
-
<div v-show="
|
|
140
|
+
<div v-show="row.f_state =='撤销' && row.f_workorder_type == '安装单' ">
|
|
134
141
|
<button type="button" class="btn btn-link"
|
|
135
142
|
@click.stop="$parent.$parent.$parent.$emit('do', 'resendinstall', row)" style="min-width: 30px;">重派</button>
|
|
136
143
|
</div>
|
|
@@ -170,6 +177,7 @@ export default {
|
|
|
170
177
|
return {
|
|
171
178
|
model: new PagedList('rs/path/allService', 20),
|
|
172
179
|
row: null,
|
|
180
|
+
states:[{label: '全部', value: ''}, {label: '是', value: '是'},{label: '否', value: '否'}],
|
|
173
181
|
modifyOrder: null
|
|
174
182
|
// defname: [{label: '全部', value: ''}, ...this.$appdata.getParam('工单状态')]
|
|
175
183
|
}
|
|
@@ -201,6 +209,15 @@ export default {
|
|
|
201
209
|
data.condition = this.$refs.paged.$refs.criteria.condition?this.$refs.paged.$refs.criteria.condition:'1=1'
|
|
202
210
|
// data.condition += `and f_filiale_id = '${this.$login.f.orgid}'`
|
|
203
211
|
data.sign = this.$refs.paged.$refs.criteria.select.defname[0]?`defname = '${this.$refs.paged.$refs.criteria.select.defname[0]}'`:'1=1'
|
|
212
|
+
|
|
213
|
+
if (this.$refs.paged.$refs.criteria.model.f_state.length > 0){
|
|
214
|
+
if (this.$refs.paged.$refs.criteria.model.f_state[0] == '是'){
|
|
215
|
+
data.condition += ` and f_state = '撤销' `
|
|
216
|
+
}else {
|
|
217
|
+
data.condition += ` and f_state = null `
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
|
|
204
221
|
return this.model.search(data)
|
|
205
222
|
},
|
|
206
223
|
selfsearch(){
|
|
@@ -165,6 +165,31 @@
|
|
|
165
165
|
close-on-select>
|
|
166
166
|
</v-select>
|
|
167
167
|
</div>
|
|
168
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
169
|
+
<label class="font_normal_body" style="width: 40%" >是否退单</label>
|
|
170
|
+
<v-select :value.sync="model.f_state" :value-single="true" v-model="model.f_state"
|
|
171
|
+
:options='$parent.$parent.states' placeholder='是否退单'
|
|
172
|
+
close-on-select>
|
|
173
|
+
</v-select>
|
|
174
|
+
</div>
|
|
175
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
176
|
+
<label class="font_normal_body" style="width: 40%">截至时间</label>
|
|
177
|
+
<datepicker placeholder="开始时间"
|
|
178
|
+
:value.sync="model.f_jzdate_start"
|
|
179
|
+
v-model="model.f_jzdate_start"
|
|
180
|
+
:format="'yyyy-MM-dd 00:00:00'"
|
|
181
|
+
condition="f_result_status is null and f_finish_date > '{}'"
|
|
182
|
+
></datepicker>
|
|
183
|
+
</div>
|
|
184
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%">
|
|
185
|
+
<label class="font_normal_body" style="width: 40%">截至时间</label>
|
|
186
|
+
<datepicker placeholder="结束时间"
|
|
187
|
+
:value.sync="model.f_jzdate_end"
|
|
188
|
+
v-model="model.f_jzdate_end"
|
|
189
|
+
:format="'yyyy-MM-dd 23:59:59'"
|
|
190
|
+
condition="f_finish_date < '{}'"
|
|
191
|
+
></datepicker>
|
|
192
|
+
</div>
|
|
168
193
|
|
|
169
194
|
</div>
|
|
170
195
|
|
|
@@ -234,13 +259,12 @@
|
|
|
234
259
|
<th>
|
|
235
260
|
<nobr>逾期时间</nobr>
|
|
236
261
|
</th>
|
|
237
|
-
|
|
238
|
-
|
|
262
|
+
<th>
|
|
263
|
+
<nobr>剩余时间</nobr>
|
|
264
|
+
</th>
|
|
239
265
|
<th>
|
|
240
266
|
<nobr>工单结果</nobr>
|
|
241
267
|
</th>
|
|
242
|
-
|
|
243
|
-
|
|
244
268
|
</tr>
|
|
245
269
|
</template>
|
|
246
270
|
<template partial='body'>
|
|
@@ -314,7 +338,9 @@
|
|
|
314
338
|
<td style="text-align: center;">
|
|
315
339
|
<nobr>{{ $parent.$parent.$parent.d2(row) }}</nobr>
|
|
316
340
|
</td>
|
|
317
|
-
|
|
341
|
+
<td style="text-align: center;">
|
|
342
|
+
<nobr>{{ $parent.$parent.$parent.d3(row) }}</nobr>
|
|
343
|
+
</td>
|
|
318
344
|
|
|
319
345
|
<td style="text-align: center;">
|
|
320
346
|
<nobr>{{ row.f_result_status }}</nobr>
|
|
@@ -397,7 +423,7 @@ export default {
|
|
|
397
423
|
model: new PagedList('rs/sql/serviceDetails', 20),
|
|
398
424
|
row: null,
|
|
399
425
|
orderMan: '',
|
|
400
|
-
|
|
426
|
+
states:[{label: '全部', value: ''}, {label: '是', value: '是'},{label: '否', value: '否'}],
|
|
401
427
|
msgs: [],
|
|
402
428
|
service: Object,
|
|
403
429
|
pendingCount: 0,
|
|
@@ -456,7 +482,7 @@ export default {
|
|
|
456
482
|
},
|
|
457
483
|
ready () {
|
|
458
484
|
|
|
459
|
-
this.selfSearch()
|
|
485
|
+
// this.selfSearch()
|
|
460
486
|
},
|
|
461
487
|
watch: {
|
|
462
488
|
'all' (val) {
|
|
@@ -483,7 +509,13 @@ export default {
|
|
|
483
509
|
return row.f_workorder_type == '报修单'?(row.f_result_status == '已完成'?(this.datejisuan(row.f_finish_date,row.f_date)<0?'已逾期':'未逾期'):(this.datejisuan(row.f_finish_date,'')<0?'已逾期':'未逾期')):''
|
|
484
510
|
},
|
|
485
511
|
d2(row){
|
|
486
|
-
return row.f_workorder_type == '报修单'?(row.f_result_status == '已完成'?(this.datejisuan(row.f_finish_date,row.f_date)<0?this.formatDuring(new Date(row.f_date).getTime(),new Date(row.f_finish_date).getTime()):'未逾期'):(this.datejisuan(row.f_finish_date,
|
|
512
|
+
return row.f_workorder_type == '报修单'?(row.f_result_status == '已完成'?(this.datejisuan(row.f_finish_date,row.f_date)<0?this.formatDuring(new Date(row.f_date).getTime(),new Date(row.f_finish_date).getTime()):'未逾期'):(this.datejisuan(row.f_finish_date,this.getNowFormatDate())<0?this.formatDuring(new Date(this.getNowFormatDate()).getTime(),new Date(row.f_finish_date).getTime()):'未逾期')):''
|
|
513
|
+
},
|
|
514
|
+
d3(row){
|
|
515
|
+
return row.f_workorder_type == '报修单' && row.f_finish_date ?
|
|
516
|
+
(row.f_result_status == '已完成'?
|
|
517
|
+
'0天':(this.datejisuan(row.f_finish_date,this.getNowFormatDate())<0?
|
|
518
|
+
'已逾期':this.formatDuring(new Date(row.f_finish_date).getTime(),new Date(this.getNowFormatDate()).getTime()))):''
|
|
487
519
|
},
|
|
488
520
|
datejisuan(a,b){
|
|
489
521
|
return new Date(a).getTime()-new Date(b).getTime()
|
|
@@ -551,7 +583,13 @@ export default {
|
|
|
551
583
|
} else {
|
|
552
584
|
args.condition += ` and f_filiale_id = '${this.$login.f.orgid}'`
|
|
553
585
|
}
|
|
554
|
-
|
|
586
|
+
if (this.$refs.paged.$refs.criteria.model.f_state.length > 0){
|
|
587
|
+
if (this.$refs.paged.$refs.criteria.model.f_state[0] == '是'){
|
|
588
|
+
args.condition += ` and f_state = '撤销' `
|
|
589
|
+
}else {
|
|
590
|
+
args.condition += ` and f_state is null `
|
|
591
|
+
}
|
|
592
|
+
}
|
|
555
593
|
this.searchData.condition = args.condition
|
|
556
594
|
return this.model.search(args.condition, args.model)
|
|
557
595
|
},
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="auto ">
|
|
3
|
+
<div class="">
|
|
4
|
+
<label class="control-label">{{row.f_user_name}}</label>
|
|
5
|
+
<span>{{row.f_phone}}</span>
|
|
6
|
+
<span>{{row.f_address}}</span>
|
|
7
|
+
</div>
|
|
8
|
+
<div class="">
|
|
9
|
+
<span>报修时间:{{row.f_repair_date}}</span>
|
|
10
|
+
<span>工单编号:{{row.f_service_id}}</span>
|
|
11
|
+
</div>
|
|
12
|
+
<div class="form-input-group">
|
|
13
|
+
<label class="control-label text-justify">撤销内容</label>
|
|
14
|
+
<textarea name="name" rows="3" cols="80" v-model="row.serviceacitivity[0].f_backaccount"></textarea>
|
|
15
|
+
</div>
|
|
16
|
+
<button type="button" name="button" class="btn btn-default" style="float: left;" @click="$emit('cancel')">取消</button>
|
|
17
|
+
<button type="button" name="button" class="btn btn-success" style="float: right;" @click="confirm()">保存</button>
|
|
18
|
+
</div>
|
|
19
|
+
</template>
|
|
20
|
+
<script>
|
|
21
|
+
export default {
|
|
22
|
+
title: '撤销',
|
|
23
|
+
props: {
|
|
24
|
+
// 报修单,不含关联关系
|
|
25
|
+
row: { // 工单信息
|
|
26
|
+
type: Object
|
|
27
|
+
},
|
|
28
|
+
loginUser: { // 当前登录人
|
|
29
|
+
type: Object
|
|
30
|
+
},
|
|
31
|
+
callObj: { // 来电电话
|
|
32
|
+
type: Object
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
methods: {
|
|
36
|
+
confirm () {
|
|
37
|
+
console.log("撤销工单")
|
|
38
|
+
let data = {model: this.row, loginUser: {name:this.$login.f.name, ename: this.$login.f.ename}}
|
|
39
|
+
// 将数据发送给业务逻辑
|
|
40
|
+
this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/logic/serviceDelete`, data).then(() => {
|
|
41
|
+
this.$emit('success')
|
|
42
|
+
})
|
|
43
|
+
// return this.$resetpost('rs/logic/reminder', {model: this.row, loginUser: this.loginUser, callObj: this.callObj}).then(() => {
|
|
44
|
+
// this.$emit('success')
|
|
45
|
+
// })
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
watch: {
|
|
49
|
+
// 报修单发生改变,给报修单设置默认派单对象
|
|
50
|
+
row (val) {
|
|
51
|
+
this.row.serviceacitivity = [{}]
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
</script>
|
|
@@ -14,23 +14,24 @@ let specialComp = {
|
|
|
14
14
|
'telloss-list': (resolve) => {require(['./pc/TelLossList'], resolve)},
|
|
15
15
|
// 呼叫大屏主页面
|
|
16
16
|
'call-report-main-page-kelai': (resolve) => { require(['./pc/CallReport/CallReportMainPage-Kelai'], resolve) },
|
|
17
|
-
|
|
17
|
+
//时间
|
|
18
18
|
'time-comp': (resolve) => { require(['./pc/CallReport/Time'], resolve) },
|
|
19
|
-
|
|
19
|
+
//运行天数
|
|
20
20
|
'time-running': (resolve) => { require(['./pc/CallReport/timeRunning'], resolve) },
|
|
21
|
-
|
|
21
|
+
//累计通话
|
|
22
22
|
'cumulative-calls': (resolve) => { require(['./pc/CallReport/CumulativeCalls'], resolve) },
|
|
23
|
-
|
|
23
|
+
//坐席状态
|
|
24
24
|
'seat-status': (resolve) => { require(['./pc/CallReport/SeatStatus'], resolve) },
|
|
25
|
-
|
|
25
|
+
//呼入接听量
|
|
26
26
|
'incoming-callvolume': (resolve) => { require(['./pc/CallReport/Incomingcallvolume'], resolve) },
|
|
27
|
-
|
|
27
|
+
//呼入时间数据
|
|
28
28
|
'tncoming-timedata': (resolve) => { require(['./pc/CallReport/IncomingTimedata'], resolve) },
|
|
29
|
-
|
|
29
|
+
//工单类型统计
|
|
30
30
|
'workorder-typesum': (resolve) => { require(['./pc/CallReport/WorkorderTypesum'], resolve) },
|
|
31
|
+
'service-delete-order': (resolve) => { require(['./pc/serviceDeleteOrder'], resolve) },
|
|
31
32
|
'record-list-left':(resolve) => { require(['./pc/RecordListLeft'], resolve) },
|
|
32
33
|
'work-listall-new':(resolve) => { require(['./pc/WorkListAllNew.vue'], resolve) },
|
|
33
|
-
'
|
|
34
|
+
'work-center-list':(resolve) => { require(['./pc/WorkCenterList.vue'], resolve) }
|
|
34
35
|
}
|
|
35
36
|
exports.specialComp = specialComp
|
|
36
37
|
|
|
@@ -8,7 +8,9 @@ let specialComp = {
|
|
|
8
8
|
'repair-type-list' : (resolve) => { require(['./android/RepairTypeList'], resolve) },
|
|
9
9
|
// 用户基本信息
|
|
10
10
|
'repair-user-info': (resolve) => { require(['./android/RepairUserInfo'], resolve) },
|
|
11
|
-
'repair-orderV': (resolve) => { require(['./android/RepairOrderV'], resolve) }
|
|
11
|
+
'repair-orderV': (resolve) => { require(['./android/RepairOrderV'], resolve) },
|
|
12
|
+
'phone-ventilation-leave': (resolve) => { require(['./android/PhoneVentilationLeave'], resolve) },
|
|
13
|
+
'tel-take-pic': (resolve) => { require(['./android/AppTakePic'], resolve) }
|
|
12
14
|
}
|
|
13
15
|
exports.specialComp = specialComp
|
|
14
16
|
|