57a97faf by 杨炀

no message

1 parent af423e2b
1 <template> 1 <template>
2 <view class="page"> 2 <view class="page">
3 <view class="uni-margin-wrap"> 3 <view class="uni-margin-wrap">
4 <!-- <view class="logobox">
5 <image class="logo" :src="venue.venueLogo"></image>
6 <text>{{venue.venueName}}</text>
7 </view> -->
8
9 <swiper class="swiper" circular :indicator-dots="indicatorDots" :autoplay="autoplay" :interval="interval" 4 <swiper class="swiper" circular :indicator-dots="indicatorDots" :autoplay="autoplay" :interval="interval"
10 :duration="duration" indicator-color="rgba(255,255,255,0.6)" indicator-active-color="#fff"> 5 :duration="duration" indicator-color="rgba(255,255,255,0.6)" indicator-active-color="#fff">
11 <!-- <swiper-item v-for="(p, index) in venue.venuePicArr" :key="index"> 6 <!-- <swiper-item v-for="(p, index) in venue.venuePicArr" :key="index">
......
1 <template> 1 <template>
2 <view> 2 <view>
3 <!-- 发票开具 --> 3 <!-- 发票开具 -->
4 <view v-if="isEdit"> 4 <!-- <view v-if="isEdit">
5 <view> 5 <view>
6 <view class="billItem" v-for="b in list" :key="b.id"> 6 <view class="billItem" v-for="b in list" :key="b.id">
7 <view class="name"> 7 <view class="name">
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
12 <label v-if="b.orderType==0" class="blueTag"> 培训订单</label> 12 <label v-if="b.orderType==0" class="blueTag"> 培训订单</label>
13 <label v-if="b.orderType==1" class="purpleTag"> 住宿订单</label> 13 <label v-if="b.orderType==1" class="purpleTag"> 住宿订单</label>
14 <label v-if="b.orderType==2" class="orangeTag">餐饮订单</label> 14 <label v-if="b.orderType==2" class="orangeTag">餐饮订单</label>
15 订单编号:{{ b.id }} 15 订单编号:{{ b.id }}
16 </view> 16 </view>
17 <view class="pp" v-if="b.orderType==1">地点:{{b.address}}</view> 17 <view class="pp" v-if="b.orderType==1">地点:{{b.address}}</view>
18 <view class="pp" v-if="b.orderType==1">房间号:{{b.roomNum||'--'}}</view> 18 <view class="pp" v-if="b.orderType==1">房间号:{{b.roomNum||'--'}}</view>
...@@ -26,12 +26,12 @@ ...@@ -26,12 +26,12 @@
26 </view> 26 </view>
27 27
28 </view> 28 </view>
29 </view> 29 </view> -->
30 <view class="whiteItem"> 30 <view class="whiteItem">
31 <uni-forms> 31 <uni-forms>
32 <uni-forms-item label="开票金额"> 32 <!-- <uni-forms-item label="开票金额">
33 <text class="bigprice">¥{{totalMoney}}</text> 33 <text class="bigprice">¥{{totalMoney}}</text>
34 </uni-forms-item> 34 </uni-forms-item> -->
35 <uni-forms-item label="是否开具水单" required> 35 <uni-forms-item label="是否开具水单" required>
36 <uni-data-checkbox v-model="form.isReceipt" :localdata="typeSD" /> 36 <uni-data-checkbox v-model="form.isReceipt" :localdata="typeSD" />
37 </uni-forms-item> 37 </uni-forms-item>
...@@ -39,17 +39,18 @@ ...@@ -39,17 +39,18 @@
39 <uni-forms-item label="发票类型" required> 39 <uni-forms-item label="发票类型" required>
40 <uni-data-checkbox v-model="form.invoiceType" :localdata="type2" /> 40 <uni-data-checkbox v-model="form.invoiceType" :localdata="type2" />
41 </uni-forms-item> 41 </uni-forms-item>
42 <uni-forms-item label="发票抬头" required> 42 <uni-forms-item label="发票抬头" required>
43 <lin-select v-if="form.invoiceType==1" :list="companyList" :loading="companyloading" loading-text="数据加载中" value-key="bilName" max-height="180" 43 <!-- <lin-select v-if="form.invoiceType==1" :list="companyList" :loading="companyloading"
44 placeholder="请输入公司名称" @input="getComanyInfo" v-model="form.invoiceTitle"/> 44 loading-text="数据加载中" value-key="bilName" max-height="180" placeholder="请输入公司名称"
45 <uni-easyinput type="text" v-else v-model="form.invoiceTitle"></uni-easyinput> 45 @input="getComanyInfo" v-model="form.invoiceTitle" /> -->
46 <uni-easyinput type="text" v-model="form.invoiceTitle"></uni-easyinput>
46 </uni-forms-item> 47 </uni-forms-item>
47 <uni-forms-item label="税号" required v-if="form.invoiceType=='0'"> 48 <uni-forms-item label="税号" required v-if="form.invoiceType=='0'">
48 <uni-easyinput type="text" v-model="form.invoiceTfn"></uni-easyinput> 49 <uni-easyinput type="text" v-model="form.invoiceTfn"></uni-easyinput>
49 </uni-forms-item> 50 </uni-forms-item>
50 <view> 51 <view>
51 <uni-forms-item label="地址"> 52 <uni-forms-item label="邮箱" required>
52 <uni-easyinput type="text" v-model="form.invoiceAddress"></uni-easyinput> 53 <uni-easyinput type="email" v-model="form.invoiceAddress" @blur="checkEmail"></uni-easyinput>
53 </uni-forms-item> 54 </uni-forms-item>
54 <uni-forms-item label="电话"> 55 <uni-forms-item label="电话">
55 <uni-easyinput type="text" v-model="form.invoicePhone"></uni-easyinput> 56 <uni-easyinput type="text" v-model="form.invoicePhone"></uni-easyinput>
...@@ -60,8 +61,8 @@ ...@@ -60,8 +61,8 @@
60 <uni-forms-item label="账户"> 61 <uni-forms-item label="账户">
61 <uni-easyinput type="text" v-model="form.invoiceAccount"></uni-easyinput> 62 <uni-easyinput type="text" v-model="form.invoiceAccount"></uni-easyinput>
62 </uni-forms-item> 63 </uni-forms-item>
63 </view> 64 </view>
64 65
65 </uni-forms> 66 </uni-forms>
66 </view> 67 </view>
67 68
...@@ -94,8 +95,8 @@ ...@@ -94,8 +95,8 @@
94 id: null, 95 id: null,
95 isEdit: false, 96 isEdit: false,
96 form: { 97 form: {
97 invoiceType: '0', 98 invoiceType: '0',
98 isReceipt:'0' 99 isReceipt: '0'
99 }, 100 },
100 detail: {}, 101 detail: {},
101 type: [{ 102 type: [{
...@@ -128,16 +129,17 @@ ...@@ -128,16 +129,17 @@
128 remarks: '', 129 remarks: '',
129 regionsList: [], 130 regionsList: [],
130 regionArr: [], 131 regionArr: [],
131 email: '', 132 email: '',
132 companyloading:false, 133 companyloading: false,
133 companyList:[] 134 companyList: []
134 }) 135 })
135 const { 136 const {
136 id, 137 id,
137 form, 138 form,
138 detail, 139 detail,
139 type, 140 type,
140 type2,typeSD, 141 type2,
142 typeSD,
141 totalMoney, 143 totalMoney,
142 list, 144 list,
143 isEdit, 145 isEdit,
...@@ -145,24 +147,25 @@ ...@@ -145,24 +147,25 @@
145 remarks, 147 remarks,
146 regionsList, 148 regionsList,
147 regionArr, 149 regionArr,
148 companyList,companyloading, 150 companyList,
151 companyloading,
149 email 152 email
150 } = toRefs(data); 153 } = toRefs(data);
151 let orders 154 let orders
152 let trainId 155 let trainId
153 let invoiceId 156 let invoiceId
154 onLoad(options => { 157 onLoad(options => {
155 console.log(options) 158 // console.log(options)
156 if (options.id) { 159 if (options.id) {
157 id.value = options.id 160 id.value = options.id
158 } 161 }
159 trainId = options.trainId 162 trainId = options.trainId
160 if (options.orders) { 163 // if (options.orders) {
161 orders = JSON.parse(decodeURIComponent(options.orders)); 164 // orders = JSON.parse(decodeURIComponent(options.orders));
162 } 165 // }
163 if (options.totalMoney) { 166 // if (options.totalMoney) {
164 totalMoney.value = options.totalMoney 167 // totalMoney.value = options.totalMoney
165 } 168 // }
166 if (options.remarks) { 169 if (options.remarks) {
167 remarks.value = JSON.parse(decodeURIComponent(options.remarks)); 170 remarks.value = JSON.parse(decodeURIComponent(options.remarks));
168 } 171 }
...@@ -179,47 +182,64 @@ ...@@ -179,47 +182,64 @@
179 }); 182 });
180 } 183 }
181 184
182 function getList() { 185 function checkEmail() {
183 companyloading.value = true 186 var yx = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/;
184 uni.showLoading({ 187
185 title:'加载中' 188 if (yx.test(form.value.invoiceAddress) == false) {
189 uni.showToast({
190 icon:'none',
191 title:'请输入正确的邮箱'
192 })
193 return false;
194 }
195
196 return true;
197 }
198
199 function getList() {
200 companyloading.value = true
201 uni.showLoading({
202 title: '加载中'
186 }) 203 })
187 hotel.getInvoiceDetailBills(invoiceId).then(res => { 204 // hotel.getInvoiceDetailBills(invoiceId).then(res => {
188 // 订单 205 // // 订单
189 list.value = res.data; 206 // list.value = res.data;
190 }); 207 // });
191 hotel.getInvoiceDetail(invoiceId).then(res => { 208 hotel.getInvoiceDetail(invoiceId).then(res => {
192 form.value = res.data 209 form.value = res.data
193 totalMoney.value = form.value.total 210 // totalMoney.value = form.value.total
194 companyloading.value = false 211 companyloading.value = false
195 uni.hideLoading() 212 uni.hideLoading()
196 213
197 }); 214 });
198 } 215 }
199 function getComanyInfo(){ 216
200 companyloading.value = true 217 function getComanyInfo() {
201 hotel.getComanyList({bilName:form.value.invoiceTitle}).then(res=>{ 218 companyloading.value = true
202 companyList.value = res.rows 219 hotel.getComanyList({
203 companyloading.value = false 220 bilName: form.value.invoiceTitle
204 221 }).then(res => {
205 if(companyList.value.length==1&&companyList.value[0].bilName == form.value.invoiceTitle){ 222 companyList.value = res.rows
206 uni.showLoading({ 223 companyloading.value = false
207 title:'加载中' 224
208 }) 225 if (companyList.value.length == 1 && companyList.value[0].bilName == form.value.invoiceTitle) {
209 form.value.invoiceAccount = companyList.value[0].account 226 uni.showLoading({
210 form.value.invoiceAddress = companyList.value[0].address 227 title: '加载中'
211 form.value.invoiceBank = companyList.value[0].bank 228 })
212 // form.value.bilCode = companyList.value[0].bilCode 229 form.value.invoiceAccount = companyList.value[0].account
213 // form.value.bilId = companyList.value[0].bilId 230 form.value.invoiceAddress = companyList.value[0].address
214 form.value.invoiceTfn = companyList.value[0].bilTfn 231 form.value.invoiceBank = companyList.value[0].bank
215 form.value.invoicePhone = companyList.value[0].mobile 232 // form.value.bilCode = companyList.value[0].bilCode
216 uni.hideLoading() 233 // form.value.bilId = companyList.value[0].bilId
217 } 234 form.value.invoiceTfn = companyList.value[0].bilTfn
218 }) 235 form.value.invoicePhone = companyList.value[0].mobile
236 uni.hideLoading()
237 }
238 })
219 } 239 }
220 240
221 function submit() { 241 function submit() {
222 form.value.total = totalMoney.value 242 // form.value.total = totalMoney.value
223 form.value.trainId = trainId 243 form.value.trainId = trainId
224 if (!form.value.invoiceTitle) { 244 if (!form.value.invoiceTitle) {
225 uni.showToast({ 245 uni.showToast({
...@@ -228,6 +248,13 @@ ...@@ -228,6 +248,13 @@
228 }) 248 })
229 return 249 return
230 } 250 }
251 if (!form.value.invoiceAddress) {
252 uni.showToast({
253 title: '请输入邮箱 ',
254 icon: 'none'
255 })
256 return
257 }
231 if (!form.value.invoiceTfn && form.value.invoiceType == '0') { 258 if (!form.value.invoiceTfn && form.value.invoiceType == '0') {
232 uni.showToast({ 259 uni.showToast({
233 title: '请完善税号 ', 260 title: '请完善税号 ',
...@@ -249,7 +276,7 @@ ...@@ -249,7 +276,7 @@
249 }) 276 })
250 }) 277 })
251 } else { 278 } else {
252 form.value.trainOrderInfoList = orders 279 // form.value.trainOrderInfoList = orders
253 uni.showLoading({ 280 uni.showLoading({
254 title: '提交中' 281 title: '提交中'
255 }); 282 });
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
24 </view> 24 </view>
25 </view> 25 </view>
26 26
27 <view class="whiteItem"> 27 <!-- <view class="whiteItem">
28 <view class="qbox"> 28 <view class="qbox">
29 <image class="m1" v-if="isApply == '0'" @click="goTrainForm" src="./img/btn01.png"></image> 29 <image class="m1" v-if="isApply == '0'" @click="goTrainForm" src="./img/btn01.png"></image>
30 <image class="m1" @click="goTrainForm" v-else style="filter: grayscale(1);" src="./img/btn01.png"> 30 <image class="m1" @click="goTrainForm" v-else style="filter: grayscale(1);" src="./img/btn01.png">
...@@ -32,12 +32,12 @@ ...@@ -32,12 +32,12 @@
32 <image class="m2" @click="goInfo(1)" src="./img/btn02.png"></image> 32 <image class="m2" @click="goInfo(1)" src="./img/btn02.png"></image>
33 <image class="m3" @click="goInfo(2)" src="./img/btn03.png"></image> 33 <image class="m3" @click="goInfo(2)" src="./img/btn03.png"></image>
34 </view> 34 </view>
35 </view> 35 </view> -->
36 <view class="whiteItem"> 36 <view class="whiteItem">
37 <view class="tt">其他事项</view> 37 <view class="tt">其他事项</view>
38 <view class="myList"> 38 <view class="myList">
39 <uni-list :border="false"> 39 <uni-list :border="false">
40 <uni-list-item :border="true" title="报名提醒" showArrow :clickable="true" @click="goIllustrate"> 40 <uni-list-item :border="true" title="信息提醒" showArrow :clickable="true" @click="goIllustrate">
41 <template v-slot:header> 41 <template v-slot:header>
42 <view class="slot-box"> 42 <view class="slot-box">
43 <image class="slot-image" src="./img/qt01.png" mode="widthFix"></image> 43 <image class="slot-image" src="./img/qt01.png" mode="widthFix"></image>
......
...@@ -10,14 +10,21 @@ ...@@ -10,14 +10,21 @@
10 申请日期: 10 申请日期:
11 {{ b.createTime }} 11 {{ b.createTime }}
12 </view> 12 </view>
13 <view style="display: flex;justify-content: space-between;"> 13 <view>
14 发票抬头:{{b.invoiceTitle}}
15 </view>
16 <view>
17 邮箱:{{b.invoiceAddress}}
18 </view>
19
20 <!-- <view style="display: flex;justify-content: space-between;">
14 <view> 发票形式 - 21 <view> 发票形式 -
15 <text v-if="b.invoiceForm=='1'">电子发票</text> 22 <text v-if="b.invoiceForm=='1'">电子发票</text>
16 <text v-if="b.invoiceForm=='2'">纸质普票</text> 23 <text v-if="b.invoiceForm=='2'">纸质普票</text>
17 <text v-if="b.invoiceForm=='3'">纸质专票</text> 24 <text v-if="b.invoiceForm=='3'">纸质专票</text>
18 </view> 25 </view>
19 <view>¥ <text>{{b.total}}</text></view> 26 <view>¥ <text>{{b.total}}</text></view>
20 </view> 27 </view> -->
21 <view style="margin: 20rpx 0 0;display: flex;justify-content: space-between;"> 28 <view style="margin: 20rpx 0 0;display: flex;justify-content: space-between;">
22 <view class="status"> 29 <view class="status">
23 <view class="success" v-if="b.isInvoice == '1'"> 已开票</view> 30 <view class="success" v-if="b.isInvoice == '1'"> 已开票</view>
...@@ -43,9 +50,10 @@ ...@@ -43,9 +50,10 @@
43 </view> 50 </view>
44 </view> 51 </view>
45 52
46 <view class="fixedBtn" @click="goAdd"> 53 <view class="fixedBtn" @click="goAdd" v-if="list.length==0">
47 <image class="iconkp" src="./img/kp.png"/> 54 <image class="iconkp" src="./img/kp.png"/>
48 开发票 </view> 55 开发票
56 </view>
49 57
50 <!-- <view class="popContent" v-if="showFirst"> 58 <!-- <view class="popContent" v-if="showFirst">
51 <view class="textbody"> 59 <view class="textbody">
...@@ -114,7 +122,8 @@ function closeFirst(){ ...@@ -114,7 +122,8 @@ function closeFirst(){
114 } 122 }
115 function goAdd(){ 123 function goAdd(){
116 const obj = encodeURIComponent(JSON.stringify(remarks.value)) 124 const obj = encodeURIComponent(JSON.stringify(remarks.value))
117 let path = `/pages_hotel/hotel/canInvoiceBills?trainId=${trainId}&remarks=${obj}&kpType=${kpType}`; 125 // let path = `/pages_hotel/hotel/canInvoiceBills?trainId=${trainId}&remarks=${obj}&kpType=${kpType}`;
126 let path =`/pages_hotel/hotel/addInvoice?trainId=${trainId}&remarks=${obj}`;
118 uni.navigateTo({ 127 uni.navigateTo({
119 url: path 128 url: path
120 }); 129 });
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
3 <view class="pads"> 3 <view class="pads">
4 <view class="box"> 4 <view class="box">
5 <view class="whiteItem"> 5 <view class="whiteItem">
6 <view class="pp"> 6 <!-- <view class="pp">
7 发票形式 7 发票形式
8 <text v-if="form.invoiceForm=='1'">电子发票</text> 8 <text v-if="form.invoiceForm=='1'">电子发票</text>
9 <text v-if="form.invoiceForm=='2'">纸质普票</text> 9 <text v-if="form.invoiceForm=='2'">纸质普票</text>
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
12 <view class="pp"> 12 <view class="pp">
13 开票金额 13 开票金额
14 <text>¥ {{form.total}}</text> 14 <text>¥ {{form.total}}</text>
15 </view> 15 </view> -->
16 <!-- <view class="pp" v-if="form.invoiceForm=='1'"> 16 <!-- <view class="pp" v-if="form.invoiceForm=='1'">
17 邮箱 17 邮箱
18 <text>{{form.address}}</text> 18 <text>{{form.address}}</text>
...@@ -32,17 +32,17 @@ ...@@ -32,17 +32,17 @@
32 <view class="pp">发票抬头 32 <view class="pp">发票抬头
33 <text>{{form.invoiceTitle}}</text> 33 <text>{{form.invoiceTitle}}</text>
34 </view> 34 </view>
35 <view class="pp" v-if="form.invoiceType=='0'">税号 35 <view class="pp" v-if="form.invoiceTfn">税号
36 <text>{{form.invoiceTfn}}</text> 36 <text>{{form.invoiceTfn}}</text>
37 </view> 37 </view>
38 <view v-if="form.invoiceForm=='3'&&form.invoiceType=='0'"> 38 <view>
39 <view class="pp">地址 39 <view class="pp" v-if="form.invoiceAddress">邮箱
40 <text>{{form.invoiceAddress}}</text> 40 <text>{{form.invoiceAddress}}</text>
41 </view> 41 </view>
42 <view class="pp">电话 42 <view class="pp" v-if="form.invoicePhone">电话
43 <text>{{form.invoicePhone}}</text> 43 <text>{{form.invoicePhone}}</text>
44 </view> 44 </view>
45 <view class="pp">开户行 45 <view class="pp" v-if="form.invoiceBank">开户行
46 <text>{{form.invoiceBank}}</text> 46 <text>{{form.invoiceBank}}</text>
47 </view> 47 </view>
48 <view class="pp" v-if="form.invoiceAccount">账户 48 <view class="pp" v-if="form.invoiceAccount">账户
...@@ -50,8 +50,6 @@ ...@@ -50,8 +50,6 @@
50 </view> 50 </view>
51 </view> 51 </view>
52 52
53
54
55 </view> 53 </view>
56 </view> 54 </view>
57 </view> 55 </view>
......
1 <template> 1 <template>
2 <view class="graybg"> 2 <view class="graybg">
3 <view class="pads"> 3 <view class="pads">
4 <view class="box"> 4 <view class="box">
5
6 <view class="billItem" v-for="b in list" :key="b.id">
7 <!-- parentType -->
8 <view>
9 申请日期:
10 {{ b.createTime }}
11 </view>
12 <view style="display: flex;justify-content: space-between;">
13 <view> 发票形式 -
14 <text v-if="b.invoiceForm=='1'">电子发票</text>
15 <text v-if="b.invoiceForm=='2'">纸质普票</text>
16 <text v-if="b.invoiceForm=='3'">纸质专票</text>
17 </view>
18 <view>¥ <text>{{b.total}}</text></view>
19 </view>
20 <view style="margin: 20rpx 0 0;display: flex;justify-content: space-between;">
21 <view class="status">
22 <view class="success" v-if="b.isInvoice == '1'"> 已开票</view>
23 <view class="warning" v-if="b.isInvoice == '0'">未开票</view>
24 <view class="success" v-if="b.isInvoice == '3'"> 已寄出</view>
25 <view class="warning" v-if="b.isInvoice == '2'"> 已取消</view>
26 </view>
27 <view>
28 <button class="billbtn" v-if="b.isInvoice == '0'" @click.stop="editDetail(b)"> 修改发票</button>
29 <button class="billbtn rbtn-m-kx"
30 @click.stop="showDetail(b)">详情</button>
31
32 </view>
33 </view>
34
35 </view>
36 <view class="nodata" v-if="list.length==0">
37 <image mode="aspectFit" src="@/static/nodata.png"></image>
38 <text> 还没有发票</text>
39 </view>
40 </view>
41 </view>
42 </view>
43
44 </template>
45
46 <script setup>
47 import { ref } from 'vue';
48 import { onShow,onPullDownRefresh,onReachBottom,onLoad} from '@dcloudio/uni-app';
49 import * as hotel from '@/common/hotel.js';
50 import _ from 'lodash';
51 const app = getApp();
52 const list = ref([]);
53 const alertDialog = ref(null);
54 const showFirst = ref(true);
55
56 const queryparam = ref({
57 pageNum:1,
58 pageSize: 10
59 })
60 const currUser = uni.getStorageSync('currUser');
61 onShow(() => {
62 list.value = []
63 getList()
64 });
65
66 onLoad((option) => {
67
68 });
69 function clickLoadMore() {
70 if(loadStatus.value=='nomore'){
71 return
72 }
73 queryparam.value.pageNum+=1
74 getList()
75
76 }
77 function getList() {
78 hotel.getInvoiceByUserId().then(res => {
79 list.value = res.rows;
80
81 });
82 }
83 function showDetail(b) {
84 let path = `/pages_hotel/hotel/invoiceDetail?invoiceId=${b.id}`;
85 uni.navigateTo({
86 url: path
87 });
88 }
89 function editDetail(b) {
90 hotel.getTrainDetail(b.trainId).then(res => {
91
92 let path = `/pages_hotel/hotel/addInvoice?invoiceId=${b.id}&isEdit=true&kpType=${res.data.kpType}`;
93 uni.navigateTo({
94 url: path
95 });
96
97 })
98
99 }
100
101 </script>
102
103 <style lang="scss" scoped>
104 .fixedBtn{position: fixed;right: 30rpx;bottom: 10%;width: 100rpx;height: 100rpx;color: #fff;
105 background: linear-gradient(270deg, #54e1b9, #00caa6);border-radius: 50%;
106 box-shadow: 0 0 15rpx #666;font-size: 24rpx;
107 text-align: center;}
108 .pads{padding:0 25rpx 70rpx;}
109 .billItem {
110 width: auto; padding: 30rpx 0;margin: 30rpx 0 0;
111 .uni-input {
112 padding: 15rpx 0;
113 color: #000;
114 }
115 .billFoot{ margin-bottom: 20rpx;}
116 }
117 .rrcard .box {
118 padding: 0 0 1px;
119 margin: 20rpx 0 0;
120 }
121 .graybg {
122 background: #f7f8fa;
123 height: 100vh;
124 width: 100vw;
125 overflow: auto;
126 }
127 .whitebg {
128 background: #fff;
129 margin-top: 15rpx;
130 border-radius: 20rpx;
131 margin-bottom: 180rpx;
132 }
133
134 .name{font-size: 34rpx;color: #000;}
135
136 .padh20 {
137 padding: 0 25rpx;
138 }
139
140 .price{width: 100%;overflow: hidden;}
141 .billbtn{color: #1EC886;border: 1px solid #1EC886; margin: initial;line-height: 2; display: inline-block;
142 border-radius: 0;background-color: transparent; font-size: 28rpx;}
143 .rbtn-m-kx{margin: 0 0 0 10rpx;background:#1EC886;color: #fff;}
144 .billFoot .tip {
145 font-size: 24rpx;
146 font-size: 24rpx;
147 color: #999;
148 font-weight: 500;
149 margin: 0 20rpx;
150 }
151 .billItem > view{margin-bottom: 10rpx;}
152 .billFoot text{white-space: nowrap;}
153 .billFoot text.danger{color: #da2a2a;}
154 .blueTag{color: #fff;background-color: #1EC886; padding: 10rpx 10rpx;}
155 .status{
156 .warning{color: #ff8124;}
157 .danger{color: #da2a2a;}
158 .gary{color: #666;}
159 .success{color: #1EC886;}
160 }
161 .popContent{background:#fff; height: auto; position: fixed; width: 80vw; max-height: 50vh; top: 20%; left: 0; right: 0; border-radius: 10rpx;margin: auto;z-index: 99; box-shadow: 0 0 0 100vh rgba(0,0,0,0.4);
162 .button{ width: 230rpx; margin: 20rpx auto; font-size: 26rpx; color: #fff; background: linear-gradient(90deg, #00C176, #3ed89b); padding: 6rpx 15rpx;text-align: center; border-radius: 6rpx;}
163 }
164 .textbody{padding: 40rpx;}
165 .textbody .h3{ text-align: center;font-size: 32rpx;}
166 .textbody .texts{ overflow: auto; line-height: 1.6; text-indent: 2em; color: #666; max-height: 30vh; text-align: justify; margin: 20rpx 0 0; font-size: 28rpx;}
167 .billItem > view{box-sizing: border-box;}
168 .iconkp{width: 50rpx;
169 height: 50rpx;
170 display: block;
171 margin:10rpx auto 0;}
172
173 </style>
174
175
176
177
178
179
180
181
182 5
6 <view class="billItem" v-for="b in list" :key="b.id">
7 <!-- parentType -->
8 <view>
9 申请日期:
10 {{ b.createTime }}
11 </view>
12 <view>
13 发票抬头:{{b.invoiceTitle}}
14 </view>
15 <view>
16 邮箱:{{b.invoiceAddress}}
17 </view>
18 <view style="margin: 20rpx 0 0;display: flex;justify-content: space-between;">
19 <view class="status">
20 <view class="success" v-if="b.isInvoice == '1'"> 已开票</view>
21 <view class="warning" v-if="b.isInvoice == '0'">未开票</view>
22 <view class="success" v-if="b.isInvoice == '3'"> 已寄出</view>
23 <view class="warning" v-if="b.isInvoice == '2'"> 已取消</view>
24 </view>
25 <view>
26 <button class="billbtn" v-if="b.isInvoice == '0'" @click.stop="editDetail(b)"> 修改发票</button>
27 <button class="billbtn rbtn-m-kx" @click.stop="showDetail(b)">详情</button>
183 28
29 </view>
30 </view>
184 31
32 </view>
33 <view class="nodata" v-if="list.length==0">
34 <image mode="aspectFit" src="@/static/nodata.png"></image>
35 <text> 还没有发票</text>
36 </view>
37 </view>
38 </view>
39 </view>
40
41 </template>
42
43 <script setup>
44 import {
45 ref
46 } from 'vue';
47 import {
48 onShow,
49 onPullDownRefresh,
50 onReachBottom,
51 onLoad
52 } from '@dcloudio/uni-app';
53 import * as hotel from '@/common/hotel.js';
54 import _ from 'lodash';
55 const app = getApp();
56 const list = ref([]);
57 const alertDialog = ref(null);
58 const showFirst = ref(true);
59
60 const queryparam = ref({
61 pageNum: 1,
62 pageSize: 10
63 })
64 const currUser = uni.getStorageSync('currUser');
65 onShow(() => {
66 list.value = []
67 getList()
68 });
69
70 onLoad((option) => {
71
72 });
73
74 function clickLoadMore() {
75 if (loadStatus.value == 'nomore') {
76 return
77 }
78 queryparam.value.pageNum += 1
79 getList()
80
81 }
82
83 function getList() {
84 hotel.getInvoiceByUserId().then(res => {
85 list.value = res.rows;
86
87 });
88 }
89
90 function showDetail(b) {
91 let path = `/pages_hotel/hotel/invoiceDetail?invoiceId=${b.id}`;
92 uni.navigateTo({
93 url: path
94 });
95 }
96
97 function editDetail(b) {
98 hotel.getTrainDetail(b.trainId).then(res => {
99
100 let path = `/pages_hotel/hotel/addInvoice?invoiceId=${b.id}&isEdit=true&kpType=${res.data.kpType}`;
101 uni.navigateTo({
102 url: path
103 });
104
105 })
106
107 }
108 </script>
109
110 <style lang="scss" scoped>
111 .fixedBtn {
112 position: fixed;
113 right: 30rpx;
114 bottom: 10%;
115 width: 100rpx;
116 height: 100rpx;
117 color: #fff;
118 background: linear-gradient(270deg, #54e1b9, #00caa6);
119 border-radius: 50%;
120 box-shadow: 0 0 15rpx #666;
121 font-size: 24rpx;
122 text-align: center;
123 }
124
125 .pads {
126 padding: 0 25rpx 70rpx;
127 }
128
129 .billItem {
130 width: auto;
131 padding: 30rpx 0;
132 margin: 30rpx 0 0;
133
134 .uni-input {
135 padding: 15rpx 0;
136 color: #000;
137 }
138
139 .billFoot {
140 margin-bottom: 20rpx;
141 }
142 }
143
144 .rrcard .box {
145 padding: 0 0 1px;
146 margin: 20rpx 0 0;
147 }
148
149 .graybg {
150 background: #f7f8fa;
151 height: 100vh;
152 width: 100vw;
153 overflow: auto;
154 }
155
156 .whitebg {
157 background: #fff;
158 margin-top: 15rpx;
159 border-radius: 20rpx;
160 margin-bottom: 180rpx;
161 }
162
163 .name {
164 font-size: 34rpx;
165 color: #000;
166 }
167
168 .padh20 {
169 padding: 0 25rpx;
170 }
171
172 .price {
173 width: 100%;
174 overflow: hidden;
175 }
176
177 .billbtn {
178 color: #1EC886;
179 border: 1px solid #1EC886;
180 margin: initial;
181 line-height: 2;
182 display: inline-block;
183 border-radius: 0;
184 background-color: transparent;
185 font-size: 28rpx;
186 }
187
188 .rbtn-m-kx {
189 margin: 0 0 0 10rpx;
190 background: #1EC886;
191 color: #fff;
192 }
193
194 .billFoot .tip {
195 font-size: 24rpx;
196 font-size: 24rpx;
197 color: #999;
198 font-weight: 500;
199 margin: 0 20rpx;
200 }
201
202 .billItem>view {
203 margin-bottom: 10rpx;
204 }
205
206 .billFoot text {
207 white-space: nowrap;
208 }
209
210 .billFoot text.danger {
211 color: #da2a2a;
212 }
213
214 .blueTag {
215 color: #fff;
216 background-color: #1EC886;
217 padding: 10rpx 10rpx;
218 }
219
220 .status {
221 .warning {
222 color: #ff8124;
223 }
224
225 .danger {
226 color: #da2a2a;
227 }
228
229 .gary {
230 color: #666;
231 }
232
233 .success {
234 color: #1EC886;
235 }
236 }
237
238 .popContent {
239 background: #fff;
240 height: auto;
241 position: fixed;
242 width: 80vw;
243 max-height: 50vh;
244 top: 20%;
245 left: 0;
246 right: 0;
247 border-radius: 10rpx;
248 margin: auto;
249 z-index: 99;
250 box-shadow: 0 0 0 100vh rgba(0, 0, 0, 0.4);
251
252 .button {
253 width: 230rpx;
254 margin: 20rpx auto;
255 font-size: 26rpx;
256 color: #fff;
257 background: linear-gradient(90deg, #00C176, #3ed89b);
258 padding: 6rpx 15rpx;
259 text-align: center;
260 border-radius: 6rpx;
261 }
262 }
263
264 .textbody {
265 padding: 40rpx;
266 }
267
268 .textbody .h3 {
269 text-align: center;
270 font-size: 32rpx;
271 }
272
273 .textbody .texts {
274 overflow: auto;
275 line-height: 1.6;
276 text-indent: 2em;
277 color: #666;
278 max-height: 30vh;
279 text-align: justify;
280 margin: 20rpx 0 0;
281 font-size: 28rpx;
282 }
283
284 .billItem>view {
285 box-sizing: border-box;
286 }
287
288 .iconkp {
289 width: 50rpx;
290 height: 50rpx;
291 display: block;
292 margin: 10rpx auto 0;
293 }
294 </style>
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -21,13 +21,13 @@ ...@@ -21,13 +21,13 @@
21 </view> 21 </view>
22 </template> 22 </template>
23 </uni-list-item> 23 </uni-list-item>
24 <uni-list-item :border="false" title="我的订单" showArrow clickable="true" @click="goBills"> 24 <!-- <uni-list-item :border="false" title="我的订单" showArrow clickable="true" @click="goBills">
25 <template v-slot:header> 25 <template v-slot:header>
26 <view class="slot-box"> 26 <view class="slot-box">
27 <image class="slot-image" src="/static/user_icon02.png" mode="widthFix"></image> 27 <image class="slot-image" src="/static/user_icon02.png" mode="widthFix"></image>
28 </view> 28 </view>
29 </template> 29 </template>
30 </uni-list-item> 30 </uni-list-item> -->
31 <uni-list-item :border="false" title="我的发票" showArrow clickable="true" @click="goMyInvoiceBill"> 31 <uni-list-item :border="false" title="我的发票" showArrow clickable="true" @click="goMyInvoiceBill">
32 <template v-slot:header> 32 <template v-slot:header>
33 <view class="slot-box"> 33 <view class="slot-box">
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!