sale-client 4.2.107 → 4.2.109

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/.project CHANGED
@@ -5,11 +5,6 @@
5
5
  <projects>
6
6
  </projects>
7
7
  <buildSpec>
8
- <buildCommand>
9
- <name>org.eclipse.jdt.core.javabuilder</name>
10
- <arguments>
11
- </arguments>
12
- </buildCommand>
13
8
  <buildCommand>
14
9
  <name>org.eclipse.buildship.core.gradleprojectbuilder</name>
15
10
  <arguments>
@@ -17,7 +12,6 @@
17
12
  </buildCommand>
18
13
  </buildSpec>
19
14
  <natures>
20
- <nature>org.eclipse.jdt.core.javanature</nature>
21
15
  <nature>org.eclipse.buildship.core.gradleprojectnature</nature>
22
16
  </natures>
23
17
  <filteredResources>
@@ -1,7 +1,7 @@
1
1
  var path = require('path')
2
2
  var checkVersion = require('./versionCheck.js')
3
3
  checkVersion()
4
- const [ serverRul, localUrl ] = ['http://192.168.50.67:31567/', 'http://192.168.50.67:31567/']
4
+ const [ serverRul, localUrl ] = ['http://121.36.106.17:31467/', 'http://121.36.106.17:31467/']
5
5
  var merge = require('webpack-merge')
6
6
  var baseConfig = require('./webpack.dev.conf')
7
7
  var devConfig = {
@@ -50,12 +50,12 @@ var devConfig = {
50
50
  '/rs/pay': {
51
51
  target: 'http://localhost:8080'
52
52
  },
53
- '/api/af-revenue': {
54
- pathRewrite: {
55
- '/api/af-revenue': '/af-revenue'
56
- },
57
- target: "http://localhost:8080"
58
- },
53
+ // '/api/af-revenue': {
54
+ // pathRewrite: {
55
+ // '/api/af-revenue': '/af-revenue'
56
+ // },
57
+ // target: "http://localhost:8080"
58
+ // },
59
59
  '/api': {
60
60
  target: serverRul
61
61
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "4.2.107",
3
+ "version": "4.2.109",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -40,6 +40,25 @@
40
40
  </tr>
41
41
  </tbody>
42
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>
43
62
  <div class="auto info-content" v-if="pared == 0">
44
63
  <div class="row">
45
64
  <strong>暂无维修信息</strong>
@@ -60,17 +79,17 @@
60
79
  data () {
61
80
  return {
62
81
  model: {},
63
- pared: 0
64
-
82
+ pared: 0,
83
+ repairImages: [] // 维修照片列表
65
84
  }
66
85
  },
67
86
  props: ['data'],
68
87
  ready () {
88
+ this.getServiceRepair()
69
89
  },
70
90
  methods: {
71
-
72
91
  async getServiceRepair () {
73
- if(this.data && this.data.f_userinfo_id){
92
+ if (this.data && this.data.f_userinfo_id) {
74
93
  let data = {
75
94
  f_userinfo_id: this.data.f_userinfo_id
76
95
  }
@@ -80,18 +99,57 @@
80
99
  console.log('看看维修情况', res, this.model)
81
100
  if (this.model) {
82
101
  this.pared = 1
102
+ await this.getRepairImages(this.model.id)
83
103
  } else {
84
104
  this.pared = 0
105
+ this.repairImages = []
85
106
  }
86
- } else{
107
+ } else {
87
108
  this.pared = 0
109
+ this.repairImages = []
110
+ }
111
+ },
112
+ // 获取维修照片
113
+ async getRepairImages (workorderId) {
114
+ if (!workorderId) {
115
+ this.repairImages = []
116
+ return
117
+ }
118
+ try {
119
+ let http = new HttpResetClass()
120
+ let serviceWorkRes = await http.load('POST', 'api/af-revenue/sql/saleSingleTable', {
121
+ data: {
122
+ tablename: 't_servicework',
123
+ condition: `serviceid = '${workorderId}'`
124
+ }
125
+ }, {resolveMsg: null, rejectMsg: null})
126
+ if (serviceWorkRes.data && serviceWorkRes.data.length > 0) {
127
+ let serviceId = serviceWorkRes.data[0].id
128
+ let repairImgRes = await http.load('POST', 'api/af-revenue/sql/saleSingleTable', {
129
+ data: {
130
+ tablename: 't_repairimg',
131
+ condition: `serviceid = '${serviceId}'`
132
+ }
133
+ }, {resolveMsg: null, rejectMsg: null})
134
+ if (repairImgRes.data && repairImgRes.data.length > 0) {
135
+ this.repairImages = repairImgRes.data
136
+ console.log('this.repairImages', this.repairImages)
137
+ } else {
138
+ this.repairImages = []
139
+ }
140
+ } else {
141
+ this.repairImages = []
142
+ }
143
+ } catch (error) {
144
+ console.error('获取维修照片失败:', error)
145
+ this.repairImages = []
88
146
  }
89
147
  }
90
148
  },
91
149
  watch: {
92
150
  'data' () {
93
- console.log('维修情况', this.data),
94
- this.getServiceRepair()
151
+ console.log('维修情况', this.data)
152
+ this.getServiceRepair()
95
153
  }
96
154
  }
97
155
  }
@@ -12,10 +12,10 @@
12
12
  <label class="col-sm-4 ">办理人:</label>
13
13
  <span class="col-sm-8">{{row.f_operator}}</span>
14
14
  </div>
15
- <div class="row">
16
- <label class="col-sm-4 ">购买时间:</label>
17
- <span class="col-sm-8">{{row.f_operate_date}}</span>
18
- </div>
15
+ <!-- <div class="row">-->
16
+ <!-- <label class="col-sm-4 ">购买时间:</label>-->
17
+ <!-- <span class="col-sm-8">{{row.f_operate_date}}</span>-->
18
+ <!-- </div>-->
19
19
  <div class="row">
20
20
  <label class="col-sm-4 ">开始时间:</label>
21
21
  <span class="col-sm-8">{{row.f_ins_start_date}}</span>
@@ -16,19 +16,19 @@
16
16
  </div>
17
17
  <div class="row">
18
18
  <label class="col-sm-4 ">安装方式:</label>
19
- <span class="col-sm-8">{{data.f_install_type}}</span>
19
+ <span class="col-sm-8">{{row.f_install_type}}</span>
20
20
  </div>
21
21
  <div class="row">
22
22
  <label class="col-sm-4 ">安装日期:</label>
23
- <span class="col-sm-8">{{data.f_input_date}}</span>
23
+ <span class="col-sm-8">{{row.f_input_date}}</span>
24
24
  </div>
25
25
  <div class="row">
26
26
  <label class="col-sm-4 ">到期日期:</label>
27
- <span class="col-sm-8">{{data.f_expire_date}}</span>
27
+ <span class="col-sm-8">{{row.f_expire_date}}</span>
28
28
  </div>
29
29
  <div class="row">
30
30
  <label class="col-sm-4 ">设备备注:</label>
31
- <span class="col-sm-8">{{data.f_comments}}</span>
31
+ <span class="col-sm-8">{{row.f_comments}}</span>
32
32
  </div>
33
33
  </div>
34
34
  </div>
@@ -37,39 +37,39 @@
37
37
  <label class = "col-sm-5 " >上次抄表日期</label>
38
38
  <span class = "col-sm-7">{{data?data.f_hand_date.substring(0,12):dafault.f_hand_date}}</span>
39
39
  </div>
40
- <!-- <div class="row" v-if="data.f_meter_type.includes('物联网') && data.f_collection_type === '按金额'">-->
41
- <!-- <label class = "col-sm-5 " style="color: brown">系统余额</label>-->
42
- <!-- <span class = "col-sm-7" style="color: brown">{{data?data.f_balance_amount:dafault.f_balance_amount}}</span>-->
43
- <!-- </div>-->
44
- <!-- <div class="row" v-if="data.f_meter_type.includes('物联网') && data.f_collection_type === '按气量'">-->
45
- <!-- <label class = "col-sm-5 " style="color: brown">系统余量</label>-->
46
- <!-- <span class = "col-sm-7" style="color: brown">{{data?data.f_balance_gas:dafault.f_balance_gas}}</span>-->
47
- <!-- </div>-->
48
- <!-- <div class="row" v-if="data.f_meter_type.includes('物联网') && data.f_collection_type === '按金额'">-->
49
- <!-- <label class = "col-sm-5 " style="color: brown">表上余额</label>-->
50
- <!-- <span class = "col-sm-7" style="color: brown">{{data?data.f_jval:dafault.f_jval}}</span>-->
51
- <!-- </div>-->
52
- <!-- <div class="row" v-if="data.f_meter_type.includes('物联网') && data.f_collection_type === '按气量'">-->
53
- <!-- <label class = "col-sm-5 " style="color: brown">表上余量</label>-->
54
- <!-- <span class = "col-sm-7" style="color: brown">{{data?data.f_jval:dafault.f_jval}}</span>-->
55
- <!-- </div>-->
40
+ <div class="row" v-if="data.f_meter_type.includes('物联网') && data.f_collection_type === '按金额'">
41
+ <label class = "col-sm-5 " style="color: brown">系统余额</label>
42
+ <span class = "col-sm-7" style="color: brown">{{data?data.f_balance_amount:dafault.f_balance_amount}}</span>
43
+ </div>
44
+ <div class="row" v-if="data.f_meter_type.includes('物联网') && data.f_collection_type === '按气量'">
45
+ <label class = "col-sm-5 " style="color: brown">系统余量</label>
46
+ <span class = "col-sm-7" style="color: brown">{{data?data.f_balance_gas:dafault.f_balance_gas}}</span>
47
+ </div>
48
+ <div class="row" v-if="data.f_meter_type.includes('物联网') && data.f_collection_type === '按金额'">
49
+ <label class = "col-sm-5 " style="color: brown">表上余额</label>
50
+ <span class = "col-sm-7" style="color: brown">{{data?data.f_jval:dafault.f_jval}}</span>
51
+ </div>
52
+ <div class="row" v-if="data.f_meter_type.includes('物联网') && data.f_collection_type === '按气量'">
53
+ <label class = "col-sm-5 " style="color: brown">表上余量</label>
54
+ <span class = "col-sm-7" style="color: brown">{{data?data.f_jval:dafault.f_jval}}</span>
55
+ </div>
56
56
 
57
- <!-- <div class="row" v-show="data.f_times">-->
58
- <!-- <label class = "col-sm-5 " >写卡次数</label>-->
59
- <!-- <span class = "col-sm-7" >{{data?data.f_times:dafault.f_times}}</span>-->
60
- <!-- </div>-->
61
- <!-- <div class="row" v-if="data.f_meter_type.includes('物联网')">-->
62
- <!-- <label class = "col-sm-5 ">物联网次数</label>-->
63
- <!-- <span class = "col-sm-7" >{{data?data.f_iot_times:dafault.f_iot_times}}</span>-->
64
- <!-- </div>-->
65
- <!-- <div class="row" v-if="data.f_meter_type.includes('物联网')">-->
66
- <!-- <label class = "col-sm-5 ">表累购金额</label>-->
67
- <!-- <span class = "col-sm-7" >{{data?data.f_total_fee:dafault.f_total_fee}}</span>-->
68
- <!-- </div>-->
69
- <!-- <div class="row" v-if="data.f_meter_type.includes('物联网')">-->
70
- <!-- <label class = "col-sm-5 ">户累购金额</label>-->
71
- <!-- <span class = "col-sm-7" >{{data?data.f_total_fee_all:dafault.f_total_fee_all}}</span>-->
72
- <!-- </div>-->
57
+ <div class="row" v-show="data.f_times">
58
+ <label class = "col-sm-5 " >写卡次数</label>
59
+ <span class = "col-sm-7" >{{data?data.f_times:dafault.f_times}}</span>
60
+ </div>
61
+ <div class="row" v-if="data.f_meter_type.includes('物联网')">
62
+ <label class = "col-sm-5 ">物联网次数</label>
63
+ <span class = "col-sm-7" >{{data?data.f_iot_times:dafault.f_iot_times}}</span>
64
+ </div>
65
+ <div class="row" v-if="data.f_meter_type.includes('物联网')">
66
+ <label class = "col-sm-5 ">表累购金额</label>
67
+ <span class = "col-sm-7" >{{data?data.f_total_fee:dafault.f_total_fee}}</span>
68
+ </div>
69
+ <div class="row" v-if="data.f_meter_type.includes('物联网')">
70
+ <label class = "col-sm-5 ">户累购金额</label>
71
+ <span class = "col-sm-7" >{{data?data.f_total_fee_all:dafault.f_total_fee_all}}</span>
72
+ </div>
73
73
  <!-- <div class="row" v-if="(data.f_meter_type === '机表' || data.f_meter_type === '物联网表') && data.f_deduction_gas > 0">-->
74
74
  <!-- <label class = "col-sm-5 " >剩余抵扣量</label>-->
75
75
  <!-- <span class = "col-sm-7" >{{data?data.f_deduction_gas:dafault.f_deduction_gas}}</span>-->
@@ -78,34 +78,34 @@
78
78
  <!-- <label class = "col-sm-5 " style="color: brown" >户累购气量</label>-->
79
79
  <!-- <span class = "col-sm-7" style="color: brown">{{data?data.f_total_gas_all:dafault.f_total_gas_all}}</span>-->
80
80
  <!-- </div>-->
81
- <!-- <div class="row" v-if="(data.f_meter_brand.includes('数码表'))">-->
82
- <!-- <label class = "col-sm-5 " style="color: brown" >累购气量</label>-->
83
- <!-- <span class = "col-sm-7" style="color: brown">{{data?data.f_total_gas:dafault.f_total_gas}}</span>-->
84
- <!-- </div>-->
85
- <!-- <div class="row" v-if="data.f_meter_type.includes('卡表') && data.f_meter_type === '气量卡表'">-->
86
- <!-- <label class = "col-sm-5 " style="color: brown" >累购气量</label>-->
87
- <!-- <span class = "col-sm-7" style="color: brown">{{data?data.f_total_gas:dafault.f_total_gas}}</span>-->
88
- <!-- </div>-->
89
- <!-- <div class="row" v-if="data.f_meter_type.includes('卡表')">-->
90
- <!-- <label class = "col-sm-5 " style="color: brown">累购金额</label>-->
91
- <!-- <span class = "col-sm-7" style="color: brown">{{data?data.f_total_fee:dafault.f_total_fee}}</span>-->
92
- <!-- </div>-->
93
- <!-- <div class="row" v-if="data.f_meter_type.includes('卡表')">-->
94
- <!-- <label class = "col-sm-5 " style="color: brown">累购写卡金额</label>-->
95
- <!-- <span class = "col-sm-7" style="color: brown">{{data?data.f_write_totalfee:dafault.f_total_fee}}</span>-->
96
- <!-- </div>-->
81
+ <div class="row" v-if="(data.f_meter_brand.includes('数码表'))">
82
+ <label class = "col-sm-5 " style="color: brown" >累购气量</label>
83
+ <span class = "col-sm-7" style="color: brown">{{data?data.f_total_gas:dafault.f_total_gas}}</span>
84
+ </div>
85
+ <div class="row" v-if="data.f_meter_type.includes('卡表') && data.f_meter_type === '气量卡表'">
86
+ <label class = "col-sm-5 " style="color: brown" >累购气量</label>
87
+ <span class = "col-sm-7" style="color: brown">{{data?data.f_total_gas:dafault.f_total_gas}}</span>
88
+ </div>
89
+ <div class="row" v-if="data.f_meter_type.includes('卡表')">
90
+ <label class = "col-sm-5 " style="color: brown">累购金额</label>
91
+ <span class = "col-sm-7" style="color: brown">{{data?data.f_total_fee:dafault.f_total_fee}}</span>
92
+ </div>
93
+ <div class="row" v-if="data.f_meter_type.includes('卡表')">
94
+ <label class = "col-sm-5 " style="color: brown">累购写卡金额</label>
95
+ <span class = "col-sm-7" style="color: brown">{{data?data.f_write_totalfee:dafault.f_total_fee}}</span>
96
+ </div>
97
97
  <div class="row">
98
98
  <label class = "col-sm-5 " >气表表号</label>
99
99
  <span class = "col-sm-7">{{data?data.f_meternumber:dafault.f_meternumber}}</span>
100
100
  </div>
101
- <!-- <div class="row" v-if="data.f_meter_type.includes('卡表') || (data.f_meter_type.includes('物联网表') && data.f_hascard==='是')">-->
102
- <!-- <label class = "col-sm-5 " >卡&emsp;&emsp;号</label>-->
103
- <!-- <span class = "col-sm-7">{{data?data.f_card_id:dafault.f_card_id}}</span>-->
104
- <!-- </div>-->
105
- <!-- <div class="row" v-if="data.f_meter_type.includes('卡表') || data.f_meter_type.includes('物联网表') && data.f_hascard==='是'">-->
106
- <!-- <label class = "col-sm-5 " >写卡次数</label>-->
107
- <!-- <span class = "col-sm-7">{{data?data.f_times:dafault.f_times}}</span>-->
108
- <!-- </div>-->
101
+ <div class="row" v-if="data.f_meter_type.includes('卡表') || (data.f_meter_type.includes('物联网表') && data.f_hascard==='是')">
102
+ <label class = "col-sm-5 " >卡&emsp;&emsp;号</label>
103
+ <span class = "col-sm-7">{{data?data.f_card_id:dafault.f_card_id}}</span>
104
+ </div>
105
+ <div class="row" v-if="data.f_meter_type.includes('卡表') || data.f_meter_type.includes('物联网表') && data.f_hascard==='是'">
106
+ <label class = "col-sm-5 " >写卡次数</label>
107
+ <span class = "col-sm-7">{{data?data.f_times:dafault.f_times}}</span>
108
+ </div>
109
109
  <div class="row">
110
110
  <label class = "col-sm-5 " >用气性质</label>
111
111
  <span class = "col-sm-7">{{data?data.f_gasproperties:dafault.f_gasproperties}}</span>
@@ -3,7 +3,7 @@
3
3
  <mix-price-info :data="data" v-if="data.f_price_type === '固定气价'"></mix-price-info>
4
4
  <stairinfo :data="data" v-if="data.f_price_type === '阶梯气价'"></stairinfo>
5
5
  <device-message @setstate="setstate" :state="state" :data="data"></device-message>
6
- <valueaddinfo :data="data" v-ref:valueaddinfo></valueaddinfo>
6
+ <!-- <valueaddinfo :data="data" v-ref:valueaddinfo></valueaddinfo>-->
7
7
  <user-fee-info :userinfoid="data.f_userinfo_id" v-ref:valueaddinfo></user-fee-info>
8
8
  <sale-safecheck-info :data="data"></sale-safecheck-info>
9
9
  <!-- 未处理隐患 -->
@@ -0,0 +1,409 @@
1
+ <template>
2
+ <div @keyup.enter="search" class="span">
3
+ <criteria-paged :model="model" class="list_area table_sy" v-ref:paged>
4
+ <criteria @condition-changed='$parent.search' partial='criteria' v-ref:criteria>
5
+ <div class="form-horizontal select-overspread container-fluid auto" novalidate partial>
6
+ <div class="row">
7
+
8
+ <div class="col-sm-2 form-group">
9
+ <label class="font_normal_body">指令类型</label>
10
+ <v-select :options='$parent.$parent.instructType' :value.sync="model.f_instruct_type"
11
+ close-on-select
12
+ condition="f_instruct_type='{}'"
13
+ placeholder='指令类型'
14
+ style="width: 60%"
15
+ v-model="model.f_instruct_type"></v-select>
16
+ </div>
17
+ <div class="col-sm-2 form-group">
18
+ <label class="font_normal_body">指令状态</label>
19
+ <v-select :options='$parent.$parent.instructState' :value.sync="model.f_instruct_state"
20
+ close-on-select
21
+ condition="f_instruct_state='{}'"
22
+ placeholder='指令状态'
23
+ style="width: 60%"
24
+ v-model="model.f_instruct_state"
25
+ ></v-select>
26
+ </div>
27
+
28
+ <div class="col-sm-2 form-group">
29
+ <label class="font_normal_body">开始时间</label>
30
+ <datepicker :format="'yyyy-MM-dd HH:mm:ss'"
31
+ :value.sync="model.f_start_date"
32
+ class="datepicker"
33
+ condition="f_instruct_date > '{}'"
34
+ placeholder="起始时间"
35
+ style="width: 60%"
36
+ v-model="model.f_start_date"
37
+ ></datepicker>
38
+ </div>
39
+ <div class="col-sm-2 form-group">
40
+ <label class="font_normal_body">结束时间</label>
41
+ <datepicker :format="'yyyy-MM-dd HH:mm:ss'"
42
+ :value.sync="model.f_end_date"
43
+ class="datepicker"
44
+ condition="f_instruct_date < '{}'"
45
+ placeholder="结束时间"
46
+ style="width: 60%"
47
+ v-model="model.f_end_date"
48
+ ></datepicker>
49
+ </div>
50
+ <div style="float: right">
51
+ <button @click="search()" class="button_search" v-el:cba>查询</button>
52
+ </div>
53
+ </div>
54
+
55
+ </div>
56
+ </criteria>
57
+ <data-grid :model="model" class="list_area table_sy" partial='list' v-ref:grid>
58
+ <template partial='head'>
59
+ <tr>
60
+ <th style="text-align:center;">
61
+ <nobr>指令类型</nobr>
62
+ </th>
63
+ <th style="text-align:center;">
64
+ <nobr>指令内容</nobr>
65
+ </th>
66
+ <th style="text-align:center;">
67
+ <nobr>指令状态</nobr>
68
+ </th>
69
+ <th style="text-align:center;">
70
+ <nobr>指令生成时间</nobr>
71
+ </th>
72
+ <th style="text-align:center;">
73
+ <nobr>指令发送时间</nobr>
74
+ </th>
75
+ <th style="text-align:center;">
76
+ <nobr>指令上表时间</nobr>
77
+ </th>
78
+ <th style="text-align:center;">
79
+ <nobr>操作人</nobr>
80
+ </th>
81
+ <th style="text-align:center;">
82
+ <nobr>操作时间(记录)</nobr>
83
+ </th>
84
+ <th style="text-align:center;">
85
+ <nobr>操作类型</nobr>
86
+ </th>
87
+ <!-- 查这里-->
88
+ <th style="text-align:center;">
89
+ <nobr>操作状态</nobr>
90
+ </th>
91
+ <th style="text-align:center;">
92
+ <nobr>操作人(记录)</nobr>
93
+ </th>
94
+ <th style="text-align:center;">
95
+ <nobr>操作内容</nobr>
96
+ </th>
97
+ <th style="text-align:center;">
98
+ <nobr>操作/指令状态</nobr>
99
+ </th>
100
+ <!--<th style="text-align:center;"><nobr>发送原因</nobr></th>
101
+ <th style="text-align:center;"><nobr>取消原因</nobr></th>-->
102
+ <th style="text-align:center;">
103
+ <nobr>备注信息</nobr>
104
+ </th>
105
+ <th style="text-align:center;" v-if="['HaiLiSystem','BoGuanSystem'].includes( $parent.$parent.$parent.row.f_alias)">
106
+ <!-- <th style="text-align:center;">-->
107
+ <nobr>写卡操作</nobr>
108
+ </th>
109
+ </tr>
110
+ </template>
111
+ <template partial='body'>
112
+ <tr>
113
+ <td style="text-align:center;">
114
+ <nobr>{{row.f_instruct_type}}</nobr>
115
+ </td>
116
+ <td style="text-align:center;">
117
+ <nobr>{{row.f_instruct_title}}</nobr>
118
+ </td>
119
+ <td style="text-align:center;">
120
+ <nobr>{{row.f_instruct_state}}</nobr>
121
+ </td>
122
+ <td style="text-align:center;">
123
+ <nobr>{{row.f_instruct_date}}</nobr>
124
+ </td>
125
+ <td style="text-align:center;">
126
+ <nobr>{{row.f_send_date}}</nobr>
127
+ </td>
128
+ <td style="text-align:center;">
129
+ <nobr>{{row.f_callback_date}}</nobr>
130
+ </td>
131
+ <td style="text-align:center;">
132
+ <nobr>{{row.f_inputtor}}</nobr>
133
+ </td>
134
+ <td style="text-align:center;">
135
+ <nobr>{{row.f_operate_date}}</nobr>
136
+ </td>
137
+ <td style="text-align:center;">
138
+ <nobr>{{row.f_type}}</nobr>
139
+ </td>
140
+ <!-- 这里-->
141
+ <td style="text-align:center;">
142
+ <nobr>{{$parent.$parent.$parent.stateFlow(row)}}</nobr>
143
+ <!-- <nobr>{{row.f_state}}</nobr>-->
144
+ </td>
145
+ <td style="text-align:center;">
146
+ <nobr>{{row.f_operator}}</nobr>
147
+ </td>
148
+ <td style="text-align:center;">
149
+ <nobr>{{row.f_operator_data}}</nobr>
150
+ </td>
151
+ <td style="text-align:center;" v-if="row.f_instruct_state === '待发送' && row.f_instruct_state !== '取消发送'">
152
+ <nobr>
153
+ {{row.f_instruct_state}}
154
+ <button v-if="$login.r.includes('取消指令')" @click="$parent.$parent.$parent.backSend(row)" class="button_search" style="margin-left:1rem" v-el:cba>取消指令</button>
155
+ </nobr>
156
+ </td>
157
+ <td style="text-align:center;" v-if="row.f_alias === 'MeiHua' && row.f_instruct_state !== '取消发送'">
158
+ <nobr>
159
+ <button
160
+ v-if="$login.r.includes('撤销指令')"
161
+ @click="$parent.$parent.$parent.backSend2(row)"
162
+ class="button_search"
163
+ style="margin-left:1rem"
164
+ v-el:cba
165
+ :disabled="row.f_instruct_state === '执行成功' || row.f_instruct_state === '执行失败'"
166
+ :class="{ 'disabled-button': row.f_instruct_state === '执行成功' || row.f_instruct_state === '执行失败' }"
167
+ >
168
+ 撤销指令
169
+ </button>
170
+ </nobr>
171
+ </td>
172
+ <td style="text-align:center;" v-if="row.f_instruct_state !== '待发送' && row.f_instruct_state !== '取消发送'">
173
+ <nobr>
174
+ {{row.f_receive_state}}
175
+
176
+ <!-- <button v-if="$login.r.includes('指令重发')" @click="$parent.$parent.$parent.reSend(row)" class="button_search" style="margin-left:1rem" v-el:cba>指令重发</button>-->
177
+ </nobr>
178
+ </td>
179
+ <td style="text-align:center;" v-if="row.f_instruct_state === '取消发送'">
180
+ <nobr>
181
+ <span title="操作人:{{row.f_cancel_inputtor}},操作原因:{{row.f_comments}}">已取消</span>
182
+ </nobr>
183
+ </td>
184
+ <!-- <td style="text-align:center;"><nobr>{{row.f_info}}</nobr></td>
185
+ <td style="text-align:center;"><nobr>{{row.f_comments}}</nobr></td>-->
186
+ <td style="text-align:center;">
187
+ <nobr><span >{{row.f_info}}</span></nobr>
188
+ </td>
189
+ <th style="text-align:center;" v-if="['HaiLiSystem','BoGuanSystem'].includes( $parent.$parent.$parent.row.f_alias)">
190
+ <!-- <th style="text-align:center;">-->
191
+ <button @click.stop='$parent.$parent.$parent.instructWriteCard(row)'
192
+ class="button_search" type="button"
193
+ v-show="row.f_instruct_type === '远程充值'">写卡</button>
194
+ </th>
195
+ </tr>
196
+ </template>
197
+ </data-grid>
198
+ </criteria-paged>
199
+ <modal :show.sync="handcental" backdrop="false" v-ref:modal>
200
+ <header class="modal-header" slot="modal-header">
201
+ <h4 class="modal-title">取消发送</h4>
202
+ </header>
203
+ <article class="modal-body" slot="modal-body">
204
+ <div class="form-group">
205
+ <label class="font_normal_body" >取消发送原因</label>
206
+ <textarea class="form-control" placeholder="请填写取消发送原因" rows="3" v-model="cancelreason"></textarea>
207
+ </div>
208
+ </article>
209
+ <footer class="modal-footer" slot="modal-footer">
210
+ <button @click='close' class="btn btn-default" type="button" v-show="handcental">取消</button>
211
+ <button @click='confirmcenta()' class="button_search" type="button" v-show="handcental">确认</button>
212
+ </footer>
213
+ </modal>
214
+ <modal :show.sync="handcental2" backdrop="false" v-ref:modal>
215
+ <header class="modal-header" slot="modal-header">
216
+ <h4 class="modal-title">撤销发送</h4>
217
+ </header>
218
+ <article class="modal-body" slot="modal-body">
219
+ <div class="form-group">
220
+ <label class="font_normal_body" >撤销发送原因</label>
221
+ <textarea class="form-control" placeholder="请填写撤销发送原因" rows="3" v-model="cancelreason"></textarea>
222
+ </div>
223
+ </article>
224
+ <footer class="modal-footer" slot="modal-footer">
225
+ <button @click='close' class="btn btn-default" type="button" v-show="handcental2">取消</button>
226
+ <button @click='confirmcenta2()' class="button_search" type="button" v-show="handcental2">确认</button>
227
+ </footer>
228
+ </modal>
229
+ </div>
230
+
231
+ </template>
232
+ <script>
233
+ import {HttpResetClass, PagedList} from 'vue-client'
234
+ import Vue from 'vue'
235
+
236
+ export default {
237
+ title: '指令查看',
238
+ name: 'Querylnstruct',
239
+ props: {
240
+ row: {},
241
+ tablename: {
242
+ type: String,
243
+ default: 't_instruct'
244
+ },
245
+ orderitem: {
246
+ type: String,
247
+ default: 'f_instruct_date desc'
248
+ },
249
+ items: {
250
+ type: String,
251
+ default: '*'
252
+ }
253
+ },
254
+ data () {
255
+ return {
256
+ handcental: false,
257
+ handcental2: false,
258
+ cancelreason: '',
259
+ cancelid: '',
260
+ f_userfiles_id: '',
261
+ model: new PagedList('api/af-revenue/sql/insturctDetailQuery', 30, {f_userfiles_id: this.row.f_userfiles_id}),
262
+ row: null,
263
+ searchshow: false,
264
+ show: false,
265
+ maxId: ''
266
+ }
267
+ },
268
+
269
+ async ready () {
270
+ console.log(this.$login.r)
271
+ await this.$refs.paged.$refs.criteria.search()
272
+ // if (this.row.f_meter_brand === '承德NB物联网表') {
273
+ // // if (true) {
274
+ // let http = new HttpResetClass()
275
+ // let getMax = await http.load('POST', 'api/af-revenue/sql/querySingleTable', {data: {items: 'max(id) id',
276
+ // tablename: 't_instruct',
277
+ // condition: ` f_userfiles_id='${this.row.f_userfiles_id}' `
278
+ // }}, {resolveMsg: null, rejectMsg: null})
279
+ // this.maxId = getMax.data[0].id
280
+ // }
281
+ },
282
+ watch: {
283
+ 'row' (val) {
284
+ this.f_userfiles_id = val.f_userfiles_id
285
+ if (this.row != null) {
286
+ this.$refs.paged.$refs.criteria.search()
287
+ }
288
+ }
289
+ },
290
+ methods: {
291
+ async instructWriteCard (row) {
292
+ let res = await this.$CardService.instructWriteCard(this.row)
293
+ if (res) {
294
+ let sql = `update t_instruct set f_instruct_state = '执行成功' WHERE id = ${row.id}`
295
+ await this.$resetpost('api/af-revenue/logic/runSQL', {sql: sql}, {resolveMsg: '操作成功', rejectMsg: '操作失败'})
296
+ await this.$refs.paged.$refs.criteria.search()
297
+ }
298
+ },
299
+ async reSend (row) {
300
+ let sql = `update t_instruct set f_instruct_state = '待发送' WHERE id = ${row.id}`
301
+ await this.$resetpost('api/af-revenue/logic/runSQL', {sql: sql}, {resolveMsg: '操作成功', rejectMsg: '操作失败'})
302
+ this.$refs.paged.$refs.criteria.search()
303
+ },
304
+ stateFlow: function (row) {
305
+ console.log(row)
306
+ let state = ''
307
+ if (row.f_instruct_type.includes('阀门控制')) {
308
+ let content = JSON.parse(row.f_instruct_content)
309
+ if (content.isOpen !== null) {
310
+ if (content.isOpen === 1) {
311
+ state = '开阀'
312
+ } else if (content.isOpen === 0) {
313
+ state = '关阀'
314
+ } else {
315
+ state = row.f_state
316
+ }
317
+ return state
318
+ }
319
+ } else {
320
+ return row.f_state
321
+ }
322
+ },
323
+ clickshow () {
324
+ this.searchshow = !this.searchshow
325
+ },
326
+ close () {
327
+ this.handcental = false
328
+ this.handcental2 = false
329
+ this.$refs.paged.$refs.criteria.search()
330
+ },
331
+ backSend (megrow) {
332
+ if (megrow.f_inputtor != '系统必需') {
333
+ this.handcental = true
334
+ this.cancelid = megrow.id
335
+ } else {
336
+ this.$showAlert('该指令为系统必需状态,无法取消发送。', 'warning', 3000)
337
+ }
338
+ },
339
+ backSend2 (megrow) {
340
+ this.handcental2 = true
341
+ this.cancelid = megrow.id
342
+ },
343
+ confirmcenta () {
344
+ let send = {
345
+ id: this.cancelid, // 当前记录ID
346
+ f_cancel_inputtor_id: this.$login.f.id, // 撤销人id
347
+ f_cancel_inputtor: this.$login.f.name, // 撤销人姓名
348
+ f_instruct_state: '取消发送',
349
+ f_comments: this.cancelreason
350
+ }
351
+ let param = {
352
+ tablename: 't_instruct',
353
+ basedata: send
354
+ }
355
+ this.$resetpost('api/af-revenue/logic/iot_saveTable', param).then(() => {
356
+ // this.params.rows.splice(index, 1)
357
+ console.log('更新成功!')
358
+ })
359
+ this.handcental = false
360
+ this.$refs.paged.$refs.criteria.search()
361
+ },
362
+ confirmcenta2 () {
363
+ let send = {
364
+ id: this.cancelid, // 当前记录ID
365
+ f_cancel_inputtor_id: this.$login.f.id, // 撤销人id
366
+ f_cancel_inputtor: this.$login.f.name, // 撤销人姓名
367
+ f_comments: this.cancelreason
368
+ }
369
+ this.$resetpost('api/af-iot/logic/openapi/cancelSendInstruct', send).then(() => {
370
+ // this.params.rows.splice(index, 1)
371
+ console.log('撤销成功!')
372
+ })
373
+ this.handcental2 = false
374
+ this.$refs.paged.$refs.criteria.search()
375
+ },
376
+ search (arg) {
377
+ arg.condition = `${arg.condition} and f_userfiles_id='${this.row.f_userfiles_id}'`
378
+ this.model.search(arg.condition, arg.model)
379
+ }
380
+ },
381
+ computed: {
382
+ instructType () {
383
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('指令类型')]
384
+ },
385
+ instructState () {
386
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('指令状态')]
387
+ }
388
+ }
389
+ }
390
+ </script>
391
+ <style>
392
+ .form-input-group label {
393
+ text-align: right;
394
+ width: auto;
395
+ }
396
+ .disabled-button {
397
+ background-color: #cccccc !important;
398
+ color: #666666 !important;
399
+ cursor: not-allowed !important;
400
+ opacity: 0.6 !important;
401
+ }
402
+
403
+ .button_search:disabled {
404
+ background-color: #cccccc !important;
405
+ color: #666666 !important;
406
+ cursor: not-allowed !important;
407
+ opacity: 0.6 !important;
408
+ }
409
+ </style>
@@ -130,9 +130,9 @@
130
130
  // import SupervisoryControl from './apply_detail/Supervisory/SupervisoryControl'
131
131
  // import ApplyChargeSearch from './apply_detail/applyCharge/ApplyChargeSearch'
132
132
  // 导入物联网相关查询
133
- import QueryInstruct from '../../components/common/userinfo_detail/iot_detail/QueryInstruct'
133
+ import QueryInstruct from './QueryInstruct'
134
134
  import QueryHistoryInstruct from '../../components/common/userinfo_detail/iot_detail/QueryHistoryInstruct'
135
- import WatchCollection from '../../components/common/userinfo_detail/iot_detail/WatchCollection'
135
+ import WatchCollection from './WatchCollection'
136
136
  import WatchWarning from '../../components/common/userinfo_detail/iot_detail/WatchWarning'
137
137
  import PriceChangeQueryUser from '../../components/common/userinfo_detail/ic_detail/PriceChangeQueryUser'
138
138
  import ChangeRecord from '../../components/common/userinfo_detail/ic_detail/ChangeRecord'
@@ -0,0 +1,117 @@
1
+ <template >
2
+ <div id="stand-work-list" >
3
+ <div @keyup.enter="search" class="span">
4
+ <criteria-paged :model="model" v-ref:paged>
5
+ <criteria @condition-changed='$parent.search' partial='criteria' v-ref:criteria>
6
+ <div class="form-horizontal select-overspread container-fluid auto" novalidate partial>
7
+ <div class="row">
8
+
9
+ <div class="col-sm-2 form-group ">
10
+ <label class="font_normal_body">上报时间</label>
11
+ <datepicker :format="'yyyy-MM-dd HH:mm:ss'" :value.sync="model.f_start_date"
12
+ class="datepicker"
13
+ condition="m.f_hand_date >= '{}'"
14
+ placeholder="大于等于"
15
+ style="width: 60%"
16
+ v-model="model.f_start_date"
17
+ ></datepicker>
18
+ </div>
19
+ <div class="col-sm-2 form-group " >
20
+ <label class="font_normal_body">&nbsp;至</label>
21
+ <datepicker :format="'yyyy-MM-dd HH:mm:ss'" :value.sync="model.f_end_date"
22
+ class="datepicker"
23
+ condition="m.f_hand_date <= '{}'"
24
+ placeholder="小于等于"
25
+ style="width: 60%"
26
+ v-model="model.f_end_date"
27
+ ></datepicker>
28
+ </div>
29
+ <div style="float: right">
30
+ <button @click="search()" class="button_search" v-el:cba>查询</button>
31
+ </div>
32
+ </div>
33
+
34
+ </div>
35
+ </criteria>
36
+ <data-grid :model="model" class="list_area table_sy" partial='list' v-ref:grid>
37
+ <template partial='head'>
38
+ <tr>
39
+ <th><nobr>上报日期</nobr></th>
40
+ <th><nobr>表上余额</nobr></th>
41
+ <th><nobr>本次抄表底数</nobr></th>
42
+ <th><nobr>阀门状态</nobr></th>
43
+ <th><nobr>上报类型</nobr></th>
44
+ <th><nobr>系统接收时间</nobr></th>
45
+ <th><nobr>表内累计充值金额</nobr></th>
46
+ <th><nobr>噪音强度</nobr></th>
47
+ <th><nobr>信噪比</nobr></th>
48
+ <th><nobr>电压</nobr></th>
49
+ <th><nobr>电压状态</nobr></th>
50
+ <th><nobr>阀门强制状态</nobr></th>
51
+ <th><nobr>计量类型</nobr></th>
52
+ <th><nobr>金额状态</nobr></th>
53
+
54
+ <th><nobr>磁干扰异常</nobr></th>
55
+ <th><nobr>补偿状态</nobr></th>
56
+ <th><nobr>表上次数</nobr></th>
57
+ </tr>
58
+ </template>
59
+ <template partial='body' partial='list'>
60
+ <tr >
61
+ <td style="text-align:center"><nobr>{{row.f_hand_date}}</nobr></td>
62
+ <th style="text-align:center"><nobr>{{row.f_jval}}</nobr></th>
63
+ <th style="text-align:center"><nobr>{{row.f_tablebase}}</nobr></th>
64
+ <th style="text-align:center"><nobr>{{row.f_valvestate == 0 ? '开阀' : row.f_valvestate === '1' ? '关阀' : '未上报'}}</nobr>
65
+ <th style="text-align:center"><nobr>{{row.f_upload_type}}</nobr></th>
66
+ <th style="text-align:center"><nobr>{{row.f_insert_date}}</nobr></th>
67
+ <th style="text-align:center"><nobr>{{row.f_meterdebitamt}}</nobr></th>
68
+ <th style="text-align:center"><nobr>{{row.f_signal}}</nobr></th>
69
+ <th style="text-align:center"><nobr>{{row.f_snr}}</nobr></th>
70
+ <th style="text-align:center"><nobr>{{row.f_batterylevel}}</nobr></th>
71
+ <th style="text-align:center"><nobr>{{row.f_lowlithiumbattery ? ((row.f_lowlithiumbattery - 0) == 0 ? '正常' : '异常') : '未知'}}</nobr></th>
72
+ <th style="text-align:center"><nobr>{{row.f_networkshutvalve}}</nobr></th>
73
+ <th style="text-align:center"><nobr>{{row.f_wmprepaytype}}</nobr></th>
74
+ <th style="text-align:center"><nobr>{{row.f_moneystate}}</nobr></th>
75
+ <th style="text-align:center"><nobr>{{row.f_magneticInterference}}</nobr></th>
76
+ <th style="text-align:center"><nobr>{{row.f_compensateState}}</nobr></th>
77
+ <th style="text-align:center"><nobr>{{row.f_times}}</nobr></th>
78
+ </tr>
79
+ </template>
80
+ <template partial='foot'></template>
81
+ </data-grid>
82
+ </criteria-paged>
83
+ </div>
84
+ </div>
85
+ </template>
86
+
87
+ <script>
88
+ import {PagedList} from 'vue-client'
89
+
90
+ export default {
91
+ title: 'WatchCollection',
92
+ data () {
93
+ return {
94
+ model: new PagedList('api/af-revenue/sql/iot_getNewLoseUserQuery', 50)
95
+ }
96
+ },
97
+ props: ['row'],
98
+ ready () {
99
+ this.$refs.paged.$refs.criteria.search()
100
+ },
101
+ methods: {
102
+ search (args) {
103
+ args.condition = `${args.condition} and f_userfiles_id='${this.row.f_userfiles_id}'`
104
+ this.model.search(args.condition, args.model)
105
+ }
106
+ },
107
+ watch: {
108
+ // 监听查询对象
109
+ 'row' (val) {
110
+ if (this.row != null) {
111
+ this.$refs.paged.$refs.criteria.search()
112
+ }
113
+ }
114
+ }
115
+ }
116
+ </script>
117
+
package/src/main.js CHANGED
@@ -2,7 +2,7 @@ import Vue from 'vue'
2
2
  import all from 'vue-client/src/all'
3
3
  import App from './App'
4
4
  import system from 'system-clients/src/system'
5
- import FilialeSale from './filiale/meihekou/sale'
5
+ import FilialeSale from './filiale/xihu/sale'
6
6
  import sale from './sale'
7
7
  import address from 'address-client/src/address'
8
8
  import ldap from 'ldap-clients/src/ldap'
@@ -1,2 +0,0 @@
1
- #Wed Apr 02 14:48:19 CST 2025
2
- gradle.version=5.2.1
File without changes
package/businessNew.json DELETED
@@ -1,201 +0,0 @@
1
- {
2
- "机表收费":
3
- {
4
- "weight": 1,
5
- "routeName": "machine-charge"
6
- },
7
- "物联网表收费": {
8
- "weight": 1,
9
- "routeName": "iot-meter-center"
10
- },
11
- "复拆表":
12
- {
13
- "weight": 9,
14
- "routeName": "remove-table-cancel"
15
- },
16
- "转气":
17
- {
18
- "weight": 9,
19
- "routeName": "gas-move"
20
- },
21
- "启用":
22
- {
23
- "weight": 7,
24
- "routeName": "enable-manage"
25
- },
26
- "其他欠费":
27
- {
28
- "weight": 4,
29
- "routeName": "other-charge-bypay"
30
- },
31
- "其他收费":
32
- {
33
- "weight": 4,
34
- "routeName": "other-charge-new"
35
- },
36
- "过户":
37
- {
38
- "weight": 10,
39
- "routeName": "transfer-manage"
40
- },
41
- "预存收费":
42
- {
43
- "weight": 9,
44
- "routeName": "deposit-charge"
45
- },
46
- "发折":
47
- {
48
- "weight": 5,
49
- "routeName": "send-book"
50
- },
51
- "停用":
52
- {
53
- "weight": 7,
54
- "routeName": "disable-manage"
55
- },
56
- "迁表":
57
- {
58
- "weight": 9,
59
- "routeName": "move-meter"
60
- },
61
- "其他退款":
62
- {
63
- "weight": 9,
64
- "routeName": "bzj-cancel"
65
- },
66
- "清表退款": {
67
- "weight": 7,
68
- "routeName": "drop-table-refund"
69
- },
70
- "换表&清零":
71
- {
72
- "weight": 5,
73
- "routeName": "change-meter"
74
- },
75
- "数码表收费":
76
- {
77
- "weight": 1,
78
- "routeName": "digital-charge"
79
- },
80
- "气费(其他)":
81
- {
82
- "weight": 9,
83
- "routeName": "over-use-charge"
84
- },
85
- "机表发卡":
86
- {
87
- "weight": 8,
88
- "routeName": "show-card-sell-gas-jb"
89
- },
90
- "补气购气":
91
- {
92
- "weight": 0,
93
- "routeName": "change_fill_sendcard"
94
- },
95
- "调价补差":
96
- {
97
- "weight": -1,
98
- "routeName": "compensation-manage"
99
- },
100
- "气费退款":
101
- {
102
- "weight": 6,
103
- "routeName": "refund-manage"
104
- },
105
- "补费扣费":
106
- {
107
- "weight": 8,
108
- "routeName": "deduction-manage"
109
- },
110
- "拆表":
111
- {
112
- "weight": 9,
113
- "routeName": "remove-table"
114
- },
115
- "卡表收费":
116
- {
117
- "weight": 1,
118
- "routeName": "card-meter-center"
119
- },
120
- "换表补气":
121
- {
122
- "weight": 3,
123
- "routeName": "change-meter-add-gas"
124
- },
125
- "其他补气":
126
- {
127
- "weight": 3,
128
- "routeName": "other-gas"
129
- },
130
- "掉气补气":
131
- {
132
- "weight": 3,
133
- "routeName": "off-gas-add-gas"
134
- },
135
- "补卡":
136
- {
137
- "weight": 2,
138
- "routeName": "replace-card-manage"
139
- },
140
- "发卡售气":
141
- {
142
- "weight": 1,
143
- "routeName": "show-card-sell-gas"
144
- },
145
- "物联网表发卡":
146
- {
147
- "weight": 8,
148
- "routeName": "send-card-web"
149
- },
150
- "无卡收费": {
151
- "weight": 2,
152
- "routeName": "no-card-meter-center"
153
- },
154
- "赠气":
155
- {
156
- "weight": 9,
157
- "routeName": "iotTable"
158
- },
159
- "卡表赠气":
160
- {
161
- "weight": 9,
162
- "routeName": "icTable"
163
- },
164
- "物联网抄表冲正":
165
- {
166
- "weight": 9,
167
- "routeName": "iot_read_correction"
168
- },
169
- "初始化卡": {
170
- "weight": 9,
171
- "routeName": "reset-show-card-gas"
172
- },
173
- "增值服务管理": {
174
- "weight": 9,
175
- "routeName": "value-addser-show"
176
- },
177
- "壁挂炉信息变更": {
178
- "weight": 9,
179
- "routeName": "wallheating-info-add"
180
- },
181
- "保险": {
182
- "weight": 9,
183
- "routeName": "insurance-add"
184
- },
185
- "档案完善": {
186
- "weight": 9,
187
- "routeName": "files_complete"
188
- },
189
- "封堵": {
190
- "weight": 10,
191
- "routeName": "user-plugging"
192
- },
193
- "余量补差": {
194
- "weight": 10,
195
- "routeName": "margin-compensation"
196
- },
197
- "解除封堵": {
198
- "weight": 10,
199
- "routeName": "secure-plugging"
200
- }
201
- }