apply-clients 7.1.36-yuchuan-2 → 7.1.36-yuchuan-3

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 (61) hide show
  1. package/build/dev-server.js +7 -3
  2. package/package.json +3 -3
  3. package/src/AndroidApp.vue +35 -35
  4. package/src/apply.js +12 -1
  5. package/src/applyAndroid.js +87 -83
  6. package/src/components/android/AppUpload.vue +15 -0
  7. package/src/components/android/Ignition/VentilationIgnition.vue +1 -1
  8. package/src/components/android/Process/AppExplorationUser.vue +2 -2
  9. package/src/components/android/Process/AppServiceControl.vue +1410 -1397
  10. package/src/components/android/Supervisory/AppProcessSupervisory.vue +334 -334
  11. package/src/components/android/Task/Build/BuildTsak.vue +7 -4
  12. package/src/components/android/Task/GuanXianJianShe/AppExplorationGuanXian.vue +317 -432
  13. package/src/components/android/Task/GuanXianJianShe/AppGuanXianCaiLiao.vue +237 -0
  14. package/src/components/android/Task/ShenHe/BuZhangShenHe.vue +64 -64
  15. package/src/components/android/Task/ShenHe/JingLiShenHe.vue +64 -64
  16. package/src/components/android/Task/ShiGongXinXi/AppShowBuildUser.vue +11 -7
  17. package/src/components/android/Task/UpBuild/UpBuildDui.vue +5 -2
  18. package/src/components/android/Task/UpBuild/UpBuildTsak.vue +5 -2
  19. package/src/components/android/Task/UpBuild/UpJianLi.vue +98 -98
  20. package/src/components/product/ApplyCharge/ApplyChargeList.vue +943 -606
  21. package/src/components/product/ApplyGaiXianCharge/ApplyGaiXianChargeList.vue +8 -7
  22. package/src/components/product/ApplyGuanXian/GuanXianCaiLiao.vue +236 -235
  23. package/src/components/product/ApplyGuanXian/GuanXianExplorationSelect.vue +324 -323
  24. package/src/components/product/ChongZheng/ApplyChongZhengList.vue +10 -9
  25. package/src/components/product/Function/InstallInfoSelect.vue +371 -370
  26. package/src/components/product/Function/Service/FunctionServiceControl.vue +475 -475
  27. package/src/components/product/Ignition/IgnitionList.vue +236 -236
  28. package/src/components/product/Ignition/IgnitionListManage.vue +403 -204
  29. package/src/components/product/Ignition/IgnitionRecord.vue +14 -13
  30. package/src/components/product/List/ShowAllActivity.vue +455 -0
  31. package/src/components/product/List/ShowDevices.vue +279 -279
  32. package/src/components/product/Print/BuildOrder/buildOrderList.vue +9 -8
  33. package/src/components/product/Print/BuildOrder/printBuildOrder.vue +6 -0
  34. package/src/components/product/Process/ExplorationSelect.vue +591 -581
  35. package/src/components/product/Process/ExplorationUser.vue +158 -158
  36. package/src/components/product/Process/New1ExplorationUser.vue +201 -0
  37. package/src/components/product/Process/New2ExplorationUser.vue +163 -0
  38. package/src/components/product/Process/NewExplorationSelect.vue +586 -0
  39. package/src/components/product/Process/NewExplorationUser.vue +219 -184
  40. package/src/components/product/Process/Processes/ApplyChaiChuInfo.vue +587 -587
  41. package/src/components/product/Process/Processes/InstallationDetails.vue +80 -7
  42. package/src/components/product/Process/Processes/Print/printPaymentApproval.vue +224 -224
  43. package/src/components/product/Process/Processes/newDevicesManagement.vue +26 -1
  44. package/src/components/product/Process/Processes/newInstallationDetails.vue +1 -36
  45. package/src/components/product/Process/Processes/selectOldUserinfo.vue +241 -241
  46. package/src/components/product/Process/Service/ServiceControl.vue +2166 -2162
  47. package/src/components/product/Report/ReportItems.vue +85 -79
  48. package/src/components/product/Report/apply-stair-kaifa.vue +0 -1
  49. package/src/components/product/Report/gongchengbu.vue +199 -0
  50. package/src/components/product/ServiceView.vue +644 -644
  51. package/src/components/product/Stop/StopApplyList.vue +8 -8
  52. package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +594 -594
  53. package/src/components/product/Supervisory/SupervisoryList.vue +539 -537
  54. package/src/components/product/Supervisory/YiBanSupervisoryControl.vue +114 -0
  55. package/src/components/product/Supervisory/YiBanSupervisoryList.vue +541 -0
  56. package/src/main.js +27 -27
  57. package/dist-android.7z +0 -0
  58. package/dist.7z +0 -0
  59. package/rebel.xml +0 -16
  60. package/src/components/product/Process/Processes/addressAndUserinfoManagement.vue +0 -207
  61. package/yarn-error.log +0 -9976
@@ -120,6 +120,20 @@
120
120
  </article>
121
121
  <footer slot="modal-footer" class="modal-footer"></footer>
122
122
  </modal>
123
+ <modal v-if="progressShow" :show.sync="progressShow" v-ref:modal :backdrop="false" title="导入进度">
124
+ <header slot="modal-header" class="modal-header">
125
+ <button type="button" class="close" @click="close"><span>&times;</span></button>
126
+ <h4 class="modal-title">导入进度</h4>
127
+ </header>
128
+ <article slot="modal-body" class="modal-body">
129
+ <div class="progress" style="margin: 20px">
130
+ <div class="progress-bar progress-bar-success progress-bar-striped active" :style="{width: percent}">
131
+ {{ percent }}
132
+ </div>
133
+ </div>
134
+ </article>
135
+ <footer slot="modal-footer" class="modal-footer"></footer>
136
+ </modal>
123
137
 
124
138
  <modal v-if="Sign" :show.sync="Sign" v-ref:modal :large="true" :backdrop="false">
125
139
  <header slot="modal-header" class="modal-header">
@@ -562,6 +576,11 @@ export default {
562
576
  devicesinfo: [],
563
577
  showUserInformation: {},
564
578
  showDeleteModel: false,
579
+ uuid: '',
580
+ percent: '0%',
581
+ progressShow: false,
582
+ // 定时器
583
+ timer: null,
565
584
  getfield: {
566
585
  'f_userinfo_id': ' 客户编号 ',
567
586
  'f_address': ' 地址 ',
@@ -903,7 +922,7 @@ export default {
903
922
  },
904
923
  searchCondition (args) {
905
924
  if (this.selectdata.f_apply_type === '分户挂表') {
906
- args.condition = args.condition + `and ui.f_userinfo_id = 'ui.f_process_id = '61207''`
925
+ args.condition = args.condition + `and ui.f_userinfo_id = '${this.selectdata.f_userinfo_id}'`
907
926
  } else {
908
927
  args.condition = args.condition + `and ui.f_process_id = '${this.selectdata.f_process_id}'`
909
928
  }
@@ -933,26 +952,80 @@ export default {
933
952
  this.$refs.file.$el.querySelector('input').value = ''
934
953
  this.search()
935
954
  },
955
+ progressQuery() {
956
+ console.log('导出进度开始查询')
957
+ this.progressShow = true
958
+ // 启动定时器之前先关闭定时器,防止之前的定时器未关闭
959
+ this.closeTimer()
960
+ // 立即执行一遍
961
+ this.progressTask()
962
+ this.timer = setInterval(this.progressTask, 3000)
963
+ },
964
+ async progressTask() {
965
+ let http = new HttpResetClass()
966
+ let res = await http.load('POST', `rs/logic/getBatchOperaPro`,{data: {uuid: this.uuid}}, {resolveMsg: null, rejectMsg: null})
967
+ res = res.data
968
+ console.log('进度数据', res)
969
+ if (res.result.type === 'error') {
970
+ this.$showAlert(`导入excel错误: ${res.result.msg}`, 'danger', 0)
971
+ await http.load('POST', `rs/logic/updateApplyInstallCount`,{data: this.selectdata}, {resolveMsg: null, rejectMsg: null})
972
+ this.close()
973
+ } else {
974
+ this.percent = Math.floor((res.current && res.total ? res.current/res.total*100 : 0)) + '%'
975
+
976
+ console.log("导入当前进度",this.percent)
977
+ // 进度100%
978
+ if (this.percent === '100%') {
979
+ await http.load('POST', `rs/logic/updateApplyInstallCount`,{data: this.selectdata}, {resolveMsg: null, rejectMsg: null})
980
+ this.close()
981
+ }
982
+ }
983
+ },
984
+ // 关闭定时器
985
+ closeTimer() {
986
+ if (this.timer) {
987
+ clearInterval(this.timer)
988
+ this.timer = null
989
+ }
990
+ },
991
+ guid() {
992
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
993
+ let r = Math.random() * 16 | 0,
994
+ v = c == 'x' ? r : (r & 0x3 | 0x8)
995
+ return v.toString(16)
996
+ })
997
+ },
998
+ close() {
999
+ this.closeTimer()
1000
+ this.progressShow = false
1001
+ this.percent = '0%'
1002
+ this.$dispatch('breakControl', this.selectdata)
1003
+ },
936
1004
  },
937
1005
  events: {
938
1006
  async 'onFileUpload'(file, result) {
1007
+ this.uuid = this.guid();
939
1008
  let data = {
940
1009
  selectdata: this.selectdata,
941
1010
  filepath: result.f_downloadpath,
942
1011
  user: this.$login.f,
943
- mark: this.mark
1012
+ mark: this.mark,
1013
+ uuid: this.uuid
944
1014
  }
945
1015
  let http = new HttpResetClass()
946
- let res = await http.load(
947
- 'POST',`rs/logic/importAddressAndUserinfo`, {data:data}, {resolveMsg: null, rejectMsg: '导入失败!!!', silent: true}, 0)
948
-
949
- this.$dispatch('breakControl', this.selectdata)
1016
+ let res = await http.load('POST',`rs/logic/importAddressAndUserinfo`, {data:data}, {
1017
+ resolveMsg: null, rejectMsg: '导入失败!!!', silent: true
1018
+ }, 0)
1019
+ this.showFile = false
1020
+ // 将选的文件清空
1021
+ this.$refs.file.$el.querySelector('input').value = ''
1022
+ this.progressQuery()
950
1023
  }
951
1024
  },
952
1025
  computed: {
953
1026
  showDeleteUserInfo () {
954
1027
  return this.selectdata.f_apply_type === '民用报建' &&
955
- (this.selectdata.defname === '报建受理' || this.selectdata.defname === '现场勘察')
1028
+ (this.selectdata.defname === '报建受理' || this.selectdata.defname === '现场勘察'||this.selectdata.defname === '收费标准')
956
1029
  },
957
1030
  newShowDeleteUserInfo () {
958
1031
  return this.selectdata.f_apply_type === '设备拆除' && this.selectdata.defname === '核对气量'
@@ -1,224 +1,224 @@
1
- <template>
2
- <style id="printPaymentApprovalStyle">
3
- td {
4
- height: 60px;
5
- text-align: center;
6
- }
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
-
18
- .orgs {
19
- border-bottom: 2px solid;
20
- padding: 5px;
21
- }
22
-
23
- .date {
24
- float: left;
25
- padding-left: 10px;
26
- }
27
-
28
- .status {
29
- float: right;
30
- padding-right: 10px;
31
- }
32
-
33
- .seal {
34
- position: absolute;
35
- right: 100px;
36
- top: 120px;
37
- width: 150px;
38
- height: 150px;
39
- /*opacity: 0.5;*/
40
- z-index: -1;
41
- }
42
- </style>
43
- <div style="margin-bottom: 20px" class="form-group select-overspread">
44
- <label class="control-label-justify control-label col-sm-10">打印付款审批单</label>
45
- <div class="col-sm-2">
46
- <button class="button_search button_spacing" type="button" style="width: max-content;position: absolute"
47
- @click="openModal()">打印预览
48
- </button>
49
- </div>
50
- </div>
51
- <modal v-if="showModal" :show.sync="showModal" title="打印预览" v-ref:modal large backdrop="false">
52
- <header slot="modal-header" class="modal-header">
53
- <button type="button" class="close" @click="colseModal()"><span>&times;</span></button>
54
- <h4 class="modal-title">打印预览</h4>
55
- </header>
56
- <article slot="modal-body" class="modal-body">
57
- <div id="printPaymentApproval">
58
- <h4>
59
- 榆 林 榆 川 天 然 气 有 限 责 任 公 司
60
- </h4>
61
- <h2>
62
- 付 款 审 批 单
63
- </h2>
64
- <table style="border: 0px solid black;">
65
- <tr>
66
- <td style="height: 30px;">{{ new Date().Format('yyyy年MM月dd日') }}</td>
67
- </tr>
68
- </table>
69
- <table border="1" width="100%">
70
- <tr>
71
- <td style="width: 17%">收款单位名称:</td>
72
- <td colspan="2" style="border: none">
73
- {{ selectdata.f_paper_name }}
74
- </td>
75
- <td style="width: 17%">付 款 方 式:</td>
76
- <td colspan="2" style="border: none">
77
- {{ selectdata.f_payment_method }}
78
- </td>
79
- </tr>
80
- <tr>
81
- <td style="width: 17%">开 户 银 行:</td>
82
- <td colspan="2" style="width: 33%">{{ selectdata.f_bank }}</td>
83
- <td style="width: 17%">账&emsp;&emsp;号:</td>
84
- <td colspan="2" style="width: 33%">{{ selectdata.f_paper_account }}</td>
85
- </tr>
86
- <tr>
87
- <td>付 款 事 由:</td>
88
- <td colspan="5" style="text-align:left">
89
- {{ selectdata.f_pay_remark }}
90
- </td>
91
- </tr>
92
- <tr>
93
- <td>付款金额(元、大写):</td>
94
- <td colspan="2">{{ selectdata.f_amount_words }}</td>
95
- <td>付款金额(元、小写):</td>
96
- <td colspan="2">{{ selectdata.f_due_money }}</td>
97
- </tr>
98
- <tr>
99
- <td style="width: 17%">备&emsp;&emsp;注:</td>
100
- <td colspan="2" style="width: 33%">{{ selectdata.f_payment_remarks }}</td>
101
- <td style="width: 17%">附件张数:</td>
102
- <td colspan="2" style="width: 33%">{{ selectdata.f_attachment_count }}</td>
103
- </tr>
104
- </table>
105
- <table style="border: 0px solid black;">
106
- <tr>
107
- <td>财务部门负责人:</td>
108
- <td>&emsp;&emsp;</td>
109
- <td>部门负责人:</td>
110
- <td>&emsp;&emsp;</td>
111
- <td>经办人:</td>
112
- <td>&emsp;&emsp;</td>
113
- </tr>
114
- <tr>
115
- <td>单位负责人:</td>
116
- <td>&emsp;&emsp;</td>
117
- <td>财务主管:</td>
118
- <td>&emsp;&emsp;</td>
119
- <td>分管领导:</td>
120
- <td>&emsp;&emsp;</td>
121
- </tr>
122
- </table>
123
- </div>
124
- </article>
125
- <footer slot="modal-footer" class="modal-footer">
126
- <button type="button" class="btn btn-primary" @click="print()">打印</button>
127
- </footer>
128
- </modal>
129
-
130
- <print-element v-show="false" v-ref:print id='printPayentApproval' styleid='printPaymentApprovalStyle'
131
- top='20' left='30' width='100%' height='100%'>
132
- </print-element>
133
- </template>
134
-
135
- <script>
136
- import {isEmpty} from '../../../../Util'
137
- import {HttpResetClass} from "vue-client";
138
-
139
- Date.prototype.Format = function (fmt) {
140
- var o = {
141
- 'M+': this.getMonth() + 1, // 月份
142
- 'd+': this.getDate(), // 日
143
- 'H+': this.getHours(), // 小时
144
- 'm+': this.getMinutes(), // 分
145
- 's+': this.getSeconds(), // 秒
146
- 'q+': Math.floor((this.getMonth() + 3) / 3), // 季度
147
- 'S': this.getMilliseconds() // 毫秒
148
- }
149
- if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length))
150
- for (var k in o)
151
- if (new RegExp('(' + k + ')').test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
152
- return fmt
153
- }
154
- export default {
155
- title: '打印付款审批单',
156
- props: ['selectdata'],
157
- data () {
158
- return {
159
- showModal: false,
160
- device: null
161
- }
162
- },
163
- ready () {
164
- },
165
- methods: {
166
- openModal () {
167
- if (this.selectdata.f_due_money >= 0 && this.selectdata.f_due_money) {
168
- this.smalltoBIG(this.selectdata.f_due_money)
169
- } else {
170
- this.selectdata.f_amount_words = ''
171
- }
172
- this.showModal = true
173
- },
174
- colseModal () {
175
- this.showModal = false
176
- },
177
- print () {
178
- this.showInput = false
179
- setTimeout(() => {
180
- this.$refs.print.PrintTable()
181
- }, 10)
182
- },
183
- // 金额转大写
184
- smalltoBIG (n) {
185
- let fraction = ['角', '分']
186
- let digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
187
- let unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']]
188
- let head = n < 0 ? '欠' : ''
189
- n = Math.abs(n)
190
-
191
- let s = ''
192
-
193
- for (var i = 0; i < fraction.length; i++) {
194
- s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '')
195
- }
196
- s = s || '整'
197
- n = Math.floor(n)
198
-
199
- for (var i = 0; i < unit[0].length && n > 0; i++) {
200
- let p = ''
201
- for (var j = 0; j < unit[1].length && n > 0; j++) {
202
- p = digit[n % 10] + unit[1][j] + p
203
- n = Math.floor(n / 10)
204
- }
205
- s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s
206
- }
207
- let result = head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整')
208
- console.log('当前大写', result)
209
- this.selectdata.f_amount_words = result
210
- }
211
- },
212
- computed: {
213
- orgs () {
214
- return this.$login.f.f_fengongsi
215
- },
216
- src () {
217
- }
218
- }
219
- }
220
- </script>
221
-
222
- <style scoped>
223
-
224
- </style>
1
+ <template>
2
+ <style id="printPaymentApprovalStyle">
3
+ td {
4
+ height: 60px;
5
+ text-align: center;
6
+ }
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
+
18
+ .orgs {
19
+ border-bottom: 2px solid;
20
+ padding: 5px;
21
+ }
22
+
23
+ .date {
24
+ float: left;
25
+ padding-left: 10px;
26
+ }
27
+
28
+ .status {
29
+ float: right;
30
+ padding-right: 10px;
31
+ }
32
+
33
+ .seal {
34
+ position: absolute;
35
+ right: 100px;
36
+ top: 120px;
37
+ width: 150px;
38
+ height: 150px;
39
+ /*opacity: 0.5;*/
40
+ z-index: -1;
41
+ }
42
+ </style>
43
+ <div style="margin-bottom: 20px" class="form-group select-overspread">
44
+ <label class="control-label-justify control-label col-sm-10">打印付款审批单</label>
45
+ <div class="col-sm-2">
46
+ <button class="button_search button_spacing" type="button" style="width: max-content;position: absolute"
47
+ @click="openModal()">打印预览
48
+ </button>
49
+ </div>
50
+ </div>
51
+ <modal v-if="showModal" :show.sync="showModal" title="打印预览" v-ref:modal large backdrop="false">
52
+ <header slot="modal-header" class="modal-header">
53
+ <button type="button" class="close" @click="colseModal()"><span>&times;</span></button>
54
+ <h4 class="modal-title">打印预览</h4>
55
+ </header>
56
+ <article slot="modal-body" class="modal-body">
57
+ <div id="printPaymentApproval">
58
+ <h4>
59
+ 榆 林 榆 川 天 然 气 有 限 责 任 公 司
60
+ </h4>
61
+ <h2>
62
+ 付 款 审 批 单
63
+ </h2>
64
+ <table style="border: 0px solid black;">
65
+ <tr>
66
+ <td style="height: 30px;">{{ new Date().Format('yyyy年MM月dd日') }}</td>
67
+ </tr>
68
+ </table>
69
+ <table border="1" width="100%">
70
+ <tr>
71
+ <td style="width: 17%">收款单位名称:</td>
72
+ <td colspan="2" style="border: none">
73
+ {{ selectdata.f_paper_name }}
74
+ </td>
75
+ <td style="width: 17%">付 款 方 式:</td>
76
+ <td colspan="2" style="border: none">
77
+ {{ selectdata.f_payment_method }}
78
+ </td>
79
+ </tr>
80
+ <tr>
81
+ <td style="width: 17%">开 户 银 行:</td>
82
+ <td colspan="2" style="width: 33%">{{ selectdata.f_bank }}</td>
83
+ <td style="width: 17%">账&emsp;&emsp;号:</td>
84
+ <td colspan="2" style="width: 33%">{{ selectdata.f_paper_account }}</td>
85
+ </tr>
86
+ <tr>
87
+ <td>付 款 事 由:</td>
88
+ <td colspan="5" style="text-align:left">
89
+ {{ selectdata.f_pay_remark }}
90
+ </td>
91
+ </tr>
92
+ <tr>
93
+ <td>付款金额(元、大写):</td>
94
+ <td colspan="2">{{ selectdata.f_amount_words }}</td>
95
+ <td>付款金额(元、小写):</td>
96
+ <td colspan="2">{{ selectdata.f_due_money }}</td>
97
+ </tr>
98
+ <tr>
99
+ <td style="width: 17%">备&emsp;&emsp;注:</td>
100
+ <td colspan="2" style="width: 33%">{{ selectdata.f_payment_remarks }}</td>
101
+ <td style="width: 17%">附件张数:</td>
102
+ <td colspan="2" style="width: 33%">{{ selectdata.f_attachment_count }}</td>
103
+ </tr>
104
+ </table>
105
+ <table style="border: 0px solid black;">
106
+ <tr>
107
+ <td>财务部门负责人:</td>
108
+ <td>&emsp;&emsp;</td>
109
+ <td>部门负责人:</td>
110
+ <td>&emsp;&emsp;</td>
111
+ <td>经办人:</td>
112
+ <td>&emsp;&emsp;</td>
113
+ </tr>
114
+ <tr>
115
+ <td>单位负责人:</td>
116
+ <td>&emsp;&emsp;</td>
117
+ <td>财务主管:</td>
118
+ <td>&emsp;&emsp;</td>
119
+ <td>分管领导:</td>
120
+ <td>&emsp;&emsp;</td>
121
+ </tr>
122
+ </table>
123
+ </div>
124
+ </article>
125
+ <footer slot="modal-footer" class="modal-footer">
126
+ <button type="button" class="btn btn-primary" @click="print()">打印</button>
127
+ </footer>
128
+ </modal>
129
+
130
+ <print-element v-show="false" v-ref:print id='printPayentApproval' styleid='printPaymentApprovalStyle'
131
+ top='20' left='30' width='100%' height='100%'>
132
+ </print-element>
133
+ </template>
134
+
135
+ <script>
136
+ import {isEmpty} from '../../../../Util'
137
+ import {HttpResetClass} from "vue-client";
138
+
139
+ Date.prototype.Format = function (fmt) {
140
+ var o = {
141
+ 'M+': this.getMonth() + 1, // 月份
142
+ 'd+': this.getDate(), // 日
143
+ 'H+': this.getHours(), // 小时
144
+ 'm+': this.getMinutes(), // 分
145
+ 's+': this.getSeconds(), // 秒
146
+ 'q+': Math.floor((this.getMonth() + 3) / 3), // 季度
147
+ 'S': this.getMilliseconds() // 毫秒
148
+ }
149
+ if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length))
150
+ for (var k in o)
151
+ if (new RegExp('(' + k + ')').test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
152
+ return fmt
153
+ }
154
+ export default {
155
+ title: '打印付款审批单',
156
+ props: ['selectdata'],
157
+ data () {
158
+ return {
159
+ showModal: false,
160
+ device: null
161
+ }
162
+ },
163
+ ready () {
164
+ },
165
+ methods: {
166
+ openModal () {
167
+ if (this.selectdata.f_due_money >= 0 && this.selectdata.f_due_money) {
168
+ this.smalltoBIG(this.selectdata.f_due_money)
169
+ } else {
170
+ this.selectdata.f_amount_words = ''
171
+ }
172
+ this.showModal = true
173
+ },
174
+ colseModal () {
175
+ this.showModal = false
176
+ },
177
+ print () {
178
+ this.showInput = false
179
+ setTimeout(() => {
180
+ this.$refs.print.PrintTable()
181
+ }, 10)
182
+ },
183
+ // 金额转大写
184
+ smalltoBIG (n) {
185
+ let fraction = ['角', '分']
186
+ let digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
187
+ let unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']]
188
+ let head = n < 0 ? '欠' : ''
189
+ n = Math.abs(n)
190
+
191
+ let s = ''
192
+
193
+ for (var i = 0; i < fraction.length; i++) {
194
+ s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '')
195
+ }
196
+ s = s || '整'
197
+ n = Math.floor(n)
198
+
199
+ for (var i = 0; i < unit[0].length && n > 0; i++) {
200
+ let p = ''
201
+ for (var j = 0; j < unit[1].length && n > 0; j++) {
202
+ p = digit[n % 10] + unit[1][j] + p
203
+ n = Math.floor(n / 10)
204
+ }
205
+ s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s
206
+ }
207
+ let result = head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整')
208
+ console.log('当前大写', result)
209
+ this.selectdata.f_amount_words = result
210
+ }
211
+ },
212
+ computed: {
213
+ orgs () {
214
+ return this.$login.f.f_fengongsi
215
+ },
216
+ src () {
217
+ }
218
+ }
219
+ }
220
+ </script>
221
+
222
+ <style scoped>
223
+
224
+ </style>
@@ -72,11 +72,24 @@
72
72
  v-if="item.id && mark !== 1 && item.f_operate_state === 1"
73
73
  @click.prevent="deleteDevices(item.id)"
74
74
  >删除</button></div>
75
+ <div class="col-sm-6 text-right"><button
76
+ class="button_delete button_spacing"
77
+ v-if="item.id && mark !== 1 && item.f_operate_state === 0"
78
+ @click.prevent="quChuDevices(item.id, '减少')"
79
+ >减少</button></div>
80
+ <div class="col-sm-6 text-right"><button
81
+ class="button_delete button_spacing"
82
+ v-if="item.id && mark !== 1 && item.f_operate_state === 2"
83
+ @click.prevent="quChuDevices(item.id, '恢复')"
84
+ >恢复</button></div>
75
85
  <div class="col-sm-6 text-right">
76
86
  <label class="col-sm-4 control-label" v-if="item.f_operate_state === 0">旧设备</label>
77
87
  </div>
78
88
  <div class="col-sm-6 text-right">
79
- <label class="col-sm-4 control-label" v-if="item.f_operate_state !== 0">新设备</label>
89
+ <label class="col-sm-4 control-label" v-if="item.f_operate_state === 1">新设备</label>
90
+ </div>
91
+ <div class="col-sm-6 text-right">
92
+ <label class="col-sm-4 control-label" v-if="item.f_operate_state === 2">标记减少设备</label>
80
93
  </div>
81
94
  </div>
82
95
  <div class="form-group col-sm-6" :class="[!item.f_devices_type ? 'has-error' : '']">
@@ -243,6 +256,18 @@ export default {
243
256
  this.$dispatch('breakControl', this.selectdata)
244
257
  })
245
258
  },
259
+ async quChuDevices(index, val) {
260
+ let data = {
261
+ id:index,
262
+ state: val,
263
+ selectdata: this.selectdata
264
+ }
265
+ await this.$resetpost('rs/logic/applyQuChuDevice', {data: data}, {
266
+ resolveMsg: null,
267
+ rejectMsg: '修改设备状态失败!!!'
268
+ })
269
+ this.$dispatch('breakControl', this.selectdata)
270
+ },
246
271
  deleteDevicesinfo (index) {
247
272
  this.devicesinfo.splice(index, 1)
248
273
  },