manage-client 3.3.255 → 3.3.257
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 +4 -4
- package/src/filiale/hantou/GetNoMetereadData.vue +1 -1
- package/src/filiale/hantou/LostContactAnalysisList.vue +1 -1
- package/src/filiale/hantou/MeterExceptionList.vue +1 -1
- package/src/filiale/hantou/NewGasStatistics.vue +1 -1
- package/src/filiale/hantou/NewQueryInstruct.vue +606 -0
- package/src/filiale/hantou/RechargeList.vue +371 -0
- package/src/filiale/hantou/ReportDataQuery.vue +1 -1
- package/src/filiale/hantou/UserLostContactAnalysis.vue +1 -1
- package/src/filiale/hantou/WebhandMonthGas.vue +819 -0
- package/src/filiale/hantou/webmeterManage.js +6 -0
- package/src/filiale/rongcheng/RecordInfoQuery.vue +391 -350
- package/src/filiale/rongcheng/exportConfig.js +4 -1
- package/src/filiale/shexian/config/exportConfig.js +1 -2
- package/src/filiale/xihu/ManageBusSummary.vue +239 -0
- package/src/filiale/xihu/ResSelectGroup.vue +203 -0
- package/src/filiale/xihu/sale.js +5 -0
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div id="unit" class="flex-row">
|
|
3
|
+
<div class="basic-main">
|
|
4
|
+
<div class="flex" v-if="!show">
|
|
5
|
+
<criteria-paged :model="model" v-ref:paged>
|
|
6
|
+
<criteria partial='criteria' v-ref:criteria @condition-changed='$parent.search'>
|
|
7
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
|
8
|
+
<div class="row" >
|
|
9
|
+
<div class="col-sm-2">
|
|
10
|
+
<label class="font_normal_body">组织机构</label>
|
|
11
|
+
<res-select :initresid="$parent.$parent.org"
|
|
12
|
+
style="width:60%"
|
|
13
|
+
@res-select="$parent.$parent.getorg"
|
|
14
|
+
:is-mul=false
|
|
15
|
+
restype='organization'>
|
|
16
|
+
</res-select>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="col-sm-2">
|
|
19
|
+
<label class="font_normal_body">表 钢 号 </label>
|
|
20
|
+
<input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_meternumber" placeholder='表钢号'
|
|
21
|
+
condition="s.f_meternumber like '%{}%'" v-next-el='meternumber' v-el:meternumber
|
|
22
|
+
>
|
|
23
|
+
</div>
|
|
24
|
+
<!-- <div class="col-sm-2">-->
|
|
25
|
+
<!-- <label class="font_normal_body">组织机构</label>-->
|
|
26
|
+
<!-- <res-select :initresid="$parent.$parent.orgid"-->
|
|
27
|
+
<!-- style="width:60%"-->
|
|
28
|
+
<!-- @res-select="$parent.$parent.getRes"-->
|
|
29
|
+
<!-- restype='organization'>-->
|
|
30
|
+
<!-- </res-select>-->
|
|
31
|
+
<!-- </div>-->
|
|
32
|
+
<div class="col-sm-2">
|
|
33
|
+
<label class="font_normal_body">客户编号</label>
|
|
34
|
+
<input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_userinfo_code" placeholder='客户编号'
|
|
35
|
+
condition="u.f_userinfo_code like '%{}%'" v-next-el='f_userinfo_code' v-el:meternumber
|
|
36
|
+
>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="col-sm-2">
|
|
39
|
+
<label class="font_normal_body">客户名称</label>
|
|
40
|
+
<input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_username" placeholder='客户名称'
|
|
41
|
+
condition="s.f_user_name like '%{}%'" v-next-el='userid' v-el:username>
|
|
42
|
+
</div>
|
|
43
|
+
|
|
44
|
+
<div class="span" style="float:right;margin-top:10px">
|
|
45
|
+
<button class="button_search button_spacing" @click="search()">查询</button>
|
|
46
|
+
<button class="button_clear button_spacing" @click="$parent.$parent.clearmsg">清空</button>
|
|
47
|
+
<export-excel :data="$parent.$parent.getCondition" class="button_export button_spacing"
|
|
48
|
+
:field="$parent.$parent.getfield"
|
|
49
|
+
:header="$parent.$parent.other"
|
|
50
|
+
sqlurl="api/af-revenue/logic/openapi/exportfile" sql-name="rechargeInstruct" template-name='充值指令查询'
|
|
51
|
+
:choose-col="true"></export-excel>
|
|
52
|
+
<div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
<div class="row" v-show="$parent.$parent.criteriaShow">
|
|
56
|
+
<div class="col-sm-2">
|
|
57
|
+
<label class="font_normal_body">客户地址</label>
|
|
58
|
+
<input @keyup.enter="search" style="width:60%" type="text" class="input_search" v-model="model.f_address" placeholder='客户地址'
|
|
59
|
+
condition="s.f_address like '%{}%'" v-next-el='userid' v-el:username>
|
|
60
|
+
</div>
|
|
61
|
+
<div class="col-sm-2 form-group">
|
|
62
|
+
<label class="font_normal_body">客户类型</label>
|
|
63
|
+
<v-select :value.sync="model.f_user_type"
|
|
64
|
+
@change="$parent.$parent.userTypeChange()"
|
|
65
|
+
:options='$parent.$parent.usertypes' placeholder='请选择' v-model="model.f_user_type"
|
|
66
|
+
condition="s.f_user_type = '{}'"
|
|
67
|
+
close-on-select></v-select>
|
|
68
|
+
</div>
|
|
69
|
+
<div class="col-sm-2 form-group">
|
|
70
|
+
<label class="font_normal_body">用气性质</label>
|
|
71
|
+
<v-select :value.sync="model.f_gasproperties" v-model="model.f_gasproperties"
|
|
72
|
+
:options='$parent.$parent.gasproperties' placeholder='请选择'
|
|
73
|
+
condition="s.f_gasproperties = '{}'"
|
|
74
|
+
closfe-on-select></v-select>
|
|
75
|
+
</div>
|
|
76
|
+
<div class="col-sm-2 form-group">
|
|
77
|
+
<label class="font_normal_body">气表品牌</label>
|
|
78
|
+
<v-select :value.sync="model.f_meter_brand"
|
|
79
|
+
v-model="model.f_meter_brand"
|
|
80
|
+
:options="$parent.$parent.meterbrands"
|
|
81
|
+
condition="s.f_meter_brand = '{}'"
|
|
82
|
+
close-on-select></v-select>
|
|
83
|
+
</div>
|
|
84
|
+
<div class="col-sm-2 form-group" >
|
|
85
|
+
<label class="font_normal_body" >生成指令时间</label>
|
|
86
|
+
<datepicker style="width: 60%" placeholder="生成指令时间"
|
|
87
|
+
:value.sync="model.f_start1_date"
|
|
88
|
+
v-model="model.f_start1_date"
|
|
89
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
90
|
+
condition="i.f_instruct_date >= '{}'"
|
|
91
|
+
></datepicker>
|
|
92
|
+
</div>
|
|
93
|
+
<div class="col-sm-2 form-group" >
|
|
94
|
+
<label class="font_normal_body"> 至 </label>
|
|
95
|
+
<datepicker style="width: 60%" placeholder="生成指令时间"
|
|
96
|
+
:value.sync="model.f_end1_date"
|
|
97
|
+
v-model="model.f_end1_date"
|
|
98
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
99
|
+
condition="i.f_instruct_date <= '{}'"
|
|
100
|
+
></datepicker>
|
|
101
|
+
</div>
|
|
102
|
+
<div class="col-sm-2 form-group" >
|
|
103
|
+
<label class="font_normal_body" >充值时间</label>
|
|
104
|
+
<datepicker style="width: 60%" placeholder="充值时间"
|
|
105
|
+
:value.sync="model.f_start_date"
|
|
106
|
+
v-model="model.f_start_date"
|
|
107
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
108
|
+
condition="s.f_operate_date >= '{}'"
|
|
109
|
+
></datepicker>
|
|
110
|
+
</div>
|
|
111
|
+
<div class="col-sm-2 form-group" >
|
|
112
|
+
<label class="font_normal_body"> 至 </label>
|
|
113
|
+
<datepicker style="width: 60%" placeholder="充值时间"
|
|
114
|
+
:value.sync="model.f_end_date"
|
|
115
|
+
v-model="model.f_end_date"
|
|
116
|
+
:format="'yyyy-MM-dd HH:mm:ss'"
|
|
117
|
+
condition="s.f_operate_date <= '{}'"
|
|
118
|
+
></datepicker>
|
|
119
|
+
</div>
|
|
120
|
+
</div>
|
|
121
|
+
</div>
|
|
122
|
+
</criteria>
|
|
123
|
+
<data-grid :model="model" partial='list' v-ref:grid class="list_area table_sy">
|
|
124
|
+
<template partial='head'>
|
|
125
|
+
<tr>
|
|
126
|
+
<th><nobr>客户编号</nobr></th>
|
|
127
|
+
<th><nobr>表号</nobr></th>
|
|
128
|
+
<th><nobr>客户姓名</nobr></th>
|
|
129
|
+
<th><nobr>客户电话</nobr></th>
|
|
130
|
+
<th><nobr>客户地址</nobr></th>
|
|
131
|
+
|
|
132
|
+
<th><nobr>收费类型</nobr></th>
|
|
133
|
+
<th><nobr>收费状态</nobr></th>
|
|
134
|
+
<th><nobr>实收金额</nobr></th>
|
|
135
|
+
|
|
136
|
+
<th><nobr>指令状态</nobr></th>
|
|
137
|
+
<th><nobr>表返回状态</nobr></th>
|
|
138
|
+
<th><nobr>生成指令时间</nobr></th>
|
|
139
|
+
|
|
140
|
+
</tr>
|
|
141
|
+
</template>
|
|
142
|
+
<template partial='body' partial='list'>
|
|
143
|
+
<tr >
|
|
144
|
+
<td style="text-align: left;"><nobr> <span >{{row.f_userinfo_code}}</span></nobr></td>
|
|
145
|
+
<td style="text-align: left;"><nobr>{{row.f_meternumber}}</nobr></td>
|
|
146
|
+
<td style="text-align: left;"><nobr>{{row.f_user_name}}</nobr></td>
|
|
147
|
+
<td style="text-align: left;"><nobr>{{row.f_user_phone}}</nobr></td>
|
|
148
|
+
<td style="text-align: center;"><nobr>{{row.f_address}}</nobr></td>
|
|
149
|
+
|
|
150
|
+
<td style="text-align:center"><nobr>{{row.f_type}}</nobr></td>
|
|
151
|
+
<td style="text-align:center"><nobr>{{row.f_state}}</nobr></td>
|
|
152
|
+
<th style="text-align:center"><nobr>{{row.f_collection}}</nobr></th>
|
|
153
|
+
<th style="text-align:center"><nobr>{{row.f_instruct_state}}</nobr></th>
|
|
154
|
+
<th style="text-align:center"><nobr>{{row.f_receive_state}}</nobr></th>
|
|
155
|
+
<th style="text-align:center"><nobr>{{row.f_instruct_date}}</nobr></th>
|
|
156
|
+
|
|
157
|
+
<!-- <th style="text-align:center"><nobr>{{row.f_nsturalgas_data}}</nobr></th>-->
|
|
158
|
+
<!-- <th style="text-align:center"><nobr><span @click="$parent.$parent.$parent.showdetail(row.f_nsturalgas_data)"><a>查看</a></span></nobr></th>-->
|
|
159
|
+
<!-- <th style="text-align:center">-->
|
|
160
|
+
<!-- <button type="button" class="button_search button_spacing width-60" @click="$parent.$parent.$parent.showdetail(row.f_nsturalgas_data)">查看</button>-->
|
|
161
|
+
<!-- </th>-->
|
|
162
|
+
</tr>
|
|
163
|
+
</template>
|
|
164
|
+
<template partial='foot'></template>
|
|
165
|
+
</data-grid>
|
|
166
|
+
</criteria-paged>
|
|
167
|
+
</div>
|
|
168
|
+
</div>
|
|
169
|
+
<div class="flex" style="width:99%;height:98%;margin-bottom:0px" v-if="show">
|
|
170
|
+
<user-info-detail-manage-new :f_userinfo_id="rowdata.f_userinfo_id" @cancel-main="cancel"></user-info-detail-manage-new>
|
|
171
|
+
</div>
|
|
172
|
+
</div>
|
|
173
|
+
</template>
|
|
174
|
+
|
|
175
|
+
<script>
|
|
176
|
+
import {HttpResetClass, PagedList} from 'vue-client'
|
|
177
|
+
import exportConfig from '../../components/sale/config/exportConfig'
|
|
178
|
+
import plugins from '../../plugins/GetLoginInfoService'
|
|
179
|
+
import defaultPrint from '../../components/sale/config/DefaultPrint'
|
|
180
|
+
import * as Util from '../../Util'
|
|
181
|
+
|
|
182
|
+
let readySomething = async function (self) {
|
|
183
|
+
await self.$MagLoadParams.loadParam()
|
|
184
|
+
self.initParams()
|
|
185
|
+
self.sumsmodel = self.$refs.paged.$refs.grid.model.sums;
|
|
186
|
+
}
|
|
187
|
+
export default {
|
|
188
|
+
title: '充值指令查询',
|
|
189
|
+
data () {
|
|
190
|
+
return {
|
|
191
|
+
show:false,
|
|
192
|
+
detail24: false,
|
|
193
|
+
org:[this.$login.f.orgid],
|
|
194
|
+
orgcondition: ' and s.f_orgid = ' + this.$login.f.orgid,
|
|
195
|
+
//f_filialeid: this.$login.f.f_orgid,
|
|
196
|
+
detaillist: [],
|
|
197
|
+
meterbrands: [],
|
|
198
|
+
prices: [],
|
|
199
|
+
gasproperties:[],
|
|
200
|
+
condition:'',
|
|
201
|
+
rowdata:{},
|
|
202
|
+
other: [],
|
|
203
|
+
sumsmodel: {},
|
|
204
|
+
orgid:[this.$login.f.orgid],
|
|
205
|
+
criteriaShow:false,
|
|
206
|
+
orgCondtionStr: '',
|
|
207
|
+
model: new PagedList('api/af-revenue/sql/rechargeInstruct', 50,{})
|
|
208
|
+
}
|
|
209
|
+
},
|
|
210
|
+
ready () {
|
|
211
|
+
readySomething(this).then(() => {
|
|
212
|
+
this.$emit('ready')
|
|
213
|
+
}).catch((error) => {
|
|
214
|
+
this.$emit('error', error)
|
|
215
|
+
})
|
|
216
|
+
this.$refs.paged.$refs.criteria.model.f_start_date = Util.addDate(new Date(),-1).substring(0,10) + ' 00:00:00'
|
|
217
|
+
this.$refs.paged.$refs.criteria.model.f_end_date = Util.addDate(new Date(),-1).substring(0,10) + ' 23:59:59'
|
|
218
|
+
},
|
|
219
|
+
methods: {
|
|
220
|
+
getotherfooter() {
|
|
221
|
+
this.other = [];
|
|
222
|
+
|
|
223
|
+
let firstLine = [`导出时间: ${this.$login.toStandardTimeString()}`];
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
let secondLine = [
|
|
227
|
+
`开始时间(充值): ${this.$refs.paged.$refs.criteria.model.f_start_date}`,
|
|
228
|
+
`结束时间(充值): ${this.$refs.paged.$refs.criteria.model.f_end_date}`
|
|
229
|
+
];
|
|
230
|
+
|
|
231
|
+
this.other.push(firstLine);
|
|
232
|
+
this.other.push(secondLine);
|
|
233
|
+
|
|
234
|
+
console.log('Header Data:', this.other);
|
|
235
|
+
},
|
|
236
|
+
initParams() {
|
|
237
|
+
// 初始化气表品牌
|
|
238
|
+
let brandArr = []
|
|
239
|
+
this.$MagGetSaleParam.getGasbrand().forEach((item) => {
|
|
240
|
+
let temp = {}
|
|
241
|
+
if(item.value.f_meter_type==='物联网表'){
|
|
242
|
+
temp.label = item.label
|
|
243
|
+
temp.value = item.value.f_meter_brand
|
|
244
|
+
brandArr.push(temp )
|
|
245
|
+
}
|
|
246
|
+
})
|
|
247
|
+
this.meterbrands = [{label: '全部', value: ''}, ...brandArr]
|
|
248
|
+
//初始化气表价格
|
|
249
|
+
this.prices = this.$MagGetSaleParam.getPrices();
|
|
250
|
+
},
|
|
251
|
+
async updateParams() {
|
|
252
|
+
await this.$MagLoadParams.loadParam(this.f_filialeid)
|
|
253
|
+
this.initParams()
|
|
254
|
+
},
|
|
255
|
+
getorg(obj) {
|
|
256
|
+
if(plugins.convertToIn(obj)!==null&&plugins.convertToIn(obj)!==''){
|
|
257
|
+
this.orgcondition = " and s.f_orgid in " + plugins.convertToIn(obj)
|
|
258
|
+
}else{
|
|
259
|
+
this.orgcondition = " and s.f_orgid = " + this.$login.f.orgid
|
|
260
|
+
}
|
|
261
|
+
},
|
|
262
|
+
userTypeChange () {
|
|
263
|
+
this.gasproperties=[]
|
|
264
|
+
if(this.$refs.paged.$refs.criteria.model !==null) {
|
|
265
|
+
this.$refs.paged.$refs.criteria.model.f_gasproperties=''
|
|
266
|
+
this.gasproperties = this.$appdata.getParam(this.$refs.paged.$refs.criteria.model.f_user_type[0])
|
|
267
|
+
}
|
|
268
|
+
else{
|
|
269
|
+
this.gasproperties =[{label: '全部', value: ''}]
|
|
270
|
+
}
|
|
271
|
+
},
|
|
272
|
+
showdetail(val) {
|
|
273
|
+
console.log('24detail==', val)
|
|
274
|
+
if(val){
|
|
275
|
+
let detail = eval("("+val+")")
|
|
276
|
+
this.detaillist = detail
|
|
277
|
+
this.detail24 = true
|
|
278
|
+
}else{
|
|
279
|
+
console.log('无数据')
|
|
280
|
+
}
|
|
281
|
+
},
|
|
282
|
+
close() {
|
|
283
|
+
this.detail24 = false
|
|
284
|
+
},
|
|
285
|
+
hidden(){
|
|
286
|
+
this.criteriaShow = !this.criteriaShow
|
|
287
|
+
},
|
|
288
|
+
cancel() {
|
|
289
|
+
this.show = false
|
|
290
|
+
},
|
|
291
|
+
clearmsg () {
|
|
292
|
+
Object.keys(this.$refs.paged.$refs.criteria.model).forEach((key) => {
|
|
293
|
+
this.$refs.paged.$refs.criteria.model[key] = []
|
|
294
|
+
})
|
|
295
|
+
},
|
|
296
|
+
getRes (obj) {
|
|
297
|
+
this.orgCondtionStr = condition
|
|
298
|
+
this.orgname = obj.orgnames[0]
|
|
299
|
+
this.depname = obj.depnames[0]
|
|
300
|
+
},
|
|
301
|
+
showmsg(obj){
|
|
302
|
+
this.rowdata=obj
|
|
303
|
+
this.show=true
|
|
304
|
+
},
|
|
305
|
+
|
|
306
|
+
search (args) {
|
|
307
|
+
args.condition = `${args.condition}`+this.orgcondition
|
|
308
|
+
console.log(args.condition+"args.condition")
|
|
309
|
+
this.condition = args.condition
|
|
310
|
+
this.model.search(args.condition, args.model)
|
|
311
|
+
// console.log(this.$refs.paged.$refs.grid.model.sums+"--this.$refs.paged.$refs.grid.model.sums")
|
|
312
|
+
// this.sumsmodel = this.$refs.paged.$refs.grid.model.sums
|
|
313
|
+
// args.condition = `${args.condition}`
|
|
314
|
+
// if (this.orgcondition)
|
|
315
|
+
// args.condition = `${args.condition}` + this.orgcondition
|
|
316
|
+
// else
|
|
317
|
+
// args.condition = `${args.condition}` + 'and m.f_orgid in ' + '(' + this.$login.f.orgid + ')'
|
|
318
|
+
// this.model.search(args.condition, args.model)
|
|
319
|
+
}
|
|
320
|
+
},
|
|
321
|
+
watch: {
|
|
322
|
+
'orgCondtionStr'(val) {
|
|
323
|
+
let res = val.match(/'(.*?)'/)
|
|
324
|
+
console.log('正则提取:',res && res[1])
|
|
325
|
+
if (res) {
|
|
326
|
+
this.f_filialeid = res[1]
|
|
327
|
+
// this.updateParams()
|
|
328
|
+
}
|
|
329
|
+
},
|
|
330
|
+
sumsmodel:{
|
|
331
|
+
handler: function(val) {
|
|
332
|
+
this.getotherfooter();
|
|
333
|
+
},
|
|
334
|
+
deep: true
|
|
335
|
+
},
|
|
336
|
+
},
|
|
337
|
+
computed: {
|
|
338
|
+
getfield () {
|
|
339
|
+
return exportConfig.RechargeInstruct
|
|
340
|
+
},
|
|
341
|
+
usertypes() {
|
|
342
|
+
return [{label: ' 全部 ', value: ''}, ...this.$appdata.getParam('用户类型')]
|
|
343
|
+
},
|
|
344
|
+
getCondition () {
|
|
345
|
+
var con = ""
|
|
346
|
+
if (this.orgCondtionStr) {
|
|
347
|
+
con = `${this.$refs.paged.$refs.criteria.condition} and s.f_orgid in (${this.orgCondtionStr})`
|
|
348
|
+
}
|
|
349
|
+
else {
|
|
350
|
+
con = `${this.$refs.paged.$refs.criteria.condition}and s.f_orgid in ('${this.$login.f.orgid}' )`
|
|
351
|
+
}
|
|
352
|
+
return {
|
|
353
|
+
condition: con
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
</script>
|
|
359
|
+
|
|
360
|
+
<style>
|
|
361
|
+
.mystyle{
|
|
362
|
+
margin-left:80px;
|
|
363
|
+
}
|
|
364
|
+
.datapanel {
|
|
365
|
+
color: #333;
|
|
366
|
+
background-color: white;
|
|
367
|
+
box-shadow: darkgrey 0.5px 0.5px 0.5px 0.5px ;
|
|
368
|
+
padding: 10px 10px 10px 10px;
|
|
369
|
+
border-radius:15px;
|
|
370
|
+
}
|
|
371
|
+
</style>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
|
8
8
|
<div class="row">
|
|
9
9
|
<div class="col-sm-2 form-group">
|
|
10
|
-
<label class="font_normal_body"
|
|
10
|
+
<label class="font_normal_body">客户编号</label>
|
|
11
11
|
<input type="text" style="width:60%" class="input_search" v-model="model.f_userinfo_code"
|
|
12
12
|
condition="f_userinfo_code = '{}' " placeholder="客户编号">
|
|
13
13
|
</div>
|
|
@@ -274,7 +274,7 @@
|
|
|
274
274
|
|
|
275
275
|
|
|
276
276
|
<td style="text-align: center;"><nobr>
|
|
277
|
-
<span
|
|
277
|
+
<span>{{row.f_userinfo_code}}</span>
|
|
278
278
|
</nobr> </td>
|
|
279
279
|
<td style="text-align:center"><nobr>{{row.f_user_name}}</nobr></td>
|
|
280
280
|
<td>
|