sale-client 3.5.141 → 3.5.143

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.
@@ -13,7 +13,9 @@ var compiler = webpack(config)
13
13
  var bendi = 'http://121.36.106.17:8400', bendi1 = 'http://121.36.106.17:8400/'
14
14
  // 公司测试服务
15
15
  // var fuwu = 'http://192.168.50.4:8400'
16
- var fuwu = 'http://39.108.82.124:8400/'
16
+ // var fuwu = 'http://39.99.85.14:8400'
17
+ var fuwu = 'http://39.108.82.124:8400'
18
+ // var fuwu = 'http://47.93.217.125:8400'
17
19
  // var fuwu = 'http://121.36.106.17:8400/'
18
20
  // 铜川正式
19
21
  // var fuwu = 'http://61.134.55.234:9999/'
@@ -127,7 +129,7 @@ var proxyTable = {
127
129
  target: fuwu
128
130
  },
129
131
  '/webmeter': {
130
- target: 'http://39.108.82.124:8400/'
132
+ target: 'http://192.168.50.4:8450'
131
133
  },
132
134
  '/rs': {
133
135
  // target: 'http://192.168.30.63:8081/'
@@ -184,7 +186,7 @@ app.use(hotMiddleware)
184
186
  // serve pure static assets
185
187
  app.use('/static', express.static('./static'))
186
188
 
187
- module.exports = app.listen(8085, function (err) {
189
+ module.exports = app.listen(8089, function (err) {
188
190
  if (err) {
189
191
  console.log(err)
190
192
  return
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "3.5.141",
3
+ "version": "3.5.143",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -88,7 +88,7 @@
88
88
  "style-loader": "^0.20.3",
89
89
  "system-clients": "3.2.25",
90
90
  "url-loader": "^0.5.7",
91
- "vue-client": "1.24.73",
91
+ "vue-client": "1.24.76",
92
92
  "vue-clipboard2": "0.3.1",
93
93
  "vue-hot-reload-api": "^1.2.0",
94
94
  "vue-html-loader": "^1.0.0",
@@ -128,8 +128,11 @@ export default {
128
128
  this.cardInfo = null
129
129
  },
130
130
  clearCondition () {
131
+
131
132
  Object.keys(this.$refs.list.$refs.paged.$refs.cri.model).forEach((key) => {
132
- this.$refs.list.$refs.paged.$refs.cri.model[key] = ''
133
+ console.log("key",key)
134
+ console.log("对应啥数据",this.$refs.list.$refs.paged.$refs.cri.model[key])
135
+ this.$refs.list.$refs.paged.$refs.cri.model[key] = []
133
136
  })
134
137
  // console.log('清数据。。。', this.$refs.list.$refs.paged.$refs.grid.model.rows)
135
138
  // this.$set('$refs.list.$refs.paged.$refs.grid.model.rows', [])
@@ -174,7 +174,7 @@
174
174
  meterbrand: [],
175
175
  newmeterinfo: {},
176
176
  confirmEditcheck: false,
177
- meterstyle: []
177
+ meterstyle: [],
178
178
  }
179
179
  },
180
180
  ready () {
@@ -0,0 +1,290 @@
1
+ <template>
2
+ <div class="span">
3
+ <validator name='v' style="overflow-y: auto">
4
+ <form novalidate class="form-horizontal select-overspread" @valid="confirmEditcheck = true" @invalid="confirmEditcheck = false">
5
+ <div class="row auto">
6
+ <div style="margin-top: 2%">
7
+ <img style="margin-top: -2px;margin-left: 2px" src="./../../../../static/images/lefticon/矩形1183.png">
8
+ <a style="font-size: 16px;font-weight: 500;">表计信息</a>&nbsp;<a style="color: #999999;text-decoration: none"></a>
9
+ </div>
10
+ <div class="col-sm-6" :class="[$v.f_meternumber.required ? 'has-error' : '']">
11
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;表号&nbsp;&nbsp;&nbsp;</label>
12
+ <input type="text" v-model="newmeterinfo.f_meternumber" @blur="onbulrbunmber($event)" class="input_search" style="width:60%" v-validate:f_meternumber='{required: true }' placeholder="表号">
13
+ </div>
14
+
15
+ <div class="col-sm-6" :class="[$v.f_imei.required ? 'has-error' : '']">
16
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;IMEI码&nbsp;&nbsp;&nbsp;</label>
17
+ <input type="text" v-model="newmeterinfo.f_imei" class="input_search" style="width:60%" v-validate:f_imei='{required: true }' placeholder="IMEI码">
18
+ </div>
19
+ <div class="col-sm-6" >
20
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;IMSI码&nbsp;&nbsp;&nbsp;</label>
21
+ <input type="text" v-model="newmeterinfo.f_imsi" class="input_search" style="width:60%" placeholder="IMSI码">
22
+ </div>
23
+ <div class="col-sm-6" :class="[$v.brand.required ? 'has-error' : '']">
24
+ <label class="font_normal_body" title="参数:气表类型2">&nbsp;&nbsp;&nbsp;气表类型</label>
25
+ <input type="text" v-show="false" v-model="$refs.brand.selectedItems" v-validate:brand='{required: true }'>
26
+ <v-select style="width:60%" title="气表类型2"
27
+ placeholder='气表类型'
28
+ :value.sync="newmeterinfo.f_metertype"
29
+ v-model="newmeterinfo.f_metertype"
30
+ :options='metertype'
31
+ close-on-select
32
+ :value-single="true" v-ref:brand> </v-select>
33
+ </div>
34
+ <div class="col-sm-6" :class="[$v.f_meter_brand.required ? 'has-error' : '']">
35
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;气表品牌</label>
36
+ <input type="text" v-show="false" v-model="newmeterinfo.f_meter_brand"
37
+ v-validate:f_meter_brand='{required: true }'>
38
+ <v-select
39
+ placeholder='气表品牌'
40
+ :value.sync="newmeterinfo.f_meter_brand"
41
+ style="width:60%"
42
+ :value-single="true"
43
+ v-model="newmeterinfo.f_meter_brand"
44
+ :options='meterbrand'
45
+ close-on-select>
46
+ </v-select>
47
+ </div>
48
+ <div class="col-sm-6" :class="[$v.f_meter_style.required ? 'has-error' : '']">
49
+ <label class="font_normal_body" >&nbsp;&nbsp;&nbsp;气表型号</label>
50
+ <input type="text" v-show="false" v-model="newmeterinfo.f_meter_style"
51
+ v-validate:f_meter_style='{required: true }'>
52
+ <v-select style="width:60%"
53
+ placeholder='气表型号'
54
+ :value.sync="newmeterinfo.f_meter_style"
55
+ v-model="newmeterinfo.f_meter_style"
56
+ :options='meterstyle'
57
+ close-on-select
58
+ :value-single="true"> </v-select>
59
+ </div>
60
+ <div class="col-sm-6" >
61
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;表计电话</label>
62
+ <input type="text" v-model="newmeterinfo.f_meter_phone" class="input_search" style="width:60%" placeholder="表计电话">
63
+ </div>
64
+ <div class="col-sm-12" >
65
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;设备地址</label>
66
+ <input type="text" v-model="newmeterinfo.f_device_address" class="input_search" style="width:80%" placeholder="设备地址">
67
+ </div>
68
+ <div class="col-sm-6" >
69
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;是否领用</label>
70
+ <v-select style="width:60%"
71
+ placeholder='是否领用'
72
+ :value.sync="newmeterinfo.f_is_receive"
73
+ v-model="newmeterinfo.f_is_receive"
74
+ :options='isReceive'
75
+ disabled
76
+ close-on-select
77
+ :value-single="true"> </v-select>
78
+ </div>
79
+ <div class="col-sm-6" >
80
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;气表年限</label>
81
+ <input type="text" v-model="newmeterinfo.f_years" class="input_search" style="width:60%" placeholder="气表年限">
82
+ </div>
83
+ <div class="col-sm-6" >
84
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;生产日期</label>
85
+ <datepicker placeholder="生产日期" style="width: 60%"
86
+ v-model="newmeterinfo.f_manufacture_date"
87
+ :value.sync="newmeterinfo.f_manufacture_date"
88
+ :format="'yyyy-MM-dd HH:mm:ss'">
89
+ </datepicker>
90
+ <!-- <input type="text" v-model="newmeterinfo.f_manufacture_date" class="input_search" style="width:60%" placeholder="生产日期">-->
91
+ </div>
92
+
93
+ <div class="col-sm-6" >
94
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;批次号&nbsp;&nbsp;&nbsp;</label>
95
+ <input type="text" v-model="newmeterinfo.f_batch_number" class="input_search" style="width:60%" placeholder="批次号">
96
+ </div>
97
+ <div class="col-sm-6" >
98
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;终端名称</label>
99
+ <input type="text" v-model="newmeterinfo.f_terminal_id" class="input_search" style="width:60%" placeholder="终端名称">
100
+ </div>
101
+
102
+ <div class="col-sm-6" >
103
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;设备号&nbsp;&nbsp;&nbsp;</label>
104
+ <input type="text" v-model="newmeterinfo.f_device_id" class="input_search" style="width:60%" placeholder="设备号">
105
+ </div>
106
+ <div class="col-sm-6" >
107
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;阀控标识</label>
108
+ <input type="text" v-model="newmeterinfo.f_valvemark" class="input_search" style="width:60%" placeholder="阀控标识">
109
+ </div>
110
+ <div class="col-sm-6" >
111
+ <label class="font_normal_body" style="color: red" title="参数:表通道类型">表通道类型</label>
112
+ <!-- <input type="text" v-model="newmeterinfo.f_iot_type" class="input_search" style="width:60%" placeholder="表通道类型">-->
113
+ <v-select style="width:60%"
114
+ placeholder='表通道类型'
115
+ :value.sync="newmeterinfo.f_iot_type"
116
+ v-model="newmeterinfo.f_iot_type"
117
+ :options='iottype'
118
+ close-on-select
119
+ :value-single="true"> </v-select>
120
+ </div>
121
+ <div class="col-sm-6" >
122
+ <label class="font_normal_body">表通讯序号</label>
123
+ <input type="text" v-model="newmeterinfo.f_telecomm_no" class="input_search" style="width:60%" placeholder="表通讯序号">
124
+ </div>
125
+ <div class="col-sm-6" >
126
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;采购人</label>
127
+ <input type="text" v-model="newmeterinfo.f_purchaser" class="input_search" style="width:60%" placeholder="采购人">
128
+ </div>
129
+ <div class="col-sm-6" >
130
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;采购时间</label>
131
+ <datepicker placeholder="采购时间" style="width: 60%"
132
+ v-model="newmeterinfo.f_purchase_date"
133
+ :value.sync="newmeterinfo.f_purchase_date"
134
+ :format="'yyyy-MM-dd HH:mm:ss'">
135
+ </datepicker>
136
+ </div>
137
+ <div class="col-sm-6" >
138
+ <label class="font_normal_body" title="表具状态">表具状态</label>
139
+ <!-- <input type="text" v-model="newmeterinfo.f_iot_type" class="input_search" style="width:60%" placeholder="表通道类型">-->
140
+ <v-select style="width:60%"
141
+ placeholder='表具状态'
142
+ :value.sync="newmeterinfo.f_distribution_state"
143
+ v-model="newmeterinfo.f_distribution_state"
144
+ :options='meterstate'
145
+ close-on-select
146
+ :value-single="true"> </v-select>
147
+ </div>
148
+ </div>
149
+ <div class="auto row">
150
+ <div style="margin-top: 2%">
151
+ <img style="margin-top: -2px;margin-left: 2px" src="./../../../../static/images/lefticon/矩形1183.png">
152
+ <a style="font-size: 16px;font-weight: 500;">厂商信息</a>&nbsp;<a style="color: #999999;text-decoration: none"></a>
153
+ </div>
154
+ <div class="col-sm-6" >
155
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;气表厂家</label>
156
+ <input type="text" v-model="newmeterinfo.f_manufacturers" class="input_search" style="width:60%" placeholder="气表厂家">
157
+ </div>
158
+ <div class="col-sm-6" >
159
+ <label class="font_normal_body">&nbsp;&nbsp;&nbsp;厂商代码</label>
160
+ <input type="text" v-model="newmeterinfo.f_vender" class="input_search" style="width:60%" placeholder="厂商代码">
161
+ </div>
162
+ </div>
163
+ <div class="col-sm-12" style="text-align:right;height:auto;margin-top:6px;">
164
+ <button class="button_search" type="button" @click="confirmEdit()" :disabled="!confirmEditcheck">确认</button>
165
+ <button class="button_clear" type="button" @click="close()">取消</button>
166
+ </div>
167
+ </form>
168
+ </validator>
169
+ </div>
170
+ </template>
171
+
172
+
173
+ <script>
174
+ let readyGen = async function (self) {
175
+ await self.$LoadParams.loadParam()
176
+ self.initQueryParam()
177
+ // self.reflash()
178
+ }
179
+ export default {
180
+ title: '表计信息修改',
181
+ props: ['oldmeter', 'f_filialeid'],
182
+ data () {
183
+ return {
184
+ row: {},
185
+ meterbrand: [],
186
+ newmeterinfo: {},
187
+ confirmEditcheck: false,
188
+ meterstyle: [],
189
+ meterstate: [{label: '维修', value: '维修'},{label: '退回', value: '退回'},{label: '挂表', value: '挂表'},{label: '报废', value: '报废'}]
190
+ }
191
+ },
192
+ ready () {
193
+ this.newmeterinfo = Object.assign({}, {}, this.oldmeter)
194
+ this.newmeterinfo.f_is_receive = this.newmeterinfo.f_is_receive !== '是' ? '否' : '是'
195
+ readyGen(this)
196
+ },
197
+ watch: {
198
+ 'oldmeter' () {
199
+ this.newmeterinfo = Object.assign({}, {}, this.oldmeter)
200
+ },
201
+ 'newmeterinfo.f_meter_brand' () {
202
+ if (this.newmeterinfo.f_meter_brand == null || this.newmeterinfo.f_meter_brand == '') return
203
+ let gasmodels = []
204
+ let gastype = []
205
+ this.$GetSaleParam.getGasbrand().forEach((item) => {
206
+ if (item.label == this.newmeterinfo.f_meter_brand) {
207
+ gasmodels = item.value.gasmodel
208
+ }
209
+ })
210
+ gasmodels.forEach((items) => {
211
+ let temp = {}
212
+ temp.label = items.label
213
+ temp.value = items.value.f_meter_style + items.value.f_type
214
+ gastype.push(temp)
215
+ })
216
+ this.meterstyle = gastype
217
+ }
218
+ },
219
+ methods: {
220
+
221
+ initQueryParam () {
222
+ let arr = []
223
+ this.$GetSaleParam.getGasbrand().forEach((item) => {
224
+ let temp = {}
225
+ temp.label = item.label
226
+ temp.value = item.value.f_meter_brand
227
+ arr.push(temp)
228
+ })
229
+ console.log(arr)
230
+ this.meterbrand = [{label: '全部', value: ''}, ...arr]
231
+ },
232
+ async onbulrbunmber ($event) {
233
+ if ($event.target.value === '') {
234
+ return
235
+ }
236
+ let expiration = await this.$resetpost('rs/sql/singleTable_OrderBy', {data:
237
+ {orderitem: 'id',
238
+ items: 'f_meternumber',
239
+ tablename: 't_meterinfo',
240
+ condition: 'f_meternumber = \'' + $event.target.value + '\''}}, {resolveMsg: '', rejectMsg: ''})
241
+
242
+ console.log(expiration)
243
+ if (expiration.data.length !== 0) {
244
+ this.$showMessage('表号已经存在')
245
+ }
246
+ },
247
+ close () {
248
+ this.$parent.meterinfos = []
249
+ this.$dispatch('close')
250
+ },
251
+ confirmEdit () {
252
+ this.newmeterinfo.f_diameter = ''
253
+ this.newmeterinfo.f_orgid = this.$login.f.orgid
254
+ // this.newmeterinfo.f_metertype='威星民用表'
255
+ this.newmeterinfo.f_orgname = this.$login.f.orgs
256
+ this.newmeterinfo.f_depid = this.$login.f.depids
257
+ this.newmeterinfo.f_depname = this.$login.f.deps
258
+ this.newmeterinfo.f_operator = this.$login.f.name
259
+ this.newmeterinfo.f_operatorid = this.$login.f.id
260
+ if (JSON.stringify(this.oldmeter) != '{}') {
261
+ if (this.newmeterinfo.f_meternumber && this.newmeterinfo.f_imei && this.newmeterinfo.f_iot_type && this.newmeterinfo.f_meternumber !== '' && this.newmeterinfo.f_imei !== '' && this.newmeterinfo.f_iot_type !== '') {
262
+ this.$resetpost('rs/entity/t_meterinfo', this.newmeterinfo, {resolveMsg: '修改成功。', rejectMsg: '修改失败!!!请核对表号/IMSI码是否重复!'})
263
+ } else {
264
+ this.$showMessage('表号/IMEI码/表通道类型 不能为空!')
265
+ }
266
+ } else {
267
+ // 是新增
268
+ this.newmeterinfo.f_state = '待安装'
269
+ this.newmeterinfo.f_filialeid = this.f_filialeid ? this.f_filialeid : this.$login.f.orgid
270
+ this.$resetpost('rs/entity/t_meterinfo', this.newmeterinfo, {resolveMsg: '添加成功。', rejectMsg: '添加失败!!!请核对表号/IMSI码是否重复'})
271
+ }
272
+ this.$dispatch('close')
273
+ }
274
+ },
275
+ computed: {
276
+ meterbrands () {
277
+ return this.$GetSaleParam.getGasbrand()
278
+ },
279
+ iottype () {
280
+ return this.$appdata.getParam('表通道类型')
281
+ },
282
+ metertype () {
283
+ return this.$appdata.getParam('气表类型2')
284
+ },
285
+ isReceive () {
286
+ return [{label: '否', value: '否'}, {label: '是', value: '是'}]
287
+ }
288
+ }
289
+ }
290
+ </script>
@@ -0,0 +1,203 @@
1
+ <template>
2
+ <div class="auto select-overspread">
3
+ <ul class="nav nav-tabs">
4
+ <li role="presentation" class="active" style="width: 100%">
5
+ <a href="#" style="display: inline-block;">表具信息</a>
6
+ <button class="button_search button_spacing" style="float: right;" type="button" @click="reSearch">返回</button>
7
+ </li>
8
+ </ul>
9
+ <div class="row">
10
+ <div class="col-sm-6 form-group">
11
+ <label class="font_normal_body">表&emsp;&emsp;号</label>
12
+ <input type="text" class="input_search" style="width: 60%" v-model="row.f_meternumber" placeholder="表号"/>
13
+ </div>
14
+ <div class="col-sm-6 form-group">
15
+ <label class="font_normal_body">用气性质</label>
16
+ <input type="text" class="input_search" style="width: 60%" v-model="row.f_gasproperties" placeholder="表号"/>
17
+ </div>
18
+ <div class="col-sm-6 form-group">
19
+ <label class="font_normal_body">气表状态</label>
20
+ <input type="text" class="input_search" style="width: 60%" v-model="row.f_table_state" placeholder="表具状态"/>
21
+ </div>
22
+ <div class="col-sm-6 form-group">
23
+ <label class="font_normal_body">阀门状态</label>
24
+ <input type="text" class="input_search" style="width: 60%" v-model="row.f_valvestate" placeholder="表具状态"/>
25
+ </div>
26
+ <div class="col-sm-6 form-group">
27
+ <label class="font_normal_body">气表品牌</label>
28
+ <input type="text" class="input_search" style="width: 60%" v-model="row.f_meter_brand" placeholder="表具状态"/>
29
+ </div>
30
+ <div class="col-sm-6 form-group">
31
+ <label class="font_normal_body">气表型号</label>
32
+ <input type="text" class="input_search" style="width: 60%" v-model="row.f_meter_style" placeholder="表具状态"/>
33
+ </div>
34
+ </div>
35
+ <ul class="nav nav-tabs">
36
+ <li role="presentation" class="active"><a href="#">表具操作</a></li>
37
+ </ul>
38
+ <button class="button_search button_spacing" type="button" @click="openUser">开户</button>
39
+ <button v-if="row.f_meter_brand.includes('西美')&&row.f_meter_type.includes('物联网表')"
40
+ class="button_search" type="button" @click="clearBarrier">清除障碍</button>
41
+ <button class="button_search button_spacing" type="button" @click="valvecontrol">开关阀</button>
42
+ <button class="button_search button_spacing" type="button" @click="zdfk">开关自动阀控</button>
43
+ <!--阀控管理弹框-->
44
+ <modal :show.sync="valve">
45
+ <header slot="modal-header" class="modal-header">
46
+ <button type="button" class="close" @click="close()"><span>&times;</span></button>
47
+ <h4 class="modal-title" align="center">阀控管理</h4>
48
+ </header>
49
+ <article slot="modal-body" class="modal-body">
50
+ <div class="form-group " style="padding-left: 8px">
51
+ <label class="font_normal_body">操作原因</label>
52
+ <textarea class="form-control" style="width:80%" v-model="operateReason" rows="3"
53
+ placeholder="请填写操作原因"></textarea>
54
+ </div>
55
+ </article>
56
+ <footer slot="modal-footer" class="modal-footer">
57
+ <button type="button" class="btn btn-info btn-ln fr" style="margin-left:20px" @click='valveoperate("权限关阀")'>权限关阀</button>
58
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
59
+ <button type="button" class="button_search btn-ln fr" @click='valveoperate("开阀")'>开阀</button>
60
+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
61
+ <button type="button" class="btn btn-info btn-ln fr" @click='valveoperate("关阀")'>关阀</button>
62
+ </footer>
63
+ </modal>
64
+ </div>
65
+ </template>
66
+
67
+ <script>
68
+ import Vue from 'vue'
69
+
70
+ export default {
71
+ title: '操作详情',
72
+ name: 'WebMeterBatchOperate',
73
+ props: ['row'],
74
+ data () {
75
+ return {
76
+ famenShow: '',
77
+ valve: '',
78
+ operateReason: '',
79
+ famenShow1: ''
80
+ }
81
+ },
82
+ ready () {
83
+ console.log('进入操作详情')
84
+ },
85
+ methods: {
86
+ clearBarrier(){
87
+ // 地址
88
+ // 127.0.0.1:8445
89
+ // 参数
90
+ let datas = {
91
+ moduleName:"XiMeiSystem", // 固定值
92
+ content:{
93
+ tradeCode:"3015",// 固定值
94
+ appid: "yysf", // 固定值
95
+ partner: "cqsemay_bcts", // 固定值
96
+ version:"v1", // 固定值
97
+ tasked:this.getuuid(), // 任务id
98
+ notifyUrl:"http://192.168.2.10:8445/webmeter/rs/logic/XiMeiSystemCallBack", // 固定值
99
+ meterNo: this.row.f_meternumber,// 表号
100
+ signType:" MD5" //固定值
101
+ },
102
+ title: "清除异常", // 固定值
103
+ type: "清除异常", // 固定值
104
+ inputtor:this.row.f_operator, // 操作人
105
+ userId:this.row.f_userfiles_id, // 表档案ID
106
+ dataId: null // 操作记录ID
107
+ }
108
+ this.$resetpost('/webmeter/rs/logic/syncSaveSetParamsTemplate', {data: datas},{resolveMsg: `清理成功`, rejectMsg: `清理失败`}).then(res => {
109
+ })
110
+ },
111
+ getuuid(){
112
+ let uuidA = '';
113
+ var s = [];
114
+ var hexDigits = '0123456789abcdef';
115
+ for (var i = 0; i < 36; i++) {
116
+ s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
117
+ }
118
+ s[14] = '4';
119
+ s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1);
120
+ s[8] = s[13] = s[18] = s[23] = '-';
121
+ uuidA = s.join('');
122
+ return uuidA;
123
+ },
124
+ reSearch () {
125
+ this.$dispatch('research')
126
+ },
127
+ // 阀控管理
128
+ valvecontrol () {
129
+ if (this.$login.r.includes('开关阀')) {
130
+ this.valve = true
131
+ } else {
132
+ this.$showAlert('您没有开关阀权限,请联系管理员!!', 'warning', 3000)
133
+ }
134
+ },
135
+ close () {
136
+ this.valve = false
137
+ this.operateReason = ''
138
+ },
139
+ async zdfk () {
140
+ let data = {
141
+ f_userfiles_id: this.row.f_userfiles_id
142
+ }
143
+ if (this.row.f_network_valve === '关闭') {
144
+ await this.$resetpost('rs/logic/openzdfk', data, {resolveMsg: '开启自动阀控成功。', rejectMsg: '开启自动阀控失败!!!'})
145
+ } else {
146
+ await this.$resetpost('rs/logic/closezdfk', data, {resolveMsg: '关闭自动阀控成功。', rejectMsg: '关闭自动阀控失败!!!'})
147
+ }
148
+ await this.$dispatch('research')
149
+ },
150
+ // 开关阀操作
151
+ async valveoperate (oper) {
152
+ let msg = ''
153
+ let nnum
154
+ if (oper === '权限关阀'){
155
+ msg = '权限关阀'
156
+ nnum = 2
157
+ } else if (oper === '关阀') {
158
+ msg = '手动关阀'
159
+ nnum = 0
160
+ }else {
161
+ msg = '手动开阀'
162
+ nnum = 1
163
+ }
164
+ let datas = {
165
+ instructType: '阀门控制',
166
+ instructTitle: `手动${msg}`,
167
+ condition: `t_userfiles.f_userfiles_id='${this.row.f_userfiles_id}'`,
168
+ meterBrandName: this.row.f_alias,
169
+ f_instruct_state: '待发送',
170
+ inputtor: Vue.$login.f.name,
171
+ reasonInfo: this.operateReason,
172
+ meternumberf: this.row.f_meternumber,
173
+ contentData: {isOpen: nnum}
174
+ }
175
+ await this.$resetpost('rs/logic/iot_saveInstruct', {data: datas},
176
+ {warnMsg: `确定要进行${msg}操作吗?`, resolveMsg: `${msg}成功`, rejectMsg: `${msg}失败`}).then(res => {
177
+ this.valve = false
178
+ this.operateReason = ''
179
+ })
180
+ await this.$dispatch('research')
181
+ },
182
+ async openUser () {
183
+ let data = {
184
+ f_userfiles_id: this.row.f_userfiles_id
185
+ }
186
+ await this.$resetpost('rs/logic/startup', data)
187
+ await this.$dispatch('research')
188
+ }
189
+ },
190
+ computed: {
191
+ // 界面细节权限
192
+ jurisdiction () {
193
+ return this.$login.r ? this.$login.r : []
194
+ }
195
+ },
196
+ watch: {}
197
+ }
198
+ </script>
199
+
200
+ <style scoped>
201
+
202
+ </style>
203
+
@@ -25,7 +25,10 @@ let specialComp = {
25
25
 
26
26
  'user-info-detail-manage-new': (resolve) => { require(['./components/common/userinfo_detail/UserInfoDetailManageNew'], resolve) },
27
27
  // 物联网 批量开关阀
28
- 'sale-web-meter-batch-operation-valve':(resolve) => { require(['./components/common/userinfo_detail/WebMeterBatchOperationValve'], resolve) }
28
+ 'sale-web-meter-batch-operation-valve':(resolve) => { require(['./components/common/userinfo_detail/WebMeterBatchOperationValve'], resolve) },
29
+ 'sale-web-meter-operate':(resolve) => { require(['./components/common/userinfo_detail/WebMeterBatchOperate'], resolve) },
30
+
31
+ 'edit-meter-info':(resolve) => { require(['./components/EditWebMeterInfo'], resolve) }
29
32
 
30
33
  }
31
34
  exports.specialComp = specialComp
@@ -67,7 +67,7 @@ export default {
67
67
  // 对此数据进行验证
68
68
  if (await this.validateRow(obj)) {
69
69
  // 获取写卡失败记录
70
- let getUnWriteSell = await this.$SqlService.singleTable('t_sellinggas', `f_state = '有效' and f_write_card in ('写卡失败') and f_userfiles_id = '${obj.f_userfiles_id}'`)
70
+ let getUnWriteSell = await this.$SqlService.singleTable('t_sellinggas', `f_state = '有效' and f_write_card in ('写卡失败','未写卡') and f_userfiles_id = '${obj.f_userfiles_id}'`)
71
71
  console.log('获取写卡失败记录', getUnWriteSell)
72
72
  if (getUnWriteSell.data.length > 1) {
73
73
  this.$showAlert('此卡已缴费多次未写卡。请核实后处理!!', 'warning', 5000)
@@ -57,11 +57,12 @@
57
57
  if (self.data.unWriteSell) {
58
58
  if (self.data.unWriteSell.length > 0) {
59
59
  let lastselldate = self.data.unWriteSell[0].f_operate_date
60
+ let f_write_card = self.data.unWriteSell[0].f_write_card
60
61
  let date = new Date(lastselldate)
61
62
  let nowdate = new Date()
62
63
  let dateDiff = nowdate.getTime() - date.getTime();
63
64
  let times = 3600*1000*3
64
- if (dateDiff<=times){
65
+ if (dateDiff<=times || f_write_card === '未写卡'){
65
66
  console.log("加载线下写卡组件")
66
67
  self.temp.push({name: '线下写卡',
67
68
  value: {
@@ -56,9 +56,9 @@
56
56
  v-el:cc></v-select>
57
57
  </div>
58
58
  <div class="form-group col-sm-2">
59
- <label class="font_normal_body">表编号&nbsp;&nbsp;&nbsp;</label>
60
- <input type="text" style="width:60%" class="input_search" v-model="model.f_user_id" placeholder='表编号'
61
- condition="f_user_id = '{}'">
59
+ <label class="font_normal_body">表&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号&nbsp;</label>
60
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber" placeholder='表号'
61
+ condition="f_meternumber = '{}'">
62
62
  </div>
63
63
  <div class="form-group col-sm-2">
64
64
  <label class="font_normal_body">用户姓名</label>
@@ -113,7 +113,7 @@
113
113
  <tr>
114
114
  <th>序号</th>
115
115
  <th>用户编号</th>
116
- <th>表编号</th>
116
+ <th>表号</th>
117
117
  <th>用户姓名</th>
118
118
  <th>用户地址</th>
119
119
  <th>上期底数</th>
@@ -133,7 +133,7 @@
133
133
  <template partial='body'>
134
134
  <td style="text-align:center">{{$index+1}}</td>
135
135
  <td style="text-align:center">{{row.f_userinfo_code}}</td>
136
- <td style="text-align:center">{{row.f_user_id}}</td>
136
+ <td style="text-align:center">{{row.f_meternumber}}</td>
137
137
  <td style="text-align:center">{{row.f_user_name}}</td>
138
138
  <td style="text-align:center">{{row.f_address}}</td>
139
139
  <td style="text-align:center">{{row.f_last_tablebase}}</td>