apply-clients 3.0.4 → 3.0.5-10
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/App.vue +126 -15
- package/src/apply.js +152 -134
- package/src/bootstrap/fonts/PingFangSC-Regular.ttf +0 -0
- package/src/bootstrap/less/bootstrap.less +1 -2
- package/src/bootstrap/less/standard.less +208 -0
- package/src/components/Util.js +4 -0
- package/src/components/app_apply/FieldExploration.vue +2 -2
- package/src/components/app_apply/Ventilation.vue +2 -2
- package/src/components/image/doc.jpg +0 -0
- package/src/components/image/excel.jpg +0 -0
- package/src/components/image/pdf.jpg +0 -0
- package/src/components/image//345/233/276/345/261/20212.png +0 -0
- package/src/components/image//345/233/276/345/261/20213.png +0 -0
- package/src/components/image//345/233/276/345/261/20216.png +0 -0
- package/src/components/image//345/244/232/350/276/271/345/275/2422.png +0 -0
- package/src/components/image//345/244/232/350/276/271/345/275/2422/346/213/267/350/264/235.png +0 -0
- package/src/components/image//346/244/255/345/234/2062.png +0 -0
- package/src/components/image//346/244/255/345/234/2065.png +0 -0
- package/src/components/image//346/244/255/345/234/2065/346/213/267/350/264/235.png +0 -0
- package/src/components/image//346/244/255/345/234/2065/346/213/267/350/264/2352.png +0 -0
- package/src/components/image//346/244/255/345/234/2065/346/213/267/350/264/2353.png +0 -0
- package/src/components/image//347/273/2044.png +0 -0
- package/src/components/image//347/273/2045.png +0 -0
- package/src/components/image//347/273/2046.png +0 -0
- package/src/components/image//350/257/235/345/212/241/347/273/237/350/256/241/346/225/260/346/215/256/345/261/225/347/244/272.png +0 -0
- package/src/components/product/Function/InstallFunction.vue +9 -5
- package/src/components/product/Function/InstallInfoSelect.vue +98 -69
- package/src/components/product/Function/Service/FunctionServiceControl.vue +47 -4
- package/src/components/product/Function/functions/AddContract.vue +161 -139
- package/src/components/product/Function/functions/BuyerMessage.vue +285 -137
- package/src/components/product/Function/functions/InstallFee.vue +1117 -912
- package/src/components/product/MaterialBatchList.vue +109 -0
- package/src/components/product/MaterialBatchManage.vue +34 -0
- package/src/components/product/Procedures/ProceduresDataGrid.vue +1022 -0
- package/src/components/product/Process/ExplorationSelect.vue +213 -73
- package/src/components/product/Process/ExplorationUser.vue +94 -39
- package/src/components/product/Process/MaterialUseList.vue +159 -0
- package/src/components/product/Process/ModifyUserFiles.vue +15 -5
- package/src/components/product/Process/ProcessInfo/history_control.vue +35 -6
- package/src/components/product/Process/Processes/ApplyUpload.vue +287 -0
- package/src/components/product/Process/Processes/CustomerCostPlan.vue +214 -0
- package/src/components/product/Process/Processes/CustomerMaterialMessage.vue +499 -210
- package/src/components/product/Process/Processes/CustomerRecordMessage.vue +949 -753
- package/src/components/product/Process/Processes/ProjectSettlement.vue +535 -24
- package/src/components/product/Process/Processes/ReceiveBatch.vue +301 -121
- package/src/components/product/Process/Processes/Service/ApplyChangeHistory.vue +105 -0
- package/src/components/product/Process/Processes/Service/ApplyChargeSearch.vue +27 -14
- package/src/components/product/Process/Processes/Service/ServiceControl.vue +2561 -1104
- package/src/components/product/Process/Processes/Upload.vue +532 -0
- package/src/components/product/Process/ShowBackReason.vue +1 -1
- package/src/components/product/ServiceView.vue +831 -583
- package/src/components/product/Statistics/ApplyStatisticsROOT.vue +27 -0
- package/src/components/product/Supervisory/Service/SupervisoryServiceControl.vue +212 -23
- package/src/components/product/Supervisory/SupervisoryControl.vue +79 -26
- package/src/components/product/Supervisory/SupervisoryList.vue +347 -190
- package/src/components/product/Supervisory/SupervisoryhCart.vue +4 -2
- package/src/components/product/VueUtils/Tree.vue +330 -0
- package/src/components/product/VueUtils/rightview/InstallCardList2.vue +29 -38
- package/src/stores/ApplyLoadParams.js +1 -1
- package/src/stores/PagedListLogic.js +173 -0
- package/.npmignore +0 -12
- package/yarn.lock +0 -9008
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
|
|
2
|
+
/*=========================通用样式表=========================*/
|
|
3
|
+
@font-face {
|
|
4
|
+
font-family: PingFang;
|
|
5
|
+
src:url('../fonts/PingFangSC-Regular.ttf');
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
/********************字体*****************/
|
|
10
|
+
/*字体标题_粗体*/
|
|
11
|
+
.font_bold_title{font-weight: bold; color: #333333;text-align: right;vertical-align: middle;}
|
|
12
|
+
/*字体正文_粗体*/
|
|
13
|
+
.font_bold_body{ font-family: PingFang; font-weight: bold;color: #666666;text-align: right;vertical-align: middle; }
|
|
14
|
+
/*字体_粗体*/
|
|
15
|
+
.font_bold_title1{ font-family: PingFang; font-weight: bold;color: #999999;text-align: right;vertical-align: middle;}
|
|
16
|
+
/*字体按钮_粗体*/
|
|
17
|
+
.font_bold_button{ font-family: PingFang; font-weight: bold;color: #ffffff;text-align: right;vertical-align: middle;}
|
|
18
|
+
/*字体蓝色_粗体*/
|
|
19
|
+
.font_bold_blue{ font-family: PingFang; font-weight: bold;color: #6aa6e2;text-align: right;vertical-align: middle;}
|
|
20
|
+
|
|
21
|
+
/*字体标题_正常*/
|
|
22
|
+
.font_normal_title{ font-family: PingFang; font-weight: normal;color: #333333!important;text-align: right;vertical-align: middle;}
|
|
23
|
+
/*字体正文_正常*/
|
|
24
|
+
.font_normal_body{ font-family: PingFang; font-weight: normal !important;color: #666666!important;text-align: right;vertical-align: middle;}
|
|
25
|
+
/*字体_正常*/
|
|
26
|
+
.font_normal_title1{ font-family: PingFang;font-weight: normal;color: #999999!important;text-align: right;vertical-align: middle;}
|
|
27
|
+
/*字体按钮_正常*/
|
|
28
|
+
.font_normal_button{ font-family: PingFang;font-weight: normal;color: #ffffff!important;text-align: right;vertical-align: middle;}
|
|
29
|
+
/*字体蓝色_正常*/
|
|
30
|
+
.font_normal_blue{ font-family: PingFang;font-weight: normal;color: #6aa6e2!important;text-align: right;vertical-align: middle;}
|
|
31
|
+
|
|
32
|
+
.search_area{background-color: #ffffff; border-radius: 10px;margin-bottom: 20px;padding: 20px}
|
|
33
|
+
.list_area{background-color: #ffffff; border-radius: 10px;padding: 20px}
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
/********************表格*****************/
|
|
37
|
+
.table_sy{margin-top: 6px}
|
|
38
|
+
/*表格表头*/
|
|
39
|
+
.table_sy thead tr th{background-color: #eaf5ff!important;color: #666666 !important;font-family: PingFang !important;font-weight: normal!important;}
|
|
40
|
+
/*表格主体_奇数行*/
|
|
41
|
+
.table_sy tbody tr:nth-child(odd){background-color: #ffffff !important;border: solid 1px #f0f4fa !important;color: #666666!important;font-size: 15px!important;font-family: PingFang!important;}
|
|
42
|
+
/*表格主体_偶数行*/
|
|
43
|
+
.table_sy tbody tr:nth-child(even){background-color: #f6fbff !important;border: solid 1px #f0f4fa !important;color: #666666!important;font-size: 15px!important;font-family: PingFang!important;}
|
|
44
|
+
/*表格主体_移动行*/
|
|
45
|
+
.table_sy tbody tr:hover{ background-color: #ecf6ff!important;border: solid 1px #f0f4fa !important;color: #666666!important;font-size: 15px!important;font-family: PingFang!important;}
|
|
46
|
+
/*表格底部*/
|
|
47
|
+
.pager{background-color: #eaf5ff !important;}
|
|
48
|
+
/*表格主体_点击行*/
|
|
49
|
+
.success td{background-color: #ecf6ff !important;}
|
|
50
|
+
|
|
51
|
+
.foot{font-family: PingFang !important;}
|
|
52
|
+
|
|
53
|
+
/*下拉列表滑动变色*/
|
|
54
|
+
.select_list li a:hover{background-color: #eaf5ff !important;border-radius: 2px;border: solid 1px #eaeaea;}
|
|
55
|
+
|
|
56
|
+
/*弹窗*/
|
|
57
|
+
.pop_windows{background-color: #d9e9f8;border-radius: 16px 16px 0px 0px;}
|
|
58
|
+
/*标签*/
|
|
59
|
+
.tab_color{border-bottom: 1px solid #6aa6e2; color: #6aa6e2; font-family: PingFang;}
|
|
60
|
+
|
|
61
|
+
/*按钮间隔*/
|
|
62
|
+
.button_spacing{margin: 0px 0px 0px 10px;}
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
//报表样式
|
|
66
|
+
//报表头部
|
|
67
|
+
.report-head{ background-color: #b3dff7;border: solid 1px #999999;}
|
|
68
|
+
//头部字体
|
|
69
|
+
.head-font{color: #333333;font-size: 18px; }
|
|
70
|
+
//报表左侧
|
|
71
|
+
.report-left{background-color: #dff0f9;border: solid 1px #999999;}
|
|
72
|
+
//报表主体
|
|
73
|
+
.report-main {background-color: #ffffff; border: solid 1px #999999;}
|
|
74
|
+
//报表主体字体
|
|
75
|
+
.main-font{font-size: 18px;color: #1b1b1b; }
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
/*=========================特殊样式表=========================*/
|
|
79
|
+
|
|
80
|
+
/*分辨率@1920*1080*/
|
|
81
|
+
@media screen and (max-width: 1920px) {
|
|
82
|
+
|
|
83
|
+
/********************按钮*****************/
|
|
84
|
+
|
|
85
|
+
.font_normal_body{font-size: 16px!important; line-height: 42px;}
|
|
86
|
+
.font_bold_body{font-size: 16px!important; line-height: 42px;}
|
|
87
|
+
.font_bold_title{font-size: 16px!important; line-height: 42px;}
|
|
88
|
+
.table_sy thead tr th{font-size: 16px !important;}
|
|
89
|
+
.foot .pager{ font-size: 16px!important; color: #666666!important;font-weight: normal!important;}
|
|
90
|
+
.foot .pager a{ font-size: 16px!important; color: #666666!important;font-weight: normal!important;}
|
|
91
|
+
.foot .pager li{ font-size: 16px!important; color: #666666!important;font-weight: normal!important;}
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
/*按钮查询*/
|
|
95
|
+
.button_search{width: 75px; height: 40px; background-color: #6aa6e2; border-radius: 4px; border:none; font-family: PingFang; font-size: 16px; color: #ffffff;}
|
|
96
|
+
.button_search:hover{ background-color: #3592ef;}
|
|
97
|
+
|
|
98
|
+
/*按钮清空*/
|
|
99
|
+
.button_clear{width: 75px; height: 40px; background-color: #5ac0d9; border-radius: 4px;border:none; font-family: PingFang; font-size: 16px; color: #ffffff;}
|
|
100
|
+
.button_clear:hover{ background-color: #27c4eb;}
|
|
101
|
+
|
|
102
|
+
/*按钮新建*/
|
|
103
|
+
.button_new{width: 75px; height: 40px; background-color: #ffffff;border-radius: 4px;border: solid 1px #6aa6e2; font-family: PingFang; font-size: 16px; color: #6aa6e2;}
|
|
104
|
+
.button_new:hover{background-color: #f0f8ff;}
|
|
105
|
+
|
|
106
|
+
/*按钮导出*/
|
|
107
|
+
.button_export {width: 110px; height: 40px; background-color: #ffffff;border-radius: 4px;border: solid 1px #6aa6e2; font-family: PingFang; font-size: 16px; color: #6aa6e2;}
|
|
108
|
+
.button_export:hover{background-color: #f0f8ff;}
|
|
109
|
+
.button_export button{width: 110px; height: 40px; background-color: #ffffff;border-radius: 4px;border: solid 1px #6aa6e2; font-family: PingFang; font-size: 16px; color: #6aa6e2;}
|
|
110
|
+
.button_export button:hover{background-color: #f0f8ff;}
|
|
111
|
+
|
|
112
|
+
/*查询输入框*/
|
|
113
|
+
.input_search{ width: 270px;height: 40px;background-color: #ffffff;border-radius: 2px;border: solid 1px #c7c7c7;color: #333333; font-size: 16px;font-family: PingFang;}
|
|
114
|
+
.input_search .datepicker .datepicker-input input{ width: 270px!important;height: 42px!important;background-color: #ffffff!important;border-radius: 2px;border: solid 1px #c7c7c7 !important;color: #333333; font-size: 16px;font-family: PingFang;}
|
|
115
|
+
.input_search::-webkit-input-placeholder{color: #999999; font-size: 16px;padding-left:15px;font-family: PingFang;}
|
|
116
|
+
.input_search:focus{ border: solid 1px #6aa6e2;}
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
/*下拉框*/
|
|
120
|
+
.select button{width: 270px!important;height: 40px!important;background-color: #ffffff!important;border-radius: 2px!important;border: solid 1px #c7c7c7!important;color: #666666; font-size: 16px;font-family: PingFang;font-weight: normal!important;}
|
|
121
|
+
.select button:focus{ border: solid 1px #6aa6e2!important;}
|
|
122
|
+
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/*分辨率@1600*900*/
|
|
126
|
+
@media screen and (max-width: 1600px) {
|
|
127
|
+
|
|
128
|
+
/********************按钮*****************/
|
|
129
|
+
/*按钮间隔*/
|
|
130
|
+
/*.button_spacing{margin: 0px 0px 0px 20px;}*/
|
|
131
|
+
.font_normal_body{font-size: 15px!important; line-height: 38px; }
|
|
132
|
+
.font_bold_body{font-size: 15px!important; line-height: 38px; }
|
|
133
|
+
.font_bold_title{font-size: 15px!important; line-height: 38px; }
|
|
134
|
+
.table_sy thead tr th{font-size: 15px !important;}
|
|
135
|
+
.foot .pager{ font-size: 15px!important; color: #666666!important;font-weight: normal!important;}
|
|
136
|
+
.foot .pager a{ font-size: 15px!important; color: #666666!important;font-weight: normal!important;}
|
|
137
|
+
.foot .pager li{ font-size: 15px!important; color: #666666!important;font-weight: normal!important;}
|
|
138
|
+
|
|
139
|
+
/*按钮查询*/
|
|
140
|
+
.button_search{width: 70px; height: 36px; background-color: #6aa6e2; border-radius: 4px; border:none; font-family: PingFang; font-size: 15px; color: #ffffff;}
|
|
141
|
+
.button_search:hover{ background-color: #3592ef;}
|
|
142
|
+
|
|
143
|
+
/*按钮清空*/
|
|
144
|
+
.button_clear{width: 70px; height: 36px; background-color: #5ac0d9; border-radius: 4px;border:none; font-family: PingFang; font-size: 15px; color: #ffffff;}
|
|
145
|
+
.button_clear:hover{ background-color: #27c4eb;}
|
|
146
|
+
|
|
147
|
+
/*按钮新建*/
|
|
148
|
+
.button_new{width: 70px; height: 36px; background-color: #ffffff;border-radius: 4px;border: solid 1px #6aa6e2; font-family: PingFang; font-size: 15px; color: #6aa6e2;}
|
|
149
|
+
.button_new:hover{background-color: #f0f8ff;}
|
|
150
|
+
|
|
151
|
+
/*按钮导出*/
|
|
152
|
+
.button_export {width: 110px; height: 36px; background-color: #ffffff;border-radius: 4px;border: solid 1px #6aa6e2; font-family: PingFang; font-size: 15px; color: #6aa6e2;}
|
|
153
|
+
.button_export:hover{background-color: #f0f8ff;}
|
|
154
|
+
.button_export button{width: 120px; height: 32px; background-color: #ffffff;border-radius: 4px;border: solid 1px #6aa6e2; font-family: PingFang; font-size: 15px; color: #6aa6e2;}
|
|
155
|
+
.button_export button:hover{background-color: #f0f8ff;}
|
|
156
|
+
|
|
157
|
+
/*查询输入框*/
|
|
158
|
+
.input_search{ width: 200px;height: 36px;background-color: #ffffff;border-radius: 2px;border: solid 1px #c7c7c7!important;color: #333333!important; font-size: 15px!important;font-family: PingFang;}
|
|
159
|
+
.input_search::-webkit-input-placeholder{color: #999999; font-size: 14px;padding-left:15px;font-family: PingFang;}
|
|
160
|
+
.input_search:focus{ border: solid 1px #6aa6e2;}
|
|
161
|
+
|
|
162
|
+
/*下拉框*/
|
|
163
|
+
.select button{width: 200px!important;height: 36px!important;background-color: #ffffff!important;border-radius: 2px!important;border: solid 1px #c7c7c7!important;color: #666666!important; font-size: 15px!important;font-family: PingFang;font-weight: normal!important;}
|
|
164
|
+
.select button:focus{ border: solid 1px #6aa6e2!important;}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/*分辨率@1366*768*/
|
|
168
|
+
@media screen and (max-width: 1366px) {
|
|
169
|
+
|
|
170
|
+
/********************按钮*****************/
|
|
171
|
+
/*按钮间隔*/
|
|
172
|
+
/*.button_spacing{margin: 0px 0px 0px 20px;}*/
|
|
173
|
+
.font_normal_body{font-size: 14px!important; line-height: 36px; }
|
|
174
|
+
.font_bold_body{font-size: 14px!important; line-height: 36px; }
|
|
175
|
+
.font_bold_title{font-size: 14px!important; line-height: 36px; }
|
|
176
|
+
.table_sy thead tr th{font-size: 14px !important;}
|
|
177
|
+
.foot .pager{ font-size: 14px!important; color: #666666!important;font-weight: normal!important;}
|
|
178
|
+
.foot .pager a{ font-size: 14px!important; color: #666666!important;font-weight: normal!important;}
|
|
179
|
+
.foot .pager li{ font-size: 14px!important; color: #666666!important;font-weight: normal!important;}
|
|
180
|
+
|
|
181
|
+
/*按钮查询*/
|
|
182
|
+
.button_search{width: 60px; height: 34px; background-color: #6aa6e2; border-radius: 4px; border:none; font-family: PingFang; font-size: 14px; color: #ffffff;}
|
|
183
|
+
.button_search:hover{ background-color: #3592ef;}
|
|
184
|
+
|
|
185
|
+
/*按钮清空*/
|
|
186
|
+
.button_clear{width: 60px; height: 34px; background-color: #5ac0d9; border-radius: 4px;border:none; font-family: PingFang; font-size: 14px; color: #ffffff;}
|
|
187
|
+
.button_clear:hover{ background-color: #27c4eb;}
|
|
188
|
+
|
|
189
|
+
/*按钮新建*/
|
|
190
|
+
.button_new{width: 60px; height: 34px; background-color: #ffffff;border-radius: 4px;border: solid 1px #6aa6e2; font-family: PingFang; font-size: 14px; color: #6aa6e2;}
|
|
191
|
+
.button_new:hover{background-color: #f0f8ff;}
|
|
192
|
+
|
|
193
|
+
/*按钮导出*/
|
|
194
|
+
.button_export {width: 110px; height: 34px; background-color: #ffffff;border-radius: 4px;border: solid 1px #6aa6e2; font-family: PingFang; font-size: 14px; color: #6aa6e2;}
|
|
195
|
+
.button_export:hover{background-color: #f0f8ff;}
|
|
196
|
+
.button_export button{width: 110px !important; height: 34px!important; background-color: #ffffff!important;border-radius: 4px!important;border: solid 1px #6aa6e2!important; font-family: PingFang; font-size: 14px!important; color: #6aa6e2!important;}
|
|
197
|
+
.button_export button:hover{background-color: #f0f8ff;}
|
|
198
|
+
|
|
199
|
+
/*查询输入框*/
|
|
200
|
+
.input_search{ width: 180px;height: 34px;background-color: #ffffff;border-radius: 2px;border: solid 1px #c7c7c7;color: #333333; font-size: 14px;font-family: PingFang;}
|
|
201
|
+
.input_search::-webkit-input-placeholder{color: #999999; font-size: 14px;padding-left:15px;font-family: PingFang;}
|
|
202
|
+
.input_search:focus{ border: solid 1px #6aa6e2;}
|
|
203
|
+
|
|
204
|
+
/*下拉框*/
|
|
205
|
+
.select button{width: 180px!important;height: 34px!important;background-color: #ffffff!important;border-radius: 2px!important;border: solid 1px #c7c7c7!important;color: #666666!important; font-size: 14px!important;font-family: PingFang;font-weight: normal!important;}
|
|
206
|
+
.select button:focus{ border: solid 1px #6aa6e2!important;}
|
|
207
|
+
|
|
208
|
+
}
|
package/src/components/Util.js
CHANGED
|
@@ -21,6 +21,10 @@ export function getAttendanceState (item, timeToWork, timeToGo) {
|
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
export function isEmpty (str) {
|
|
25
|
+
return str === undefined || str === null || str.toString().trim() === ''
|
|
26
|
+
}
|
|
27
|
+
|
|
24
28
|
export function toStandardYearMonth () {
|
|
25
29
|
let dt = new Date()
|
|
26
30
|
let month = dt.getMonth() + 1
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
<div class="row auto">
|
|
6
6
|
<div class="col-xs-12 col-sm-6 col-md-6 form-input-group mg8">
|
|
7
7
|
<label class="text-justify lb-left" for="f_install_num">实际可安装用户:</label>
|
|
8
|
-
<input type="
|
|
8
|
+
<input type="number" class="form-control" id="f_install_num" v-model="model.f_install_num" >
|
|
9
9
|
</div>
|
|
10
10
|
<div class="col-xs-12 col-sm-6 col-md-6 form-input-group" >
|
|
11
11
|
<label class="text-justify lb-left" for="costmatter">缴费户数:</label>
|
|
12
|
-
<input type="
|
|
12
|
+
<input type="number" class="form-control" id="costmatter" v-model="model.f_payfee_num" >
|
|
13
13
|
</div>
|
|
14
14
|
<div class="col-xs-12 col-sm-6 col-md-6 form-input-group">
|
|
15
15
|
<label class="text-justify lb-left" >用气类型:</label>
|
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
</div>
|
|
10
10
|
<div class="col-xs-12 col-sm-6 col-md-6 form-input-group" :class="[$v.f_gas_number.pattern ? 'has-error' : '']">
|
|
11
11
|
<label class="text-justify lb-left" for="f_gas_number">通气户数:</label>
|
|
12
|
-
<input type="
|
|
12
|
+
<input type="number" class="form-control" id="f_gas_number" v-model="model.f_gas_number" v-validate:f_gas_number="{pattern:'/^[+]{0,1}(\\d+)$|^[+]{0,1}(\\d+\\.\\d+)$/'}">
|
|
13
13
|
</div>
|
|
14
14
|
<div class="col-xs-12 col-sm-6 col-md-6 form-input-group" :class="[$v.f_notgas_number.pattern ? 'has-error' : '']">
|
|
15
15
|
<label class="text-justify lb-left" for="f_notgas_number">未通气户数:</label>
|
|
16
|
-
<input type="
|
|
16
|
+
<input type="number" class="form-control" id="f_notgas_number" v-model="model.f_notgas_number" v-validate:f_notgas_number="{pattern:'/^[+]{0,1}(\\d+)$|^[+]{0,1}(\\d+\\.\\d+)$/'}">
|
|
17
17
|
</div>
|
|
18
18
|
<div class="col-xs-12 col-sm-6 col-md-6 form-input-group" :class="$v.f_regulatoruser.required ? 'has-error' : ''">
|
|
19
19
|
<label class="text-justify lb-left" for="f_regulatoruser">调压人员:</label>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/src/components/image//345/244/232/350/276/271/345/275/2422/346/213/267/350/264/235.png
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="full">
|
|
2
|
+
<div class="full" style="background-color: #f6f6f6;">
|
|
3
3
|
<div class="flex-row">
|
|
4
|
-
<div class="flex" style="flex: 1" :style="{height: totalheight}">
|
|
4
|
+
<div class="flex" style="flex: 1" :style="{height: totalheight,width:'80%'}">
|
|
5
5
|
<div class="flex col-sm-12" :style="{height: leftheight}">
|
|
6
6
|
<installinfoselect v-ref:installselect></installinfoselect>
|
|
7
7
|
</div>
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
<route v-ref:route></route>
|
|
22
22
|
</div>
|
|
23
23
|
</div>
|
|
24
|
-
<div style="width:
|
|
24
|
+
<div style="width: 20%;padding:0px 0px 0px 0px;margin-left: 0px">
|
|
25
25
|
<install-apply-cardlist :btns="operatebtn" :userinfoid="row ? row.f_userinfo_id : ''" @list-select-oper="recordCancel"
|
|
26
26
|
v-ref:card></install-apply-cardlist>
|
|
27
27
|
</div>
|
|
@@ -50,7 +50,11 @@
|
|
|
50
50
|
},
|
|
51
51
|
created(){
|
|
52
52
|
let http = new HttpResetClass()
|
|
53
|
-
|
|
53
|
+
let xmldata = {
|
|
54
|
+
data: this.$login.f,
|
|
55
|
+
workname: '工商业报建流程'
|
|
56
|
+
}
|
|
57
|
+
http.load('POST','rs/logic/ApplyGetConfigs', {data: xmldata}, {resolveMsg: null, rejectMsg: null}
|
|
54
58
|
).then((res)=>{
|
|
55
59
|
if(res.data.code && res.data.code == 200){
|
|
56
60
|
Vue.function_vue = Vue.prototype.$function_vue = res.data.function_vue
|
|
@@ -91,7 +95,7 @@
|
|
|
91
95
|
// this.show = true
|
|
92
96
|
this.showallbtn = true
|
|
93
97
|
this.leftheight = '25%'
|
|
94
|
-
this.totalheight = '
|
|
98
|
+
this.totalheight = '100%'
|
|
95
99
|
},
|
|
96
100
|
'hiddenbtn'() {
|
|
97
101
|
this.showallbtn = false
|
|
@@ -1,75 +1,60 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="d1 flex">
|
|
3
|
-
<div class="left col-sm-12">
|
|
3
|
+
<div class="left col-sm-12" v-if="refreshed">
|
|
4
4
|
<criteria-paged :model="model" v-ref:cp>
|
|
5
|
-
<criteria partial='criteria' @condition-changed='search' v-ref:cri>
|
|
5
|
+
<criteria partial='criteria' @condition-changed='search' v-ref:cri style="padding: 20px;background-color: #f6f6f6;">
|
|
6
6
|
<form novalidate class="" partial>
|
|
7
|
-
<div class="col-sm-
|
|
8
|
-
<div class="col-sm-
|
|
9
|
-
<
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
<div class="col-sm-12">
|
|
8
|
+
<div class="form-group col-sm-4">
|
|
9
|
+
<label class=" col-sm-6" style="padding-top: 8px">联系人/项目名称/用户名称:</label>
|
|
10
|
+
<div class="col-sm-6">
|
|
11
|
+
<input type="text" class="form-control" v-model="model.f_user_name"
|
|
12
|
+
condition=" (f_user_name like '%{}%' or f_entry_name like '%{}%' or f_company_name like '%{}%') " placeholder='三选一输入'>
|
|
12
13
|
</div>
|
|
13
14
|
</div>
|
|
14
|
-
<div class="col-sm-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
<div class="col-sm-1">
|
|
16
|
+
<!--<label class="col-sm-6">合同编号</label>-->
|
|
17
|
+
<div class="col-sm-12">
|
|
18
|
+
<input type="text" class="form-control" placeholder='合同编号' v-model="model.f_contract_number"
|
|
19
|
+
v-on:keyup.enter="search"
|
|
20
|
+
condition="f_contract_number like '%{}%'">
|
|
18
21
|
</div>
|
|
19
22
|
</div>
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
<div class="col-sm-
|
|
23
|
-
<input type="text" class="form-control" v-model="model.f_address"
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
</div> -->
|
|
27
|
-
<div class="col-sm-2">
|
|
28
|
-
<!--<label for="f_user_name" class="col-sm-6"><nobr> 小区:</nobr></label>-->
|
|
29
|
-
<div class="col-sm-11">
|
|
30
|
-
<input type="text" class="form-control" v-model="model.f_residential_area" v-on:keyup.enter="search"
|
|
31
|
-
condition="f_residential_area like '{}%'" placeholder="小区">
|
|
23
|
+
<div class="col-sm-1">
|
|
24
|
+
<!--<label class="col-sm-6">用户地址</label>-->
|
|
25
|
+
<div class="col-sm-12">
|
|
26
|
+
<input type="text" class="form-control" placeholder='用户地址' v-model="model.f_address"
|
|
27
|
+
v-on:keyup.enter="search"
|
|
28
|
+
condition="f_address like '%{}%'">
|
|
32
29
|
</div>
|
|
33
30
|
</div>
|
|
34
|
-
<div class="col-sm-
|
|
35
|
-
<!--<label
|
|
36
|
-
<div class="col-sm-
|
|
37
|
-
<v-select :options="$parent.$parent.
|
|
31
|
+
<div class="col-sm-1">
|
|
32
|
+
<!--<label class="col-sm-6"> 报建类型:</label>-->
|
|
33
|
+
<div class="col-sm-12" v-if="!this.$login.f.f_fengongsi.includes('中燃')">
|
|
34
|
+
<v-select :width ="'100%'" style="width: 100%" :options="$parent.$parent.applytype" placeholder='报建类型' condition="f_apply_type like '%{}%'"
|
|
38
35
|
v-model="model.f_apply_type" :value.sync="model.f_apply_type" close-on-select>
|
|
39
36
|
</v-select>
|
|
40
37
|
</div>
|
|
41
|
-
<div class="col-sm-11" v-else>
|
|
42
|
-
<v-select :options="$parent.$parent.usertype" placeholder='用户类型' condition="f_user_type like '{}%'"
|
|
43
|
-
v-model="model.f_user_type" :value.sync="model.f_user_type" close-on-select>
|
|
44
|
-
</v-select>
|
|
45
|
-
</div>
|
|
46
38
|
</div>
|
|
47
39
|
<div class="col-sm-2">
|
|
48
|
-
|
|
49
|
-
<div class="col-sm-
|
|
50
|
-
<v-select :options="$parent.$parent.
|
|
51
|
-
condition="
|
|
40
|
+
<label class="col-sm-6">办理环节:</label>
|
|
41
|
+
<div class="col-sm-6">
|
|
42
|
+
<v-select :width ="'90%'" @change="$dispatch('setQueryCondition',model)" :options="$parent.$parent.defnames"
|
|
43
|
+
condition="defname = '{}'" placeholder='办理环节'
|
|
52
44
|
v-model="model.defname" :value.sync="model.defname" close-on-select>
|
|
53
45
|
</v-select>
|
|
54
46
|
</div>
|
|
55
47
|
</div>
|
|
56
|
-
<div class="col-sm-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
48
|
+
<div class="col-sm-1">
|
|
49
|
+
<input type="text" class="form-control" placeholder='经办人' v-model="model.f_survey_name"
|
|
50
|
+
v-on:keyup.enter="search"
|
|
51
|
+
condition=" (f_apply_kefu_employee like '%{}%' or f_survey_name like '%{}%') ">
|
|
52
|
+
</div>
|
|
53
|
+
<div class="col-sm-1">
|
|
54
|
+
<button class="btn btn-primary btn-sm" type="button" @click="search(),$parent.$parent.showpager()">
|
|
55
|
+
<span class="glyphicon glyphicon-search"></span>查询
|
|
56
|
+
</button>
|
|
63
57
|
</div>
|
|
64
|
-
</div>
|
|
65
|
-
|
|
66
|
-
<div class="col-sm-2">
|
|
67
|
-
<center>
|
|
68
|
-
<div class="col-sm-10 pull-right">
|
|
69
|
-
<button class="btn btn-primary btn-sm" type="button" @click="search(),$parent.$parent.showpager()">
|
|
70
|
-
<span class="glyphicon glyphicon-search"></span>查询</button>
|
|
71
|
-
</div>
|
|
72
|
-
</center>
|
|
73
58
|
</div>
|
|
74
59
|
</form>
|
|
75
60
|
</criteria>
|
|
@@ -80,26 +65,30 @@
|
|
|
80
65
|
<nobr>序号</nobr>
|
|
81
66
|
</th>
|
|
82
67
|
<th>
|
|
83
|
-
<nobr
|
|
68
|
+
<nobr>当前环节</nobr>
|
|
84
69
|
</th>
|
|
70
|
+
<th><nobr>联系人/项目名称/用户名称</nobr></th>
|
|
85
71
|
<th>
|
|
86
|
-
<nobr
|
|
72
|
+
<nobr>合同编号</nobr>
|
|
87
73
|
</th>
|
|
88
74
|
<th>
|
|
89
|
-
<nobr
|
|
75
|
+
<nobr>电话</nobr>
|
|
76
|
+
</th>
|
|
77
|
+
<th>
|
|
78
|
+
<nobr>地址</nobr>
|
|
90
79
|
</th>
|
|
91
80
|
<th v-if="!this.$login.f.f_fengongsi.includes('中燃')">
|
|
92
81
|
<nobr>用户类型</nobr>
|
|
93
82
|
</th>
|
|
94
83
|
<th>
|
|
95
|
-
<nobr
|
|
84
|
+
<nobr>报建类型</nobr>
|
|
96
85
|
</th>
|
|
97
86
|
<th>
|
|
98
87
|
<nobr>报建日期</nobr>
|
|
99
88
|
</th>
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
89
|
+
<!--<th>-->
|
|
90
|
+
<!--<nobr>申请户数</nobr>-->
|
|
91
|
+
<!--</th>-->
|
|
103
92
|
<th>
|
|
104
93
|
<nobr>操作</nobr>
|
|
105
94
|
</th>
|
|
@@ -114,30 +103,36 @@
|
|
|
114
103
|
<nobr>{{row.defname}}</nobr>
|
|
115
104
|
</td>
|
|
116
105
|
<td style="text-align: center;">
|
|
117
|
-
<nobr>{{row.f_user_name}}</nobr>
|
|
106
|
+
<nobr>{{row.f_user_name}}/{{row.f_entry_name}}/{{row.f_company_name}}</nobr>
|
|
107
|
+
</td>
|
|
108
|
+
<td style="text-align: center;">
|
|
109
|
+
<nobr>{{row.f_contract_number}}</nobr>
|
|
110
|
+
</td>
|
|
111
|
+
<td style="text-align: center;">
|
|
112
|
+
<nobr>{{row.f_phone}}</nobr>
|
|
118
113
|
</td>
|
|
119
114
|
<td style="text-align: center;">
|
|
120
|
-
<nobr>{{row.
|
|
115
|
+
<nobr>{{row.f_address}}</nobr>
|
|
121
116
|
</td>
|
|
122
117
|
<td style="text-align: center;" v-if="!this.$login.f.f_fengongsi.includes('中燃')">
|
|
123
118
|
<nobr>{{row.f_user_type}}</nobr>
|
|
124
119
|
</td>
|
|
125
120
|
<td style="text-align: center;">
|
|
126
|
-
<nobr>{{row.
|
|
121
|
+
<nobr>{{row.f_apply_type}}</nobr>
|
|
127
122
|
</td>
|
|
128
123
|
<td style="text-align: center;">
|
|
129
124
|
<nobr>{{row.f_apply_date}}</nobr>
|
|
130
125
|
</td>
|
|
126
|
+
<!--<td style="text-align: center;">-->
|
|
127
|
+
<!--<nobr>{{row.f_apply_count}}</nobr>-->
|
|
128
|
+
<!--</td>-->
|
|
131
129
|
<td style="text-align: center;">
|
|
132
|
-
<
|
|
133
|
-
|
|
134
|
-
<td style="text-align: center;">
|
|
135
|
-
<dropdown v-if="row.defname != '完工'">
|
|
136
|
-
<button type="button" data-toggle="dropdown" style="border: 0px;background: none;">
|
|
130
|
+
<dropdown v-if="row.defname != '完工'" >
|
|
131
|
+
<button @click="$dispatch('checkfuncs',row)" type="button" data-toggle="dropdown" style="border: 0px;background: none;">
|
|
137
132
|
<span class="glyphicon glyphicon-th-list" style="position: inherit;"></span>
|
|
138
133
|
</button>
|
|
139
134
|
<ul slot="dropdown-menu" class="dropdown-menu dropdown-menu-right">
|
|
140
|
-
<li v-for="(index,func) in $
|
|
135
|
+
<li v-for="(index,func) in $parent.$parent.$parent.funcs">
|
|
141
136
|
<a href="#" @click="$dispatch('func',func,row)">{{func.title}}</a>
|
|
142
137
|
</li>
|
|
143
138
|
</ul>
|
|
@@ -151,6 +146,7 @@
|
|
|
151
146
|
</div>
|
|
152
147
|
</template>
|
|
153
148
|
<script>
|
|
149
|
+
import {HttpResetClass} from 'vue-client'
|
|
154
150
|
import {
|
|
155
151
|
PagedList
|
|
156
152
|
} from 'vue-client'
|
|
@@ -159,13 +155,16 @@
|
|
|
159
155
|
title: '报建业务信息',
|
|
160
156
|
data() {
|
|
161
157
|
return {
|
|
158
|
+
refreshed:true,
|
|
162
159
|
usertype: this.$appdata.getParam('用户类型'),
|
|
163
160
|
defnameType: this.$appdata.getParam('流程状态'),
|
|
164
161
|
applytype: this.$appdata.getParam('报建类型'),
|
|
165
162
|
//中燃 专用
|
|
166
163
|
fapplytype: this.$appdata.getParam('用户类型'),
|
|
164
|
+
funcs:[],
|
|
165
|
+
defnames:[],
|
|
167
166
|
showbtn: false,
|
|
168
|
-
model: new PagedList('rs/sql/
|
|
167
|
+
model: new PagedList('rs/sql/checkuserfunction', 20, {
|
|
169
168
|
data: {
|
|
170
169
|
id: this.$login.f.id,
|
|
171
170
|
fengongsi: this.$login.f.f_fengongsi
|
|
@@ -176,8 +175,38 @@
|
|
|
176
175
|
},
|
|
177
176
|
ready() {
|
|
178
177
|
this.$refs.cp.$refs.cri.search()
|
|
178
|
+
let http = new HttpResetClass()
|
|
179
|
+
http.load('POST', 'rs/sql/getDefnamesForActivityins', {data:{}}, {
|
|
180
|
+
resolveMsg: null,
|
|
181
|
+
rejectMsg: null
|
|
182
|
+
}).then((res)=>{
|
|
183
|
+
// 先获取所有流程环节
|
|
184
|
+
this.defnames = [{label: '全部', value: ''}]
|
|
185
|
+
for(let i=0;i<res.data.length;i++){
|
|
186
|
+
this.defnames.push({label:res.data[i].defname,value:res.data[i].defname})
|
|
187
|
+
}
|
|
188
|
+
})
|
|
189
|
+
},
|
|
190
|
+
events:{
|
|
191
|
+
async checkfuncs(row){
|
|
192
|
+
if(row.defname =='报装申请'||row.defname =='任务分配'||row.defname =='勘察初设'||row.defname =='合同信息'||row.defname =='合同审核'){
|
|
193
|
+
let temp = JSON.parse(JSON.stringify(this.$function_vue.functions))
|
|
194
|
+
delete temp[0]
|
|
195
|
+
this.funcs = temp // test.splice(1, 1);
|
|
196
|
+
// this.update()
|
|
197
|
+
}else {
|
|
198
|
+
this.funcs = this.$function_vue.functions
|
|
199
|
+
// this.update()z
|
|
200
|
+
}
|
|
201
|
+
}
|
|
179
202
|
},
|
|
180
203
|
methods: {
|
|
204
|
+
update(){
|
|
205
|
+
this.refreshed = false
|
|
206
|
+
this.$nextTick(()=>{
|
|
207
|
+
this.refreshed = true
|
|
208
|
+
})
|
|
209
|
+
},
|
|
181
210
|
clifun(row) {
|
|
182
211
|
this.$refs.cp.$refs.grid.model.rows = [row]
|
|
183
212
|
this.$refs.cp.pager = false
|