forked from angelo/web-retail-h5
123 lines
2.8 KiB
Vue
123 lines
2.8 KiB
Vue
|
<template>
|
|||
|
<view class="content">
|
|||
|
<view class="centerbox">
|
|||
|
<u--form labelPosition="left" :model="dataForm" :rules="rules" ref="uForm">
|
|||
|
<view class="view-class">
|
|||
|
<u-form-item :label="$t('S_L_16')" @click='selectShow = true' label-width="150rpx" prop="type">
|
|||
|
<u--input :readonly='true' v-model="dataForm.typeName" suffixIcon="arrow-down"
|
|||
|
:placeholder="$t('CK_KS_38')">
|
|||
|
</u--input>
|
|||
|
|
|||
|
</u-form-item>
|
|||
|
</view>
|
|||
|
<view class="view-class">
|
|||
|
<u-form-item :label="$t('S_L_15')" label-width="150rpx" prop="idea">
|
|||
|
<u--textarea v-model="dataForm.idea" :placeholder="$t('S_C_70')"></u--textarea>
|
|||
|
</u-form-item>
|
|||
|
</view>
|
|||
|
</u--form>
|
|||
|
</view>
|
|||
|
<view class="bottombtn">
|
|||
|
<u-button @click="submit" :text="$t('S_L_17')" color="#D61820"></u-button>
|
|||
|
</view>
|
|||
|
<u-picker @cancel='selectShow=false' :show="selectShow" ref="uPicker" :columns="typeList" @confirm="confirm"
|
|||
|
keyName='label'></u-picker>
|
|||
|
</view>
|
|||
|
</template>
|
|||
|
|
|||
|
<script>
|
|||
|
import * as sid from '@/config/balance.js'
|
|||
|
export default {
|
|||
|
data() {
|
|||
|
return {
|
|||
|
dataForm: {
|
|||
|
type: "",
|
|||
|
idea: "",
|
|||
|
typeName: ""
|
|||
|
},
|
|||
|
rules: {
|
|||
|
type: [{
|
|||
|
// 必填项
|
|||
|
required: true,
|
|||
|
// 提示内容(会出现在u-form-item内的底部)
|
|||
|
message: this.$t('CK_KS_38'),
|
|||
|
}],
|
|||
|
idea: [{
|
|||
|
// 必填项
|
|||
|
required: true,
|
|||
|
// 提示内容(会出现在u-form-item内的底部)
|
|||
|
message: this.$t('S_C_70'),
|
|||
|
|
|||
|
trigger: ["change"],
|
|||
|
}],
|
|||
|
},
|
|||
|
selectShow: false,
|
|||
|
typeList: [],
|
|||
|
|
|||
|
}
|
|||
|
},
|
|||
|
onLoad() {
|
|||
|
this.getData()
|
|||
|
},
|
|||
|
methods: {
|
|||
|
submit() {
|
|||
|
this.$refs.uForm.validate().then((res) => {
|
|||
|
sid.saveFeedBack(this.dataForm).then((res) => {
|
|||
|
if (res.code == 200) {
|
|||
|
|
|||
|
uni.showToast({
|
|||
|
title: res.msg,
|
|||
|
icon: 'none',
|
|||
|
|
|||
|
})
|
|||
|
// uni.setStorageSync('isTab', 3);
|
|||
|
uni.$emit('tabChange', 3);
|
|||
|
// 跳转到tabbar页面
|
|||
|
setTimeout(() => {
|
|||
|
uni.switchTab({
|
|||
|
url: '/pages/email/index'
|
|||
|
})
|
|||
|
}, 100)
|
|||
|
// this.$refs.uForm.resetFields()
|
|||
|
// this.$refs.uForm.clearValidate()
|
|||
|
}
|
|||
|
})
|
|||
|
})
|
|||
|
},
|
|||
|
confirm(e) {
|
|||
|
this.dataForm.type = e.value[0].value
|
|||
|
this.dataForm.typeName = e.value[0].label
|
|||
|
this.selectShow = false
|
|||
|
|
|||
|
},
|
|||
|
getData() {
|
|||
|
sid.getFeedbackType().then((res) => {
|
|||
|
this.typeList = [res.data];
|
|||
|
});
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
</script>
|
|||
|
|
|||
|
<style lang="scss" scoped>
|
|||
|
.content {
|
|||
|
background: #F9F9F9;
|
|||
|
padding: 10rpx 12rpx;
|
|||
|
|
|||
|
.centerbox {
|
|||
|
padding: 10rpx;
|
|||
|
background: #FFFFFF;
|
|||
|
box-shadow: 0rpx 2rpx 10rpx 0rpx rgba(204, 204, 204, 0.4);
|
|||
|
border-radius: 10rpx 10rpx 0rpx 0rpx;
|
|||
|
}
|
|||
|
|
|||
|
.bottombtn {
|
|||
|
padding: 10rpx 30rpx 40rpx 30rpx;
|
|||
|
position: fixed;
|
|||
|
background-color: #FFFFFF;
|
|||
|
bottom: 0;
|
|||
|
left: 0;
|
|||
|
right: 0;
|
|||
|
}
|
|||
|
}
|
|||
|
</style>
|