apply-clients 4.1.61 → 4.1.62-weinan
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/index.html +1 -1
- package/package.json +7 -5
- package/src/apply.js +81 -67
- package/src/applyAndroid.js +16 -3
- package/src/assets//345/210/240/351/231/244.png +0 -0
- package/src/components/app_apply/AppChargeManagement.vue +749 -0
- package/src/components/app_apply/AppInstallationDetails.vue +529 -0
- package/src/components/app_apply/AppProcessSupervisory.vue +214 -0
- package/src/components/app_apply/AppSupervisoryCart.vue +68 -0
- package/src/components/app_apply/AppTakePic.vue +146 -0
- package/src/components/app_apply/AppdevicesDetails.vue +867 -0
- package/src/components/app_apply/ApplyInfo.vue +1 -1
- package/src/components/app_apply/ApplyToDoList.vue +213 -86
- package/src/components/app_apply/PlaceControler.vue +51 -35
- package/src/components/app_apply/ServiceControl.vue +185 -12
- package/src/components/app_apply/ServiceView.vue +50 -11
- package/src/components/app_apply/materialshoufei.vue +243 -0
- package/src/components/product/ApplyCharge/ApplyChargeList.vue +6 -5
- package/src/components/product/Function/InstallInfoSelect.vue +40 -27
- package/src/components/product/Function/StopApplyCrrdList.vue +1 -1
- package/src/components/product/Function/functions/StopInstall.vue +7 -1
- package/src/components/product/Process/ExplorationSelect.vue +377 -355
- package/src/components/product/Process/ExplorationUser.vue +2 -2
- package/src/components/product/Process/Processes/InstallationDetails.vue +515 -452
- package/src/components/product/Process/Processes/UserFireInfo.vue +409 -0
- package/src/components/product/Process/Processes/addressAndUserinfoManagement.vue +1597 -255
- package/src/components/product/Process/Processes/addressAndUserinfoManagementPro.vue +1221 -0
- package/src/components/product/Process/Processes/chargeManagement.vue +545 -539
- package/src/components/product/Process/Processes/devicesDetails.vue +843 -0
- package/src/components/product/Process/Processes/materialshoufei.vue +187 -0
- package/src/components/product/Process/Processes/printCharge.vue +4 -4
- package/src/components/product/Process/Processes/recordcancel.vue +50 -50
- package/src/components/product/Process/Processes/selectUserinfo.vue +199 -0
- package/src/components/product/Process/Processes/splitMaterial.vue +358 -0
- package/src/components/product/Process/Service/ServiceControl.vue +709 -82
- package/src/components/product/Process/ShowBackReason.vue +1 -0
- package/src/components/product/ServiceView.vue +816 -790
- package/src/components/product/Stop/StopApply.vue +101 -0
- package/src/components/product/Stop/StopApplyList.vue +266 -0
- package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +6 -0
- package/src/components/product/Supervisory/SupervisoryControl.vue +124 -119
- package/src/components/product/Supervisory/SupervisoryList.vue +40 -27
- package/src/components/product/Supervisory/SupervisoryhCart.vue +0 -7
- package/src/components/product/Test.vue +8 -4
- package/src/components/product/VueUtils/ApplyUpload.vue +22 -7
- package/src/main.js +2 -0
- package/static/images/lefticon//347/237/251/345/275/2421183.png +0 -0
- package/dist.rar +0 -0
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="col-sm-12" style="margin: 20px 0px;">
|
|
3
|
+
<data-grid :model="model" v-ref:grid class="list_area table_sy" style="padding: 0px">
|
|
4
|
+
<template partial='head'>
|
|
5
|
+
<tr>
|
|
6
|
+
<th>序号</th>
|
|
7
|
+
<th>材料名称</th>
|
|
8
|
+
<th>单价(元)</th>
|
|
9
|
+
<th>数量</th>
|
|
10
|
+
<th>金额</th>
|
|
11
|
+
<th>备注</th>
|
|
12
|
+
<th v-if="$parent.$parent.mark === 0">
|
|
13
|
+
<button type="button" class="btn btn-info head-but" @click="$parent.$parent.addshoufei()" >新增收费
|
|
14
|
+
</button>
|
|
15
|
+
</th>
|
|
16
|
+
</tr>
|
|
17
|
+
</template>
|
|
18
|
+
<template partial='body'>
|
|
19
|
+
<td style="text-align: center">{{ $index + 1}}</td>
|
|
20
|
+
<td style="text-align: center">{{ row.f_material_name}}</td>
|
|
21
|
+
<td style="text-align: center">{{ row.f_material_price}}</td>
|
|
22
|
+
<td style="text-align: center">{{ row.f_material_number}}</td>
|
|
23
|
+
<td style="text-align: center">{{ row.f_fee}}</td>
|
|
24
|
+
<td style="text-align: center">{{ row.f_remarks}}</td>
|
|
25
|
+
<td class="flex-around" v-if="$parent.$parent.mark === 0">
|
|
26
|
+
<button type="button" name="button" class="btn btn-link"
|
|
27
|
+
@click.stop="$parent.$parent.modifyParam(row)">修改
|
|
28
|
+
</button>
|
|
29
|
+
<button type="button" name="button" class="btn btn-link"
|
|
30
|
+
@click.stop="$parent.$parent.deleteItem(row)">删除
|
|
31
|
+
</button>
|
|
32
|
+
</td>
|
|
33
|
+
</template>
|
|
34
|
+
</data-grid>
|
|
35
|
+
<span>合计:{{ f_cost_sum }}元</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
<modal :show.sync="showpay" v-ref:modal backdrop="false">
|
|
39
|
+
<header slot="modal-header" class="modal-header">
|
|
40
|
+
<button type="button" class="close" @click="close"><span>×</span></button>
|
|
41
|
+
<h4 class="modal-title">新增材料收费</h4>
|
|
42
|
+
</header>
|
|
43
|
+
<article slot="modal-body" class="modal-body">
|
|
44
|
+
<div class="from-group">
|
|
45
|
+
<label>材料名称</label>
|
|
46
|
+
<input type="text" class="form-control" v-model="addItem.f_material_name">
|
|
47
|
+
</div>
|
|
48
|
+
<div class="from-group">
|
|
49
|
+
<label>单价(元)</label>
|
|
50
|
+
<input type="number" class="form-control" v-model="addItem.f_material_price">
|
|
51
|
+
</div>
|
|
52
|
+
<div class="from-group">
|
|
53
|
+
<label style="color: red">数量</label>
|
|
54
|
+
<input type="number" class="form-control" v-model="addItem.f_material_number">
|
|
55
|
+
</div>
|
|
56
|
+
<div class="from-group">
|
|
57
|
+
<label>金额</label>
|
|
58
|
+
<input type="number" class="form-control" v-model="addItem.f_fee" :value="smalltoBIG()" readonly>
|
|
59
|
+
</div>
|
|
60
|
+
<div class="from-group">
|
|
61
|
+
<label>备注</label>
|
|
62
|
+
<textarea type="text" rows="2" class="form-control" v-model="addItem.f_remarks"></textarea>
|
|
63
|
+
</div>
|
|
64
|
+
</article>
|
|
65
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
66
|
+
<button v-show="showpay" type="button" class="btn btn-default" @click='close'>取消</button>
|
|
67
|
+
<button v-show="showpay" type="button" class="btn btn-success" @click='addpaydipetail'>确认</button>
|
|
68
|
+
</footer>
|
|
69
|
+
</modal>
|
|
70
|
+
</template>
|
|
71
|
+
|
|
72
|
+
<script>
|
|
73
|
+
import {HttpResetClass} from 'vue-client'
|
|
74
|
+
import $ from 'jquery'
|
|
75
|
+
|
|
76
|
+
export default {
|
|
77
|
+
title: '材料收费',
|
|
78
|
+
data() {
|
|
79
|
+
return {
|
|
80
|
+
showpay: false, // 新增材料收费开关
|
|
81
|
+
model: {
|
|
82
|
+
rows: [] // 材料收费数据数组
|
|
83
|
+
},
|
|
84
|
+
addItem: {},
|
|
85
|
+
f_cost_sum: 0,
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
props: {
|
|
89
|
+
selectdata: {
|
|
90
|
+
type: Object
|
|
91
|
+
},
|
|
92
|
+
mark: {
|
|
93
|
+
type: Number,
|
|
94
|
+
default: 0
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
ready() {
|
|
98
|
+
this.load()
|
|
99
|
+
},
|
|
100
|
+
methods: {
|
|
101
|
+
async load() {
|
|
102
|
+
let http = new HttpResetClass()
|
|
103
|
+
let data = {
|
|
104
|
+
tablename: 't_material_charges',
|
|
105
|
+
condition: `f_process_id = '${this.selectdata.f_process_id}'`
|
|
106
|
+
}
|
|
107
|
+
let res = await http.load('POST', 'rs/sql/singleTable', {data: data}, {resolveMsg: null, rejectMsg: '获取数据失败'})
|
|
108
|
+
.then((res) => {
|
|
109
|
+
this.model.rows = res.data
|
|
110
|
+
this.f_cost_sum = 0
|
|
111
|
+
for (var i = 0; i < this.model.rows.length; i++) {
|
|
112
|
+
this.f_cost_sum += Number(this.model.rows[i].f_fee)
|
|
113
|
+
}
|
|
114
|
+
})
|
|
115
|
+
},
|
|
116
|
+
// 关闭模态框
|
|
117
|
+
close() {
|
|
118
|
+
this.showpay = false
|
|
119
|
+
this.addItem = null
|
|
120
|
+
},
|
|
121
|
+
// 模态框确定按钮保存数据
|
|
122
|
+
async addpaydipetail() {
|
|
123
|
+
if(this.addItem.f_material_number==''||this.addItem.f_material_number==null||this.addItem.f_material_number==0){
|
|
124
|
+
//提示数量不能为空
|
|
125
|
+
this.$showMessage('请输入数量必须大于0', 'warning')
|
|
126
|
+
return
|
|
127
|
+
}
|
|
128
|
+
let http = new HttpResetClass()
|
|
129
|
+
this.addItem.f_process_id = this.selectdata.f_process_id
|
|
130
|
+
this.addItem.f_apply_num = this.selectdata.f_apply_num
|
|
131
|
+
this.addItem.f_operator = this.$login.f.name
|
|
132
|
+
this.addItem.f_department = this.$login.f.f_parentname
|
|
133
|
+
this.addItem.f_filiale = this.$login.f.f_fengongsi
|
|
134
|
+
await http.load('POST', 'rs/logic/addmaterialshoufei', this.addItem, {resolveMsg: '保存成功', rejectMsg: '保存失败'})
|
|
135
|
+
.then((res) => {
|
|
136
|
+
this.close()
|
|
137
|
+
this.load()
|
|
138
|
+
})
|
|
139
|
+
},
|
|
140
|
+
deleteItem(row) {
|
|
141
|
+
let http = new HttpResetClass()
|
|
142
|
+
http.load('POST', 'rs/logic/delectmaterialshoufei', {data: row}, {resolveMsg: null, rejectMsg: '删除失败'})
|
|
143
|
+
.then((res) => {
|
|
144
|
+
this.load()
|
|
145
|
+
})
|
|
146
|
+
},
|
|
147
|
+
//新增收费 开启模态框
|
|
148
|
+
addshoufei() {
|
|
149
|
+
this.showpay = true
|
|
150
|
+
},
|
|
151
|
+
modifyParam(row) {
|
|
152
|
+
this.addItem = row
|
|
153
|
+
this.showpay = true
|
|
154
|
+
},
|
|
155
|
+
// 金额计算
|
|
156
|
+
smalltoBIG() {
|
|
157
|
+
let num = Number(this.addItem.f_material_price) * Number(this.addItem.f_material_number)
|
|
158
|
+
return num
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
watch: {}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
</script>
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
<style scoped>
|
|
168
|
+
table {
|
|
169
|
+
border-collapse: collapse;
|
|
170
|
+
border-spacing: 0;
|
|
171
|
+
width: 100%;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
table, td, th {
|
|
175
|
+
padding: 0;
|
|
176
|
+
border: 1px solid black
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
tr {
|
|
180
|
+
height: 34px;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
#DynamicForm input {
|
|
184
|
+
text-align: center;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
</style>
|
|
@@ -47,10 +47,10 @@
|
|
|
47
47
|
<td>联系电话</td>
|
|
48
48
|
<td>{{ f_user_phone }}</td>
|
|
49
49
|
</tr>
|
|
50
|
-
<tr
|
|
51
|
-
<td>地  址</td
|
|
52
|
-
<td colspan="4">{{ f_useraddress }}</td
|
|
53
|
-
</tr
|
|
50
|
+
<!-- <tr>-->
|
|
51
|
+
<!-- <td>地  址</td>-->
|
|
52
|
+
<!-- <td colspan="4">{{ f_useraddress }}</td>-->
|
|
53
|
+
<!-- </tr>-->
|
|
54
54
|
<tr>
|
|
55
55
|
<td>收费项目</td>
|
|
56
56
|
<td colspan="2">安装费</td>
|
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="auto">
|
|
3
|
-
<validator name='v'>
|
|
4
|
-
<p class="bg-info text-center" style="padding: 8px;">{{data.type}}销户</p>
|
|
5
|
-
<div class="row" style="margin-top:10px;">
|
|
6
|
-
<div class="form-group">
|
|
7
|
-
<label class=" col-sm-2 control-label">销户原因:</label>
|
|
8
|
-
<div class="col-sm-8">
|
|
9
|
-
<textarea class="form-control" v-model="model.f_cancel_reason" rows="3" placeholder="请填写原因"></textarea>
|
|
10
|
-
</div>
|
|
11
|
-
</div>
|
|
12
|
-
</div>
|
|
13
|
-
<div style="text-align:right;height:auto;margin-top:30px;margin-right:50px;">
|
|
14
|
-
<button class="btn btn-success" @click="confirm()" >确 认</button>
|
|
15
|
-
<button class="btn btn-default" @click="clean()" style="wid0px;margin-left:20px;">取 消</button>
|
|
16
|
-
</div>
|
|
17
|
-
</validator>
|
|
18
|
-
</div>
|
|
19
|
-
</template>
|
|
20
|
-
|
|
21
|
-
<script>
|
|
22
|
-
import {HttpResetClass} from "vue-client";
|
|
23
|
-
|
|
24
|
-
export default {
|
|
25
|
-
props: ['data'],
|
|
26
|
-
title: '操作撤销',
|
|
27
|
-
data () {
|
|
28
|
-
return {
|
|
29
|
-
model: {
|
|
30
|
-
f_cancel_reason: '',
|
|
31
|
-
f_user_state: this.data.f_user_state,
|
|
32
|
-
f_process_id: this.data.f_process_id
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
methods: {
|
|
37
|
-
confirm () {
|
|
38
|
-
let http = new HttpResetClass()
|
|
39
|
-
http.load('POST', 'rs/entity/t_zsrecord', model, {resolveMsg: null, rejectMsg: '数据保存失败'})
|
|
40
|
-
.then(res => {
|
|
41
|
-
this.$info('撤销成功')
|
|
42
|
-
this.$dispatch('stoprecord')
|
|
43
|
-
})
|
|
44
|
-
},
|
|
45
|
-
clean () {
|
|
46
|
-
this.$dispatch('clean', this.model)
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
</script>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="auto">
|
|
3
|
+
<validator name='v'>
|
|
4
|
+
<p class="bg-info text-center" style="padding: 8px;">{{data.type}}销户</p>
|
|
5
|
+
<div class="row" style="margin-top:10px;">
|
|
6
|
+
<div class="form-group">
|
|
7
|
+
<label class=" col-sm-2 control-label">销户原因:</label>
|
|
8
|
+
<div class="col-sm-8">
|
|
9
|
+
<textarea class="form-control" v-model="model.f_cancel_reason" rows="3" placeholder="请填写原因"></textarea>
|
|
10
|
+
</div>
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
<div style="text-align:right;height:auto;margin-top:30px;margin-right:50px;">
|
|
14
|
+
<button class="btn btn-success" @click="confirm()" >确 认</button>
|
|
15
|
+
<button class="btn btn-default" @click="clean()" style="wid0px;margin-left:20px;">取 消</button>
|
|
16
|
+
</div>
|
|
17
|
+
</validator>
|
|
18
|
+
</div>
|
|
19
|
+
</template>
|
|
20
|
+
|
|
21
|
+
<script>
|
|
22
|
+
import {HttpResetClass} from "vue-client";
|
|
23
|
+
|
|
24
|
+
export default {
|
|
25
|
+
props: ['data'],
|
|
26
|
+
title: '操作撤销',
|
|
27
|
+
data () {
|
|
28
|
+
return {
|
|
29
|
+
model: {
|
|
30
|
+
f_cancel_reason: '',
|
|
31
|
+
f_user_state: this.data.f_user_state,
|
|
32
|
+
f_process_id: this.data.f_process_id
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
methods: {
|
|
37
|
+
confirm () {
|
|
38
|
+
let http = new HttpResetClass()
|
|
39
|
+
http.load('POST', 'rs/entity/t_zsrecord', model, {resolveMsg: null, rejectMsg: '数据保存失败'})
|
|
40
|
+
.then(res => {
|
|
41
|
+
this.$info('撤销成功')
|
|
42
|
+
this.$dispatch('stoprecord')
|
|
43
|
+
})
|
|
44
|
+
},
|
|
45
|
+
clean () {
|
|
46
|
+
this.$dispatch('clean', this.model)
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
</script>
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div style="margin-bottom: 20px" class="form-group select-overspread">
|
|
3
|
+
<label class="control-label-justify control-label col-sm-3">选择用户</label>
|
|
4
|
+
<div class="col-sm-10" >
|
|
5
|
+
<button class="button_search button_spacing" type="button" style="width: max-content;position: absolute" @click="openSelect" :disabled="mark === 1">选择</button>
|
|
6
|
+
</div>
|
|
7
|
+
</div>
|
|
8
|
+
|
|
9
|
+
<modal v-if="showselect" :show.sync="showselect" width="80%" title="用户信息" v-ref:modal large backdrop="false">
|
|
10
|
+
<article slot="modal-body" class="modal-body" style="height: 600px!important;">
|
|
11
|
+
<criteria-paged :model="model" v-ref:cp>
|
|
12
|
+
<criteria partial='criteria' @condition-changed='$parent.$parent.searchCondition' v-ref:cri>
|
|
13
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
|
14
|
+
<div class="row">
|
|
15
|
+
<div class="form-group col-sm-3">
|
|
16
|
+
<label class="font_normal_body">客户编号:</label>
|
|
17
|
+
<input type="text" style="width:60%" class="input_search" placeholder='客户编号' v-model="model.f_userinfo_code"
|
|
18
|
+
v-on:keyup.enter="search"
|
|
19
|
+
condition="ui.f_userinfo_code = '{}'">
|
|
20
|
+
</div>
|
|
21
|
+
<div class="form-group col-sm-3">
|
|
22
|
+
<label class="font_normal_body">客户地址:</label>
|
|
23
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_address"
|
|
24
|
+
v-on:keyup.enter="search" condition="ua.f_address like '%{}%'" placeholder='客户地址'>
|
|
25
|
+
</div>
|
|
26
|
+
<div class="form-group col-sm-3">
|
|
27
|
+
<label class="font_normal_body">卡号:</label>
|
|
28
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_card_id"
|
|
29
|
+
v-on:keyup.enter="search" condition="uf.f_card_id like '%{}%'" placeholder='卡号'>
|
|
30
|
+
</div>
|
|
31
|
+
<div class="form-group col-sm-3 button-range">
|
|
32
|
+
<button class="button_search button_spacing" @click.prevent="search" v-el:cx>查询</button>
|
|
33
|
+
<button class="button_clear button_spacing" @click.prevent="$parent.$parent.$parent.clear()">清空</button>
|
|
34
|
+
<div
|
|
35
|
+
:class="{'button_shrink_top':$parent.$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.$parent.criteriaShow}"
|
|
36
|
+
@click="$parent.$parent.$parent.criteriaShow = !$parent.$parent.$parent.criteriaShow"
|
|
37
|
+
class="button_spacing"
|
|
38
|
+
style="float: right">
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
<div class="row" v-show="$parent.$parent.$parent.criteriaShow">
|
|
43
|
+
<div class="form-group col-sm-3">
|
|
44
|
+
<label class="font_normal_body">客户名称:</label>
|
|
45
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_user_name"
|
|
46
|
+
v-on:keyup.enter="search" condition="ui.f_user_name like '%{}%'" placeholder='客户名称'>
|
|
47
|
+
</div>
|
|
48
|
+
<div class="form-group col-sm-3">
|
|
49
|
+
<label class="font_normal_body">客户电话:</label>
|
|
50
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_user_phone"
|
|
51
|
+
v-on:keyup.enter="search" condition="ui.f_user_phone = '{}'" placeholder='客户电话'>
|
|
52
|
+
</div>
|
|
53
|
+
<div class="form-group col-sm-3">
|
|
54
|
+
<label class="font_normal_body">表号:</label>
|
|
55
|
+
<input type="text" style="width:60%" class="input_search" v-model="model.f_meternumber"
|
|
56
|
+
v-on:keyup.enter="search" condition="uf.f_meternumber like '%{}%'" placeholder='表号'>
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
</criteria>
|
|
61
|
+
<data-grid :model="model" partial='list' v-ref:grid class="list_area table_sy" style="height: 100%">
|
|
62
|
+
<template partial='head'>
|
|
63
|
+
<tr>
|
|
64
|
+
<th style="white-space: nowrap;">序号</th>
|
|
65
|
+
<th style="white-space: nowrap;">客户编号</th>
|
|
66
|
+
<th style="white-space: nowrap;">客户名称</th>
|
|
67
|
+
<th style="white-space: nowrap;">客户电话</th>
|
|
68
|
+
<th style="white-space: nowrap;">卡号</th>
|
|
69
|
+
<th style="white-space: nowrap;">表号</th>
|
|
70
|
+
<th style="white-space: nowrap;">地址信息</th>
|
|
71
|
+
<th style="white-space: nowrap;">选择</th>
|
|
72
|
+
</tr>
|
|
73
|
+
</template>
|
|
74
|
+
<template partial='body'>
|
|
75
|
+
<tr >
|
|
76
|
+
<td style="text-align: center;">
|
|
77
|
+
<nobr><font>{{$index+1}}</font></nobr>
|
|
78
|
+
</td>
|
|
79
|
+
<td style="text-align: center;">
|
|
80
|
+
<nobr><font>{{ row.f_userinfo_code }}</font></nobr>
|
|
81
|
+
</td>
|
|
82
|
+
<td style="text-align: center;">
|
|
83
|
+
<nobr><font>{{ row.f_user_name }}</font></nobr>
|
|
84
|
+
</td>
|
|
85
|
+
<td style="text-align: center;">
|
|
86
|
+
<nobr><font>{{ row.f_user_phone }}</font></nobr>
|
|
87
|
+
</td>
|
|
88
|
+
<td style="text-align: center;">
|
|
89
|
+
<nobr><font>{{ row.f_card_id }}</font></nobr>
|
|
90
|
+
</td>
|
|
91
|
+
<td style="text-align: center;">
|
|
92
|
+
<nobr><font>{{ row.f_meternumber }}</font></nobr>
|
|
93
|
+
</td>
|
|
94
|
+
<td style="text-align: center;">
|
|
95
|
+
<nobr><font>{{ row.f_address }}</font></nobr>
|
|
96
|
+
</td>
|
|
97
|
+
<td style="text-align: center;">
|
|
98
|
+
<nobr><font>
|
|
99
|
+
<button type="button" name="button" class="button_export" @click.prevent="$parent.$parent.$parent.$parent.select(row)">确认选择</button>
|
|
100
|
+
</font></nobr>
|
|
101
|
+
</td>
|
|
102
|
+
</tr>
|
|
103
|
+
</template>
|
|
104
|
+
</data-grid>
|
|
105
|
+
</criteria-paged>
|
|
106
|
+
</article>
|
|
107
|
+
<footer slot="modal-footer" class="modal-footer">
|
|
108
|
+
</footer>
|
|
109
|
+
</modal>
|
|
110
|
+
</template>
|
|
111
|
+
<script>
|
|
112
|
+
import {PagedList} from 'vue-client'
|
|
113
|
+
import Vue from 'vue'
|
|
114
|
+
|
|
115
|
+
export default {
|
|
116
|
+
title: '选择用户',
|
|
117
|
+
props: {
|
|
118
|
+
selectdata: {
|
|
119
|
+
type: Object
|
|
120
|
+
},
|
|
121
|
+
mark: {
|
|
122
|
+
type: Number,
|
|
123
|
+
default: 0
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
data () {
|
|
127
|
+
return {
|
|
128
|
+
showselect: false,
|
|
129
|
+
model: new PagedList('rs/sql/applyGetUserinfos', 20, null),
|
|
130
|
+
criteriaShow: false
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
ready () {
|
|
134
|
+
},
|
|
135
|
+
methods: {
|
|
136
|
+
select (row) {
|
|
137
|
+
this.$dispatch('selectUserinfo', row)
|
|
138
|
+
|
|
139
|
+
this.showselect = false
|
|
140
|
+
},
|
|
141
|
+
searchCondition (args) {
|
|
142
|
+
args.condition = `${args.condition} and ui.f_filialeid = '${this.$login.f.orgid}'`
|
|
143
|
+
|
|
144
|
+
this.model.search(args.condition, args.model)
|
|
145
|
+
},
|
|
146
|
+
clear () {
|
|
147
|
+
Object.keys(this.$refs.cp.$refs.cri.model).forEach((key) => {
|
|
148
|
+
this.$refs.cp.$refs.cri.model[key] = null
|
|
149
|
+
})
|
|
150
|
+
},
|
|
151
|
+
openSelect () {
|
|
152
|
+
this.showselect = true
|
|
153
|
+
setTimeout(() => {
|
|
154
|
+
this.$refs.cp.$refs.cri.search()
|
|
155
|
+
}, 100)
|
|
156
|
+
}
|
|
157
|
+
},
|
|
158
|
+
events: {
|
|
159
|
+
},
|
|
160
|
+
computed: {
|
|
161
|
+
},
|
|
162
|
+
watch: {
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
</script>
|
|
166
|
+
<style scoped>
|
|
167
|
+
.control-label-justify {
|
|
168
|
+
display: inline-block;
|
|
169
|
+
vertical-align: top;
|
|
170
|
+
width: 110px;
|
|
171
|
+
text-align: justify;
|
|
172
|
+
font-family: PingFang-SC-Bold;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.control-label-justify::after {
|
|
176
|
+
content: "";
|
|
177
|
+
display: inline-block;
|
|
178
|
+
width: 100%;
|
|
179
|
+
overflow: hidden;
|
|
180
|
+
height: 0;
|
|
181
|
+
}
|
|
182
|
+
.input_view{
|
|
183
|
+
padding: 8px;
|
|
184
|
+
background-color: #ffffff;
|
|
185
|
+
border-radius: 2px;
|
|
186
|
+
border: solid 1px #c7c7c7!important;
|
|
187
|
+
color: #333333!important;
|
|
188
|
+
font-size: 15px!important;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
.input_view[readonly]{
|
|
192
|
+
border: 1px solid #DDD!important;
|
|
193
|
+
color:#ACA899!important;
|
|
194
|
+
}
|
|
195
|
+
.input_view:disabled{
|
|
196
|
+
border: 1px solid #DDD!important;
|
|
197
|
+
color:#ACA899!important;
|
|
198
|
+
}
|
|
199
|
+
</style>
|