system-clients 3.2.1-26 → 3.2.1-27

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/.eslintrc.js CHANGED
@@ -1,16 +1,16 @@
1
- // module.exports = {
2
- // root: true,
3
- // // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style
4
- // extends: 'standard',
5
- // // required to lint *.vue files
6
- // plugins: [
7
- // 'eslint-plugin-html'
8
- // ],
9
- // // add your custom rules here
10
- // 'rules': {
11
- // // allow paren-less arrow functions
12
- // 'arrow-parens': 0,
13
- // // allow debugger during development
14
- // 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0
15
- // }
16
- // }
1
+ // module.exports = {
2
+ // root: true,
3
+ // // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style
4
+ // extends: 'standard',
5
+ // // required to lint *.vue files
6
+ // plugins: [
7
+ // 'eslint-plugin-html'
8
+ // ],
9
+ // // add your custom rules here
10
+ // 'rules': {
11
+ // // allow paren-less arrow functions
12
+ // 'arrow-parens': 0,
13
+ // // allow debugger during development
14
+ // 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0
15
+ // }
16
+ // }
package/SystemClient.iml CHANGED
@@ -1,2 +1,9 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <module external.linked.project.id="SystemClient" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" type="JAVA_MODULE" version="4" />
2
+ <module external.linked.project.id="SystemClient" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" type="JAVA_MODULE" version="4">
3
+ <component name="NewModuleRootManager" inherit-compiler-output="true">
4
+ <exclude-output />
5
+ <content url="file://$MODULE_DIR$" />
6
+ <orderEntry type="inheritedJdk" />
7
+ <orderEntry type="sourceFolder" forTests="false" />
8
+ </component>
9
+ </module>
@@ -1,85 +1,85 @@
1
- var path = require('path')
2
- var cssLoaders = require('./css-loaders')
3
- var projectRoot = path.resolve(__dirname, '../')
4
-
5
- module.exports = {
6
- entry: {
7
- app: './src/main.js'
8
- },
9
- output: {
10
- path: path.resolve(__dirname, '../dist/mergeUser'),
11
- publicPath: 'mergeUser/',
12
- filename: '[name].js'
13
- },
14
- resolve: {
15
- extensions: ['', '.js', '.vue'],
16
- fallback: [path.join(__dirname, '../node_modules')],
17
- alias: {
18
- 'src': path.resolve(__dirname, '../src'),
19
- 'test': path.resolve(__dirname, '../test')
20
- }
21
- },
22
- resolveLoader: {
23
- fallback: [path.join(__dirname, '../node_modules')]
24
- },
25
- module: {
26
- loaders: [
27
- {
28
- test: /\.vue$/,
29
- loader: 'vue'
30
- },
31
- {
32
- test: /\.js$/,
33
- loader: 'babel',
34
- include: [
35
- /src/,
36
- /build/,
37
- /examples/,
38
- /test/,
39
- /node_modules\/vue-client\/src/,
40
- /node_modules\/vue-strap\/src/,
41
- /node_modules\/system-clients\/src/,
42
- /node_modules\/ldap-clients\/src/,
43
- /node_modules\/address-client\/src/
44
- ],
45
- options: {
46
- presets: ['es2015']
47
- }
48
- },
49
- {
50
- test: /\.json$/,
51
- loader: 'json'
52
- },
53
- {
54
- test: /\.html$/,
55
- loader: 'vue-html'
56
- },
57
- {
58
- test: /\.less$/,
59
- loader: 'style!css!less'
60
- },
61
- {
62
- test: /\.css$/,
63
- loader: 'style!css'
64
- },
65
- {
66
- test: /\.(png|jpg|gif|svg|woff2?|eot|ttf)(\?.*)?$/,
67
- loader: 'url',
68
- query: {
69
- limit: 10000,
70
- name: '[name].[ext]?[hash:7]'
71
- }
72
- }
73
- ]
74
- },
75
- vue: {
76
- loaders: cssLoaders({
77
- sourceMap: false,
78
- extract: false
79
- })
80
- },
81
- plugins: [],
82
- eslint: {
83
- formatter: require('eslint-friendly-formatter')
84
- }
85
- }
1
+ var path = require('path')
2
+ var cssLoaders = require('./css-loaders')
3
+ var projectRoot = path.resolve(__dirname, '../')
4
+
5
+ module.exports = {
6
+ entry: {
7
+ app: './src/main.js'
8
+ },
9
+ output: {
10
+ path: path.resolve(__dirname, '../dist/mergeUser'),
11
+ publicPath: 'mergeUser/',
12
+ filename: '[name].js'
13
+ },
14
+ resolve: {
15
+ extensions: ['', '.js', '.vue'],
16
+ fallback: [path.join(__dirname, '../node_modules')],
17
+ alias: {
18
+ 'src': path.resolve(__dirname, '../src'),
19
+ 'test': path.resolve(__dirname, '../test')
20
+ }
21
+ },
22
+ resolveLoader: {
23
+ fallback: [path.join(__dirname, '../node_modules')]
24
+ },
25
+ module: {
26
+ loaders: [
27
+ {
28
+ test: /\.vue$/,
29
+ loader: 'vue'
30
+ },
31
+ {
32
+ test: /\.js$/,
33
+ loader: 'babel',
34
+ include: [
35
+ /src/,
36
+ /build/,
37
+ /examples/,
38
+ /test/,
39
+ /node_modules\/vue-client\/src/,
40
+ /node_modules\/vue-strap\/src/,
41
+ /node_modules\/system-clients\/src/,
42
+ /node_modules\/ldap-clients\/src/,
43
+ /node_modules\/address-client\/src/
44
+ ],
45
+ options: {
46
+ presets: ['es2015']
47
+ }
48
+ },
49
+ {
50
+ test: /\.json$/,
51
+ loader: 'json'
52
+ },
53
+ {
54
+ test: /\.html$/,
55
+ loader: 'vue-html'
56
+ },
57
+ {
58
+ test: /\.less$/,
59
+ loader: 'style!css!less'
60
+ },
61
+ {
62
+ test: /\.css$/,
63
+ loader: 'style!css'
64
+ },
65
+ {
66
+ test: /\.(png|jpg|gif|svg|woff2?|eot|ttf)(\?.*)?$/,
67
+ loader: 'url',
68
+ query: {
69
+ limit: 10000,
70
+ name: '[name].[ext]?[hash:7]'
71
+ }
72
+ }
73
+ ]
74
+ },
75
+ vue: {
76
+ loaders: cssLoaders({
77
+ sourceMap: false,
78
+ extract: false
79
+ })
80
+ },
81
+ plugins: [],
82
+ eslint: {
83
+ formatter: require('eslint-friendly-formatter')
84
+ }
85
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "system-clients",
3
- "version": "3.2.1-26",
3
+ "version": "3.2.1-27",
4
4
  "description": "系统基础框架",
5
5
  "main": "src/index.js",
6
6
  "directories": {
package/src/App.vue CHANGED
@@ -1,24 +1,24 @@
1
- <template>
2
- <app-base class="bg">
3
- <div class='flex'>
4
- <article>
5
- <!--<route :comp="{name: 'check-model'}"></route>-->
6
- <!--<route :comp="{name: 'vender-management'}"></route>-->
7
- <route :comp="{name: 'login'}"></route>
8
- <!-- <route :comp="{name: 'load-data'}"></route> -->
9
- <!-- <route :comp="{name: 'load-params', props: {componentName: 'login'}}"></route> -->
10
- <!-- <route :comp="{name: 'load-params', props: {dataUrl: ['rs/sql/getMeterBrand','rs/sql/getPriceType','rs/sql/getMeterStyle'], componentName: 'login'}}"></route> -->
11
- </article>
12
- </div>
13
- </app-base>
14
- </template>
15
-
16
- <script>
17
- // import cardListen from './plugins/CardListen'
18
-
19
- export default {
20
- // ready () {
21
- // cardListen.startListen()
22
- // }
23
- }
24
- </script>
1
+ <template>
2
+ <app-base class="bg">
3
+ <div class='flex'>
4
+ <article>
5
+ <!--<route :comp="{name: 'check-model'}"></route>-->
6
+ <!--<route :comp="{name: 'vender-management'}"></route>-->
7
+ <route :comp="{name: 'login'}"></route>
8
+ <!-- <route :comp="{name: 'load-data'}"></route> -->
9
+ <!-- <route :comp="{name: 'load-params', props: {componentName: 'login'}}"></route> -->
10
+ <!-- <route :comp="{name: 'load-params', props: {dataUrl: ['rs/sql/getMeterBrand','rs/sql/getPriceType','rs/sql/getMeterStyle'], componentName: 'login'}}"></route> -->
11
+ </article>
12
+ </div>
13
+ </app-base>
14
+ </template>
15
+
16
+ <script>
17
+ // import cardListen from './plugins/CardListen'
18
+
19
+ export default {
20
+ // ready () {
21
+ // cardListen.startListen()
22
+ // }
23
+ }
24
+ </script>
@@ -1,5 +1,8 @@
1
1
  <template>
2
2
  <div @click="hindsetting1()" :class="{'with-watermark':showwatermakeflag}">
3
+ <span class="newTip" transition="newTip" @click="tipClick" v-if="newTipShow">
4
+ <span>您有一条新提醒</span>
5
+ </span>
3
6
  <!-- <div class="system-main" id="box" v-el:box v-if="!isManger">-->
4
7
  <!-- <div class="system-logo" style="height: auto">-->
5
8
  <!-- <img :src="imgs.logoimg" alt=""/>-->
@@ -111,6 +114,26 @@
111
114
  <div v-show="isManger">
112
115
  <route v-ref:route></route>
113
116
  </div>
117
+ <modal v-if="newTipContextShow" :show.sync="newTipContextShow" :backdrop="false">
118
+ <header slot="modal-header" style="display:none"> </header>
119
+ <article slot="modal-body" class="modal-body">
120
+ <form class="form-horizontal">
121
+ <div class="row">
122
+ <div class="col-sm-12 " v-if="AppDaiBan !==''">
123
+ <label class="col-sm-2">报装待办:</label>
124
+ <span style="font-weight:normal">{{AppDaiBan}}</span>
125
+ </div>
126
+ <div class="col-sm-12 " v-if="OrderDaiBan !==''">
127
+ <label class="col-sm-2">预约待办:</label>
128
+ <span style="font-weight:normal">{{OrderDaiBan}}</span>
129
+ </div>
130
+ </div>
131
+ </form>
132
+ </article>
133
+ <footer slot="modal-footer" style="height: 8vh" class="modal-footer">
134
+ <button class="button_search" @click="newTipContextShow = false">确认</button>
135
+ </footer>
136
+ </modal>
114
137
 
115
138
  <!-- 变更录入 模态框 -->
116
139
  <add-changemsg :show="AddChangeMsgShow" v-on:toggle="AddChangeMsgShow = false"></add-changemsg>
@@ -174,9 +197,15 @@ window.onbeforeunload = () => {
174
197
  }
175
198
  export default {
176
199
  title: '主界面',
177
- props: ['functions', 'userid'],
200
+ props: ['functions', 'userid', 'config'],
178
201
  data() {
179
202
  return {
203
+ // 页面提示信息定时器
204
+ interval: null,
205
+ newTipShow: false,
206
+ newTipContextShow: false,
207
+ AppDaiBan: '',
208
+ OrderDaiBan: '',
180
209
  // 左侧树下部三个小图标
181
210
  imgs: {
182
211
  open: '/images/lefticon/菜单伸缩.png',
@@ -207,7 +236,7 @@ export default {
207
236
  getwartermakr(this);
208
237
  let component = this.$login.getUrlCompileParames('component')
209
238
  if (component) {
210
- // this.isManger = true
239
+ this.isManger = true
211
240
  this.$refs.route.init(component, {data: this.functions.functions})
212
241
  }
213
242
  if (this.$login.f.password == '1') {
@@ -249,8 +278,74 @@ export default {
249
278
  // }
250
279
  this.changeShow()
251
280
  this.gotoWorkOrderSite()
281
+ // 获取预约列表
282
+ this.functions.f_role_name.includes(this.config.msgRole) && this.config.isTip && this.getOrderList()
252
283
  },
253
284
  methods: {
285
+ getOrderList(){
286
+ let times = this.config.times * 60 * 1000
287
+ console.log("=定时提示间隔=", times)
288
+ try {
289
+ this.interval = setInterval(() => {
290
+ this.getDaiBan()
291
+ }, times)
292
+ } catch (error) {
293
+ console.log('捕获到异常', error)
294
+ }
295
+ },
296
+ async getDaiBan(){
297
+ this.OrderDaiBan = ''
298
+ this.AppDaiBan = ''
299
+ let http = new HttpResetClass()
300
+ await http.load('POST', '/rs/sql/singleTable', {data: {
301
+ tablename:'t_order_center',
302
+ condition:` f_orderstate != '预约成功' and f_orgstr ='${this.$login.f.orgid}' and ( f_orderstate != '预约失败' or f_orderstate is null )`
303
+ }}, {
304
+ resolveMsg: null,
305
+ rejectMsg: null
306
+ }).then((res) => {
307
+ let OrderDaiBan = {}
308
+ res.data.forEach(item=>{
309
+ OrderDaiBan[item.f_ordertype] = OrderDaiBan[item.f_ordertype] || []
310
+ OrderDaiBan[item.f_ordertype].push(item)
311
+ })
312
+ if (res.data.length> 0){
313
+ this.OrderDaiBan = `您有${res.data.length}条需要处理的微信预约业务!`
314
+ this.OrderDaiBan += `其中 ${Object.keys(OrderDaiBan).map(key=>`${key}:${OrderDaiBan[key].length}条`).join(', ')}`
315
+ }
316
+ })
317
+ let data = {
318
+ condition: '1 = 1',
319
+ data: {
320
+ orgid: this.$login.f.orgid,
321
+ id: this.$login.f.id
322
+ }
323
+ }
324
+ await http.load('POST', '/rs/sql/checkuser', {data: data}, {
325
+ resolveMsg: null,
326
+ rejectMsg: null
327
+ }).then((res) => {
328
+ let AppDaiBan = {}
329
+ res.data.forEach(item=>{
330
+ AppDaiBan[item.defname] = AppDaiBan[item.defname] || []
331
+ AppDaiBan[item.defname].push(item)
332
+ })
333
+ if (res.data.length> 0){
334
+ this.AppDaiBan = `您有${res.data.length}条需要处理的报建待办业务!`
335
+ this.AppDaiBan += `其中 ${Object.keys(AppDaiBan).map(key=>`${key}:${AppDaiBan[key].length}条`).join(', ')}`
336
+ }
337
+ }).catch((e)=>{
338
+ console.error(e)
339
+ })
340
+ if(this.AppDaiBan || this.OrderDaiBan){
341
+ this.newTipShow = true
342
+ }
343
+ },
344
+ // 提醒框被点击
345
+ tipClick(){
346
+ this.newTipShow = false
347
+ this.newTipContextShow = true
348
+ },
254
349
  gotoWorkOrderSite(){
255
350
  const isRemind =this.$appdata.getSingleValue("站点工单提醒")
256
351
  console.log('站点工单是否提醒',isRemind)
@@ -367,6 +462,32 @@ export default {
367
462
  }
368
463
  </script>
369
464
  <style lang="less">
465
+ .newTip-transition {
466
+ transition: all .4s ease;
467
+ }
468
+ .newTip-enter, .newTip-leave {
469
+ height: 0;
470
+ padding: 0 10px;
471
+ opacity: 0;
472
+ }
473
+ .newTip a {
474
+ color: #333;
475
+ }
476
+ .newTip {
477
+ cursor: pointer;
478
+ text-align: center;
479
+ position: absolute;
480
+ top: 3em;
481
+ margin: 0 auto;
482
+ width: 200px;
483
+ left: 48%;
484
+ line-height: 2;
485
+ z-index: 10010;
486
+ box-shadow: 0 4px 12px rgba(0,0,0,0.38);
487
+ pointer-events: all;
488
+ border-radius: 4px;
489
+ background-color: whitesmoke;
490
+ }
370
491
  /* 组件内通用样式 */
371
492
  .select-error {
372
493
  button {