135 lines
4.4 KiB
Vue
135 lines
4.4 KiB
Vue
|
<template>
|
|||
|
<view class="bg-white br12 p-0-20">
|
|||
|
<view class="d-b-c p-30-0 border-b">
|
|||
|
<view class="f28 fb">{{ $t('ENU_G_C_7') }}</view>
|
|||
|
<view @click="clickFold">
|
|||
|
<u-icon name="arrow-down" size="28rpx" color="#999999" v-if="fold"></u-icon>
|
|||
|
<u-icon name="arrow-right" size="28rpx" color="#999999" v-else></u-icon>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="collspaceContent" :class="{ 'closed': !fold }">
|
|||
|
<view class="d-b-c p-20-0 border-b">
|
|||
|
<view class="f28 gray3">{{ $t('S_C_7') }}:{{ $t('S_C_69') }}</view>
|
|||
|
<picker :range="monthList" @change="changeMonth">
|
|||
|
<view class="common picker">
|
|||
|
<text>{{ monthList[monthIndex] }}{{ $t('ENU_SETTLE_P_3') }}</text>
|
|||
|
<u-icon name="arrow-down" size="28rpx" color="#333"></u-icon>
|
|||
|
</view>
|
|||
|
</picker>
|
|||
|
</view>
|
|||
|
|
|||
|
<view class="prefecture form-group">
|
|||
|
<view class="form-item">
|
|||
|
<view class="form-label">
|
|||
|
<text class="domation mr10">*</text>
|
|||
|
{{ $t('S_C_32') }}
|
|||
|
</view>
|
|||
|
<input class="form-input" type="text" value="" v-model="totalAchieve" :placeholder="$t('S_C_70')" />
|
|||
|
</view>
|
|||
|
<view class="form-item">
|
|||
|
<view class="form-label">
|
|||
|
{{ $t('S_C_9') }}
|
|||
|
</view>
|
|||
|
<view class="flex-1">
|
|||
|
<text class="domation mr10">*</text>
|
|||
|
<text class="f28">{{ $t('S_C_33') }}</text>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="form-item" v-for="(v, idx) in goalsDetailVOList" :key="idx">
|
|||
|
<view class="form-label">
|
|||
|
{{ $t(transformZh(idx + 1)) }}
|
|||
|
</view>
|
|||
|
<input class="form-input" type="text" v-model="v.cycleValue" :placeholder="$t('S_C_70')" />
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</template>
|
|||
|
|
|||
|
<script>
|
|||
|
import utils from '@/common/utils.js';
|
|||
|
export default {
|
|||
|
components: {},
|
|||
|
props: ['data', 'monthList', 'monthIndex'],
|
|||
|
data() {
|
|||
|
return {
|
|||
|
fold: false,
|
|||
|
totalAchieve: "",
|
|||
|
goalsDetailVOList: [
|
|||
|
{
|
|||
|
cycleKey: "m1",
|
|||
|
cycleValue: "",
|
|||
|
},
|
|||
|
{
|
|||
|
cycleKey: "m2",
|
|||
|
cycleValue: "",
|
|||
|
},
|
|||
|
{
|
|||
|
cycleKey: "m3",
|
|||
|
cycleValue: "",
|
|||
|
},
|
|||
|
{
|
|||
|
cycleKey: "m4",
|
|||
|
cycleValue: "",
|
|||
|
},
|
|||
|
]
|
|||
|
};
|
|||
|
},
|
|||
|
methods: {
|
|||
|
clickFold() {
|
|||
|
this.fold = !this.fold;
|
|||
|
},
|
|||
|
changeMonth(e) {
|
|||
|
this.$emit('change-month', e)
|
|||
|
},
|
|||
|
transformZh(index) {
|
|||
|
return utils.numberToChinese(index)
|
|||
|
},
|
|||
|
submit() {
|
|||
|
if (!this.totalAchieve) {
|
|||
|
uni.showToast({
|
|||
|
title: `${this.$t('S_C_70')}${this.$t('S_C_32')}`,
|
|||
|
duration: 1000,
|
|||
|
icon: 'none'
|
|||
|
});
|
|||
|
return
|
|||
|
}
|
|||
|
if (this.goalsDetailVOList.length < 1) {
|
|||
|
uni.showToast({
|
|||
|
title: `${this.$t('S_C_70')}${this.$t('S_C_33')}`,
|
|||
|
duration: 1000,
|
|||
|
icon: 'none'
|
|||
|
});
|
|||
|
return
|
|||
|
}
|
|||
|
let flag = this.goalsDetailVOList.every((item) => {
|
|||
|
return item.cycleValue
|
|||
|
})
|
|||
|
if (!flag) {
|
|||
|
uni.showToast({
|
|||
|
title: `${this.$t('S_C_70')}${this.$t('S_C_33')}`,
|
|||
|
duration: 1000,
|
|||
|
icon: 'none'
|
|||
|
});
|
|||
|
return
|
|||
|
}
|
|||
|
this.$props.data.totalAchieve = this.totalAchieve;
|
|||
|
this.$props.data.goalsDetailVOList = JSON.parse(JSON.stringify(this.goalsDetailVOList));
|
|||
|
return true
|
|||
|
}
|
|||
|
}
|
|||
|
};
|
|||
|
</script>
|
|||
|
|
|||
|
<style lang="scss" scoped>
|
|||
|
.collspaceContent {
|
|||
|
max-height: 5000rpx;
|
|||
|
overflow: hidden;
|
|||
|
transition: all ease 0.8s;
|
|||
|
|
|||
|
&.closed {
|
|||
|
max-height: 0;
|
|||
|
transition: all ease 0.6s;
|
|||
|
}
|
|||
|
}
|
|||
|
</style>
|