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.
- package/build/dev-server.js +7 -10
- package/package.json +1 -1
- package/src/components/charge/business/IOTMeterCenter.vue +7 -5
- package/src/components/revenue/changeInsurance/InsuranceChargesDetails.vue +57 -1
- package/src/components/revenue/comprehen/ComprehenOperation/ChangeAccount/TransferManage.vue +8 -1
- package/src/filiale/shanxian/components/revenue/InsuranceChargesDetails.vue +18 -0
- package/src/filiale/shexian/HighMeterCard.vue +8 -2
- package/src/filiale/shexian/Upload.vue +599 -0
- package/src/filiale/shexian/sale.js +1 -0
- package/src/filiale/wenxi/cardsHand.vue +1 -1
- package/static/mainicon/doc.jpg +0 -0
- package/static/mainicon/pdf.jpg +0 -0
package/build/dev-server.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var path = require('path')
|
|
2
|
-
const [ serverRul, localUrl ] = ['http://
|
|
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:
|
|
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:
|
|
76
|
+
target: 'http://127.0.0.1:8080'
|
|
83
77
|
},
|
|
84
78
|
'/rs/sql': {
|
|
85
|
-
target:
|
|
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
|
@@ -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
|
|
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
|
-
|
|
748
|
-
|
|
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">险 种</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: '',
|
package/src/components/revenue/comprehen/ComprehenOperation/ChangeAccount/TransferManage.vue
CHANGED
|
@@ -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>: <span>{{row.f_uploaddate}}</span></p>
|
|
38
|
+
<p :title="row.f_username" class="top clears"><strong>操作员</strong>: <span>{{row.f_username}}</span></p>
|
|
39
|
+
<p :title="row.f_filename" class="top clears"><strong>文件名</strong>: {{row.f_filename}}</p>
|
|
40
|
+
<p :title="row.fremarks" class="top clears"><strong>文件说明</strong>: {{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
|