马宇豪
2023-02-22 1052dd9a5a36d531f1ea89a04ad2d7a1047ae4d7
修改
已修改3个文件
89 ■■■■ 文件已修改
src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/user/component/userDialog.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/user/index.vue 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue
@@ -43,17 +43,21 @@
                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
                        <el-form-item label="事故原因" prop="accidentCause">
                            <el-select v-model="ruleForm.accidentCause" :disabled="disabled" class="w100" placeholder="请选择">
                                <el-option label="人的不安全行为" value="1"></el-option>
                                <el-option label="物的不安全状态" value="2"></el-option>
                                <el-option label="人的不安全行为" :value="1"></el-option>
                                <el-option label="物的不安全状态" :value="2"></el-option>
                            </el-select>
                        </el-form-item>
                    </el-col>
                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
                        <el-form-item label="是否有伤亡" prop="casualties">
                            <el-radio-group v-model="ruleForm.casualties" :disabled="disabled" @change="typeChang">
                                <el-radio :label="true">是</el-radio>
                                <el-radio :label="false">否</el-radio>
                            </el-radio-group>
<!--                            <el-radio-group v-model="ruleForm.casualties" :disabled="disabled" @change="typeChang">-->
<!--                                <el-radio :label="true">是</el-radio>-->
<!--                <el-radio :label="false">否</el-radio>-->
<!--                            </el-radio-group>-->
              <el-radio-group v-model="ruleForm.casualties" :disabled="disabled" @change="typeChang">
                <el-radio :label="1">是</el-radio>
                <el-radio :label="0">否</el-radio>
              </el-radio-group>
                            <el-button v-if="ruleForm.casualties" type="primary" style="margin-left: 20px"
                                       :icon="Edit" @click="openDai(ruleFormRef)" round plain />
                        </el-form-item>
@@ -147,14 +151,14 @@
            emergencyPrecautions: '',
            accidentCausesPreliminaryAnalysis: '',
            accidentBriefProcess: '',
            casualties: '',
            accidentCause: '',
            casualties: null,
            accidentCause: null,
            occurrenceTime: '',
            occurrencePlace: '',
            accidentDepartmentId: '',
            accidentName: '',
            fileList: [],
            id: '',
            id: null,
        });
        const titles = ref();
        const disabled = ref();
@@ -169,7 +173,9 @@
                    .then((res) => {
                        if (res.data.code == 200) {
                            ruleForm.value = res.data.data;
                            fileList.value = (res.data.data.fileList?res.data.data.fileList:[])
              if(res.data.data.casualties == true){ruleForm.value.casualties = 1}
              if(res.data.data.casualties == false){ruleForm.value.casualties = 0}
              fileList.value = (res.data.data.fileList?res.data.data.fileList:[])
                            initFileListData()
                        }
                    });
@@ -312,11 +318,11 @@
            if(!ruleForm.value.fileList){
                ruleForm.value.fileList = []
            }
      // ruleForm.value.casualties = false
            if (title == '新建事故快报') {
                if (!formEl) return;
                await formEl.validate((valid, fields) => {
                    if (valid) {
                        isShowDialog.value = false;
                        if(ruleForm.value.id==null||ruleForm.value.id==''){
                            ruleForm.value.id = null;
                            accidentManagementSystemApi()
@@ -338,6 +344,7 @@
                                        emit('myAdd', true);
                                    }
                                    formEl.resetFields();
                  isShowDialog.value = false;
                                });
                        }else {
                            ElMessage({
@@ -346,8 +353,8 @@
                                type: 'success',
                            });
                            emit('myAdd', true);
              isShowDialog.value = false;
                        }
                    } else {
                        console.log('error submit!', fields);
                    }
@@ -390,17 +397,30 @@
        };
        const closeDialog = (formEl: FormInstance | undefined) => {
            formEl.resetFields();
      ruleForm.value = {
          emergencyPrecautions: '',
          accidentCausesPreliminaryAnalysis: '',
          accidentBriefProcess: '',
          casualties: null,
          accidentCause: '',
          occurrenceTime: '',
          occurrencePlace: '',
          accidentDepartmentId: '',
          accidentName: '',
          fileList: [],
          id: null,
      }
            fileList.value = []
            console.log(ruleForm);
            isShowDialog.value = false;
        };
        // 是否有伤亡弹窗
        const typeChang = () => {
            console.log('tag', ruleForm);
            console.log('tag', ruleForm.value);
        };
        const ShowUser = ref();
        const openDai = async (formEl: FormInstance | undefined) => {
            if(ruleForm.value.id==null||ruleForm.value.id==''){
        if(ruleForm.value.id==null||ruleForm.value.id==''){
                if(!ruleForm.value.fileList){
                    ruleForm.value.fileList = []
                }
src/views/system/user/component/userDialog.vue
@@ -31,12 +31,12 @@
                        </el-form-item>
                    </el-col>
                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
                        <el-form-item label="身份证" prop="identify">
                        <el-form-item label="身份证">
                            <el-input v-model.trim="userForm.identify" placeholder="请输入身份证" clearable></el-input>
                        </el-form-item>
                    </el-col>
                    <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
                        <el-form-item label="邮箱" prop="email">
                        <el-form-item label="邮箱">
                            <el-input v-model.trim="userForm.email" placeholder="请输入" clearable></el-input>
                        </el-form-item>
                    </el-col>
@@ -139,8 +139,6 @@
                roleId: [{ required: true, message: '请选择用户角色', trigger: 'change' }],
                depId: [{ required: true, message: '请选择部门', trigger: 'change' }],
                phone: [{ required: true, message: '请填写手机号', trigger: 'blur' }],
                email: [{ required: true, message: '请填写邮箱地址', trigger: 'blur' }],
                identify: [{ required: true, message: '请填写身份证号', trigger: 'blur' }],
                gender: [{ required: true, message: '请选择性别', trigger: 'change' }],
                expireTime: [{ required: true, message: '请输入账户过期时间', trigger: 'blur' }],
                password: [{ required: true, message: '请输入账户密码', trigger: 'blur' }],
src/views/system/user/index.vue
@@ -2,8 +2,17 @@
    <div class="system-user-container">
        <el-card shadow="hover">
            <div class="system-user-search mb15">
                <el-input size="default" v-model.trim="userTableData.listQuery.searchParams.username" placeholder="请输入用户名" style="max-width: 180px"> </el-input>
                <el-input size="default" v-model.trim="userTableData.listQuery.searchParams.realName" placeholder="请输入真实姓名" style="max-width: 180px; margin-left: 10px"> </el-input>
                <el-cascader
                    v-model="userTableData.listQuery.searchParams.depId"
                    :props="props"
                    :options="departmentList"
                    :show-all-levels="false"
                    placeholder="请选择部门"
                    clearable
                    size="default"
                ></el-cascader>
                <el-input size="default" v-model.trim="userTableData.listQuery.searchParams.username" placeholder="请输入用户名" style="max-width: 180px;margin-left: 10px;margin-right: 10px"> </el-input>
                <el-input size="default" v-model.trim="userTableData.listQuery.searchParams.realName" placeholder="请输入真实姓名" style="max-width: 180px"> </el-input>
                <el-button size="default" type="primary" class="ml10" @click="initUserTableData">
                    <el-icon>
                        <ele-Search />
@@ -21,9 +30,14 @@
                <el-table-column type="index" label="序号" width="60" />
                <el-table-column prop="username" label="用户名" show-overflow-tooltip></el-table-column>
                <el-table-column prop="realName" label="真实姓名" show-overflow-tooltip></el-table-column>
                <el-table-column prop="sex" label="性别" show-overflow-tooltip></el-table-column>
                <el-table-column prop="role.name" label="关联角色" show-overflow-tooltip></el-table-column>
                <el-table-column prop="department.name" label="部门" show-overflow-tooltip></el-table-column>
                <el-table-column prop="gender" label="性别" show-overflow-tooltip>
                  <template #default="scope">
                    <el-tag type="success" v-if="scope.row.gender == 1">男</el-tag>
                    <el-tag type="success" v-else-if="scope.row.gender == 0">女</el-tag>
                  </template>
                </el-table-column>
                <el-table-column prop="role.roleName" label="关联角色" show-overflow-tooltip></el-table-column>
                <el-table-column prop="department.depName" label="部门" show-overflow-tooltip></el-table-column>
                <el-table-column prop="phone" label="手机号" show-overflow-tooltip></el-table-column>
                <el-table-column prop="email" label="邮箱" show-overflow-tooltip></el-table-column>
                <el-table-column prop="status" label="用户状态" show-overflow-tooltip>
@@ -80,6 +94,7 @@
        loading: boolean;
        listQuery: {
            searchParams: {
                depId: string | null;
                username: string | null;
                realName: string | null;
            };
@@ -89,6 +104,7 @@
    };
    departmentList: [];
    roleList: [];
    props:{}
}
export default defineComponent({
@@ -103,6 +119,7 @@
                loading: false,
                listQuery: {
                    searchParams: {
                        depId: null,
                        username: null,
                        realName: null
                    },
@@ -111,7 +128,13 @@
                }
            },
            departmentList: [],
            roleList: []
            roleList: [],
            props: {
              label: 'depName',
              value: 'depId',
              checkStrictly: true,
              emitPath: false
            }
        });
        // 初始化表格数据
        const initUserTableData = async () => {