This commit is contained in:
魏啾
2024-05-17 18:30:40 +08:00
parent 27100de568
commit 7cd5649764
22 changed files with 1980 additions and 50 deletions

412
pages/hindex/indexs.vue Normal file
View File

@@ -0,0 +1,412 @@
<template>
<view class="content">
<view class="content_top">
<view :class="form.user_type == 1 ? 'content_topview':''" @click="clickakex(1)">
个人
</view>
<view :class="form.user_type == 2 ? 'content_topview':''" @click="clickakex(2)">
企业
</view>
</view>
<view class="content_item">
<view class="Box_box flex-between" v-if="form.user_type == 1">
<view>*姓名</view>
<view><input type="text" v-model="form.user_name" placeholder="请填写名称" /></view>
</view>
<view class="Box_box flex-between" v-if="form.user_type == 2">
<view>*单位名称</view>
<view style="position: relative; width:70%;">
<input type="text" v-if="subCategoryList.length == 0" v-model="form.user_name" placeholder="请填写公司名称"
@input="onInput" />
<view class="position" v-else>
<view class="positionitem" v-for="(item,index) in subCategoryList" :key="index"
@click="categorySubClick(item)">
{{item.companyName}}
</view>
</view>
</view>
</view>
<view class="Box_box flex-between" v-if="form.user_type == 2">
<view>*税号</view>
<view><input type="text" v-model="form.user_duty" placeholder="请填写公司税号" /></view>
</view>
<view class="Box_box flex-between">
<view>*邮箱</view>
<view><input type="text" v-model="form.email" placeholder="请填写邮箱" /></view>
</view>
<view class="Box_box flex-between">
<view>*手机号</view>
<view><input type="text" v-model="form.mobile" placeholder="请填写联系电话" /></view>
</view>
<view class="Box_box flex-between">
<view>*开票价格</view>
<view><input type="text" v-model="form.price" placeholder="请填写价格" /></view>
</view>
<view class="Box_box flex-between">
<view>备注</view>
<u--textarea v-model="form.notes" placeholder="请输入内容"></u--textarea>
</view>
<view class="Box_boxbox" @click="upload">
<view class="Box_boxone">*上传账单</view>
<view class="Box_boxtow" v-if="form.img">
<image :src="form.img" style="width: 100%; height: 100%;" mode=""></image>
</view>
<view class="Box_boxtow" v-else>
<image src="@/static/xj.png" style="width: 60rpx;height: 58rpx;" mode=""></image>
</view>
</view>
<view class="preservation flex-colum">
<view v-if="form.status == 6"
style="width: 100%; color: #FF2B2B; padding: 28rpx 0;word-wrap: break-word;">
拒绝理由:{{form.no|| '无'}}</view>
</view>
</view>
<view class="content_bottom" @click="saveMerchantBaseInfo">
确定
</view>
</view>
</template>
<script>
import _ from 'lodash'
export default {
data() {
return {
showtext: 0,
subCategoryList: [],
form: {
id: '',
open_id: '',
user_type: 2,
img: '',
user_name: "",
user_duty: "",
email: "",
mobile: '',
status_note: '', //原因备注
price: '',
}
}
},
async onLoad(e) {
if (e.id) {
this.form.id = e.id
let res = await this.api.szzpyfailccho({
id: this.form.id,
view_type: this.form.view_type
})
try {
if (res.code == 1) {
this.form = res.data
}
} catch (e) {
//TODO handle the exception
}
} else {
this.form.body = e.body
this.form.open_id = e.open_id
}
// this.form.id = e.id
// this.form.open_id = e.open_id
// if (e.view_type == 'fail') {
// // http://localhost:8080/pages/hindex/indexs?id=7668&open_id=102132&view_type=fail
// this.form.view_type = e.view_type
// let res = await this.api.szzpyfailccho({
// id: this.form.id,
// view_type: this.form.view_type
// })
// try {
// if (res.code == 1) {
// this.form = res.data
// }
// } catch (e) {
// //TODO handle the exception
// }
// }
},
methods: {
onInput(e) {
if (this.form.user_type == 2) {
if ([...e.detail.value].length >= 6) {
console.log(100000)
this.handleClick()
} else {
this.subCategoryList = []
}
}
},
handleClick: _.debounce(function() {
console.log(100000)
this.getOrder()
// 函数执行内容
}, 500),
categorySubClick(category) {
console.log(category, 86)
this.form.user_name = category.companyName
this.form.user_duty = category.creditCode
this.subCategoryList = []
},
upload() {
uni.chooseImage({
success: (chooseImageRes) => {
uni.pro.showLoading({
title: '上传中',
mask: true
});
const tempFilePaths = chooseImageRes.tempFilePaths;
uni.uploadFile({
url: 'https://cashieradmin.sxczgkj.cn' + '/api/qiNiuContent',
filePath: tempFilePaths[0],
name: 'file',
formData: {
open_id: this.form.open_id,
},
success: (uploadFileRes) => {
uni.showToast({
title: '上传成功',
icon: 'none',
})
uni.pro.hideLoading();
let data = JSON.parse(uploadFileRes.data)
this.form.img = data.data[0]
console.log(this.form)
},
fail: () => {
uni.pro.hideLoading();
}
});
}
});
},
async saveMerchantBaseInfo() {
if (this.form.user_name == null || this.form.user_name == '') {
uni.showToast({
title: '请输入名称',
icon: 'none'
});
return false;
}
if (this.form.user_type == 2) {
if (this.form.user_duty == null || this.form.user_duty == '') {
uni.showToast({
title: '请输入税号',
icon: 'none'
});
return false;
}
}
if (this.form.email == null || this.form.email == '') {
uni.showToast({
title: '请输入邮箱',
icon: 'none'
});
return false;
}
if (this.form.mobile == null || this.form.mobile == '') {
uni.showToast({
title: '请输入手机号',
icon: 'none'
});
return false;
}
if (this.form.img == null || this.form.img == '') {
uni.showToast({
title: '请上传图片',
icon: 'none'
});
return false;
}
// http://localhost:8080/pages/hindex/index?id=12&open_id=102132
let res = await this.api.usersubopeninvoicefixed(this.form)
if (res.code == 1) {
uni.showToast({
title: res.msg,
icon: 'none'
});
setTimeout(() => {
if (res.data.url) {
window.location.href = res.data.url
}
}, 1000);
}
},
clickakex(e) {
this.form.user_type = e
this.form.user_name = ''
this.form.img = ''
this.form.user_duty = ''
this.form.email = ''
this.form.mobile = ''
},
async getOrder() { //搜索值
uni.request({
url: 'https://invoice.sxczgkj.cn/api/' + 'store/enterprise',
data: {
//参数
like: this.form.user_name,
open_id: this.form.open_id
},
method: 'POST', //请求方式,必须为大写
success: res => {
console.log('接口返回------', res);
setTimeout(() => {
if (this.page == 1) {
this.subCategoryList = res.data.data;
} else {
this.subCategoryList.push(...res.data.data);
}
}, 500)
}
});
}
}
}
</script>
<style lang="scss" scoped>
page {
background: #F9F9F9;
}
.content {
padding: 0 28rpx;
.content_top {
padding: 32rpx 110rpx;
width: 100%;
display: flex;
justify-content: space-between;
.content_topview {
background: #288EFB;
color: #fff;
}
view {
width: 142rpx;
height: 56rpx;
background: #fff;
color: #288EFB;
border-radius: 6rpx 6rpx 6rpx 6rpx;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 28rpx;
line-height: 56rpx;
text-align: center;
}
}
.content_item {
width: 100%;
background: #FFFFFF;
border-radius: 18rpx 18rpx 18rpx 18rpx;
.Box_box {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
text-align: right;
padding: 24rpx;
border-bottom: 1px solid #e5e5e5;
font-size: 28rpx;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #333333;
.position {
position: absolute;
right: 0;
top: 0;
background: #fff;
width: 100%;
max-height: 400rpx;
overflow: auto;
z-index: 99;
box-shadow: 1rpx 3rpx 6rpx #ccc;
.positionitem {
padding: 16rpx 10px;
border-bottom: 1rpx solid #ccc;
}
}
}
.preservation {
width: 100%;
text-align: center;
.preservation_box {
width: 100%;
height: 72rpx;
background: #288efb;
text-align: center;
line-height: 72rpx;
border-radius: 50rpx;
font-size: 36rpx;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #ffffff;
}
.preservation_boxs {
width: 70%;
height: 72rpx;
background: #999999;
text-align: center;
line-height: 72rpx;
border-radius: 50rpx;
font-size: 36rpx;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #ffffff;
}
}
.Box_boxbox {
width: 100%;
padding: 16rpx;
.Box_boxone {
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 28rpx;
color: #333333;
}
.Box_boxtow {
display: flex;
justify-content: center;
align-items: center;
margin: 0 auto;
width: 254rpx;
height: 156rpx;
background: #FFFFFF;
border: 1rpx dashed #707070;
}
}
}
.content_bottom {
margin: 20rpx auto 100rpx;
width: 80%;
height: 84rpx;
background: #288EFB;
border-radius: 50rpx 50rpx 50rpx 50rpx;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 36rpx;
color: #FFFFFF;
line-height: 84rpx;
text-align: center;
}
}
</style>