telephone-clients 3.0.98 → 3.0.100

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 (28) hide show
  1. package/package.json +116 -116
  2. package/src/components/android/AddMyTask.vue +75 -33
  3. package/src/components/guoxin/Console.vue +14 -4
  4. package/src/components/pc/TelFindUser.vue +73 -3
  5. package/src/components/sendsingle/onlineoperation.vue +1 -1
  6. package/src/components/workorder/FaultAll.vue +10 -0
  7. package/src/components/workorder/Othercharge.vue +1 -1
  8. package/src/filiale/furuike/pc/MetereadInfo.vue +1 -2
  9. package/src/filiale/hanzhong/pc/message/AllUserNew.vue +3 -3
  10. package/src/filiale/kelai/android/RepairOrderV.vue +1 -1
  11. package/src/filiale/qianneng/android/AppInstallationMaterial.vue +363 -282
  12. package/src/filiale/qianneng/android/FaultAll.vue +302 -292
  13. package/src/filiale/qianneng/android/MaterIialOne.vue +22 -9
  14. package/src/filiale/qianneng/android/RepairDetails.vue +2 -2
  15. package/src/filiale/qianneng/android/RepairOrderV.vue +4 -0
  16. package/src/filiale/qianneng/android/chargesList.vue +161 -0
  17. package/src/filiale/qianneng/pc/MaterialDetailed.vue +15 -0
  18. package/src/filiale/qianneng/pc/RepairsWork.vue +28 -0
  19. package/src/filiale/rongcheng/CliWorkListAll.vue +23 -24
  20. package/src/filiale/shexian/android/RepairFirstV.vue +703 -703
  21. package/src/filiale/shexian/android/RepairInfo.vue +171 -171
  22. package/src/filiale/shexian/android/RepairOrderV.vue +732 -732
  23. package/src/filiale/shexian/pc/TelByOrderMan.vue +113 -0
  24. package/src/filiale/shexian/pc/TelByRepairType.vue +111 -0
  25. package/src/filiale/shexian/telephone.js +14 -0
  26. package/src/filiale/shexian/telephoneAndroid.js +20 -20
  27. package/src/filiale/tongchuan/pc/CheckWork.vue +2 -3
  28. package/src/main.js +22 -22
package/package.json CHANGED
@@ -1,116 +1,116 @@
1
- {
2
- "name": "telephone-clients",
3
- "version": "3.0.98",
4
- "description": "呼叫模块前台组件",
5
- "main": "src/index.js",
6
- "directories": {
7
- "example": "examples",
8
- "test": "test"
9
- },
10
- "scripts": {
11
- "unit": "karma start test/unit/karma.conf.js",
12
- "example": "node build/example-server.js",
13
- "dev": "webpack-dev-server --config ./build/dev-server.js",
14
- "android": "node build/dev-android.js",
15
- "lint": "eslint src/**.js test/e2e/**.js test/unit/specs/** build/**.js",
16
- "build": "rimraf dist && mkdirp dist && ncp static dist/static && cross-env NODE_ENV=production webpack --progress --hide-modules --config build/webpack.prod.conf.js",
17
- "e2e": "node test/e2e/runner.js",
18
- "release": "bash build/release.sh"
19
- },
20
- "repository": "http://gitee.com/aote/telephone",
21
- "keywords": [
22
- "telephone-clients"
23
- ],
24
- "author": "申志明",
25
- "license": "ISC",
26
- "dependencies": {
27
- "@keeex/qrcodejs-kx": "^1.0.2",
28
- "date-fns": "^2.29.3",
29
- "dayjs": "^1.11.6",
30
- "less": "^2.7.1",
31
- "less-loader": "^2.2.3",
32
- "qrcodejs2": "^0.0.2",
33
- "src": "^1.1.2",
34
- "swiper": "^6.1.2",
35
- "vue": "^1.0.17",
36
- "vue-awesome-swiper": "^4.1.1"
37
- },
38
- "devDependencies": {
39
- "address-client": "3.0.23",
40
- "babel-core": "^6.26.0",
41
- "babel-loader": "^6.0.0",
42
- "babel-plugin-transform-runtime": "^6.0.0",
43
- "babel-preset-es2015": "^6.0.0",
44
- "babel-preset-stage-2": "^6.0.0",
45
- "chai": "^3.5.0",
46
- "chromedriver": "^2.21.2",
47
- "compression-webpack-plugin": "^1.1.2",
48
- "connect-history-api-fallback": "^1.1.0",
49
- "cross-env": "^1.0.7",
50
- "cross-spawn": "^2.1.5",
51
- "css-loader": "^0.23.0",
52
- "echarts": "^4.1.0",
53
- "eslint": "^2.0.0",
54
- "eslint-config-standard": "^5.1.0",
55
- "eslint-friendly-formatter": "^1.2.2",
56
- "eslint-loader": "^1.3.0",
57
- "eslint-plugin-html": "^1.3.0",
58
- "eslint-plugin-promise": "^1.0.8",
59
- "eslint-plugin-standard": "^1.3.2",
60
- "eslint-plugin-vue": "^0.1.1",
61
- "eventsource-polyfill": "^0.9.6",
62
- "express": "^4.13.3",
63
- "extract-text-webpack-plugin": "^3.0.2",
64
- "file-loader": "^0.8.4",
65
- "function-bind": "^1.0.2",
66
- "html-webpack-plugin": "^2.30.1",
67
- "http-proxy-middleware": "^0.11.0",
68
- "inject-loader": "^2.0.1",
69
- "isparta-loader": "^2.0.0",
70
- "jasmine-core": "^2.4.1",
71
- "jquery": "^3.3.1",
72
- "jsencrypt": "^3.0.0-rc.1",
73
- "json-loader": "^0.5.4",
74
- "karma": "^1.4.1",
75
- "karma-chrome-launcher": "^2.2.0",
76
- "karma-coverage": "^1.1.1",
77
- "karma-mocha": "^1.3.0",
78
- "karma-sinon-chai": "^1.3.1",
79
- "karma-sourcemap-loader": "^0.3.7",
80
- "karma-spec-reporter": "0.0.31",
81
- "karma-webpack": "^2.0.2",
82
- "less-loader": "^2.2.3",
83
- "lolex": "^1.5.2",
84
- "mkdirp": "^0.5.1",
85
- "mocha": "^3.2.0",
86
- "ncp": "^2.0.0",
87
- "nightwatch": "^0.8.18",
88
- "ol": "^4.6.4",
89
- "phantomjs-prebuilt": "^2.1.3",
90
- "proj4": "^2.2.1",
91
- "rimraf": "^2.5.0",
92
- "selenium-server": "2.52.0",
93
- "sinon": "^2.1.0",
94
- "sinon-chai": "^2.8.0",
95
- "style": "0.0.3",
96
- "style-loader": "^0.20.3",
97
- "system-clients": "3.2.55",
98
- "system-phone": "1.2.100",
99
- "terser-webpack-plugin-legacy": "^1.2.5",
100
- "url-loader": "^0.5.7",
101
- "vue-client": "1.24.77",
102
- "vue-hot-reload-api": "^1.2.0",
103
- "vue-html-loader": "^1.0.0",
104
- "vue-loader": "^8.2.1",
105
- "vue-resource": "^1.5.0",
106
- "vue-router": "^0.7.13",
107
- "vue-strap": "^1.0.9",
108
- "vue-style-loader": "^1.0.0",
109
- "vue-validator": "2.1.7",
110
- "webpack": "^3.12.0",
111
- "webpack-dev-middleware": "^1.4.0",
112
- "webpack-dev-server": "^2.9.7",
113
- "webpack-hot-middleware": "^2.6.0",
114
- "webpack-merge": "^0.8.3"
115
- }
116
- }
1
+ {
2
+ "name": "telephone-clients",
3
+ "version": "3.0.100",
4
+ "description": "呼叫模块前台组件",
5
+ "main": "src/index.js",
6
+ "directories": {
7
+ "example": "examples",
8
+ "test": "test"
9
+ },
10
+ "scripts": {
11
+ "unit": "karma start test/unit/karma.conf.js",
12
+ "example": "node build/example-server.js",
13
+ "dev": "webpack-dev-server --config ./build/dev-server.js",
14
+ "android": "node build/dev-android.js",
15
+ "lint": "eslint src/**.js test/e2e/**.js test/unit/specs/** build/**.js",
16
+ "build": "rimraf dist && mkdirp dist && ncp static dist/static && cross-env NODE_ENV=production webpack --progress --hide-modules --config build/webpack.prod.conf.js",
17
+ "e2e": "node test/e2e/runner.js",
18
+ "release": "bash build/release.sh"
19
+ },
20
+ "repository": "http://gitee.com/aote/telephone",
21
+ "keywords": [
22
+ "telephone-clients"
23
+ ],
24
+ "author": "申志明",
25
+ "license": "ISC",
26
+ "dependencies": {
27
+ "@keeex/qrcodejs-kx": "^1.0.2",
28
+ "date-fns": "^2.29.3",
29
+ "dayjs": "^1.11.6",
30
+ "less": "^2.7.1",
31
+ "less-loader": "^2.2.3",
32
+ "qrcodejs2": "^0.0.2",
33
+ "src": "^1.1.2",
34
+ "swiper": "^6.1.2",
35
+ "vue": "^1.0.17",
36
+ "vue-awesome-swiper": "^4.1.1"
37
+ },
38
+ "devDependencies": {
39
+ "address-client": "3.0.23",
40
+ "babel-core": "^6.26.0",
41
+ "babel-loader": "^6.0.0",
42
+ "babel-plugin-transform-runtime": "^6.0.0",
43
+ "babel-preset-es2015": "^6.0.0",
44
+ "babel-preset-stage-2": "^6.0.0",
45
+ "chai": "^3.5.0",
46
+ "chromedriver": "^2.21.2",
47
+ "compression-webpack-plugin": "^1.1.2",
48
+ "connect-history-api-fallback": "^1.1.0",
49
+ "cross-env": "^1.0.7",
50
+ "cross-spawn": "^2.1.5",
51
+ "css-loader": "^0.23.0",
52
+ "echarts": "^4.1.0",
53
+ "eslint": "^2.0.0",
54
+ "eslint-config-standard": "^5.1.0",
55
+ "eslint-friendly-formatter": "^1.2.2",
56
+ "eslint-loader": "^1.3.0",
57
+ "eslint-plugin-html": "^1.3.0",
58
+ "eslint-plugin-promise": "^1.0.8",
59
+ "eslint-plugin-standard": "^1.3.2",
60
+ "eslint-plugin-vue": "^0.1.1",
61
+ "eventsource-polyfill": "^0.9.6",
62
+ "express": "^4.13.3",
63
+ "extract-text-webpack-plugin": "^3.0.2",
64
+ "file-loader": "^0.8.4",
65
+ "function-bind": "^1.0.2",
66
+ "html-webpack-plugin": "^2.30.1",
67
+ "http-proxy-middleware": "^0.11.0",
68
+ "inject-loader": "^2.0.1",
69
+ "isparta-loader": "^2.0.0",
70
+ "jasmine-core": "^2.4.1",
71
+ "jquery": "^3.3.1",
72
+ "jsencrypt": "^3.0.0-rc.1",
73
+ "json-loader": "^0.5.4",
74
+ "karma": "^1.4.1",
75
+ "karma-chrome-launcher": "^2.2.0",
76
+ "karma-coverage": "^1.1.1",
77
+ "karma-mocha": "^1.3.0",
78
+ "karma-sinon-chai": "^1.3.1",
79
+ "karma-sourcemap-loader": "^0.3.7",
80
+ "karma-spec-reporter": "0.0.31",
81
+ "karma-webpack": "^2.0.2",
82
+ "less-loader": "^2.2.3",
83
+ "lolex": "^1.5.2",
84
+ "mkdirp": "^0.5.1",
85
+ "mocha": "^3.2.0",
86
+ "ncp": "^2.0.0",
87
+ "nightwatch": "^0.8.18",
88
+ "ol": "^4.6.4",
89
+ "phantomjs-prebuilt": "^2.1.3",
90
+ "proj4": "^2.2.1",
91
+ "rimraf": "^2.5.0",
92
+ "selenium-server": "2.52.0",
93
+ "sinon": "^2.1.0",
94
+ "sinon-chai": "^2.8.0",
95
+ "style": "0.0.3",
96
+ "style-loader": "^0.20.3",
97
+ "system-clients": "3.2.55",
98
+ "system-phone": "1.2.100",
99
+ "terser-webpack-plugin-legacy": "^1.2.5",
100
+ "url-loader": "^0.5.7",
101
+ "vue-client": "1.24.77",
102
+ "vue-hot-reload-api": "^1.2.0",
103
+ "vue-html-loader": "^1.0.0",
104
+ "vue-loader": "^8.2.1",
105
+ "vue-resource": "^1.5.0",
106
+ "vue-router": "^0.7.13",
107
+ "vue-strap": "^1.0.9",
108
+ "vue-style-loader": "^1.0.0",
109
+ "vue-validator": "2.1.7",
110
+ "webpack": "^3.12.0",
111
+ "webpack-dev-middleware": "^1.4.0",
112
+ "webpack-dev-server": "^2.9.7",
113
+ "webpack-hot-middleware": "^2.6.0",
114
+ "webpack-merge": "^0.8.3"
115
+ }
116
+ }
@@ -103,13 +103,13 @@
103
103
  </div>
104
104
  <div class="col-xs-8" >
105
105
  <v-select
106
- :value.sync="model.f_repairtype"
107
- v-model="model.f_repairtype"
108
- :options='$parent.$parent.repairTypeOptions'
109
- placeholder='请选择'
110
- close-on-select
111
- :value-single="true"
112
- condition="f_repairtype like '%{}%'"
106
+ :value.sync="model.f_repairtype"
107
+ v-model="model.f_repairtype"
108
+ :options='$parent.$parent.repairTypeOptions'
109
+ placeholder='请选择'
110
+ close-on-select
111
+ :value-single="true"
112
+ condition="f_repairtype like '%{}%'"
113
113
  ></v-select>
114
114
  </div>
115
115
  </div>
@@ -162,6 +162,13 @@
162
162
  <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户地址:</b></p>
163
163
  <p class="panel-title col-xs-7 text-left input-font">{{ row.f_address }} &nbsp;&nbsp; {{row.f_contact_name}} </p>
164
164
  </div>
165
+ <div class="col-xs-12">
166
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>联系电话:</b></p>
167
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_contact_phone || '无' }}
168
+ <img src="../../assets/telphonesend.png" style="width: 12px;"
169
+ @click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_contact_phone)'>
170
+ </p>
171
+ </div>
165
172
  <div class="col-xs-6">
166
173
  <p class="panel-title col-xs-5 text-left font" style="float: left"><b>派单员:</b></p>
167
174
  <p class="panel-title col-xs-7 text-left input-font">{{row.f_attendant}} </p>
@@ -170,6 +177,10 @@
170
177
  <p class="panel-title col-xs-5 text-left font" style="float: left"><b>故障明细:</b></p>
171
178
  <p class="panel-title col-xs-7 text-left input-font">{{$parent.$parent.$parent.getfailure(row.failure)}} </p>
172
179
  </div>
180
+ <div class="col-xs-12" v-show="row.f_remarks">
181
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>工单备注:</b></p>
182
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_remarks }}</p>
183
+ </div>
173
184
  <div class="col-xs-12">
174
185
  <button type="button" name="button" class="btn btn-primary" style="background-color:#499edf;float: right" @click="$parent.$parent.$parent.inspect(row)">接单</button>
175
186
  </div>
@@ -200,11 +211,16 @@ export default {
200
211
  // userid: Vue.user.ename
201
212
  },
202
213
  repairTypeOptions: [{label: '全部', value: ''}],
203
- typeData: []
214
+ typeData: [],
215
+ showMessage: true
204
216
  }
205
217
  },
206
218
  ready(){
207
219
  this.$refs.paged.$refs.cri.search()
220
+ if (this.$appdata.getSingleValue('取消在线接单二次确定') === '是') {
221
+ this.showMessage = false
222
+ }
223
+ console.log(this.showMessage)
208
224
  },
209
225
  mounted(){
210
226
 
@@ -216,7 +232,7 @@ export default {
216
232
  // 获取现有的报修类型对应的数量
217
233
  async initRepairTypeNum() {
218
234
  this.typeData = []
219
- this.repairTypeOptions = []
235
+ this.repairTypeOptions = [{label: '全部', value: ''}]
220
236
  const http = new HttpResetClass()
221
237
  const res = await http.load('post',`${this.$androidUtil.getProxyUrl()}/rs/sql/getOperatorServiceTypeNum`,{data: {condition: `tswo.f_filiale_id = '${Vue.user.orgid}'`}},{resolveMsg: null, rejectMsg: null})
222
238
  const plainArray = res.data.map(item => Object.assign({}, item))
@@ -261,32 +277,58 @@ export default {
261
277
  return this.model.search(data, args.model)
262
278
  },
263
279
  inspect(row){
264
- this.$showMessage(`确定要接编号为${row.f_service_id}的单子吗?`, ['confirm', 'cancel']).then((isconfirm)=>{
265
- //tag)
266
- if (isconfirm === 'confirm') {
267
- let userdata = Object.assign({}, userdata, row)
268
- userdata.f_advice = '自我接单'
269
- userdata.serviceacitivity = [] //Vue.user.name
270
- userdata.serviceacitivity.push({f_reciever: Vue.user.name})
271
- let data = ''
272
- data = {
273
- model: userdata,
274
- // loginUser: {name: '何文强', ename: 'hwq'}
275
- loginUser: {name: Vue.user.name, ename: Vue.user.ename}
276
- }
277
- let HttpReset = new HttpResetClass()
278
- HttpReset.load("POST",`${this.$androidUtil.getProxyUrl()}/rs/logic/siteSend`,data).then((res)=>{
279
- if (res.data.code==300){
280
- this.$refs.paged.$refs.cri.search()
281
- return this.$showMessage('没有抢到该单哦!')
282
- }else {
283
- this.$refs.paged.$refs.cri.search()
284
- return this.$showMessage('接单成功!请及时处理。')
280
+ if (this.showMessage) {
281
+ this.$showMessage(`确定要接编号为${row.f_service_id}的单子吗?`, ['confirm', 'cancel']).then((isconfirm)=>{
282
+ //tag)
283
+ if (isconfirm === 'confirm') {
284
+ let userdata = Object.assign({}, userdata, row)
285
+ userdata.f_advice = '自我接单'
286
+ userdata.serviceacitivity = [] //Vue.user.name
287
+ userdata.serviceacitivity.push({f_reciever: Vue.user.name})
288
+ let data = ''
289
+ data = {
290
+ model: userdata,
291
+ // loginUser: {name: '何文强', ename: 'hwq'}
292
+ loginUser: {name: Vue.user.name, ename: Vue.user.ename}
285
293
  }
286
- })
294
+ let HttpReset = new HttpResetClass()
295
+ HttpReset.load("POST",`${this.$androidUtil.getProxyUrl()}/rs/logic/siteSend`,data).then((res)=>{
296
+ if (res.data.code==300){
297
+ this.$refs.paged.$refs.cri.search()
298
+ return this.$showMessage('没有抢到该单哦!')
299
+ }else {
300
+ this.$refs.paged.$refs.cri.search()
301
+ return this.$showMessage('接单成功!请及时处理。')
302
+ }
303
+ })
304
+ }
305
+ })
306
+ } else {
307
+ let userdata = Object.assign({}, userdata, row)
308
+ userdata.f_advice = '自我接单'
309
+ userdata.serviceacitivity = [] //Vue.user.name
310
+ userdata.serviceacitivity.push({f_reciever: Vue.user.name})
311
+ let data = ''
312
+ data = {
313
+ model: userdata,
314
+ // loginUser: {name: '何文强', ename: 'hwq'}
315
+ loginUser: {name: Vue.user.name, ename: Vue.user.ename}
287
316
  }
288
- })
289
- }
317
+ let HttpReset = new HttpResetClass()
318
+ HttpReset.load("POST",`${this.$androidUtil.getProxyUrl()}/rs/logic/siteSend`,data).then((res)=>{
319
+ if (res.data.code==300){
320
+ this.$refs.paged.$refs.cri.search()
321
+ return this.$showMessage('没有抢到该单哦!')
322
+ }else {
323
+ this.$refs.paged.$refs.cri.search()
324
+ return this.$showMessage('接单成功!请及时处理。')
325
+ }
326
+ })
327
+ }
328
+ },
329
+ makeAPhoneCall(phoneNumber) {
330
+ this.$androidUtil.makeAPhoneCall(phoneNumber)
331
+ },
290
332
  },
291
333
  computed:{
292
334
 
@@ -81,6 +81,8 @@
81
81
  data() {
82
82
  return {
83
83
  flgwaihu:false,
84
+ url7397:this.$appdata.getSingleValue('语音系统网关'),
85
+ url12121:this.$appdata.getSingleValue("呼叫系统网关"),
84
86
  flagip: true,
85
87
  showclick: false,
86
88
  shownotclick: true,
@@ -111,8 +113,16 @@
111
113
  this.initPhone = ''
112
114
  this.zhixian()
113
115
  })
116
+ if(!this.url7397 || !this.url12121){
117
+ let message = ''
118
+ message += this.url12121?"":"所属分公司 语音系统网关 未配置;"
119
+ message += this.url7397?"":"所属分公司 呼叫系统网关 未配置;"
120
+ message += "请配置后重新登录"
121
+ this.$showMessage(message)
122
+ return
123
+ }
114
124
  if(!this.$webSocket){
115
- this.$webSocket = new StateContainer("ws://192.168.50.77:7397/websocket");
125
+ this.$webSocket = new StateContainer(`ws://${this.url7397}:7397/websocket`);
116
126
  this.$webSocket.oncnnsucc = (event) => {
117
127
  //tag
118
128
  this.zhixian()
@@ -171,7 +181,7 @@
171
181
  },
172
182
  callout(){
173
183
  this.zhimang()
174
- this.http.load('POST',`/bridge/callctrl?caller=${this.aChannel}&callee=${this.teleNum}&authtype=no&opt=CLICK_TO_DIAL`,{},{resolveMsg:null,rejectMsg:null}).then(res=>{
184
+ new HttpResetClass().load('POST',`/bridge/callctrl?caller=${this.aChannel}&callee=${this.teleNum}&authtype=no&opt=CLICK_TO_DIAL`,{},{resolveMsg:null,rejectMsg:null}).then(res=>{
175
185
  if(res.data === 200){
176
186
  this.currentState = '正在呼出'
177
187
  this.show = !this.show
@@ -195,7 +205,7 @@
195
205
  })
196
206
  },
197
207
  zhimang(){
198
- this.http.load('POST',`/bridge/callctrl?extnum=${this.aChannel}&state=busy&opt=SET_EXT_PRESENCE_STATE`,{},{resolveMsg:null,rejectMsg:null}).then(res=>{
208
+ new HttpResetClass().load('POST',`/bridge/callctrl?extnum=${this.aChannel}&state=busy&opt=SET_EXT_PRESENCE_STATE`,{},{resolveMsg:null,rejectMsg:null}).then(res=>{
199
209
  if(res.data === 200){
200
210
  this.currentState = '忙'
201
211
  }else if (res.data === 400){
@@ -208,7 +218,7 @@
208
218
  })
209
219
  },
210
220
  zhixian(){
211
- this.http.load('POST',`bridge/callctrl?extnum=${this.aChannel}&state=online&opt=SET_EXT_PRESENCE_STATE`,{},{resolveMsg:null,rejectMsg:null}).then(res=>{
221
+ new HttpResetClass().load('POST',`bridge/callctrl?extnum=${this.aChannel}&state=online&opt=SET_EXT_PRESENCE_STATE`,{},{resolveMsg:null,rejectMsg:null}).then(res=>{
212
222
  if(res.data === 200){
213
223
  this.currentState = '空闲'
214
224
  }else if (res.data === 400){
@@ -37,12 +37,42 @@
37
37
  condition="ta.f_address like '%{}%'"
38
38
  :size="model.f_address ? model.f_address.length * 2 : 4" style="height: 95%;width: 90%" ></input>
39
39
  </div>
40
- <div class="form-group col-sm-4" >
40
+ <div class="form-group col-sm-4" v-if="enter_number_show">
41
41
  <label class="font_normal_body" style="width:55%">入户证号:</label>
42
42
  <input type="text" class="input_search" v-model="model.f_enter_number" placeholder='入户证号'
43
43
  condition="ta.f_enter_number like '%{}%'"
44
44
  style="height: 95%;width: 90%"></input>
45
45
  </div>
46
+ <div class="form-group col-sm-4" v-if="residential_area_show">
47
+ <label class="font_normal_body" style="width:55%">小区:</label>
48
+ <input type="text" class="input_search" v-model="model.f_residential_area" placeholder='小区'
49
+ condition="ta.f_residential_area like '%{}%'"
50
+ style="height: 95%;width: 90%"></input>
51
+ </div>
52
+ <div class="form-group col-sm-4" v-if="building_show">
53
+ <label class="font_normal_body" style="width:55%">楼栋:</label>
54
+ <input type="text" class="input_search" v-model="model.f_building" placeholder='楼栋'
55
+ condition="ta.f_building = '{}'"
56
+ style="height: 95%;width: 90%"></input>
57
+ </div>
58
+ <div class="form-group col-sm-4" v-if="unit_show">
59
+ <label class="font_normal_body" style="width:55%">单元:</label>
60
+ <input type="text" class="input_search" v-model="model.f_unit" placeholder='单元'
61
+ condition="ta.f_unit = '{}'"
62
+ style="height: 95%;width: 90%"></input>
63
+ </div>
64
+ <div class="form-group col-sm-4" v-if="floor_show">
65
+ <label class="font_normal_body" style="width:55%">楼层:</label>
66
+ <input type="text" class="input_search" v-model="model.f_floor" placeholder='楼层'
67
+ condition="ta.f_floor = '{}'"
68
+ style="height: 95%;width: 90%"></input>
69
+ </div>
70
+ <div class="form-group col-sm-4" v-if="room_show">
71
+ <label class="font_normal_body" style="width:55%">房间号:</label>
72
+ <input type="text" class="input_search" v-model="model.f_room" placeholder='房间号'
73
+ condition="ta.f_room = '{}'"
74
+ style="height: 95%;width: 90%"></input>
75
+ </div>
46
76
  <!-- <div class="form-group col-sm-2" >-->
47
77
  <!-- <v-select :value.sync="model.f_residential_area" :options='$parent.$parent.areaselected' placeholder='小区' close-on-select width="90%"-->
48
78
  <!-- :size="model.f_residential_area?model.f_residential_area.length * 2 : 4" class="select select_list form-group" v-model='model.f_residential_area' condition="ta.f_residential_area like '%{}%'" :search='true'></v-select>-->
@@ -111,7 +141,13 @@ export default {
111
141
  show: false,
112
142
  row: Object,
113
143
  tempnumber: '',
114
- rows:[]
144
+ rows:[],
145
+ enter_number_show:true,
146
+ residential_area_show:true,
147
+ building_show:true,
148
+ unit_show:true,
149
+ room_show:true,
150
+ floor_show:true
115
151
  }
116
152
  },
117
153
  props: {
@@ -125,6 +161,40 @@ export default {
125
161
  },
126
162
  },
127
163
  methods: {
164
+ // 获取该组件配置文件
165
+ getTelFindUserConfig(){
166
+ let http = new HttpResetClass()
167
+ http.load('GET', `/phone/rs/vue`, {}, {resolveMsg: null, rejectMsg: null}).then(res=>{
168
+ if(res.data.telephone){
169
+ if (res.data.telephone.TelFindUser){
170
+ let telconfig = res.data.telephone.TelFindUser.data
171
+ if(telconfig.criteria){
172
+ telconfig.criteria.forEach((item)=>{
173
+ if(item.name =='入户证号'){
174
+ this.enter_number_show = item.ifshow
175
+ }
176
+ if(item.name =='小区'){
177
+ this.residential_area_show = item.ifshow
178
+ }
179
+ if(item.name =='楼栋'){
180
+ this.building_show = item.ifshow
181
+ }
182
+ if(item.name =='单元'){
183
+ this.unit_show = item.ifshow
184
+ }
185
+ if(item.name =='房间号'){
186
+ this.room_show = item.ifshow
187
+ }
188
+ if(item.name =='楼层'){
189
+ this.floor_show = item.ifshow
190
+ }
191
+
192
+ })
193
+ }
194
+ }
195
+ }
196
+ })
197
+ },
128
198
  search (args) {
129
199
  if (this.$login.f.orgid == 165 && this.$login.f.fullnames.indexOf("汉中")!= -1){
130
200
  args.condition += ` and ti.f_user_state = '正常'`
@@ -144,8 +214,8 @@ export default {
144
214
  }
145
215
  },
146
216
  ready(){
217
+ this.getTelFindUserConfig()
147
218
  this.$refs.paged.$refs.criteria.search()
148
- //this.model.search(`ti.f_filialeid = '${this.$login.f.orgid}'`)
149
219
 
150
220
  },
151
221
  watch: {
@@ -9,7 +9,7 @@
9
9
  </div>
10
10
  <label class="input-font" style="padding-right: 0px;">售气</label>
11
11
  </div>
12
- <div class="col-xs-4" style="text-align: center;margin: 15px 0;"v-show="true" @click="gotochangemeter(this.item)">
12
+ <div class="col-xs-4" style="text-align: center;margin: 15px 0;"v-show="parameters.changetable" @click="gotochangemeter(this.item)">
13
13
  <div>
14
14
  <img src="../../assets/换表1.png" style="width: 40px;height: 40px;margin-bottom: 5px;" alt="">
15
15
  </div>
@@ -508,6 +508,16 @@ export default {
508
508
  error.ifmust = true
509
509
  return error
510
510
  }
511
+ if(this.msg.f_source == '安检' && this.msg.serviceacitivity[0].servicerepair[i].details[j].f_defect_id && this.msg.serviceacitivity[0].servicerepair[i].details[j].f_content == '已处理'&& !this.msg.serviceacitivity[0].servicerepair[i].details[j].f_first_repairimg){
512
+ error.msg = `${this.msg.serviceacitivity[0].servicerepair[i].f_type}中${this.msg.serviceacitivity[0].servicerepair[i].details[j].f_project}的维修照片`
513
+ error.ifmust = true
514
+ return error
515
+ }
516
+ if(this.msg.f_source == '安检' && this.msg.serviceacitivity[0].servicerepair[i].details[j].f_defect_id && !this.msg.serviceacitivity[0].servicerepair[i].details[j].f_content){
517
+ error.msg = `${this.msg.serviceacitivity[0].servicerepair[i].f_type}中${this.msg.serviceacitivity[0].servicerepair[i].details[j].f_project}`
518
+ error.ifmust = true
519
+ return error
520
+ }
511
521
  }
512
522
  }
513
523
  return error
@@ -324,7 +324,7 @@
324
324
  depname: Vue.user.deps
325
325
  },
326
326
  f_invoice_type:0
327
- }).then((res) => {
327
+ },{aoteEncrypt:'无',encryKey:'无'}).then((res) => {
328
328
  this.$showMessage('电子票开具成功,请联系用户使用微信公众号查看发票', ['confirm']).then((res) => {
329
329
  console.log("===res,开票失败",res)
330
330
  this.$dispatch('confirm')
@@ -21,8 +21,7 @@
21
21
  <td style="text-align: center">{{row.f_hand_date}}</td>
22
22
  <td style="text-align: center">{{row.f_tablebase}}</td>
23
23
  <td style="text-align: center">{{row.f_jval}}</td>
24
- <td style="text-align: center" v-if="row.f_valveState===0">开阀</td>
25
- <td style="text-align: center" v-else>关阀</td>
24
+ <td style="text-align: center">{{row.f_valvestate == '0' ? '开阀' : '关阀'}}</td>
26
25
  </template>
27
26
  </data-grid>
28
27
  </criteria-paged>
@@ -264,7 +264,7 @@
264
264
  <th><nobr>模板id</nobr></th>
265
265
  <!-- <th><nobr>自动短信</nobr></th>-->
266
266
  <th><nobr><b>创建人</b></nobr></th>
267
- <!-- <th><nobr>操作</nobr></th>-->
267
+ <th><nobr>操作</nobr></th>
268
268
  </tr>
269
269
  </template>
270
270
  <template partial='body'>
@@ -278,9 +278,9 @@
278
278
  <button v-show="row.f_auto_send != 1" type="button" class="btn btn-success width-30" @click='$parent.$parent.$parent.$parent.autoSend(row,1)'>启动</button>
279
279
  </td>-->
280
280
  <td style="text-align: center;"><b>{{row.f_operator}}</b></td>
281
- <!-- <td style="text-align: center;"><nobr>
281
+ <td style="text-align: center;"><nobr>
282
282
  <a @click='$parent.$parent.$parent.$parent.edit(row)'>编辑</a>&nbsp;&nbsp;&nbsp;&nbsp;<a @click='$parent.$parent.$parent.$parent.senddelete(row)'>删除</a>
283
- </nobr></td>-->
283
+ </nobr></td>
284
284
  </template>
285
285
  </data-grid>
286
286
  </criteria-paged>
@@ -575,7 +575,7 @@ export default {
575
575
  let repairitem = []
576
576
  for (var i = 0;i< this.repairdetails[j].details.length;i++) {
577
577
  if(this.row.f_source == '安检'){
578
- repairitem.push({f_project:this.repairdetails[j].details[i].f_project,type:this.repairdetails[j].details[i].type,f_defect_id:this.repairdetails[j].details[i].f_defect_id,f_status:''})
578
+ repairitem.push({f_project:this.repairdetails[j].details[i].f_project,f_defect_remark:this.repairdetails[j].details[i].f_defect_remark,type:this.repairdetails[j].details[i].type,f_defect_id:this.repairdetails[j].details[i].f_defect_id,f_status:'',f_content:''})
579
579
  }else{
580
580
  repairitem.push({f_project:this.repairdetails[j].details[i].f_project,type:this.repairdetails[j].details[i].type,f_status:'',f_content:'',f_is_must:this.repairdetails[j].details[i].f_is_must ? 'true':'false'})
581
581
  }