apply-clients 4.1.2 → 4.1.4-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.
Files changed (37) hide show
  1. package/index.html +1 -1
  2. package/package.json +7 -5
  3. package/src/apply.js +81 -66
  4. package/src/applyAndroid.js +41 -39
  5. package/src/components/app_apply/AppChargeManagement.vue +619 -0
  6. package/src/components/app_apply/ApplyInfo.vue +56 -56
  7. package/src/components/app_apply/ApplyToDoList.vue +148 -165
  8. package/src/components/app_apply/PlaceControler.vue +258 -258
  9. package/src/components/app_apply/ServiceControl.vue +280 -267
  10. package/src/components/product/ApplyCharge/ApplyChargeList.vue +251 -251
  11. package/src/components/product/Function/InstallInfoSelect.vue +40 -27
  12. package/src/components/product/Function/StopApplyCrrdList.vue +1 -1
  13. package/src/components/product/Function/functions/StopInstall.vue +7 -1
  14. package/src/components/product/Process/ExplorationSelect.vue +82 -59
  15. package/src/components/product/Process/Processes/InstallationDetails.vue +276 -246
  16. package/src/components/product/Process/Processes/UserFireInfo.vue +409 -0
  17. package/src/components/product/Process/Processes/addressAndUserinfoManagement.vue +1458 -99
  18. package/src/components/product/Process/Processes/addressAndUserinfoManagementPro.vue +1221 -0
  19. package/src/components/product/Process/Processes/chargeManagement.vue +47 -53
  20. package/src/components/product/Process/Processes/devicesDetails.vue +834 -0
  21. package/src/components/product/Process/Processes/materialshoufei.vue +182 -0
  22. package/src/components/product/Process/Processes/printCharge.vue +130 -130
  23. package/src/components/product/Process/Processes/recordcancel.vue +50 -0
  24. package/src/components/product/Process/Processes/selectUserinfo.vue +199 -0
  25. package/src/components/product/Process/Processes/splitMaterial.vue +358 -0
  26. package/src/components/product/Process/Service/ServiceControl.vue +1126 -703
  27. package/src/components/product/Process/ShowBackReason.vue +1 -0
  28. package/src/components/product/ServiceView.vue +82 -35
  29. package/src/components/product/Stop/StopApply.vue +101 -0
  30. package/src/components/product/Stop/StopApplyList.vue +257 -0
  31. package/src/components/product/Supervisory/SupervisoryControl.vue +7 -4
  32. package/src/components/product/Supervisory/SupervisoryList.vue +40 -27
  33. package/src/components/product/Supervisory/SupervisoryhCart.vue +0 -7
  34. package/src/components/product/Test.vue +8 -4
  35. package/src/components/product/VueUtils/ApplyUpload.vue +4 -4
  36. package/src/main.js +25 -23
  37. package/static/images/lefticon//347/237/251/345/275/2421183.png +0 -0
@@ -0,0 +1,182 @@
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>&times;</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>数量</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
+ let http = new HttpResetClass()
124
+ this.addItem.f_process_id = this.selectdata.f_process_id
125
+ this.addItem.f_apply_num = this.selectdata.f_apply_num
126
+ this.addItem.f_operator = this.$login.f.name
127
+ this.addItem.f_department = this.$login.f.f_parentname
128
+ this.addItem.f_filiale = this.$login.f.f_fengongsi
129
+ await http.load('POST', 'rs/logic/addmaterialshoufei', this.addItem, {resolveMsg: '保存成功', rejectMsg: '保存失败'})
130
+ .then((res) => {
131
+ this.close()
132
+ this.load()
133
+ })
134
+ },
135
+ deleteItem(row) {
136
+ let http = new HttpResetClass()
137
+ http.load('POST', 'rs/logic/delectmaterialshoufei', {data: row}, {resolveMsg: null, rejectMsg: '删除失败'})
138
+ .then((res) => {
139
+ this.load()
140
+ })
141
+ },
142
+ //新增收费 开启模态框
143
+ addshoufei() {
144
+ this.showpay = true
145
+ },
146
+ modifyParam(row) {
147
+ this.addItem = row
148
+ this.showpay = true
149
+ },
150
+ // 金额计算
151
+ smalltoBIG() {
152
+ let num = Number(this.addItem.f_material_price) * Number(this.addItem.f_material_number)
153
+ return num
154
+ }
155
+ },
156
+ watch: {}
157
+ }
158
+
159
+ </script>
160
+
161
+
162
+ <style scoped>
163
+ table {
164
+ border-collapse: collapse;
165
+ border-spacing: 0;
166
+ width: 100%;
167
+ }
168
+
169
+ table, td, th {
170
+ padding: 0;
171
+ border: 1px solid black
172
+ }
173
+
174
+ tr {
175
+ height: 34px;
176
+ }
177
+
178
+ #DynamicForm input {
179
+ text-align: center;
180
+ }
181
+
182
+ </style>
@@ -1,130 +1,130 @@
1
- <template>
2
- <style id="style">
3
- td{
4
- height: 50px;
5
- width: 40px;
6
- text-align: center;
7
- }
8
- table{
9
- margin: auto;
10
- width: 100%;
11
- border-collapse:collapse;
12
- border: 1px solid black;
13
- }
14
- h1,h2,h3,h4,h5,h6 {
15
- text-align: center;
16
- }
17
- .date{
18
- float: left;
19
- padding-left: 30px;
20
- }
21
- .number{
22
- float: right;
23
- padding-right: 30px;
24
- }
25
- .rescue{
26
- float: left;
27
- padding: 0 30px 0 40px;
28
- }
29
- .service{
30
- float: left;
31
- }
32
- .payee{
33
- float: right;
34
- padding-right: 30px;
35
- }
36
- </style>
37
- <div id="print">
38
- <h4>陕西中盛天然气有限公司收费单</h4>
39
- <span>
40
- <p class="date">{{new Date().Format('yyyy-MM-dd HH:mm:ss')}}</p>
41
- <p class="number">缴费编号:{{ charge.f_charge_number }}</p>
42
- </span>
43
- <table border="1">
44
- <tr>
45
- <td>用户姓名</td>
46
- <td colspan="2">{{ f_user_name }}</td>
47
- <td>联系电话</td>
48
- <td>{{ f_user_phone }}</td>
49
- </tr>
50
- <tr>
51
- <td>地&emsp;&emsp;址</td>
52
- <td colspan="4">{{ f_useraddress }}</td>
53
- </tr>
54
- <tr>
55
- <td>收费项目</td>
56
- <td colspan="2">安装费</td>
57
- <td>收费方式</td>
58
- <td>{{ charge.f_payment_method }}</td>
59
- </tr>
60
- <tr>
61
- <td>收费金额</td>
62
- <td>{{ charge.f_charge_money }}</td>
63
- <td>大&emsp;&emsp;写</td>
64
- <td colspan="2">{{ charge.f_amount_words }}</td>
65
- </tr>
66
- <tr>
67
- <td>备&emsp;&emsp;注</td>
68
- <td colspan="4">{{ selectdata.f_entry_name }}</td>
69
- </tr>
70
- </table>
71
- <span>
72
- <p class="rescue">
73
- <!-- 抢险电话:5835588-->
74
- </p>
75
- <p class="service">
76
- <!-- 服务电话:3718002-->
77
- </p>
78
- <p class="payee">收款人:{{ charge.f_charge_collectors }}</p>
79
- </span>
80
- </div>
81
-
82
- <print-element v-show="false" v-ref:print id='print' styleid='style'
83
- top='40' left='60' width='100%' height='100%'>
84
- </print-element>
85
- </template>
86
-
87
- <script>
88
- import { isEmpty } from '../../../Util'
89
- Date.prototype.Format = function (fmt) {
90
- var o = {
91
- "M+": this.getMonth() + 1, //月份
92
- "d+": this.getDate(), //日
93
- "H+": this.getHours(), //小时
94
- "m+": this.getMinutes(), //分
95
- "s+": this.getSeconds(), //秒
96
- "q+": Math.floor((this.getMonth() + 3) / 3), //季度
97
- "S": this.getMilliseconds() //毫秒
98
- };
99
- if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
100
- for (var k in o)
101
- if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
102
- return fmt;
103
- }
104
- export default {
105
- title: '打印收费票据',
106
- props: ['selectdata', 'charge'],
107
- data () {
108
- return {}
109
- },
110
- ready () {
111
- console.log('------------------打印-------------------')
112
- console.log()
113
- },
114
- computed: {
115
- f_user_name () {
116
- return isEmpty(this.charge.f_user_name) ? this.selectdata.f_contact : this.charge.f_user_name
117
- },
118
- f_user_phone () {
119
- return isEmpty(this.charge.f_user_phone) ? this.selectdata.f_phone : this.charge.f_user_phone
120
- },
121
- f_useraddress () {
122
- return isEmpty(this.charge.f_useraddress) ? `武安市${this.selectdata.f_street}${this.selectdata.f_residential_area}` : `武安市${this.charge.f_useraddress}`
123
- }
124
- }
125
- }
126
- </script>
127
-
128
- <style scoped>
129
-
130
- </style>
1
+ <template>
2
+ <style id="style">
3
+ td{
4
+ height: 50px;
5
+ width: 40px;
6
+ text-align: center;
7
+ }
8
+ table{
9
+ margin: auto;
10
+ width: 100%;
11
+ border-collapse:collapse;
12
+ border: 1px solid black;
13
+ }
14
+ h1,h2,h3,h4,h5,h6 {
15
+ text-align: center;
16
+ }
17
+ .date{
18
+ float: left;
19
+ padding-left: 30px;
20
+ }
21
+ .number{
22
+ float: right;
23
+ padding-right: 30px;
24
+ }
25
+ .rescue{
26
+ float: left;
27
+ padding: 0 30px 0 40px;
28
+ }
29
+ .service{
30
+ float: left;
31
+ }
32
+ .payee{
33
+ float: right;
34
+ padding-right: 30px;
35
+ }
36
+ </style>
37
+ <div id="print">
38
+ <h4>陕西中盛天然气有限公司收费单</h4>
39
+ <span>
40
+ <p class="date">{{new Date().Format('yyyy-MM-dd HH:mm:ss')}}</p>
41
+ <p class="number">缴费编号:{{ charge.f_charge_number }}</p>
42
+ </span>
43
+ <table border="1">
44
+ <tr>
45
+ <td>用户姓名</td>
46
+ <td colspan="2">{{ f_user_name }}</td>
47
+ <td>联系电话</td>
48
+ <td>{{ f_user_phone }}</td>
49
+ </tr>
50
+ <!-- <tr>-->
51
+ <!-- <td>地&emsp;&emsp;址</td>-->
52
+ <!-- <td colspan="4">{{ f_useraddress }}</td>-->
53
+ <!-- </tr>-->
54
+ <tr>
55
+ <td>收费项目</td>
56
+ <td colspan="2">安装费</td>
57
+ <td>收费方式</td>
58
+ <td>{{ charge.f_payment_method }}</td>
59
+ </tr>
60
+ <tr>
61
+ <td>收费金额</td>
62
+ <td>{{ charge.f_charge_money }}</td>
63
+ <td>大&emsp;&emsp;写</td>
64
+ <td colspan="2">{{ charge.f_amount_words }}</td>
65
+ </tr>
66
+ <tr>
67
+ <td>备&emsp;&emsp;注</td>
68
+ <td colspan="4">{{ selectdata.f_entry_name }}</td>
69
+ </tr>
70
+ </table>
71
+ <span>
72
+ <p class="rescue">
73
+ <!-- 抢险电话:5835588-->
74
+ </p>
75
+ <p class="service">
76
+ <!-- 服务电话:3718002-->
77
+ </p>
78
+ <p class="payee">收款人:{{ charge.f_charge_collectors }}</p>
79
+ </span>
80
+ </div>
81
+
82
+ <print-element v-show="false" v-ref:print id='print' styleid='style'
83
+ top='40' left='60' width='100%' height='100%'>
84
+ </print-element>
85
+ </template>
86
+
87
+ <script>
88
+ import { isEmpty } from '../../../Util'
89
+ Date.prototype.Format = function (fmt) {
90
+ var o = {
91
+ "M+": this.getMonth() + 1, //月份
92
+ "d+": this.getDate(), //日
93
+ "H+": this.getHours(), //小时
94
+ "m+": this.getMinutes(), //分
95
+ "s+": this.getSeconds(), //秒
96
+ "q+": Math.floor((this.getMonth() + 3) / 3), //季度
97
+ "S": this.getMilliseconds() //毫秒
98
+ };
99
+ if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
100
+ for (var k in o)
101
+ if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
102
+ return fmt;
103
+ }
104
+ export default {
105
+ title: '打印收费票据',
106
+ props: ['selectdata', 'charge'],
107
+ data () {
108
+ return {}
109
+ },
110
+ ready () {
111
+ console.log('------------------打印-------------------')
112
+ console.log()
113
+ },
114
+ computed: {
115
+ f_user_name () {
116
+ return isEmpty(this.charge.f_user_name) ? this.selectdata.f_contact : this.charge.f_user_name
117
+ },
118
+ f_user_phone () {
119
+ return isEmpty(this.charge.f_user_phone) ? this.selectdata.f_phone : this.charge.f_user_phone
120
+ },
121
+ f_useraddress () {
122
+ return isEmpty(this.charge.f_useraddress) ? `武安市${this.selectdata.f_street}${this.selectdata.f_residential_area}` : `武安市${this.charge.f_useraddress}`
123
+ }
124
+ }
125
+ }
126
+ </script>
127
+
128
+ <style scoped>
129
+
130
+ </style>
@@ -0,0 +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()" >确&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;认</button>
15
+ <button class="btn btn-default" @click="clean()" style="wid0px;margin-left:20px;">取&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;消</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>