apply-clients 3.3.29 → 3.3.33

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 (24) hide show
  1. package/package.json +1 -1
  2. package/src/apply.js +3 -0
  3. package/src/components/android/AppOnetomany.vue +31 -17
  4. package/src/components/android/Function/AppFunctionServiceControl.vue +18 -3
  5. package/src/components/android/Function/AppInstallFunction.vue +4 -0
  6. package/src/components/android/Process/AppExplorationUser.vue +306 -302
  7. package/src/components/android/Process/AppServiceControl.vue +756 -756
  8. package/src/components/android/Supervisory/AppProcessSupervisory.vue +4 -0
  9. package/src/components/product/Function/Service/FunctionServiceControl.vue +22 -1
  10. package/src/components/product/Material/MaterialDetailed.vue +213 -0
  11. package/src/components/product/OldApply/Handle/HandleApply.vue +20 -3
  12. package/src/components/product/OldApply/Monitor/MonitorApply.vue +6 -0
  13. package/src/components/product/OldApply/OldApply.vue +1 -1
  14. package/src/components/product/Onetomany.vue +101 -22
  15. package/src/components/product/Process/ExplorationSelect.vue +42 -6
  16. package/src/components/product/Process/Processes/InstallationDetails.vue +1 -1
  17. package/src/components/product/Process/Processes/Print/printBuildOrder.vue +215 -0
  18. package/src/components/product/Process/Processes/addressAndUserinfoManagement.vue +11 -6
  19. package/src/components/product/Process/Service/ServiceControl.vue +18 -3
  20. package/src/components/product/ServiceView.vue +1 -1
  21. package/src/components/product/Stop/StopApply.vue +101 -103
  22. package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +292 -20
  23. package/src/components/product/Supervisory/SupervisoryControl.vue +27 -0
  24. package/src/components/product/Supervisory/SupervisoryhCart.vue +1 -1
@@ -0,0 +1,215 @@
1
+ <template>
2
+ <style id="style">
3
+ td{
4
+ height: 30px;
5
+ width: 100px;
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
+ .orgs {
18
+ border-bottom: 2px solid;
19
+ padding: 5px;
20
+ }
21
+ .date {
22
+ float: left;
23
+ padding-left: 10px;
24
+ }
25
+ .status {
26
+ float: right;
27
+ padding-right: 10px;
28
+ }
29
+ .seal {
30
+ position: absolute;
31
+ right: 100px;
32
+ top: 120px;
33
+ width: 150px;
34
+ height: 150px;
35
+ /*opacity: 0.5;*/
36
+ z-index: -1;
37
+ }
38
+ .sign {
39
+ vertical-align: top;
40
+ padding: 10px;
41
+ }
42
+ .material {
43
+ text-align: left;
44
+ vertical-align: top;
45
+ padding: 10px;
46
+ }
47
+ </style>
48
+
49
+ <div style="margin-bottom: 20px" class="form-group select-overspread">
50
+ <label class="control-label-justify control-label col-sm-2">打印施工通知单</label>
51
+ <div class="col-sm-10" >
52
+ <button class="button_search button_spacing" type="button" style="width: max-content;position: absolute" @click="openModal()">打印</button>
53
+ </div>
54
+ </div>
55
+
56
+ <modal v-if="showModal" :show.sync="showModal" width="80%" title="打印预览" v-ref:modal large backdrop="false">
57
+ <header slot="modal-header" class="modal-header">
58
+ <button type="button" class="close" @click="colseModal()"><span>&times;</span></button>
59
+ <h4 class="modal-title">打印预览</h4>
60
+ </header>
61
+ <article slot="modal-body" class="modal-body">
62
+ <div id="print">
63
+ <h3><span style="letter-spacing: 15px">施工安装通知单</span></h3>
64
+ <table border="1">
65
+ <tr>
66
+ <td>用户姓名</td>
67
+ <td>{{ selectdata.f_user_name }}</td>
68
+ <td>报装编号</td>
69
+ <td>{{ selectdata.f_apply_num }}</td>
70
+ <td>电&emsp;&emsp;&emsp;&emsp;话</td>
71
+ <td>{{ selectdata.f_phone }}</td>
72
+ </tr>
73
+ <tr>
74
+ <td>用户地址</td>
75
+ <td colspan="3">{{ selectdata.f_address }}</td>
76
+ <td>施工安装时间</td>
77
+ <td>{{ selectdata.f_construction_date }}</td>
78
+ </tr>
79
+ <tr>
80
+ <td>安装项目</td>
81
+ <td>{{ selectdata.f_install_project }}</td>
82
+ <td>通知时间</td>
83
+ <td>{{ selectdata.sendtime }}</td>
84
+ <td>施工安装单位</td>
85
+ <td>{{ selectdata.f_construction_unit }}</td>
86
+ </tr>
87
+ <tr>
88
+ <td>表号</td>
89
+ <td colspan="2">{{ userfile.f_meternumber }}</td>
90
+ <td>表封号</td>
91
+ <td colspan="2">{{ userfile.f_metertitles }}</td>
92
+ </tr>
93
+ <tr>
94
+ <td colspan="6" class="material">
95
+ <p>施工安装情况</p>
96
+ <p v-for="item in selectdata.onetomany[0].rows" style="width: auto;display: inline-block">
97
+ {{$index + 1}}、{{item.f_material_name}}{{item.f_material_style}}&ensp;{{item.f_material_number}}{{item.f_material_unit}}&emsp;&emsp;
98
+ </p>
99
+ </td>
100
+ </tr>
101
+ <tr style="height: 100px">
102
+ <td colspan="2" class="sign">施工安装单位(签字)</td>
103
+ <td colspan="2" class="sign">工程验收(签字)</td>
104
+ <td colspan="2" class="sign">用户(签字)</td>
105
+ </tr>
106
+ <tr>
107
+ <td>备&emsp;&emsp;注</td>
108
+ <td colspan="5">{{ selectdata.f_construction_remarks }}</td>
109
+ </tr>
110
+ </table>
111
+ </div>
112
+ </article>
113
+ <footer slot="modal-footer" class="modal-footer">
114
+ <button type="button" class="btn btn-primary" @click="print()">打印</button>
115
+ </footer>
116
+ </modal>
117
+
118
+
119
+ <print-element v-show="false" v-ref:print id='print' styleid='style'
120
+ top='40' left='60' width='100%' height='100%'>
121
+ </print-element>
122
+
123
+ </template>
124
+
125
+ <script>
126
+ import { isEmpty } from '../../../../Util'
127
+ import {HttpResetClass} from "vue-client";
128
+ Date.prototype.Format = function (fmt) {
129
+ var o = {
130
+ "M+": this.getMonth() + 1, //月份
131
+ "d+": this.getDate(), //日
132
+ "H+": this.getHours(), //小时
133
+ "m+": this.getMinutes(), //分
134
+ "s+": this.getSeconds(), //秒
135
+ "q+": Math.floor((this.getMonth() + 3) / 3), //季度
136
+ "S": this.getMilliseconds() //毫秒
137
+ };
138
+ if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
139
+ for (var k in o)
140
+ if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
141
+ return fmt;
142
+ }
143
+ export default {
144
+ title: '施工安装通知单',
145
+ props: {
146
+ selectdata: {
147
+ type: Object
148
+ },
149
+ mark: {
150
+ type: Number,
151
+ default: 0
152
+ }
153
+ },
154
+ data () {
155
+ return {
156
+ showModal: false,
157
+ userfile: null
158
+ }
159
+ },
160
+ ready () {
161
+ },
162
+ methods: {
163
+ colseModal () {
164
+ this.showModal = false
165
+ this.userfile = null
166
+ },
167
+ print () {
168
+ this.$refs.print.PrintTable()
169
+ },
170
+ openModal () {
171
+ this.getUserFiles()
172
+
173
+ this.showModal = true
174
+ },
175
+ async getUserFiles () {
176
+ let data = {
177
+ tablename: 't_userfiles',
178
+ condition: `f_userinfo_id = '${this.selectdata.f_userinfo_id}'`
179
+ }
180
+ let http = new HttpResetClass()
181
+ let res = await http.load(
182
+ 'POST',
183
+ `rs/sql/singleTable`,
184
+ {data: data},
185
+ {resolveMsg: null, rejectMsg: '表具信息查询失败!!!'}
186
+ )
187
+
188
+ this.userfile = res.data[0]
189
+ },
190
+ },
191
+ computed: {
192
+ orgs () {
193
+ return this.$login.f.orgs
194
+ }
195
+ }
196
+ }
197
+ </script>
198
+
199
+ <style scoped>
200
+ .control-label-justify {
201
+ display: inline-block;
202
+ vertical-align: top;
203
+ width: 130px;
204
+ text-align: justify;
205
+ font-family: PingFang-SC-Bold;
206
+ }
207
+
208
+ .control-label-justify::after {
209
+ content: "";
210
+ display: inline-block;
211
+ width: 100%;
212
+ overflow: hidden;
213
+ height: 0;
214
+ }
215
+ </style>
@@ -106,7 +106,7 @@ export default {
106
106
  },
107
107
  mark: {
108
108
  type: Number,
109
- default: 0 // 0:正常 1:禁用 2:追加用户
109
+ default: 0 // 0:正常 1:禁用
110
110
  }
111
111
  },
112
112
  data () {
@@ -155,11 +155,16 @@ export default {
155
155
  watch: {
156
156
  'model.count': {
157
157
  handler: function () {
158
- for (let i = 0; i < this.selectdata.fields.length; i++) {
159
- if (this.selectdata.fields[i].label === '户数') {
160
- console.log(this.model.count)
161
- this.selectdata.fields[i].value = this.model.count
162
- }
158
+ if (this.model.count > this.selectdata.f_apply_count) {
159
+ this.selectdata.f_apply_count = this.model.count
160
+
161
+ this.$resetpost(
162
+ 'rs/entity/t_apply',
163
+ this.selectdata,
164
+ {resolveMsg: null, rejectMsg: '数据更新失败!!!'}
165
+ ).then(res => {
166
+ this.$dispatch('breakControl', this.selectdata)
167
+ })
163
168
  }
164
169
  }
165
170
  }
@@ -195,7 +195,6 @@ export default {
195
195
  item.options = temp
196
196
  }
197
197
  }
198
-
199
198
  }
200
199
  }
201
200
  }
@@ -646,7 +645,7 @@ export default {
646
645
  let http = new HttpResetClass()
647
646
  let res = await http.load(
648
647
  'POST',
649
- `rs/sql/getApplyMaterial`,
648
+ `rs/sql/getStockMaterial`,
650
649
  {data: data},
651
650
  {resolveMsg: null, rejectMsg: '材料查询失败!!!'}
652
651
  )
@@ -1194,7 +1193,7 @@ export default {
1194
1193
  f_process_id : this.show_data.f_process_id,
1195
1194
  f_operator_id: this.$login.f.id,
1196
1195
  f_operator: this.$login.f.name,
1197
- f_operation_date: new Date(),
1196
+ f_operation_date: new Date().Format('yyyy-MM-dd HH:mm:ss'),
1198
1197
  f_orgid: this.$login.f.orgid,
1199
1198
  f_orgname: this.$login.f.orgs
1200
1199
  }
@@ -1213,6 +1212,22 @@ export default {
1213
1212
 
1214
1213
  this.$dispatch('breakControl', this.show_data)
1215
1214
  },
1215
+ async 'importEvent' (index, table, configName, filepath) {
1216
+ let data = {
1217
+ selectdata: this.show_data,
1218
+ table: table,
1219
+ filepath: filepath,
1220
+ configName: configName,
1221
+ user: this.$login.f
1222
+ }
1223
+
1224
+ let res = await this.$resetpost(
1225
+ `rs/logic/importEvent`,
1226
+ data
1227
+ )
1228
+
1229
+ this.$dispatch('breakControl', this.show_data)
1230
+ },
1216
1231
  'onbutchange' (index) {
1217
1232
 
1218
1233
  },
@@ -119,7 +119,7 @@
119
119
 
120
120
  <!-- onetomany -->
121
121
  <div class="" v-for="(index,item) in data.onetomany">
122
- <onetomany :onetomany="item" :index="index" v-if="item.device === 'pc' || !item.device"></onetomany>
122
+ <onetomany :selectdata="data" :onetomany="item" :index="index" v-if="item.device === 'pc' || !item.device"></onetomany>
123
123
  </div>
124
124
 
125
125
  <div v-for="(i,item) in data.components">
@@ -1,103 +1,101 @@
1
- <template>
2
- <div class="flex-row">
3
- <div class="basic-main">
4
- <div style="height: 95%">
5
- <stop-apply-list v-ref:query></stop-apply-list>
6
- </div>
7
- </div>
8
-
9
- <modal v-if="showModal" :show.sync="showModal" backdrop="false" large>
10
- <header slot="modal-header" class="modal-header">
11
- <button type="button" class="close" @click="closeModal()"><span>&times;</span></button>
12
- <span class="modal-title"><font size="3">撤销</font></span>
13
- </header>
14
- <article slot="modal-body" class="modal-body clearfix">
15
- <div :class="data.f_cancel_reason ? '' : 'has-error'" class="form-group">
16
- <label class="control-label-justify control-label col-sm-1">撤销原因</label>
17
- <div class="col-sm-9">
18
- <textarea
19
- class="form-control input_view" style="width: 100%" rows="5"
20
- v-model="data.f_cancel_reason" :value="data.f_cancel_reason"
21
- ></textarea>
22
- </div>
23
- </div>
24
- </article>
25
- <footer slot="modal-footer" class="modal-footer">
26
- <button :class="!data.f_cancel_reason ? 'btn btn-default':'btn btn-primary'"
27
- :disabled="!data.f_cancel_reason" type="button" @click="confirmModal()">
28
- 确认
29
- </button>
30
- </footer>
31
- </modal>
32
- </div>
33
- </template>
34
-
35
- <script>
36
- export default {
37
- title: '终止报建',
38
- data () {
39
- return {
40
- showModal: false,
41
- data: null
42
- }
43
- },
44
- ready () {
45
- },
46
- methods: {
47
- closeModal () {
48
- this.showModal = false
49
- this.data = null
50
-
51
- this.$refs.query.$refs.cp.$refs.cri.search()
52
- },
53
- async confirmModal () {
54
- let data = {
55
- data: this.data,
56
- user: this.$login.f
57
- }
58
-
59
- let res = await this.$resetpost(
60
- `rs/logic/cancelStopApply`,
61
- {data: data},
62
- {resolveMsg: null, rejectMsg: '撤销失败!!!'}
63
- )
64
-
65
- this.closeModal()
66
- }
67
- },
68
- events: {
69
- 'search' () {
70
- this.$refs.query.$refs.cp.$refs.cri.search()
71
- },
72
- 'cancelStopApply' (row) {
73
- this.data = row
74
-
75
- this.showModal = true
76
- }
77
- }
78
- }
79
- </script>
80
-
81
- <style scoped>
82
- .control-label-justify {
83
- display: inline-block;
84
- vertical-align: top;
85
- width: 110px;
86
- text-align: justify;
87
- font-family: PingFang-SC-Bold;
88
- }
89
-
90
- .control-label-justify::after {
91
- content: "";
92
- display: inline-block;
93
- width: 100%;
94
- overflow: hidden;
95
- height: 0;
96
- }
97
- .clearfix:after,.clearfix:before{
98
- display: table;
99
- }
100
- .clearfix:after{
101
- clear: both;
102
- }
103
- </style>
1
+ <template>
2
+ <div class="flex-row">
3
+ <div class="basic-main">
4
+ <stop-apply-list v-ref:query></stop-apply-list>
5
+ </div>
6
+
7
+ <modal v-if="showModal" :show.sync="showModal" backdrop="false" large>
8
+ <header slot="modal-header" class="modal-header">
9
+ <button type="button" class="close" @click="closeModal()"><span>&times;</span></button>
10
+ <span class="modal-title"><font size="3">撤销</font></span>
11
+ </header>
12
+ <article slot="modal-body" class="modal-body clearfix">
13
+ <div :class="data.f_cancel_reason ? '' : 'has-error'" class="form-group">
14
+ <label class="control-label-justify control-label col-sm-1">撤销原因</label>
15
+ <div class="col-sm-9">
16
+ <textarea
17
+ class="form-control input_view" style="width: 100%" rows="5"
18
+ v-model="data.f_cancel_reason" :value="data.f_cancel_reason"
19
+ ></textarea>
20
+ </div>
21
+ </div>
22
+ </article>
23
+ <footer slot="modal-footer" class="modal-footer">
24
+ <button :class="!data.f_cancel_reason ? 'btn btn-default':'btn btn-primary'"
25
+ :disabled="!data.f_cancel_reason" type="button" @click="confirmModal()">
26
+ 确认
27
+ </button>
28
+ </footer>
29
+ </modal>
30
+ </div>
31
+ </template>
32
+
33
+ <script>
34
+ export default {
35
+ title: '终止报建',
36
+ data () {
37
+ return {
38
+ showModal: false,
39
+ data: null
40
+ }
41
+ },
42
+ ready () {
43
+ },
44
+ methods: {
45
+ closeModal () {
46
+ this.showModal = false
47
+ this.data = null
48
+
49
+ this.$refs.query.$refs.cp.$refs.cri.search()
50
+ },
51
+ async confirmModal () {
52
+ let data = {
53
+ data: this.data,
54
+ user: this.$login.f
55
+ }
56
+
57
+ let res = await this.$resetpost(
58
+ `rs/logic/cancelStopApply`,
59
+ {data: data},
60
+ {resolveMsg: null, rejectMsg: '撤销失败!!!'}
61
+ )
62
+
63
+ this.closeModal()
64
+ }
65
+ },
66
+ events: {
67
+ 'search' () {
68
+ this.$refs.query.$refs.cp.$refs.cri.search()
69
+ },
70
+ 'cancelStopApply' (row) {
71
+ this.data = row
72
+
73
+ this.showModal = true
74
+ }
75
+ }
76
+ }
77
+ </script>
78
+
79
+ <style scoped>
80
+ .control-label-justify {
81
+ display: inline-block;
82
+ vertical-align: top;
83
+ width: 110px;
84
+ text-align: justify;
85
+ font-family: PingFang-SC-Bold;
86
+ }
87
+
88
+ .control-label-justify::after {
89
+ content: "";
90
+ display: inline-block;
91
+ width: 100%;
92
+ overflow: hidden;
93
+ height: 0;
94
+ }
95
+ .clearfix:after,.clearfix:before{
96
+ display: table;
97
+ }
98
+ .clearfix:after{
99
+ clear: both;
100
+ }
101
+ </style>