|
|
@@ -25,7 +25,7 @@
|
|
|
<view class="label-tag"></view>
|
|
|
开票金额
|
|
|
</view>
|
|
|
- <u-input v-model.number="form.invoiceAmount" placeholder="请输入开票金额"/>
|
|
|
+ <u-input v-model.number="form.invoiceAmount" placeholder="请输入开票金额" />
|
|
|
</u-form-item>
|
|
|
<u-form-item prop="invoiceDate" @click="show = true">
|
|
|
<view class="form-label flex_l">
|
|
|
@@ -46,11 +46,16 @@
|
|
|
<view class="label-tag"></view>
|
|
|
备注
|
|
|
</view>
|
|
|
- <u-textarea fontSize="26rpx" v-model="form.remark" placeholder="输入备注" height="180" :count="true"
|
|
|
+ <u-textarea
|
|
|
+ fontSize="26rpx"
|
|
|
+ v-model="form.remark"
|
|
|
+ placeholder="输入备注"
|
|
|
+ height="180"
|
|
|
+ :count="true"
|
|
|
maxlength="300"></u-textarea>
|
|
|
</u-form-item>
|
|
|
</u-form>
|
|
|
- <view class="save" @click="save">保存</view>
|
|
|
+ <view class="save" @click="save" :class="!flag ? 'disabledBtn' : ''">保存</view>
|
|
|
</view>
|
|
|
<u-calendar :show="show" @confirm="confirmCalendar" @close="show = false" minDate="1990-1-1"></u-calendar>
|
|
|
<u-action-sheet :actions="collectionTypeOption" @select="selectClick" :show="showPicker"></u-action-sheet>
|
|
|
@@ -64,6 +69,7 @@
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
+ flag:true,
|
|
|
height: '',
|
|
|
paddingTop: '',
|
|
|
form: {
|
|
|
@@ -76,31 +82,39 @@
|
|
|
remark: '', //备注
|
|
|
},
|
|
|
rules: {
|
|
|
- contractCode: [{
|
|
|
- required: true,
|
|
|
- trigger: 'blur',
|
|
|
- message: '请选择合同'
|
|
|
- }],
|
|
|
- invoiceAmount: [{
|
|
|
- type:'number',
|
|
|
- required: true,
|
|
|
- trigger: 'blur',
|
|
|
- message: '请输入开票金额'
|
|
|
- }],
|
|
|
- invoiceDate: [{
|
|
|
- required: true,
|
|
|
- trigger: 'change',
|
|
|
- message: '请选择开票日期'
|
|
|
- }],
|
|
|
- invoiceType: [{
|
|
|
- required: true,
|
|
|
- trigger: 'chgange',
|
|
|
- message: '请输入开票类型'
|
|
|
- }],
|
|
|
+ contractCode: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ trigger: 'blur',
|
|
|
+ message: '请选择合同',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ invoiceAmount: [
|
|
|
+ {
|
|
|
+ type: 'number',
|
|
|
+ required: true,
|
|
|
+ trigger: 'blur',
|
|
|
+ message: '请输入开票金额',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ invoiceDate: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ trigger: 'change',
|
|
|
+ message: '请选择开票日期',
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ invoiceType: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ trigger: 'chgange',
|
|
|
+ message: '请输入开票类型',
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
show: false,
|
|
|
showPicker: false,
|
|
|
- collectionTypeOption: []
|
|
|
+ collectionTypeOption: [],
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
@@ -118,13 +132,11 @@
|
|
|
Promise.all([this.getDicts('invoice_type')])
|
|
|
.then(([collectionType]) => {
|
|
|
this.collectionTypeOption = collectionType.data.values || []
|
|
|
- this.collectionTypeOption.forEach(item => item.name = item.value)
|
|
|
+ this.collectionTypeOption.forEach((item) => (item.name = item.value))
|
|
|
})
|
|
|
.catch((err) => console.log(err))
|
|
|
},
|
|
|
- closeMoveInModel() {
|
|
|
-
|
|
|
- },
|
|
|
+ closeMoveInModel() {},
|
|
|
confirmCalendar(val) {
|
|
|
this.form.invoiceDate = val[0]
|
|
|
this.show = false
|
|
|
@@ -135,24 +147,30 @@
|
|
|
this.showPicker = false
|
|
|
},
|
|
|
async save() {
|
|
|
+ if(!this.flag) return
|
|
|
let params = {
|
|
|
- ...this.form
|
|
|
+ ...this.form,
|
|
|
}
|
|
|
delete params.invoiceName
|
|
|
params.invoiceAmount = parseInt(params.invoiceAmount)
|
|
|
- this.$refs.form.validate().then(async valid => {
|
|
|
- if (valid) {
|
|
|
- const [err, res] = await to(api.addInvoice(params))
|
|
|
- if (err) return
|
|
|
- this.$refs.uToast.show({
|
|
|
- type: 'success',
|
|
|
- message: '创建成功',
|
|
|
- complete: () => {
|
|
|
- this.goBack()
|
|
|
- },
|
|
|
- })
|
|
|
- }
|
|
|
- }).catch(errors => {})
|
|
|
+ this.$refs.form
|
|
|
+ .validate()
|
|
|
+ .then(async (valid) => {
|
|
|
+ if (valid) {
|
|
|
+ this.flag = false
|
|
|
+ const [err, res] = await to(api.addInvoice(params))
|
|
|
+ this.flag = true
|
|
|
+ if (err) return
|
|
|
+ this.$refs.uToast.show({
|
|
|
+ type: 'success',
|
|
|
+ message: '创建成功',
|
|
|
+ complete: () => {
|
|
|
+ this.goBack()
|
|
|
+ },
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch((errors) => {})
|
|
|
},
|
|
|
goBack() {
|
|
|
uni.navigateBack({
|
|
|
@@ -197,7 +215,7 @@
|
|
|
.main {
|
|
|
position: absolute;
|
|
|
width: 100%;
|
|
|
- height: calc(100vh - 280rpx);
|
|
|
+ height: calc(100vh - 190rpx);
|
|
|
background: #ffffff;
|
|
|
border-radius: 31rpx 31rpx 0 0;
|
|
|
padding: 0 32rpx;
|
|
|
@@ -213,21 +231,18 @@
|
|
|
.label-tag {
|
|
|
width: 15rpx;
|
|
|
height: 15rpx;
|
|
|
- background: #ff4d4f;
|
|
|
+ background: #ff4d4f;
|
|
|
border-radius: 50%;
|
|
|
margin-right: 10rpx;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
.save {
|
|
|
- position: fixed;
|
|
|
- bottom: 0;
|
|
|
- left: 0;
|
|
|
width: 100%;
|
|
|
height: 92rpx;
|
|
|
background: #3e7ef8;
|
|
|
- border-radius: 31rpx 31rpx 0 0;
|
|
|
- margin: 116rpx auto 0;
|
|
|
+ border-radius: 31rpx;
|
|
|
+ margin: 60rpx auto 0;
|
|
|
font-size: 32rpx;
|
|
|
color: #ffffff;
|
|
|
text-align: center;
|