zhouwenxuan
2023-12-15 07ca2d96c6f38a2a38f958d1771b6b9848f0ce0d
src/views/safetyReview/userManage/expertUsers/components/expertDialog.vue
@@ -24,7 +24,7 @@
                <el-row :gutter="22">
                    <el-col :span="11">
                        <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-col>
                    <el-col :span="11">
@@ -149,7 +149,7 @@
            <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 v-model="state.dialogImg">
@@ -159,7 +159,7 @@
    </div>
</template>
<script setup>
import {reactive, ref, toRefs, defineEmits, onMounted} from 'vue'
import {reactive, ref, toRefs, defineEmits, onMounted, nextTick} from 'vue'
import { View } from "@element-plus/icons-vue";
import {ElMessage} from "element-plus";
import {verifyPhone, verifyPwd, verifyUsername} from "../../../../../utils/validate";
@@ -190,7 +190,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{
@@ -208,7 +219,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{
@@ -368,7 +390,7 @@
                ElMessage.success(res.message)
                emit('getList')
                superRef.value.clearValidate();
                superRef.value.resetFields();
                reset()
                dialogVisible.value = false;
            }else{
                ElMessage.warning(res.message)
@@ -382,7 +404,7 @@
                ElMessage.success(res.message)
                emit('getList')
                superRef.value.clearValidate();
                superRef.value.resetFields();
                reset()
                dialogVisible.value = false;
            }else{
                ElMessage.warning(res.message)
@@ -393,12 +415,32 @@
const handleClose = () => {
    superRef.value.clearValidate();
    superRef.value.resetFields()
    reset()
    dialogVisible.value = false;
}
const reset = () => {
   state.form = {
       id: null,
       name: '',
       username: '',
       sex: 0,
       phone: '',
       agencyId: '',
       socialAttach: [],
       medicalAttach: [],
       salaryAttach: [],
       post: '',
       jobTitle: '',
       major: '',
       expertType: 1,
       password: '',
       confirmPassword: '',
   }
    state.salaryList = [];
    state.medicalList = [];
    state.socialList = [];
}
const picSize = async (rawFile) => {
    if(rawFile.size / 1024 / 1024 > 5){