第60章 用户增、修、删的前端实现

1  \src\components\Users\AddUser.vue

        label-width="100px" class="demo-ruleForm" label-position="left" status-icon :model="formAdd"

            :rules="ruleAdd" ref="refRule">

            label="账户:" prop="name">

                v-model="formAdd.name" />

           

            label="电子邮箱:" prop="email">

                v-model="formAdd.email" />

           

            label="手机号:" prop="phone">

                v-model="formAdd.phone" />

           

            label="角色:" prop="roleIdList">

                v-model="formAdd.roleIdList">

                    v-for="item in formAdd.roleList" :key="item.id" :label="item.id">

                        {{item.name}}

                   

               

           

       

            label="激活:" prop="isActive">

                v-model="formAdd.isActive" style="width: 100%;">

                    label="激活" :value="true" />

                    label="禁用" :value="false" />

               

           

            label="可用:" prop="deleted">

                v-model="formAdd.deleted" style="width: 100%;">

                    label="已被删除" :value="true" />

                    label="可用" :value="false" />

               

           

       

        #footer>

            class="dialog-footer">

                @click="this.formAdd.centerDialogVisible = false">

                type="primary" @click="onSubmit">

           

       

   

scoped lang="scss">

    .my-header {

        display: flex;

        flex-direction: row;

        justify-content: space-between;

    }

第60章 用户增、修、删的前端实现_第1张图片

2  \src\components\Users\ EditUser.vue

        :model="formUser" label-width="100px" class="demo-ruleForm" label-position="left" status-icon

            :rules="ruleEdit" ref="refRule">

           

            v-model:file-list="fileList" class="upload-demo" list-type="picture" :action="actionRequestUrl"

                name="formFile" :before-upload="beforeUpload" :on-change="onUploadChange" :data="paramData">

                type="primary">点击上传

           

            label="编号:">

                v-model="formUser.id" disabled />

           

            label="名称:" prop="name">

                v-model="formUser.name" />

           

            label="邮箱:" prop="email">

                v-model="formUser.email" />

           

            label="手机号:" prop="phone">

                v-model="formUser.phone" />

           

            label="角色:" prop="roleIdList">

                v-model="formUser.roleIdList">

                    v-for="item in formUser.roleList" :key="item.id" :label="item.id">

                        {{item.name}}

                   

               

           

           

           

            label="激活:" prop="isActive">

                v-model="formUser.isActive" style="width: 100%;">

                    label="激活" :value="true" />

                    label="禁用" :value="false" />

               

           

            label="可用:" prop="deleted">

                v-model="formUser.deleted" style="width: 100%;">

                    label="已被删除" :value="true" />

                    label="可用" :value="false" />

               

           

       

        #footer>

            class="dialog-footer">

                @click="onCancel">

                type="primary" @click="submitEdit">

           

       

   

scoped lang="scss">

    .my-header {

        display: flex;

        flex-direction: row;

        justify-content: space-between;

    }

第60章 用户增、修、删的前端实现_第2张图片

第60章 用户增、修、删的前端实现_第3张图片 

3  \src\views\Users\UserView.vue

           

            label="角色" align="center" width="100px">

                #default="scope">

                    v-for="tag in scope.row.roleCollection" :key="tag.id" effect="plain"

                        style="margin-bottom: 3px;">

                        {{ tag.name }}

                   

               

           

            label="状态" align="center" width="85px">

                #default="scope">

                   

                    effect="plain" v-show="scope.row.isSystemAccount">系统帐户

                    type="success" effect="plain" v-show="!scope.row.isSystemAccount"

                        style="letter-spacing:7px; text-indent:10px">其它

                    type="success" effect="plain" style="letter-spacing:7px; text-indent:10px; margin: 3px 0px;"

                        v-show="scope.row.isActive">激活

                    type="danger" effect="plain" style="letter-spacing:7px; text-indent:10px; margin: 3px 0px;"

                        v-show="!scope.row.isActive">禁用

                    type="success" effect="plain" v-show="!scope.row.deleted"

                        style="letter-spacing:7px; text-indent:10px">可用

                    type="danger" effect="plain" v-show="scope.row.deleted">已被删除

               

           

            prop="createdDateTime" label="注册时间" :formatter="dateTimeformat" width="155" sortable />

            prop="updatedDateTime" label="最后更新时间" :formatter="dateTimeformat" width="155" sortable />

            align="center" width="85px">

                #default="scope">

                    type="primary" size="small" style="" :disabled="scope.row.email=='[email protected]'"

                        @click="onResertPassword(scope.row)">

                        密码重置

                   

                    type="primary" size="small"

                        style="letter-spacing:7px; text-indent:10px; margin: 7px 0px;"

                        :disabled="scope.row.email=='[email protected]'" @click="editUser(scope.row)">

                        编辑

                   

                    type="danger" size="small" style="letter-spacing:7px; text-indent:10px; margin:0px;"

                        :disabled="scope.row.email=='[email protected]'" @click="deleteSingle(scope.row)">

                        删除

                   

               

           

       

       

        v-model:current-page="this.pagination.pageIndex" v-model:page-size="this.pagination.pageSize"

            :page-sizes="[3, 10, 15, 20, 50, 100]" :total="this.pagination.totalCount" prev-text="上一页" next-text="下一页"

            background layout="->, total, sizes, prev, pager, next" @size-change="handleSizeChange"

            @current-change="handleCurrentChange" />

       

        v-model="this.formEidt.centerDialogVisible" :propParent="this.formEidt" @runParent="editDialogClose">

       

        v-model="this.formAdd.centerDialogVisible" :propParent="this.formAdd" @runParent="addDialogClose">

       

   

scoped lang="scss">

    .wrap {

        height: 100%;

        overflow-x: hidden;

    }

    //表单“label”字体样式

    :deep(.el-form-item__label) {

        font-weight: 400;

    }

    // 修改表头样式。

    :deep(.el-table__header thead th) {

        background-color: #000000;

        color: #ffd04b;

        font-weight: 400;

        text-align: center;

    }

    //修改复选框控件样式。

    :deep(.el-checkbox) {

        display: flex;

        align-items: center;

        width: 25px;

        height: 25px;

        //修改选中框的大小

        .el-checkbox__inner {

            width: 20px;

            height: 20px;

            border: #409EFF solid 2px;

            //修改选中框中的对勾的大小和位置

            &::after {

                // 对号

                border: 4px solid #FFFFFF;

                // 不覆盖下面的 导致对号变形

                box-sizing: content-box;

                content: "";

                border-left: 0;

                border-top: 0;

                height: 15px;

                position: absolute;

                top: -3px;

            }

        }

        //修改点击文字颜色不变

        .el-checkbox__input.is-checked+.el-checkbox__label {

            color: #333333;

        }

        .el-checkbox__label {

            line-height: 25px;

            //padding-left: 8px;

        }

    }

    //表格隔行变换颜色。

    :deep(.el-table__body tbody tr:nth-child(odd)) {

        background-color: #FFFFFF;

    }

    :deep(.el-table__body tbody tr:nth-child(even) td) {

        background-color: #CCFFFF;

    }

    .userinfo-inner {

        cursor: pointer;

        float: left;

    }

    //标签控件字体样式。

    .el-tag {

        font-weight: 400;

        padding: 5px 5px;

    }

    //按钮控件字体样式。

    .el-button {

        font-weight: 400;

        padding: 5px 5px;

    }

    //“el-pagination”分页组件样式。

    .el-pagination {

        margin-top: 10px;

        //font-size: 25px;

        //"上一页"样式。

        :deep(.btn-prev) {

            background-color: transparent;

            height: 40px;

            margin-right: 20px;

        }

        //"下一页"样式。

        :deep(.btn-next) {

            background-color: transparent;

            height: 40px;

            margin-left: 20px;

        }

        //分页索引样式。

        :deep(.number) {

            background-color: transparent;

            min-width: 40px;

            height: 40px;

            margin-right: 15px;

        }

    }

    //“el-pagination”分页组件中下拉框控件字体样式。

    :deep(.el-input__wrapper) {

        //font-size: 25px;

    }

    .lightgreen-box {

        //background-color: lightgreen;

        //height: 24px;

        float: right;

    }

第60章 用户增、修、删的前端实现_第4张图片

第60章 用户增、修、删的前端实现_第5张图片 

 

对以上功能更为具体实现和注释见:230412_016shopvue(用户增、修、删的前端实现)。

你可能感兴趣的:(一步一步前后端开发实现,vue3,HBuilderX,前后端分离,前端,管理端)