136 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Vue
		
	
	
	
			
		
		
	
	
			136 lines
		
	
	
		
			4.5 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_8') }}</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_58') }}</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('w_0109') }}
 | ||
|                     </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_10') }}({{ performanceCurrency() }})</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('w_0109')}`,
 | ||
|                     duration: 1000,
 | ||
|                     icon: 'none'
 | ||
|                 });
 | ||
|                 return
 | ||
|             }
 | ||
|             if (this.goalsDetailVOList.length < 1) {
 | ||
|                 uni.showToast({
 | ||
|                     title: `${this.$t('S_C_70')}${this.$t('S_C_10')}`,
 | ||
|                     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_10')}`,
 | ||
|                     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> |