zhouwenxuan
2023-12-15 07ca2d96c6f38a2a38f958d1771b6b9848f0ce0d
src/views/safetyReview/userManage/superviseUsers/components/superviseDialog.vue
@@ -3,7 +3,7 @@
        <el-dialog
            v-model="dialogVisible"
            :title="state.title"
            width="500px"
            width="550px"
            :before-close="handleClose"
        >
            <el-form :model="state.form" size="default" ref="superRef" :rules="state.formRules" label-width="110px" >
@@ -11,7 +11,7 @@
                    <el-input v-model.trim="state.form.name" ></el-input>
                </el-form-item>
                <el-form-item label="用户名:"  prop="username" v-if="state.title !== '修改密码'">
                    <el-input v-model.trim="state.form.username" ></el-input>
                    <el-input v-model.trim="state.form.username" :disabled="state.title =='编辑'" ></el-input>
                </el-form-item>
                <el-form-item label="密码:" prop="password" v-if="state.title == '新增' || state.title == '修改密码'">
                    <el-input v-model.trim="state.form.password" type="password" show-password placeholder="请输入密码"></el-input>
@@ -42,14 +42,14 @@
            <template #footer >
                    <span class="dialog-footer">
                        <el-button @click="handleClose" size="default">取 消</el-button>
                        <el-button type="primary"  @click="onSubmit" size="default">确认</el-button>
                        <el-button type="primary"  @click="onSubmit" size="default" v-preReClick>确认</el-button>
                    </span>
            </template>
        </el-dialog>
    </div>
</template>
<script setup>
import {reactive, ref, toRefs, defineEmits} from 'vue'
import {reactive, ref, toRefs, defineEmits, nextTick} from 'vue'
import { View } from "@element-plus/icons-vue";
import {ElMessage} from "element-plus";
import {verifyPhone, verifyPwd, verifyUsername} from "../../../../../utils/validate";
@@ -78,7 +78,18 @@
    if(!verifyPhone(value)){
      callback(new Error('手机号格式有误'))
    }else{
      checkPhone({phone:value,id: state.form.id}).then((res)=>{
        let param = {}
        if(state.title=='新增') {
            param = {
                phone:value
            }
        }else if(state.title=='编辑'){
            param = {
                phone:value,
                id: state.form.id
            }
        }
      checkPhone(param).then((res)=>{
        if(res.data == false){
          callback(new Error('该手机号已被绑定用户,请更换其他手机号'))
        }else{
@@ -96,7 +107,18 @@
    if(!verifyUsername(value)){
      callback(new Error('用户名须使用字母+数字,长度在5-16之间'))
    }else{
      checkUserName({username:value,id: state.form.id}).then((res)=>{
        let param = {}
        if(state.title=='新增') {
            param = {
                username:value
            }
        }else if(state.title=='编辑'){
            param = {
                username:value,
                id: state.form.id
            }
        }
      checkUserName(param).then((res)=>{
        if(res.data == false){
          callback(new Error('用户名已被占用,请更换其他用户名'))
        }else{
@@ -147,11 +169,14 @@
    getArea()
    state.title = type === 'add' ? '新增' : type ==='edit' ? '编辑' : type ==='pwd' ? '修改密码' : '查看' ;
    if(type === 'edit') {
        for(let i in state.form){
          if(validKey(i,value)){
              state.form[i] = value[i]
          }
        }
        nextTick(() => {
            for(let i in state.form){
                if(validKey(i,value)){
                    state.form[i] = value[i]
                }
            }
        })
    }
    if(type == 'pwd'){
      state.form.id = value.id
@@ -186,6 +211,7 @@
          if(res.code == 200){
            ElMessage.success(res.message)
            emit('getList')
              state.form.userType = 0
            superRef.value.clearValidate();
            superRef.value.resetFields();
            dialogVisible.value = false;
@@ -199,6 +225,7 @@
          if(res.code == 200){
            ElMessage.success(res.message)
            emit('getList')
              state.form.userType = 0
            superRef.value.clearValidate();
            superRef.value.resetFields();
            dialogVisible.value = false;
@@ -224,6 +251,7 @@
}
const handleClose = () => {
    state.form.userType = 0
    superRef.value.clearValidate();
    superRef.value.resetFields()
    dialogVisible.value = false;