页面优化

This commit is contained in:
itgaojian163 2025-05-13 15:06:17 +08:00
parent 5e8609ac05
commit 58fd9bb4d0
28 changed files with 401 additions and 253 deletions

View File

@ -2,6 +2,10 @@
@import "/static/style/icon.wxss";
@import "/static/style/common.wxss";
swiper-item {
border-radius: 10rpx;
}
.page-container {
display: flex;
flex-direction: column;
@ -29,8 +33,8 @@
/***End***/
.custom-checkbox {
font-size: 14px;
margin-left: 14px;
font-size: 28rpx;
margin-left: 28rpx;
border-radius: 50%;
}
@ -253,7 +257,7 @@
.size-16 {
height: 16rpx;
height: 16rpx;
width: 16rpx;
}
.size-32 {

View File

@ -14,7 +14,7 @@
<view class="apply-title star" style="align-self: center;">退款软著</view>
<view class="apply-content" bind:tap="showSelProDialog">
<view class="{{selPro == null? 'text-hint':'text-sel'}}">{{selPro==null? '选择需要退款的软著' :selPro.projName}}</view>
<view class="icon-arrow-down-line" style="width: 24rpx;height: 24rpx;margin:0rpx 20rpx;"></view>
<view class="icon-arrow-solid"></view>
</view>
</view>
<view class="apply-item-column mt-20 ml-10">
@ -61,8 +61,7 @@
<view class="pro-list-name">{{item.projName}}</view>
</view>
<view class="pro-list-item-left-footer">
<view class="pro-list-item-left-tag">{{item.applyContactName}}</view>
<view class="pro-list-item-left-tag">{{item.projContext}}</view>
<view class="pro-list-item-left-tag mr-10 single-line">{{item.authorName}}</view>
<view class="pro-list-item-left-tag">{{item.gmtCreate}}</view>
</view>
</view>

View File

@ -31,18 +31,21 @@
}
.apply-content {
font-size: 28rpx;
display: flex;
flex-direction: row;
align-items: center;
justify-content: flex-end;
flex: 0.7;
background-color: var(--bg-gray-input-color);
padding: 10rpx 15rpx;
font-size: 28rpx;
border-radius: 15rpx;
}
.reason-content {
border-radius: 10rpx;
border: 1rpx solid var(--divider-color);
border-radius: 15rpx;
height: 120rpx;
background-color: var(--bg-gray-input-color);
font-size: 28rpx;
padding: 20rpx;
}
@ -110,6 +113,7 @@
.pro-list-item-left-tag {
font-size: 24rpx;
color: var(--text-color);
flex: .5;
}
.pro-list-name {

View File

@ -13,15 +13,15 @@
<view class="apply-item-row mt-20 ml-10">
<view class="apply-title star" style="align-self: center;">补正软著</view>
<view class="apply-content" bind:tap="showSelProDialog">
<view class="{{selPro == null? 'text-hint':'text-sel'}}">{{selPro==null? '选择需要补正的软著' :selPro.projName}}</view>
<view class="icon-arrow-down-line" style="width: 24rpx;height: 24rpx;margin:0rpx 20rpx;"></view>
<view class="{{selPro == null? 'text-hint':'text-sel'}}">{{selPro==null? '选择需要补正的软著' :selPro.projName}}</view>
<view class="icon-arrow-solid"></view>
</view>
</view>
<view class="apply-item-row mt-20 ml-10">
<view class="apply-title star" style="align-self: center;">补正种类</view>
<view class="apply-content" bind:tap="showSelTypeDialog">
<view class="{{selType==null?'text-hint':'text-sel'}}">{{selType==null?'选择种类':selType.title}}</view>
<view class="icon-arrow-down-line" style="width: 24rpx;height: 24rpx;margin:0rpx 20rpx;"></view>
<view class="{{selType==null?'text-hint':'text-sel'}}">{{selType==null?'选择种类':selType.title}}</view>
<view class="icon-arrow-solid"></view>
</view>
</view>
<view class="apply-item-column mt-20 ml-10">

View File

@ -5,7 +5,7 @@
flex-direction: column;
padding: 30rpx;
background-color: var(--white-color);
border-radius: 5rpx;
border-radius: 15rpx;
}
.label {
@ -37,11 +37,14 @@
align-items: center;
justify-content: flex-end;
flex: 0.7;
padding: 10rpx 15rpx;
border-radius: 15rpx;
background-color: var(--bg-gray-input-color);
}
.reason-content {
border-radius: 10rpx;
border: 1rpx solid var(--divider-color);
border-radius: 15rpx;
background-color: var(--bg-gray-input-color);
height: 120rpx;
font-size: 28rpx;
padding: 20rpx;

View File

@ -1,105 +1,128 @@
<view class="create-container">
<view class="container-box">
<swiper indicator-dots style="height: 120rpx;" autoplay indicator-active-color="#fff">
<swiper-item>
<image src="{{imgAssets}}/banner_1.png" style="width: 100vw;height: 120rpx;"></image>
</swiper-item>
<swiper-item>
<image src="{{imgAssets}}/banner_2.png" style="width: 100vw;height: 120rpx;"></image>
</swiper-item>
</swiper>
<view class="info-box">
<view class="info-title">项目信息</view>
<textarea value="{{projectName}}" bindinput="inputProjectName" class="info-value" placeholder="请输入系统全称(注:建议以'软件''平台''系统'等字眼结尾)" placeholder-style="font-size:14px;"></textarea>
<view class="info-btn" bind:tap="doCommendProjectName">推荐</view>
</view>
<view class="content-box">
<!-- 第一部分 -->
<view class="section">
<view class="item">
<text class="label">产权联系人</text>
<picker style="flex:1;" mode="selector" range="{{contactList}}" range-key="name" bindchange="doChangeContact">
<view style="display: flex;align-items: center;">
<view style="font-size: 14px;text-align: center;flex:1;color: #000000;">{{selectContact.name}}</view>
<view class="icon-arrow-down-line" style="width: 24rpx;height: 24rpx;margin-right: 20px;"></view>
<scroll-view scroll-y class="scroll-container">
<view class="container-box">
<swiper indicator-dots style="height: 120rpx;" autoplay indicator-active-color="#fff">
<swiper-item>
<image src="{{imgAssets}}/banner_1.png" style="width: 100%;border-radius: 10rpx;height: 120rpx;"></image>
</swiper-item>
<swiper-item>
<image src="{{imgAssets}}/banner_2.png" style="width: 100vw;border-radius: 10rpx;height: 120rpx;"></image>
</swiper-item>
</swiper>
<view class="info-box">
<rich-text class="info-title" nodes="<span>系统全称</span><span style='font-size:14px;'>(软著名称)</span>"></rich-text>
<textarea value="{{projectName}}" bindinput="inputProjectName" class="info-value" placeholder="请输入系统全称(注:建议以'软件''平台''系统'等字眼结尾)" placeholder-style="font-size:14px;"></textarea>
<view class="info-btn" bind:tap="doCommendProjectName">推荐</view>
</view>
<view class="content-box">
<view class="info-title">基本信息</view>
<!-- 第一部分 -->
<view class="section">
<view class="item">
<text class="label star">产权联系人</text>
<view class="select-content">
<picker mode="selector" style="flex:1;" range="{{contactList}}" range-key="name" bindchange="doChangeContact">
<view style="display: flex;flex-direction: row;align-items: center;margin-right:20rpx;">
<view class="icon-user-default-blue size-48"></view>
<view class="ml-20" style="font-size: 28rpx;flex:1;">
<view>{{selectContact.name}}</view>
<view style="color:var(--text-gray-hint-color);font-size: 24rpx;">{{tools.phoneNum(selectContact.phone,3,4,'****')}}</view>
</view>
<view class="icon-arrow-solid"></view>
</view>
</picker>
<view style="display: flex;flex-direction: row;align-items: center;">
<view class="icon-add-circle-blue size-32"></view>
<view class="link ml-10" bind:tap="doCreateContact">新建</view>
</view>
</view>
</picker>
<view class="link" bind:tap="doCreateContact">新建</view>
</view>
<view class="item">
<view class="flex-1">
<text class="label" style="flex: 1;">系统版本</text>
<input class="value {{version != '' ? 'v-select':''}}" placeholder="v1.0" style="flex:1;" value="{{version}}" bindinput="inputVersion" />
</view>
<view class="flex-1">
<text class="label">系统语言</text>
<view class="value selection-box ml-20" bindtap="toggleOptions">
<view style="display: flex;align-items: center;">
<view class="language-sel {{selectLang != ''? 'v-select':''}}">{{selectLang}}</view>
<view class="icon-arrow-down-line" style="width: 28rpx;height: 28rpx;"></view>
<view class="item">
<text class="label star">系统版本</text>
<view class="select-content">
<input class="value {{version != '' ? 'v-select':''}}" placeholder="v1.0" style="flex:1;padding:8rpx;" value="{{version}}" bindinput="inputVersion" />
</view>
<text class="label star mt-20">系统语言</text>
<view class="select-content">
<view class="value" bindtap="toggleOptions">
<view style="display: flex;align-items: center;">
<view class="language-sel {{selectLang != ''? 'v-select':''}}">{{selectLang}}</view>
<view class="icon-arrow-solid"></view>
</view>
</view>
</view>
</view>
<view class="item">
<view class="label star">开发完成时间</view>
<view class="select-content" style="align-items: center;padding: 15rpx;">
<picker mode="date" style="flex:1;" value="{{date}}" start="2010-01-01" end="2050-01-01" bindchange="bindDateChange">
<view class="select-time {{completeDate ==''? 'value-hint':''}}">{{completeDate != ''? completeDate:'请选择开发完成时间'}}</view>
</picker>
<view style="display: flex;flex-direction: row;">
<view wx:if="{{completeDate !=''}}" bind:tap="clearTime" class="icon-clear clear-icon"></view>
<view wx:if="{{completeDate==''}}" class="icon-calendar-ind" style="height: 32rpx;width: 32rpx;"></view>
</view>
</view>
</view>
</view>
<view class="item">
<view class="label">开发完成时间</view>
<picker mode="date" style="flex:1;" value="{{date}}" start="2010-01-01" end="2050-01-01" bindchange="bindDateChange">
<view class="select-time {{completeDate ==''? 'value-hint':''}}">{{completeDate != ''? completeDate:'请选择开发完成时间'}}</view>
</picker>
<view style="display: flex;flex-direction: row;">
<view wx:if="{{completeDate !=''}}" bind:tap="clearTime" class="icon-clear clear-icon"></view>
<view wx:if="{{completeDate==''}}" class="icon-calendar-ind" style="height: 32rpx;width: 32rpx;"></view>
</view>
<!-- 第二部分 -->
<view class="content-box">
<view class="info-title">套餐与优惠</view>
<view class="selection">
<view wx:if="{{canSelPackage}}" class="item">
<text class="label">套餐包</text>
<view class="select-content" style="align-items: center;padding: 15rpx;">
<text class="value {{!tools.isEmpty(selectPackage) ? 'v-select':'v-normal'}}" style="flex: 1;" bind:tap="doShowPackage">{{selectPackage.packageName?selectPackage.packageName:'请选择套餐包'}}</text>
<view class="icon-arrow-solid"></view>
<text wx:if="{{!tools.isEmpty(selectPackage)}}" class="link" bind:tap="clearSelectPackageOrCoupons">取消</text>
</view>
</view>
<view wx:if="{{canSelCoupons}}" class="item">
<text class="label">优惠券</text>
<view class="select-content" style="align-items: center;padding: 15rpx;">
<text bindtap="doShowCoupons" class="value {{!tools.isEmpty(selectCoupons)? 'v-select':'v-normal'}}">{{selectCoupons.couponId? selectCoupons.coupon.title : '请选择优惠券'}}</text>
<view class="icon-arrow-solid"></view>
<text class="link" wx:if="{{!tools.isEmpty(selectCoupons)}}" bind:tap="clearSelectPackageOrCoupons">取消</text>
</view>
</view>
</view>
</view>
<!-- 第二部分 -->
<view class="section">
<view wx:if="{{canSelPackage}}" class="item" style="justify-content: space-between;">
<text class="label">套餐包</text>
<text class="value {{!tools.isEmpty(selectPackage) ? 'v-select':''}}" style="flex: 1;text-align: right;" bind:tap="doShowPackage">{{selectPackage.packageName?selectPackage.packageName:'请选择套餐包'}}</text>
<text wx:if="{{!tools.isEmpty(selectPackage)}}" class="link" bind:tap="clearSelectPackageOrCoupons">取消</text>
</view>
<view wx:if="{{canSelCoupons}}" class="item">
<text class="label">优惠券</text>
<text bindtap="doShowCoupons" class="value {{!tools.isEmpty(selectCoupons)? 'v-select':''}}">{{selectCoupons.couponId? selectCoupons.coupon.title : '请选择优惠券'}}</text>
<text class="link" wx:if="{{!tools.isEmpty(selectCoupons)}}" bind:tap="clearSelectPackageOrCoupons">取消</text>
<text class="link" bindtap="doShowCoupons" wx:if="{{tools.isEmpty(selectCoupons)}}">选择</text>
</view>
</view>
</view>
</view>
<view class="bottom-box">
</scroll-view>
<view class="bottom-fixed-footer">
<view class="money">
<view>金额:<text class="price">{{price/100}}元</text></view>
<checkbox-group class="custom-checkbox" bindchange="doUrgent" wx:if="{{isShowUrgent}}">
<checkbox-group wx:if="{{isShowUrgent}}" class="custom-checkbox" bindchange="doUrgent">
<checkbox checked="{{isUrgent}}" class="custom-wx-checkbox" disabled="{{isUrgentDisable}}">
<text style="color: #532A00;padding-left: 3rpx;font-weight: 400;">加急办理{{urgent/100}}元</text>
<text style="color: var(--text-brown-color);padding-left: 3rpx;">加急办理{{urgent/100}}元</text>
</checkbox>
</checkbox-group>
</view>
<view class="btn" bind:tap="doCreateProject">保存并付款</view>
<view class="bottom-btn-green" bind:tap="doCreateProject">保存并付款</view>
</view>
</view>
<mp-half-screen-dialog show="{{isShowContact}}" bindclose="closeDialog">
<view slot="title">创建联系人</view>
<view slot="title" style="font-size: 32rpx;">创建联系人</view>
<view slot="desc">
<view class="form-item">
<view class="form-item-title">姓名</view>
<input adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{contactName}}" placeholder="请输入姓名" class="form-item-content" bindinput="inputContactName" />
</view>
<view class="form-item">
<view class="form-item-title">联系电话</view>
<input adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{contactPhone}}" placeholder="请输入联系电话" class="form-item-content" bindinput="inputContactPhone" />
</view>
<view class="form-item">
<view class="form-item-title no-after" style="padding-left: 16rpx;">联系邮箱</view>
<input adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{contactEmail}}" placeholder="请输入联系邮箱" class="form-item-content" bindinput="inputContactEmail" />
</view>
<view class="form-item">
<view class="form-item-title no-after" style="padding-left: 16rpx;">公司</view>
<input adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{contactCompany}}" placeholder="请输入公司名称" class="form-item-content" bindinput="inputContactCompany" />
<view class="form-box">
<view class="form-item">
<text class="form-item-title star" decode="{{true}}">姓&emsp;&emsp;名</text>
<input adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{contactName}}" placeholder="请输入姓名" class="form-item-content" bindinput="inputContactName" />
</view>
<view class="form-item">
<text class="form-item-title star">联系电话</text>
<input adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{contactPhone}}" placeholder="请输入联系电话" class="form-item-content" bindinput="inputContactPhone" />
</view>
<view class="form-item">
<text class="form-item-title">联系邮箱</text>
<input adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{contactEmail}}" placeholder="请输入联系邮箱" class="form-item-content" bindinput="inputContactEmail" />
</view>
<view class="form-item">
<text class="form-item-title" decode>公&emsp;&emsp;司</text>
<input adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{contactCompany}}" placeholder="请输入公司名称" class="form-item-content" bindinput="inputContactCompany" />
</view>
</view>
</view>
<view slot="footer">

View File

@ -4,11 +4,18 @@
justify-content: flex-start;
}
.scroll-container {
height: 100vh;
/* background: linear-gradient(to bottom, var(--bg-top-color), var(--bg-bottom-color));
background-size: 100% 100vh;
background-repeat: no-repeat; */
}
.container-box {
display: flex;
flex-direction: column;
justify-content: flex-start;
padding: 15px;
padding: 30rpx 30rpx 240rpx 30rpx;
}
@ -16,6 +23,9 @@
display: flex;
flex-direction: column;
margin-top: 20rpx;
background-color: var(--white-color);
padding: 20rpx;
border-radius: 20rpx;
}
.info-title {
@ -25,13 +35,13 @@
.info-value {
margin-top: 20rpx;
border: 1rpx solid var(--divider-color);
font-size: 24rpx;
line-height: 24rpx;
background-color: var(--white-color);
background-color: var(--bg-gray-input-color);
height: 65rpx;
width: auto;
padding: 15px;
border-radius: 20rpx;
}
.info-btn {
@ -45,30 +55,38 @@
}
.content-box {
border-radius: 20rpx;
padding: 20rpx;
background-color: var(--white-color);
margin-top: 20rpx;
}
.section {
border: 1px solid var(--divider-color);
border-radius: 5rpx;
padding: 15rpx;
margin-bottom: 15rpx;
background-color: white;
}
.item {
display: flex;
align-items: center;
flex-direction: column;
margin-bottom: 10rpx;
padding: 20rpx 10rpx;
font-size: 28rpx;
}
.label {
color: black;
color: var(--text-color);
font-weight: bold;
}
.select-content {
margin-top: 15rpx;
display: flex;
flex-direction: row;
padding: 10rpx 20rpx;
border-radius: 15rpx;
background-color: var(--bg-gray-input-color);
}
.desc {
flex: 1;
color: #999;
@ -82,11 +100,10 @@
}
.select-time {
color: #000000;
color: var(--text-color);
flex: 1;
font-size: 28rpx;
text-align: left;
padding-left: 30rpx;
}
.clear-icon {
@ -101,12 +118,9 @@
}
.value {
color: #9A9A9A;
padding-right: 10px;
flex: 1;
text-align: right;
padding-right: 10px;
font-size: 14px;
text-align: left;
font-size: 28rpx;
}
@ -118,11 +132,14 @@
color: var(--text-color);
}
.v-normal {
color: var(--text-gray-hint-color)
}
.language-sel {
font-size: 14px;
flex: 1;
text-align: center;
text-align: left;
}
@ -165,7 +182,7 @@
}
.weui-half-screen-dialog__ft {
padding: 0rpx 0rpx 40rpx;
padding: 0rpx 0rpx 40rpx 0rpx;
}
.bottom-box {
@ -194,11 +211,13 @@
margin-bottom: 20px;
}
.bottom-box .money {
.money {
color: var(--text-brown-color);
font-size: 20px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
}
.price {
@ -208,40 +227,28 @@
.form-box {
display: flex;
flex-direction: column;
justify-content: center;
align-items: flex-start;
font-size: 14px;
background-color: var(--primary-color);
}
.form-item {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
padding: 10px;
width: 80vw;
padding: 10rpx 0rpx;
}
.form-item-title {
flex: .3;
font-size: 14px;
flex: 0.25;
font-size: 28rpx;
color: var(--black-color);
font-weight: 500;
text-align: left;
}
.form-item-title:not(.no-after)::before {
content: "*";
color: var(--red-color);
font-size: 14px;
margin-left: 1px;
text-align: center;
}
.form-item-content {
flex: 1;
flex: 0.75;
text-align: right;
background-color: var(--bg-gray-input-color);
border-radius: 15rpx;
padding: 15rpx;
}
.project-box {
@ -268,7 +275,7 @@
height: 40px;
border-radius: 5px;
text-align: center;
width: 85vw !important;
width: 100% !important;
}
@ -276,7 +283,6 @@
padding-bottom: 40rpx;
display: flex;
flex-direction: column;
align-items: center;
}
.coupons-list-box {

View File

@ -38,7 +38,7 @@
.card-box {
margin-top: 20rpx;
border-radius: 10rpx;
border-radius: 15rpx;
display: flex;
flex-direction: column;
padding: 30rpx;

View File

@ -14,7 +14,7 @@
<view class="item">
<view class="title star">公司名称</view>
<view class="content">
<input class="input-box" placeholder="请输入公司名称" value="{{companyName}}" bindinput="inputCompanyName" />
<input class="input-box" placeholder-style="font-size:28rpx" placeholder="请输入公司名称" value="{{companyName}}" bindinput="inputCompanyName" />
</view>
</view>
<view class="item">
@ -23,7 +23,7 @@
</view>
<view class="item">
<view class="title star">银行账号</view>
<view class="content"><input class="input-box" placeholder="请输入银行账号" value="{{companyBankNum}}" bindinput="inputCompanyNum" /></view>
<view class="content"><input class="input-box" placeholder-style="font-size:28rpx" placeholder="请输入银行账号" value="{{companyBankNum}}" bindinput="inputCompanyNum" /></view>
</view>
<view class="item">
<view class="title star">打款时间</view>
@ -33,6 +33,7 @@
<view class="time-picker">
{{dateTimeArray[0][dateTime[0]]}}-{{dateTimeArray[1][dateTime[1]]}}-{{dateTimeArray[2][dateTime[2]]}} {{dateTimeArray[3][dateTime[3]]}}:{{dateTimeArray[4][dateTime[4]]}}:{{dateTimeArray[5][dateTime[5]]}}
</view>
<view class="icon-arrow-solid"></view>
</view>
</picker>
</view>
@ -47,15 +48,15 @@
<view class="container-box">
<view class="box-title">收款方信息</view>
<view class="item mt-10">
<view class="title">公司名称</view>
<text class="title" decode>公 司 名 称</text>
<view class="content">{{incomeEnterprise.bankAccountName}}</view>
</view>
<view class="item">
<view class="title">开户银行</view>
<view class="title">开 行</view>
<view class="content">{{incomeEnterprise.bankName}}</view>
</view>
<view class="item">
<view class="title">银行账号</view>
<view class="title">银 号</view>
<view class="content">{{incomeEnterprise.bankNumber}}</view>
</view>
<view class="item">
@ -63,11 +64,11 @@
<view class="content">{{incomeEnterprise.bankUnionpayNumber}}</view>
</view>
<view class="item">
<view class="title">打款备注</view>
<view class="title">打 注</view>
<view class="content">{{incomeEnterprise.bankRemark}}</view>
</view>
<view class="item">
<view class="title" style="font-weight: 600;">说明</view>
<text class="title" style="font-weight: 600;" decode>说&ensp;&ensp;&ensp;&ensp;&ensp;&ensp;明</text>
<view class="content" style="color: red;">请打款时必须按照以上备注填写</view>
</view>
</view>

View File

@ -4,7 +4,7 @@
justify-content: center;
background-color: var(--white-color);
margin-top: 10px;
border-radius: 5px;
border-radius: 15rpx;
}
.container-box:nth-of-type(n+2) {
@ -44,12 +44,15 @@
.time-picker-box {
flex: 1;
background-color: var(--white-color);
border: 1px solid var(--divider-color);
border-radius: 2rpx;
padding: 3px 8px;
background-color: var(--bg-gray-input-color);
border-radius: 10rpx;
padding: 10rpx 15rpx;
text-align: left;
font-size: 12px;
font-size: 28rpx;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.weui-uploader {
@ -127,12 +130,11 @@
.input-box {
flex: 1;
background-color: var(--bg-gray-color);
border: 1px solid var(--divider-color);
border-radius: 2rpx;
padding: 6rpx 14rpx;
background-color: var(--bg-gray-input-color);
border-radius: 10rpx;
padding: 12rpx 15rpx;
text-align: left;
font-size: 12px;
font-size: 28rpx;
}
.item-v {

View File

@ -161,6 +161,7 @@ Page({
_self.setData({
hasMore: _self.data.refundList.length < res.total
})
_self.showEditDel()
}, err => {
_self.setData({
loadingState: 'error',
@ -334,5 +335,18 @@ Page({
downloading: false,
downloadProgress: 0
})
}
},
showEditDel() {
const _self = this
const isFirst = Cache.get('refundFirst', '0')
if (isFirst == '0') {
const item = _self.selectComponent('#mp-slide-0')
if (item) {
item.setData({
show: true
})
Cache.set('refundFirst', '1')
}
}
},
})

View File

@ -210,6 +210,7 @@ Page({
_self.setData({
hasMore: _self.data.repairList.length < res.total
})
_self.showEditDel()
}, err => {
_self.setData({
loadingState: 'error',
@ -497,5 +498,18 @@ Page({
downloading: false,
downloadProgress: 0
})
}
},
showEditDel() {
const _self = this
const isFirst = Cache.get('repairFirst', '0')
if (isFirst == '0') {
const item = _self.selectComponent('#mp-slide-0')
if (item) {
item.setData({
show: true
})
Cache.set('repairFirst', '1')
}
}
},
})

View File

@ -4,6 +4,7 @@ import {
isValidPhone
} from '../../../../utils/validator'
const app = getApp()
const Cache = require('../../../../utils/storage')
Page({
/**
@ -57,9 +58,9 @@ Page({
})
this.doRefreshList()
},
closeDialog(e){
closeDialog(e) {
this.setData({
createDialog:false
createDialog: false
})
},
inputKeywords(e) {
@ -100,6 +101,7 @@ Page({
_self.setData({
hasMore: _self.data.invoiceInfoList.length < res.total
})
_self.showEditDel()
}, err => {
_self.setData({
loadingState: 'error',
@ -169,7 +171,13 @@ Page({
this.setData({
title: '开票信息',
isCreate: true,
createDialog: !this.data.createDialog
createDialog: !this.data.createDialog,
companyName: '',
tinNum: '',
companyAddress: '',
companyPhone: '',
companyBank: '',
bankNum: '',
})
},
//显示编辑
@ -359,5 +367,18 @@ Page({
//删除
this.showDelDialog(item)
}
}
},
showEditDel() {
const _self = this
const isFirst = Cache.get('invoiceFirst', '0')
if (isFirst == '0') {
const item = _self.selectComponent('#mp-slide-0')
if (item) {
item.setData({
show: true
})
Cache.set('invoiceFirst', '1')
}
}
},
})

View File

@ -11,7 +11,7 @@
<scroll-view scroll-y="{{true}}" style="height: 83vh;padding-bottom: 40px;" bindrefresherrefresh="doRefreshList" refresher-enabled refresher-triggered="{{listRefreshTrig}}" bindscrolltolower="doLoadMore" lower-threshold='30'>
<view class="order-box">
<block wx:for="{{invoiceInfoList}}" wx:key="index">
<mp-slideview id="mp-slide" buttons="{{slideButtons}}" icon="{{true}}" data-value="{{item}}" bindbuttontap="slideButtonTap">
<mp-slideview id="mp-slide-{{index}}" buttons="{{slideButtons}}" icon="{{true}}" data-value="{{item}}" bindbuttontap="slideButtonTap">
<view class="order-item">
<view class="contact-desc">
<view class="contact-icon">
@ -30,8 +30,8 @@
</block>
<mp-loading show="{{isLoadMore}}" type="circle"></mp-loading>
<view wx:if="{{!hasMore}}" class="no-more">
<view class="no-more-dot"></view>
</view>
<view class="no-more-dot"></view>
</view>
</view>
</scroll-view>
</container-loading>
@ -44,27 +44,27 @@
<view slot="desc">
<view class="form-box">
<view class="form-item">
<view class="form-item-title">公司名称</view>
<text class="form-item-title star" decode>公&ensp;司&emsp;名&ensp;称</text>
<input confirm-type="next" type="text" adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{companyName}}" placeholder="请输入公司名称" class="form-item-content" bindinput="inputCompanyName" />
</view>
<view class="form-item">
<view class="form-item-title">纳税人识别号</view>
<text class="form-item-title star">纳税人识别号</text>
<input confirm-type="next" type="text" adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{tinNum}}" placeholder="请输入纳税人识别号" class="form-item-content" bindinput="inputTinNum" />
</view>
<view class="form-item">
<view class="form-item-title no-after" style="padding-left: 16rpx;">公司地址</view>
<text class="form-item-title" decode>公&ensp;司&emsp;地&ensp;址</text>
<input confirm-type="next" type="text" adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{companyAddress}}" placeholder="请输入公司地址" class="form-item-content" bindinput="inputAddress" />
</view>
<view class="form-item">
<view class="form-item-title no-after" style="padding-left: 16rpx;">公司电话</view>
<text class="form-item-title" decode>公&ensp;司&emsp;电&ensp;话</text>
<input confirm-type="next" type="text" adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{companyPhone}}" placeholder="请输入公司电话" class="form-item-content" bindinput="inputPhone" />
</view>
<view class="form-item">
<view class="form-item-title no-after" style="padding-left: 16rpx;">开户行</view>
<text class="form-item-title" decode>开&emsp;&ensp;户&ensp;&emsp;行</text>
<input confirm-type="next" type="text" adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{companyBank}}" placeholder="请输入开户行" class="form-item-content" bindinput="inputBank" />
</view>
<view class="form-item">
<view class="form-item-title no-after" style="padding-left: 16rpx;">开户行账号</view>
<text class="form-item-title" decode>开 户 行 账 号</text>
<input confirm-type="next" type="text" adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{bankNum}}" placeholder="请输入开户行账号" class="form-item-content" bindinput="inputBankNum" />
</view>
</view>

View File

@ -93,22 +93,16 @@
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.order-item {
display: flex;
flex-direction: column;
background-color: white;
border-radius: 10px;
width: 94vw;
background-color: var(--white-color);
border-radius: 15rpx;
}
.order-item:nth-of-type(n+2) {
margin-top: 15px;
}
#mp-slide {
margin-top: 20rpx;
}
@ -198,9 +192,6 @@
display: flex;
flex-direction: column;
justify-content: center;
align-items: flex-start;
font-size: 14px;
width: 100vw;
}
.form-item {
@ -208,39 +199,35 @@
flex-direction: row;
justify-content: flex-start;
align-items: center;
width: 80vw;
padding: 10px;
padding: 10rpx 0rpx;
}
.form-item-title {
flex: .5;
font-size: 14px;
font-size: 28rpx;
color: var(--text-color);
font-weight: 500;
text-align: left;
}
.form-item-title:not(.no-after)::before {
content: "*";
color: var(--red-color);
font-size: 14px;
margin-left: 1px;
text-align: center;
}
.form-item-content {
flex: 1;
text-align: right;
background-color: var(--bg-gray-input-color);
padding: 15rpx;
border-radius: 15rpx;
margin-left: 20rpx;
}
.confirm-btn {
background-color: var(--btn-green-color);
color: white;
font-size: 16px;
font-size: 28rpx;
height: 70rpx;
line-height: 70rpx;
border-radius: 5px;
width: 85vw !important;
width: 100% !important;
padding: 0rpx;
}

View File

@ -62,8 +62,8 @@
<view style="padding-left:20rpx;font-size: 28rpx;color: var(--red-color);font-weight: bold;">{{editBean.invoiceFinalRecord}}</view>
</view>
</view>
<view class="bottom-btn">
<view class="confirm-btn" bind:tap="confirmSubmit">提交</view>
<view class="bottom-fixed-footer">
<view class="bottom-btn-green" bind:tap="confirmSubmit">提交</view>
</view>
</view>
<!-- 开票信息 -->

View File

@ -7,8 +7,8 @@
display: flex;
flex-direction: column;
padding: 20rpx;
background-color: white;
border-radius: 10rpx;
background-color: var(--white-color);
border-radius: 15rpx;
}
.invoice-info-item {
@ -27,14 +27,14 @@
.invoice-remark {
height: 120rpx;
border: 1rpx solid var(--divider-color);
align-self: center;
border-radius: 10rpx;
width: 95%;
padding: 10rpx;
margin-top: 10rpx;
margin-bottom: 20rpx;
font-size: 28rpx;
padding: 15rpx;
background-color: var(--bg-gray-input-color);
}
@ -87,11 +87,17 @@
.invoice-info-item-content {
font-size: 28rpx;
padding-left: 20rpx;
margin-left: 15rpx;
flex: 1;
align-items: center;
justify-content: flex-end;
display: flex;
flex-direction: row;
padding: 10rpx 15rpx;
}
.bg-gray {
background-color: var(--bg-gray-input-color);
}
.custom-radio-group {

View File

@ -5,6 +5,7 @@ const {
isValidEmail
} = require('../../../../utils/validator')
const app = getApp()
const Cache = require('../../../../utils/storage')
Page({
/**
@ -332,6 +333,8 @@ Page({
_self.setData({
hasMore: _self.data.contactList.length < res.total
})
//首次提示滑动删除和编辑
_self.showEditDel()
}, err => {
_self.setData({
loadingState: 'error',
@ -341,6 +344,20 @@ Page({
})
})
},
//首次提示滑动删除和编辑
showEditDel() {
const _self = this
const isFirst = Cache.get('contactFirst', '0')
if (isFirst == '0') {
const item = _self.selectComponent('#mp-slide-0')
if (item) {
item.setData({
show: true
})
Cache.set('contactFirst', '1')
}
}
},
//清除搜索内容
clearSearch() {
const _self = this

View File

@ -11,24 +11,26 @@
<scroll-view scroll-y="{{true}}" style="height: 85vh;padding-bottom: 40px;" bindrefresherrefresh="doRefreshList" refresher-enabled refresher-triggered="{{listRefreshTrig}}" bindscrolltolower="doLoadMore" lower-threshold='30'>
<view class="order-box">
<block wx:for="{{contactList}}" wx:key="index">
<mp-slideview id="mp-slide" buttons="{{slideBtns}}" icon="{{true}}" bindshow="show" data-value="{{item}}" bindhide="hide" bindbuttontap="slideButtonTap">
<view class="order-item">
<view class="contact-desc">
<view class="contact-icon">
<view class="ic-user" style="width: 24px;height: 24px;"></view>
<view class="ml-10 name">{{item.name}}</view>
<view class="order-item">
<mp-slideview id="mp-slide-{{index}}" buttons="{{slideBtns}}" icon="{{true}}" bindshow="show" data-value="{{item}}" bindhide="hide" bindbuttontap="slideButtonTap">
<view class="order-item-container">
<view class="contact-desc">
<view class="contact-icon">
<view class="ic-user" style="width: 24px;height: 24px;"></view>
<view class="ml-10 name">{{item.name}}</view>
</view>
<view>{{item.phone}}</view>
</view>
<view>{{item.phone}}</view>
<view class="service-desc ml-10">{{item.company}}</view>
<view class="service-desc ml-10">专属客服 : {{item.csaNo}}</view>
</view>
<view class="service-desc ml-10">{{item.company}}</view>
<view class="service-desc ml-10">专属客服 : {{item.csaNo}}</view>
</view>
</mp-slideview>
</mp-slideview>
</view>
</block>
<mp-loading show="{{isLoadMore}}" type="circle"></mp-loading>
<view wx:if="{{!hasMore}}" class="no-more">
<view class="no-more-dot"></view>
</view>
<view class="no-more-dot"></view>
</view>
</view>
</scroll-view>
</container-loading>
@ -37,23 +39,23 @@
<!-- 新增 -->
<mp-half-screen-dialog show="{{showCreateContact}}" bindclose="closeDialog">
<view slot="title">{{title}}</view>
<view slot="title" style="font-size: 32rpx;">{{title}}</view>
<view slot="desc">
<view class="form-box">
<view class="form-item">
<view class="form-item-title">姓名</view>
<text class="form-item-title star" decode>姓&emsp;&emsp;名</text>
<input adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{contactName}}" placeholder="请输入姓名" class="form-item-content" bindinput="inputContactName" />
</view>
<view class="form-item">
<view class="form-item-title">联系电话</view>
<view class="form-item-title star">联系电话</view>
<input adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{contactPhone}}" placeholder="请输入联系电话" class="form-item-content" bindinput="inputContactPhone" />
</view>
<view class="form-item">
<view class="form-item-title no-after" style="padding-left: 16rpx;">联系邮箱</view>
<view class="form-item-title">联系邮箱</view>
<input adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{contactEmail}}" placeholder="请输入联系邮箱" class="form-item-content" bindinput="inputContactEmail" />
</view>
<view class="form-item">
<view class="form-item-title no-after" style="padding-left: 16rpx;">公司</view>
<text class="form-item-title" decode>公&emsp;&emsp;司</text>
<input adjust-position="{{true}}" cursor-spacing="{{50}}" value="{{contactCompany}}" placeholder="请输入公司名称" class="form-item-content" bindinput="inputContactCompany" />
</view>
</view>

View File

@ -84,15 +84,22 @@
.order-item {
display: flex;
flex-direction: column;
background-color: white;
border-radius: 10px;
width: 94vw;
}
#mp-slide:nth-of-type(n+2) {
.order-item-container {
display: flex;
flex-direction: column;
border-radius: 10px;
background-color: var(--white-color);
}
.order-item:nth-of-type(n+2) {
margin-top: 20rpx;
}
.contact-desc {
display: flex;
flex-direction: row;
@ -169,7 +176,6 @@
display: flex;
flex-direction: column;
justify-content: center;
font-size: 14px;
}
.form-item {
@ -177,29 +183,24 @@
flex-direction: row;
justify-content: flex-start;
align-items: center;
padding: 10px;
padding: 10rpx 0rpx;
}
.form-item-title {
flex: .3;
font-size: 28rpx;
color: var(--text-color);
font-weight: 500;
text-align: left;
}
.form-item-title:not(.no-after)::before {
content: "*";
color: var(--red-color);
font-size: 28rpx;
margin-left: 1px;
text-align: center;
}
.form-item-content {
flex: 1;
text-align: right;
font-size: 28rpx;
padding: 15rpx;
border-radius: 15rpx;
background-color: var(--bg-gray-input-color);
}
.confirm-btn {
@ -210,7 +211,6 @@
border-radius: 5px;
text-align: center;
width: 100% !important;
/* width: 85vw !important; */
}
.confirm-btn:active {
@ -218,7 +218,7 @@
}
.weui-half-screen-dialog__ft {
padding: 0rpx 0rpx 40rpx;
padding: 0rpx 0rpx 40rpx 0rpx;
}
.weui-half-screen-dialog__bd {

View File

@ -1,7 +1,7 @@
<view class="page-container">
<view class="info-container">
<view class="item">
<view class="item-title">姓名</view>
<text class="item-title" decode>姓&emsp;&emsp;名</text>
<view class="item-content">
<input value="{{userInfo.userInfoName}}" bindinput="inputName" placeholder="请输入姓名" />
</view>

View File

@ -20,6 +20,10 @@
.item-content {
flex: .7;
text-align: right;
padding: 15rpx;
border-radius: 15rpx;
background-color: var(--bg-gray-input-color);
font-size: 28rpx;
}
.bottom-box {

View File

@ -6,6 +6,7 @@ const screenInfo = wx.getWindowInfo();
const statusBarHeight = screenInfo.statusBarHeight; // 状态栏高度
const navBarHeight = deviceInfo.platform == 'IOS' ? 48 : 50; // 导航栏高度iOS 为 44pxAndroid 为 48px
const windowHeight = screenInfo.windowHeight - navBarHeight - statusBarHeight; //可用内容高度
const Cache = require('../../../../utils/storage')
Page({
/**
@ -104,6 +105,7 @@ Page({
_self.setData({
hasMore: _self.data.msgList.length < res.total
})
_self.showEditDel()
}, err => {
_self.setData({
loadingState: 'error',
@ -182,5 +184,18 @@ Page({
msgShow: true
})
})
}
},
showEditDel() {
const _self = this
const isFirst = Cache.get('noticeFirst', '0')
if (isFirst == '0') {
const item = _self.selectComponent('#mp-slide-0')
if (item) {
item.setData({
show: true
})
Cache.set('noticeFirst', '1')
}
}
},
})

View File

@ -20,27 +20,29 @@
</view>
<view style="margin-top: 60px;">
<container-loading loadingState="{{loadingState}}" bindrefresh="doRefreshList">
<scroll-view scroll-y style="height: 85vh;" bindrefresherrefresh="doRefreshList" refresher-enabled refresher-triggered="{{listRefreshTrig}}" bindscrolltolower="doLoadMore" lower-threshold='30'>
<scroll-view scroll-y style="height: 85vh;" bindrefresherrefresh="doRefreshList" refresher-enabled refresher-triggered="{{listRefreshTrig}}" bindscrolltolower="doLoadMore" lower-threshold='50'>
<view class="coupons-list-box">
<block wx:for="{{msgList}}" wx:key="index">
<mp-slideview id="mp-slide" buttons="{{onlyDelBtns}}" icon="{{true}}" data-value="{{item}}" bindbuttontap="slideButtonTap">
<view class="msg-item-box" bind:tap="readItem" data-value="{{item}}">
<view class="msg-title-box">
<view wx:if="{{item.isRead==0}}" class="msg-content-notice-point"></view>
<view class="title-type">{{item.title}}</view>
<view class="title-time">{{item.gmtCreate}}</view>
<view class="msg-item-container">
<mp-slideview id="mp-slide-{{index}}" buttons="{{onlyDelBtns}}" icon="{{true}}" data-value="{{item}}" bindbuttontap="slideButtonTap">
<view class="msg-item-box" bind:tap="readItem" data-value="{{item}}">
<view class="msg-title-box">
<view class="title-type">{{item.title}}</view>
<view class="title-time">{{item.gmtCreate}}</view>
</view>
<view class="divider-v mt-10"></view>
<view class="msg-content-box">
<view style="color:{{item.isRead==0 ?'var(--text-color)':'var(--text-gray-hint-color)'}}" class="msg-content-content">{{item.content}}</view>
</view>
</view>
<view class="divider-v mt-10"></view>
<view class="msg-content-box">
<view style="color:{{item.isRead==0 ?'var(--text-color)':'var(--text-gray-hint-color)'}}" class="msg-content-content">{{item.content}}</view>
</view>
</view>
</mp-slideview>
</mp-slideview>
</view>
</block>
<mp-loading show="{{isLoadMore}}" type="circle"></mp-loading>
<view wx:if="{{!hasMore}}" class="no-more">
<view class="no-more-dot"></view>
</view>
<view class="no-more-dot"></view>
</view>
</view>
</scroll-view>
</container-loading>

View File

@ -59,6 +59,14 @@
flex-direction: column;
}
.msg-item-container {
background-color: transparent;
}
.msg-item-container:nth-of-type(n+2) {
margin-top: 20rpx;
}
.msg-item-box {
display: flex;
flex-direction: column;
@ -104,7 +112,3 @@
.msg-content-content {
font-size: 28rpx;
}
#mp-slide:nth-of-type(n+2) {
margin-top: 20rpx;
}

View File

@ -34,6 +34,7 @@ page {
--bg-green-status-light-color: #AFE5C7;
--bg-red-deep-color: #F7312A;
--bg-gray-shade-color: #00000025;
--bg-gray-input-color: #F9FAFB;
/* 按钮颜色 */
--btn-cyan-color: #39C7C1;
--btn-cyan-active: #39c7c08f;

View File

@ -103,3 +103,15 @@
background-size: cover;
background-repeat: no-repeat;
}
.icon-add-circle-blue {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ3MDM1NjY4ODU4IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE2NDIiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTUxMiA5MzYuOTE1NjE5Yy0yMzQuNjcyNzY0IDAtNDI0LjkxNTYxOS0xOTAuMjQzODc5LTQyNC45MTU2MTktNDI0LjkxNTYxOVMyNzcuMzI3MjM2IDg3LjA4MzM1NyA1MTIgODcuMDgzMzU3YzIzNC42NzY4NTcgMCA0MjQuOTE2NjQzIDE5MC4yNDM4NzkgNDI0LjkxNjY0MyA0MjQuOTE1NjE5Uzc0Ni42NzY4NTcgOTM2LjkxNTYxOSA1MTIgOTM2LjkxNTYxOXpNNzI0LjQ1NzgxIDQ2OS41MDQxNCA1NTQuNDkxNzY3IDQ2OS41MDQxNCA1NTQuNDkxNzY3IDI5OS41NDYyODRsLTg0Ljk4MzUzMyAwIDAgMTY5Ljk1Nzg1N0wyOTkuNTQyMTkgNDY5LjUwNDE0bDAgODQuOTkxNzIgMTY5Ljk2NjA0MyAwIDAgMTY5Ljk2NjA0MyA4NC45ODM1MzMgMEw1NTQuNDkxNzY3IDU1NC40OTU4NmwxNjkuOTY2MDQzIDBMNzI0LjQ1NzgxIDQ2OS41MDQxNHoiIHAtaWQ9IjE2NDMiIGZpbGw9IiMzMjcwRkYiPjwvcGF0aD48L3N2Zz4=');
background-size: cover;
background-repeat: no-repeat;
}
.icon-user-default-blue {
background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQzOTg4MzkwNjkwIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjM0MDkiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTUxMiAxMDI0QzIyOS4yMDUzMzMgMTAyNCAwIDc5NC43OTQ2NjcgMCA1MTJTMjI5LjIwNTMzMyAwIDUxMiAwczUxMiAyMjkuMjA1MzMzIDUxMiA1MTItMjI5LjIwNTMzMyA1MTItNTEyIDUxMnogbTAtNDk2LjQ2OTMzM2ExNzAuNjY2NjY3IDE3MC42NjY2NjcgMCAxIDAgMC0zNDEuMzMzMzM0IDE3MC42NjY2NjcgMTcwLjY2NjY2NyAwIDAgMCAwIDM0MS4zMzMzMzR6IG0yNjMuNzY1MzMzIDI2My43MjI2NjZhMjYzLjc2NTMzMyAyNjMuNzY1MzMzIDAgMSAwLTUyNy41MzA2NjYgMGg1MjcuNTMwNjY2eiIgcC1pZD0iMzQxMCIgZmlsbD0iIzEyOTZkYiI+PC9wYXRoPjwvc3ZnPg==');
background-size: cover;
background-repeat: no-repeat;
}

View File

@ -348,6 +348,12 @@ var repairKind = function (kind) {
}
return str
}
var phoneNum = function (str, startLength, endLength, replaceStr) {
if (str.length <= startLength + endLength) {
return str;
}
return str.slice(0, startLength) + replaceStr + str.slice(str.length - endLength);
}
module.exports = {
isEmpty: isEmpty,
status: status,
@ -369,5 +375,6 @@ module.exports = {
repairStatus: repairStatus,
repairStatusColor: repairStatusColor,
repairType: repairType,
repairKind: repairKind
repairKind: repairKind,
phoneNum: phoneNum
};