no message
Showing
7 changed files
with
278 additions
and
139 deletions
| 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"> |
| ... | @@ -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> |
| ... | @@ -40,16 +40,17 @@ | ... | @@ -40,16 +40,17 @@ |
| 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> |
| ... | @@ -95,7 +96,7 @@ | ... | @@ -95,7 +96,7 @@ |
| 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: [{ |
| ... | @@ -129,15 +130,16 @@ | ... | @@ -129,15 +130,16 @@ |
| 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 | 152 | ||
| 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,32 +182,49 @@ | ... | @@ -179,32 +182,49 @@ |
| 179 | }); | 182 | }); |
| 180 | } | 183 | } |
| 181 | 184 | ||
| 185 | function checkEmail() { | ||
| 186 | var yx = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/; | ||
| 187 | |||
| 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 | |||
| 182 | function getList() { | 199 | function getList() { |
| 183 | companyloading.value = true | 200 | companyloading.value = true |
| 184 | uni.showLoading({ | 201 | uni.showLoading({ |
| 185 | title:'加载中' | 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 | |
| 217 | function getComanyInfo() { | ||
| 200 | companyloading.value = true | 218 | companyloading.value = true |
| 201 | hotel.getComanyList({bilName:form.value.invoiceTitle}).then(res=>{ | 219 | hotel.getComanyList({ |
| 220 | bilName: form.value.invoiceTitle | ||
| 221 | }).then(res => { | ||
| 202 | companyList.value = res.rows | 222 | companyList.value = res.rows |
| 203 | companyloading.value = false | 223 | companyloading.value = false |
| 204 | 224 | ||
| 205 | if(companyList.value.length==1&&companyList.value[0].bilName == form.value.invoiceTitle){ | 225 | if (companyList.value.length == 1 && companyList.value[0].bilName == form.value.invoiceTitle) { |
| 206 | uni.showLoading({ | 226 | uni.showLoading({ |
| 207 | title:'加载中' | 227 | title: '加载中' |
| 208 | }) | 228 | }) |
| 209 | form.value.invoiceAccount = companyList.value[0].account | 229 | form.value.invoiceAccount = companyList.value[0].account |
| 210 | form.value.invoiceAddress = companyList.value[0].address | 230 | form.value.invoiceAddress = companyList.value[0].address |
| ... | @@ -219,7 +239,7 @@ | ... | @@ -219,7 +239,7 @@ |
| 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> | ... | ... |
| ... | @@ -9,13 +9,11 @@ | ... | @@ -9,13 +9,11 @@ |
| 9 | 申请日期: | 9 | 申请日期: |
| 10 | {{ b.createTime }} | 10 | {{ b.createTime }} |
| 11 | </view> | 11 | </view> |
| 12 | <view style="display: flex;justify-content: space-between;"> | 12 | <view> |
| 13 | <view> 发票形式 - | 13 | 发票抬头:{{b.invoiceTitle}} |
| 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> | 14 | </view> |
| 18 | <view>¥ <text>{{b.total}}</text></view> | 15 | <view> |
| 16 | 邮箱:{{b.invoiceAddress}} | ||
| 19 | </view> | 17 | </view> |
| 20 | <view style="margin: 20rpx 0 0;display: flex;justify-content: space-between;"> | 18 | <view style="margin: 20rpx 0 0;display: flex;justify-content: space-between;"> |
| 21 | <view class="status"> | 19 | <view class="status"> |
| ... | @@ -26,8 +24,7 @@ | ... | @@ -26,8 +24,7 @@ |
| 26 | </view> | 24 | </view> |
| 27 | <view> | 25 | <view> |
| 28 | <button class="billbtn" v-if="b.isInvoice == '0'" @click.stop="editDetail(b)"> 修改发票</button> | 26 | <button class="billbtn" v-if="b.isInvoice == '0'" @click.stop="editDetail(b)"> 修改发票</button> |
| 29 | <button class="billbtn rbtn-m-kx" | 27 | <button class="billbtn rbtn-m-kx" @click.stop="showDetail(b)">详情</button> |
| 30 | @click.stop="showDetail(b)">详情</button> | ||
| 31 | 28 | ||
| 32 | </view> | 29 | </view> |
| 33 | </view> | 30 | </view> |
| ... | @@ -44,49 +41,60 @@ | ... | @@ -44,49 +41,60 @@ |
| 44 | </template> | 41 | </template> |
| 45 | 42 | ||
| 46 | <script setup> | 43 | <script setup> |
| 47 | import { ref } from 'vue'; | 44 | import { |
| 48 | import { onShow,onPullDownRefresh,onReachBottom,onLoad} from '@dcloudio/uni-app'; | 45 | ref |
| 49 | import * as hotel from '@/common/hotel.js'; | 46 | } from 'vue'; |
| 50 | import _ from 'lodash'; | 47 | import { |
| 51 | const app = getApp(); | 48 | onShow, |
| 52 | const list = ref([]); | 49 | onPullDownRefresh, |
| 53 | const alertDialog = ref(null); | 50 | onReachBottom, |
| 54 | const showFirst = ref(true); | 51 | onLoad |
| 55 | 52 | } from '@dcloudio/uni-app'; | |
| 56 | const queryparam = ref({ | 53 | import * as hotel from '@/common/hotel.js'; |
| 57 | pageNum:1, | 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, | ||
| 58 | pageSize: 10 | 62 | pageSize: 10 |
| 59 | }) | 63 | }) |
| 60 | const currUser = uni.getStorageSync('currUser'); | 64 | const currUser = uni.getStorageSync('currUser'); |
| 61 | onShow(() => { | 65 | onShow(() => { |
| 62 | list.value = [] | 66 | list.value = [] |
| 63 | getList() | 67 | getList() |
| 64 | }); | 68 | }); |
| 65 | 69 | ||
| 66 | onLoad((option) => { | 70 | onLoad((option) => { |
| 67 | 71 | ||
| 68 | }); | 72 | }); |
| 69 | function clickLoadMore() { | 73 | |
| 70 | if(loadStatus.value=='nomore'){ | 74 | function clickLoadMore() { |
| 75 | if (loadStatus.value == 'nomore') { | ||
| 71 | return | 76 | return |
| 72 | } | 77 | } |
| 73 | queryparam.value.pageNum+=1 | 78 | queryparam.value.pageNum += 1 |
| 74 | getList() | 79 | getList() |
| 75 | 80 | ||
| 76 | } | 81 | } |
| 77 | function getList() { | 82 | |
| 83 | function getList() { | ||
| 78 | hotel.getInvoiceByUserId().then(res => { | 84 | hotel.getInvoiceByUserId().then(res => { |
| 79 | list.value = res.rows; | 85 | list.value = res.rows; |
| 80 | 86 | ||
| 81 | }); | 87 | }); |
| 82 | } | 88 | } |
| 83 | function showDetail(b) { | 89 | |
| 90 | function showDetail(b) { | ||
| 84 | let path = `/pages_hotel/hotel/invoiceDetail?invoiceId=${b.id}`; | 91 | let path = `/pages_hotel/hotel/invoiceDetail?invoiceId=${b.id}`; |
| 85 | uni.navigateTo({ | 92 | uni.navigateTo({ |
| 86 | url: path | 93 | url: path |
| 87 | }); | 94 | }); |
| 88 | } | 95 | } |
| 89 | function editDetail(b) { | 96 | |
| 97 | function editDetail(b) { | ||
| 90 | hotel.getTrainDetail(b.trainId).then(res => { | 98 | hotel.getTrainDetail(b.trainId).then(res => { |
| 91 | 99 | ||
| 92 | let path = `/pages_hotel/hotel/addInvoice?invoiceId=${b.id}&isEdit=true&kpType=${res.data.kpType}`; | 100 | let path = `/pages_hotel/hotel/addInvoice?invoiceId=${b.id}&isEdit=true&kpType=${res.data.kpType}`; |
| ... | @@ -96,89 +104,191 @@ function editDetail(b) { | ... | @@ -96,89 +104,191 @@ function editDetail(b) { |
| 96 | 104 | ||
| 97 | }) | 105 | }) |
| 98 | 106 | ||
| 99 | } | 107 | } |
| 100 | |||
| 101 | </script> | 108 | </script> |
| 102 | 109 | ||
| 103 | <style lang="scss" scoped> | 110 | <style lang="scss" scoped> |
| 104 | .fixedBtn{position: fixed;right: 30rpx;bottom: 10%;width: 100rpx;height: 100rpx;color: #fff; | 111 | .fixedBtn { |
| 105 | background: linear-gradient(270deg, #54e1b9, #00caa6);border-radius: 50%; | 112 | position: fixed; |
| 106 | box-shadow: 0 0 15rpx #666;font-size: 24rpx; | 113 | right: 30rpx; |
| 107 | text-align: center;} | 114 | bottom: 10%; |
| 108 | .pads{padding:0 25rpx 70rpx;} | 115 | width: 100rpx; |
| 109 | .billItem { | 116 | height: 100rpx; |
| 110 | width: auto; padding: 30rpx 0;margin: 30rpx 0 0; | 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 | |||
| 111 | .uni-input { | 134 | .uni-input { |
| 112 | padding: 15rpx 0; | 135 | padding: 15rpx 0; |
| 113 | color: #000; | 136 | color: #000; |
| 114 | } | 137 | } |
| 115 | .billFoot{ margin-bottom: 20rpx;} | 138 | |
| 116 | } | 139 | .billFoot { |
| 117 | .rrcard .box { | 140 | margin-bottom: 20rpx; |
| 141 | } | ||
| 142 | } | ||
| 143 | |||
| 144 | .rrcard .box { | ||
| 118 | padding: 0 0 1px; | 145 | padding: 0 0 1px; |
| 119 | margin: 20rpx 0 0; | 146 | margin: 20rpx 0 0; |
| 120 | } | 147 | } |
| 121 | .graybg { | 148 | |
| 149 | .graybg { | ||
| 122 | background: #f7f8fa; | 150 | background: #f7f8fa; |
| 123 | height: 100vh; | 151 | height: 100vh; |
| 124 | width: 100vw; | 152 | width: 100vw; |
| 125 | overflow: auto; | 153 | overflow: auto; |
| 126 | } | 154 | } |
| 127 | .whitebg { | 155 | |
| 156 | .whitebg { | ||
| 128 | background: #fff; | 157 | background: #fff; |
| 129 | margin-top: 15rpx; | 158 | margin-top: 15rpx; |
| 130 | border-radius: 20rpx; | 159 | border-radius: 20rpx; |
| 131 | margin-bottom: 180rpx; | 160 | margin-bottom: 180rpx; |
| 132 | } | 161 | } |
| 133 | 162 | ||
| 134 | .name{font-size: 34rpx;color: #000;} | 163 | .name { |
| 164 | font-size: 34rpx; | ||
| 165 | color: #000; | ||
| 166 | } | ||
| 135 | 167 | ||
| 136 | .padh20 { | 168 | .padh20 { |
| 137 | padding: 0 25rpx; | 169 | padding: 0 25rpx; |
| 138 | } | 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 | } | ||
| 139 | 193 | ||
| 140 | .price{width: 100%;overflow: hidden;} | 194 | .billFoot .tip { |
| 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; | 195 | font-size: 24rpx; |
| 146 | font-size: 24rpx; | 196 | font-size: 24rpx; |
| 147 | color: #999; | 197 | color: #999; |
| 148 | font-weight: 500; | 198 | font-weight: 500; |
| 149 | margin: 0 20rpx; | 199 | margin: 0 20rpx; |
| 150 | } | 200 | } |
| 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 | 201 | ||
| 173 | </style> | 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 | } | ||
| 174 | 219 | ||
| 220 | .status { | ||
| 221 | .warning { | ||
| 222 | color: #ff8124; | ||
| 223 | } | ||
| 175 | 224 | ||
| 225 | .danger { | ||
| 226 | color: #da2a2a; | ||
| 227 | } | ||
| 176 | 228 | ||
| 229 | .gary { | ||
| 230 | color: #666; | ||
| 231 | } | ||
| 177 | 232 | ||
| 233 | .success { | ||
| 234 | color: #1EC886; | ||
| 235 | } | ||
| 236 | } | ||
| 178 | 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); | ||
| 179 | 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 | } | ||
| 180 | 263 | ||
| 264 | .textbody { | ||
| 265 | padding: 40rpx; | ||
| 266 | } | ||
| 181 | 267 | ||
| 268 | .textbody .h3 { | ||
| 269 | text-align: center; | ||
| 270 | font-size: 32rpx; | ||
| 271 | } | ||
| 182 | 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 | } | ||
| 183 | 283 | ||
| 284 | .billItem>view { | ||
| 285 | box-sizing: border-box; | ||
| 286 | } | ||
| 184 | 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"> | ... | ... |
-
Please register or sign in to post a comment