safecheck-client 3.0.30-3 → 3.0.30-33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/examples/SafePlan-liaoyuan/App.vue +3 -1
- package/package.json +4 -3
- package/src/components/android/AddPlanItem.vue +5 -2
- package/src/components/android/CurrentCreate.vue +3 -1
- package/src/components/paper/PlanChooser.vue +2 -2
- package/src/components/pc/Edit.vue +50 -0
- package/src/components/pc/NewCheckpaper.vue +9 -5
- package/src/components/pc/PaperEdit.vue +148 -0
- package/src/components/pc/SelectCheckPlanAndNoPLan.vue +3 -0
- package/src/components/querycheckpaper/CheckSearchUser.vue +10 -1
- package/src/filiale/bayan/android/PhoneUpUserinfo.vue +1377 -1377
- package/src/filiale/hanzhong/android/PaperFeedback.vue +1477 -0
- package/src/filiale/hanzhong/android/SafecheckDevices.vue +1313 -0
- package/src/filiale/hanzhong/android/SafecheckOrderV.vue +2683 -0
- package/src/filiale/hanzhong/android.js +5 -1
- package/src/filiale/jingyang/android/PhoneUpUserinfo.vue +34 -34
- package/src/filiale/jingyang/pc/PaperList.vue +1 -2
- package/src/filiale/kelai/android/AddPlanItem.vue +488 -0
- package/src/filiale/kelai/android.js +1 -0
- package/src/filiale/pingxiang/pc/DefectPaperNew.vue +1 -1
- package/src/filiale/qianneng/android/PaperFeedback.vue +40 -0
- package/src/filiale/qingjian/android/PhoneUpUserinfo.vue +9 -3
- package/src/filiale/tongchuan/android/SafecheckDevices.vue +1 -0
- package/src/filiale/tongchuan/pc/PaperDefectMain.vue +2 -0
- package/src/filiale/wenxi/pc/DefectPaper.vue +1 -1
- package/src/filiale/yangchunboneng/android/CurrentCreate.vue +600 -598
- package/src/filiale/yangchunboneng/android/PaperFeedback.vue +20 -0
- package/src/filiale/yangchunboneng/pc/DefectPaperNew.vue +1 -1
- package/src/filiale/yangchunboneng/pc/PaperDefectMain.vue +2 -2
- package/src/filiale/yangchunboneng/pc/PaperList.vue +2 -2
- package/src/filiale/yongzhou/pc/NoCheckplanSafecheck.vue +230 -0
- package/src/filiale/yongzhou/pc/communityDetail.vue +183 -171
- package/src/filiale/yongzhou/pc/communityTypeDetailG.vue +8 -6
- package/src/filiale/yongzhou/pc/communityTypeDetailM.vue +8 -6
- package/src/filiale/yongzhou/pc/safeDetail.vue +232 -220
- package/src/filiale/yongzhou/pc/safeStatistics.vue +124 -114
- package/src/filiale/yongzhou/pc/safeStatisticsDay.vue +416 -396
- package/src/filiale/yongzhou/pc/safeStatisticsMonth.vue +248 -231
- package/src/filiale/yongzhou/pc/safeStatisticsYear.vue +110 -100
- package/src/filiale/yongzhou/pc/safeTable.vue +136 -128
- package/src/filiale/yongzhou/pc.js +24 -23
- package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +151 -53
- package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +14 -0
- package/src/main.js +33 -33
- package/src/safecheck.js +6 -0
@@ -17,6 +17,7 @@
|
|
17
17
|
import Comp from "./comp"
|
18
18
|
import TestData from "./TestData"
|
19
19
|
import {HttpResetClass} from "vue-client";
|
20
|
+
import Vue from 'vue'
|
20
21
|
export default {
|
21
22
|
data(){
|
22
23
|
return{
|
@@ -25,7 +26,8 @@ data(){
|
|
25
26
|
},
|
26
27
|
ready() {
|
27
28
|
try{
|
28
|
-
|
29
|
+
Vue.mmType = 'nginx'
|
30
|
+
Vue.HWQMM = [51, 150, 231, 300, 565, 708, 721, 952, 738, 560, 935, 912, 1274, 1148, 840, 1440]
|
29
31
|
if (this.$login) {
|
30
32
|
//tag
|
31
33
|
global.login=this.$login.f
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "safecheck-client",
|
3
3
|
"//": "主分支版本别乱升,测试包的版本直接发包(建议使用1.XX.XX-XXX格式作为测试包,不要频繁升级第三位版本号),别提交版本号。切了分支切记把主分支版本升了,保证主分支始终是最高版本!!!!!",
|
4
|
-
"version": "3.0.30-
|
4
|
+
"version": "3.0.30-33",
|
5
5
|
"description": "安检模块 前端组件",
|
6
6
|
"author": "丁新 <417755458@qq.com>",
|
7
7
|
"license": "ISC",
|
@@ -100,18 +100,19 @@
|
|
100
100
|
"selenium-server": "2.52.0",
|
101
101
|
"sinon": "^2.1.0",
|
102
102
|
"sinon-chai": "^2.8.0",
|
103
|
+
"sketch-vue3": "^1.0.0",
|
103
104
|
"style": "0.0.3",
|
104
105
|
"style-loader": "^0.20.3",
|
105
106
|
"system-clients": "3.2.76",
|
106
107
|
"system-phone": "1.2.100",
|
107
|
-
"terser-webpack-plugin-legacy": "^1.2.5",
|
108
108
|
"telephone-clients": "1.1.27",
|
109
|
+
"terser-webpack-plugin-legacy": "^1.2.5",
|
109
110
|
"url-loader": "^0.5.7",
|
111
|
+
"vue-amap": "0.5.10",
|
110
112
|
"vue-client": "1.24.129",
|
111
113
|
"vue-hot-reload-api": "^1.2.0",
|
112
114
|
"vue-html-loader": "^1.0.0",
|
113
115
|
"vue-loader": "^8.2.1",
|
114
|
-
"vue-amap": "0.5.10",
|
115
116
|
"vue-resource": "^1.5.0",
|
116
117
|
"vue-router": "^0.7.13",
|
117
118
|
"vue-strap": "^1.0.9",
|
@@ -289,8 +289,11 @@
|
|
289
289
|
HostApp.scanCode({callback:"javascript:HostApp.__this__.getCode();"})
|
290
290
|
},
|
291
291
|
getCode(){
|
292
|
-
|
293
|
-
|
292
|
+
let datapa = HostApp.getCode().data;
|
293
|
+
let indexnum = datapa.indexOf("]C1")
|
294
|
+
if(indexnum != -1){
|
295
|
+
datapa = datapa.substring(indexnum+3,datapa.length)
|
296
|
+
}
|
294
297
|
this.$refs.paged.$refs.cri.model.f_meternumber=datapa
|
295
298
|
},
|
296
299
|
getCheckTime(){
|
@@ -853,7 +853,9 @@
|
|
853
853
|
condition += " and tm.f_meter_no like '%"+this.$refs.paged.$refs.cri.model.f_meter_no+"%'"
|
854
854
|
// if(this.$refs.paged.$refs.cri.model.f_flow_direction[0])
|
855
855
|
// condition += " and tm.f_flow_direction = '"+this.$refs.paged.$refs.cri.model.f_flow_direction[0]+"'"
|
856
|
-
|
856
|
+
if(this.$refs.paged.$refs.cri.model.f_user_phone){
|
857
|
+
condition += `and ti.f_user_phone like '%${this.$refs.paged.$refs.cri.model.f_user_phone}%'`
|
858
|
+
}
|
857
859
|
if(this.$refs.paged.$refs.cri.model.f_enter_number)
|
858
860
|
condition += " and ti.f_enter_number like '%"+this.$refs.paged.$refs.cri.model.f_enter_number+"%'"
|
859
861
|
if(this.$refs.paged.$refs.cri.model.f_check_version)
|
@@ -79,8 +79,8 @@
|
|
79
79
|
let select = function * (self) {
|
80
80
|
let http = new HttpResetClass()
|
81
81
|
http.load('POST', '/rs/search', {
|
82
|
-
|
83
|
-
|
82
|
+
source: `root.getResourceById($${self.userlogin.orgid}$,$organization$).getSpecialResByType($user$).where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1)`,
|
83
|
+
userid: self.$login.f.id
|
84
84
|
}, {resolveMsg: null, rejectMsg: null}).then((res) => {
|
85
85
|
self.checkers = []
|
86
86
|
//tag
|
@@ -0,0 +1,50 @@
|
|
1
|
+
<template>
|
2
|
+
<div>
|
3
|
+
<input type="text" v-model="inputText" placeholder="Enter text here">
|
4
|
+
<button @click="handleClick">测试</button>
|
5
|
+
<iframe v-if="showSketchPage" :src="sketchPageSrc" ref="sketchIframe" id="sketchIframe"
|
6
|
+
style="width: 100%; height: 500px;"></iframe>
|
7
|
+
</div>
|
8
|
+
</template>
|
9
|
+
|
10
|
+
<script>
|
11
|
+
export default {
|
12
|
+
name: 'App',
|
13
|
+
data() {
|
14
|
+
return {
|
15
|
+
inputText: '',
|
16
|
+
showSketchPage: false,
|
17
|
+
sketchPageSrc: '/sketch'
|
18
|
+
};
|
19
|
+
},
|
20
|
+
methods: {
|
21
|
+
handleClick() {
|
22
|
+
this.showSketchPage = true;
|
23
|
+
//this.sketchPageSrc = `/sketch?data=${encodeURIComponent(this.inputText)}`;
|
24
|
+
|
25
|
+
// 使用 $nextTick 确保 iframe 已经加载到 DOM
|
26
|
+
this.$nextTick(() => {
|
27
|
+
const sketchIframe = document.getElementById('sketchIframe').contentWindow;
|
28
|
+
|
29
|
+
// 监听来自 iframe 的消息
|
30
|
+
window.addEventListener('message', (event) => {
|
31
|
+
if (event.origin !== window.location.origin) {
|
32
|
+
return;
|
33
|
+
}
|
34
|
+
console.log('Message received from sketch:', event.data);
|
35
|
+
});
|
36
|
+
|
37
|
+
// 发送消息到 iframe
|
38
|
+
sketchIframe.onload = () => {
|
39
|
+
sketchIframe.postMessage(this.inputText, window.location.origin);
|
40
|
+
};
|
41
|
+
}); // 逻辑空着
|
42
|
+
}
|
43
|
+
},
|
44
|
+
|
45
|
+
}
|
46
|
+
</script>
|
47
|
+
|
48
|
+
<style>
|
49
|
+
/* 这里可以添加样式 */
|
50
|
+
</style>
|
@@ -1330,13 +1330,17 @@ export default {
|
|
1330
1330
|
}
|
1331
1331
|
}
|
1332
1332
|
//tag
|
1333
|
-
|
1334
1333
|
//tag)
|
1335
|
-
if (!this.item.f_safecheck_type) {
|
1334
|
+
if (!this.item.f_safecheck_type && Vue.config.safecheck.SafecheckType) {
|
1336
1335
|
this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType['年度普检'][this.item.f_check_type]])
|
1337
|
-
} else {
|
1338
|
-
|
1339
|
-
|
1336
|
+
} else if (Vue.config.safecheck.SafecheckType){
|
1337
|
+
this.config = this.extend(this.config, Vue.config.safecheck[Vue.config.safecheck.SafecheckType[this.item.f_safecheck_type][this.item.f_check_type]])
|
1338
|
+
}else {
|
1339
|
+
if(this.item.f_check_type == '民用'){
|
1340
|
+
this.config = this.extend(this.config, Vue.config.safecheck.DevicesConfig)
|
1341
|
+
}else {
|
1342
|
+
this.config = this.extend(this.config, Vue.config.safecheck.DevicesSetConfig)
|
1343
|
+
}
|
1340
1344
|
}
|
1341
1345
|
//遍历安检项配置
|
1342
1346
|
for (let i in this.config) {
|
@@ -0,0 +1,148 @@
|
|
1
|
+
<template>
|
2
|
+
<div class="flex-row">
|
3
|
+
<div class="basic-main">
|
4
|
+
<criteria-paged :model="model" v-ref:paged @sort="sort">
|
5
|
+
<criteria partial='criteria' class="search_area" @condition-changed='$parent.selfSearch' v-ref:criteria>
|
6
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
7
|
+
<div class="row">
|
8
|
+
<div class="form-group col-sm-2">
|
9
|
+
<label class="font_normal_body">用户分类</label>
|
10
|
+
<input type="text" class="input_search" v-model="model.f_userinfo_code"
|
11
|
+
style="width: 60%" placeholder="用户分类" condition="f_userinfo_code='{}'">
|
12
|
+
</div>
|
13
|
+
<div class="form-group col-sm-2">
|
14
|
+
<label class="font_normal_body">用气单位</label>
|
15
|
+
<input type="text" class="input_search" v-model="model.f_user_name"
|
16
|
+
style="width: 60%" placeholder="客户名称" condition="f_user_name like '%{}%'">
|
17
|
+
</div>
|
18
|
+
<div class="form-group col-sm-2">
|
19
|
+
<label class="font_normal_body">示意图</label>
|
20
|
+
<input type="text" class="input_search" v-model="model.f_user_phone"
|
21
|
+
style="width: 60%" placeholder="客户电话" condition="f_user_phone like '%{}%'">
|
22
|
+
</div>
|
23
|
+
<div class="form-group col-sm-2">
|
24
|
+
<label class="font_normal_body">单位编号</label>
|
25
|
+
<input type="text" class="input_search" v-model="model.f_meternumber"
|
26
|
+
style="width: 60%" placeholder="客户表号" condition="f_meternumber like '%{}%'">
|
27
|
+
</div>
|
28
|
+
<div class="form-group col-sm-2" style="width: auto;margin-top:8px;float: right">
|
29
|
+
<export-excel-safe :data="$parent.$parent.searchData"
|
30
|
+
:field="$parent.$parent.excelHeaders"
|
31
|
+
:choose-col="true"
|
32
|
+
sqlurl="rs/logic/SafeExportExcel" sql-name="查找安检单"
|
33
|
+
template-name='安检计划明细'></export-excel-safe>
|
34
|
+
<button class="button_spacing button_search" @click="$parent.$parent.change()">查询</button>
|
35
|
+
</div>
|
36
|
+
</div>
|
37
|
+
</div>
|
38
|
+
</criteria>
|
39
|
+
<data-grid class="list_area table_sy" style="overflow: hidden" :model="model" partial='list' v-ref:grid>
|
40
|
+
<template partial='head'>
|
41
|
+
<tr>
|
42
|
+
<th>
|
43
|
+
<nobr>是否有示意图</nobr>
|
44
|
+
</th>
|
45
|
+
<th>
|
46
|
+
<nobr>单位编号</nobr>
|
47
|
+
</th>
|
48
|
+
<th>
|
49
|
+
<nobr>单位地址</nobr>
|
50
|
+
</th>
|
51
|
+
<th>
|
52
|
+
<nobr>单位名称</nobr>
|
53
|
+
</th>
|
54
|
+
<th>
|
55
|
+
<nobr>联系人</nobr>
|
56
|
+
</th>
|
57
|
+
<th>
|
58
|
+
<nobr>分公司</nobr>
|
59
|
+
</th>
|
60
|
+
<th>
|
61
|
+
<nobr>示意图id</nobr>
|
62
|
+
</th>
|
63
|
+
<th>
|
64
|
+
<nobr>操作</nobr>
|
65
|
+
</th>
|
66
|
+
</tr>
|
67
|
+
</template>
|
68
|
+
<template partial='body'>
|
69
|
+
|
70
|
+
<td style="text-align: center">{{ row.uptodate }}</td>
|
71
|
+
<td style="text-align: center">{{ row.gas_point_id }}</td>
|
72
|
+
<td style="text-align: center">{{ row.gas_point_name }}</td>
|
73
|
+
<td style="text-align: center">{{ row.title }}</td>
|
74
|
+
<td style="text-align: center">{{ row.title12 }}</td>
|
75
|
+
<td style="text-align: center">{{ row.title1 }}</td>
|
76
|
+
<td style="text-align: center">{{ row.blod_id }}</td>
|
77
|
+
<td style="text-align: center">
|
78
|
+
<button class="button_spacing button_search-1" @click='change(row)'>查看</button>
|
79
|
+
</td>
|
80
|
+
</template>
|
81
|
+
</data-grid>
|
82
|
+
</criteria-paged>
|
83
|
+
</div>
|
84
|
+
</div>
|
85
|
+
<modal :show.sync="showModal" v-ref:modal backdrop="false" :width="1200">
|
86
|
+
<div slot="modal-header" class="modal-header">
|
87
|
+
<h4 class="modal-title">
|
88
|
+
打开图纸编辑
|
89
|
+
</h4>
|
90
|
+
</div>
|
91
|
+
<div slot="modal-body" class="modal-body">
|
92
|
+
<edit></edit>
|
93
|
+
</div>
|
94
|
+
<div slot="modal-footer" class="modal-footer" style="text-align: center">
|
95
|
+
<button class="button_search" @click="cancel">取消</button>
|
96
|
+
</div>
|
97
|
+
</modal>
|
98
|
+
</template>
|
99
|
+
|
100
|
+
<script>
|
101
|
+
import {PagedList} from 'vue-client'
|
102
|
+
import Vue from 'vue'
|
103
|
+
import co from 'co'
|
104
|
+
import * as Util from '../Util'
|
105
|
+
import HttpResetClass from "vue-client/src/plugins/HttpResetClass";
|
106
|
+
|
107
|
+
export default {
|
108
|
+
title: '图纸编辑页面',
|
109
|
+
data() {
|
110
|
+
return {
|
111
|
+
searchData: {
|
112
|
+
condition: "1=1",
|
113
|
+
f_plan_id: "",
|
114
|
+
f_approved: '',
|
115
|
+
f_entry_status: '',
|
116
|
+
f_no_checkplan: '',
|
117
|
+
f_filialeid: `('${this.$login.f.orgid}')`
|
118
|
+
},
|
119
|
+
model: new PagedList('rs/sql/queryPaperEdit', 20, {}),
|
120
|
+
excelHeaders: {
|
121
|
+
'uptodate': '是否有示意图',
|
122
|
+
'gas_point_id': '单位编号',
|
123
|
+
'gas_point_name': '单位地址',
|
124
|
+
'title': '单位名称',
|
125
|
+
'title12': '联系人',
|
126
|
+
'title1': '分公司',
|
127
|
+
'blod_id': '示意图id',
|
128
|
+
},
|
129
|
+
showModal: false,
|
130
|
+
}
|
131
|
+
},
|
132
|
+
methods: {
|
133
|
+
change() {
|
134
|
+
this.showModal = true
|
135
|
+
},
|
136
|
+
search() {
|
137
|
+
this.$refs.paged.$refs.criteria.search()
|
138
|
+
},
|
139
|
+
cancel() {
|
140
|
+
this.showModal = false
|
141
|
+
}
|
142
|
+
},
|
143
|
+
|
144
|
+
ready() {
|
145
|
+
|
146
|
+
}
|
147
|
+
}
|
148
|
+
</script>
|
@@ -106,6 +106,7 @@
|
|
106
106
|
<th>入户</th>
|
107
107
|
<th>到访不遇</th>
|
108
108
|
<th>拒检</th>
|
109
|
+
<th>完成率</th>
|
109
110
|
</tr>
|
110
111
|
</template>
|
111
112
|
<template partial='body'>
|
@@ -117,6 +118,7 @@
|
|
117
118
|
<td style="text-align: center">{{row.ruhu}}</td>
|
118
119
|
<td style="text-align: center">{{row.daofang}}</td>
|
119
120
|
<td style="text-align: center">{{row.jujian}}</td>
|
121
|
+
<td style="text-align: center">{{row.wclv}}%</td>
|
120
122
|
|
121
123
|
</template>
|
122
124
|
<template partial="foot">
|
@@ -128,6 +130,7 @@
|
|
128
130
|
<td style="text-align: center">{{model.sums.ruhu}}</td>
|
129
131
|
<td style="text-align: center">{{model.sums.daofang}}</td>
|
130
132
|
<td style="text-align: center">{{model.sums.jujian}}</td>
|
133
|
+
<td style="text-align: center">{{((model.sums.ruhu +model.sums.daofang+model.sums.jujian)/(model.sums.plannum+model.sums.no_plan_num)*100).toFixed(2)}}%</td>
|
131
134
|
</template>
|
132
135
|
</data-grid>
|
133
136
|
</criteria-paged>
|
@@ -184,6 +184,11 @@
|
|
184
184
|
<input type="number" class="input_search" v-model="model.f_check_date"
|
185
185
|
style="width: 60%" placeholder="距上次安检天数" >
|
186
186
|
</div>
|
187
|
+
<div :class="$parent.$parent.style" v-show="$parent.$parent.criteriaShow">
|
188
|
+
<label class="font_normal_body">到访不遇次数</label>
|
189
|
+
<input type="number" class="input_search" v-model="model.f_check_version"
|
190
|
+
style="width: 60%" placeholder="到访不遇次数">
|
191
|
+
</div>
|
187
192
|
</div>
|
188
193
|
|
189
194
|
<div class="row" v-show="$parent.$parent.$parent.showItem">
|
@@ -756,7 +761,8 @@ export default {
|
|
756
761
|
}
|
757
762
|
}else {
|
758
763
|
states = ''
|
759
|
-
}
|
764
|
+
}
|
765
|
+
if(args.model.f_check_date){
|
760
766
|
const daysBefore = Number(args.model.f_check_date);
|
761
767
|
if ( daysBefore > 0) {
|
762
768
|
// 获取当前日期
|
@@ -770,6 +776,9 @@ export default {
|
|
770
776
|
console.error('f_check_date不是一个有效的正整数');
|
771
777
|
}
|
772
778
|
}
|
779
|
+
if (args.model.f_check_version){
|
780
|
+
con+= ` and f_check_version = '${args.model.f_check_version}'`
|
781
|
+
}
|
773
782
|
con += args.model.f_checker_id ? ` and f_checker_name in ${args.model.f_checker_id}` : ' and 1=1'
|
774
783
|
let condition = {
|
775
784
|
condition1: args.condition,
|