safecheck-client 4.0.0-8 → 4.0.0-80

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 (121) hide show
  1. package/package.json +2 -2
  2. package/src/components/NewDefectList/DefectListNew.vue +11 -11
  3. package/src/components/NewDefectList/DefectPaperNew.vue +44 -44
  4. package/src/components/Util/ImgSelfSafePlus.vue +13 -3
  5. package/src/components/android/AndroidDefectDeal.vue +1 -1
  6. package/src/components/android/AndroidDefectDealBeforeSafe.vue +1 -1
  7. package/src/components/android/AndroidDefectDetails.vue +725 -0
  8. package/src/components/android/BlackUserOnLine.vue +2 -2
  9. package/src/components/android/Insurance/PhoneInsurancePurchase.vue +1 -1
  10. package/src/components/android/Insurance/PhoneInsurancePurchaseDetail.vue +4 -4
  11. package/src/components/android/NewCheckpaperAndroid.vue +28 -21
  12. package/src/components/android/PaperFeedback.vue +15 -13
  13. package/src/components/android/PaperFeedbackTemp.vue +2 -2
  14. package/src/components/android/PhoneUpUserinfo.vue +20 -0
  15. package/src/components/android/RelieveRestrict.vue +1 -1
  16. package/src/components/android/Restriction.vue +1 -1
  17. package/src/components/android/SafecheckDevices.vue +47 -2
  18. package/src/components/android/SafecheckOrderV.vue +2 -2
  19. package/src/components/android/SealBind.vue +392 -0
  20. package/src/components/android/SealManage.vue +250 -0
  21. package/src/components/inspections/inspectionFeedback.vue +2 -2
  22. package/src/components/paper/PaperList.vue +360 -332
  23. package/src/components/pc/AddToCheckBook.vue +100 -23
  24. package/src/components/pc/CheckBook.vue +2 -0
  25. package/src/components/pc/CheckBookDetails.vue +6 -39
  26. package/src/components/pc/CheckBookEntry.vue +6 -7
  27. package/src/components/pc/CheckBookList.vue +61 -72
  28. package/src/components/pc/CheckBookSearchArea.vue +20 -24
  29. package/src/components/pc/CheckBookSearchUser.vue +139 -84
  30. package/src/components/pc/CheckBookSearchUserList.vue +1 -2
  31. package/src/components/pc/CheckBookUser.vue +276 -44
  32. package/src/components/pc/NewCheckpaper.vue +14 -8
  33. package/src/components/pc/NewCheckpaperTemp.vue +5 -5
  34. package/src/components/pc/PaperDefectMain.vue +1 -0
  35. package/src/components/planmanage/PlanManage.vue +825 -821
  36. package/src/components/planmanage/checkPlanList.vue +28 -0
  37. package/src/components/planmanage/checkUserList.vue +346 -346
  38. package/src/components/querycheckpaper/CheckSearchUser.vue +68 -68
  39. package/src/components/report/CheckPlanAreaList.vue +266 -266
  40. package/src/components/rongcheng/AspPaperFeedback.vue +1 -1
  41. package/src/components/rongcheng/PaperFeedback.vue +2 -2
  42. package/src/components/safecheck/queryManage/CheckBookAll.vue +2 -2
  43. package/src/filiale/ancheng/android/PaperFeedback.vue +2 -2
  44. package/src/filiale/ankangyihua/android/AndroidDefectDeal.vue +1 -1
  45. package/src/filiale/baiyin/android/AndroidDefectDeal.vue +1 -1
  46. package/src/filiale/bayan/android/PaperFeedback.vue +2 -2
  47. package/src/filiale/fugou/pc/PaperDefectMain.vue +1 -1
  48. package/src/filiale/hanzhong/android/PaperFeedback.vue +2 -2
  49. package/src/filiale/huatong/android/PaperFeedback.vue +2 -2
  50. package/src/filiale/huayin/android/PaperFeedback.vue +2 -2
  51. package/src/filiale/huayin/android/SafecheckOrderV.vue +1 -1
  52. package/src/filiale/jiaocheng/android/PaperFeedback.vue +2 -2
  53. package/src/filiale/jingyang/android/PaperFeedback.vue +2 -2
  54. package/src/filiale/jinhong/android/CurrentCreate.vue +1195 -0
  55. package/src/filiale/jinhong/android/PhoneInsurancePurchaseDetail.vue +438 -363
  56. package/src/filiale/jinhong/android/PhoneInsuranceRecordList.vue +346 -0
  57. package/src/filiale/jinhong/android.js +3 -1
  58. package/src/filiale/jinhong/pc/CheckPlanAreaList.vue +511 -0
  59. package/src/filiale/jinhong/pc/CheckSearchUser.vue +1094 -0
  60. package/src/filiale/jinhong/pc/DefectListNew.vue +663 -0
  61. package/src/filiale/jinhong/pc/DefectPaperNew.vue +1100 -0
  62. package/src/filiale/jinhong/pc/PaperList.vue +823 -0
  63. package/src/filiale/jinhong/pc/PlanManage.vue +909 -0
  64. package/src/filiale/jinhong/pc/checkUserList.vue +776 -0
  65. package/src/filiale/jinhong/pc.js +11 -0
  66. package/src/filiale/kelai/android/AndroidDefectDeal.vue +2 -2
  67. package/src/filiale/kelai/android/PaperFeedback.vue +2 -2
  68. package/src/filiale/kelai/android/RelieveRestrict.vue +1 -1
  69. package/src/filiale/kelai/android/SafecheckOrderV.vue +1 -1
  70. package/src/filiale/kelai/pc/FaultLimitGas/FaultLimitGasPaper.vue +1 -1
  71. package/src/filiale/meihekou/android/AreaPlan.vue +569 -0
  72. package/src/filiale/meihekou/android/CheckPlanList.vue +198 -0
  73. package/src/filiale/meihekou/android/CheckPlanListArea.vue +190 -0
  74. package/src/filiale/meihekou/android/CurrentCreate.vue +1090 -0
  75. package/src/filiale/meihekou/android/MeterReading.vue +106 -0
  76. package/src/filiale/meihekou/android/PaperFeedback.vue +1538 -0
  77. package/src/filiale/meihekou/android/PhoneInsurancePurchaseDetail.vue +293 -0
  78. package/src/filiale/meihekou/android/PhoneUpUserinfo.vue +1276 -0
  79. package/src/filiale/meihekou/android/SafecheckOrderV.vue +2407 -0
  80. package/src/filiale/meihekou/android/SafecheckUserInfo.vue +787 -0
  81. package/src/filiale/meihekou/android.js +21 -0
  82. package/src/filiale/meihekou/pc.js +12 -0
  83. package/src/filiale/pingxiang/android/PaperFeedback.vue +2 -2
  84. package/src/filiale/qianneng/android/PaperFeedback.vue +2 -2
  85. package/src/filiale/qingjian/pc/NewCheckpaper.vue +5 -11
  86. package/src/filiale/rizhao/android/PaperFeedback.vue +2 -2
  87. package/src/filiale/rongchuang/android/PaperFeedback.vue +2 -2
  88. package/src/filiale/shanggao/android/PaperFeedback.vue +2 -2
  89. package/src/filiale/shanxian/android/AndroidDefectDeal.vue +1 -1
  90. package/src/filiale/shanxian/android/PaperFeedback.vue +2 -2
  91. package/src/filiale/shexian/android/AndroidDefectDeal.vue +1 -1
  92. package/src/filiale/shexian/android/PaperFeedback.vue +2 -2
  93. package/src/filiale/shimen/android/PaperFeedback.vue +2 -2
  94. package/src/filiale/tongchuan/android/AndroidDefectDeal.vue +1 -1
  95. package/src/filiale/tongchuan/android/PaperFeedback.vue +2 -2
  96. package/src/filiale/weinan/android/SafecheckOrderV.vue +3 -3
  97. package/src/filiale/wenxi/android/PaperFeedback.vue +3 -3
  98. package/src/filiale/wuan/android/PaperFeedback.vue +2 -2
  99. package/src/filiale/wuhai/android/PaperFeedback.vue +2 -2
  100. package/src/filiale/xiangyuanzhongai/android/PhoneUpUserinfo.vue +1249 -0
  101. package/src/filiale/xiangyuanzhongai/android/SafecheckDevices.vue +20 -1
  102. package/src/filiale/xiangyuanzhongai/android/SafecheckOrderV.vue +2282 -0
  103. package/src/filiale/xiangyuanzhongai/android/SafecheckUserInfo.vue +786 -0
  104. package/src/filiale/xiangyuanzhongai/android.js +3 -0
  105. package/src/filiale/xiangyuanzhongai/pc/DefectDeal.vue +1007 -0
  106. package/src/filiale/xiangyuanzhongai/pc/PaperList.vue +795 -0
  107. package/src/filiale/xiangyuanzhongai/pc.js +2 -0
  108. package/src/filiale/yangchunboneng/android/PaperFeedback.vue +2 -2
  109. package/src/filiale/yongzhou/android/PaperFeedback.vue +2 -2
  110. package/src/filiale/yuansheng/android/AndroidDefectDeal.vue +1 -1
  111. package/src/filiale/yuansheng/android/PaperFeedback.vue +2 -2
  112. package/src/filiale/yunchengminsheng/android/DailyworkloadQuery.vue +2 -2
  113. package/src/filiale/yunchengminsheng/android/PhoneSellInfo.vue +113 -0
  114. package/src/filiale/yunchengminsheng/android/SafecheckOrderV.vue +4 -2
  115. package/src/filiale/yunchengminsheng/android/SafecheckUserInfo.vue +1 -1
  116. package/src/filiale/yunchengminsheng/android.js +1 -0
  117. package/src/filiale/yunchengminsheng/pc/NewCheckpaper.vue +16 -5
  118. package/src/filiale/zhongsheng/android/PaperFeedback.vue +2 -2
  119. package/src/filiale/zhoukou/android/PaperFeedback.vue +2 -2
  120. package/src/main.js +1 -1
  121. package/src/safecheck-android.js +3 -0
@@ -0,0 +1,511 @@
1
+ <template>
2
+ <div class="flex">
3
+ <criteria-paged :model="model" v-ref:paged :pager="false">
4
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
5
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
+ <div class="row">
7
+ <!--<div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
8
+ <label class="font_normal_body">组织机构</label>
9
+ <res-select restype='organization'
10
+ class="select select_list"
11
+ style="width: 60%"
12
+ @res-select="$parent.$parent.getorg"
13
+ :initresid='$parent.$parent.curorgid'>
14
+ </res-select>
15
+ </div>-->
16
+ <div :class="{'col-sm-6':$parent.$parent.$parent.isdetail,'col-sm-4':!$parent.$parent.$parent.isdetail}">
17
+ <role-selector-safe
18
+ role-name="安检员"
19
+ role-lable="安&ensp;检&ensp;员"
20
+ @re-res="$parent.$parent.getorg"
21
+ :value.sync="model.f_checker_id"
22
+ v-model="model.f_checker_id"
23
+ condition="f_checker_name like '%{}%'">
24
+ </role-selector-safe>
25
+ </div>
26
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
27
+ <label class="font_normal_body">小区名称</label>
28
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_residential_area" placeholder='小区名称'
29
+ condition="f_residential_area like '%{}%'" v-next-el="cx" v-el:qjmc>
30
+ </div>
31
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
32
+ <label class="font_normal_body">计划名称</label>
33
+ <v-select class="select_list select"
34
+ placeholder='计划名称' style="width: 60%"
35
+ :search="true"
36
+ v-model="model.f_plan_name"
37
+ :value.sync="model.f_plan_name"
38
+ :options='$parent.$parent.planName'
39
+ condition="f_plan_id = '{}'"
40
+ :value-single="true"
41
+ close-on-select clear-button></v-select>
42
+
43
+ </div>
44
+ <!--<div :class="{
45
+ 'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}">
46
+ <label class="font_normal_body">安&ensp;检&ensp;员</label>
47
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_checker_name" placeholder='安检员'
48
+ condition="f_checker_name like '%{}%'" v-next-el="cx" v-el:qjmc>
49
+ </div>-->
50
+ <div class="form-group col-sm-2" v-if="!$parent.$parent.$parent.isdetail"></div>
51
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" style="float:right; padding-right: 25px">
52
+ <div class="span" style="float:right;">
53
+ <div style="float: right;margin-left:10px" class="button_spacing"
54
+ :class="{'button_shrink_left':!$parent.$parent.$parent.isdetail,'button_shrink_right':$parent.$parent.$parent.isdetail}"
55
+ @click="$parent.$parent.hiddenr()"></div>
56
+ <div class="button_spacing" style="float: right;margin-left:10px"
57
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
58
+ @click="$parent.$parent.hidden()">
59
+ </div>
60
+ <!-- <export-excel :data="$parent.$parent.exportParameter"
61
+ :field="$parent.$parent.exportExcelField"
62
+ sqlurl="api/af-safecheck/logic/exportfile" sql-name="getCheckPlanAreaList"
63
+ template-name='安检汇总' :choose-col="true">
64
+ </export-excel>-->
65
+ <button id="btnaaaa" style="float: right" class="button_search"
66
+ @click="$parent.$parent.exportexcel()"
67
+ v-el:cx>导出</button>
68
+ <button id="btnaaa" style="float: right" class="button_search"
69
+ @click="$parent.$parent.getGroupName1(),search(),$parent.$parent.getexportExcelField(),$parent.$parent.$parent.isdetail=false,$parent.$parent.listflag=false"
70
+ v-el:cx>查询</button>
71
+ </div>
72
+ </div>
73
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" v-if="$parent.$parent.criteriaShow">
74
+ <label class="font_normal_body">起始时间</label>
75
+ <datepicker
76
+ :value.sync="$parent.$parent.f_check_start"
77
+ placeholder='起始时间' style="width:60%"
78
+ :disabled-days-of-week="[]"
79
+ :format="'yyyy-MM'"
80
+ :select-month="true"
81
+ :show-rest-button="reset">
82
+ </datepicker>
83
+ </div>
84
+ <div :class="{'form-group col-sm-3':$parent.$parent.$parent.isdetail,'form-group col-sm-2':!$parent.$parent.$parent.isdetail}" v-if="$parent.$parent.criteriaShow">
85
+ <label class="font_normal_body">结束时间</label>
86
+ <datepicker
87
+ :value.sync="$parent.$parent.f_check_end"
88
+ placeholder='结束时间' style="width:60%"
89
+ :disabled-days-of-week="[]"
90
+ :format="'yyyy-MM'"
91
+ :select-month="true"
92
+ :show-rest-button="reset">
93
+ </datepicker>
94
+ </div>
95
+ </div>
96
+ <div class="row">
97
+ <div class="col-sm-12">
98
+ <label class="control-label" style="color: #c7254e">汇 总 项</label>
99
+ <input type="checkbox" id="f_plan_month" value="f_plan_month" v-model="$parent.$parent.nameForSql"/>
100
+ <label for="f_plan_month">计划月份</label>
101
+ <input type="checkbox" id="f_no_checkplan" value="f_no_checkplan" v-model="$parent.$parent.nameForSql"/>
102
+ <label for="f_no_checkplan">计划类型</label>
103
+ <input type="checkbox" id="f_residential_area" value="f_residential_area" v-model="$parent.$parent.nameForSql"/>
104
+ <label for="f_residential_area">小区名称</label>
105
+ <input type="checkbox" id="f_plan_name" value="f_plan_name" v-model="$parent.$parent.nameForSql"/>
106
+ <label for="f_plan_name">计划名称</label>
107
+ <input type="checkbox" id="f_checker_name" value="f_checker_name" v-model="$parent.$parent.nameForSql"/>
108
+ <label for="f_checker_name">安检员</label>
109
+ <input type="checkbox" id="f_user_number" value="f_user_number" v-model="$parent.$parent.nameForSql"/>
110
+ <label for="f_user_number">档案数量</label>
111
+ <input type="checkbox" id="f_issue_time" value="f_issue_time" v-model="$parent.$parent.nameForSql"/>
112
+ <label for="f_issue_time">下发时间</label>
113
+ </div>
114
+ </div>
115
+ </div>
116
+
117
+ </criteria>
118
+ <data-grid id="excelid" :model="model" partial='list' class="list_area table_sy excelid" v-ref:grid>
119
+ <template partial='head'>
120
+ <tr>
121
+ <th>
122
+ <nobr>序号</nobr>
123
+ </th>
124
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')"><nobr>计划月份</nobr></th>
125
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')"><nobr>计划类型</nobr></th>
126
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')"><nobr>小区名称</nobr></th>
127
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')"><nobr>计划名称</nobr></th>
128
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_checker_name')"><nobr>安检员</nobr></th>
129
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')"><nobr>档案数量</nobr></th>
130
+ <th v-if="$parent.$parent.$parent.nameForSql.includes('f_issue_time')"><nobr>下发时间</nobr></th>
131
+ <th>
132
+ <nobr>计划总数</nobr>
133
+ </th>
134
+ <th>
135
+ <nobr>未检</nobr>
136
+ </th>
137
+ <th>
138
+ <nobr>已检</nobr>
139
+ </th>
140
+ <th>
141
+ <nobr>入户</nobr>
142
+ </th>
143
+ <th>
144
+ <nobr>到访不遇</nobr>
145
+ </th>
146
+ <th>
147
+ <nobr>拒检</nobr>
148
+ </th>
149
+ <th>
150
+ <nobr>安检率</nobr>
151
+ </th>
152
+ <!--<th>-->
153
+ <!--<nobr>查看</nobr>-->
154
+ <!--</th>-->
155
+ </tr>
156
+ </template>
157
+ <template partial='body'>
158
+ <tr>
159
+ <td style="text-align:center;border-right: 1px solid ">{{$index + 1}}</td>
160
+ <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')">{{row.f_plan_month.indexOf('*&')!=-1?'':row.f_plan_month}}</td>-->
161
+ <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')">{{row.f_no_checkplan.indexOf('*&')!=-1?'':row.f_no_checkplan}}</td>-->
162
+ <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')">{{row.f_residential_area.indexOf('*&')!=-1?'':row.f_residential_area}}</td>-->
163
+ <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')">{{row.f_plan_name.indexOf('*&')!=-1?'':row.f_plan_name}}</td>-->
164
+ <!-- <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql && $parent.$parent.$parent.nameForSql.includes('f_checker_name')">{{row.f_checker_name && row.f_checker_name.indexOf('*&')!=-1?'':row.f_checker_name}}</td>-->
165
+ <td style="text-align:center" :class="{'td-0':row.f_plan_month==undefined,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_plan_month.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_plan_month.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_plan_month.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_plan_month.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_month')">{{row.f_plan_month.indexOf('*&')!=-1?'':row.f_plan_month}}</td>
166
+ <td style="text-align:center" :class="{'td-0':row.f_no_checkplan==undefined,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_no_checkplan.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_no_checkplan.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_no_checkplan.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_no_checkplan.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql.includes('f_no_checkplan')">{{row.f_no_checkplan.indexOf('*&')!=-1?'':row.f_no_checkplan}}</td>
167
+ <td style="text-align:center" :class="{'td-0':row.f_residential_area==undefined,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_residential_area.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_residential_area.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_residential_area.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_residential_area.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql.includes('f_residential_area')">{{row.f_residential_area.indexOf('*&')!=-1?'':row.f_residential_area}}</td>
168
+ <td style="text-align:center" :class="{'td-0':row.f_plan_name==undefined,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_plan_name.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_plan_name.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_plan_name.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_plan_name.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql.includes('f_plan_name')">{{row.f_plan_name.indexOf('*&')!=-1?'':row.f_plan_name}}</td>
169
+ <td style="text-align:center" :class="{'td-0':row && !row.f_checker_name,'td-1':model.rows && model.rows.length!=($index+1)&&row.f_checker_name && row.f_checker_name.indexOf('*&')==-1,'td-2':model.rows && model.rows.length!=($index+1)&&row.f_checker_name &&row.f_checker_name.indexOf('*&')!=-1,'td-3':model.rows && model.rows.length==($index+1)&&row.f_checker_name &&row.f_checker_name.indexOf('*&')!=-1,'td-4':model.rows && model.rows.length==($index+1)&&row.f_checker_name &&row.f_checker_name.indexOf('*&')==-1}" v-if="$parent.$parent.$parent.nameForSql && $parent.$parent.$parent.nameForSql.includes('f_checker_name')">{{row.f_checker_name && row.f_checker_name.indexOf('*&')!=-1?'':row.f_checker_name}}</td>
170
+ <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_user_number')">{{row.f_user_number}}</td>
171
+ <td style="text-align:center" v-if="$parent.$parent.$parent.nameForSql.includes('f_issue_time')">{{row.f_issue_time}}</td>
172
+ <td style="text-align:center">{{row.f_plan_total}}</td>
173
+ <td style="text-align:center">{{row.f_weijian}}</td>
174
+ <td style="text-align:center"><nobr>{{row.f_yijian}}</nobr></td>
175
+ <td style="text-align:center"><nobr>{{row.f_ruhu}}</nobr></td>
176
+ <td style="text-align:center">{{row.f_buyu}}</td>
177
+ <td style="text-align:center"><nobr>{{row.f_jujian}}</nobr></td>
178
+ <td style="text-align:center"><nobr>{{row.f_check_bv}}</nobr></td>
179
+ </tr>
180
+ </template>
181
+ <template partial="foot">
182
+ <tr>
183
+ <td style="text-align:center"><strong>合计:</strong></td>
184
+ <td style="text-align:center" :colspan="$parent.$parent.$parent.nameForSql.length"></td>
185
+ <td style="text-align:center"><strong>{{model.sums.f_plan_total}}</strong></td>
186
+ <td style="text-align:center"><strong>{{model.sums.f_weijian}}</strong></td>
187
+ <td style="text-align:center"><nobr><strong>{{model.sums.f_yijian}}</strong></nobr></td>
188
+ <td style="text-align:center"><nobr><strong>{{model.sums.f_ruhu}}</strong></nobr></td>
189
+ <td style="text-align:center"><nobr><strong>{{model.sums.f_buyu}}</strong></nobr></td>
190
+ <td style="text-align:center"><nobr><strong>{{model.sums.f_jujian}}</strong></nobr></td>
191
+ <td style="text-align:center"><strong>{{model.sums.f_plan_total>0?(model.sums.f_yijian/model.sums.f_plan_total*100).toFixed(2)+'%':0}}</strong></td>
192
+ </tr >
193
+ </template>
194
+ </data-grid>
195
+ </criteria-paged>
196
+ </div>
197
+ </template>
198
+
199
+ <script>
200
+ /**
201
+ *阶梯气价查询列表
202
+ */
203
+ import {PagedList} from 'vue-client'
204
+ import { HttpResetClass } from 'vue-client'
205
+ import * as Util from "../../../components/Util";
206
+ import XLSX from 'xlsx'
207
+ export default {
208
+ data () {
209
+ return {
210
+ model: new PagedList('api/af-safecheck/sql/getCheckPlanAreaList', 99999,{},{f_plan_total:'',f_weijian:'',f_yijian:'',f_ruhu:'',f_buyu:'',f_jujian:''}),
211
+ // 公司下拉
212
+ curorgid: [this.$login.f.orgid],
213
+ row: {},
214
+ f_orgid: '',
215
+ nameForSql: [],
216
+ groupNameForSql: '',
217
+ listflag:false,
218
+ nameflag:false,
219
+ criteriaShow: false,
220
+ f_check_start:new Date().getFullYear() + '-01',
221
+ f_check_end:new Date().getFullYear() + '-12',
222
+ planName:[{label: '全部', value: ''}],
223
+ exportExcelField: {
224
+ 'f_weijian':'未检',
225
+ 'f_yijian':'已检',
226
+ 'f_ruhu':'入户',
227
+ 'f_buyu':'到访不遇',
228
+ 'f_jujian':'拒检',
229
+ 'f_check_bv':'安检率'
230
+ }
231
+ }
232
+ },
233
+ props: {
234
+ row: {},
235
+ config: {},
236
+ ispartial: false,
237
+ f_filialeid: {
238
+ type: String
239
+ }
240
+ },
241
+ ready () {
242
+ this.nameForSql = ['f_plan_month', 'f_plan_name','f_checker_name', 'f_issue_time']
243
+ this.groupNameForSql = 'f_plan_month', 'f_plan_name','f_checker_name'
244
+ this.pl()
245
+ // this.search()
246
+
247
+ },
248
+ methods: {
249
+ exportexcel(){
250
+ //tag
251
+ // 以上四行也可以直接一行搞定,如果不需要对表格数据进行修改的话
252
+ const aa = document.getElementsByClassName("list_area table_sy excelid")[0]
253
+ console.log(aa)
254
+ let workbook = XLSX.utils.table_to_book(document.getElementsByClassName("list_area table_sy excelid")[0])
255
+ try {
256
+ XLSX.writeFile(workbook, '安检情况汇总导出.xlsx');
257
+ } catch(e) {
258
+ //tag;
259
+ }
260
+ },
261
+ // 获取导出列
262
+ getexportExcelField(){
263
+ this.exportExcelField = {
264
+ 'f_weijian':'未检',
265
+ 'f_yijian':'已检',
266
+ 'f_ruhu':'入户',
267
+ 'f_buyu':'到访不遇',
268
+ 'f_jujian':'拒检',
269
+ 'f_check_bv':'安检率',
270
+ 'f_plan_total':'计划总数'
271
+ }
272
+ let forName = this.groupNameForSql.split(",")
273
+ for (let i = 0; i < forName.length; i++) {
274
+ let ff = forName[i]
275
+ if (ff==='f_plan_month') {
276
+ this.exportExcelField.f_plan_month='计划月份'
277
+ }
278
+ if (ff==='f_no_checkplan') {
279
+ this.exportExcelField.f_no_checkplan='计划类型'
280
+ }
281
+ if (ff==='f_plan_name') {
282
+ this.exportExcelField.f_plan_name='计划名称'
283
+ }
284
+ if (ff==='f_checker_name') {
285
+ this.exportExcelField.f_checker_name='安检员'
286
+ }if (ff==='f_residential_area') {
287
+ this.exportExcelField.f_residential_area='小区名称'
288
+ }if (ff==='f_user_number') {
289
+ this.exportExcelField.f_user_number='档案数量'
290
+ }if (ff==='f_issue_time') {
291
+ this.exportExcelField.f_issue_time='下发时间'
292
+ }
293
+ }
294
+ },
295
+ pl() {
296
+ let getGasman = new HttpResetClass()
297
+ getGasman.load('POST', `api/af-safecheck/sql/safe_singleTable_OrderBy`, {
298
+ data: {
299
+ items: "id,f_plan_name",
300
+ tablename: "t_check_plan",
301
+ condition: `f_filialeid = '${this.curorgid}'`,
302
+ orderitem: "id"
303
+ }
304
+ }, {resolveMsg: null, rejectMsg: null}).then((plne) => {
305
+ //tag
306
+ //tag
307
+ //tag
308
+ for (let i = 0; i < plne.data.length; i++) {
309
+ this.planName.push({label: plne.data[i].f_plan_name, value: plne.data[i].id})
310
+ }
311
+ //tag
312
+ })
313
+ },
314
+ hiddenr() {
315
+ this.$parent.isdetail = !this.$parent.isdetail
316
+ },
317
+ hidden() {
318
+ this.criteriaShow = !this.criteriaShow
319
+ },
320
+ search () {
321
+ this.$refs.paged.$refs.cri.search()
322
+ this.$dispatch('search')
323
+ },
324
+ getorg (val) {
325
+ this.f_orgid = this.$login.convertToIn(val.resids)
326
+ this.f_filialeid = val[0]
327
+
328
+ },
329
+ selfSearch (args) {
330
+ if (!this.f_orgid) {
331
+ this.getorg([this.$login.f.orgid])
332
+ args.condition = `f_filialeid in ('${this.$login.f.orgid}') and ${args.condition}`
333
+ }
334
+ if (this.f_orgid) {
335
+ args.condition = `f_filialeid in ${this.f_orgid} and ${args.condition}`
336
+ }
337
+ if(this.f_check_start && this.f_check_end){
338
+ if(new Date(this.f_check_start).getFullYear() == new Date(this.f_check_end).getFullYear() ){
339
+ args.condition += ` and f_year>=${new Date(this.f_check_start).getFullYear()} and f_month>=${new Date(this.f_check_start).getMonth()+1} and f_month<=${new Date(this.f_check_end).getMonth()+1}`
340
+ }else {
341
+ args.condition += ` and (
342
+ (f_year = ${new Date(this.f_check_start).getFullYear()} and f_month >= ${new Date(this.f_check_start).getMonth()+1})
343
+ or
344
+ ( f_year > ${new Date(this.f_check_start).getFullYear()} and f_year < ${new Date(this.f_check_end).getFullYear()})
345
+ or
346
+ (f_year = ${new Date(this.f_check_end).getFullYear()} and f_month <= ${new Date(this.f_check_end).getMonth()+1}))`
347
+ }
348
+ } else {
349
+ if(this.f_check_start){
350
+ args.condition += ` and f_year>=${new Date(this.f_check_start).getFullYear()} and f_month>=${new Date(this.f_check_start).getMonth()+1}`
351
+ }
352
+ if(this.f_check_end){
353
+ args.condition += ` and f_year<=${new Date(this.f_check_end).getFullYear()} and f_month<=${new Date(this.f_check_end).getMonth()+1}`
354
+ }
355
+ }
356
+ this.$refs.paged.$refs.grid.$el.scrollTop = 0
357
+ if (this.groupNameForSql=='undefined'){
358
+ //tag
359
+ this.$showMessage("请至少选择一项进行汇总")
360
+ return
361
+ }
362
+ this.model.paramSource = {groupName: `'${this.groupNameForSql}'`}
363
+ this.model.search(args.condition, args.model)
364
+ },
365
+
366
+ // 拼接groupName1
367
+ getGroupName1 () {
368
+ var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number','f_issue_time']
369
+ var newtemp=[]
370
+
371
+ for (var i=0;i<temp.length;i++){
372
+ for (var j=0;j<this.nameForSql.length;j++){
373
+ //tag
374
+ if(temp[i]==this.nameForSql[j]){
375
+ newtemp.push(this.nameForSql[j])
376
+ }
377
+ }
378
+ }
379
+ let str = ''
380
+
381
+ for (var i=0;i < newtemp.length - 1; i++) {
382
+ str += newtemp[i] + ','
383
+ }
384
+ str += newtemp[i]
385
+ this.groupNameForSql = str.trim()
386
+ }
387
+ },
388
+ watch: {
389
+ // 'nameForSql' () {
390
+ //
391
+ // this.getGroupName1()
392
+ // },
393
+ 'nameForSql' () {
394
+ var e = document.createEvent("MouseEvents");
395
+ e.initEvent("click", true, true);
396
+ document.getElementById("btnaaa").dispatchEvent(e);
397
+ },
398
+ 'model.rows'(){
399
+ //tag
400
+ if(this.listflag){
401
+ return;
402
+ }
403
+ this.listflag=true
404
+ //tag
405
+ var temp=['f_plan_month','f_no_checkplan','f_residential_area','f_plan_name','f_checker_name','f_user_number','f_issue_time']
406
+ var newtemp=[]
407
+ for (var i=0;i<temp.length;i++){
408
+ for (var j=0;j<this.nameForSql.length;j++){
409
+ //tag
410
+ if(temp[i]==this.nameForSql[j]){
411
+ newtemp.push(this.nameForSql[j])
412
+ }
413
+ }
414
+ }
415
+ if((newtemp.includes('f_user_number')&&newtemp.length==2)||(!newtemp.includes('f_user_number')&&newtemp.length==1)){
416
+ return
417
+ }
418
+ var temp=JSON.parse(JSON.stringify(this.model.rows))
419
+
420
+ //遍历查询结果 为指定列增加样式
421
+ for (var i=0;i<newtemp.length-1;i++){
422
+ if(newtemp[i]=='f_user_number'){
423
+ return;
424
+ }
425
+ //tag
426
+ var ss=''
427
+ for (var j=0;j<temp.length;j++){
428
+ if(j>0&&i>0){
429
+ var flag=false
430
+ for(var t=i-1;t>-1;t--){
431
+ //tag
432
+ //tag
433
+ //tag
434
+ //tag
435
+ if(temp[j-1][newtemp[t]]!=temp[j][newtemp[t]]&&(temp[j][newtemp[t]] !=null && temp[j][newtemp[t]].indexOf('*&') )==-1){
436
+ flag=true
437
+ break
438
+ }
439
+ }
440
+ //tag
441
+ if(flag){
442
+ ss=temp[j][newtemp[i]]
443
+ continue
444
+ }
445
+ }
446
+ if(temp[j][newtemp[i]]==ss){
447
+ temp[j][newtemp[i]]=temp[j][newtemp[i]]+'*&'
448
+ }else {
449
+ ss=temp[j][newtemp[i]]
450
+ }
451
+ }
452
+ }
453
+ //tag
454
+ this.model.rows=JSON.parse(JSON.stringify(temp))
455
+ },
456
+ 'model.rows.length'() {
457
+ // 如果查询无结果,将合计置为0
458
+ if(this.model.rows.length < 1){
459
+ this.model.sums.f_plan_total = 0
460
+ this.model.sums.f_weijian = 0
461
+ this.model.sums.f_yijian = 0
462
+ this.model.sums.f_ruhu = 0
463
+ this.model.sums.f_buyu = 0
464
+ this.model.sums.f_jujian = 0
465
+ }
466
+ }
467
+ },
468
+ computed:{
469
+ exportParameter(){
470
+ // excel 导出条件拼接
471
+ return {
472
+ condition: this.$refs.paged.model.condition,
473
+ groupName: this.groupNameForSql
474
+ }
475
+ }
476
+ }
477
+ }
478
+ </script>
479
+
480
+ <style scoped>
481
+
482
+ .td-0{
483
+ border: 1px solid #000000;
484
+ }
485
+
486
+ .td-1{
487
+ border: none;
488
+ border-top: 1px solid #000000;
489
+ border-left: 1px solid #000000;
490
+ border-right: 1px solid #000000;
491
+ }
492
+
493
+ .td-2{
494
+ border: none;
495
+ border-left: 1px solid #000000;
496
+ border-right: 1px solid #000000;
497
+ }
498
+ .td-4{
499
+ border: none;
500
+ border-top: 1px solid #000000;
501
+ border-left: 1px solid #000000;
502
+ border-right: 1px solid #000000;
503
+ border-bottom: 1px solid #000000;
504
+ }
505
+ .td-3{
506
+ border: none;
507
+ border-left: 1px solid #000000;
508
+ border-right: 1px solid #000000;
509
+ border-bottom: 1px solid #000000;
510
+ }
511
+ </style>