safecheck-client 4.0.0-11 → 4.0.0-110

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 (138) hide show
  1. package/package.json +3 -3
  2. package/src/components/NewDefectList/DefectListNew.vue +11 -14
  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 +769 -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 +5 -5
  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/SafeRightTree.vue +217 -0
  18. package/src/components/android/SafecheckDevices.vue +47 -2
  19. package/src/components/android/SafecheckOrderV.vue +3 -3
  20. package/src/components/android/SealBind.vue +392 -0
  21. package/src/components/android/SealManage.vue +250 -0
  22. package/src/components/inspections/inspectionFeedback.vue +2 -2
  23. package/src/components/map/PersonTrack.vue +3 -1
  24. package/src/components/map/checkScreen.vue +47 -13
  25. package/src/components/paper/PaperList.vue +349 -332
  26. package/src/components/paper/RegionalList.vue +217 -0
  27. package/src/components/pc/AddToCheckBook.vue +101 -24
  28. package/src/components/pc/CheckBook.vue +2 -0
  29. package/src/components/pc/CheckBookDetails.vue +6 -39
  30. package/src/components/pc/CheckBookEntry.vue +6 -7
  31. package/src/components/pc/CheckBookList.vue +61 -72
  32. package/src/components/pc/CheckBookSearchArea.vue +20 -24
  33. package/src/components/pc/CheckBookSearchUser.vue +139 -84
  34. package/src/components/pc/CheckBookSearchUserList.vue +1 -2
  35. package/src/components/pc/CheckBookUser.vue +276 -44
  36. package/src/components/pc/DefectDeal.vue +1 -1
  37. package/src/components/pc/NewCheckpaper.vue +16 -10
  38. package/src/components/pc/NewCheckpaperTemp.vue +5 -5
  39. package/src/components/pc/PaperDefectMain.vue +1 -0
  40. package/src/components/pc/RoleSelectorDep.vue +2 -1
  41. package/src/components/planmanage/PlanManage.vue +825 -821
  42. package/src/components/planmanage/checkPlanList.vue +28 -0
  43. package/src/components/planmanage/checkUserList.vue +346 -346
  44. package/src/components/querycheckpaper/CheckSearchUser.vue +68 -68
  45. package/src/components/report/CheckPlanAreaList.vue +266 -266
  46. package/src/components/rongcheng/AspPaperFeedback.vue +1 -1
  47. package/src/components/rongcheng/PaperFeedback.vue +2 -2
  48. package/src/components/safecheck/queryManage/CheckBookAll.vue +2 -2
  49. package/src/filiale/ancheng/android/PaperFeedback.vue +2 -2
  50. package/src/filiale/ankangyihua/android/AndroidDefectDeal.vue +1 -1
  51. package/src/filiale/baiyin/android/AndroidDefectDeal.vue +1 -1
  52. package/src/filiale/bayan/android/PaperFeedback.vue +2 -2
  53. package/src/filiale/hanzhong/android/PaperFeedback.vue +2 -2
  54. package/src/filiale/huatong/android/PaperFeedback.vue +2 -2
  55. package/src/filiale/huayin/android/PaperFeedback.vue +2 -2
  56. package/src/filiale/huayin/android/SafecheckOrderV.vue +1 -1
  57. package/src/filiale/jiaocheng/android/PaperFeedback.vue +2 -2
  58. package/src/filiale/jingyang/android/PaperFeedback.vue +2 -2
  59. package/src/filiale/jinhong/android/CurrentCreate.vue +1240 -0
  60. package/src/filiale/jinhong/android/PhoneInsurancePurchaseDetail.vue +438 -401
  61. package/src/filiale/jinhong/android/PhoneInsuranceRecordList.vue +339 -0
  62. package/src/filiale/jinhong/android.js +3 -1
  63. package/src/filiale/jinhong/pc/CheckBookList.vue +388 -0
  64. package/src/filiale/jinhong/pc/CheckPlanAreaList.vue +528 -0
  65. package/src/filiale/jinhong/pc/CheckSearchUser.vue +1094 -0
  66. package/src/filiale/jinhong/pc/DefectListNew.vue +663 -0
  67. package/src/filiale/jinhong/pc/DefectPaperNew.vue +1100 -0
  68. package/src/filiale/jinhong/pc/PaperList.vue +844 -0
  69. package/src/filiale/jinhong/pc/PlanManage.vue +925 -0
  70. package/src/filiale/jinhong/pc/SelectCheckPlan.vue +308 -0
  71. package/src/filiale/jinhong/pc/checkUserList.vue +745 -0
  72. package/src/filiale/jinhong/pc.js +13 -0
  73. package/src/filiale/kelai/android/AndroidDefectDeal.vue +2 -2
  74. package/src/filiale/kelai/android/PaperFeedback.vue +2 -2
  75. package/src/filiale/kelai/android/RelieveRestrict.vue +1 -1
  76. package/src/filiale/kelai/android/SafecheckOrderV.vue +1 -1
  77. package/src/filiale/kelai/pc/FaultLimitGas/FaultLimitGasPaper.vue +1 -1
  78. package/src/filiale/meihekou/android/AreaPlan.vue +577 -0
  79. package/src/filiale/meihekou/android/CheckPlanList.vue +198 -0
  80. package/src/filiale/meihekou/android/CheckPlanListArea.vue +190 -0
  81. package/src/filiale/meihekou/android/CurrentCreate.vue +1041 -0
  82. package/src/filiale/meihekou/android/MeterReading.vue +106 -0
  83. package/src/filiale/meihekou/android/PaperFeedback.vue +1542 -0
  84. package/src/filiale/meihekou/android/PhoneInsurancePurchaseDetail.vue +293 -0
  85. package/src/filiale/meihekou/android/PhoneUpUserinfo.vue +1306 -0
  86. package/src/filiale/meihekou/android/SafecheckDevices.vue +1340 -0
  87. package/src/filiale/meihekou/android/SafecheckOrderV.vue +2421 -0
  88. package/src/filiale/meihekou/android/SafecheckUserInfo.vue +785 -0
  89. package/src/filiale/meihekou/android.js +22 -0
  90. package/src/filiale/meihekou/pc/NewCheckpaper.vue +1959 -0
  91. package/src/filiale/meihekou/pc/NewCheckpaperTemp.vue +1288 -0
  92. package/src/filiale/meihekou/pc.js +13 -0
  93. package/src/filiale/pingxiang/android/PaperFeedback.vue +2 -2
  94. package/src/filiale/qianneng/android/PaperFeedback.vue +2 -2
  95. package/src/filiale/qingjian/pc/NewCheckpaper.vue +5 -11
  96. package/src/filiale/qingjian/pc/checkUserList.vue +835 -0
  97. package/src/filiale/qingjian/pc.js +1 -1
  98. package/src/filiale/rizhao/android/PaperFeedback.vue +2 -2
  99. package/src/filiale/rongchuang/android/PaperFeedback.vue +2 -2
  100. package/src/filiale/shanggao/android/PaperFeedback.vue +2 -2
  101. package/src/filiale/shanxian/android/AndroidDefectDeal.vue +1 -1
  102. package/src/filiale/shanxian/android/PaperFeedback.vue +2 -2
  103. package/src/filiale/shexian/android/AndroidDefectDeal.vue +1 -1
  104. package/src/filiale/shexian/android/PaperFeedback.vue +2 -2
  105. package/src/filiale/shimen/android/PaperFeedback.vue +2 -2
  106. package/src/filiale/tongchuan/android/AndroidDefectDeal.vue +1 -1
  107. package/src/filiale/tongchuan/android/PaperFeedback.vue +2 -2
  108. package/src/filiale/weinan/android/SafecheckOrderV.vue +3 -3
  109. package/src/filiale/wenxi/android/PaperFeedback.vue +3 -3
  110. package/src/filiale/wuan/android/PaperFeedback.vue +2 -2
  111. package/src/filiale/wuhai/android/PaperFeedback.vue +2 -2
  112. package/src/filiale/xiangyuanzhongai/android/AndroidDefectDeal.vue +634 -0
  113. package/src/filiale/xiangyuanzhongai/android/PhoneUpUserinfo.vue +1251 -0
  114. package/src/filiale/xiangyuanzhongai/android/SafecheckDevices.vue +20 -1
  115. package/src/filiale/xiangyuanzhongai/android/SafecheckOrderV.vue +2282 -0
  116. package/src/filiale/xiangyuanzhongai/android/SafecheckUserInfo.vue +786 -0
  117. package/src/filiale/xiangyuanzhongai/android.js +4 -0
  118. package/src/filiale/xiangyuanzhongai/pc/DefectDeal.vue +1007 -0
  119. package/src/filiale/xiangyuanzhongai/pc/PaperList.vue +791 -0
  120. package/src/filiale/xiangyuanzhongai/pc.js +2 -0
  121. package/src/filiale/xinkang/android/AddPlanItem.vue +413 -0
  122. package/src/filiale/xinkang/android/SafecheckOrderV.vue +1 -1
  123. package/src/filiale/xinkang/android.js +1 -0
  124. package/src/filiale/yangchunboneng/android/PaperFeedback.vue +2 -2
  125. package/src/filiale/yongzhou/android/PaperFeedback.vue +2 -2
  126. package/src/filiale/yuansheng/android/AndroidDefectDeal.vue +1 -1
  127. package/src/filiale/yuansheng/android/PaperFeedback.vue +2 -2
  128. package/src/filiale/yunchengminsheng/android/DailyworkloadQuery.vue +2 -2
  129. package/src/filiale/yunchengminsheng/android/PhoneSellInfo.vue +113 -0
  130. package/src/filiale/yunchengminsheng/android/SafecheckOrderV.vue +4 -2
  131. package/src/filiale/yunchengminsheng/android/SafecheckUserInfo.vue +1 -1
  132. package/src/filiale/yunchengminsheng/android.js +1 -0
  133. package/src/filiale/yunchengminsheng/pc/NewCheckpaper.vue +13 -5
  134. package/src/filiale/zhongsheng/android/PaperFeedback.vue +2 -2
  135. package/src/filiale/zhoukou/android/PaperFeedback.vue +2 -2
  136. package/src/main.js +1 -1
  137. package/src/safecheck-android.js +4 -0
  138. package/src/safecheck.js +3 -1
@@ -0,0 +1,1340 @@
1
+ <template>
2
+ <div class="select-overspread repair-bg auto" style="padding-bottom:5px;">
3
+ <!--<div class="bq-parent" v-if="shutype == 'heng'">-->
4
+ <!--<blockquote class="blockquote">-->
5
+ <!--<p><span>{{repairitem.header}}</span><a @click="mute()" style="float:right" href="#" class="repair-mute-class"><img src="../../assets/novoice.png" width="25px;" alt=""><span style="margin-left:10px;color: #304A66">关闭声音</span></a></p>-->
6
+ <!--</blockquote>-->
7
+ <!--</div>-->
8
+ <div class="panel panel-default auto repair-info-content">
9
+ <div class="panel-body" style="padding: 0">
10
+ <!-- 安检项内容 -->
11
+ <div class="auto repair-info-content compatible" style="padding: 0">
12
+ <div class="row auto" style="padding: 0">
13
+ <div v-show="false" class="{{shuclass}}" v-if=" device.device != '燃气表'">
14
+ <button type="button" name="button" class="btn btn-primary" @click='adddetails()' :disabled="issee">增加</button>
15
+ </div>
16
+ <!--<div class="{{shuclass}}" v-if="device.device != '燃气表' && candelete">-->
17
+ <!--<button type="button" name="button" class="btn btn-primary" @click='deletedetails()' :disabled="issee">删除</button>-->
18
+ <!--</div>-->
19
+ <div class="shuclass1" v-show="row.isshow" v-for="(idxs,row) in f_items" style="padding: 4px; border:1px solid #D4D4D4;border-bottom: 0" >
20
+ <label v-if="row.type != 'radio' && row.type != 'text' && row.type != 'picture' && row.type != 'checkbox'" v-show="row.isshow" class="fivelabel">{{row.f_item_name}}<span v-if="row.unit">({{row.unit}})</span><br/>{{row.remark}}</label>
21
+ <label v-if="row.type == 'radio'" v-show="row.isshow" class="radiolabel">{{row.f_item_name}}<span v-if="row.unit">({{row.unit}})</span><br/>{{row.remark}}</label>
22
+ <label v-if="row.type == 'text'" v-show="row.isshow" class="textlabel1">{{row.f_item_name}}<span v-if="row.unit">({{row.unit}})</span><br/>{{row.remark}}</label>
23
+ <label v-if="row.type == 'picture' || row.type == 'checkbox'" v-show="row.isshow" class="textlabel">{{row.f_item_name}} <br/>{{row.remark}} <span v-show="row.verification_state" :style="{color:row.verification_state==='pass'?'green':'red'}">{{row.verification_text}}</span></label>
24
+ <!--<span v-if="show" style="font-weight:bold">{{row.f_content}}</span>-->
25
+ <!--<datepicker placeholder="请选择时间"-->
26
+ <!--:value.sync="row.f_content"-->
27
+ <!--v-model="row.f_content"-->
28
+ <!--:format="'yyyy-MM-dd'"-->
29
+ <!--v-if="!show && row.type == 'date'"-->
30
+ <!--:readonly="true"-->
31
+ <!--&gt;</datepicker>-->
32
+ <div style="clear: both" v-if="row.type == 'picture'" class="form-group col-sm-12" >
33
+ <div class="auto" >
34
+ <div class="panel">
35
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 160px;height: 160px;position: relative">
36
+ <div class="row" style="height: 160px;width:160px;overflow: scroll;top: 1px">
37
+ <div class="col-sm-4" v-show="row.f_path">
38
+ <img-self-android :src="row.f_path" :alt="row.f_item_name" width="140" height="140"></img-self-android>
39
+ </div>
40
+ <div class="col-sm-4" v-show="!row.f_path" @click="takePic(idxs, row.f_item_name)">
41
+ <img src="../../../assets/tackpic.png" :alt="点击拍摄照片" width="140" height="140"></img>
42
+ </div>
43
+ <img v-show="row.f_path" src="../../../assets/remove.png" :class="style__" @click="delfile(idxs, row.f_path)" v-if="role!='androidview'" style="width: 40px;height: 40px;position: absolute;left:110px;top:110px"></img>
44
+ </div>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ <div style="float: left;width:60%" class="form-group" v-if="row.type == 'string'" v-show="row.isshow">
50
+ <input type="text" class="form-control" maxlength="100" v-model="row.f_item_value" :readonly="role == 'androidview' || row.readonly">
51
+ </div>
52
+ <div style="float: left;width:60%" class="form-group col-sm-12" v-if="row.type == 'date'" v-show="row.isshow">
53
+ <datepicker id="f_making_date" :placeholder= row.f_item_name
54
+ :value.sync="row.f_item_value"
55
+ v-if="row.type == 'date'"
56
+ v-show="row.isshow"
57
+ :disabled-days-of-Week="[]"
58
+ :format="'yyyy-MM-dd HH:mm:ss'"
59
+ :show-reset-button="reset" readonly="readonly">
60
+ </datepicker>
61
+ </div>
62
+
63
+ <div style="float: left;width:60%" class="form-group" v-if="!show && row.type == 'number'" v-show="row.isshow">
64
+ <input type="text" class="form-control" maxlength="100" v-model="row.f_item_value" onkeyup="value=value.replace(/[^\d\.-]/g,'')" :readonly="row.readonly">
65
+ </div>
66
+ <!--<input type="text" class="form-control" v-model="row.f_content" v-if="!show && row.type == 'string' && row.f_project != '表号'" :disabled="(!(ischecked == '有')) || issee" :readonly="issee">-->
67
+ <!--<input type="text" class="form-control" v-model="meternum" v-if="!show && row.type == 'string' && row.f_project == '表号' " :disabled="(!(ischecked == '有')) || issee" :readonly="issee" >-->
68
+ <!--<button type="button" name="button" class="btn btn-primary" @click="scan" v-if="!show && row.f_project == '表号' ">扫码</button>-->
69
+ <input-select v-if="row.type == 'inputSelector'"
70
+ v-show="row.isshow"
71
+ :value.sync="row.selected"
72
+ v-model="row.selected"
73
+ :readonly="false"
74
+ :options="row.options"
75
+ @change="changse"
76
+ @click="transelation(idxs)"></input-select>
77
+ <v-select style="float: left" :value.sync="row.selected"
78
+ v-model="row.selected"
79
+ v-if="row.type == 'selector'"
80
+ :search="false"
81
+ v-show="row.isshow"
82
+ placeholder='请选择'
83
+ :options="row.options"
84
+ :disabled="role == 'androidview' || row.readonly"
85
+ @change="changse"
86
+ @click="transelation(idxs)"
87
+ :multiple="row.multiple"
88
+ :close-on-select="!row.multiple" clear-button></v-select>
89
+ <div style="float: left;width: 30%" class="form-group" v-if="!show && row.type == 'radio'">
90
+ <div class="col-xs-6 col-sm-6 col-md-6" v-for="item in row.options">
91
+ <!-- <input type="radio" :name="row.f_item_name" @click="disSelect($parent.idxs,item.value)" :value="item.value" :disabled="(!(ischecked == '有')) || issee" v-model="row.f_item_value" >-->
92
+ <input type="radio" :name="row.f_item_name" :value="item.value" :disabled="(!(ischecked == '有')) || issee" v-model="row.f_item_value" >
93
+ <span>{{item.label}}</span>
94
+ </div>
95
+ </div>
96
+ <div v-if="!show && row.type == 'checkbox'" class="col-xs-12 col-sm-12 col-md-12" style="white-space: nowrap" >
97
+ <div style="float: left" v-for="item in row.options">
98
+ <input type="checkbox" :name="row.f_item_name" :value="item.value" :disabled="(!(ischecked == '有')) || issee" v-model="row.f_item_value">
99
+ <span>{{item.label}}</span>
100
+ </div>
101
+ </div>
102
+ <div style="clear: both">
103
+ <label v-if="row.f_item_value.indexOf('其他') >-1" class="fivelabel">其他</label>
104
+ <div style="float: left;width:60%" class="form-group" v-if="row.f_item_value.indexOf('其他') >-1">
105
+ <input type="text" class="form-control" maxlength="100" v-model="row.f_else" :readonly="role == 'androidview' || row.readonly">
106
+ </div>
107
+ </div>
108
+ <div style="clear: both">
109
+ <!-- <div class="form-group" style="display: flex;flex-wrap: wrap" v-if="(row.type == 'selector' || row.type == 'radio' || row.type =='checkbox') && (row.f_path != '' || row.f_is_defect != '') && (livedispose == 'true' || livedispose == true) " >-->
110
+ <!-- <label class="fivelabel">现场已处理</label>-->
111
+ <!-- <v-select :value="row.f_live_dispose"-->
112
+ <!-- :value-single="true"-->
113
+ <!-- :options="lives"-->
114
+ <!-- :disabled="role == 'androidview'"-->
115
+ <!-- @change="changlive"-->
116
+ <!-- @click="transelation(idxs)"-->
117
+ <!-- close-on-select clear-button></v-select>-->
118
+ <!-- </div>-->
119
+ <div class="form-group" style="display: flex;flex-wrap: wrap" v-if="(row.type == 'selector' || row.type == 'radio' || row.type =='checkbox') && (row.f_path != '' || row.f_is_defect != '') && (dealdispose == 'true' || dealdispose == true) " >
120
+ <label class="fivelabel">处理方式</label>
121
+ <v-select
122
+ :value="row.f_deal_dispose"
123
+ :value-single="true"
124
+ :options="deals"
125
+ :disabled="role == 'androidview'"
126
+ @change="changdeal"
127
+ @click="transelation(idxs)"
128
+ close-on-select clear-button>
129
+ </v-select>
130
+ </div>
131
+ <div style="display: flex;flex-wrap: wrap" v-if="row.f_deal_dispose == '自行处理' && this.showZXTime">
132
+ <label class="fivelabel">处理时效:</label>
133
+ <datepicker
134
+ :value.sync="row.f_handle_date"
135
+ v-model="row.f_handle_date"
136
+ :format="'yyyy-MM-dd 00:00:00'"
137
+ placeholder="请选择"
138
+ style="width: 60%">
139
+ </datepicker>
140
+ </div>
141
+ <div style="margin-left: 10px" class="form-group col-sm-10" v-if="(row.type == 'selector' || row.type == 'radio' || row.type =='checkbox') && row.tooltip != undefined && row.tooltip != '' ">
142
+ ☆{{row.tooltip}}
143
+ </div>
144
+ <div class="form-group col-sm-12" style="display: flex;flex-wrap: wrap" v-if="(row.type == 'selector' || row.type == 'radio' || row.type =='checkbox') && (row.f_path != '' || row.f_is_defect != '')">
145
+ <div class="auto" style="margin:1px;">
146
+ <div class="panel">
147
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 160px;height: 160px;position: relative">
148
+ <div class="col-xs-6" style="height: 160px;width:160px;overflow: scroll;top: 1px">
149
+ <div class="col-sm-4" v-show="row.f_path">
150
+ <img-self-android :src="row.f_path" :alt="row.f_item_name" width="140" height="140"></img-self-android>
151
+ </div>
152
+ <div class="col-sm-4" v-show="!row.f_path" @click="takePic(idxs, row.f_item_name)">
153
+ <img src="../../../assets/tackpic.png" :alt="点击拍摄照片" width="140" height="140"></img>
154
+ </div>
155
+ <img v-show="row.f_path" src="../../../assets/remove.png" :class="style__" @click="delfile(idxs, row.f_path)" v-if="role!='androidview'" style="width: 40px;height: 40px;position: absolute;left:110px;top:110px"></img>
156
+ </div>
157
+ <button v-if="isalbum" style="float: right" type="button" name="button" class="btn btn-primary btn-photo"
158
+ @click="takePic2(idxs, row.f_item_name)">相册
159
+ </button>
160
+ </div>
161
+ </div>
162
+ </div>
163
+ <!--多张隐患照片-->
164
+ <div class="auto" v-for="itemIndex in hiddenDangerImgNumber" style="margin: 1px;">
165
+ <div class="panel">
166
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 160px;height: 160px;position: relative">
167
+ <div class="col-xs-6" style="height: 160px;width:160px;overflow: scroll;top: 1px">
168
+ <div class="col-sm-4" v-show="row['f_p' + (itemIndex+1) + '_path']">
169
+ <img-self-android :src="row['f_p' + (itemIndex+1) + '_path']" :alt="row.f_item_name" width="140" height="140"></img-self-android>
170
+ </div>
171
+ <div class="col-sm-4" v-show="!row['f_p' + (itemIndex+1) + '_path']" @click="takePic(idxs, row.f_item_name,'f_p' + (itemIndex+1)+ '_path')">
172
+ <img src="../../../assets/tackpic.png" :alt="点击拍摄照片" width="140" height="140"></img>
173
+ </div>
174
+ <img v-show="row['f_p' + (itemIndex+1)+'_path']" src="../../../assets/remove.png" :class="style__" @click="delfile(idxs,row['f_p' + (itemIndex+1)+'_path'],'f_p' + (itemIndex+1)+ '_path')" v-if="role!='androidview'" style="width: 40px;height: 40px;position: absolute;left:110px;top:110px"></img>
175
+ </div >
176
+ <button v-if="isalbum" style="float: right" type="button" name="button" class="btn btn-primary btn-photo"
177
+ @click="takePic2(idxs, row.f_item_name,'f_p' + (itemIndex+1)+ '_path')">相册
178
+ </button>
179
+ </div>
180
+ </div>
181
+ </div>
182
+ <div style="display: flex;flex-wrap: wrap;margin-top: 10px" v-if="row.f_deal_dispose == '现场整改' && (row.type == 'selector' || row.type == 'radio' || row.type =='checkbox') && this.showXCImg">
183
+ <label class="fivelabel">整改照片:</label>
184
+ <div class="auto" style="margin:1px;">
185
+ <div class="panel">
186
+ <div class="panel-body panel-self" style="background-color: #F8F8F8;width: 160px;height: 160px;position: relative">
187
+ <div class="col-xs-6" style="height: 160px;width:160px;overflow: scroll;top: 1px">
188
+ <div class="col-sm-4" v-show="row.f_repair_path">
189
+ <img-self-android :src="row.f_repair_path" :alt="row.f_item_name" width="140" height="140"></img-self-android>
190
+ </div>
191
+ <div class="col-sm-4" v-show="!row.f_repair_path" @click="takePic(idxs, row.f_item_name,'f_repair_path',row.f_defect_level)">
192
+ <img src="../../../assets/tackpic.png" alt="点击拍摄照片" width="140" height="140"></img>
193
+ </div>
194
+ <img v-show="row.f_repair_path" src="../../../assets/remove.png" :class="style__" @click="delfile(idxs, row.f_repair_path, 'f_repair_path')" v-if="role!='androidview'" style="width: 40px;height: 40px;position: absolute;left:110px;top:110px"></img>
195
+ </div>
196
+ </div>
197
+ </div>
198
+ </div>
199
+ </div>
200
+ </div>
201
+ </div>
202
+
203
+ <!--<v-select :value.sync="row.f_content" :options='getOptions(row.f_project)' placeholder='请选择' :disabled="(!(ischecked == '有')) || issee" close-on-select :value-single="true" v-if="!show && row.type == 'selector' && row.f_project != '气表品牌'"-->
204
+ <!--&gt;</v-select>-->
205
+ <!--<v-select :value.sync="row.f_content" :options='getOptions(row.f_project)' @change="getgasmodel" placeholder='请选择' :disabled="(!(ischecked == '有')) || issee" close-on-select :value-single="true" v-if="!show && row.type == 'selector' && row.f_project == '气表品牌'"-->
206
+ <!--&gt;</v-select>-->
207
+ <!-- <div class="auto" v-if="!show && row.type == 'checkbox' ">-->
208
+ <!-- <input class="magic-checkbox" type="checkbox" id="shebeicheckbox"-->
209
+ <!-- :checked="row.f_content == '有'"-->
210
+ <!-- @click="switchDetails(row.f_project, $event)" :disabled="issee"/>-->
211
+ <!-- <label for="shebeicheckbox" style="width:150px;padding-bottom: 10px">{{row.f_project}}</label>-->
212
+ <!-- </div>-->
213
+ <!--<img-area :model="Detail.imgs" :sutitle="row.f_project" v-if="row.type == 'picture'" :disabled="issee"></img-area>-->
214
+ </div>
215
+ </div>
216
+ </div>
217
+ <div style="border-top: 1px solid #D4D4D4"></div>
218
+ </div>
219
+ </div>
220
+ </div>
221
+ </template>
222
+ <script>
223
+ import Vue from 'vue'
224
+ import * as Util from '../../Util'
225
+
226
+ export default {
227
+ title: '维修列表信息',
228
+ data() {
229
+ return {
230
+ // telphoneValid: '/^((0\\d{2,3}-\\d{7,8})|(1[3584]\\d{9}))$/',
231
+ // meterstyle:[],
232
+ hiddenDangerImgNumber:0,//隐患图片数
233
+ shuclass:'col-xs-12 col-sm-12 col-md-12 form-input-group mg8',
234
+ shuclass1:'col-xs-12 col-sm-12 col-md-12 mg8',
235
+ // labels:[],
236
+ meternum:'',
237
+ ischecked:'有',
238
+ gasmodel:'',
239
+ textstyle:'color: red',
240
+ paper: this.$parent.$parent.data,
241
+ f_items:[],
242
+ page:{},
243
+ selectindex:null,
244
+ lives:[{label: '是', value: '是'},{label: '否', value: '否'}],
245
+ deals:[{label: '现场处理', value: '现场处理'},{label: '自行处理', value: '自行处理'}],
246
+ f_live_dispose:'否',
247
+ f_deal_dispose:'未处理',
248
+ // 初始表底
249
+ f_initial_base: {},
250
+ // 气量异常差值 计算公式 => 气量异常差值 = 累计购气量 - (已用气量 - 初始表底) - 剩余气量
251
+ f_gas_aberrant_number: {},
252
+ // 金额异常差值 计算公式 => 金额异常差值 = 累计购金额 - 已用金额 - 剩余金额
253
+ f_fee_aberrant_number: {},
254
+ // 累购气量
255
+ f_total_gas: {},
256
+ // 累购金额
257
+ f_total_fee: {},
258
+ // 已用气量
259
+ f_table_base: {},
260
+ // 已用金额
261
+ f_fee_base: {},
262
+ // 剩余气量
263
+ f_gas_balance: {},
264
+ // 剩余金额
265
+ f_fee_balance: {},
266
+ // 表端剩余金额
267
+ f_table_balance: {},
268
+ // 气量异常差值允许误差
269
+
270
+ //物联网表数据存储
271
+ f_balance_amount:{},//物联网表剩余金额
272
+ f_meter_base:{},//物联网表读数
273
+ f_balance_amount1:{},//物联网表现场录入的表上剩余金额
274
+ f_meter_base1:{},//物联网表现场录入的表字轮数
275
+ f_meter_aberrant_number1: {},//物联网表 表数异常差值
276
+ f_fee_aberrant_number1: {},//物联网 表金额异常差值
277
+ gasDeviation: (
278
+ function (_this) {
279
+ let deviation = _this.$appdata.getSingleValue('气量异常差值允许误差')
280
+ if (deviation && !isNaN(deviation)) {
281
+ return deviation
282
+ } else {
283
+ return 0
284
+ }
285
+ }
286
+ )(this),
287
+ // 金额异常差值允许误差
288
+ feeDeviation: (
289
+ function (_this) {
290
+ let deviation = _this.$appdata.getSingleValue('金额异常差值允许误差')
291
+ if (deviation && !isNaN(deviation)) {
292
+ return deviation
293
+ } else {
294
+ return 0
295
+ }
296
+ }
297
+ )(this),
298
+ // 字轮异常差值允许误差
299
+ meterbase: (
300
+ function (_this) {
301
+ let deviation = _this.$appdata.getSingleValue('字轮异常差值允许误差')
302
+ if (deviation && !isNaN(deviation)) {
303
+ return deviation
304
+ } else {
305
+ return 0
306
+ }
307
+ }
308
+ )(this),
309
+ showElse:false, //控制其他选项是否显示
310
+ showXCImg: false, // 是否显示现场整改拍照选项
311
+ showZXTime: false, // 是否显示自行整改处理时效
312
+ isalbum:this.$appdata.getSingleValue('安检使用相册') || false,
313
+ }
314
+ },
315
+ props: ['config','device','idx','operation','role'],
316
+ // props: {
317
+ // // 维修对应的用户数据收集
318
+ // model: {
319
+ // type: Object
320
+ // },
321
+ // service:{
322
+ // type: Object
323
+ // },
324
+ // show: {
325
+ // type: Boolean,
326
+ // default: false
327
+ // },
328
+ // repairitem:{
329
+ // type: Object
330
+ // },
331
+ // shutype:'heng',
332
+ // tabs:{
333
+ // type: Object
334
+ // },
335
+ // repairdetails:{
336
+ // type: Object
337
+ // },
338
+ // faultshow:{
339
+ // type: Object
340
+ // },
341
+ // issee:''
342
+ // },
343
+ methods: {
344
+ changse(val){
345
+ if(val == undefined){
346
+ return
347
+ }
348
+ if(this.selectindex != null) {
349
+ if(this.f_items[this.selectindex].type == 'selector'){
350
+ this.f_items[this.selectindex].f_item_value = val
351
+ }else if(this.f_items[this.selectindex].type == 'inputSelector'){
352
+ this.f_items[this.selectindex].f_item_value = val.target.value
353
+ }
354
+ }
355
+ },
356
+ changlive(val){
357
+ if(val == undefined){
358
+ return
359
+ }
360
+ if(this.selectindex != null) {
361
+ this.f_items[this.selectindex].f_live_dispose = val
362
+ }
363
+ },
364
+ changdeal(val){
365
+ if(val == undefined){
366
+ this.f_items[this.selectindex].f_deal_dispose = ''
367
+ return
368
+ }
369
+ if(this.selectindex != null) {
370
+ this.f_items[this.selectindex].f_deal_dispose = val
371
+ }
372
+ },
373
+ switchDetails(detailsType, event){
374
+ if (event.srcElement.checked) {
375
+ for(var i = 0;i<this.Detail.details.length;i++){
376
+ if(this.Detail.details[i].f_project == detailsType){
377
+ this.Detail.details[i].f_content = '有'
378
+ this.ischecked = '有'
379
+ return
380
+ }
381
+ }
382
+ } else {
383
+ this.Detail.imgs = []
384
+ for(var i = 0;i<this.Detail.details.length;i++){
385
+ if(this.Detail.details[i].f_project == detailsType){
386
+ this.Detail.details[i].f_content = '无'
387
+ this.ischecked = '无'
388
+ }else{
389
+ this.Detail.details[i].f_content = ''
390
+ }
391
+ }
392
+ }
393
+ },
394
+ getgasmodel(val){
395
+ this.gasmodel = val
396
+ },
397
+ getradios(val,flag){
398
+ let Reoptions = []
399
+ for (let i = 0;i<this.repairdetails.length;i++) {
400
+ var t = false
401
+ if(this.repairdetails[i].f_type == this.repairitem.header ){
402
+ for(var j =0;j<this.repairdetails[i].details.length;j++){
403
+ if(this.repairdetails[i].details[j].f_project == val ){
404
+ Reoptions = this.repairdetails[i].details[j].options
405
+ t = true
406
+ break
407
+ }
408
+ }
409
+ }
410
+ if(t){
411
+ break
412
+ }
413
+ }
414
+ for(let j = 0;j<Reoptions.length;j++){
415
+ if(Reoptions[j].data == flag){
416
+ for(var e = 0;e<this.Detail.details.length;e++){
417
+ if(this.Detail.details[e].f_project == val){
418
+ this.Detail.details[e].f_status = Reoptions[j].f_status
419
+ return
420
+ }
421
+ }
422
+ break
423
+ }
424
+ }
425
+ },
426
+ deletedetails(){
427
+ this.$showMessage('该操作会删除所填信息,是否继续!', ['confirm', 'cancel']).then((res) => {
428
+ if (res === 'confirm') {
429
+ for(var i = 0;i<this.tabs.length;i++){
430
+ if(this.tabs[i].number == this.repairitem.number){
431
+ this.tabs.splice(i, 1)
432
+ this.model.servicerepair.splice(this.repairitem.number, 1)
433
+ for(let t = i;t < this.tabs.length;t++ ) {
434
+ this.tabs[t].number -= 1
435
+ }
436
+ return
437
+ }
438
+ }
439
+ }
440
+ })
441
+ },
442
+ takePic(prop, title, pathname='null') {
443
+ if (this.role == 'androidview') {
444
+ return
445
+ }
446
+ HostApp.__callback__ = this.cameraCallBack
447
+ HostApp.__this__ = this
448
+ //tag
449
+ let fileName
450
+ if (pathname == 'null') {
451
+ if (!this.f_items[prop].f_path || this.f_items[prop].f_path.includes("nopic.png")) {
452
+ fileName = Util.guid() + '-' + 'device'+this.device.n + '-' + this.idx + '-'+'f_items'+prop+ '.jpg'
453
+ } else {
454
+ fileName = Util.getFileName(this.f_items[prop].f_path)
455
+ }
456
+ } else {
457
+ if (!this.f_items[prop][pathname] || this.f_items[prop][pathname].includes("nopic.png")) {
458
+ fileName = Util.guid() + '-' + 'device'+this.device.n + '-' + this.idx + '-'+'f_items'+prop+ '.jpg'
459
+ } else {
460
+ fileName = Util.getFileName(this.f_items[prop][pathname])
461
+ }
462
+ }
463
+ let jingweidu = ''
464
+ if (this.$parent.$parent.is_has_jingweidu == 'true'){
465
+ const obj = HostApp.getGpsDetailAddress()
466
+ jingweidu = '\t经度:' + obj.longitude+ '\t纬度:' + obj.latitude
467
+ this.f_items[prop].f_longitude = obj.longitude
468
+ this.f_items[prop].f_latitude = obj.latitude
469
+ }
470
+ //tag
471
+ //tag
472
+ HostApp._open_a_page({type: 'boomerang',
473
+ page: 'com.aofeng.hybrid.android.peripheral.CameraActivity',
474
+ param: {file: fileName, requestCode: 111, callback:'javascript:HostApp.__callback__("'+ prop +'","'+ title +'", "%s","'+pathname+'");', watermark: title + '\t时间:'+ Util.toStandardTimeString() + '\t' + Vue.user.name + jingweidu}
475
+ })
476
+ },
477
+ takePic2(prop, title, pathname='null') {
478
+ if (this.role == 'androidview') {
479
+ return
480
+ }
481
+ HostApp.__callback__ = this.cameraCallBack
482
+ HostApp.__this__ = this
483
+ //tag
484
+ let fileName
485
+ if (pathname == 'null') {
486
+ if (!this.f_items[prop].f_path || this.f_items[prop].f_path.includes("nopic.png")) {
487
+ fileName = Util.guid() + '-' + 'device' + this.device.n + '-' + this.idx + '-' + 'f_items' + prop + '.jpg'
488
+ } else {
489
+ fileName = Util.getFileName(this.f_items[prop].f_path)
490
+ }
491
+ } else {
492
+ if (!this.f_items[prop][pathname] || this.f_items[prop][pathname].includes("nopic.png")) {
493
+ fileName = Util.guid() + '-' + 'device' + this.device.n + '-' + this.idx + '-' + 'f_items' + prop + '.jpg'
494
+ } else {
495
+ fileName = Util.getFileName(this.f_items[prop][pathname])
496
+ }
497
+ }
498
+ let jingweidu = ''
499
+ if (this.$parent.$parent.is_has_jingweidu == 'true'){
500
+ const obj = HostApp.getGpsDetailAddress()
501
+ jingweidu = '\t经度:' + obj.longitude+ '\t纬度:' + obj.latitude
502
+ this.f_items[prop].f_longitude = obj.longitude
503
+ this.f_items[prop].f_latitude = obj.latitude
504
+ }
505
+ //tag
506
+ //tag
507
+ HostApp._open_a_page({type: 'boomerang',
508
+ page: 'com.aofeng.hybrid.android.peripheral.ActionPickActivity',
509
+ param: {file: fileName, requestCode: 111, callback:'javascript:HostApp.__callback__("'+ prop +'","'+ title +'", "%s","'+pathname+'");', watermark: title + '\t时间:'+ Util.toStandardTimeString() + '\t' + Vue.user.name + jingweidu}
510
+ })
511
+ },
512
+ cameraCallBack(prop,title, fileName,pathname) {
513
+ //tag
514
+ if (pathname == 'null') {
515
+ //tag
516
+ HostApp.__this__.$set( 'f_items['+prop+'].f_path', fileName + '?' + Math.random())
517
+ //tag
518
+ HostApp.__callback__ = null
519
+ HostApp.__this__ = null
520
+ } else {
521
+ //tag
522
+ //tag)
523
+ HostApp.__this__.$set( 'f_items['+prop+'].'+pathname+'', fileName + '?' + Math.random())
524
+ HostApp.__callback__ = null
525
+ HostApp.__this__ = null
526
+ }
527
+ if(this.f_items[prop].is_verification){
528
+ let path=fileName.replace('http://newimg','')
529
+ path=path.replace('file://','')
530
+ console.log('fileName',fileName)
531
+ console.log(path)
532
+ let res=HostApp.pictureVerificationAI(path,title)
533
+ if(res.code==200){
534
+ if(res.type_result){
535
+ // this.$showMessage("检测通过,当前照片为"+title)
536
+ this.f_items[prop].verification_text=`检测通过,当前照片为 ${title}`
537
+ this.f_items[prop].verification_state='pass'
538
+ }else{
539
+ // this.$showMessage("检测失败,未识别到当前照片为 "+title+",请重新拍摄!")
540
+ this.f_items[prop].verification_text=`检测失败,未识别到当前照片为'${title}',请重新拍摄!`
541
+ this.f_items[prop].verification_state='npass'
542
+ }
543
+ }else{
544
+ // this.$showMessage("检测失败,请重试!")
545
+ this.f_items[prop].verification_text=`检测失败,请重试!`
546
+ this.f_items[prop].verification_state='npass'
547
+ }
548
+ }
549
+ },
550
+ delfile(prop, fileName, pathname='null') {
551
+ if (pathname == 'null') {
552
+ //tag
553
+ //tag)
554
+ if(fileName == Vue.nopic){
555
+ return
556
+ } else {
557
+ HostApp.delfile(fileName)
558
+ this.f_items[prop].f_path = Vue.nopic
559
+ }
560
+ }else {
561
+ //tag
562
+ //tag)
563
+ if(fileName == Vue.nopic){
564
+ return
565
+ } else {
566
+ HostApp.delfile(fileName)
567
+ this.f_items[prop][pathname] = Vue.nopic
568
+ }
569
+ }
570
+ },
571
+ adddetails(){
572
+ // 下标作为序号,取值用。 增加 序号得依次增加
573
+ if(this.tabs.length > 0){
574
+ for(let i = this.tabs.length-1;i > 0 ;i-- ){
575
+ if(this.tabs[i].header == this.repairitem.header){
576
+ if(this.model.servicerepair.length > 0){
577
+ for(let j = this.model.servicerepair.length -1;j > -1;j-- ){
578
+ if(this.model.servicerepair[j].f_type == this.repairitem.header){
579
+ this.model.servicerepair.splice(j+1, 0, Object.assign({}, JSON.parse(JSON.stringify(this.tabs[i].details))))
580
+ this.tabs.splice(i+1, 0, {header: `${this.repairitem.header}`,details:this.tabs[i].details,complete:'repair-details',class:'repair-details-class',number:j+1,items:this.tabs[i].items})
581
+ for(let t = i+2;t < this.tabs.length;t++ ) {
582
+ this.tabs[t].number += 1
583
+ }
584
+ this.faultshow.number += this.faultshow.number + 1
585
+ return
586
+ }
587
+ }
588
+ }
589
+ }
590
+ }
591
+ }
592
+ },
593
+ transelation(val){
594
+ this.selectindex = val
595
+ },
596
+ towatch(){
597
+ for(let n in this.f_items){
598
+ if(typeof this.f_items[n]=='function'){
599
+ continue
600
+ }
601
+ if(this.f_items[n].type == 'selector' || this.f_items[n].type == 'inputSelector'){
602
+ // 监听下拉框,如果有隐患,需要拍照
603
+ this.$watch('f_items['+n+'].selected',function(val) {
604
+ // 下拉框值
605
+ //tag)
606
+ // 下拉框所属设备
607
+ //tag
608
+ // 下拉框所属项
609
+ //tag
610
+ if (val == undefined || val.length == 0 || val[0] == ''){
611
+ this.f_items[n].f_path = ''
612
+ this.f_items[n].f_is_defect = ''
613
+ this.f_items[n].f_defect_level = ''
614
+ this.f_items[n].f_live_dispose = ''
615
+ this.f_items[n].f_deal_dispose = ''
616
+ this.f_items[n].tooltip = ''
617
+ this.f_items[n].f_else = ''
618
+ return
619
+ }
620
+ let shImage = false
621
+ if(val.indexOf('其他') == -1){
622
+ this.f_items[n].f_else = ''
623
+ }
624
+ // if(this.config[this.device.device].items[item].type == 'selector'){
625
+ // this.f_items[n].f_item_value = val
626
+ // }else if(this.config[this.device.device].items[item].type == 'inputSelector'){
627
+ // this.f_items[n].f_item_value = val[0]
628
+ // }
629
+ // 在配置中查找该项
630
+ for (let item in this.config[this.device.device].items) {
631
+ if(typeof this.config[this.device.device].items[item]=='function'){
632
+ continue
633
+ }
634
+ let type = this.config[this.device.device].items[item].type
635
+ let multiple = this.config[this.device.device].items[item].multiple?this.config[this.device.device].items[item].multiple:false
636
+ let options = this.config[this.device.device].items[item].options
637
+ if ((this.config[this.device.device].items[item].type == 'selector' || this.config[this.device.device].items[item].type == 'inputSelector') && item == this.f_items[n].f_item_name) {
638
+ for (let i in options) {
639
+ if(typeof options[i]=='function'){
640
+ continue
641
+ }
642
+ let value
643
+ if(this.config[this.device.device].items[item].type == 'selector' && this.config[this.device.device].items[item].multiple == false){
644
+ value = val[0]
645
+ }else if (this.config[this.device.device].items[item].type == 'inputSelector'){
646
+ value = val
647
+ }
648
+ //tag)
649
+ // 如果未选择,清空图片、隐患信息等
650
+ if((type == 'selector' && val.length == 0) || (type == 'inputSelector' && val == '')){
651
+ this.f_items[n].f_path = ''
652
+ this.f_items[n].f_is_defect = ''
653
+ this.f_items[n].f_defect_level = ''
654
+ this.f_items[n].f_live_dispose = ''
655
+ this.f_items[n].f_deal_dispose = ''
656
+ this.f_items[n].tooltip = ''
657
+ }
658
+ if((type == 'selector' && multiple == false && options[i].data == val[0]) || (type == 'inputSelector' && options[i].data == val) || (type == 'selector' && multiple == true && val.indexOf(options[i].data) > -1)){
659
+ // 找到选中的项了
660
+ //tag
661
+ if(options[i].isdefect == true ){
662
+ shImage = true
663
+ }
664
+ if(options[i].isdefect == false || this.f_items[n].f_item_value == ''){
665
+ shImage = false
666
+ }
667
+ //tag
668
+ if(shImage){
669
+ this.f_items[n].f_is_defect =true
670
+ this.f_items[n].f_defect_level = options[i].level
671
+ if (!multiple){
672
+ this.f_items[n].f_path = Vue.nopic
673
+ }
674
+ this.f_items[n].f_live_dispose = '否'
675
+ this.f_items[n].f_deal_dispose = '未处理'
676
+ //tag
677
+ this.f_items[n].tooltip= options[i].tooltip
678
+ }else{
679
+ this.f_items[n].f_path = ''
680
+ this.f_items[n].f_is_defect = ''
681
+ this.f_items[n].f_defect_level = ''
682
+ this.f_items[n].f_live_dispose = ''
683
+ this.f_items[n].f_deal_dispose = ''
684
+ this.f_items[n].tooltip = ''
685
+ }
686
+ }
687
+ }
688
+ }
689
+ }
690
+ }
691
+ )
692
+ // this.$watch('other',function(val){
693
+ // //tag
694
+ // if(this.selectindex != null) {
695
+ // let index = this.f_items[this.selectindex].f_item_value.indexOf('其他')
696
+ // if(index > -1){
697
+ // this.f_items[this.selectindex].f_item_value.splice(index,1,this.other)
698
+ // }
699
+ // }
700
+ //
701
+ // })
702
+ }else if(this.f_items[n].type == 'radio') {
703
+ // 监听单选框,如果有隐患,需要拍照
704
+ this.$watch('f_items[' + n + '].f_item_value', function (val) {
705
+ //tag)
706
+ let options = this.f_items[n].options
707
+ //tag)
708
+ for (let i = 0; i < options.length; i++) {
709
+ //tag)
710
+ // 找到选中的项了
711
+ if (options[i].value == val) {
712
+ // 如果有隐患,拍图片
713
+ if (options[i].isdefect) {
714
+ this.f_items[n].f_is_defect = true
715
+ this.f_items[n].f_defect_level = options[i].level
716
+ this.f_items[n].f_path = Vue.nopic
717
+ this.f_items[n].f_live_dispose = '否'
718
+ this.f_items[n].f_deal_dispose = '未处理'
719
+ this.f_items[n].tooltip = options[i].tooltip
720
+ //tag)
721
+ return
722
+ }
723
+ }
724
+ }
725
+ this.f_items[n].f_path = ''
726
+ this.f_items[n].f_is_defect = ''
727
+ this.f_items[n].f_defect_level = ''
728
+ this.f_items[n].f_live_dispose = ''
729
+ this.f_items[n].f_deal_dispose = ''
730
+ this.f_items[n].tooltip = ''
731
+ })
732
+ }else if(this.f_items[n].type == 'checkbox') {
733
+ // 监听单选框,如果有隐患,需要拍照
734
+ this.$watch('f_items[' + n + '].f_item_value', function (val) {
735
+ //tag)
736
+ // 如果是手动赋值,不执行下面逻辑
737
+ if (this.f_items[n].isReSet) {
738
+ this.f_items[n].isReSet = false
739
+ return
740
+ }
741
+ let options = this.f_items[n].options
742
+ //tag)
743
+ // 取出选中项中有隐患的详细信息
744
+ let selected = options.filter(item => { return val.indexOf(item.value) != -1 && item.isdefect })
745
+
746
+ if(selected.length > 0){
747
+ // 防止赋值无限调用
748
+ this.f_items[n].isReSet = true
749
+ let selectList = selected.map(item => {return item.value})
750
+ // 如果选中的是非隐患项,取消选中isdefect为true的
751
+ if (selectList.indexOf(val[val.length - 1]) == -1) {
752
+ this.f_items[n].f_item_value = val.filter(item => {return selectList.indexOf(item) == -1})
753
+ this.f_items[n].f_path = ''
754
+ this.f_items[n].f_is_defect = ''
755
+ this.f_items[n].f_defect_level = ''
756
+ this.f_items[n].f_live_dispose = ''
757
+ this.f_items[n].f_deal_dispose = ''
758
+ this.f_items[n].tooltip = ''
759
+ return
760
+ }
761
+ // 如果选中的是隐患项,取消选中isdefect为false的
762
+ this.f_items[n].f_item_value = selectList
763
+ // 如果第一次选择隐患项,初始化
764
+ if (!this.f_items[n].f_is_defect) {
765
+ this.f_items[n].f_is_defect = true
766
+ this.f_items[n].f_defect_level = selected[0].level
767
+ this.f_items[n].f_path = Vue.nopic
768
+ this.f_items[n].f_live_dispose = '否'
769
+ this.f_items[n].f_deal_dispose = '未处理'
770
+ //tag
771
+ this.f_items[n].tooltip = selected[0].tooltip
772
+ }
773
+ //tag)
774
+ return
775
+ }
776
+ this.f_items[n].f_path = ''
777
+ this.f_items[n].f_is_defect = ''
778
+ this.f_items[n].f_defect_level = ''
779
+ this.f_items[n].f_live_dispose = ''
780
+ this.f_items[n].f_deal_dispose = ''
781
+ this.f_items[n].tooltip = ''
782
+ })
783
+ }
784
+ }
785
+ //tag)
786
+ },
787
+ getGasAberrantNumber(val) {
788
+ //tag
789
+ if(!this.f_table_base.index || !this.f_gas_balance.index){
790
+ //tag
791
+ return
792
+ }
793
+ // 先清空
794
+ this.f_items[this.f_gas_aberrant_number.index].f_item_value = null
795
+ this.f_items[this.f_gas_aberrant_number.index].f_is_defect = false
796
+ if(val=='已用气量'){
797
+ //剩余气量 = 累购-已用
798
+ this.f_items[this.f_gas_balance.index].f_item_value= (this.f_items[this.f_total_gas.index].f_item_value-this.f_items[this.f_table_base.index].f_item_value).toFixed(2)
799
+ if (isNaN(this.f_items[this.f_gas_balance.index].f_item_value)) {
800
+ this.f_items[this.f_gas_balance.index].f_item_value = null
801
+ }
802
+ }
803
+
804
+ // 只有两个值都填了才会计算
805
+ if (!this.f_items[this.f_table_base.index].f_item_value || !this.f_items[this.f_gas_balance.index].f_item_value) {
806
+ return
807
+ }
808
+ //tag)
809
+ //tag
810
+ //tag
811
+
812
+ // 计算公式 => 气量异常差值 = 累计购气量 - (已用气量 - 初始表底) - 剩余气量
813
+ this.f_items[this.f_gas_aberrant_number.index].f_item_value = this.f_items[this.f_total_gas.index].f_item_value - this.f_items[this.f_gas_balance.index].f_item_value - (this.f_items[this.f_table_base.index].f_item_value - (this.f_initial_base.index?this.f_items[this.f_initial_base.index].f_item_value:0))
814
+ this.f_items[this.f_gas_aberrant_number.index].f_item_value = this.f_items[this.f_gas_aberrant_number.index].f_item_value.toFixed(3)
815
+ // 如果数值有误,清空结果s
816
+ if (isNaN(this.f_items[this.f_gas_aberrant_number.index].f_item_value)) {
817
+ this.f_items[this.f_gas_aberrant_number.index].f_item_value = null
818
+ }
819
+ //tag ===> ' + Math.abs(this.f_items[this.f_gas_aberrant_number.index].f_item_value))
820
+ //tag ===> ' + JSON.stringify(Number(this.gasDeviation)))
821
+ // 计算差值是否在范围内
822
+ if (Math.abs(this.f_items[this.f_gas_aberrant_number.index].f_item_value) > Number(this.gasDeviation)|| Math.abs(this.f_items[this.f_gas_aberrant_number.index].f_item_value) < Number(this.gasDeviation) * -1) {
823
+ this.f_items[this.f_gas_aberrant_number.index].f_is_defect = true
824
+ this.f_items[this.f_gas_aberrant_number.index].f_deal_dispose = '未处理'
825
+ }else{
826
+ this.f_items[this.f_gas_aberrant_number.index].f_is_defect = null
827
+ this.f_items[this.f_gas_aberrant_number.index].f_deal_dispose = null
828
+ }
829
+
830
+ //tag)
831
+ },
832
+ getFeeAberrantNumber(val) {
833
+ //tag
834
+ // 只有两个值都填了才会计算
835
+ if(!this.f_fee_base.index || !this.f_fee_balance.index){
836
+ //tag
837
+ return
838
+ }
839
+ // 先清空
840
+ this.f_items[this.f_fee_aberrant_number.index].f_item_value = null
841
+ this.f_items[this.f_fee_aberrant_number.index].f_is_defect = false
842
+
843
+ if(val=='已用金额'){
844
+ this.f_items[this.f_fee_balance.index].f_item_value=(this.f_items[this.f_total_fee.index].f_item_value-this.f_items[this.f_fee_base.index].f_item_value).toFixed(3)
845
+ if (isNaN(this.f_items[this.f_fee_balance.index].f_item_value)) {
846
+ this.f_items[this.f_fee_balance.index].f_item_value = null
847
+ }
848
+ }
849
+
850
+ if (!this.f_items[this.f_fee_base.index].f_item_value || !this.f_items[this.f_fee_balance.index].f_item_value) {
851
+ return
852
+ }
853
+
854
+ // 计算公式 => 金额异常差值 = 累计购金额 - 已用金额 - 剩余金额
855
+ this.f_items[this.f_fee_aberrant_number.index].f_item_value = this.f_items[this.f_total_fee.index].f_item_value - this.f_items[this.f_fee_balance.index].f_item_value - this.f_items[this.f_fee_base.index].f_item_value
856
+ this.f_items[this.f_fee_aberrant_number.index].f_item_value = this.f_items[this.f_fee_aberrant_number.index].f_item_value.toFixed(3)
857
+ if (isNaN(this.f_items[this.f_fee_aberrant_number.index].f_item_value)) {
858
+ this.f_items[this.f_fee_aberrant_number.index].f_item_value = null
859
+ }
860
+ //tag ===> ' + Math.abs(this.f_items[this.f_fee_aberrant_number.index].f_item_value))
861
+ //tag ===> ' + JSON.stringify(Number(this.feeDeviation)))
862
+ // 计算差值是否在范围内
863
+ if (Math.abs(this.f_items[this.f_fee_aberrant_number.index].f_item_value) > Number(this.feeDeviation)) {
864
+ this.f_items[this.f_fee_aberrant_number.index].f_is_defect = true
865
+ this.f_items[this.f_fee_aberrant_number.index].f_deal_dispose = '未处理'
866
+ }else{
867
+ this.f_items[this.f_fee_aberrant_number.index].f_is_defect = null
868
+ this.f_items[this.f_fee_aberrant_number.index].f_deal_dispose = null
869
+ }
870
+
871
+ //tag)
872
+ },
873
+ // 计算剩余金额和剩余金额差值
874
+ getFeeAberrantNumber2(val) {
875
+ //tag
876
+ // 只有两个值都填了才会计算
877
+ if(!this.f_table_balance.index || !this.f_fee_balance.index){
878
+ //tag
879
+ return
880
+ }
881
+ // 先清空
882
+ this.f_items[this.f_fee_aberrant_number.index].f_item_value = null
883
+ this.f_items[this.f_fee_aberrant_number.index].f_is_defect = false
884
+
885
+ // 计算公式 => 金额异常差值 = 系统剩余金额 - 表端剩余金额
886
+ this.f_items[this.f_fee_aberrant_number.index].f_item_value = this.f_items[this.f_fee_balance.index].f_item_value - this.f_items[this.f_table_balance.index].f_item_value
887
+ this.f_items[this.f_fee_aberrant_number.index].f_item_value = this.f_items[this.f_fee_aberrant_number.index].f_item_value.toFixed(3)
888
+ if (isNaN(this.f_items[this.f_fee_aberrant_number.index].f_item_value)) {
889
+ this.f_items[this.f_fee_aberrant_number.index].f_item_value = null
890
+ }
891
+ //tag ===> ' + Math.abs(this.f_items[this.f_fee_aberrant_number.index].f_item_value))
892
+ //tag ===> ' + JSON.stringify(Number(this.feeDeviation)))
893
+ // 计算差值是否在范围内
894
+ if (Math.abs(this.f_items[this.f_fee_aberrant_number.index].f_item_value) > Number(this.feeDeviation)) {
895
+ this.f_items[this.f_fee_aberrant_number.index].f_is_defect = true
896
+ this.f_items[this.f_fee_aberrant_number.index].f_deal_dispose = '未处理'
897
+ }else{
898
+ this.f_items[this.f_fee_aberrant_number.index].f_is_defect = null
899
+ this.f_items[this.f_fee_aberrant_number.index].f_deal_dispose = null
900
+ }
901
+ console.log('--------------------------------')
902
+ console.log(this.f_items[this.f_fee_aberrant_number.index].f_item_value)
903
+
904
+ //tag)
905
+ },
906
+ //物联网表字轮数改变触发
907
+ getmeteraberrantnumber() {
908
+ //tag
909
+
910
+ // 先清空
911
+ this.f_items[this.f_meter_aberrant_number1.index].f_item_value = null
912
+ this.f_items[this.f_meter_aberrant_number1.index].f_is_defect = false
913
+ //tag
914
+ // 只有两个值都填了才会计算
915
+ if (!this.f_items[this.f_meter_base.index].f_item_value || !this.f_items[this.f_meter_base1.index].f_item_value) {
916
+ return
917
+ }
918
+ //tag
919
+ // 计算公式 => 表数异常差值= - 字轮数 - 后台表读数
920
+ this.f_items[this.f_meter_aberrant_number1.index].f_item_value = this.f_items[this.f_meter_base1.index].f_item_value - this.f_items[this.f_meter_base.index].f_item_value
921
+ this.f_items[this.f_meter_aberrant_number1.index].f_item_value = this.f_items[this.f_meter_aberrant_number1.index].f_item_value.toFixed(3)
922
+ if (isNaN(this.f_items[this.f_meter_aberrant_number1.index].f_item_value)) {
923
+ this.f_items[this.f_meter_aberrant_number1.index].f_item_value = null
924
+ }
925
+ //tag ===> ' + Math.abs(this.f_items[this.f_meter_aberrant_number1.index].f_item_value))
926
+ // 计算差值是否在范围内
927
+ //tag)
928
+ if (Math.abs(this.f_items[this.f_meter_aberrant_number1.index].f_item_value) > Number(this.meterbase)){
929
+ this.f_items[this.f_meter_aberrant_number1.index].f_is_defect = true
930
+ }
931
+
932
+ //tag)
933
+ },
934
+
935
+ disSelect(index, itemValue) {
936
+ //tag)
937
+ //tag)
938
+ if (this.f_items[index].f_item_value == itemValue) {
939
+ this.$set(`f_items[${index}].f_item_value`, '')
940
+ }
941
+ }
942
+ },
943
+ ready() {
944
+ //tag
945
+ //tag
946
+ if(Vue.config.safecheck != undefined){
947
+ if(Vue.config.safecheck.ApproveConfig != undefined){
948
+ if(Vue.config.safecheck.ApproveConfig.livedispose != undefined) {
949
+ this.livedispose = Vue.config.safecheck.ApproveConfig.livedispose
950
+ }
951
+ if(Vue.config.safecheck.ApproveConfig.dealdispose != undefined) {
952
+ this.dealdispose = Vue.config.safecheck.ApproveConfig.dealdispose
953
+ }
954
+ if(Vue.config.safecheck.ApproveConfig.showtorepair) {
955
+ this.deals=[{label: '现场整改', value: '现场整改'},
956
+ {label: '自行处理', value: '自行处理'},
957
+ {label: '转维修', value: '报修'}
958
+ ]
959
+ }
960
+ if(Vue.config.safecheck.ApproveConfig.Processing) {
961
+ if(Vue.config.safecheck.ApproveConfig.Processing.length > 0){
962
+ this.deals = Vue.config.safecheck.ApproveConfig.Processing
963
+ }
964
+ }
965
+ if(Vue.config.safecheck.ApproveConfig.showXCImg) {
966
+ this.showXCImg = true
967
+ }
968
+ if(Vue.config.safecheck.ApproveConfig.showZXTime) {
969
+ this.showZXTime = true
970
+ }
971
+ if(Vue.config.safecheck.ApproveConfig.showtorepair) {
972
+ }
973
+ if(Vue.config.safecheck.ApproveConfig.hiddendanger != undefined) {
974
+ if (parseInt(Vue.config.safecheck.ApproveConfig.hiddendanger) >= 5) {
975
+ this.hiddenDangerImgNumber = 5
976
+ }else {
977
+ this.hiddenDangerImgNumber = parseInt(Vue.config.safecheck.ApproveConfig.hiddendanger)
978
+ }
979
+ }
980
+ }
981
+ }
982
+ //tag
983
+ //tag)
984
+ //tag)
985
+ //tag)
986
+ //创建页面所需数据
987
+ this.$set('piece', this.paper['device'+this.device.n][this.idx])
988
+ //tag)
989
+ //tag)
990
+ let n = 0
991
+ for (let item in this.config[this.device.device].items) {
992
+ if(typeof this.config[this.device.device].items[item]=='function'){
993
+ continue
994
+ }
995
+ let index = this.config[this.device.device].items[item].index-1
996
+ this.$set('page.options' + index, [])
997
+ //tag)
998
+ //tag)
999
+ //tag)
1000
+ // 先根据配置组接页面
1001
+ let f_item_value
1002
+ if(this.config[this.device.device].items[item].type == 'selector' || this.config[this.device.device].items[item].type == 'checkbox'){
1003
+ f_item_value = []
1004
+ // 判断选项的默认值
1005
+ for (let defitem in this.config[this.device.device].items[item].options) {
1006
+ if(typeof this.config[this.device.device].items[item].options[defitem]=='function'){
1007
+ continue
1008
+ }
1009
+ let defopt = this.config[this.device.device].items[item].options[defitem]
1010
+ if (defopt.isdefault) {
1011
+ //tag
1012
+ f_item_value[0] = defopt.data
1013
+ }
1014
+ }
1015
+ // if(this.config[this.device.device].items[item].data){
1016
+ // f_item_value.push(this.config[this.device.device].items[item].data)
1017
+ // }
1018
+ }else if(this.config[this.device.device].items[item].type == 'radio'){
1019
+ //为radio添加默认值
1020
+ f_item_value=''
1021
+ //tag)
1022
+ for (let defitem in this.config[this.device.device].items[item].options) {
1023
+ if(typeof this.config[this.device.device].items[item].options[defitem]=='function'){
1024
+ continue
1025
+ }
1026
+ //tag)
1027
+ let defopt = this.config[this.device.device].items[item].options[defitem]
1028
+ if (defopt.isdefault) {
1029
+ //tag)
1030
+ f_item_value = defopt.data
1031
+ }
1032
+ }
1033
+ }else{
1034
+ f_item_value = this.config[this.device.device].items[item].data ? this.config[this.device.device].items[item].data : ''
1035
+ }
1036
+ //tag)
1037
+ let it = {
1038
+ type: this.config[this.device.device].items[item].type,
1039
+ f_item_name: item,
1040
+ checkmust: this.config[this.device.device].items[item].checkmust,
1041
+ f_item_value: f_item_value,
1042
+ is_verification:this.config[this.device.device].items[item].is_verification,
1043
+ verification_text:'',
1044
+ verification_state:'',// ai验证是否通过 npass(未通过)/pass(通过)
1045
+ f_is_defect: '',
1046
+ multiple:this.config[this.device.device].items[item].multiple == true?this.config[this.device.device].items[item].multiple:false,
1047
+ isshow:this.config[this.device.device].items[item].isshow == false?this.config[this.device.device].items[item].isshow:true,
1048
+ readonly: this.config[this.device.device].items[item].readonly == true?true:false,
1049
+ remark: this.config[this.device.device].items[item].remark ? this.config[this.device.device].items[item].remark : '',
1050
+ f_path: '',
1051
+ unit: this.config[this.device.device].items[item].unit ? this.config[this.device.device].items[item].unit : '',
1052
+ tooltip:'',
1053
+ f_live_dispose:'',
1054
+ f_deal_dispose:'',
1055
+ f_else: '',
1056
+ f_p1_path: '',
1057
+ f_p2_path: '',
1058
+ f_p3_path: '',
1059
+ f_longitude:'',
1060
+ f_latitude:''
1061
+ }
1062
+ //tag)
1063
+ //tag)
1064
+ this.$set('f_items['+index+']',it)
1065
+ if (this.config[this.device.device].items[item].type == 'selector' ||this.config[this.device.device].items[item].type == 'inputSelector') {
1066
+ if(this.config[this.device.device].items[item].type == 'selector'){
1067
+ this.page['options' + index].push({
1068
+ label: "请选择",
1069
+ value: ''
1070
+ })
1071
+ }
1072
+ for (let i in this.config[this.device.device].items[item].options) {
1073
+ if(typeof this.config[this.device.device].items[item].options[i]=='function'){
1074
+ continue
1075
+ }
1076
+ this.page['options' + index].push({
1077
+ label: this.config[this.device.device].items[item].options[i].data,
1078
+ value: this.config[this.device.device].items[item].options[i].data,
1079
+ tooltip: this.config[this.device.device].items[item].options[i].tooltip
1080
+ })
1081
+ }
1082
+ if(this.config[this.device.device].items[item].type == 'selector'){
1083
+ this.$set('f_items['+index+'].selected', f_item_value)
1084
+ }else if(this.config[this.device.device].items[item].type == 'inputSelector'){
1085
+ this.$set('f_items['+index+'].selected', f_item_value)
1086
+ }
1087
+
1088
+ this.$set('f_items['+index+'].options',this.page['options' + index])
1089
+
1090
+ //tag)
1091
+ } else if (this.config[this.device.device].items[item].type == 'radio' || this.config[this.device.device].items[item].type == 'checkbox') {
1092
+ //tag)
1093
+ //tag
1094
+ //tag)
1095
+ for (let i in this.config[this.device.device].items[item].options) {
1096
+ if(typeof this.config[this.device.device].items[item].options[i]=='function'){
1097
+ continue
1098
+ }
1099
+ //tag
1100
+ this.page['options' + index].push({
1101
+ label: this.config[this.device.device].items[item].options[i].data,
1102
+ value: this.config[this.device.device].items[item].options[i].data,
1103
+ isdefect: this.config[this.device.device].items[item].options[i].isdefect,
1104
+ level: this.config[this.device.device].items[item].options[i].level,
1105
+ tooltip: this.config[this.device.device].items[item].options[i].tooltip
1106
+ })
1107
+ //tag)
1108
+ }
1109
+ //tag)
1110
+ this.$set('f_items[' + index + '].options', this.page['options' + index])
1111
+ this.$set('f_items[' + index + '].f_item_value', f_item_value)
1112
+ //tag)
1113
+ }
1114
+ n = n + 1
1115
+ }
1116
+ if(!this.piece || JSON.stringify(this.piece) == '{}') {
1117
+ // 如果没有,则新建
1118
+ this.$set('piece.f_items',this.f_items)
1119
+ this.$set('piece.f_device_type',this.device.device)
1120
+ } else {
1121
+ // 已经存在,把之前的数据重新填入
1122
+ for (let f in this.f_items){
1123
+ if(typeof this.f_items[f]=='function'){
1124
+ continue
1125
+ }
1126
+ for(let p in this.piece.f_items) {
1127
+ if(typeof this.piece.f_items[p]=='function'){
1128
+ continue
1129
+ }
1130
+ if (this.f_items[f].f_item_name == this.piece.f_items[p].f_item_name) {
1131
+ //tag)
1132
+ //tag)
1133
+ this.f_items[f] = Object.assign(this.f_items[f], this.piece.f_items[p])
1134
+ //tag)
1135
+ if (this.f_items[f].type == 'selector' || this.f_items[f].type == 'inputSelector') {
1136
+ //tag)
1137
+ //tag)
1138
+ this.f_items[f].selected = this.piece.f_items[p].f_item_value
1139
+ //tag)
1140
+ }
1141
+ // 取出特殊值
1142
+ if (this.f_items[f].f_item_name == '初始表底') {
1143
+ //tag)
1144
+ this.f_initial_base.index = f
1145
+ } else if (this.f_items[f].f_item_name == '累购气量') {
1146
+ //tag)
1147
+ this.f_total_gas.index = f
1148
+ } else if (this.f_items[f].f_item_name == '已用气量') {
1149
+ //tag)
1150
+ this.f_table_base.index = f
1151
+ this.$watch('f_items[' + f + '].f_item_value', function () {
1152
+ this.getGasAberrantNumber('已用气量')
1153
+ })
1154
+ } else if (this.f_items[f].f_item_name == '剩余气量') {
1155
+ //tag)
1156
+ this.f_gas_balance.index = f
1157
+ this.$watch('f_items[' + f + '].f_item_value', function () {
1158
+ this.getGasAberrantNumber('')
1159
+ })
1160
+ } else if (this.f_items[f].f_item_name == '气量异常差值') {
1161
+ //tag)
1162
+ this.f_gas_aberrant_number.index = f
1163
+ } else if (this.f_items[f].f_item_name == '累购金额') {
1164
+ //tag)
1165
+ this.f_total_fee.index = f
1166
+ } else if (this.f_items[f].f_item_name == '已用金额') {
1167
+ //tag)
1168
+ this.f_fee_base.index = f
1169
+ this.$watch('f_items[' + f + '].f_item_value', function () {
1170
+ this.getFeeAberrantNumber('已用金额')
1171
+ })
1172
+ } else if (this.f_items[f].f_item_name == '剩余金额') {
1173
+ //tag)
1174
+ this.f_fee_balance.index = f
1175
+ this.$watch('f_items[' + f + '].f_item_value', function () {
1176
+ this.getFeeAberrantNumber('')
1177
+ this.getFeeAberrantNumber2('')
1178
+ })
1179
+ } else if (this.f_items[f].f_item_name == '表端剩余金额') {
1180
+ this.f_table_balance.index = f
1181
+ this.$watch('f_items[' + f + '].f_item_value', function () {
1182
+ this.getFeeAberrantNumber2('')
1183
+ })
1184
+ } else if (this.f_items[f].f_item_name == '金额异常差值') {
1185
+ //tag)
1186
+ this.f_fee_aberrant_number.index = f
1187
+ }else if (this.f_items[f].f_item_name == '表读数') {
1188
+ //tag)
1189
+ this.f_meter_base.index = f
1190
+ }else if (this.f_items[f].f_item_name == '表剩余金额') {
1191
+ //tag)
1192
+ this.f_balance_amount.index = f
1193
+ }else if (this.f_items[f].f_item_name == '字轮数') {
1194
+ //tag)
1195
+ this.f_meter_base1.index = f
1196
+ this.$watch('f_items[' + f + '].f_item_value', function () {
1197
+ this.getmeteraberrantnumber()
1198
+ })
1199
+ }else if (this.f_items[f].f_item_name == '表余额') {
1200
+ //tag)
1201
+ this.f_balance_amount1.index = f
1202
+ this.$watch('f_items[' + f + '].f_item_value', function () {
1203
+ this.getfeeaberrantnumber1()
1204
+ })
1205
+ }else if (this.f_items[f].f_item_name == '表数异常差值') {
1206
+ //tag)
1207
+ this.f_meter_aberrant_number1.index = f
1208
+ }else if (this.f_items[f].f_item_name == '表金额异常差值') {
1209
+ //tag)
1210
+ this.f_fee_aberrant_number1.index = f
1211
+ }
1212
+ }
1213
+ }
1214
+ for (let em in this.config[this.device.device].items) {
1215
+ if(typeof this.config[this.device.device].items[em]=='function'){
1216
+ continue
1217
+ }
1218
+ if (this.config[this.device.device].items[em].type == 'selector' && em == this.f_items[f].f_item_name) {
1219
+ this.f_items[f].options =[]
1220
+ for (let k in this.config[this.device.device].items[em].options) {
1221
+ if(typeof this.config[this.device.device].items[em].options[k]=='function'){
1222
+ continue
1223
+ }
1224
+ this.f_items[f].options.push({
1225
+ label: this.config[this.device.device].items[em].options[k].data,
1226
+ value: this.config[this.device.device].items[em].options[k].data
1227
+ })
1228
+ }
1229
+ }
1230
+ }
1231
+ }
1232
+ //tag)
1233
+ this.$set('piece.f_items',this.f_items)
1234
+ }
1235
+ this.towatch()
1236
+ },
1237
+ destroyed(){
1238
+ let nullCount = 0
1239
+ let metertitles
1240
+ //判断当前是否有选中项
1241
+ for (let row in this.f_items){
1242
+ if(typeof this.f_items[row]=='function'){
1243
+ continue
1244
+ }
1245
+ if(this.f_items[row].selected && this.f_items[row].selected != '' && this.f_items[row].selected instanceof Array){
1246
+ //tag
1247
+ this.f_items[row].f_item_value = this.f_items[row].selected
1248
+ }else if(this.f_items[row].selected && this.f_items[row].selected != ''){
1249
+ //tag
1250
+ this.f_items[row].f_item_value = this.f_items[row].selected
1251
+ }
1252
+ // if(this.f_items[row].f_item_value instanceof Array && this.f_items[row].f_item_value.length != 0 ){
1253
+ // nullCount = nullCount+1
1254
+ // }else if(this.f_items[row].f_item_value != ''){
1255
+ // nullCount = nullCount+1
1256
+ // }
1257
+ }
1258
+ let picture = []
1259
+ // for (let row in this.f_items){
1260
+ // let a={}
1261
+ // a.f_path = this.f_items[row].f_path
1262
+ // a.name = this.f_items[row].f_item_name
1263
+ // }
1264
+ // picture.push(a)
1265
+ this.$set(`paper['device${this.device.n}'][${this.idx}]`, this.piece)
1266
+ //tag
1267
+ },
1268
+ computed:{
1269
+
1270
+ }
1271
+ }
1272
+ </script>
1273
+ <style lang="less" scoped>
1274
+ .class-erro {
1275
+ color: #a94442;
1276
+ }
1277
+ .fivelabel{
1278
+ border: none;
1279
+ border-left: 5px solid #A2C2EB;
1280
+ float: left;
1281
+ width: 35%;
1282
+ margin-bottom: 3px;
1283
+ text-align: left;
1284
+ word-wrap: break-word;
1285
+ white-space: normal;
1286
+ }
1287
+ .radiolabel{
1288
+ border: none;
1289
+ border-left: 5px solid #A2C2EB;
1290
+ float: left;
1291
+ width: 65%;
1292
+ margin-bottom: 3px;
1293
+ text-align: left;
1294
+ word-wrap: break-word;
1295
+ white-space: normal;
1296
+ }
1297
+
1298
+ .textlabel {
1299
+ border: none;
1300
+ border-left: 5px solid #A2C2EB;
1301
+ width: 100%;
1302
+ margin-bottom: 3px;
1303
+ text-align: left;
1304
+ word-wrap: break-word;
1305
+ white-space: normal;
1306
+ }
1307
+ .textlabel1 {
1308
+ border: none;
1309
+ border-left: 5px solid #f7cb32;
1310
+ width: 100%;
1311
+ margin-bottom: 3px;
1312
+ text-align: left;
1313
+ word-wrap: break-word;
1314
+ white-space: normal;
1315
+ }
1316
+ .spanrodio{
1317
+ margin-right: 10px;
1318
+ }
1319
+ .div-photo{
1320
+ width: auto;
1321
+ height: auto;
1322
+ /* margin-top: 10px; */
1323
+ position: absolute;
1324
+ bottom: 10px;
1325
+ right: 10px;
1326
+ }
1327
+ .panel-self{
1328
+ border-radius: 5px;
1329
+ border:1px solid #c5e1f7;
1330
+ //background-color: #F2F6FA;
1331
+ }
1332
+ .btn-photo{
1333
+ border: 0;
1334
+ border-radius: 7px;
1335
+ background-color: #7dc1f4;
1336
+ font: 15px PingFang-SC-Bold;
1337
+ height: 20%;
1338
+ }
1339
+ </style>
1340
+