manage-client 3.2.262 → 3.2.264

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 (39) hide show
  1. package/build/dev-server.js +180 -180
  2. package/package.json +1 -1
  3. package/src/components/SellReport/ManageBusSummary.vue +2 -0
  4. package/src/filiale/ningjin/CallReport/CallReportMainPage.vue +146 -0
  5. package/src/filiale/ningjin/CallReport/DropDownBox.vue +64 -0
  6. package/src/filiale/ningjin/CallReport/IncomingTelegram.vue +187 -0
  7. package/src/filiale/ningjin/CallReport/PercentageComplete.vue +413 -0
  8. package/src/filiale/ningjin/CallReport/PercentageCompleteEchart.vue +150 -0
  9. package/src/filiale/ningjin/CallReport/RateBottom.vue +143 -0
  10. package/src/filiale/ningjin/CallReport/RateTop.vue +144 -0
  11. package/src/filiale/ningjin/CallReport/ScrollContent.vue +143 -0
  12. package/src/filiale/ningjin/CallReport/ServiceStatus.vue +371 -0
  13. package/src/filiale/ningjin/CallReport/SwiperTools.vue +145 -0
  14. package/src/filiale/ningjin/CallReport/SwiperTools2.vue +176 -0
  15. package/src/filiale/ningjin/CallReport/Time.vue +100 -0
  16. package/src/filiale/ningjin/CallReport/Userinfo.vue +69 -0
  17. package/src/filiale/ningjin/CallReport/WeatherData.vue +108 -0
  18. package/src/filiale/ningjin/CallReport/WorkOrderPage.vue +260 -0
  19. package/src/filiale/ningjin/FillCardQuery.vue +581 -0
  20. package/src/filiale/ningjin/GasStatistics.vue +39 -20
  21. package/src/filiale/ningjin/LostContactAnalysisList.vue +676 -0
  22. package/src/filiale/ningjin/ManageBusSummaryPeng.vue +241 -0
  23. package/src/filiale/ningjin/ManageHandSellMoney.vue +247 -0
  24. package/src/filiale/ningjin/ManageSellType.vue +284 -0
  25. package/src/filiale/ningjin/MeterExceptionList.vue +54 -9
  26. package/src/filiale/ningjin/UserLostContactAnalysis.vue +592 -0
  27. package/src/filiale/ningjin/config/exportConfig.js +35 -34
  28. package/src/filiale/ningjin/reportManage.js +6 -1
  29. package/src/filiale/ningjin/sale.js +26 -0
  30. package/src/filiale/ningjin/webmeterManage.js +5 -1
  31. package/src/filiale/wenxi/ChargeQuery.vue +26 -112
  32. package/src/filiale/wenxi/FmyGasDeviceQuery.vue +144 -17
  33. package/src/filiale/wenxi/GasDeviceQuery.vue +975 -0
  34. package/src/filiale/wenxi/RecordInfoQuery.vue +1 -1
  35. package/src/filiale/wenxi/sale.js +2 -0
  36. package/src/filiale/yuansheng/DayReportList.vue +15 -1
  37. package/node_modules.zip +0 -0
  38. package/static/newStyle/new_stretch_bottom.png +0 -0
  39. package/static/newStyle/new_stretch_top.png +0 -0
@@ -0,0 +1,100 @@
1
+ <template>
2
+ <div class="time">
3
+ <div class="timeHMS">{{ hourMinuteSecond }}</div>
4
+ <div class="timeYMD">{{ yearMonthDay }}</div>
5
+ <!-- <div class="timeWeek">{{ week }}</div>-->
6
+
7
+ </div>
8
+ </template>
9
+
10
+ <script>
11
+ import {HttpResetClass} from "vue-client";
12
+ import '../../../../static/fonts/font.css'
13
+
14
+ export default {
15
+ name: "Time",
16
+ data(){
17
+ return{
18
+ nextTime:"",
19
+ hourMinuteSecond:"",
20
+ yearMonthDay:"",
21
+ week:"",
22
+ }
23
+ },
24
+ ready(){
25
+ this.showTime()
26
+ // this.getInitData()
27
+ },
28
+ methods:{
29
+ getInitData(){
30
+ let http = new HttpResetClass()
31
+ http.load('post','rs/sql/getCallSumData',{}).then((res)=>{
32
+ console.log("===========",res.data)
33
+ // this.data = res.data[0]
34
+ })
35
+ },
36
+ showTime() {
37
+ this.interval = setInterval(() => {
38
+ //開始运行
39
+ this.nextTime = ''
40
+ let dt = new Date();
41
+ let weekList=new Array('日','一','二','三','四','五','六',);
42
+ let y = dt.getFullYear();
43
+ let mt = dt.getMonth() + 1;
44
+ let day = dt.getDate();
45
+ let h = dt.getHours(); //获取时
46
+ let m = dt.getMinutes(); //获取分
47
+ let s = dt.getSeconds(); //获取秒
48
+ let week=dt.getDay();
49
+ let weekStr=weekList[week];
50
+ //时分秒<10前面拼接0
51
+ h = this.check(h);
52
+ m = this.check(m);
53
+ s = this.check(s);
54
+ // this.nextTime = h + ":" + m + ":" + s + " " + y + "/" + mt + "/" + day + "星期"+ weekStr;
55
+ this.hourMinuteSecond = h + ":" + m + ":" + s;
56
+ this.yearMonthDay = y + "-" + mt + "-" + day+"星期"+ weekStr;
57
+ // this.week="星期"+ weekStr;
58
+
59
+ }, 1000); //设定定时器,循环运行
60
+ },
61
+ //检查时分秒如果<10前面拼接0
62
+ check(i){
63
+ let num;
64
+ i<10?num="0"+i:num=i;
65
+ return num;
66
+ },
67
+ }
68
+ }
69
+ </script>
70
+
71
+ <style scoped>
72
+ .time {
73
+ width: 17.625vw;
74
+ height: 5.222vh;
75
+ position: absolute;
76
+ top: -1.389vh;
77
+ right: 0.365vw;
78
+ display: flex;
79
+ font-family: alhy;
80
+ justify-content: space-around;
81
+ }
82
+ .timeHMS{
83
+ width: 6vw;
84
+ height: 5.037vh;
85
+ font-size: 2.315vh;
86
+ font-weight: 400;
87
+ color: #C3DEFF;
88
+ line-height: 8.796vh;
89
+ }
90
+ .timeYMD {
91
+ width: 10vw;
92
+ height: 5.574vh;
93
+ font-size: 1.667vh;
94
+ font-weight: 400;
95
+ color: #C3DEFF;
96
+ line-height: 8.796vh;
97
+ opacity: 0.7;
98
+ }
99
+ .timeWeek{}
100
+ </style>
@@ -0,0 +1,69 @@
1
+ <template>
2
+ <!-- 用户信息 -->
3
+ <div class="userinfo">
4
+ <swiper-tools :notice-list="noticeList" :title-list="titleList"></swiper-tools>
5
+ </div>
6
+ </template>
7
+
8
+ <script>
9
+ import SwiperTools from "./SwiperTools"
10
+ import {HttpResetClass} from "vue-client";
11
+ export default {
12
+ name: "Userinfo",
13
+ components:{
14
+ SwiperTools
15
+ },
16
+ data(){
17
+ return{
18
+ noticeList:[],
19
+ titleList:{
20
+ date: '派单时间',
21
+ name:'用户姓名',
22
+ orderType:'工单类型',
23
+ address:'用户地址',
24
+ receptionist:'话务员',
25
+ state:'工单状态'
26
+ }
27
+ }
28
+ },
29
+ props:['filialeId'],
30
+ methods:{
31
+ getworkuser(){
32
+ let http = new HttpResetClass()
33
+ http.load('post','rs/logic/Workorderinformation',{
34
+ data: {
35
+ f_orgid: this.filialeId?this.filialeId:23145 // 分公司id
36
+ }
37
+ },{rejectMsg:null,resolveMsg:null}).then((ress)=>{
38
+ console.log("getworkuser"+JSON.stringify(ress.data))
39
+ this.noticeList = ress.data.data
40
+ console.log("this.noticeList"+JSON.stringify(this.noticeList))
41
+ })
42
+ }
43
+ },
44
+ ready(){
45
+ this.getworkuser()
46
+ setInterval(() => {
47
+ this.getworkuser()
48
+ }, 300000)
49
+ },
50
+ watch: {
51
+ 'filialeId'(val){
52
+ console.log("filialeId>>>=====",val)
53
+ this.getworkuser()
54
+ }
55
+ }
56
+ }
57
+ </script>
58
+
59
+ <style lang="less" scoped>
60
+ .userinfo {
61
+ width: 71.40625vw;
62
+ height: 28.426vh;
63
+ background: rgba(255, 255, 255, .04);
64
+ position: absolute;
65
+ right: 1.09375vw;
66
+ bottom: 3.889vh;
67
+ padding: 0 1vw;
68
+ }
69
+ </style>
@@ -0,0 +1,108 @@
1
+ <template>
2
+ <div class="weather">
3
+ <div id="scan" class="weather-icon"></div>
4
+ <span class="weather-text">
5
+ {{weatherList.wea}}&nbsp;{{weatherList.tem_night}}℃~{{weatherList.tem_day}}℃&nbsp;&nbsp;风速:{{weatherList.win_meter}}
6
+ &nbsp;风向:{{weatherList.win}}
7
+ </span>
8
+ </div>
9
+ </template>
10
+
11
+ <script>
12
+ import axios from "axios";
13
+ export default {
14
+ name: "WeatherData",
15
+ data(){
16
+ return{
17
+ cityid: '',
18
+ weatherList: {},
19
+ }
20
+ },
21
+ props:['filiale'],
22
+ ready(){
23
+ this.serchWeather()
24
+ setInterval(() => {
25
+ this.serchWeather()
26
+ }, 28800000)
27
+ console.log("ssss"+JSON.stringify(this.filiale))
28
+
29
+ },
30
+ methods: {
31
+ serchWeather(){
32
+ // 调用天气接口
33
+ axios.get('https://www.tianqiapi.com/free/day?appid=85841439&appsecret=EKCDLT4I&cityid=' + this.cityid)
34
+ .then((response) => {
35
+ console.log("天气"+JSON.stringify(response.data))
36
+ this.weatherList = response.data
37
+ console.log("22222"+JSON.stringify(this.weatherList))
38
+ })
39
+ }
40
+ },
41
+
42
+ watch: {
43
+ 'weatherList.wea':{
44
+ handler(val){
45
+ if(val=='多云'||val=='阴转多云'){
46
+ document.getElementById('scan').style.backgroundImage = 'url("../../../../static/images/zhongyi/cloudy.png")'
47
+ }if(val=='晴'){
48
+ document.getElementById('scan').style.backgroundImage = 'url("../../../../static/images/zhongyi/天气-晴.png")'
49
+ }if(val=='霾'){
50
+ document.getElementById('scan').style.backgroundImage = 'url("../../../../static/images/zhongyi/雾.png")'
51
+ }if(val=='暴雨'){
52
+ document.getElementById('scan').style.backgroundImage = 'url("../../../../static/images/zhongyi/暴雨到大暴雨.png")'
53
+ }
54
+ this.serchWeather()
55
+ console.log('f_orgname==>',val)
56
+ },
57
+ immediate: true
58
+ },
59
+ 'filiale': {
60
+ handler(val){
61
+ if(val=='山东彤运天燃气有限公司'||val=='临邑中邑燃气有限公司'){
62
+ this.cityid=101120401
63
+ }if(val=='夏津中邑燃气有限公司'){
64
+ this.cityid=101120410
65
+ }if(val=='庆云浩通天燃气有限公司'){
66
+ this.cityid=101120407
67
+ }if(val=='山东中邑燃气有限公司'){
68
+ this.cityid=101120409
69
+ }
70
+ this.serchWeather()
71
+ console.log('f_orgname==>',val)
72
+ },
73
+ immediate: true
74
+ }
75
+
76
+ }
77
+ }
78
+ </script>
79
+
80
+ <style scoped>
81
+ .weather {
82
+ width: 24.021vw;
83
+ height: 2.222vh;
84
+ position: absolute;
85
+ top: 0.926vh;
86
+ left: 1.604vw;
87
+ display: flex;
88
+ }
89
+
90
+ .weather-icon {
91
+ width: 1.667vw;
92
+ height: 2.037vh;
93
+ background-image: url("../../../../static/images/zhongyi/cloudy.png");
94
+ background-repeat: no-repeat;
95
+ background-position: 0 0;
96
+ background-size: contain;
97
+ margin-top: 0.278vh;
98
+
99
+ }
100
+
101
+ .weather-text {
102
+ font-family: alhy;
103
+ font-size: 1.9vh;
104
+ font-weight: 400;
105
+ color: #C3DEFF;
106
+ line-height: 3.333vh;
107
+ }
108
+ </style>
@@ -0,0 +1,260 @@
1
+ <template>
2
+ <!-- 工单模块 -->
3
+ <div class="left-1">
4
+ <p><i class="workOrder"></i><span>今日工单统计</span></p>
5
+ <i class="blueLine"></i>
6
+ <i class="blueLine blueLine2"></i>
7
+ <ul>
8
+ <li><span>工单量</span><span class="orderQuantity">{{ data.orderQuantity }}</span></li>
9
+ <li><span>在线处理</span><span class="onLineProcessing">{{ data.onLineProcessing }}</span></li>
10
+ <li><span>派单量</span><span class="sendOrders">{{ data.sendOrders }}</span></li>
11
+ <li><span>电话派单量</span><span class="orderByTelephone">{{ data.orderByTelephone }}</span></li>
12
+ <li><span>微信客服派单量</span><span class="orderByWechat">{{ data.orderByWechat }}</span></li>
13
+ </ul>
14
+ </div>
15
+ </template>
16
+
17
+
18
+ <script>
19
+ import {HttpResetClass} from "vue-client";
20
+ import * as Util from '../../../util'
21
+
22
+ export default {
23
+ name: "WorkOrderPage",
24
+ data(){
25
+ return{
26
+ data:{
27
+ orderQuantity:'',
28
+ onLineProcessing:'',
29
+ sendOrders:'',
30
+ orderByTelephone:'',
31
+ orderByWechat:'',
32
+ orderByNetHall:'',
33
+ },
34
+ }
35
+ },
36
+ props:['filialeId'],
37
+ methods:{
38
+ //获取所有工单数量
39
+ getOrderQuantity(){
40
+ let http = new HttpResetClass()
41
+ http.load('post','rs/logic/TelenumberWorkorders',{
42
+ data: {
43
+ f_orgid: this.filialeId?this.filialeId:23145 // 分公司id
44
+ }
45
+ },{rejectMsg:null,resolveMsg:null}).then((res)=>{
46
+ // console.log('获取所有工单数量TelenumberWorkorders',res.data.data[0].wordercont)
47
+ console.log("所有工单数量"+JSON.stringify(res.data))
48
+ this.data.orderQuantity = res.data.data[0].wordercont||0
49
+ })
50
+ },
51
+ //获取在线处理
52
+ getOnLineProcessing(){
53
+ let http = new HttpResetClass()
54
+ http.load('post','rs/logic/Directlyprocessedworkorder',{
55
+ data: {
56
+ f_orgid: this.filialeId?this.filialeId:23145 // 分公司id
57
+ }
58
+ },{rejectMsg:null,resolveMsg:null}).then((res)=>{
59
+ console.log("获取在线处理"+JSON.stringify(res.data))
60
+ this.data.onLineProcessing = res.data.data[0].zaixian||0
61
+ })
62
+ },
63
+ //获取所有下派工单
64
+ getSendOrders(){
65
+ let http = new HttpResetClass()
66
+ http.load('post','rs/logic/Quantityworkorder',{
67
+ data: {
68
+ f_orgid: this.filialeId?this.filialeId:23145 // 分公司id
69
+ }
70
+ },{rejectMsg:null,resolveMsg:null}).then((res)=>{
71
+ console.log("下派工单"+JSON.stringify(res.data))
72
+ if (res.data.data.length > 0){
73
+ this.data.sendOrders = res.data.data[0].handlingsum||0
74
+ }else {
75
+ this.data.sendOrders=0
76
+ }
77
+ })
78
+ },
79
+ //获取电话派单量
80
+ getOrderByTelephone(){
81
+ let http = new HttpResetClass()
82
+ http.load('post','rs/logic/QuantityworkorderNoWeixin',{
83
+ data: {
84
+ f_orgid: this.filialeId?this.filialeId:23145 // 分公司id
85
+ }
86
+ },{rejectMsg:null,resolveMsg:null}).then((res)=>{
87
+ console.log("电话派单量"+JSON.stringify(res.data))
88
+ this.data.orderByTelephone = res.data.data[0].noweixinsums||0
89
+ })
90
+ },
91
+ //获取微信客服派单量
92
+ getOrderByWechat(){
93
+ let http = new HttpResetClass()
94
+ http.load('post','rs/logic/QuantityworkorderWeixin',{
95
+ data: {
96
+ f_orgid: this.filialeId?this.filialeId:23145 // 分公司id
97
+ }
98
+ },{rejectMsg:null,resolveMsg:null}).then((res)=>{
99
+ console.log("微信客服派单量"+JSON.stringify(res.data))
100
+ this.data.orderByWechat = res.data.data[0].weixinsums||0
101
+ })
102
+ },
103
+ },
104
+ ready(){
105
+ this.getOrderQuantity()
106
+ this.getOnLineProcessing()
107
+ this.getSendOrders()
108
+ this.getOrderByTelephone()
109
+ this.getOrderByWechat()
110
+ setInterval(() => {
111
+ this.getOrderQuantity()
112
+ this.getOnLineProcessing()
113
+ this.getSendOrders()
114
+ this.getOrderByTelephone()
115
+ this.getOrderByWechat()
116
+ }, 5000*60)
117
+ },
118
+ computed:{
119
+
120
+ },
121
+ watch: {
122
+ 'filialeId'(val){
123
+ this.getOrderQuantity()
124
+ this.getOnLineProcessing()
125
+ this.getSendOrders()
126
+ this.getOrderByTelephone()
127
+ this.getOrderByWechat()
128
+ }
129
+ },
130
+ }
131
+ </script>
132
+
133
+ <style scoped>
134
+ /* 工单组件样式 */
135
+ .left-1 {
136
+ width: 23.984375vw;
137
+ height: 39.815vh;
138
+ position: relative;
139
+ top: 6.667vw;
140
+ left: 1.354vw;
141
+ background: #0f136c;
142
+ }
143
+ .left-1 p {
144
+ height: 8.333vh;
145
+ }
146
+ .workOrder {
147
+ width: 1.51vw;
148
+ height: 2.778vh;
149
+ background-image: url("../../../../static/images/zhongyi/workOrder.png");
150
+ position: absolute;
151
+ background-repeat: no-repeat;
152
+ background-position: 0 0;
153
+ background-size: cover;
154
+ top: 2.5vh;
155
+ left: 1.458vw;
156
+ }
157
+ .blueLine {
158
+ width: 22.8125vw;
159
+ height: 0.093vh;
160
+ background-image: url("../../../../static/images/zhongyi/blueLine.png");
161
+ position: absolute;
162
+ background-repeat: no-repeat;
163
+ background-position: 0 0;
164
+ background-size: cover;
165
+ top: 6.667vh;
166
+ left: 0.573vw;
167
+ }
168
+ .blueLine2 {
169
+ top: 6.759vh;
170
+ }
171
+ .left-1 p span {
172
+ font-size: 2.5vh;
173
+ color: #fff;
174
+ position: relative;
175
+ top: 2.222vh;
176
+ left: 3.59375vw;
177
+ }
178
+ .left-1 li {
179
+ list-style: none;
180
+ width: 22.76vw;
181
+ height: 4.722vh;
182
+ background-repeat: no-repeat;
183
+ background-position: 0 0;
184
+ background-size: cover;
185
+ position: relative;
186
+ border: 0.093vh dashed #fff;
187
+ left: 1.09375vw;
188
+ }
189
+ .left-1 li:nth-of-type(1) {
190
+ background-image: url("../../../../static/images/zhongyi/telephone2.png");
191
+ }
192
+ .left-1 li:nth-of-type(2) {
193
+ background-image: url("../../../../static/images/zhongyi/phone3.png");
194
+ }
195
+ .left-1 li:nth-of-type(3) {
196
+ background-image: url("../../../../static/images/zhongyi/phone4.png");
197
+ }
198
+ .left-1 li:nth-of-type(4) {
199
+ top: 0.926vh;
200
+ background-image: url("../../../../static/images/zhongyi/phone5.png");
201
+ }
202
+ .left-1 li:nth-of-type(5) {
203
+ top: 0.833vh;
204
+ background-image: url("../../../../static/images/zhongyi/weChat.png");
205
+ }
206
+ .left-1 li:nth-of-type(6) {
207
+ top: 0.926vh;
208
+ background-image: url("../../../../static/images/zhongyi/netHall.png");
209
+ }
210
+ .left-1 li span:nth-of-type(1) {
211
+ font-size: 2.037vh;
212
+ color: #fff;
213
+ position: relative;
214
+ top: 1.019vh;
215
+ left: 3.385vw;
216
+ }
217
+ .left-1 li span:nth-of-type(2) {
218
+ position: absolute;
219
+ top: 0.648vh;
220
+ left: 16.5625vw;
221
+ }
222
+
223
+ .orderQuantity {
224
+ color: #FFCD00;
225
+ font-size: 2.963vh;
226
+ font-weight: bold;
227
+ }
228
+
229
+ .onLineProcessing {
230
+ font-size: 2.963vh;
231
+ font-weight: bold;
232
+ color: #FF7E00;
233
+ }
234
+
235
+ .sendOrders {
236
+ font-size: 2.963vh;
237
+ font-weight: bold;
238
+ color: #00FFEA;
239
+ }
240
+
241
+ .orderByTelephone {
242
+ font-size: 2.315vh;
243
+ font-weight: bold;
244
+ color: #FFCB0D;
245
+ }
246
+
247
+ .orderByWechat {
248
+ font-size: 2.315vh;
249
+ font-weight: bold;
250
+ color: #FF7E00;
251
+ }
252
+
253
+ .orderByNetHall {
254
+ font-size: 2.315vh;
255
+ font-weight: bold;
256
+ color: #00FFEA;
257
+ }
258
+
259
+ /* 工单模块样式结束 */
260
+ </style>