From de4c8dc172fe0721d08b51e66d824b19d9c1e8fd Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期六, 31 十二月 2022 00:29:02 +0800
Subject: [PATCH] 修改前端页面
---
src/components/page/invoice/invoiceForm.vue | 287 ++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 231 insertions(+), 56 deletions(-)
diff --git a/src/components/page/invoice/invoiceForm.vue b/src/components/page/invoice/invoiceForm.vue
index 9082842..001096d 100644
--- a/src/components/page/invoice/invoiceForm.vue
+++ b/src/components/page/invoice/invoiceForm.vue
@@ -2,45 +2,67 @@
<div class="invoiceForm-wrap">
<div class="title">璁㈠崟鍙戠エ</div>
<div class="invoiceForm-main">
- <div>
- <el-checkbox
- v-model="item.isShow"
- :label="item.isShow"
- class="invoiceForm-block"
- v-for="(item,index) in invoiceData"
- :key="index"
- @change="handleCheckedCitiesChange(invoiceData)">
- <div>
- <div class="invoiceForm-content">
+ <div class="invoiceForm-main-inside">
+ <div class="invoice-date-box">
+ <el-date-picker
+ :editable="false"
+ format="yyyy-MM"
+ value-format="yyyy-MM"
+ v-model="date"
+ type="month"
+ @change="changeDate"
+ placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
+ </div>
+ <van-list
+ v-model="loading"
+ :finished="finished"
+ finished-text="娌℃湁鏇村浜�"
+ :offset="50"
+ :immediate-check="false"
+ @load="onLoad"
+ >
- <svg class="iconSvg" style="font-size: 12px" aria-hidden="true">
- <use xlink:href="#icon-shijian3"></use>
- </svg>
- {{item.enterTime}}
- </div>
- <div class="invoiceForm-content">
+ <div v-for="(item,index) in invoiceData" :key="index">
+ <el-checkbox
+ v-model="item.isShow"
+ class="invoiceForm-block"
+ @change="handleCheckedCitiesChange(invoiceData)">
+ <div>
+ <div class="invoiceForm-content">
- <svg class="iconSvg" style="font-size: 12px" aria-hidden="true">
- <use xlink:href="#icon-shijian3"></use>
- </svg>
- {{item.outTime}}
- </div>
- <div class="invoiceForm-content">
- <svg class="iconSvg" style="font-size: 12px" aria-hidden="true">
- <use xlink:href="#icon-dizhi1"></use>
- </svg>
- {{item.address}}
- </div>
+ <svg class="iconSvg" style="font-size: 12px" aria-hidden="true">
+ <use xlink:href="#icon-shijian3"></use>
+ </svg>
+ {{item.enterTime}}
+ </div>
+ <div class="invoiceForm-content">
+
+ <svg class="iconSvg" style="font-size: 12px" aria-hidden="true">
+ <use xlink:href="#icon-shijian3"></use>
+ </svg>
+ {{item.outTime}}
+ </div>
+ <div class="invoiceForm-content">
+ <svg class="iconSvg" style="font-size: 12px" aria-hidden="true">
+ <use xlink:href="#icon-dizhi1"></use>
+ </svg>
+ {{item.address}}
+ </div>
+ </div>
+ <div class="money-main">
+ <h1 class="money-box">{{item.money}}<font class="money-small">鍏�</font></h1>
+ </div>
+ </el-checkbox>
</div>
- <div>
- <h1 class="money-box">{{item.money}}</h1>
- </div>
- </el-checkbox>
+ </van-list>
<div class="fapiao-btn">
<el-checkbox v-model="checkAll" @change="handleCheckAllChange">鍏ㄩ��</el-checkbox>
- <el-button size="mini" @click="seeInvoice">涓嬭浇鍙戠エ</el-button>
+ <div class="fapiao-right">
+ <span class="money">閲戦锛�<font class="big">{{countMoney}}</font>鍏�</span>
+ <el-button size="mini" @click="seeInvoice">涓嬭浇鍙戠エ</el-button>
+ </div>
</div>
-
</div>
</div>
@@ -48,58 +70,173 @@
</template>
<script>
+ import { List } from 'vant';
export default {
name: "invoiceForm",
+ components: {
+ vanList: List
+ },
data() {
return {
+ date:'',
checkedInvoices: [1,2],
invoiceData:[],
checkAll:false,
-
+ loading: false,
+ finished: false,
+ current:1,
+ size:8,
+ total:'',
+ filedId: [],
+ countMoney:0
}
},
+ created() {
+ this.date = this.$byutil.dateFormat(new Date(), "yyyy-MM");
+ },
mounted() {
- console.log(this.$route,'$route======$route')
this.getByCarNo()
},
methods: {
+ onLoad() {
+ this.loading = true
+ this.current += 1
+ this.getByCarNo()
+
+ },
getByCarNo() {
+ this.invoiceData = []
let url = this.$systemconfig.basePath + '/orderrecord/getByCarNo';
- // let params = {
- // carNo: this.$route.query.carNo
- // }
- this.$byutil.postData(this,url,{carNo: this.$route.query.carNo},
- res => {
- this.invoiceData = res.data
- console.log(this.invoiceData,'invoiceData====')
+ let params = {
+ carNo: this.$route.query.carNo,
+ phone: this.$route.query.phone,
+ current: this.current,
+ size: this.size,
+ month: this.date
+ }
+ this.$byutil.postData(this,url,params,res => {
+ let row = res.data.records
+ row.forEach(e=>{
+ this.$set(e,'isShow',false)
+ })
+ this.total = res.data.total
+ if(row == null) {
+ this.finished = true
+ return
+ }else {
+ this.loading = false
+ this.invoiceData = [...this.invoiceData,...row]
+ this.invoiceData.length >= this.total ? (this.finished = true) : (this.finished = false)
+ }
+
})
},
handleCheckAllChange(val) {
- console.log(val,'val========')
+ this.filedId = []
let ids = []
+ this.countMoney = 0
this.invoiceData.forEach(item => {
- ids.push(item.id)
+ ids.push(item.fileId)
item.isShow = val
+ this.countMoney += item.money
+ this.filedId.push(item.fileId)
})
- console.log(this.invoiceData,'this.invoiceData======')
},
handleCheckedCitiesChange(value) {
- console.log(value,'value===')
+ this.filedId = []
+ this.countMoney = 0
let checkedCount = value.length;
let ids = value.filter(item => {
return item.isShow == true
})
- console.log(ids,'ids========')
+
+ if(ids.length > 0) {
+ ids.forEach(item => {
+ this.countMoney += item.money
+ this.filedId.push(item.fileId)
+ })
+ }
this.checkAll = checkedCount === ids.length;
},
seeInvoice() { //鏌ョ湅鍙戠エ
- }
+ if(this.filedId.length == 0){
+ alert("璇疯嚦灏戦�夋嫨涓�椤�")
+ }else {
+ let result = this.filedId.join(",")
+ let url = this.$systemconfig.basePath + '/fileInfo/download/downloadZips';
+ let param = {
+ fileIds : result
+ }
+ this.$byutil.postData(this,url,param,res => {
+
+ })
+ }
+ },
+ changeDate(){
+ this.getByCarNo();
+ }
}
}
</script>
+<style lang="scss">
+ .fapiao-btn{
+ .el-checkbox{
+ width: 100px!important;
+
+ }
+ }
+ .invoice-date-box{
+ .el-input__prefix{
+ left: 21vw /* 10/7.5 */!important;
+ top: 2.4vw;
+ }
+ .el-input__inner{
+ border: none!important;
+ color: #303030;
+ font-size: 3.73vw /* 28/7.5 */;
+ font-weight: 500;
+ }
+ .el-icon-date:before{
+ background: url("../../../assets/images/down1.png") no-repeat center;
+ background-size: 100% 100%;
+ width: 2.67vw /* 20/7.5 */;
+ height: 2.67vw /* 20/7.5 */;
+ content: '';
+ display: block;
+ }
+ input::-webkit-input-placeholder{ /*WebKit browsers*/
+ color: #303030;
+ font-size: 3.73vw /* 28/7.5 */;
+ font-weight: 500;
+ }
+ .el-input--prefix .el-input__inner{
+ padding-left: 2.67vw /* 20/7.5 */;
+ }
+ .el-icon-circle-close:before{
+ content: '';
+ }
+ }
+
+</style>
<style lang="scss" scoped>
+ *{
+ font-family: '鑻规柟';
+ color: #626262;
+ }
::v-deep{
+ .el-checkbox__input.is-checked+.el-checkbox__label{
+ color: #606266;
+ }
+ .el-checkbox__inner{
+ width: 4vw /* 30/7.5 */;
+ height: 4vw /* 30/7.5 */;
+ border-radius: 50%;
+
+ }
+ .el-checkbox__inner:hover{
+ border: 1px solid #DCDFE6;
+ }
.el-checkbox{
width: 100%;
display: flex;
@@ -110,6 +247,10 @@
display: flex;
justify-content: space-between;
align-items: center;
+ }
+ .el-checkbox__inner::after{
+ left: 5px;
+ top: 2px;
}
}
.iconSvg{
@@ -131,33 +272,67 @@
}
.invoiceForm-main{
width: 100%;
- padding: 0 1.33vw /* 10/7.5 */ 1.33vw /* 10/7.5 */ 1.33vw /* 10/7.5 */;
box-sizing: border-box;
- //background: #fff;
+ height: calc(100% - 11.73vw);
+ .invoiceForm-main-inside{
+ padding-bottom: 8vw /* 60/7.5 */;
+ .invoice-date-box{
+ background-color: #fff;
+ padding:1.33vw /* 10/7.5 */ 2.67vw /* 20/7.5 */;
+ display: flex;
+ border-bottom: 1px solid #f5f5f5;
+ }
+ }
+
}
.invoiceForm-content{
font-size: 3.73vw /* 28/7.5 */;
- line-height: 1.5;
+ line-height: 1.8;
}
.invoiceForm-block{
border-bottom: 1px solid #e5e5e5;
- padding:4vw /* 30/7.5 */ 2.67vw /* 20/7.5 */;
+ padding:4vw /* 30/7.5 */;
background-color: #fff;
- margin-top:2.13vw /* 16/7.5 */;
}
.fapiao-btn{
position: fixed;
bottom: 0;
left: 0;
- padding:1.33vw /* 10/7.5 */ 2.67vw /* 20/7.5 */;
+ padding:1.87vw /* 14/7.5 */ 2.67vw /* 20/7.5 */;
width: 100%;
display: flex;
background: #fafafa;
border-top: 1px solid #e5e5e5;
+ z-index: 9;
+ justify-content: space-between;
+ .fapiao-right{
+ display: flex;
+ }
+ .money{
+ display: flex;
+ align-self: center;
+ justify-content: center;
+ font-size: 3.73vw /* 28/7.5 */;
+ align-items: baseline;
+ margin-right: 4vw /* 30/7.5 */;
+ .big{
+ font-size: 4.8vw /* 36/7.5 */;
+ color: #dd894b;
+ }
+ }
+ }
+ .money-main{
+ align-self: flex-start;
+ line-height: 1.2;
}
.money-box{
- font-size: 4.8vw /* 36/7.5 */;
-
+ font-size: 6.4vw /* 48/7.5 */;
+ font-weight: normal;
+ font-family: '鑻规柟';
+ color: #343434;
+ }
+ .money-small{
+ font-size: 3.2vw /* 24/7.5 */;
}
}
</style>
--
Gitblit v1.9.1