| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- // feedbackMixin.js - 可复用的反馈表单逻辑
- export default {
- data() {
- return {
- scanCode: '',
- filterStatus: '2',
- filterOptions: [{
- label: '意见反馈',
- value: '1'
- },
- {
- label: '留言评价',
- value: '2'
- }
- ],
- model1: {
- userInfo: {
- qrCode: '',
- type: '',
- liuyan: '',
- tel: '',
- mail: '',
- name: ''
- },
- },
- rules: {
- 'userInfo.name': {
- type: 'string',
- required: true,
- message: '请填写姓名',
- trigger: ['blur', 'change']
- },
- 'userInfo.tel': [{
- required: true,
- message: '请输入手机号',
- trigger: ['change', 'blur'],
- },
- {
- // 自定义验证函数,见上说明
- validator: (rule, value, callback) => {
- console.log(value);
- // 上面有说,返回true表示校验通过,返回false表示不通过
- // uni.$u.test.mobile()就是返回true或者false的
- return uni.$u.test.mobile(value);
- },
- message: '手机号码不正确',
- // 触发器可以同时用blur和change
- trigger: ['change', 'blur'],
- }
- ],
- },
- }
- },
- onReady() { // 如果需要兼容微信小程序,并且校验规则中含有方法等,只能通过setRules方法设置规则
- this.$refs.uForm.setRules(this.rules)
- },
- onLoad() {
- this.scanCode = uni.getStorageSync('scanCode');
- this.model1.userInfo.qrCode = this.scanCode;
- },
- methods: {
- baseOpenDetail(url) {
- uni.navigateTo({
- url: '/pages/'+url+'/index/rules'
- });
- },
- baseGoBack() {
- uni.navigateBack();
- },
- baseOnFilterChange(val) {
- if (this.filterStatus !== val) {
- this.filterStatus = val;
- }
- },
- baseSaveData(apiFunction, successCallback) {
- let that = this;
- this.model1.userInfo.type = this.filterStatus;
- this.$refs.uForm.validate().then(res => {
- apiFunction(that.model1.userInfo).then(data => {
- this.model1.userInfo.liuyan = '';
- this.model1.userInfo.tel = '';
- this.model1.userInfo.mail = '';
- this.model1.userInfo.name = '';
- let params = {
- type: "success",
- title: "成功主题(带图标)",
- message: "提交成功",
- iconUrl: "https://uviewui.com/demo/toast/success.png",
- }
- this.$refs.uToast.show({
- ...params
- });
-
- if (successCallback && typeof successCallback === 'function') {
- successCallback(data);
- }
- })
- }).catch(errors => {
- })
- }
- }
- }
|