sale-client 3.4.206 → 3.5.1

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 (43) hide show
  1. package/.babelrc +5 -5
  2. package/package.json +1 -1
  3. package/src/components/FilesManage/FileUserFiles.vue +11 -5
  4. package/src/components/FilesManage/UserEssentialInfoTest.vue +6 -6
  5. package/src/components/FilesManage/UserGeneralInfoTest.vue +1 -1
  6. package/src/components/charge/ChargeList.vue +2 -2
  7. package/src/components/charge/business/CardMeterCenter.vue +39 -1
  8. package/src/components/charge/business/IOTMeterCenter.vue +41 -2
  9. package/src/components/chargeBatch/ChargeBatchList.vue +2 -2
  10. package/src/components/common/userinfo_detail/UserBaseInfoNew.vue +4 -0
  11. package/src/components/matchmakingManagement/PlatformAddEdit.vue +145 -0
  12. package/src/components/matchmakingManagement/PlatformList.vue +150 -0
  13. package/src/components/matchmakingManagement/PlatformManage.vue +51 -0
  14. package/src/components/revenue/HandManager/MeterBookAdd.vue +2 -2
  15. package/src/components/revenue/HandManager/meterbookEntry.vue +20 -32
  16. package/src/components/revenue/base/leftview/Userinfo.vue +22 -18
  17. package/src/components/revenue/comprehen/Maintenance/revenue/StockListmain.vue +16 -16
  18. package/src/components/revenue/comprehen/Message/AllUser.vue +55 -1
  19. package/src/components/revenue/comprehen/Message/ArrearsList.vue +30 -1
  20. package/src/components/revenue/comprehen/Message/MessageList.vue +29 -25
  21. package/src/components/revenue/comprehen/wechatpay/WeChatPayContrast.vue +3 -2
  22. package/src/components/revenue/comprehen/wechatpay/WeChatPayDetail.vue +3 -1
  23. package/src/components/revenue/concentrator/ncArchivesAdd.vue +13 -4
  24. package/src/components/revenue/concentrator/ncArchivesList.vue +1 -1
  25. package/src/components/revenue/concentrator/ncUserfilesList2.vue +30 -0
  26. package/src/filiale/macheng/HandManager.vue +6 -0
  27. package/src/filiale/qianneng/MessageList.vue +28 -25
  28. package/src/filiale/qianneng/eticket/EticketRecordList.vue +282 -0
  29. package/src/filiale/qianneng/sale.js +3 -3
  30. package/src/filiale/rizhao/ChargeList.vue +2 -2
  31. package/src/filiale/tongchuan/CardList.vue +7 -8
  32. package/src/filiale/tongchuan/IOTMeterCenter.vue +42 -3
  33. package/src/filiale/tongchuan/UserEssentialInfoTest.vue +1 -3
  34. package/src/filiale/tongchuan/Userinfo.vue +21 -17
  35. package/src/filiale/tongchuan/plugins/FileManageService.js +2 -1
  36. package/src/main.js +18 -18
  37. package/src/plugins/CardService.js +4 -4
  38. package/.gradle/3.5.1/file-changes/last-build.bin +0 -0
  39. package/.gradle/3.5.1/taskHistory/taskHistory.lock +0 -0
  40. package/.gradle/buildOutputCleanup/built.bin +0 -0
  41. package/.gradle/buildOutputCleanup/cache.properties +0 -2
  42. package/.gradle/buildOutputCleanup/cache.properties.lock +0 -1
  43. package/yarn-error.log +0 -9224
package/.babelrc CHANGED
@@ -1,5 +1,5 @@
1
- {
2
- "presets": ["es2015", "stage-2"],
3
- "plugins": ["transform-runtime"],
4
- "comments": false
5
- }
1
+ {
2
+ "presets": ["es2015", "stage-2"],
3
+ "plugins": ["transform-runtime"],
4
+ "comments": false
5
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "3.4.206",
3
+ "version": "3.5.1",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -228,7 +228,7 @@
228
228
  </div>
229
229
  <div
230
230
  :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
231
- class="form-group">
231
+ class="form-group" v-if="titleShow">
232
232
  <label class="font_normal_body">使用类型</label>
233
233
  <v-select :options='$parent.$parent.useoptions' :search='true'
234
234
  :value.sync="model.f_usetype"
@@ -238,7 +238,7 @@
238
238
  </div>
239
239
  <div
240
240
  :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
241
- class="form-group">
241
+ class="form-group" v-if="titleShow">
242
242
  <label class="font_normal_body">用户等级</label>
243
243
  <v-select :options='$parent.$parent.userlevel' :search='true'
244
244
  :value.sync="model.userlevel"
@@ -248,7 +248,7 @@
248
248
  </div>
249
249
  <div
250
250
  :class="{'col-sm-2':!$parent.$parent.createFile,'col-sm-4':$parent.$parent.createFile}"
251
- class="form-group">
251
+ class="form-group" v-if="titleShow">
252
252
  <label class="font_normal_body">工业备注</label>
253
253
  <v-select :options='$parent.$parent.industrycomments' :value.sync="model.f_gongye_type"
254
254
  close-on-select condition="f_gongye_type='{}'"
@@ -331,7 +331,7 @@
331
331
  <th v-if="!$parent.$parent.$parent.createFile">
332
332
  <nobr>状态</nobr>
333
333
  </th>
334
- <th v-if="!$parent.$parent.$parent.createFile">
334
+ <th v-if="titleShow">
335
335
  <nobr>用户等级</nobr>
336
336
  </th>
337
337
  <!--<th>-->
@@ -362,7 +362,7 @@
362
362
  <td style="text-align: center;">{{row.f_whether_hairpin}}</td>
363
363
  <td style="text-align: center;" v-if="!$parent.$parent.$parent.createFile">{{row.f_userfiles_address}}</td>
364
364
  <td style="text-align: center;" v-if="!$parent.$parent.$parent.createFile">{{row.f_user_state}}</td>
365
- <td style="text-align: center;" v-if="!$parent.$parent.$parent.createFile">{{row.f_user_level}}</td>
365
+ <td style="text-align: center;" v-if="titleShow">{{row.f_user_level}}</td>
366
366
  <td style="text-align: center;">
367
367
  <button type="button" name="button" class="button_search-2 button_spacing width-60"
368
368
  v-if="row.f_user_state === '正常' || row.f_user_state==='预备'"
@@ -437,6 +437,7 @@
437
437
  </div>
438
438
  </article>
439
439
  <footer slot="modal-footer" class="modal-footer">
440
+ <button class="button_search button_spacing" type="button" @click="goChargeManage()">去收费</button>
440
441
  <button class="button_search button_spacing" type="button" @click="doCopy()">复制</button>
441
442
  <button class="button_search button_spacing" type="button" @click="close2()">取消</button>
442
443
  </footer>
@@ -580,6 +581,7 @@ let loadParamGem = async function (self) {
580
581
  newdata: {},
581
582
  resdata: '',
582
583
  resshow: false,
584
+ titleShow: true, //是否显示部分档案信息类的筛选框
583
585
  useoptions: this.$appdata.getParam('使用类型'),
584
586
 
585
587
  userlevel: this.$appdata.getParam('用户等级') ? [{label: '全部', value: ''}, ...this.$appdata.getParam('用户等级')] : []
@@ -587,6 +589,7 @@ let loadParamGem = async function (self) {
587
589
  },
588
590
  ready () {
589
591
  loadParamGem(this)
592
+ this.titleShow = this.$appdata.getSingleValue('是否显示筛选框') == null? true : this.$appdata.getSingleValue('是否显示筛选框')
590
593
  },
591
594
  compiled () {
592
595
  window.onresize = () => {
@@ -634,6 +637,9 @@ let loadParamGem = async function (self) {
634
637
  this.isShowDetailInfo = true
635
638
  this.rowData = obj
636
639
  },
640
+ goChargeManage () {
641
+ this.$goto('charge-manage', {f: this.$login.f}, 'main')
642
+ },
637
643
  async doCopy () {
638
644
  await this.$copyText(this.resdata)
639
645
  this.resshow = false
@@ -129,12 +129,12 @@
129
129
  </div>
130
130
  </div>
131
131
  <div class="row">
132
- <div style="" class="col-sm-4 form-group">
133
- <label for="f_user_level" class="font_normal_body ">&ensp;用户等级</label>
134
- <v-select :value.sync="baseinfo.base.f_user_level" :search="false" :value-single="true"
135
- :options='userlevel' placeholder='用户等级' close-on-select>
136
- </v-select>
137
- </div>
132
+ <!-- <div style="" class="col-sm-4 form-group">-->
133
+ <!-- <label for="f_user_level" class="font_normal_body ">&ensp;用户等级</label>-->
134
+ <!-- <v-select :value.sync="baseinfo.base.f_user_level" :search="false" :value-single="true"-->
135
+ <!-- :options='userlevel' placeholder='用户等级' close-on-select>-->
136
+ <!-- </v-select>-->
137
+ <!-- </div>-->
138
138
  <div class="col-sm-4 form-group">
139
139
  <label for="f_user_nature" class="font_normal_body" title="用户性质">&ensp;用气类型</label>
140
140
  <input type="text" v-show="false" v-model="baseinfo.base.f_user_nature">
@@ -93,7 +93,7 @@
93
93
  </div>
94
94
  <div class="row">
95
95
  <div class="col-sm-2"></div>
96
- <input v-if="fileSaveData.reason ==='其他'" class="input_search" style="width:60%" placeholder='修改原因' v-model="fileSaveData.modifyReason"/>
96
+ <input v-if="fileSaveData.reason==='其他'" class="input_search" style="width:60%" placeholder='修改原因' v-model="fileSaveData.modifyReason"/>
97
97
  </div>
98
98
  </article>
99
99
  <footer slot="modal-footer" class="modal-footer">
@@ -89,7 +89,7 @@
89
89
  condition="u.f_gasproperties = '{}'"
90
90
  close-on-select style="width: 60%"></v-select>
91
91
  </div>
92
- <div class="form-group col-sm-3">
92
+ <div class="form-group col-sm-3" v-if="false">
93
93
  <label class="font_normal_body">用户等级</label>
94
94
  <v-select v-model="model.f_user_level"
95
95
  placeholder='用户等级'
@@ -112,7 +112,7 @@
112
112
  <input type="text" class="input_search" style="width:60%" v-model="model.f_card_id" placeholder='卡号'
113
113
  condition="f_card_id like '%{}%'">
114
114
  </div>
115
- <div class="form-group col-sm-3">
115
+ <div class="form-group col-sm-3" v-if="false">
116
116
  <label class="font_normal_body">使用类型</label>
117
117
  <v-select v-model="model.f_usetype"
118
118
  placeholder='使用类型'
@@ -380,6 +380,28 @@
380
380
  let asyncCardMeterCenter = async function (self) {
381
381
  await self.$getConfig(self, 'CardMeterCenter')
382
382
  console.log('卡表收费config', self.config)
383
+
384
+ // 添加 “系统余额透支” 付款方式
385
+ let i = -1
386
+ for (const index in self.paytype) {
387
+ if (self.paytype[index].value == "系统余额透支"){
388
+ i = index
389
+ break
390
+ }
391
+ }
392
+ if (self.canOverdraftBalance()){
393
+ if (i == -1){
394
+ self.paytype.push({
395
+ label: "系统余额透支",
396
+ value: "系统余额透支"
397
+ })
398
+ }
399
+ }else {
400
+ if (i != -1){
401
+ self.paytype.splice(i, 1)
402
+ }
403
+ }
404
+
383
405
  // 默认打印格式
384
406
  self.model.f_print = self.config.printType instanceof Array ? self.config.printType : [self.config.printType]
385
407
  self.model.f_payment = [self.config.payment]
@@ -461,7 +483,8 @@
461
483
  billType: '燃气费', // 票据类型(燃气费,其他费用,调用的发票代码不同)
462
484
  printType: '普通收据', // 收据/电子票/专用发票/国税发票
463
485
  payment: '现金缴费',
464
- floor: false
486
+ floor: false,
487
+ overdraftBalance: false // 是否支持系统余额透支
465
488
  },
466
489
  eticket_msg: false,
467
490
  eticket_show: false,
@@ -599,6 +622,17 @@
599
622
  methods: {
600
623
  // 校验发票信息
601
624
  checkInvoiceMsg (flag) {
625
+ // 校验是否超出最大透支余额
626
+ if (this.model.f_payment == '系统余额透支') {
627
+ const maxOverdraftBalance = - (this.$appdata.getSingleValue("最大透支余额") - 0)
628
+ const curSysBalance = (this.row.f_sys_balance - 0) - (this.model.f_totalcost - 0)
629
+ if (curSysBalance < maxOverdraftBalance){
630
+ this.$showAlert('您的系统余额将超出最大透支余额,请使用别的付款方式!', 'danger', 5000)
631
+ return
632
+ }
633
+ this.model.f_sys_balance = curSysBalance
634
+ }
635
+
602
636
  // 收款回车时, 如果确认按钮是灰色不进行任何操作
603
637
  if (flag) return
604
638
  console.log(this.model.f_print[0])
@@ -806,6 +840,10 @@
806
840
  // 减免后收款金额
807
841
  this.model.f_after_discount = privilegeData.data.f_collection
808
842
  }
843
+ },
844
+ // 判断当前用户是否可以使用系统余额透支
845
+ canOverdraftBalance(){
846
+ return this.config.overdraftBalance && this.row.f_user_type != "民用"
809
847
  }
810
848
  },
811
849
  computed: {
@@ -372,6 +372,28 @@
372
372
  let asyncCardMeterCenter = async function (self) {
373
373
  await self.$getConfig(self, 'IOTMeterCenter')
374
374
  console.log('卡表收费config', self.config)
375
+
376
+ // 添加 “系统余额透支” 付款方式
377
+ let i = -1
378
+ for (const index in self.paytype) {
379
+ if (self.paytype[index].value == '系统余额透支') {
380
+ i = index
381
+ break
382
+ }
383
+ }
384
+ if (self.canOverdraftBalance()) {
385
+ if (i == -1) {
386
+ self.paytype.push({
387
+ label: '系统余额透支',
388
+ value: '系统余额透支'
389
+ })
390
+ }
391
+ } else {
392
+ if (i != -1) {
393
+ self.paytype.splice(i, 1)
394
+ }
395
+ }
396
+
375
397
  // 默认打印格式
376
398
  self.model.f_print = self.config.printType instanceof Array ? self.config.printType : [self.config.printType]
377
399
  self.model.f_payment = [self.config.payment]
@@ -423,7 +445,8 @@
423
445
  hasBillManage: false, // 默认不启用发票管理
424
446
  billType: '燃气费', // 票据类型(燃气费,其他费用,调用的发票代码不同)
425
447
  printType: '普通收据', // 收据/电子票/专用发票/国税发票
426
- payment: '现金缴费'
448
+ payment: '现金缴费',
449
+ overdraftBalance: false // 是否支持系统余额透支
427
450
  },
428
451
  model: {
429
452
  f_purchase: 0,
@@ -439,7 +462,8 @@
439
462
  f_voucher_number: '',
440
463
  f_privilege_id: 0,
441
464
  f_privilege_money: 0,
442
- f_after_discount: 0
465
+ f_after_discount: 0,
466
+ f_sys_balance: 0
443
467
  },
444
468
  eticket_msg: false,
445
469
  eticket_show: false,
@@ -558,6 +582,17 @@
558
582
  methods: {
559
583
  // 校验发票信息
560
584
  checkInvoiceMsg () {
585
+ // 校验是否超出最大透支余额
586
+ if (this.model.f_payment == '系统余额透支') {
587
+ const maxOverdraftBalance = -(((this.$appdata.getSingleValue('最大透支余额') - 0) || 1000) - 0)
588
+ const curSysBalance = ((this.row.f_sys_balance || 0) - 0) - (this.model.f_totalcost - 0)
589
+ if (curSysBalance < maxOverdraftBalance) {
590
+ this.$showAlert('您的系统余额将超出最大透支余额,请使用别的付款方式!', 'danger', 5000)
591
+ return
592
+ }
593
+ this.model.f_sys_balance = curSysBalance
594
+ }
595
+
561
596
  if (this.model.f_print[0] === '电子发票') {
562
597
  if (!this.row.f_taxpayer_id) {
563
598
  this.row.f_taxpayer_id = this.row.f_idnumber
@@ -721,6 +756,10 @@
721
756
  // 减免后收款金额
722
757
  this.model.f_after_discount = privilegeData.data.f_collection
723
758
  }
759
+ },
760
+ // 判断当前用户是否可以使用系统余额透支
761
+ canOverdraftBalance () {
762
+ return this.config.overdraftBalance && this.row.f_user_type != '民用'
724
763
  }
725
764
  },
726
765
  computed: {
@@ -97,7 +97,7 @@
97
97
  condition="u.f_gasproperties = '{}'"
98
98
  close-on-select style="width: 60%"></v-select>
99
99
  </div>
100
- <div class="form-group col-sm-4">
100
+ <div class="form-group col-sm-4" v-if="false">
101
101
  <label class="font_normal_body">用户等级</label>
102
102
  <v-select v-model="model.f_user_level"
103
103
  placeholder='用户等级'
@@ -120,7 +120,7 @@
120
120
  style="width: 60%">
121
121
  </res-select>
122
122
  </div>
123
- <div class="form-group col-sm-4">
123
+ <div class="form-group col-sm-4" v-if="false">
124
124
  <label class="font_normal_body">使用类型</label>
125
125
  <v-select v-model="model.f_usetype"
126
126
  placeholder='使用类型'
@@ -151,6 +151,7 @@
151
151
  </div>
152
152
  <div class="auto" style="float: right;">
153
153
  <button class="button_clear " @click="cancelmain()" >返回</button>
154
+ <button class="button_search" type="button" @click="goChargeManage">去收费</button>
154
155
  <button v-if="row.f_meter_brand.includes('西美')&&row.f_meter_type.includes('物联网表')"
155
156
  class="button_search" type="button" @click="clearBarrier">清除障碍</button>
156
157
  <button v-if="row.f_meter_type.includes('物联网表')"
@@ -316,6 +317,9 @@
316
317
  uuidA = s.join('');
317
318
  return uuidA;
318
319
  },
320
+ goChargeManage () {
321
+ this.$goto('charge-manage', {f: this.$login.f}, 'main')
322
+ },
319
323
  openUser () {
320
324
  this.$showMessage(`是否需要给用户进行开户?`, ['confirm', 'cancel']).then(async (res) => {
321
325
  if (res === 'confirm') {
@@ -0,0 +1,145 @@
1
+ <template>
2
+ <div id="articleAddEdit">
3
+ <div class="auto select-overspread">
4
+ <validator name='v'>
5
+ <ul class="nav nav-tabs">
6
+ <li class="bg-info text-center"><a href="#">{{{title}}}</a></li>
7
+ </ul>
8
+ <div class="form-horizontal select-overspread container-fluid auto" style="margin-top:20px;flex: 1;">
9
+ <div class="row">
10
+ <div class="col-sm-6 form-group">
11
+ <label class="font_normal_body">组织机构</label>
12
+ <res-select restype='organization'
13
+ @res-select="getorg"
14
+ is-mul="false"
15
+ :initresid='curorgid'>
16
+ </res-select>
17
+ </div>
18
+ <div class="col-sm-6 form-group">
19
+ <label class="font_normal_body">文章标题</label>
20
+ <input type="text" v-model="listinfo.f_title" class="input_search" style="width:60%" placeholder="文章标题">
21
+ </div>
22
+ <div class="col-sm-6 form-group">
23
+ <label class="font_normal_body">文章类型</label>
24
+ <v-select
25
+ v-model="listinfo.f_type"
26
+ placeholder='文章类型'
27
+ :value.sync="listinfo.f_type"
28
+ :options='getType'
29
+ close-on-select value-single>
30
+ </v-select>
31
+ </div>
32
+ <div class="col-sm-6 form-group">
33
+ <label class="font_normal_body">文章链接</label>
34
+ <input type="text" v-model="listinfo.f_link" class="input_search" style="width:60%" placeholder="文章链接">
35
+ </div>
36
+ <div class="col-sm-6 form-group">
37
+ <label class="font_normal_body">权&emsp;&emsp;重</label>
38
+ <input type="number" v-model="listinfo.f_weight" class="input_search" style="width:60%" placeholder="权重">
39
+ </div>
40
+ <div class="col-sm-6 form-group">
41
+ <label class="font_normal_body">状&emsp;&emsp;态</label>
42
+ <v-select
43
+ v-model="listinfo.f_state"
44
+ placeholder='文章类型'
45
+ :value.sync="listinfo.f_state"
46
+ :options='getState'
47
+ close-on-select value-single>
48
+ </v-select>
49
+ </div>
50
+ <div class="col-sm-6" v-if="listinfo.f_type === '轮播图'|| listinfo.f_type === '广告弹框' || listinfo.f_type === '便民服务'">
51
+ <label class="font_normal_body">文章图片</label>
52
+ <avatar-upload :img-src.sync="listinfo.img.content" :filename.sync="listinfo.img.filename"></avatar-upload>
53
+ </div>
54
+ <div class="col-sm-6" v-if="listinfo.f_img">
55
+ <label class="font_normal_body">现存图片</label>
56
+ <img-self :src="listinfo.f_img" alt="图片加载失败" :width="100" :height="100"></img-self>
57
+ </div>
58
+ </div>
59
+ </div>
60
+ <div class="row">
61
+ <div style="float: right;">
62
+ <button @click='clear()' class="btn button_clear" style="width: 70px">
63
+ <span class="glyphicon glyphicon-log-out"></span>清空
64
+ </button>
65
+ <button @click="confirm()" class="btn button_search" style="width: 70px" :disabled="saveFlag">
66
+ <span class="glyphicon glyphicon-floppy-disk"></span>保存
67
+ </button>
68
+ </div>
69
+ </div>
70
+ </validator>
71
+ </div>
72
+ </div>
73
+ </template>
74
+ <script>
75
+ export default {
76
+ data () {
77
+ return {
78
+ f_orgids: this.$login.f.orgid,
79
+ f_operator: this.$login.f.name,
80
+ curorgid: [this.$login.f.orgid],
81
+ f_orgid: '',
82
+ f_filialeids: ''
83
+ }
84
+ },
85
+ props: {
86
+ listinfo: {
87
+ type: Object
88
+ },
89
+ title: {
90
+ type: String
91
+ }
92
+ },
93
+ ready () {
94
+ },
95
+ methods: {
96
+ getorg (val) {
97
+ this.f_orgid = this.$login.convertToIn(val)
98
+ this.f_filialeids = val[0]
99
+ },
100
+ confirm () {
101
+ let data = {content : ''}
102
+ if (this.listinfo.id){
103
+ this.listinfo.img = data
104
+ }
105
+ this.listinfo['f_edit_date'] = this.$login.toStandardTimeString()
106
+ this.listinfo['f_operator'] = this.f_operator
107
+ this.listinfo['f_orgid'] = this.f_filialeids ? this.f_filialeids : this.f_orgids
108
+ this.$resetpost('wx/rs/logic/saveArticle', this.listinfo, {
109
+ resolveMsg: '保存成功。',
110
+ rejectMsg: '保存失败!!!',
111
+ aoteEncrypt: this.weixin_mmType,
112
+ encryKey: this.weixin_mm
113
+ }).then((res) => { this.$dispatch('refresh') }
114
+ )
115
+ },
116
+ clear () {
117
+ let id = this.listinfo['id']
118
+ if (id) {
119
+ this.listinfo = {id: id}
120
+ } else {
121
+ this.listinfo = {}
122
+ }
123
+ }
124
+ },
125
+ watch: {},
126
+ computed: {
127
+ // 保存按钮条件
128
+ saveFlag () {
129
+ if (this.listinfo.f_type === '便民服务') {
130
+ return (!(this.listinfo.f_title && this.listinfo.f_type && this.listinfo.f_link && this.listinfo.f_state && this.listinfo.img.content))
131
+ } else {
132
+ return (!(this.listinfo.f_title && this.listinfo.f_type && this.listinfo.f_link && this.listinfo.f_state))
133
+ }
134
+ },
135
+ getState () {
136
+ return [{label: '有效', value: '有效'}, {label: '无效', value: '无效'}]
137
+ },
138
+ getType () {
139
+ return this.$appdata.getParam('微信文章类型')
140
+ }
141
+ }
142
+ }
143
+ </script>
144
+ <style lang="less">
145
+ </style>
@@ -0,0 +1,150 @@
1
+ <template>
2
+ <criteria-paged :model="model" v-ref:paged>
3
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
4
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
5
+ <div class="row">
6
+ <div class="col-sm-3 form-group">
7
+ <label class="font_normal_body">婚介所名称</label>
8
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_orgname"
9
+ condition="f_orgname like '%{}%'" placeholder="婚介所名称"/>
10
+ </div>
11
+ <!-- <div class="col-sm-3 form-group">-->
12
+ <!-- <label class="font_normal_body">文章类型</label>-->
13
+ <!-- <v-select v-model="model.f_type" style="width:60%"-->
14
+ <!-- placeholder='文章类型'-->
15
+ <!-- :value.sync="model.f_type"-->
16
+ <!-- :options='$parent.$parent.getType'-->
17
+ <!-- condition= "f_type = '{}'"-->
18
+ <!-- close-on-select value-single>-->
19
+ <!-- </v-select>-->
20
+ <!-- </div>-->
21
+
22
+ <div class="col-sm-3 form-group">
23
+ <label class="font_normal_body">详细地址</label>
24
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_org_site"
25
+ condition="f_org_site like '%{}%'" placeholder="详细地址"/>
26
+ </div>
27
+ <div class="col-sm-2 form-group button-range" style="float: right">
28
+ <button class="button_search button_spacing" @click="search()" >查询</button>
29
+ <button class="button_new button_spacing" @click="$parent.$parent.add()">新增</button>
30
+ <button class="button_clear button_spacing" @click="clear">清空</button>
31
+ <div style="float: right" class="button_spacing" :class="{'button_shrink_top': criteriaShow,'button_shrink_bottom': !criteriaShow}" @click="criteriaShow = !criteriaShow"></div>
32
+ </div>
33
+ </div>
34
+ <div class="row" v-show="criteriaShow">
35
+ <div class="col-sm-3 form-group">
36
+ <label class="font_normal_body">文章状态</label>
37
+ <v-select v-model="model.f_state" style="width:60%"
38
+ placeholder='状态'
39
+ :value.sync="model.f_state"
40
+ :options='$parent.$parent.getState'
41
+ condition= "f_state = '{}'"
42
+ close-on-select value-single>
43
+ </v-select>
44
+ </div>
45
+ <div class="col-sm-3 form-group">
46
+ <label class="font_normal_body">文章标题</label>
47
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_title"
48
+ condition="f_title like '%{}%'" placeholder="文章标题"/>
49
+ </div>
50
+ <div class="col-sm-3 form-group">
51
+ <label class="font_normal_body">操作人员</label>
52
+ <input type="text" style="width:60%" class="input_search" v-model="model.f_operator"
53
+ condition="f_operator like '%{}%'" placeholder="操&ensp;作&ensp;人"/>
54
+ </div>
55
+ </div>
56
+ </div>
57
+ </criteria>
58
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid>
59
+ <template partial='head'>
60
+ <tr>
61
+ <th>序&emsp;&emsp;号</th>
62
+ <th>文章标题</th>
63
+ <th>文章类型</th>
64
+ <th>文章图片</th>
65
+ <th>权&emsp;&emsp;重</th>
66
+ <th>状&emsp;&emsp;态</th>
67
+ <th>操&ensp;作&ensp;人</th>
68
+ <th>创建时间</th>
69
+ <th>修改时间</th>
70
+ <th>操&emsp;&emsp;作</th>
71
+ </tr>
72
+ </template>
73
+ <template partial='body'>
74
+ <tr>
75
+ <td style="text-align:center">{{$index+1}}</td>
76
+ <td style="text-align:center">{{row.f_title}}</td>
77
+ <td style="text-align:center">{{row.f_type}}</td>
78
+ <td style="text-align:center">
79
+ <img-self :src="row.f_img" v-if="row.f_img" :width="100" :height="100"></img-self>
80
+ <p v-else style="margin-top: 9px;">无图片</p>
81
+ </td>
82
+ <td style="text-align:center">{{row.f_weight}}</td>
83
+ <td style="text-align:center">{{row.f_state}}</td>
84
+ <td style="text-align:center">{{row.f_operator}}</td>
85
+ <td style="text-align:center">{{row.f_date}}</td>
86
+ <td style="text-align:center">{{row.f_edit_date}}</td>
87
+ <td style="text-align:center">
88
+ <button type="button" name="button" class="btn btn-link" @click.stop="$parent.$parent.$parent.preview(row.f_link)">预览</button>
89
+ </td>
90
+ </tr>
91
+ </template>
92
+ <template partial='foot'></template>
93
+ </data-grid>
94
+ </criteria-paged>
95
+ </template>
96
+
97
+ <script>
98
+ import {PagedList} from 'vue-client'
99
+
100
+ export default {
101
+ data () {
102
+ return {
103
+ model: new PagedList('wx/rs/sql/singleTable_OrderBy', 20, {tablename: '`t_article`', items: '`*`', orderitem: '`f_weight,f_date desc`'},
104
+ null, null, null, this.weixin_mmType, this.weixin_mm),
105
+ f_orgids: this.$login.f.orgid,
106
+
107
+ curorgid: [this.$login.f.orgid],
108
+ f_orgid: '',
109
+ f_filialeids: ''
110
+ }
111
+ },
112
+ ready () {
113
+ this.$refs.paged.$refs.cri.model.f_state = '有效'
114
+ this.search()
115
+ },
116
+ methods: {
117
+ getorg (val) {
118
+ this.f_orgid = this.$login.convertToIn(val)
119
+ this.f_filialeids = val[0]
120
+ },
121
+ search () {
122
+ this.$refs.paged.$refs.cri.search()
123
+ },
124
+ selfSearch (args) {
125
+ if (!this.f_orgid) {
126
+ this.getorg(this.curorgid)
127
+ }
128
+ args.condition = `${args.condition} and f_orgid in ${this.f_orgid}`
129
+ this.model.search(args.condition, args.model)
130
+ },
131
+ add () {
132
+ this.$refs.paged.$refs.grid.selectStore.selected = null
133
+ this.$dispatch('add')
134
+ },
135
+ preview (link) {
136
+ window.open(link)
137
+ }
138
+ },
139
+ computed: {
140
+ getState () {
141
+ return [{label: '全部', value: ''}, {label: '有效', value: '有效'}, {label: '无效', value: '无效'}]
142
+ },
143
+ getType () {
144
+ return [{label: '全部', value: ''}, ...this.$appdata.getParam('微信文章类型')]
145
+ }
146
+ }
147
+ }
148
+ </script>
149
+ <style lang="less" >
150
+ </style>