1 files added
5 files modified
| | |
| | | $data = $this->postData(); |
| | | $data['branch_id'] = $this->getBranchId(); |
| | | $model = new UserModel(); |
| | | $num = $model->getUserName(['is_delete'=>0,'user_name' => $data['user_name']]); |
| | | $num = $model->getUserName(['is_delete' => 0,'user_name' => $data['user_name']]); |
| | | if ($num > 0) { |
| | | return $this->renderError('用户名已存在'); |
| | | } |
| | |
| | | $this->startTrans(); |
| | | try { |
| | | // 用户是否已绑定 |
| | | $user = null; |
| | | if($data['user_id'] > 0){ |
| | | $user = UserModel::detail($data['user_id']); |
| | | if($user['user_type'] != 1){ |
| | | $this->error = '该用户已绑定,或绑定的商户正在审核'; |
| | | return false; |
| | | } |
| | | } |
| | | // $user = null; |
| | | // if($data['user_id'] > 0){ |
| | | // $user = UserModel::detail($data['user_id']); |
| | | // if($user['user_type'] != 1){ |
| | | // $this->error = '该用户已绑定或正在审核'; |
| | | // return false; |
| | | // } |
| | | // } |
| | | $arr = [ |
| | | 'user_name' => trim($data['user_name']), |
| | | 'password' => salt_hash($data['password']), |
| | |
| | | } |
| | | $model->saveAll($add_arr); |
| | | // 后台添加的直接算审核通过 |
| | | if($user){ |
| | | $user->save([ |
| | | 'user_type' => 2 |
| | | ]); |
| | | } |
| | | // if($user){ |
| | | // $user->save([ |
| | | // 'user_type' => 2 |
| | | // ]); |
| | | // } |
| | | // 事务提交 |
| | | $this->commit(); |
| | | return true; |
| | |
| | | $old_user_id = $this['user']['user_id']; |
| | | } |
| | | $userChange = false; |
| | | if($this['user'] && $data['user_id'] > 0 && $data['user_id'] != $this['user']['user_id']){ |
| | | $user = UserModel::detail($data['user_id']); |
| | | if($user['user_type'] != 1){ |
| | | $this->error = '该用户已绑定,或绑定的商户正在审核'; |
| | | return false; |
| | | } |
| | | $userChange = true; |
| | | } |
| | | // if($this['user'] && $data['user_id'] > 0 && $data['user_id'] != $this['user']['user_id']){ |
| | | // $user = UserModel::detail($data['user_id']); |
| | | // if($user['user_type'] != 1){ |
| | | // $this->error = '该用户已绑定,或绑定的商户正在审核'; |
| | | // return false; |
| | | // } |
| | | // $userChange = true; |
| | | // } |
| | | |
| | | $arr = [ |
| | | 'user_name' => $data['user_name'], |
| | | 'user_id' => $data['user_id'], |
| | | // 'user_id' => $data['user_id'], |
| | | 'real_name' => $data['real_name'], |
| | | ]; |
| | | if (!empty($data['password'])) { |
| | |
| | | } |
| | | $model->saveAll($add_arr); |
| | | // 后台添加的直接算审核通过 |
| | | if($userChange){ |
| | | $user->save([ |
| | | 'user_type' => 2 |
| | | ]); |
| | | //取消原来的 |
| | | if ($old_user_id > 0){ |
| | | (new UserModel())->where('user_id', '=', $old_user_id)->update([ |
| | | 'user_type' => 1 |
| | | ]); |
| | | } |
| | | } |
| | | // if($userChange){ |
| | | // $user->save([ |
| | | // 'user_type' => 2 |
| | | // ]); |
| | | // //取消原来的 |
| | | // if ($old_user_id > 0){ |
| | | // (new UserModel())->where('user_id', '=', $old_user_id)->update([ |
| | | // 'user_type' => 1 |
| | | // ]); |
| | | // } |
| | | // } |
| | | // 事务提交 |
| | | $this->commit(); |
| | | return true; |
| New file |
| | |
| | | <template> |
| | | <!-- |
| | | 作者:lyzflash |
| | | 时间:2025-11-7 |
| | | 描述:组件-选择连盟会员 |
| | | --> |
| | | <el-dialog title="选择用户" :visible.sync="dialogVisible" @close="cancelFunc" :close-on-click-modal="false" :close-on-press-escape="false" width="800px" :append-to-body='true'> |
| | | <div class="common-seach-wrap"> |
| | | <el-form size="small" :inline="true" :model="formInline" class="demo-form-inline"> |
| | | <el-form-item label="昵称"><el-input placeholder="请输入姓名/微信昵称/电话号码" v-model="formInline.search"></el-input></el-form-item> |
| | | <el-form-item> |
| | | <el-button icon="el-icon-search" @click="search">查询</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | |
| | | <!--内容--> |
| | | <div class="product-content"> |
| | | <div class="table-wrap"> |
| | | <el-table :data="tableData" size="small" border style="width: 100%" v-loading="loading" @selection-change="handleSelectionChange"> |
| | | <el-table-column prop="user_id" label="ID" width="70"></el-table-column> |
| | | <el-table-column prop="" label="头像" width="70"> |
| | | <template slot-scope="scope"> |
| | | <img :src="scope.row.avatarUrl" class="radius" width="30" height="30" /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="nickName" label="昵称"></el-table-column> |
| | | <el-table-column prop="real_name" label="姓名"></el-table-column> |
| | | <el-table-column prop="mobile" label="电话号码"></el-table-column> |
| | | <el-table-column prop="create_time" label="创建时间"></el-table-column> |
| | | <el-table-column label="操作" width="80" v-if="!islist"> |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" @click="SingleFunc(scope.row)">选择</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column type="selection" width="45" v-else></el-table-column> |
| | | </el-table> |
| | | </div> |
| | | |
| | | <!--分页--> |
| | | <div class="pagination"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | background |
| | | :current-page="curPage" |
| | | :page-sizes="[2, 10, 20, 50, 100]" |
| | | :page-size="pageSize" |
| | | layout="total, prev, pager, next, jumper" |
| | | :total="totalDataNumber" |
| | | ></el-pagination> |
| | | </div> |
| | | </div> |
| | | |
| | | <div slot="footer" class="dialog-footer" v-if="islist"> |
| | | <el-button size="small" @click="dialogVisible = false">取 消</el-button> |
| | | <el-button size="small" type="primary" @click="confirmFunc">确 定</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script> |
| | | import DataApi from '@/api/data.js'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | /*是否加载完成*/ |
| | | loading: true, |
| | | /*当前是第几页*/ |
| | | curPage: 1, |
| | | /*一页多少条*/ |
| | | pageSize: 10, |
| | | /*一共多少条数据*/ |
| | | totalDataNumber: 0, |
| | | /*搜索表单对象*/ |
| | | formInline: { |
| | | /*昵称*/ |
| | | search: '', |
| | | }, |
| | | /*会员列表*/ |
| | | tableData: [], |
| | | /*选中的*/ |
| | | multipleSelection: [], |
| | | /*是否显示*/ |
| | | dialogVisible: false |
| | | }; |
| | | }, |
| | | props: { |
| | | is_open: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | // 是否多选 |
| | | islist: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | }, |
| | | watch: { |
| | | is_open: function(n, o) { |
| | | if (n != o) { |
| | | this.dialogVisible = n; |
| | | if (n) { |
| | | this.getTableList(); |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | created() {}, |
| | | methods: { |
| | | /*选择第几页*/ |
| | | handleCurrentChange(val) { |
| | | this.curPage = val; |
| | | this.getTableList(); |
| | | }, |
| | | |
| | | /*每页多少条*/ |
| | | handleSizeChange(val) { |
| | | this.curPage = 1; |
| | | this.pageSize = val; |
| | | this.getTableList(); |
| | | }, |
| | | |
| | | /*获取数据*/ |
| | | getTableList() { |
| | | let self = this; |
| | | self.loading = true; |
| | | let params = self.formInline; |
| | | params.page = self.curPage; |
| | | params.list_rows = self.pageSize; |
| | | DataApi.getBranchMember(params,true).then(data => { |
| | | self.loading = false; |
| | | self.tableData = data.data.list.data; |
| | | self.totalDataNumber = data.data.list.total; |
| | | self.gradeList = data.data.grade; |
| | | }) |
| | | .catch(error => { |
| | | self.loading = false; |
| | | }); |
| | | }, |
| | | |
| | | /*查询*/ |
| | | search() { |
| | | this.curPage = 1; |
| | | this.tableData = []; |
| | | this.getTableList(); |
| | | }, |
| | | |
| | | /*点击确定*/ |
| | | confirmFunc() { |
| | | let params = this.multipleSelection; |
| | | this.emitFunc(params); |
| | | }, |
| | | |
| | | /*关闭弹窗*/ |
| | | cancelFunc(e) { |
| | | this.emitFunc(); |
| | | }, |
| | | |
| | | /*发送事件*/ |
| | | emitFunc(e) { |
| | | this.dialogVisible = false; |
| | | if (e && typeof e != 'undefined') { |
| | | this.$emit('close', { |
| | | type: 'success', |
| | | params: e |
| | | }); |
| | | } else { |
| | | this.$emit('close', { |
| | | type: 'error' |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | /*监听单选按钮选中事件*/ |
| | | selectUser(val) { |
| | | this.multipleSelection = val; |
| | | this.confirmFunc(); |
| | | }, |
| | | |
| | | /*选择用户*/ |
| | | handleSelectionChange(e) { |
| | | this.multipleSelection = e; |
| | | }, |
| | | |
| | | /*单选*/ |
| | | SingleFunc(row){ |
| | | this.multipleSelection=[row]; |
| | | this.confirmFunc(); |
| | | }, |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style></style> |
| | |
| | | /*当前是第几页*/ |
| | | curPage: 1, |
| | | /*一页多少条*/ |
| | | pageSize: 15, |
| | | pageSize: 10, |
| | | /*一共多少条数据*/ |
| | | totalDataNumber: 0, |
| | | /*搜索表单对象*/ |
| | |
| | | 时间:2019-10-25 |
| | | 描述:权限-管理员列表-添加管理员 |
| | | --> |
| | | <el-dialog title="添加管理员" :visible.sync="dialogVisible" @close="dialogFormVisible" :close-on-click-modal="false" :close-on-press-escape="false" :append-to-body='true'> |
| | | <el-dialog title="添加管理员" :visible.sync="dialogVisible" width="600px" @close="dialogFormVisible" :close-on-click-modal="false" :close-on-press-escape="false" :append-to-body='true'> |
| | | <!--form表单--> |
| | | <el-form size="small" ref="form" :model="form" :rules="formRules" :label-width="formLabelWidth"> |
| | | <el-form-item label="用户名" prop="user_name"><el-input v-model="form.user_name" placeholder="请输入用户名"></el-input></el-form-item> |
| | |
| | | <el-form-item label="绑定用户"> |
| | | <el-row> |
| | | <el-button @click="addClick" icon="el-icon-plus">选择会员</el-button> |
| | | <div v-if="form.user_info.user_id!=''" class="img"> |
| | | <img :src="form.user_info.user.avatarUrl" width="100" height="100" /> |
| | | <div v-if="form.user_id" class="img mt10"> |
| | | <img :src="user_info.avatarUrl" width="100" height="100" /> |
| | | <p>{{ user_info.nickName }}<span v-if="user_info.real_name">({{ user_info.real_name }})</span></p> |
| | | </div> |
| | | </el-row> |
| | | </el-form-item> |
| | |
| | | <el-button type="primary" @click="onSubmit" :loading="loading">确 定</el-button> |
| | | </div> |
| | | <!--添加--> |
| | | <GetUser :is_open="open_add" @close="closeDialogFunc"></GetUser> |
| | | <GetMember :is_open="open_add" @close="closeDialogFunc"></GetMember> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script> |
| | | import AuthApi from '@/api/auth.js'; |
| | | import GetUser from '@/components/user/GetUser.vue'; |
| | | import GetMember from '@/components/member/GetMember.vue'; |
| | | export default { |
| | | data() { |
| | | return { |
| | |
| | | user_name: '', |
| | | access_id: [], |
| | | user_id: 0, |
| | | user_info:{ |
| | | user:{ |
| | | |
| | | } |
| | | } |
| | | password: '', |
| | | confirm_password: '', |
| | | real_name: '' |
| | | }, |
| | | user_info: {}, |
| | | /*form验证*/ |
| | | formRules: { |
| | | user_name: [ |
| | |
| | | } |
| | | }, |
| | | components:{ |
| | | GetUser |
| | | GetMember |
| | | }, |
| | | watch: { |
| | | open: function(n, o) { |
| | |
| | | /*关闭获取用户弹窗*/ |
| | | closeDialogFunc(e) { |
| | | if (e.type != 'error') { |
| | | this.form.user_info = e.params[0]; |
| | | this.user_info = e.params[0]; |
| | | this.form.user_id = e.params[0].user_id; |
| | | } |
| | | this.open_add = false; |
| | |
| | | </el-form-item> |
| | | <el-form-item label="绑定用户" > |
| | | <el-row> |
| | | <el-button @click="addClick" icon="el-icon-plus">选择会员</el-button> |
| | | <!-- <el-button @click="addClick" icon="el-icon-plus">选择会员</el-button> --> |
| | | <div class="img" v-if="form.user_id > 0"> |
| | | <img :src="form.user.avatarUrl" width="100" height="100" /> |
| | | <p>{{ form.user.nickName }}<span v-if="form.user.real_name">({{ form.user.real_name }})</span></p> |
| | | </div> |
| | | </el-row> |
| | | </el-form-item> |