fix: 功能样式,统一优化完善。

This commit is contained in:
tianyongbao
2026-06-28 12:06:05 +08:00
parent a506f2de98
commit f353971554
39 changed files with 1096 additions and 374 deletions

View File

@@ -9,58 +9,58 @@
<view class="section">
<view class="section-title">{{ title}}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="190rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="记账类型" prop="typeName" required @click="handleAccountType">
<view class="input-with-arrow">
<u--input v-model="form.typeName" readonly disabledColor="#ffffff" placeholder="请选择记账类型"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('typeName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="储蓄账户类型" v-show="debitTypeShow" prop="tempDebitTypeName" @click="handleDebitType">
<view class="input-with-arrow">
<u--input v-model="tempDebitTypeName" readonly disabledColor="#ffffff" placeholder="请选择储蓄账户类型"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('tempDebitTypeName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="记账账户" prop="accountName" required @click="handleAccountName">
<view class="input-with-arrow">
<u--input v-model="form.accountName" readonly disabledColor="#ffffff" placeholder="请选择记账账户"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('accountName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="交易类型" prop="dealTypeName" required @click="handleDealType">
<view class="input-with-arrow">
<u--input v-model="form.dealTypeName" readonly disabledColor="#ffffff" placeholder="请选择交易类型"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('dealTypeName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="交易时间" prop="createTime" required @click="selectDate()">
<view class="input-with-arrow">
<u--input v-model="form.createTime" readonly disabledColor="#ffffff" placeholder="请选择交易时间"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('createTime')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="交易金额" prop="amount" required>
<u--input v-model="form.amount" type="number" placeholder="请填写交易金额"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('amount')"></u--input>
</u-form-item>
<u-form-item label="交易类别" prop="dealCategoryName" required @click="handleDealCategory">
<view class="input-with-arrow">
<u--input v-model="form.dealCategoryName" readonly disabledColor="#ffffff" placeholder="请选择交易类别"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('dealCategoryName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="交易子类别" v-show="childCategoryShow" prop="childCategoryName" required @click="handleChildCategory">
<view class="input-with-arrow">
<u--input v-model="form.childCategoryName" readonly disabledColor="#ffffff" placeholder="请选择交易子类别"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('childCategoryName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -68,7 +68,7 @@
<view class="location-field">
<view class="location-main">
<u--input v-model="form.locationAddress" placeholder="未记录地点,可手动填写或点击定位"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('locationAddress')"></u--input>
<text v-if="form.locationName" class="location-name">{{ form.locationName }}</text>
<text v-if="hasCoordinate" class="location-coord">经纬度{{ form.longitude }}{{ form.latitude }}</text>
</view>
@@ -154,6 +154,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {
id: null,
@@ -673,7 +686,8 @@ onLoad((option) => {
form.value.childCategory = form.value.dealCategory
form.value.childCategoryName = form.value.dealCategory
}
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
if(flag.value==null){
updateAccountDealRecord(form.value).then(res => {
@@ -702,6 +716,11 @@ onLoad((option) => {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -11,36 +11,36 @@
<view class="section">
<view class="section-title">{{ title}}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="储蓄账户" prop="outAccountName" required @click="handleDebitCard">
<view class="input-with-arrow">
<u--input v-model="form.outAccountName" readonly disabledColor="#ffffff" placeholder="请选择储蓄账户"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('outAccountName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="信用卡" prop="inAccountName" required @click="handleCreditCard">
<view class="input-with-arrow">
<u--input v-model="form.inAccountName" readonly disabledColor="#ffffff" placeholder="请选择信用卡"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('inAccountName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="还款时间" prop="createTime" required @click="selectDate()">
<view class="input-with-arrow">
<u--input v-model="form.createTime" readonly disabledColor="#ffffff" placeholder="请选择还款时间" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.createTime" readonly disabledColor="#ffffff" placeholder="请选择还款时间" inputAlign="left" :customStyle="getInputStyle('createTime')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="还款金额" prop="amount" required >
<u--input v-model="form.amount" type="number" placeholder="请填写还款金额"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('amount')"></u--input>
</u-form-item>
<u-form-item label="还款方式" prop="dealTypeName" required @click="handleDealType">
<view class="input-with-arrow">
<u--input v-model="form.dealTypeName" readonly disabledColor="#ffffff" placeholder="请选择还款方式"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('dealTypeName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -131,6 +131,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {
@@ -299,7 +312,8 @@ function handleCreditCard() {
datePickShow.value = false
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
updateAccountsTransferRecord(form.value).then(res => {
proxy.$refs['uToast'].show({
@@ -317,6 +331,11 @@ function handleCreditCard() {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,31 +9,31 @@
<view class="section">
<view class="section-title">{{ title }}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="转出账户" prop="outAccountName" required @click="handleOutAccount">
<view class="input-with-arrow">
<u--input v-model="form.outAccountName" readonly disabledColor="#ffffff" placeholder="请选择转出账户"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('outAccountName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="转入账户" prop="inAccountName" required @click="handleInAccount">
<view class="input-with-arrow">
<u--input v-model="form.inAccountName" readonly disabledColor="#ffffff" placeholder="请选择转入账户"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('inAccountName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="转账时间" prop="createTime" required @click="selectDate()">
<view class="input-with-arrow">
<u--input v-model="form.createTime" readonly disabledColor="#ffffff" placeholder="请选择转账时间" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.createTime" readonly disabledColor="#ffffff" placeholder="请选择转账时间" inputAlign="left" :customStyle="getInputStyle('createTime')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="转账金额" type="number" prop="amount" required >
<u--input v-model="form.amount" type="number" placeholder="请填写转账金额"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('amount')"></u--input>
</u-form-item>
<u-form-item label="备注" prop="remark" labelPosition="top">
<u--textarea v-model="form.remark" placeholder="请填写备注" autoHeight inputAlign="left" count
@@ -107,6 +107,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {
@@ -233,7 +246,8 @@ function handleInAccount() {
datePickShow.value = false
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
updateAccountsTransferRecord(form.value).then(res => {
proxy.$refs['uToast'].show({
@@ -251,6 +265,11 @@ function handleInAccount() {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,39 +9,39 @@
<view class="section">
<view class="section-title">{{ title}}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="投资账户" prop="accountName" required @click="handleAccountName">
<view class="input-with-arrow">
<u--input v-model="form.accountName" readonly disabledColor="#ffffff" placeholder="请选择投资账户"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('accountName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<!-- <u-form-item label="交易类型" prop="dealTypeName" required @click="handleDealType">
<view class="input-with-arrow">
<u--input v-model="form.dealTypeName" readonly disabledColor="#ffffff" placeholder="请选择交易类型"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('dealTypeName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item> -->
<u-form-item label="交易时间" prop="createTime" required @click="selectDate()">
<view class="input-with-arrow">
<u--input v-model="form.createTime" readonly disabledColor="#ffffff" placeholder="请选择交易时间" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.createTime" readonly disabledColor="#ffffff" placeholder="请选择交易时间" inputAlign="left" :customStyle="getInputStyle('createTime')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="交易金额" prop="amount" v-show="!futuresShow" required >
<u--input v-model="form.amount" type="number" placeholder="请填写交易金额"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('amount')"></u--input>
</u-form-item>
<u-form-item label="平仓盈亏" prop="closedPosition" v-show="futuresShow" required >
<u--input v-model="form.closedPosition" type="number" placeholder="请填写平仓盈亏"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('closedPosition')"></u--input>
</u-form-item>
<u-form-item label="手续费" prop="commission" v-show="futuresShow" required >
<u--input v-model="form.commission" type="number" placeholder="请填写手续费"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('commission')"></u--input>
</u-form-item>
<u-form-item label="备注" v-show="!futuresShow" prop="remark" labelPosition="top">
<u--textarea v-model="form.remark" placeholder="请填写备注" autoHeight inputAlign="left" count
@@ -100,6 +100,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {
@@ -293,7 +306,8 @@ onLoad((option) => {
datePickShow.value = false
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
//如果是期货,给备注
if (accountType.value == '1') {
form.value.remark = '平仓盈亏' + form.value.closedPosition + ',手续费' + form.value.commission
@@ -323,6 +337,11 @@ onLoad((option) => {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -11,31 +11,31 @@
<view class="section">
<view class="section-title">{{ title}}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="投资账户" prop="inAccountName" required @click="handleFutruesStocks">
<view class="input-with-arrow">
<u--input v-model="form.inAccountName" readonly disabledColor="#ffffff" placeholder="请选择投资账户"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('inAccountName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="交易类型" prop="dealTypeName" required @click="handleDealType">
<view class="input-with-arrow">
<u--input v-model="form.dealTypeName" readonly disabledColor="#ffffff" placeholder="请选择交易类型"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('dealTypeName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="转账时间" prop="createTime" required @click="selectDate()">
<view class="input-with-arrow">
<u--input v-model="form.createTime" readonly disabledColor="#ffffff" placeholder="请选择转账时间" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.createTime" readonly disabledColor="#ffffff" placeholder="请选择转账时间" inputAlign="left" :customStyle="getInputStyle('createTime')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="转账金额" prop="amount" required >
<u--input v-model="form.amount" type="number" placeholder="请填写转账金额"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('amount')"></u--input>
</u-form-item>
<u-form-item label="备注" prop="remark" labelPosition="top">
@@ -93,6 +93,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {
@@ -237,7 +250,8 @@ onLoad((option) => {
datePickShow.value = false
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
if(flag.value==null){
updateAccountsTransferRecord(form.value).then(res => {
@@ -266,6 +280,11 @@ onLoad((option) => {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,42 +9,42 @@
<view class="section">
<view class="section-title">{{ title}}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="借贷账户" prop="outAccountName" required @click="handleOutAccount">
<view class="input-with-arrow">
<u--input v-model="form.outAccountName" readonly disabledColor="#ffffff" placeholder="请选择借贷账户"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('outAccountName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="储蓄账户" prop="inAccountName" required @click="handleInAccount">
<view class="input-with-arrow">
<u--input v-model="form.inAccountName" readonly disabledColor="#ffffff" placeholder="请选择储蓄账户"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('inAccountName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="交易类型" prop="dealTypeName" required @click="handleDealType">
<view class="input-with-arrow">
<u--input v-model="form.dealTypeName" readonly disabledColor="#ffffff" placeholder="请选择交易类型"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('dealTypeName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item :label="createTimeLabel" prop="createTime" required @click="selectDate()">
<view class="input-with-arrow">
<u--input v-model="form.createTime" readonly disabledColor="#ffffff" placeholder="请选择借贷时间" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.createTime" readonly disabledColor="#ffffff" placeholder="请选择借贷时间" inputAlign="left" :customStyle="getInputStyle('createTime')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item :label="amountLabel" prop="amount" required >
<u--input v-model="form.amount" type="number" placeholder="请填写借贷金额"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('amount')"></u--input>
</u-form-item>
<u-form-item label="还款利息" v-show="commissionShow" prop="commission" >
<u--input v-model="form.commission" type="number" placeholder="请填写还款利息"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('commission')"></u--input>
</u-form-item>
<u-form-item label="备注" prop="remark" labelPosition="top">
<u--textarea v-model="form.remark" placeholder="请填写备注" autoHeight inputAlign="left" count
@@ -136,6 +136,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {
@@ -309,7 +322,8 @@ function handleInAccount() {
datePickShow.value = false
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
updateAccountsTransferRecord(form.value).then(res => {
proxy.$refs['uToast'].show({
@@ -327,6 +341,11 @@ function handleInAccount() {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -11,18 +11,18 @@
<view class="section">
<view class="section-title">{{ title}}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="POS机" prop="posName" required @click="handlePosMachine">
<view class="input-with-arrow">
<u--input v-model="form.posName" readonly disabledColor="#ffffff" placeholder="请选择POS机"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('posName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="刷卡费率" required prop="rate" >
<u--input v-model="form.rate" type="number" placeholder="请填写刷卡费率"
inputAlign="left" :customStyle="inputBaseStyle">
inputAlign="left" :customStyle="getInputStyle('rate')">
<template #suffix>
<up-text
text="%"
@@ -32,24 +32,24 @@
</u-form-item>
<u-form-item label="费率+" prop="ratePlus" >
<u--input v-model="form.ratePlus" type="number" placeholder="请填写费率+"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('ratePlus')"></u--input>
</u-form-item>
<u-form-item label="信用卡" prop="outAccountName" required @click="handleCreditCard">
<view class="input-with-arrow">
<u--input v-model="form.outAccountName" readonly disabledColor="#ffffff" placeholder="请选择信用卡"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('outAccountName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="刷卡时间" prop="createTime" required @click="selectDate()">
<view class="input-with-arrow">
<u--input v-model="form.createTime" readonly disabledColor="#ffffff" placeholder="请选择刷卡时间" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.createTime" readonly disabledColor="#ffffff" placeholder="请选择刷卡时间" inputAlign="left" :customStyle="getInputStyle('createTime')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="刷卡金额" prop="amount" required >
<u--input v-model="form.amount" type="number" placeholder="请填写刷卡金额"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('amount')"></u--input>
</u-form-item>
<u-form-item label="备注" prop="remark" labelPosition="top">
<u--textarea v-model="form.remark" placeholder="请填写备注" autoHeight inputAlign="left" count
@@ -124,6 +124,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {
@@ -256,7 +269,8 @@ function handleCreditCard() {
datePickShow.value = false
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
updateAccountsTransferRecord(form.value).then(res => {
proxy.$refs['uToast'].show({
@@ -274,6 +288,11 @@ function handleCreditCard() {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,49 +9,49 @@
<view class="section">
<view class="section-title">{{ title }}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="190rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="银行全称" prop="bankName" required>
<u--input v-model="form.bankName" placeholder="请填写银行全称"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('bankName')"></u--input>
</u-form-item>
<u-form-item label="银行简称" prop="bankShortName" required>
<u--input v-model="form.bankShortName" placeholder="请填写银行简称"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('bankShortName')"></u--input>
</u-form-item>
<u-form-item label="银行类型" required prop="bankTypeName" @click="handleShowBankType">
<view class="input-with-arrow">
<u--input v-model="form.bankTypeName" readonly disabledColor="#ffffff" placeholder="请选择银行类型"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('bankTypeName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="信用卡多账户合并出账" prop="multiAccountConsolidatedName" required @click="handleShowAccounting">
<u-form-item label="多账户合并" prop="multiAccountConsolidatedName" required @click="handleShowAccounting">
<view class="input-with-arrow">
<u--input v-model="form.multiAccountConsolidatedName" readonly disabledColor="#ffffff" placeholder="请选择信用卡多账户合并出账"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('multiAccountConsolidatedName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="英文简称" prop="englishShortName">
<u--input v-model="form.englishShortName" placeholder="请填写英文简称"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('englishShortName')"></u--input>
</u-form-item>
<u-form-item label="归属省份" prop="province">
<u--input v-model="form.province" placeholder="请填写归属省份"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('province')"></u--input>
</u-form-item>
<u-form-item label="归属城市" prop="city">
<u--input v-model="form.city" placeholder="请填写归属城市"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('city')"></u--input>
</u-form-item>
<u-form-item label="统一社会信用代码" prop="unifiedCreditCode">
<u-form-item label="社会信用代码" prop="unifiedCreditCode">
<u--input v-model="form.unifiedCreditCode" placeholder="请填写统一社会信用代码"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('unifiedCreditCode')"></u--input>
</u-form-item>
<u-form-item label="排序" prop="orderNum">
<u--input v-model.number="form.orderNum" type="number" placeholder="请填写排序"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('orderNum')"></u--input>
</u-form-item>
<u-form-item label="备注" prop="remark" labelPosition="top">
<u--textarea v-model="form.remark" placeholder="请填写备注" autoHeight inputAlign="left" count
@@ -92,6 +92,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
@@ -208,6 +221,7 @@ function handleAccountingCancel() {
}
function submit() {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
updateBankBaseInfo(form.value).then(res => {
@@ -226,9 +240,14 @@ function submit() {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>
}
</script>
<style lang="scss" scoped>
.section {

View File

@@ -9,103 +9,103 @@
<view class="section">
<view class="section-title">{{ title}}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="银行" required prop="bankName" @click="handleShowBank">
<view class="input-with-arrow">
<u--input v-model="form.bankName" readonly disabledColor="#ffffff" placeholder="请选择银行"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('bankName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="信用卡名称" prop="name" required >
<u--input v-model="form.name" placeholder="请填写信用卡名称"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('name')"></u--input>
</u-form-item>
<u-form-item label="信用卡卡号" prop="code" required >
<u--input v-model="form.code" placeholder="请填写信用卡卡号"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('code')"></u--input>
</u-form-item>
<u-form-item label="信用卡额度" required prop="creditLimit" >
<u--input v-model="form.creditLimit" type="number" placeholder="请填写信用卡额度"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('creditLimit')"></u--input>
</u-form-item>
<u-form-item label="账户状态" required prop="statusName" @click="handleShowStatus">
<view class="input-with-arrow">
<u--input v-model="form.statusName" readonly disabledColor="#ffffff" placeholder="请选择账户状态"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('statusName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="账单日" required prop="billDate" >
<u--input v-model="form.billDate" type="number" placeholder="请填写账单日"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('billDate')"></u--input>
</u-form-item>
<u-form-item label="还款日" required prop="payDate" >
<u--input v-model="form.payDate" type="number" placeholder="请填写还款日"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('payDate')"></u--input>
</u-form-item>
<u-form-item label="余额" required prop="balance" >
<u--input v-model="form.balance" type="number" placeholder="请填写余额"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('balance')"></u--input>
</u-form-item>
<u-form-item label="可用额度" required prop="availableLimit" >
<u--input v-model="form.availableLimit" type="number" placeholder="请填写可用额度"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('availableLimit')"></u--input>
</u-form-item>
<u-form-item label="账单日消费" required prop="isNextBillDateName" @click="handleShowIsNextBillDate">
<view class="input-with-arrow">
<u--input v-model="form.isNextBillDateName" readonly disabledColor="#ffffff" placeholder="请选择账单日消费"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('isNextBillDateName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="信用卡安全码" prop="cvv" >
<u-form-item label="安全码" prop="cvv" >
<u--input v-model="form.cvv" placeholder="请填写信用卡安全码"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('cvv')"></u--input>
</u-form-item>
<u-form-item label="卡片等级" prop="cardTierName" @click="handleShowCardTier">
<view class="input-with-arrow">
<u--input v-model="form.cardTierName" readonly disabledColor="#ffffff" placeholder="请选择卡片等级"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('cardTierName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="卡面" prop="cardFace">
<u--input v-model="form.cardFace" placeholder="请填写卡面"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('cardFace')"></u--input>
</u-form-item>
<u-form-item label="开户行" prop="openingBank" >
<u--input v-model="form.openingBank" placeholder="请填写开户行"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('openingBank')"></u--input>
</u-form-item>
<u-form-item label="开户日期" prop="activationDate" @click="selectDate(1)">
<view class="input-with-arrow">
<u--input v-model="form.activationDate" readonly disabledColor="#ffffff" placeholder="请选择开户日期" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.activationDate" readonly disabledColor="#ffffff" placeholder="请选择开户日期" inputAlign="left" :customStyle="getInputStyle('activationDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="宽限期" prop="delayPeriod" >
<u--input v-model="form.delayPeriod" placeholder="请填写宽限期"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('delayPeriod')"></u--input>
</u-form-item>
<u-form-item label="有效期" prop="effectiveDate" @click="selectDate(2)">
<view class="input-with-arrow">
<u--input v-model="form.effectiveDate" readonly disabledColor="#ffffff" placeholder="请选择有效期" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.effectiveDate" readonly disabledColor="#ffffff" placeholder="请选择有效期" inputAlign="left" :customStyle="getInputStyle('effectiveDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="账单日时间" prop="nextBillDateTime" >
<u--input v-model="form.nextBillDateTime" placeholder="请填写账单日时间"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('nextBillDateTime')"></u--input>
</u-form-item>
<u-form-item label="0账单操作" prop="isZeroBillName" @click="handleShowIsZeroBill">
<view class="input-with-arrow">
<u--input v-model="form.isZeroBillName" readonly disabledColor="#ffffff" placeholder="请选择0账单操作"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('isZeroBillName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -173,6 +173,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {
@@ -403,7 +416,8 @@ onLoad((option) => {
datePickShow.value = false
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
updateBankcardLend(form.value).then(res => {
proxy.$refs['uToast'].show({
@@ -421,6 +435,11 @@ onLoad((option) => {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,12 +9,12 @@
<view class="section">
<view class="section-title">{{ title }}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="调整前额度" prop="beforeLimit">
<u--input v-model="form.beforeLimit" readonly disabledColor="#ffffff" placeholder="调整前额度"
inputAlign="left" :customStyle="inputBaseStyle">
inputAlign="left" :customStyle="getInputStyle('beforeLimit')">
<template #suffix>
<text style="color: #909399; font-size: 28rpx;"></text>
</template>
@@ -24,7 +24,7 @@
<u-form-item label="调额类型" prop="limitTypeName" required @click="handleShowLimitType">
<view class="input-with-arrow">
<u--input v-model="form.limitTypeName" readonly disabledColor="#ffffff" placeholder="请选择调额类型"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('limitTypeName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -32,13 +32,13 @@
<u-form-item label="调整类型" prop="adjustTypeName" required @click="handleShowAdjustType">
<view class="input-with-arrow">
<u--input v-model="form.adjustTypeName" readonly disabledColor="#ffffff" placeholder="请选择调整类型"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('adjustTypeName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="调整后额度" prop="afterLimit" required>
<u--input v-model="form.afterLimit" type="number" placeholder="请输入调整后额度"
inputAlign="left" :customStyle="inputBaseStyle">
inputAlign="left" :customStyle="getInputStyle('afterLimit')">
<template #suffix>
<text style="color: #909399; font-size: 28rpx;"></text>
</template>
@@ -46,7 +46,7 @@
</u-form-item>
<u-form-item label="调整额度" prop="adjustLimit">
<u--input v-model="adjustLimitDisplay" readonly disabledColor="#ffffff" placeholder="自动计算"
inputAlign="left" :customStyle="inputBaseStyle" :style="{ color: adjustLimitColor }">
inputAlign="left" :customStyle="getInputStyle('adjustLimit')" :style="{ color: adjustLimitColor }">
<template #suffix>
<text style="color: #909399; font-size: 28rpx;"></text>
</template>
@@ -57,7 +57,7 @@
<u-form-item label="生效日期" prop="effectDate" required @click="selectEffectDate">
<view class="input-with-arrow">
<u--input v-model="form.effectDate" readonly disabledColor="#ffffff" placeholder="请选择生效日期"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('effectDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -65,7 +65,7 @@
<u-form-item label="截止日期" prop="deadlineDate" :required="isTemporary" @click="selectDeadlineDate">
<view class="input-with-arrow">
<u--input v-model="form.deadlineDate" readonly disabledColor="#ffffff" :placeholder="isTemporary ? '请选择截止日期(必填)' : '请选择截止日期(可选)'"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('deadlineDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -73,7 +73,7 @@
<u-form-item label="调整时间" prop="adjustTime" required @click="selectAdjustTime">
<view class="input-with-arrow">
<u--input v-model="form.adjustTime" readonly disabledColor="#ffffff" placeholder="请选择调整时间"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('adjustTime')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -162,6 +162,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
@@ -312,7 +325,7 @@ function getCardInfo() {
form.value.afterLimit = limit
})
}
}).catch(() => {
}).catch(errors => {
// 查询失败时,使用信用卡的当前额度
getBankcardLend(form.value.bankCardLendId).then(cardRes => {
const limit = cardRes.data.creditLimit || 0
@@ -428,6 +441,7 @@ function adjustTimeConfirm(e) {
// 提交
function submit() {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
// 如果是临时额度,检查截止日期是否填写
if (isTemporary.value && !form.value.deadlineDate) {

View File

@@ -9,38 +9,38 @@
<view class="section">
<view class="section-title">{{ title}}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="银行" prop="bankName" @click="handleShowBank">
<view class="input-with-arrow">
<u--input v-model="form.bankName" readonly disabledColor="#ffffff" placeholder="请选择银行"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('bankName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="储蓄账户名称" prop="name" required >
<u--input v-model="form.name" placeholder="请填写储蓄账户名称"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u-form-item label="账户名称" prop="name" required >
<u--input v-model="form.name" placeholder="请填写账户名称"
inputAlign="left" :customStyle="getInputStyle('name')"></u--input>
</u-form-item>
<u-form-item label="储蓄账户卡号" prop="code" required >
<u--input v-model="form.code" placeholder="请填写储蓄账户卡号"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u-form-item label="账户卡号" prop="code" required >
<u--input v-model="form.code" placeholder="请填写账户卡号"
inputAlign="left" :customStyle="getInputStyle('code')"></u--input>
</u-form-item>
<u-form-item label="账户状态" required prop="statusName" @click="handleShowStatus">
<view class="input-with-arrow">
<u--input v-model="form.statusName" readonly disabledColor="#ffffff" placeholder="请选择账户状态"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('statusName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="余额" required prop="balance" >
<u--input v-model="form.balance" type="number" placeholder="请填写余额"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('balance')"></u--input>
</u-form-item>
<u-form-item label="储蓄账户类型" prop="debitTypeName" required @click="handleShowTeam">
<u-form-item label="账户类型" prop="debitTypeName" required @click="handleShowTeam">
<view class="input-with-arrow">
<u--input v-model="form.debitTypeName" readonly disabledColor="#ffffff" placeholder="请选择储蓄账户类型"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.debitTypeName" readonly disabledColor="#ffffff" placeholder="请选择账户类型"
inputAlign="left" :customStyle="getInputStyle('debitTypeName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -48,27 +48,27 @@
<u-form-item label="卡片等级" prop="cardTierName" @click="handleShowCardTier">
<view class="input-with-arrow">
<u--input v-model="form.cardTierName" readonly disabledColor="#ffffff" placeholder="请选择卡片等级"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('cardTierName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="卡面" prop="cardFace">
<u--input v-model="form.cardFace" placeholder="请填写卡面"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('cardFace')"></u--input>
</u-form-item>
<u-form-item label="开户行" prop="openingBank" >
<u--input v-model="form.openingBank" placeholder="请填写开户行"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('openingBank')"></u--input>
</u-form-item>
<u-form-item label="开户日期" prop="activationDate" @click="selectDate(1)">
<view class="input-with-arrow">
<u--input v-model="form.activationDate" readonly disabledColor="#ffffff" placeholder="请选择开户日期" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.activationDate" readonly disabledColor="#ffffff" placeholder="请选择开户日期" inputAlign="left" :customStyle="getInputStyle('activationDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="有效期" prop="effectiveDate" @click="selectDate(2)">
<view class="input-with-arrow">
<u--input v-model="form.effectiveDate" readonly disabledColor="#ffffff" placeholder="请选择有效期" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.effectiveDate" readonly disabledColor="#ffffff" placeholder="请选择有效期" inputAlign="left" :customStyle="getInputStyle('effectiveDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -132,6 +132,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {
@@ -330,7 +343,8 @@ onLoad((option) => {
datePickShow.value = false
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
updateBankcardLend(form.value).then(res => {
proxy.$refs['uToast'].show({
@@ -348,6 +362,11 @@ onLoad((option) => {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,12 +9,12 @@
<view class="section">
<view class="section-title">{{ title }}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="调整前额度" prop="beforeLimit">
<u--input v-model="form.beforeLimit" readonly disabledColor="#ffffff" placeholder="调整前额度"
inputAlign="left" :customStyle="inputBaseStyle">
inputAlign="left" :customStyle="getInputStyle('beforeLimit')">
<template #suffix>
<text style="color: #909399; font-size: 28rpx;"></text>
</template>
@@ -23,13 +23,13 @@
<u-form-item label="调整类型" prop="adjustTypeName" required @click="handleShowAdjustType">
<view class="input-with-arrow">
<u--input v-model="form.adjustTypeName" readonly disabledColor="#ffffff" placeholder="请选择调整类型"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('adjustTypeName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="调整后额度" prop="afterLimit" required>
<u--input v-model="form.afterLimit" type="number" placeholder="请输入调整后额度"
inputAlign="left" :customStyle="inputBaseStyle">
inputAlign="left" :customStyle="getInputStyle('afterLimit')">
<template #suffix>
<text style="color: #909399; font-size: 28rpx;"></text>
</template>
@@ -37,7 +37,7 @@
</u-form-item>
<u-form-item label="调整额度" prop="adjustLimit">
<u--input v-model="adjustLimitDisplay" readonly disabledColor="#ffffff" placeholder="自动计算"
inputAlign="left" :customStyle="inputBaseStyle" :style="{ color: adjustLimitColor }">
inputAlign="left" :customStyle="getInputStyle('adjustLimit')" :style="{ color: adjustLimitColor }">
<template #suffix>
<text style="color: #909399; font-size: 28rpx;"></text>
</template>
@@ -48,7 +48,7 @@
<u-form-item label="生效日期" prop="effectDate" required @click="selectEffectDate">
<view class="input-with-arrow">
<u--input v-model="form.effectDate" readonly disabledColor="#ffffff" placeholder="请选择生效日期"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('effectDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -56,7 +56,7 @@
<u-form-item label="截止日期" prop="deadlineDate" @click="selectDeadlineDate">
<view class="input-with-arrow">
<u--input v-model="form.deadlineDate" readonly disabledColor="#ffffff" placeholder="请选择截止日期(可选)"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('deadlineDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -64,7 +64,7 @@
<u-form-item label="调整时间" prop="adjustTime" required @click="selectAdjustTime">
<view class="input-with-arrow">
<u--input v-model="form.adjustTime" readonly disabledColor="#ffffff" placeholder="请选择调整时间"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('adjustTime')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -147,6 +147,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
@@ -277,7 +290,7 @@ function getCardInfo() {
form.value.afterLimit = limit
})
}
}).catch(() => {
}).catch(errors => {
// 查询失败时,使用储蓄卡的当前额度
getBankcardLend(form.value.bankCardLendId).then(cardRes => {
const limit = cardRes.data.limit || 0
@@ -366,6 +379,7 @@ function adjustTimeConfirm(e) {
// 提交
function submit() {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
const submitData = { ...form.value }

View File

@@ -9,42 +9,42 @@
<view class="section">
<view class="section-title">{{ title}}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="190rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="理财账户名称" prop="name" required >
<u--input v-model="form.name" placeholder="请填写理财账户名称"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('name')"></u--input>
</u-form-item>
<u-form-item label="账号" prop="code" required >
<u--input v-model="form.code" placeholder="请填写账号"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('code')"></u--input>
</u-form-item>
<u-form-item label="余额" required prop="balance" >
<u--input v-model="form.balance" type="number" placeholder="请填写余额"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('balance')"></u--input>
</u-form-item>
<u-form-item label="账户状态" required prop="statusName" @click="handleShowStatus">
<view class="input-with-arrow">
<u--input v-model="form.statusName" readonly disabledColor="#ffffff" placeholder="请选择账户状态"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('statusName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<!-- <u-form-item label="密码" prop="password" >
<u--input v-model="form.password" placeholder="请填写密码"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('password')"></u--input>
</u-form-item> -->
<u-form-item label="开户日期" prop="activationDate" @click="selectDate()">
<view class="input-with-arrow">
<u--input v-model="form.activationDate" readonly disabledColor="#ffffff" placeholder="请选择开户日期" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.activationDate" readonly disabledColor="#ffffff" placeholder="请选择开户日期" inputAlign="left" :customStyle="getInputStyle('activationDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="关联储蓄卡" prop="bankNameCode" @click="handleDebitCard">
<view class="input-with-arrow">
<u--input v-model="form.bankNameCode" readonly disabledColor="#ffffff" placeholder="请选择关联储蓄卡"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('bankNameCode')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -52,7 +52,7 @@
<u-form-item label="佣金费率" prop="commission" >
<u--input v-model="form.commission" placeholder="请填写佣金费率"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('commission')"></u--input>
</u-form-item>
<u-form-item label="备注" prop="remark" labelPosition="top">
<u--textarea v-model="form.remark" placeholder="请填写备注" autoHeight inputAlign="left" count
@@ -106,6 +106,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {
@@ -235,7 +248,8 @@ onLoad((option) => {
datePickShow.value = false
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
updateFutureStocks(form.value).then(res => {
proxy.$refs['uToast'].show({
@@ -253,6 +267,11 @@ onLoad((option) => {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,67 +9,67 @@
<view class="section">
<view class="section-title">{{ title}}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="200rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="期货账户名称" prop="name" required >
<u--input v-model="form.name" placeholder="请填写期货账户名称"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u-form-item label="账户名称" prop="name" required >
<u--input v-model="form.name" placeholder="请填写账户名称"
inputAlign="left" :customStyle="getInputStyle('name')"></u--input>
</u-form-item>
<u-form-item label="账号" prop="code" required >
<u--input v-model="form.code" placeholder="请填写账号"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('code')"></u--input>
</u-form-item>
<u-form-item label="余额" required prop="balance" >
<u--input v-model="form.balance" type="number" placeholder="请填写余额"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('balance')"></u--input>
</u-form-item>
<u-form-item label="账户状态" required prop="statusName" @click="handleShowStatus">
<view class="input-with-arrow">
<u--input v-model="form.statusName" readonly disabledColor="#ffffff" placeholder="请选择账户状态"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('statusName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="开户日期" prop="activationDate" @click="selectDate()">
<view class="input-with-arrow">
<u--input v-model="form.activationDate" readonly disabledColor="#ffffff" placeholder="请选择开户日期" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.activationDate" readonly disabledColor="#ffffff" placeholder="请选择开户日期" inputAlign="left" :customStyle="getInputStyle('activationDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="关联储蓄卡" prop="bankNameCode" @click="handleDebitCard">
<view class="input-with-arrow">
<u--input v-model="form.bankNameCode" readonly disabledColor="#ffffff" placeholder="请选择关联储蓄卡"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('bankNameCode')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<!-- <u-form-item label="密码" prop="password" >
<u--input v-model="form.password" placeholder="请填写密码"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('password')"></u--input>
</u-form-item> -->
<u-form-item label="期货交易中心账号" prop="tradingCenterCode" >
<u--input v-model="form.tradingCenterCode" placeholder="请填写期货交易中心账号"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u-form-item label="期货中心账号" prop="tradingCenterCode" >
<u--input v-model="form.tradingCenterCode" placeholder="请填写期货中心账号"
inputAlign="left" :customStyle="getInputStyle('tradingCenterCode')"></u--input>
</u-form-item>
<!-- <u-form-item label="期货交易中心密码" prop="tradingCenterPassword" >
<u--input v-model="form.tradingCenterPassword" placeholder="请填写期货交易中心密码"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('tradingCenterPassword')"></u--input>
</u-form-item> -->
<!-- <u-form-item label="资金密码" prop="fundPassword" >
<u--input v-model="form.fundPassword" placeholder="请填写资金密码"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('fundPassword')"></u--input>
</u-form-item> -->
<u-form-item label="手续费" prop="commission" >
<u--input v-model="form.commission" placeholder="请填写手续费"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('commission')"></u--input>
</u-form-item>
<u-form-item label="保证金比例" prop="bond" >
<u--input v-model="form.bond" placeholder="请填写保证金比例"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('bond')"></u--input>
</u-form-item>
<u-form-item label="备注" prop="remark" labelPosition="top">
<u--textarea v-model="form.remark" placeholder="请填写备注" autoHeight inputAlign="left" count
@@ -123,6 +123,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {
@@ -253,7 +266,8 @@ onLoad((option) => {
datePickShow.value = false
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
updateFutureStocks(form.value).then(res => {
proxy.$refs['uToast'].show({
@@ -271,6 +285,11 @@ onLoad((option) => {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,56 +9,56 @@
<view class="section">
<view class="section-title">{{ title}}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="银行" prop="bankName" @click="handleShowBank">
<view class="input-with-arrow">
<u--input v-model="form.bankName" readonly disabledColor="#ffffff" placeholder="请选择银行"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('bankName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="借贷名称" prop="name" required >
<u--input v-model="form.name" placeholder="请填写借贷名称"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('name')"></u--input>
</u-form-item>
<u-form-item label="账号" prop="code" required >
<u--input v-model="form.code" placeholder="请填写账号"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('code')"></u--input>
</u-form-item>
<u-form-item label="类型" prop="lendTypeName" required @click="handleShowTeam">
<view class="input-with-arrow">
<u--input v-model="form.lendTypeName" readonly disabledColor="#ffffff" placeholder="请选择类型"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('lendTypeName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="账户状态" required prop="statusName" @click="handleShowStatus">
<view class="input-with-arrow">
<u--input v-model="form.statusName" readonly disabledColor="#ffffff" placeholder="请选择账户状态"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('statusName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="余额" required prop="balance" >
<u--input v-model="form.balance" type="number" placeholder="请填写余额"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('balance')"></u--input>
</u-form-item>
<u-form-item label="开通日期" prop="activationDate" @click="selectDate(1)">
<view class="input-with-arrow">
<u--input v-model="form.activationDate" readonly disabledColor="#ffffff" placeholder="请选择开通日期" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.activationDate" readonly disabledColor="#ffffff" placeholder="请选择开通日期" inputAlign="left" :customStyle="getInputStyle('activationDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="注销日期" prop="effectiveDate" @click="selectDate(2)">
<view class="input-with-arrow">
<u--input v-model="form.effectiveDate" readonly disabledColor="#ffffff" placeholder="请选择注销日期" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.effectiveDate" readonly disabledColor="#ffffff" placeholder="请选择注销日期" inputAlign="left" :customStyle="getInputStyle('effectiveDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<!-- <u-form-item label="可用额度" prop="availableLimit" >
<u--input v-model="form.availableLimit" placeholder="请填写可用额度"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('availableLimit')"></u--input>
</u-form-item> -->
<u-form-item label="备注" prop="remark" labelPosition="top">
<u--textarea v-model="form.remark" placeholder="请填写备注" autoHeight inputAlign="left" count
@@ -116,6 +116,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {
@@ -284,7 +297,8 @@ onLoad((option) => {
datePickShow.value = false
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
updateBankcardLend(form.value).then(res => {
proxy.$refs['uToast'].show({
@@ -302,6 +316,11 @@ onLoad((option) => {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,44 +9,44 @@
<view class="section">
<view class="section-title">{{ title}}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="190rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="POS机名称" prop="name" required >
<u--input v-model="form.name" placeholder="请填写POS机名称"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('name')"></u--input>
</u-form-item>
<u-form-item label="类型" required prop="typeName" @click="handleShowType">
<view class="input-with-arrow">
<u--input v-model="form.typeName" readonly disabledColor="#ffffff" placeholder="请选择类型"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('typeName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="账户状态" required prop="statusName" @click="handleShowStatus">
<view class="input-with-arrow">
<u--input v-model="form.statusName" readonly disabledColor="#ffffff" placeholder="请选择账户状态"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('statusName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="商户名称" prop="merchantName" required >
<u--input v-model="form.merchantName" placeholder="请填写商户名称"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('merchantName')"></u--input>
</u-form-item>
<u-form-item label="结算卡" prop="bankNameCode" required @click="handleDebitCard">
<view class="input-with-arrow">
<u--input v-model="form.bankNameCode" readonly disabledColor="#ffffff" placeholder="请选择结算卡"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('bankNameCode')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="编号" required prop="code" >
<u--input v-model="form.code" placeholder="请填写编号"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('code')"></u--input>
</u-form-item>
<u-form-item label="刷卡费率" required prop="rate" >
<u--input v-model="form.rate" type="number" placeholder="请填写刷卡费率"
inputAlign="left" :customStyle="inputBaseStyle">
inputAlign="left" :customStyle="getInputStyle('rate')">
<template #suffix>
<up-text
text="%"
@@ -56,41 +56,41 @@
</u-form-item>
<u-form-item label="费率+" required prop="ratePlus" >
<u--input v-model="form.ratePlus" type="number" placeholder="请填写费率+"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('ratePlus')"></u--input>
</u-form-item>
<u-form-item label="舍入模式" required prop="roundingModeName" @click="handleShowRoundingMode">
<view class="input-with-arrow">
<u--input v-model="form.roundingModeName" readonly disabledColor="#ffffff" placeholder="请选择舍入模式"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('roundingModeName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="供货商" prop="manufacture" >
<u--input v-model="form.manufacture" placeholder="请填写供货商"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('manufacture')"></u--input>
</u-form-item>
<u-form-item label="支付公司" prop="payCompany" >
<u--input v-model="form.payCompany" placeholder="支付公司"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('payCompany')"></u--input>
</u-form-item>
<u-form-item label="启用日期" prop="activationDate" @click="selectDate()">
<view class="input-with-arrow">
<u--input v-model="form.activationDate" readonly disabledColor="#ffffff" placeholder="请选择启用日期" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.activationDate" readonly disabledColor="#ffffff" placeholder="请选择启用日期" inputAlign="left" :customStyle="getInputStyle('activationDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<!-- <u-form-item label="商户类型" prop="merchantTypeName" @click="handleShowMerchantType">
<view class="input-with-arrow">
<u--input v-model="form.merchantTypeName" readonly disabledColor="#ffffff" placeholder="请选择商户类型"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('merchantTypeName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="商户码" prop="merchantCode" >
<u--input v-model="form.merchantCode" placeholder="请填写商户码"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('merchantCode')"></u--input>
</u-form-item> -->
<!-- <u-form-item label="备注" prop="remark" labelPosition="top">
<u--textarea v-model="form.remark" placeholder="请填写备注" autoHeight inputAlign="left" count
@@ -156,6 +156,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {
@@ -365,7 +378,8 @@ onLoad((option) => {
datePickShow.value = false
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
updatePosmachine(form.value).then(res => {
proxy.$refs['uToast'].show({
@@ -383,6 +397,11 @@ onLoad((option) => {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,42 +9,42 @@
<view class="section">
<view class="section-title">{{ title}}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="190rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="股票账户名称" prop="name" required >
<u--input v-model="form.name" placeholder="请填写股票账户名称"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('name')"></u--input>
</u-form-item>
<u-form-item label="账号" prop="code" required >
<u--input v-model="form.code" placeholder="请填写账号"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('code')"></u--input>
</u-form-item>
<u-form-item label="余额" required prop="balance" >
<u--input v-model="form.balance" type="number" placeholder="请填写余额"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('balance')"></u--input>
</u-form-item>
<u-form-item label="账户状态" required prop="statusName" @click="handleShowStatus">
<view class="input-with-arrow">
<u--input v-model="form.statusName" readonly disabledColor="#ffffff" placeholder="请选择账户状态"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('statusName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<!-- <u-form-item label="密码" prop="password" >
<u--input v-model="form.password" placeholder="请填写密码"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('password')"></u--input>
</u-form-item> -->
<u-form-item label="开户日期" prop="activationDate" @click="selectDate()">
<view class="input-with-arrow">
<u--input v-model="form.activationDate" readonly disabledColor="#ffffff" placeholder="请选择开户日期" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.activationDate" readonly disabledColor="#ffffff" placeholder="请选择开户日期" inputAlign="left" :customStyle="getInputStyle('activationDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="关联储蓄卡" prop="bankNameCode" @click="handleDebitCard">
<view class="input-with-arrow">
<u--input v-model="form.bankNameCode" readonly disabledColor="#ffffff" placeholder="请选择关联储蓄卡"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('bankNameCode')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -52,7 +52,7 @@
<u-form-item label="佣金费率" prop="commission" >
<u--input v-model="form.commission" placeholder="请填写佣金费率"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('commission')"></u--input>
</u-form-item>
<u-form-item label="备注" prop="remark" labelPosition="top">
<u--textarea v-model="form.remark" placeholder="请填写备注" autoHeight inputAlign="left" count
@@ -106,6 +106,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {
@@ -235,7 +248,8 @@ onLoad((option) => {
datePickShow.value = false
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
updateFutureStocks(form.value).then(res => {
proxy.$refs['uToast'].show({
@@ -253,6 +267,11 @@ onLoad((option) => {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -11,29 +11,29 @@
<view class="section">
<view class="section-title">{{ title}}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="信用卡" prop="creditCardName" required @click="handleCreditCard">
<view class="input-with-arrow">
<u--input v-model="form.creditCardName" readonly disabledColor="#ffffff" placeholder="请选择信用卡"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('creditCardName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="账单日" prop="billDate" required @click="selectDate()">
<view class="input-with-arrow">
<u--input v-model="form.billDate" readonly disabledColor="#ffffff" placeholder="请选择账单日" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.billDate" readonly disabledColor="#ffffff" placeholder="请选择账单日" inputAlign="left" :customStyle="getInputStyle('billDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="账单金额" prop="billAmount" required >
<u--input v-model="form.billAmount" type="number" placeholder="请填写账单金额"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('billAmount')"></u--input>
</u-form-item>
<u-form-item label="账单状态" prop="billStateName" required @click="handleShowTeam">
<view class="input-with-arrow">
<u--input v-model="form.billStateName" readonly disabledColor="#ffffff" placeholder="请选择账单状态"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('billStateName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -92,6 +92,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {
@@ -210,7 +223,8 @@ onLoad((option) => {
datePickShow.value = false
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
updateCreditCardBill(form.value).then(res => {
proxy.$refs['uToast'].show({
@@ -228,6 +242,11 @@ onLoad((option) => {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,55 +9,55 @@
<view class="section">
<view class="section-title">{{ title}}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="信用卡" prop="onlineLendName" required @click="handleOnlineLend">
<view class="input-with-arrow">
<u--input v-model="form.onlineLendName" readonly disabledColor="#ffffff" placeholder="请选择信用卡"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('onlineLendName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="分期金额" prop="installmentAmount" required >
<u--input v-model="form.installmentAmount" type="number" placeholder="请填写分期金额"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('installmentAmount')"></u--input>
</u-form-item>
<u-form-item label="分期日期" prop="installmentDate" required @click="selectDate()">
<view class="input-with-arrow">
<u--input v-model="form.installmentDate" readonly disabledColor="#ffffff" placeholder="请选择分期日期" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.installmentDate" readonly disabledColor="#ffffff" placeholder="请选择分期日期" inputAlign="left" :customStyle="getInputStyle('installmentDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="分期期数" prop="period" required >
<u--input v-model="form.period" type="number" placeholder="请填写分期期数"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('period')"></u--input>
</u-form-item>
<u-form-item label="余额" prop="balance" required >
<u--input v-model="form.balance" type="number" placeholder="请填写余额"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('balance')"></u--input>
</u-form-item>
<u-form-item label="结清状态" prop="settleStateName" required @click="handleShowTeam">
<view class="input-with-arrow">
<u--input v-model="form.settleStateName" readonly disabledColor="#ffffff" placeholder="请选择结清状态"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('settleStateName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="总利息" prop="totalInterest" required >
<u--input v-model="form.totalInterest" type="number" placeholder="请填写总利息"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('totalInterest')"></u--input>
</u-form-item>
<u-form-item label="已还期数" prop="repaidPeriod" required >
<u--input v-model="form.repaidPeriod" type="number" placeholder="请填写已还期数"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('repaidPeriod')"></u--input>
</u-form-item>
<u-form-item label="利率" prop="interestRate" >
<u--input v-model="form.interestRate" placeholder="请填写利率"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('interestRate')"></u--input>
</u-form-item>
<u-form-item label="关闭日期" prop="closeDate" @click="selectCloseDate()">
<view class="input-with-arrow">
<u--input v-model="form.closeDate" readonly disabledColor="#ffffff" placeholder="请选择关闭日期" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.closeDate" readonly disabledColor="#ffffff" placeholder="请选择关闭日期" inputAlign="left" :customStyle="getInputStyle('closeDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -126,6 +126,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {
@@ -265,7 +278,8 @@ onLoad((option) => {
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
updateInstallmentHistory(form.value).then(res => {
proxy.$refs['uToast'].show({
@@ -283,6 +297,11 @@ onLoad((option) => {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,34 +9,34 @@
<view class="section">
<view class="section-title">{{ title}}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="还款日期" prop="repaymentDate" required @click="selectDate()">
<view class="input-with-arrow">
<u--input v-model="form.repaymentDate" readonly disabledColor="#ffffff" placeholder="请选择还款日期" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.repaymentDate" readonly disabledColor="#ffffff" placeholder="请选择还款日期" inputAlign="left" :customStyle="getInputStyle('repaymentDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="还款期数" prop="periods" required >
<u--input v-model="form.periods" placeholder="请填写还款期数"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('periods')"></u--input>
</u-form-item>
<u-form-item label="还款金额" prop="currentAmount" >
<u--input v-model="form.currentAmount" type="number" placeholder="请填写还款金额"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('currentAmount')"></u--input>
</u-form-item>
<u-form-item label="应还本金" prop="principal" required >
<u--input v-model="form.principal" type="number" placeholder="请填写应还本金"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('principal')"></u--input>
</u-form-item>
<u-form-item label="利息" prop="interest" required >
<u--input v-model="form.interest" type="number" placeholder="请填写利息"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('interest')"></u--input>
</u-form-item>
<u-form-item label="入账状态" prop="postingStateName" required @click="handleShowTeam">
<view class="input-with-arrow">
<u--input v-model="form.postingStateName" readonly disabledColor="#ffffff" placeholder="请选择入账状态"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('postingStateName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -91,6 +91,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {},
@@ -170,7 +183,8 @@ onLoad((option) => {
datePickShow.value = false
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
updateInstallmentDetail(form.value).then(res => {
proxy.$refs['uToast'].show({
@@ -181,6 +195,11 @@ onLoad((option) => {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,22 +9,22 @@
<view class="section">
<view class="section-title">{{ title}}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="查询机构" prop="name" required >
<u--input v-model="form.queryInstitution" placeholder="请填写查询机构"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('name')"></u--input>
</u-form-item>
<u-form-item label="查询原因" prop="typeName" required @click="handleShowTeam">
<view class="input-with-arrow">
<u--input v-model="form.typeName" readonly disabledColor="#ffffff" placeholder="请选择查询原因"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('typeName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="查询日期" prop="queryDate" required @click="selectDate()">
<view class="input-with-arrow">
<u--input v-model="form.queryDate" readonly disabledColor="#ffffff" placeholder="请选择查询日期" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.queryDate" readonly disabledColor="#ffffff" placeholder="请选择查询日期" inputAlign="left" :customStyle="getInputStyle('queryDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -79,6 +79,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {},
@@ -159,7 +172,8 @@ onLoad((option) => {
datePickShow.value = false
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
if(flag.value==null){
updateCreditQueryRecord(form.value).then(res => {
@@ -188,6 +202,11 @@ onLoad((option) => {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,24 +9,24 @@
<view class="section">
<view class="section-title">{{ title}}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="期货账户" prop="futureStocksName" required @click="handleFutureStocks">
<view class="input-with-arrow">
<u--input v-model="form.futureStocksName" readonly disabledColor="#ffffff" placeholder="请选择期货账户"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('futureStocksName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="账单日" prop="billDate" required @click="selectDate()">
<view class="input-with-arrow">
<u--input v-model="form.billDate" readonly disabledColor="#ffffff" placeholder="请选择账单日" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.billDate" readonly disabledColor="#ffffff" placeholder="请选择账单日" inputAlign="left" :customStyle="getInputStyle('billDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="期货收益" prop="billAmount" required >
<u--input v-model="form.billAmount" type="number" placeholder="请填写期货收益"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('billAmount')"></u--input>
</u-form-item>
<u-form-item label="备注" prop="remark" labelPosition="top">
<u--textarea v-model="form.remark" placeholder="请填写备注" autoHeight inputAlign="left" count
@@ -84,6 +84,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {
@@ -177,7 +190,8 @@ onLoad((option) => {
datePickShow.value = false
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
updateFutureStocksBill(form.value).then(res => {
proxy.$refs['uToast'].show({
@@ -195,6 +209,11 @@ onLoad((option) => {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,62 +9,62 @@
<view class="section">
<view class="section-title">{{ title}}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="贷款机构" prop="onlineLendName" required @click="handleOnlineLend">
<view class="input-with-arrow">
<u--input v-model="form.onlineLendName" readonly disabledColor="#ffffff" placeholder="请选择贷款机构"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('onlineLendName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="借款金额" prop="installmentAmount" required >
<u--input v-model="form.installmentAmount" type="number" placeholder="请填写借款金额"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('installmentAmount')"></u--input>
</u-form-item>
<u-form-item label="借款日期" prop="installmentDate" required @click="selectDate()">
<view class="input-with-arrow">
<u--input v-model="form.installmentDate" readonly disabledColor="#ffffff" placeholder="请选择借款日期" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.installmentDate" readonly disabledColor="#ffffff" placeholder="请选择借款日期" inputAlign="left" :customStyle="getInputStyle('installmentDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="收款账户" prop="debitCardName" required @click="handleDebitCard">
<view class="input-with-arrow">
<u--input v-model="form.debitCardName" readonly disabledColor="#ffffff" placeholder="请选择收款账户"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('debitCardName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="借款期数" prop="period" required >
<u--input v-model="form.period" type="number" placeholder="请填写借款期数"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('period')"></u--input>
</u-form-item>
<u-form-item label="余额" prop="balance" required >
<u--input v-model="form.balance" type="number" placeholder="请填写余额"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('balance')"></u--input>
</u-form-item>
<u-form-item label="结清状态" prop="settleStateName" required @click="handleShowTeam">
<view class="input-with-arrow">
<u--input v-model="form.settleStateName" readonly disabledColor="#ffffff" placeholder="请选择结清状态"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('settleStateName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="总利息" prop="totalInterest" required >
<u--input v-model="form.totalInterest" type="number" placeholder="请填写总利息"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('totalInterest')"></u--input>
</u-form-item>
<u-form-item label="已还期数" prop="repaidPeriod" required >
<u--input v-model="form.repaidPeriod" type="number" placeholder="请填写已还期数"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('repaidPeriod')"></u--input>
</u-form-item>
<u-form-item label="利率" prop="interestRate" >
<u--input v-model="form.interestRate" placeholder="请填写利率"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('interestRate')"></u--input>
</u-form-item>
<u-form-item label="关闭日期" prop="closeDate" @click="selectCloseDate()">
<view class="input-with-arrow">
<u--input v-model="form.closeDate" readonly disabledColor="#ffffff" placeholder="请选择关闭日期" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.closeDate" readonly disabledColor="#ffffff" placeholder="请选择关闭日期" inputAlign="left" :customStyle="getInputStyle('closeDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -137,6 +137,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {
@@ -306,7 +319,8 @@ onLoad((option) => {
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
updateInstallmentHistory(form.value).then(res => {
proxy.$refs['uToast'].show({
@@ -324,6 +338,11 @@ onLoad((option) => {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,41 +9,41 @@
<view class="section">
<view class="section-title">{{ title}}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="还款账户" prop="debitCardName" required @click="!viewOnly && handleDebitCard()">
<view class="input-with-arrow">
<u--input v-model="form.debitCardName" readonly disabledColor="#ffffff" placeholder="请选择还款账户"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('debitCardName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="还款日期" prop="repaymentDate" required @click="!viewOnly && selectDate()">
<view class="input-with-arrow">
<u--input v-model="form.repaymentDate" readonly disabledColor="#ffffff" placeholder="请选择还款日期" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.repaymentDate" readonly disabledColor="#ffffff" placeholder="请选择还款日期" inputAlign="left" :customStyle="getInputStyle('repaymentDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="还款期数" prop="periods" required >
<u--input v-model="form.periods" :disabled="viewOnly" :disabledColor="viewOnly ? '#ffffff' : ''" placeholder="请填写还款期数"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('periods')"></u--input>
</u-form-item>
<u-form-item label="还款金额" prop="currentAmount" >
<u--input v-model="form.currentAmount" :disabled="viewOnly" :disabledColor="viewOnly ? '#ffffff' : ''" placeholder="请填写还款金额"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('currentAmount')"></u--input>
</u-form-item>
<u-form-item label="应还本金" prop="principal" required >
<u--input v-model="form.principal" :disabled="viewOnly" :disabledColor="viewOnly ? '#ffffff' : ''" placeholder="请填写应还本金"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('principal')"></u--input>
</u-form-item>
<u-form-item label="利息" prop="interest" required >
<u--input v-model="form.interest" :disabled="viewOnly" :disabledColor="viewOnly ? '#ffffff' : ''" placeholder="请填写利息"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('interest')"></u--input>
</u-form-item>
<u-form-item label="还款状态" prop="postingStateName" required @click="!viewOnly && handleShowTeam()">
<view class="input-with-arrow">
<u--input v-model="form.postingStateName" readonly disabledColor="#ffffff" placeholder="请选择入账状态"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('postingStateName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -104,6 +104,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {},
@@ -213,7 +226,8 @@ onLoad((option) => {
datePickShow.value = false
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
updateInstallmentDetail(form.value).then(res => {
@@ -232,6 +246,11 @@ onLoad((option) => {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,33 +9,33 @@
<view class="section">
<view class="section-title">{{ title}}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="人情借贷" prop="onlineLendName" required @click="handleOnlineLend">
<view class="input-with-arrow">
<u--input v-model="form.onlineLendName" readonly disabledColor="#ffffff" placeholder="请选择人情借贷"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('onlineLendName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="借款金额" prop="installmentAmount" required >
<u--input v-model="form.installmentAmount" type="number" placeholder="请填写借款金额"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('installmentAmount')"></u--input>
</u-form-item>
<u-form-item label="借款日期" prop="installmentDate" required @click="selectDate()">
<view class="input-with-arrow">
<u--input v-model="form.installmentDate" readonly disabledColor="#ffffff" placeholder="请选择借款日期" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.installmentDate" readonly disabledColor="#ffffff" placeholder="请选择借款日期" inputAlign="left" :customStyle="getInputStyle('installmentDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="还款日期" prop="closeDate" >
<u--input v-model="form.closeDate" placeholder="请填写还款日期"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('closeDate')"></u--input>
</u-form-item>
<u-form-item label="结清状态" prop="settleStateName" required @click="handleShowTeam">
<view class="input-with-arrow">
<u--input v-model="form.settleStateName" readonly disabledColor="#ffffff" placeholder="请选择结清状态"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('settleStateName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -115,6 +115,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {
@@ -251,7 +264,8 @@ onLoad((option) => {
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
updateInstallmentHistory(form.value).then(res => {
proxy.$refs['uToast'].show({
@@ -269,6 +283,11 @@ onLoad((option) => {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,24 +9,24 @@
<view class="section">
<view class="section-title">{{ title}}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="股票账户" prop="futureStocksName" required @click="handleFutureStocks">
<view class="input-with-arrow">
<u--input v-model="form.futureStocksName" readonly disabledColor="#ffffff" placeholder="请选择股票账户"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('futureStocksName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="账单日" prop="billDate" required @click="selectDate()">
<view class="input-with-arrow">
<u--input v-model="form.billDate" readonly disabledColor="#ffffff" placeholder="请选择账单日" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.billDate" readonly disabledColor="#ffffff" placeholder="请选择账单日" inputAlign="left" :customStyle="getInputStyle('billDate')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="股票收益" prop="billAmount" required >
<u--input v-model="form.billAmount" type="number" placeholder="请填写股票收益"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('billAmount')"></u--input>
</u-form-item>
<u-form-item label="备注" prop="remark" labelPosition="top">
<u--textarea v-model="form.remark" placeholder="请填写备注" autoHeight inputAlign="left" count
@@ -82,6 +82,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const futureStocksBillList = ref([])
const billStateList = ref([])
const data = reactive({
@@ -176,7 +189,8 @@ onLoad((option) => {
datePickShow.value = false
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
updateFutureStocksBill(form.value).then(res => {
proxy.$refs['uToast'].show({
@@ -194,6 +208,11 @@ onLoad((option) => {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,23 +9,23 @@
<view class="section">
<view class="section-title">{{ title }}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="标题" prop="name" required >
<u--input v-model="form.name" placeholder="请填写标题"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('name')"></u--input>
</u-form-item>
<u-form-item label="类型" prop="typeName" required @click="handleShowTeam">
<view class="input-with-arrow">
<u--input v-model="form.typeName" readonly disabledColor="#ffffff" placeholder="请选择类型"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('typeName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="记录时间" prop="createTime" required @click="selectDate()">
<view class="input-with-arrow">
<u--input v-model="form.createTime" readonly disabledColor="#ffffff" placeholder="请选择记录时间"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('createTime')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -113,6 +113,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {},
rules: {
@@ -352,7 +365,8 @@ onLoad((option) => {
}
function doSubmit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
updateHeartJourney(form.value).then(res => {
proxy.$refs['uToast'].show({
@@ -370,6 +384,11 @@ onLoad((option) => {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,33 +9,33 @@
<view class="section">
<view class="section-title">{{ title}}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="商品名称" prop="name" required >
<u--input v-model="form.name" placeholder="请填写商品名称"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('name')"></u--input>
</u-form-item>
<u-form-item label="商品编码" prop="code" required >
<u--input v-model="form.code" placeholder="请填写商品编码"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('code')"></u--input>
</u-form-item>
<u-form-item label="类别" prop="categoryName" required @click="handleShowCategory">
<view class="input-with-arrow">
<u--input v-model="form.categoryName" readonly disabledColor="#ffffff" placeholder="请选择类别"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('categoryName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="单位" prop="unitName" required @click="handleShowUnit">
<view class="input-with-arrow">
<u--input v-model="form.unitName" readonly disabledColor="#ffffff" placeholder="请选择单位"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('unitName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="排序" prop="ranking" required >
<u--input v-model="form.ranking" type="number" placeholder="请填写排序"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('ranking')"></u--input>
</u-form-item>
<u-form-item label="备注" prop="remark" labelPosition="top">
<u--textarea v-model="form.remark" placeholder="请填写备注" autoHeight inputAlign="left" count
@@ -79,6 +79,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {},
@@ -177,7 +190,8 @@ onLoad((option) => {
showUnit.value = false
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
if(flag.value==null){
updateProductInfor(form.value).then(res => {
@@ -206,6 +220,11 @@ onLoad((option) => {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,50 +9,50 @@
<view class="section">
<view class="section-title">{{ title }}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="商品类别" prop="categoryName" required @click="handleCategory">
<view class="input-with-arrow">
<u--input v-model="form.categoryName" readonly disabledColor="#ffffff" placeholder="请选择商品类别"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('categoryName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="商品名称" prop="productName" required @click="handleProductName">
<view class="input-with-arrow">
<u--input v-model="form.productName" readonly disabledColor="#ffffff" placeholder="请选择商品名称"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('productName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="子类别" prop="kind" required >
<u--input v-model="form.kind" placeholder="请填写子类别"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('kind')"></u--input>
</u-form-item>
<u-form-item label="价格" prop="price" required >
<u--input v-model="form.price" type="number" placeholder="请填写价格"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('price')"></u--input>
</u-form-item>
<u-form-item label="单位" prop="unitName" required @click="handleUnit">
<view class="input-with-arrow">
<u--input v-model="form.unitName" readonly disabledColor="#ffffff" placeholder="请选择单位"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('unitName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="记录时间" prop="recordTime" required @click="selectDate()">
<view class="input-with-arrow">
<u--input v-model="form.recordTime" readonly disabledColor="#ffffff" placeholder="请选择记录时间" inputAlign="left" :customStyle="inputBaseStyle"></u--input>
<u--input v-model="form.recordTime" readonly disabledColor="#ffffff" placeholder="请选择记录时间" inputAlign="left" :customStyle="getInputStyle('recordTime')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="地点" prop="address" >
<u--input v-model="form.address" placeholder="请填写地点"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('address')"></u--input>
</u-form-item>
<u-form-item label="商家" prop="merchant" >
<u--input v-model="form.merchant" placeholder="请填写商家"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('merchant')"></u--input>
</u-form-item>
<u-form-item label="备注" prop="remark" labelPosition="top">
<u--textarea v-model="form.remark" placeholder="请填写备注" autoHeight inputAlign="left" count
@@ -145,6 +145,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const data = reactive({
form: {
@@ -330,7 +343,8 @@ function datePickConfirm(e) {
datePickShow.value = false
}
function submit() {
proxy.$refs['uForm'].validate().then(() => {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.value.id != null) {
if(flag.value==null){
updateProductPriceRecord(form.value).then(res => {
@@ -359,9 +373,14 @@ function submit() {
})
})
}
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>
</script>
<style lang="scss" scoped>
.container {

View File

@@ -9,27 +9,27 @@
<view class="section">
<view class="section-title">{{ title }}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="参数名称" prop="configName" required>
<u--input v-model="form.configName" placeholder="请输入参数名称"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('configName')"></u--input>
</u-form-item>
<u-form-item label="参数键名" prop="configKey" required>
<u--input v-model="form.configKey" placeholder="请输入参数键名"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('configKey')"></u--input>
</u-form-item>
<u-form-item label="参数键值" prop="configValue" required>
<u--input v-model="form.configValue" placeholder="请输入参数键值"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('configValue')"></u--input>
</u-form-item>
<u-form-item label="系统内置" prop="typeName" @click="showTypePicker = true">
<view class="input-with-arrow">
<u--input v-model="typeName" readonly disabledColor="#ffffff" placeholder="请选择系统内置"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('typeName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -70,6 +70,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const form = reactive({
configId: undefined,
@@ -134,6 +147,7 @@ function handleTypeConfirm(e) {
// 提交
function submit() {
console.log('submit 被调用')
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
console.log('验证通过', form.configId)
if (form.configId) {
@@ -157,12 +171,12 @@ function submit() {
})
})
}
}).catch(() => {
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
console.log('验证失败')
proxy.$refs['uToast'].show({
type: 'error',
message: '请填写完整信息'
})
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,19 +9,19 @@
<view class="section">
<view class="section-title">{{ title }}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="上级部门" prop="parentName" @click="showDeptPicker = true">
<view class="input-with-arrow">
<u--input v-model="parentName" readonly disabledColor="#ffffff" placeholder="请选择上级部门"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('parentName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="部门名称" prop="deptName" required>
<u--input v-model="form.deptName" placeholder="请输入部门名称" maxlength="30"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('deptName')"></u--input>
</u-form-item>
<u-form-item label="显示排序">
@@ -30,23 +30,23 @@
<u-form-item label="负责人" prop="leader">
<u--input v-model="form.leader" placeholder="请输入负责人" maxlength="20"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('leader')"></u--input>
</u-form-item>
<u-form-item label="联系电话" prop="phone">
<u--input v-model="form.phone" placeholder="请输入联系电话" maxlength="11"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('phone')"></u--input>
</u-form-item>
<u-form-item label="邮箱" prop="email">
<u--input v-model="form.email" placeholder="请输入邮箱" maxlength="50"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('email')"></u--input>
</u-form-item>
<u-form-item label="状态" prop="statusName" @click="showStatusPicker = true">
<view class="input-with-arrow">
<u--input v-model="statusName" readonly disabledColor="#ffffff" placeholder="请选择状态"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('statusName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -87,6 +87,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const form = reactive({
deptId: undefined,
@@ -233,6 +246,7 @@ function handleDeptConfirm(e) {
// 提交
function submit() {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.deptId) {
updateDept(form).then(() => {
@@ -251,11 +265,11 @@ function submit() {
})
})
}
}).catch(() => {
proxy.$refs['uToast'].show({
type: 'error',
message: '请填写完整信息'
})
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,22 +9,22 @@
<view class="section">
<view class="section-title">{{ title }}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="字典名称" prop="dictName" required>
<u--input v-model="form.dictName" placeholder="请输入字典名称"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('dictName')"></u--input>
</u-form-item>
<u-form-item label="字典类型" prop="dictType" required>
<u--input v-model="form.dictType" placeholder="请输入字典类型"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('dictType')"></u--input>
</u-form-item>
<u-form-item label="状态" prop="statusName" @click="showStatusPicker = true">
<view class="input-with-arrow">
<u--input v-model="statusName" readonly disabledColor="#ffffff" placeholder="请选择状态"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('statusName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -65,6 +65,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const form = reactive({
dictId: undefined,
@@ -125,6 +138,7 @@ function handleStatusConfirm(e) {
// 提交
function submit() {
console.log('submit 被调用')
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
console.log('验证通过', form.dictId)
if (form.dictId) {
@@ -148,12 +162,12 @@ function submit() {
})
})
}
}).catch(() => {
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
console.log('验证失败')
proxy.$refs['uToast'].show({
type: 'error',
message: '请填写完整信息'
})
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,7 +9,7 @@
<view class="section">
<view class="section-title">{{ title }}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="字典类型">
<u--input v-model="form.dictType" readonly disabledColor="#ffffff" placeholder="字典类型"
@@ -18,23 +18,23 @@
<u-form-item label="数据标签" prop="dictLabel" required>
<u--input v-model="form.dictLabel" placeholder="请输入数据标签"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('dictLabel')"></u--input>
</u-form-item>
<u-form-item label="数据键值" prop="dictValue" required>
<u--input v-model="form.dictValue" placeholder="请输入数据键值"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('dictValue')"></u--input>
</u-form-item>
<u-form-item label="显示排序" prop="dictSort" required>
<u--input v-model="form.dictSort" type="number" placeholder="请输入显示排序"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('dictSort')"></u--input>
</u-form-item>
<u-form-item label="回显样式" prop="listClassName" @click="showListClassPicker = true">
<view class="input-with-arrow">
<u--input v-model="listClassName" readonly disabledColor="#ffffff" placeholder="请选择回显样式"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('listClassName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -42,7 +42,7 @@
<u-form-item label="状态" prop="statusName" @click="showStatusPicker = true">
<view class="input-with-arrow">
<u--input v-model="statusName" readonly disabledColor="#ffffff" placeholder="请选择状态"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('statusName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -95,6 +95,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const form = reactive({
dictCode: undefined,
@@ -178,6 +191,7 @@ function handleListClassConfirm(e) {
// 提交
function submit() {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.dictCode) {
updateData(form).then(() => {
@@ -196,11 +210,11 @@ function submit() {
})
})
}
}).catch(() => {
proxy.$refs['uToast'].show({
type: 'error',
message: '请填写完整信息'
})
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,32 +9,32 @@
<view class="section">
<view class="section-title">{{ title }}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="任务名称" prop="jobName" required>
<u--input v-model="form.jobName" placeholder="请输入任务名称"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('jobName')"></u--input>
</u-form-item>
<u-form-item label="任务组名" prop="jobGroup" required>
<u--input v-model="form.jobGroup" placeholder="请输入任务组名"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('jobGroup')"></u--input>
</u-form-item>
<u-form-item label="调用目标" prop="invokeTarget" required>
<u--input v-model="form.invokeTarget" placeholder="请输入调用目标字符串"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('invokeTarget')"></u--input>
</u-form-item>
<u-form-item label="cron表达式" prop="cronExpression" required>
<u--input v-model="form.cronExpression" placeholder="请输入cron执行表达式"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('cronExpression')"></u--input>
</u-form-item>
<u-form-item label="状态" prop="statusName" @click="showStatusPicker = true">
<view class="input-with-arrow">
<u--input v-model="statusName" readonly disabledColor="#ffffff" placeholder="请选择状态"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('statusName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -42,7 +42,7 @@
<u-form-item label="是否并发" prop="concurrentName" @click="showConcurrentPicker = true">
<view class="input-with-arrow">
<u--input v-model="concurrentName" readonly disabledColor="#ffffff" placeholder="请选择是否并发"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('concurrentName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -50,7 +50,7 @@
<u-form-item label="错失策略" prop="misfirePolicyName" @click="showMisfirePolicyPicker = true">
<view class="input-with-arrow">
<u--input v-model="misfirePolicyName" readonly disabledColor="#ffffff" placeholder="请选择错失执行策略"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('misfirePolicyName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -99,6 +99,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const statusColumns = ref([])
const concurrentColumns = ref([])
const misfirePolicyColumns = ref([])
@@ -204,6 +217,7 @@ function handleMisfirePolicyConfirm(e) {
// 提交
function submit() {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
const submitForm = { ...form }
if (jobId.value) {
@@ -223,11 +237,11 @@ function submit() {
})
})
}
}).catch(() => {
proxy.$refs['uToast'].show({
type: 'error',
message: '请填写完整信息'
})
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,13 +9,13 @@
<view class="section">
<view class="section-title">{{ title }}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="上级菜单" prop="parentName" @click="showParentPicker = true">
<view class="input-with-arrow">
<u--input v-model="parentName" readonly disabledColor="#ffffff" placeholder="请选择上级菜单"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('parentName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -23,14 +23,14 @@
<u-form-item label="菜单类型" prop="menuTypeName" @click="showMenuTypePicker = true">
<view class="input-with-arrow">
<u--input v-model="menuTypeName" readonly disabledColor="#ffffff" placeholder="请选择菜单类型"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('menuTypeName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
<u-form-item label="菜单名称" prop="menuName" required>
<u--input v-model="form.menuName" placeholder="请输入菜单名称" maxlength="50"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('menuName')"></u--input>
</u-form-item>
<u-form-item label="显示排序">
@@ -79,7 +79,7 @@
<u-form-item label="菜单状态" prop="statusName" @click="showStatusPicker = true">
<view class="input-with-arrow">
<u--input v-model="statusName" readonly disabledColor="#ffffff" placeholder="请选择状态"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('statusName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -165,6 +165,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const form = reactive({
menuId: undefined,
@@ -351,6 +364,7 @@ function handleStatusConfirm(e) {
// 提交
function submit() {
errorFields.value = []
proxy.$refs.uForm.validate().then(() => {
if (form.menuId) {
updateMenu(form).then(() => {
@@ -367,7 +381,10 @@ function submit() {
}, 1500)
})
}
}).catch(() => {
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}

View File

@@ -9,16 +9,16 @@
<view class="section">
<view class="section-title">{{ title }}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="岗位名称" prop="postName" required>
<u--input v-model="form.postName" placeholder="请输入岗位名称" maxlength="30"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('postName')"></u--input>
</u-form-item>
<u-form-item label="岗位编码" prop="postCode" required>
<u--input v-model="form.postCode" placeholder="请输入岗位编码" maxlength="30"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('postCode')"></u--input>
</u-form-item>
<u-form-item label="岗位排序">
@@ -28,7 +28,7 @@
<u-form-item label="状态" prop="statusName" @click="showStatusPicker = true">
<view class="input-with-arrow">
<u--input v-model="statusName" readonly disabledColor="#ffffff" placeholder="请选择状态"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('statusName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -69,6 +69,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const form = reactive({
postId: undefined,
@@ -128,6 +141,7 @@ function handleStatusConfirm(e) {
// 提交
function submit() {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
console.log('提交的表单数据:', form)
if (form.postId) {
@@ -147,11 +161,11 @@ function submit() {
})
})
}
}).catch(() => {
proxy.$refs['uToast'].show({
type: 'error',
message: '请填写完整信息'
})
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}
</script>

View File

@@ -9,17 +9,17 @@
<view class="section">
<view class="section-title">{{ title }}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="角色名称" prop="roleName" required>
<u--input v-model="form.roleName" placeholder="请输入角色名称" maxlength="30"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('roleName')"></u--input>
</u-form-item>
<u-form-item label="权限字符" prop="roleKey" required>
<u--input v-model="form.roleKey" placeholder="请输入权限字符" maxlength="100"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('roleKey')"></u--input>
</u-form-item>
<u-form-item label="显示顺序" required>
@@ -29,7 +29,7 @@
<u-form-item label="状态" prop="statusName" @click="showStatusPicker = true">
<view class="input-with-arrow">
<u--input v-model="statusName" readonly disabledColor="#ffffff" placeholder="请选择状态"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('statusName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -149,6 +149,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const menuOptions = ref([])
const selectedMenuIds = ref([])
const showMenuPicker = ref(false)
@@ -283,6 +296,7 @@ function submit() {
// 设置菜单权限
form.menuIds = selectedMenuIds.value
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.roleId) {
updateRole(form).then(() => {
@@ -299,7 +313,10 @@ function submit() {
}, 1500)
})
}
}).catch(() => {
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}

View File

@@ -9,37 +9,37 @@
<view class="section">
<view class="section-title">{{ title }}</view>
<view class="form-view">
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="180rpx"
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" label-width="160rpx"
:labelStyle="{ color: '#333333', fontSize: '30rpx', marginRight: '24rpx' }">
<u-form-item label="用户昵称" prop="nickName" required>
<u--input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="30"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('nickName')"></u--input>
</u-form-item>
<u-form-item label="用户名称" prop="userName" required v-if="!form.userId">
<u--input v-model="form.userName" placeholder="请输入用户名称" maxlength="30"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('userName')"></u--input>
</u-form-item>
<u-form-item label="用户密码" prop="password" required v-if="!form.userId">
<u--input v-model="form.password" type="password" placeholder="请输入用户密码" maxlength="20"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('password')"></u--input>
</u-form-item>
<u-form-item label="手机号码" prop="phonenumber" required>
<u--input v-model="form.phonenumber" placeholder="请输入手机号码" maxlength="11"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('phonenumber')"></u--input>
</u-form-item>
<u-form-item label="邮箱" prop="email">
<u--input v-model="form.email" placeholder="请输入邮箱" maxlength="50"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('email')"></u--input>
</u-form-item>
<u-form-item label="用户性别" prop="sexName" @click="showSexPicker = true">
<view class="input-with-arrow">
<u--input v-model="sexName" readonly disabledColor="#ffffff" placeholder="请选择性别"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('sexName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -47,7 +47,7 @@
<u-form-item label="归属部门" prop="deptName" @click="showDeptPicker = true">
<view class="input-with-arrow">
<u--input v-model="deptName" readonly disabledColor="#ffffff" placeholder="请选择归属部门"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('deptName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -55,7 +55,7 @@
<u-form-item label="岗位" prop="postNames" @click="openPostPicker">
<view class="input-with-arrow">
<u--input :value="postNamesText" readonly disabledColor="#ffffff" placeholder="请选择岗位"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('postNames')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -73,7 +73,7 @@
<u-form-item label="角色" prop="roleNames" @click="openRolePicker">
<view class="input-with-arrow">
<u--input :value="roleNamesText" readonly disabledColor="#ffffff" placeholder="请选择角色"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('roleNames')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -91,7 +91,7 @@
<u-form-item label="状态" prop="statusName" @click="showStatusPicker = true">
<view class="input-with-arrow">
<u--input v-model="statusName" readonly disabledColor="#ffffff" placeholder="请选择状态"
inputAlign="left" :customStyle="inputBaseStyle"></u--input>
inputAlign="left" :customStyle="getInputStyle('statusName')"></u--input>
<text class="arrow-icon"></text>
</view>
</u-form-item>
@@ -192,6 +192,19 @@ const inputBaseStyle = {
width: '100%',
boxSizing: 'border-box'
}
const errorFields = ref([])
const inputErrorStyle = {
background: '#fef0f0',
border: '2rpx solid #f56c6c',
borderRadius: '8rpx',
padding: '0 24rpx',
height: '68rpx',
width: '100%',
boxSizing: 'border-box'
}
const getInputStyle = (field) => {
return errorFields.value.includes(field) ? inputErrorStyle : inputBaseStyle
}
const tempPostIds = ref([])
const tempRoleIds = ref([])
@@ -398,6 +411,7 @@ function confirmRoleSelect() {
// 提交
function submit() {
errorFields.value = []
proxy.$refs['uForm'].validate().then(() => {
if (form.userId) {
updateUser(form).then(() => {
@@ -414,7 +428,10 @@ function submit() {
}, 1500)
})
}
}).catch(() => {
}).catch(errors => {
if (errors && errors.length > 0) {
errorFields.value = errors.map(err => err.field)
}
proxy.$modal.msgError('请填写完整信息')
})
}

View File

@@ -19,9 +19,21 @@
}
/* ==================== 选择型输入框容器样式 ==================== */
/* 整块输入区域响应父级点击,避免移动端只点箭头才触发 */
.input-with-arrow {
position: relative;
width: 100%;
cursor: pointer;
/* 所有子输入元素禁用鼠标事件,点击穿透到父级 */
.u--input,
.u-input,
.u-input__content,
.u-input__content__field-wrapper,
.u-input__content__field-wrapper__field,
input {
pointer-events: none !important;
}
.arrow-icon {
position: absolute;
@@ -35,7 +47,41 @@
}
}
/* ==================== 表单输入框基础样式常量 ==================== */
/* ==================== 表单 label 防换行 ==================== */
/* 配合 label-width="230rpx" 固定宽度,保险措施防止意外换行 */
.form-view .u-form-item__body__left__content__label {
white-space: nowrap !important;
}
/* ==================== 表单项间距优化 ==================== */
/* 抵消 uView u-form-item 默认 padding 带来的过大间距,使表单更紧凑 */
.form-view .u-form-item {
margin-bottom: -20rpx;
position: relative;
}
/* ==================== 表单验证错误提示隐藏 ==================== */
/* 隐藏 uView 默认的下方错误文字提示,只通过边框变红 + toast 提示 */
.u-form-item__body__right__message {
display: none !important;
}
/* ==================== 表单验证错误状态样式 ==================== */
.u-form-item--error .u--input,
.u-form-item--error .u-input,
.u-form-item--error .u-input__content,
.u-form-item--error .u-input__content__field-wrapper {
border: 2rpx solid #f56c6c !important;
background: #fef0f0 !important;
}
.u-form-item--error .u--textarea,
.u-form-item--error .u-textarea {
border: 2rpx solid #f56c6c !important;
background: #fef0f0 !important;
}
/* ==================== 表单输入框基础样式常数 ==================== */
/* 各页面在 <script setup> 中通过以下常量使用:
const inputBaseStyle = {
background: '#ffffff',