<template> 
 | 
    <GlobalWindow :title="title" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm"> 
 | 
      <el-form :model="form" ref="form" :rules="rules"> 
 | 
        <el-form-item label="输入新密码" prop="password"> 
 | 
          <el-input v-model="form.password" show-password placeholder="密码支持数字、字符组合,长度6-18位" v-trim /> 
 | 
        </el-form-item> 
 | 
        <el-form-item label="再次输入密码" prop="qpassword"> 
 | 
          <el-input v-model="form.qpassword" show-password placeholder="密码支持数字、字符组合,长度6-18位" v-trim /> 
 | 
        </el-form-item> 
 | 
      </el-form> 
 | 
    </GlobalWindow> 
 | 
  </template> 
 | 
     
 | 
  <script> 
 | 
  import BaseOpera from '@/components/base/BaseOpera' 
 | 
  import GlobalWindow from '@/components/common/GlobalWindow' 
 | 
  import { updPassword } from '@/api/business/anchor.js' 
 | 
  
 | 
  export default { 
 | 
    name: 'OperaBrandWindow', 
 | 
    extends: BaseOpera, 
 | 
    components: { GlobalWindow }, 
 | 
    data() { 
 | 
      var validatePass = (rule, value, callback) => { 
 | 
        if (value === '') { 
 | 
          callback(new Error('密码不能为空')); 
 | 
        } else { 
 | 
          if (!/^(?![^a-zA-Z]+$)(?!\D+$)/.test(value)) { 
 | 
            callback(new Error('密码支持数字、字符组合,长度6-18位')); 
 | 
          } 
 | 
          callback(); 
 | 
        } 
 | 
      }; 
 | 
      var validatePass1 = (rule, value, callback) => { 
 | 
        if (value === '') { 
 | 
          callback(new Error('密码不能为空')); 
 | 
        } else { 
 | 
          if (value !== this.form.password) { 
 | 
            callback(new Error('两次输入的密码不一致')); 
 | 
          } 
 | 
          callback(); 
 | 
        } 
 | 
      }; 
 | 
      return { 
 | 
        // 表单数据 
 | 
        form: { 
 | 
          id: null, 
 | 
          password: '', 
 | 
          qpassword: '' 
 | 
        }, 
 | 
        // 验证规则 
 | 
        rules: { 
 | 
          password: [ 
 | 
            { required: true, validator: validatePass, trigger: 'blur' } 
 | 
          ], 
 | 
          qpassword: [ 
 | 
            { required: true, validator: validatePass1, trigger: 'blur' } 
 | 
          ] 
 | 
        } 
 | 
      } 
 | 
    }, 
 | 
    created() { 
 | 
        this.config({ 
 | 
            api: '/business/anchor', 
 | 
            'field.id': 'id' 
 | 
        }) 
 | 
    }, 
 | 
    methods: { 
 | 
        confirm() { 
 | 
            this.$refs.form.validate((valid) => { 
 | 
                if (!valid) { 
 | 
                    return 
 | 
                } 
 | 
                // 调用新建接口 
 | 
                this.isWorking = true 
 | 
                updPassword({ 
 | 
                    id: this.form.id, 
 | 
                    password: this.form.password 
 | 
                }).then(() => { 
 | 
                    this.visible = false 
 | 
                    this.$tip.apiSuccess('新建成功') 
 | 
                    this.$emit('success') 
 | 
                }) 
 | 
                .catch(e => { 
 | 
                    this.$tip.apiFailed(e) 
 | 
                }) 
 | 
                .finally(() => { 
 | 
                    this.isWorking = false 
 | 
                }) 
 | 
            }) 
 | 
        } 
 | 
    } 
 | 
  } 
 | 
  </script> 
 | 
     
 |