sale-client 3.6.173 → 3.6.174

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.
@@ -1,5 +1,5 @@
1
1
  var path = require('path')
2
- const [ serverRul, localUrl ] = ['http://121.36.106.17:8400/', 'http://121.36.106.17:8400/']
2
+ const [ serverRul, localUrl ] = ['http://192.168.50.4:8400/', 'http://192.168.50.4:8400/']
3
3
  var merge = require('webpack-merge')
4
4
  var baseConfig = require('./webpack.dev.conf')
5
5
  var devConfig = {
@@ -18,13 +18,7 @@ var devConfig = {
18
18
  },
19
19
  proxy: {
20
20
  '/rs/file': {
21
- target: localUrl
22
- },
23
- '/rs/logic/filemanage_fileSave': {
24
- target: "http://127.0.0.1:4523/m1/719967-0-default"
25
- },
26
- '/rs/downloadfile': {
27
- target: localUrl
21
+ target: serverRul
28
22
  },
29
23
  '/webapps': {
30
24
  target: serverRul
@@ -79,10 +73,13 @@ var devConfig = {
79
73
  target: serverRul
80
74
  },
81
75
  '/rs/logic': {
82
- target: localUrl
76
+ target: 'http://127.0.0.1:8080'
83
77
  },
84
78
  '/rs/sql': {
85
- target: localUrl
79
+ target: 'http://127.0.0.1:8080'
80
+ },
81
+ '/rs/entity': {
82
+ target: 'http://127.0.0.1:8080'
86
83
  },
87
84
  '/webmeter': {
88
85
  target: serverRul
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sale-client",
3
- "version": "3.6.173",
3
+ "version": "3.6.174",
4
4
  "description": "收费模块前台组件",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -111,7 +111,7 @@
111
111
  <input id="f_collection" class="input_search" style="width:60%" type="number" v-model="model.f_collection"
112
112
  @blur="config.calculatePreByCollection && calculatePreByCollection()"
113
113
  @keyup.enter="checkInvoiceMsg((!$v.valid || validateOk || !islegal || clickConfirm))"
114
- v-el:sk v-scale="[model.f_collection, row.f_fee_decimal||4]" :disabled="!config.calculatePreByCollection && !config.quickSale">
114
+ v-el:sk v-scale="[model.f_collection, row.f_fee_decimal||4]" :disabled="!config.calculatePreByCollection ">
115
115
  </div>
116
116
  <div class="col-sm-1 form-group">
117
117
  <give-change :curbalance="curbalance" :collection.sync="model.f_collection" v-ref:givechange></give-change>
@@ -743,10 +743,12 @@
743
743
  preamount () {
744
744
  if (this.model.f_preamount && this.model.f_preamount > 0) {
745
745
  try {
746
- preamountGen(this)
747
- if (this.config.quickSale) {
748
- this.$els.sk.focus()
749
- }
746
+ preamountGen(this).then((res) => {
747
+ if (this.config.quickSale) {
748
+ this.checkInvoiceMsg((!this.$v.valid || this.validateOk || !this.islegal || this.clickConfirm))
749
+ // this.$els.sk.focus()
750
+ }
751
+ })
750
752
  } catch (error) {
751
753
  this.$showAlert(`发卡售气划价错误,错误类型:${error}`, 'danger', 0)
752
754
  this.$dispatch('error', '发卡售气', this.model, error)
@@ -14,7 +14,7 @@
14
14
  <div class="col-sm-2 form-group">
15
15
  <label class="font_normal_body" for="f_user_name">客户姓名</label>
16
16
  <input id="f_user_name" type="text" class="input_search" style="width: 60%" v-model="model.f_user_name"
17
- condition="f_user_name like '{}'" placeholder='请输入要查询的客户姓名'>
17
+ condition="f_user_name like '%{}%'" placeholder='请输入要查询的客户姓名'>
18
18
  </div>
19
19
  <div class="col-sm-2 form-group">
20
20
  <label class="font_normal_body" for="f_insurance_type">险&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;种</label>
@@ -61,6 +61,61 @@
61
61
  close-on-select clear-button>
62
62
  </v-select>
63
63
  </div>
64
+ <div class="col-sm-2 form-group">
65
+ <label class="font_normal_body" for="f_state">收款方式</label>
66
+ <v-select id="f_state"
67
+ v-model="model.f_payment"
68
+ placeholder='请选择'
69
+ condition="f_payment ='{}'"
70
+ :value.sync="model.f_payment"
71
+ :options='$parent.$parent.payment'
72
+ close-on-select clear-button>
73
+ </v-select>
74
+ </div>
75
+ <div class="col-sm-2 form-group">
76
+ <label class="font_normal_body" for="f_user_name">客户地址</label>
77
+ <input id="f_address" type="text" class="input_search" style="width: 60%" v-model="model.f_address"
78
+ condition="f_address like '%{}%'" placeholder='请输入要查询的客户地址'>
79
+ </div>
80
+ <div class="col-sm-2 form-group">
81
+ <label class="font_normal_body" for="f_user_name">客户电话</label>
82
+ <input id="f_user_phone" type="text" class="input_search" style="width: 60%" v-model="model.f_user_phone"
83
+ condition="f_user_phone like '%{}%'" placeholder='请输入要查询的客户电话'>
84
+ </div>
85
+ <div class="col-sm-2 form-group">
86
+ <label class="font_normal_body" for="f_user_name">身份证号</label>
87
+ <input id="f_idnumber" type="text" class="input_search" style="width: 60%" v-model="model.f_idnumber"
88
+ condition="f_idnumber like '%{}%'" placeholder='请输入要查询的身份证号'>
89
+ </div>
90
+ <div class="col-sm-2 form-group">
91
+ <label class="font_normal_body" for="f_user_name">保险单号</label>
92
+ <input id="f_ins_number" type="text" class="input_search" style="width: 60%" v-model="model.f_ins_number"
93
+ condition="f_ins_number like '%{}%'" placeholder='请输入要查询的保险单号'>
94
+ </div>
95
+ <div class="col-sm-2 form-group">
96
+ <label class="font_normal_body" for="f_user_name">备注信息</label>
97
+ <input id="f_comments" type="text" class="input_search" style="width: 60%" v-model="model.f_comments"
98
+ condition="f_comments like '%{}%'" placeholder='请输入要查询的备注信息'>
99
+ </div>
100
+ <div class="col-sm-2 form-group">
101
+ <label class="font_normal_body">开始时间</label>
102
+ <datepicker :format="'yyyy-MM-dd'"
103
+ :value.sync="model.f_ins_start_date"
104
+ placeholder="缴费开始时间"
105
+ condition="f_operate_date >= '{}'"
106
+ v-model="model.f_ins_start_date" style="width: 55%">
107
+ </datepicker>
108
+ </div>
109
+ <div class="col-sm-2 form-group">
110
+ <label class="font_normal_body">结束时间</label>
111
+ <datepicker :format="'yyyy-MM-dd'"
112
+ :value.sync="model.f_expiration_date"
113
+ placeholder="缴费结束时间"
114
+ condition="f_operate_date <= '{}'"
115
+ v-model="model.f_expiration_date" style="width: 55%">
116
+ </datepicker>
117
+ </div>
118
+
64
119
  </div>
65
120
  </div>
66
121
 
@@ -251,6 +306,7 @@
251
306
  },
252
307
  f_state: '',
253
308
  state: this.$appdata.getParam('保险状态') ? this.$appdata.getParam('保险状态') : [],
309
+ payment: this.$appdata.getParam('收费方式') ? this.$appdata.getParam('收费方式') : [],
254
310
  f_insurance_type: '',
255
311
  insuranceType: this.$appdata.getParam('险种') ? this.$appdata.getParam('险种') : [],
256
312
  orgCondtionStr: '',
@@ -119,7 +119,7 @@
119
119
  </button>
120
120
  </div>
121
121
  <!--<upload :blodid="blodid" isremark="true" fusetype="过户"></upload>-->
122
- <upload :blodid="blodid" v-if="config.showupload" :businessid="randomBusinessId" isremark="true" fusetype="过户管理"></upload>
122
+ <upload :blodid="blodid" v-if="config.showupload" v-on:confirminfo="confirmIdCard" :businessid="randomBusinessId" isremark="true" fusetype="过户管理"></upload>
123
123
  </validator>
124
124
  </div>
125
125
  <modal v-if="loaduserflag" :show.sync="loaduserflag" width="80%" title="过户资产信息" v-ref:modal large backdrop="false">
@@ -219,6 +219,8 @@
219
219
  f_transfer_fees: this.$appdata.getSingleValue('过户费') ? this.$appdata.getSingleValue('过户费') : '',
220
220
  // f_transfer_fees: '',
221
221
  f_newbank_accopen: '',
222
+ f_newuser_name: '',
223
+ f_newidnumber: '',
222
224
  f_newbank_name: ''
223
225
  },
224
226
  transferdata: {
@@ -262,6 +264,11 @@
262
264
  },
263
265
 
264
266
  methods: {
267
+ confirmIdCard (msg) {
268
+ console.log(msg)
269
+ this.model.f_newuser_name = msg.strName
270
+ this.model.f_newidnumber = msg.strID
271
+ },
265
272
  getRandomId () {
266
273
  this.randomBusinessId = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
267
274
  let res = Math.random() * 16 | 0
@@ -57,6 +57,24 @@
57
57
  close-on-select clear-button>
58
58
  </v-select>
59
59
  </div>
60
+ <div class="col-sm-2 form-group">
61
+ <label class="font_normal_body">开始时间</label>
62
+ <datepicker :format="'yyyy-MM-dd'"
63
+ :value.sync="model.f_ins_start_date"
64
+ placeholder="缴费开始时间"
65
+ condition="f_operate_date >= '{}'"
66
+ v-model="model.f_ins_start_date" style="width: 55%">
67
+ </datepicker>
68
+ </div>
69
+ <div class="col-sm-2 form-group">
70
+ <label class="font_normal_body">结束时间</label>
71
+ <datepicker :format="'yyyy-MM-dd'"
72
+ :value.sync="model.f_expiration_date"
73
+ placeholder="缴费结束时间"
74
+ condition="f_operate_date <= '{}'"
75
+ v-model="model.f_expiration_date" style="width: 55%">
76
+ </datepicker>
77
+ </div>
60
78
  </div>
61
79
  </div>
62
80
 
@@ -72,6 +72,10 @@ export default {
72
72
  data () {
73
73
  return {
74
74
  cameraurl: '',
75
+ IdCardInfo: {
76
+ name: '',
77
+ cardId: ''
78
+ },
75
79
  jd: 'transform:rotate(0deg)',
76
80
  degs: 0
77
81
  }
@@ -930,8 +934,10 @@ export default {
930
934
  },
931
935
  confirmIdCard () {
932
936
  let param = this.IdCardInfo
933
- param.strName=this.IdCardInfo.name
934
- param.strID=this.IdCardInfo.cardID
937
+ param.strName = this.IdCardInfo.name
938
+ param.strID = this.IdCardInfo.cardID
939
+ // param.strName = '测试'
940
+ // param.strID = '123'
935
941
  this.$emit('confirminfo', param)
936
942
  this.IdCardInfo = {}
937
943
  }
@@ -0,0 +1,599 @@
1
+ <template>
2
+ <div style="background-color: #FFFFFF;">
3
+ <div class=" col-sm-12"
4
+ style="background-color: #FFFFFF;height: auto;border-radius: 8px">
5
+ <div style="position: relative;height: 34px;width:75%;margin: 30px auto 10px auto;">
6
+ <div class="inpGroup" v-if="isremark" style="position:absolute;left: 0px;">
7
+ <input v-model="headers.fremarks" style="width:70%" class="input_search" placeholder="文件说明"/>
8
+ </div>
9
+ <div style="position:absolute;right:10%;">
10
+ <button class="button_search btn-gn" @click="upload()" v-show="!takeimg" >拍照</button>
11
+ <button class="button_search btn-gn" @click="fileUpload()" v-show="!isupload" >审核资料上传</button>
12
+ </div>
13
+ <high-meter :show.sync="showhighmeter" @photo-finish="newPhoto" v-if="showhighmeter" v-on:confirminfo="confirmIdCard"></high-meter>
14
+ <div v-if="isusetype">
15
+ <v-select class="inp_button2" type="button" placeholder="使用类型" :options="foptions"
16
+ :value.sync="useType" v-model="useType"></v-select>
17
+ </div>
18
+ </div>
19
+ <hr style="width: 90%;margin: 0px auto;border: #999999 1px solid;margin-top: 20px"/>
20
+ <div class="showList col-sm-12" style="padding: 10px;margin-top: 20px">
21
+ <div :class="cols ? cols : 'col-sm-6'" style="padding:10px 10px 0px 10px;height: auto;box-sizing: border-box"
22
+ v-for="row in fileInfoData">
23
+ <div class="showData">
24
+ <div class="left">
25
+ <a href="#" class="thumbnail" style="width:100%;height:100%" >
26
+ <img v-if="(row.f_filetype.toLowerCase()==='jpg'||row.f_filetype.toLowerCase()==='png'||row.f_filetype.toLowerCase()==='gif'||row.f_filetype.toLowerCase()==='bmp')&&!rotating" :src="row.f_downloadURL" alt="..."/>
27
+ <img-self v-if="(row.f_filetype.toLowerCase()==='jpg'||row.f_filetype.toLowerCase()==='png'||row.f_filetype.toLowerCase()==='gif'||row.f_filetype.toLowerCase()==='bmp')&&rotating" :width="width?width:60" :height="height?height:60" :src="row.f_downloadURL" alt="..."></img-self>
28
+ <img v-if="row.f_filetype.toLowerCase()==='pdf'" src="../../../static/mainicon/pdf.jpg" alt="" style="width:66%"/>
29
+ <img-self v-if="row.f_filetype.toLowerCase()==='pdf'&&rotating" :width="width?width:60" :height="height?height:60" src="../../../static/mainicon/pdf.jpg" alt="..."></img-self>
30
+ <img v-if="row.f_filetype.toLowerCase()==='xls'||row.f_filetype.toLowerCase()==='xlsx'" src="../../../static/mainicon/excel.jpg" alt="" style="width:66%"/>
31
+ <img-self v-if="row.f_filetype.toLowerCase()==='xls'||row.f_filetype.toLowerCase()==='xlsx'&&rotating" :width="width?width:60" :height="height?height:60" src="../../../static/mainicon/excel.jpg" alt="..."></img-self>
32
+ <img v-if="row.f_filetype.toLowerCase()==='doc'||row.f_filetype.toLowerCase()==='docx'" src="../../../static/mainicon/doc.jpg" alt="" style="width:66%"/>
33
+ <img-self v-if="row.f_filetype.toLowerCase()==='doc'||row.f_filetype.toLowerCase()==='docx'&&rotating" :width="width?width:60" :height="height?height:60" src="../../../static/mainicon/doc.jpg" alt="..."></img-self>
34
+ </a>
35
+ </div>
36
+ <div class="right">
37
+ <p :title="row.f_uploaddate" class="top clears"><strong>上传时间</strong>:&nbsp;<span>{{row.f_uploaddate}}</span></p>
38
+ <p :title="row.f_username" class="top clears"><strong>操作员</strong>:&nbsp;<span>{{row.f_username}}</span></p>
39
+ <p :title="row.f_filename" class="top clears"><strong>文件名</strong>:&nbsp;{{row.f_filename}}</p>
40
+ <p :title="row.fremarks" class="top clears"><strong>文件说明</strong>:&nbsp;{{row.fremarks}}</p>
41
+ <p>
42
+ <a v-if="row.f_filetype.toLowerCase()==='jpg'||row.f_filetype.toLowerCase()==='png'||row.f_filetype.toLowerCase()==='gif'||row.f_filetype.toLowerCase()==='bmp'" :href="row.f_downloadURL" style="background:#6aa6e2" class="btn btn-primary" target="_blank" role="button">预览</a>
43
+ <button class="button_search btn-gn" v-if="row.f_filetype.toLowerCase()==='pdf'||row.f_filetype.toLowerCase()==='xls'||row.f_filetype.toLowerCase()==='xlsx'||row.f_filetype.toLowerCase()==='doc'||row.f_filetype.toLowerCase()==='docx'" @click="downloadfile(row.f_downloadURL)" >下载</button>
44
+ <a v-if="isDelete == '1'" @click="delet($index,row)" href="#" class="btn btn-default" role="button">删除</a>
45
+ </p>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ </div>
51
+ <modal :show.sync="showUpload" styles="border-radius:20px;margin-top:300px" v-ref:modal backdrop="false" :width="700" >
52
+ <header slot="modal-header" class="modal-header">
53
+ <button type="button" class="close" @click="close"><span class="glyphicon glyphicon-remove"></span></button>
54
+ <h4 class="modal-title" style="text-align: center">文件上传</h4>
55
+ </header>
56
+ <article slot="modal-body" class="modal-body">
57
+ <div class="form-group">
58
+ <file-upload style="margin-left:100px;padding-top:20px" class="my-file-uploader" :name="'myFile' + blodid"
59
+ action="rs/file/uploadFile" tagname="文件上传" :headers="headers" multiple v-ref:file></file-upload>
60
+ </div>
61
+ </article>
62
+ <footer slot="modal-footer" class="modal-footer">
63
+ </footer>
64
+ </modal>
65
+ </div>
66
+ </template>
67
+ <script>
68
+ import { HttpResetClass } from 'vue-client'
69
+ //import HttpResetClass from '../plugins/HttpResetClass'
70
+ import Vue from "vue";
71
+
72
+ export default {
73
+ title: "附件",
74
+ props: ['blodid','businessid','isremark', 'isusetype','takeimg','defname','isupload','fusetype','cols','width','height'],
75
+ data() {
76
+ return {
77
+ isDelete: '0', // 删除按钮,可以进行控制(权限等)
78
+ fileInfoData: [], // 数据库存储的文件记录对象数组
79
+ headers: {'username': this.$login.f.name, 'blodid': '','businessid':'', 'fremarks': '','defname':'','fusetype':this.fusetype?this.fusetype:''}, // 调用rs/file/uploadFile 的参数
80
+ showUpload: false, // 上传模态框控制
81
+ showhighmeter: false, // 高拍仪组件控制
82
+ useType: '', // 使用类型
83
+ fileRemark: '', // 文件说明
84
+ rotating: this.$appdata.getSingleValue('图片附加功能') // 文件是否旋转
85
+ }
86
+ },
87
+ methods: {
88
+ confirmIdCard (IdCardInfo) {
89
+ this.showhighmeter = !this.showhighmeter
90
+ console.log(IdCardInfo)
91
+ if(IdCardInfo && IdCardInfo.strID){
92
+ this.$emit('confirminfo', IdCardInfo)
93
+ }
94
+ },
95
+ // 查询按钮事件
96
+ delet(index, row) {
97
+ this.$resetdelete('rs/entity/t_files', {id: row.id}, {resolveMsg: '删除成功', rejectMsg: '删除失败'}).then((res) => {
98
+ this.$dispatch("delResid",row.id)
99
+ this.fileInfoData.splice(index, 1)
100
+ })
101
+ },
102
+ downloadfile(filepath){
103
+
104
+ var link = document.createElement('a');
105
+ // let pathName = "http://" + location.host + filepath;
106
+ link.href = filepath;
107
+ link.target='_blank'
108
+ link.dispatchEvent(new MouseEvent('click'));
109
+ },
110
+ GetRequest() {
111
+ var url = location.search;
112
+ var theRequest = new Object();
113
+ if (url.indexOf("?") != -1) {
114
+ var str = url.substr(1);
115
+ let strs = str.split("&");
116
+ for (var i = 0; i < strs.length; i++) {
117
+ theRequest[strs[i].split("=")[0]] = decodeURIComponent(strs[i].split("=")[1]);
118
+ }
119
+ }
120
+ return theRequest;
121
+ },
122
+ upload() {
123
+
124
+ if(this.showhighmeter){
125
+ console.log(this,'测试')
126
+ this.$refs.ltgao.closeVideo()
127
+ }
128
+ console.log('测试1')
129
+ this.showhighmeter = !this.showhighmeter
130
+ },
131
+ async load(self) {
132
+ let condition=''
133
+ if(this.businessid){
134
+ condition = `f_businessid= '${self.headers.businessid}' `
135
+ }else{
136
+ condition = `f_blobid= '${self.headers.blodid}' `
137
+ }
138
+ if(this.fusetype){
139
+ condition += ` and fusetype like '%${this.fusetype}%'`
140
+ }
141
+ var http = new HttpResetClass()
142
+ let data = {
143
+ condition: condition
144
+ }
145
+ let getFile = []
146
+ try {
147
+ getFile = await http.load('POST', 'rs/sql/getFiles', {data: data}, {
148
+ warnMsg: null,
149
+ resolveMsg: null
150
+ })
151
+ } catch (e) {
152
+ console.log(e)
153
+ }
154
+ for (var i = 0; i < getFile.data.length; i++) {
155
+ // 如果使用类型包含导入字样,则是execl文件导入的,不做显示
156
+ if(getFile.data[i].fusetype&&(getFile.data[i].fusetype.includes('execl导入'))){
157
+ getFile.data.splice(i,1)
158
+ i--
159
+ continue
160
+ }
161
+ let temp = getFile.data[i].f_downloadpath
162
+ let URL = temp.substring(temp.lastIndexOf(":\\") + 2)
163
+ var xy=this.$appdata.getSingleValue('协议')?this.$appdata.getSingleValue('协议'):"http://"
164
+ getFile.data[i].f_downloadURL = xy+ location.host + "/" + URL
165
+ }
166
+ self.fileInfoData = []
167
+ self.fileInfoData = getFile.data
168
+ },
169
+ // 数据库时间格式化
170
+ formatdate(val) {
171
+ //20180914151603 : 2018-09-14 15:16:03
172
+ if (val.length != 14)
173
+ return
174
+ let year = val.substr(0, 4)
175
+ let month = val.substr(4, 2)
176
+ let day = val.substr(6, 2)
177
+ let hour = val.substr(8, 2)
178
+ let min = val.substr(10, 2)
179
+ let second = val.substr(12, 2)
180
+ return year + '-' + month + '-' + day + ' ' + hour + ':' + min + ':' + second
181
+ },
182
+ // 打开文件上传对话框
183
+ fileUpload() {
184
+ this.showUpload = true
185
+ },
186
+ // 关闭文件上传对话框
187
+ close() {
188
+ this.showUpload = false
189
+ // 将选的文件清空
190
+ this.$refs.file.$el.querySelector('input').value = ''
191
+ this.load(this)
192
+ },
193
+ convertBase64ToBlob(base64String) {
194
+ // 将base64解码
195
+ var bytes = atob(base64String);
196
+ //var bytes = base64;
197
+ var bytesCode = new ArrayBuffer(bytes.length);
198
+ // 转换为类型化数组
199
+ var byteArray = new Uint8Array(bytesCode);
200
+
201
+ // 将base64转换为ascii码
202
+ for (var i = 0; i < bytes.length; i++) {
203
+ byteArray[i] = bytes.charCodeAt(i);
204
+ }
205
+ // 生成Blob对象(文件对象)
206
+ return new Blob([bytesCode], {type: 'image/jpeg'});
207
+ },
208
+ newPhoto(Imgbase64) {
209
+ let form = new FormData()
210
+ let xhr = new XMLHttpRequest()
211
+ let formDataBoundary = "----WebkitFormBoundary" + "GaoPaiYi";
212
+ form.append('Content-Type', 'multipart/form-data;boundary=' + formDataBoundary)
213
+ form.append('file', this.convertBase64ToBlob(Imgbase64), "GaoPaiYi.jpg")
214
+ xhr.open("POST", "rs/file/uploadFile")
215
+
216
+ if (this.headers) {
217
+ for (var header in this.headers) {
218
+ xhr.setRequestHeader(header, encodeURIComponent(this.headers[header]))
219
+ }
220
+ }
221
+ if (Vue.$login && Vue.$login.jwt) {
222
+ xhr.setRequestHeader('Authorization', 'Bearer ' + Vue.$login.jwtNew)
223
+ xhr.setRequestHeader('Token', Vue.$login.jwt)
224
+ }
225
+ xhr.send(form)
226
+ setTimeout(() => {
227
+ this.load(this)
228
+ }, 5000)
229
+ }
230
+ },
231
+ ready() {
232
+ if (this.$login.r.find(value => value == '上传附件删除')) {
233
+ // 有删除权限
234
+ this.isDelete = '1'
235
+ }
236
+ this.headers.blodid = this.blodid
237
+ this.headers.businessid = this.businessid
238
+ console.log('123222', this.businessid)
239
+ if (this.blodid||this.businessid) {
240
+ this.load(this)
241
+ }
242
+ },
243
+ watch: {
244
+ 'blodid'(val) {
245
+ if (val) {
246
+ console.log('观察blodid', val)
247
+ this.headers.blodid = this.blodid
248
+ this.load(this)
249
+ }
250
+ },
251
+ 'businessid'(val) {
252
+ console.log('观察businessid')
253
+ if (val) {
254
+ console.log('观察businessid', val)
255
+ this.headers.businessid = this.businessid
256
+ this.load(this)
257
+ }
258
+ },
259
+ 'useType'() {
260
+ this.headers.fusetype = this.useType[0] ? this.useType[0] : ''
261
+ },
262
+ 'defname'() {
263
+ this.headers.defname=this.defname
264
+ }
265
+ },
266
+ computed: {
267
+ foptions() {
268
+ return this.$appdata.getParam('使用类型')
269
+ },
270
+ },
271
+ events: {
272
+ onFileUpload: function (file, res) {
273
+ console.log("上传完毕",res)
274
+ this.$dispatch("resid",res.id)
275
+ this.headers.fremarks=''
276
+ this.close()
277
+ }
278
+ }
279
+ }
280
+ </script>
281
+ <style scoped>
282
+
283
+ * {
284
+ padding: 0px;
285
+ margin: 0px;
286
+ }
287
+
288
+ .inpGroup {
289
+ position: absolute;
290
+ left: 0px;
291
+ right: 220px;
292
+ font-family: "微软雅黑";
293
+ }
294
+
295
+ .navWin {
296
+ position: relative;
297
+ }
298
+
299
+ .navWin .navShow {
300
+ margin-top: 5px;
301
+ height: 34px;
302
+ font-size: 20px;
303
+ line-height: 34px;
304
+ color: rgb(180, 180, 180);
305
+ }
306
+
307
+ .navWin .navShow span {
308
+ display: inline-block;
309
+ height: 34px;
310
+ }
311
+
312
+ .navWin .navShow .icon {
313
+ height: 34px;
314
+ margin-right: 10px;
315
+ color: rgb(200, 200, 200);
316
+ }
317
+
318
+ .navWin .navList {
319
+ position: absolute;
320
+ width: 100%;
321
+ z-index: 99;
322
+ list-style: none;
323
+ background-color: rgba(241, 241, 241, 0.9);
324
+ line-height: 34px;
325
+ color: #8d8d8d;
326
+ visibility: hidden;
327
+ }
328
+
329
+ .navWin:hover .navList {
330
+ visibility: visible;
331
+ }
332
+
333
+ .navWin .navList li {
334
+ font-size: 18px;
335
+ padding-left: 30px;
336
+ }
337
+
338
+ .navWin .navList li:hover {
339
+ background-color: rgba(220, 220, 220, 0.9);
340
+ }
341
+
342
+ .inp {
343
+ box-sizing: border-box;
344
+ width: 79%;
345
+ padding: 0px 10px;
346
+ height: 34px;
347
+ font-size: 14px;
348
+ line-height: 36px;
349
+ color: #999999;
350
+ border: solid 1px #c1c1c1;
351
+ border-radius: 2px;
352
+ background: none;
353
+ outline: none;
354
+ }
355
+
356
+ .inp::-webkit-input-placeholder {
357
+ color: #999999;
358
+ }
359
+
360
+ .inp_button {
361
+ float: right;
362
+ margin-left: 10px;
363
+ /* position: absolute;
364
+ right: 35px;
365
+ height: 40px;*/
366
+ width: 100px;
367
+ font-size: 14px;
368
+ line-height: 34px;
369
+ color: #ffffff;
370
+ text-align: center;
371
+ background-color: rgb(90, 180, 90);
372
+ border-radius: 4px;
373
+ cursor: pointer;
374
+ }
375
+
376
+ .btn-group {
377
+ height: 34px;
378
+ }
379
+
380
+ .inp_button2 {
381
+ float: right;
382
+ margin-left: 10px;
383
+ /* position: absolute;
384
+ right: 35px;
385
+ height: 40px;*/
386
+ width: auto;
387
+ font-size: 16px;
388
+ line-height: 34px;
389
+ color: #ffffff;
390
+ text-align: center;
391
+ border-radius: 4px;
392
+ cursor: pointer;
393
+ }
394
+
395
+ .inp_button:hover {
396
+ /*background-color: rgb(80, 150, 80);*/
397
+ }
398
+
399
+ .inp_button:active {
400
+ font-size: 20px;
401
+ /*background-color: rgb(150, 200, 150);*/
402
+ }
403
+
404
+ .showData {
405
+ height: auto;
406
+ position: relative;
407
+ padding-bottom: 7px;
408
+ border-bottom: solid 1px #c1c1c1;
409
+ font-family: "微软雅黑";
410
+ }
411
+
412
+ .showData .left {
413
+ height: 180px;
414
+ width: 210px;
415
+ background-color: rgb(240, 240, 240);
416
+ overflow: hidden;
417
+ line-height: 180px;
418
+ }
419
+
420
+ .showData .left img {
421
+ width: 100%;
422
+ height: auto;
423
+ }
424
+
425
+ .showData .right {
426
+ position: absolute;
427
+ top: 0px;
428
+ left: 220px;
429
+ right: 0px;
430
+ height: 180px;
431
+ }
432
+
433
+ .showData .right .top {
434
+ height: 30px;
435
+ line-height: 30px;
436
+ color: rgb(98, 98, 98);
437
+ }
438
+
439
+ .showData .right .top .topleft {
440
+ float: left;
441
+ font-size: 16px;
442
+ margin-right: 20px;
443
+ }
444
+
445
+ .showData .right .top .topright {
446
+ float: right;
447
+ margin-left: 20px;
448
+ }
449
+
450
+ .showData .right .text {
451
+ word-wrap: break-word;
452
+ overflow: hidden;
453
+ /*height: 100px;*/
454
+ color: #999999;
455
+ /*padding: 8px 0px;*/
456
+ }
457
+
458
+ .showData .right ul {
459
+ height: 20px;
460
+ padding: 0px;
461
+ margin: 0px;
462
+ font-size: 0px;
463
+ }
464
+
465
+ .showData .right ul li {
466
+ display: inline-block;
467
+ height: 20px;
468
+ list-style: none;
469
+ font-size: 16px;
470
+ line-height: 20px;
471
+ padding: 0px 7px;
472
+ margin-right: 10px;
473
+ cursor: pointer;
474
+ background-color: none;
475
+ font-weight: bold;
476
+ color: #006fa3;
477
+ }
478
+
479
+ .showData .right ul li:hover {
480
+ color: #006fb3;
481
+ }
482
+
483
+ .showData .right ul li:active {
484
+ color: #006fb3;
485
+ }
486
+
487
+ .showData .right ul li a {
488
+ width: 100%;
489
+ height: 100%;
490
+ text-decoration: none;
491
+ color: #FFFFFF;
492
+ }
493
+
494
+ body {
495
+ color: black;
496
+ }
497
+
498
+ .search {
499
+ width: 75%;
500
+ margin: 10px auto 30px auto;
501
+ }
502
+
503
+ .search .searchAll {
504
+ height: 34px;
505
+ font-size: 18px;
506
+ color: #999999;
507
+ line-height: 34px;
508
+ }
509
+
510
+ .search .searchAll span {
511
+ display: inline-block;
512
+ width: 15px;
513
+ height: 15px;
514
+ border: #999999 1px solid;
515
+ position: relative;
516
+ top: 2px;
517
+ }
518
+
519
+ .search .searchAll .spanAll {
520
+ background-color: rgb(90, 180, 90);
521
+ }
522
+
523
+ .search .itemList {
524
+ font-size: 16px;
525
+ color: #999999;
526
+ line-height: 34px;
527
+ }
528
+
529
+ .search .itemList .item {
530
+ height: 34px;
531
+ position: relative;
532
+ }
533
+
534
+ .search .itemList .item .descript {
535
+ display: inline-block;
536
+ width: 80px;
537
+ }
538
+
539
+ .search .itemList .item .inputBox {
540
+ height: 30px;
541
+ position: absolute;
542
+ top: 0px;
543
+ left: 80px;
544
+ right: 20px;
545
+ }
546
+
547
+ .search .itemList .item .inputBox input {
548
+ width: 100%;
549
+ height: 100%;
550
+ outline: none;
551
+ padding: 0px 5px;
552
+ }
553
+
554
+ .search .itemList .item .inputBox input::-webkit-input-placeholder {
555
+ color: #999999;
556
+ }
557
+
558
+ .searchItem {
559
+ height: 30px;
560
+ position: absolute;
561
+ top: 0px;
562
+ left: 80px;
563
+ right: 20px;
564
+ }
565
+
566
+ .searchItem .show {
567
+ padding-left: 10px;
568
+ }
569
+
570
+ .searchItem ul {
571
+ position: relative;
572
+ list-style: none;
573
+ background-color: none;
574
+ font-weight: bold;
575
+ color: #006fa3;
576
+
577
+ z-index: 99;
578
+ visibility: hidden;
579
+ }
580
+
581
+ .searchItem ul li {
582
+ padding-left: 10px;
583
+ }
584
+
585
+ .searchItem:hover ul {
586
+ visibility: visible;
587
+ }
588
+
589
+ .searchItem ul li:hover {
590
+ color: #006fb1;
591
+ }
592
+ .clears{
593
+ overflow:hidden;
594
+
595
+    text-overflow:ellipsis;
596
+
597
+    white-space:nowrap;
598
+ }
599
+ </style>
@@ -18,6 +18,7 @@ export default function () {
18
18
  // 机表抄表
19
19
  Vue.component('high-meter', (resolve) => { require(['./HighMeterCard'], resolve) })
20
20
  Vue.component('upload-idcard', (resolve) => { require(['./UploadIdCard'], resolve) })
21
+ Vue.component('upload', (resolve) => { require(['./Upload'], resolve) })
21
22
  // 换表
22
23
  Vue.component('change-meter', (resolve) => { require(['./revenue/newchangemeter/ChangeMeter'], resolve) })
23
24
  // 清零
@@ -581,7 +581,7 @@ export default {
581
581
  },
582
582
  methods: {
583
583
  downloadFiles () {
584
- let downurl = 'rs/downloadfile/file?filename=卡表批量抄表导入模板'
584
+ let downurl = 'rs/downloadfile/file?filename=闻喜卡表批量抄表导入模板'
585
585
  this.$downFile(downurl,'卡表批量抄表导入模板.xlsx')
586
586
  },
587
587
  hidden () {
Binary file
Binary file