This commit is contained in:
aihe 2023-12-13 11:04:28 +08:00
parent 5bf5a5fd0a
commit 3bef7eaa65
4 changed files with 360 additions and 1 deletions

View File

@ -46,7 +46,7 @@
</tpx-checkitems>
<u-row>
<u-row @click="goto('user/monthCardList?type=choose')">
<uni-icons type="wallet" size="18" color="#B12D29"></uni-icons>
<text style="font-size: 28rpx;color: #B12D29;" class="pl-10">管理月结卡</text>
</u-row>
@ -73,6 +73,8 @@
<script>
import { payTypeEnum } from "@/common/enum"
import { goto } from "@/common/untool"
export default {
// computed: {
// filDataList() {
@ -131,6 +133,7 @@
destroyed() {},
methods: {
goto,
handleCloseModal() {
this.$emit('update:show', false)

View File

@ -103,6 +103,18 @@
"style": {
"navigationBarTitleText": "账单明细"
}
},
{
"path": "pages/user/monthCardList",
"style": {
"navigationBarTitleText": "月结卡列表"
}
},
{
"path": "pages/user/monthCardEdit",
"style": {
"navigationBarTitleText": "月结卡编辑"
}
}
],

View File

@ -0,0 +1,165 @@
<template>
<tpx-layout>
<template v-slot:body>
<view class="com-jianju pos-rlt pb-30" style="padding-top: 2rpx;">
<view class="blcok-white radius-20">
<u-textarea v-model="submitParam.otherDes" border="none" height="110" placeholder="粘贴或输入地址,点击“智能识别”自动拆分姓名、电话和地址" custom-style="border:0;padding: 0;"></u-textarea>
<u-row justify="end">
<view class="mt-10">
<u-button @click="handleAnsText()" type="primary" size="mini" shape="circle" custom-style="width: 130rpx;font-size: 24rpx;padding:0;">智能识别</u-button>
</view>
</u-row>
</view>
<view class="mt-40">
<tpx-select placeholder="国家" v-model:value="country" :list="[]" :isWhite="true"
></tpx-select>
</view>
<view class="blcok-white radius-20">
<view class="">
<view style="margin-top: 10rpx;">
<u-row>
<u-col span="4">
<tpx-input v-model:value="submitParam.name" placeholder="真实姓名"></tpx-input>
</u-col>
<u-col offset="1" span="7">
<tpx-input v-model:value="submitParam.tel" placeholder="电话"></tpx-input>
</u-col>
</u-row>
</view>
<view class="mt-40">
<tpx-select placeholder="省市区" v-model:value="country" :list="[]"
></tpx-select>
</view>
<view class="mt-30">
<tpx-textarea v-model:value="submitParam.detail" placeholder="详细地址(例如**街道**号**)"></tpx-textarea>
</view>
<view class="mt-30">
<tpx-input v-model:value="submitParam.tel" placeholder="电话"></tpx-input>
</view>
<view class="mt-30">
<tpx-input v-model:value="submitParam.tel" placeholder="邮编"></tpx-input>
</view>
<view class="mt-30">
<tpx-input v-model:value="submitParam.tel" placeholder="邮箱(选填"></tpx-input>
</view>
<view class="mt-30">
<tpx-input v-model:value="submitParam.tel" placeholder="公司名称(选填)"></tpx-input>
</view>
</view>
</view>
<view class="mt-30 pl-30 pr-30">
<u-row justify="between">
<view>
<u-checkbox-group v-model="radiovalue1" placement="column" @change="handleFormChange()">
<u-checkbox
shape="circle"
size="30" label="默认地址" active-color="#B12D29" la
label-size="28" hange="handleFormChange()"
>
</u-checkbox>
</u-checkbox-group>
</view>
<view>
<u-text text="清空" size="28" color="#0E0708"></u-text>
</view>
</u-row>
</view>
</view>
</template>
<template v-slot:footer>
<view class="blcok-white-noradius">
<u-button @click="handleSubmit()" type="primary" size="large" shape="circle"
custom-style="height:80rpx;font-size: 30rpx;"
>确定</u-button>
</view>
</template>
</tpx-layout>
</template>
<script>
import getCdnUrl from "@/common/getCdnUrl"
import {
ordStaEnum,
ordStatusList,
payTypeEnum,
payTypeList,
dlvTypeEnum,
dlvTypeList,
dateTypeEnum,
dateTypeList
} from "@/common/enum"
import {
goto
} from "@/common/untool"
export default {
props: {
// hasLeftWin: {
// type: Boolean
// }
},
computed: {
},
data() {
return {
submitParam: {
type: 1,
otherDes: ''
}
}
},
onShareAppMessage() {
return {
// title: '',
// path: 'TODO'
}
},
onLoad() {
this.initData();
},
onUnload() {
},
methods: {
getCdnUrl,
initData() {
// uni.showLoading({
// title: '加载中'
// });
},
handleAnsText(){
},
handleFormChange(){
},
handleSubmit() {
},
}
}
</script>
<style lang="scss">
@import '@/common/uni-nvue.scss';
page {
background-color: #F6F6F6;
height: 100% !important;
}
</style>
<style scoped lang="scss">
</style>

View File

@ -0,0 +1,179 @@
<template>
<tpx-layout>
<template v-slot:header>
</template>
<template v-slot:body>
<scroll-view :scroll-y="true" @scrolltolower="onScrollBottom()" class="pos-abt-all"
>
<view class="pgb-header">
<view class="com-jianju">
<!-- 关键字搜索框 -->
<tpx-search placeholder="请输入" v-model:value="searchParam.keyword" @change="handleSearchParamChange()" ></tpx-search>
</view>
</view>
<view class="pgb-cont">
<!-- 列表数据 -->
<!-- -->
<view>
<view v-for="(item) in dataList" class="blcok-white radius-20 mb-20" style="margin-top: 0;"
@click="handleTODetail(item)"
>
<view>
<u-row justify="between">
<u-row @click="handleItemClick(item)">
<u-avatar size="100" shape="square"></u-avatar>
<view class="pl-10">
<u-text :text="'月结账号 TANO2500123'" size="30" :bold="true" lines="1"></u-text>
<u-text margin="10rpx 0 0 0" :text="'平湖华盛进出口有限公司'" size="28" color="#999"></u-text>
</view>
</u-row>
<u-row justify="end" align="top" custom-style="width: 100rpx;height:100rpx;"
@click="setClipboardData('xxxxxxx' + item.id)"
>
<u-icon name="file-text" size="38"></u-icon>
</u-row>
</u-row>
</view>
</view>
</view>
<!-- 加载更多 -->
<u-loadmore icon-size="28" font-size="28" margin-top="30" v-if="showLoadMore || loadedAll"
:status="loadedAll ? 'nomore' : 'loading'" />
<!-- 空数据页 -->
<view v-if="dataList.length == 0" style="padding-top: 100rpx;">
<u-empty text="无数据" :icon="getCdnUrl('kong.png')" textSize="28" width="86" height="97">
</u-empty>
</view>
</view>
</scroll-view>
</template>
<template v-slot:footer>
<view class="blcok-white-noradius">
<u-button @click="handleEditItem()" type="primary" size="large" shape="circle"
custom-style="height:80rpx;font-size: 30rpx;"
>
<u-row>
<u-icon size="34" color="#fff" name="plus"></u-icon>
<text class="pl-10">添加月结卡</text>
<u-icon size="34" color="#fff" ></u-icon>
</u-row>
</u-button>
</view>
</template>
</tpx-layout>
</template>
<script>
import getCdnUrl from "@/common/getCdnUrl"
import { goto, goBack, setClipboardData, confirmModal, showLoading } from "@/common/untool"
export default {
props: {
// hasLeftWin: {
// type: Boolean
// }
},
computed: {
},
data() {
return {
searchParam: {
keyword: '',
},
queryOption: {},
dataList: [
{},{},{},{},{},{},{},{}
],
showLoadMore: false,
loadedAll: false
}
},
onShareAppMessage() {
return {
// title: '',
// path: 'TODO'
}
},
onLoad(queryOption) {
this.queryOption = queryOption
this.searchParam.tabType = queryOption.tab || tabList[0].val
this.initData();
},
onUnload() {
},
methods: {
goto,
setClipboardData,
getCdnUrl,
initData(){
// showLoading()
setTimeout(() => {
uni.stopPullDownRefresh();
}, 300);
},
setListData() {
},
onScrollBottom() {
console.log("onScrollBottom");
if (this.loadedAll) {
return;
}
this.showLoadMore = true;
setTimeout(() => {
this.setListData();
}, 300);
},
handleSearchMoreBtn(){
if(!this.showLoadMore) {
// 回显更多条件
Object.keys(this.tmpSearchParam).map(t=> {
this.tmpSearchParam[t] = this.searchParam[t] || ''
})
}
this.showSearchMore = !this.showSearchMore
},
handleItemClick(item){
if(this.queryOption.type == "choose") {
goBack()
} else {
this.handleEditItem(item)
}
},
handleEditItem(item={}) {
goto(`user/monthCardEdit?id=${item.id}`)
},
}
}
</script>
<style lang="scss">
@import '@/common/uni-nvue.scss';
page {
background-color: #F6F6F6;
height: 100% !important;
}
</style>
<style scoped lang="scss">
.pgb-header {
// padding-top: --status-bar-height;
padding-top: 30rpx;
padding-bottom: 30rpx;
background-color: #FFF;
position: relative;
}
.pgb-cont{
padding: 30rpx;
}
</style>