| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- <template id="user-edit">
- <el-dialog :visible.sync="edit.visible" width="30%" title="添加用户" center>
- <el-form @submit.native.prevent size="small" label-width="80px">
- <el-form-item label="用户昵称" required>
- <el-autocomplete size="small" v-model="edit.nickname" value-key="nickname" @keyup.enter.native="keyUp"
- :fetch-suggestions="querySearchAsync" placeholder="请输入用户昵称/id/手机号"
- @select="shareClick"></el-autocomplete>
- </el-form-item>
- <el-form-item prop="name" label="公司名称">
- <el-input type="text" v-model="edit.name" class="member-money" placeholder="请输入公司名称" style="width: 200px;margin-right: 20px;"></el-input>
- </el-form-item>
- </el-form>
- <span slot="footer" class="dialog-footer">
- <el-button @click="editCancel" type="default" size="small">取消</el-button>
- <el-button type="primary" :loading="edit.btnLoading" style="margin-bottom: 10px;" size="small"
- @click="editSave">保存</el-button>
- </span>
- </el-dialog>
- </template>
- <script>
- Vue.component('user-edit', {
- template: '#user-edit',
- props: {
- value: {
- type: Boolean,
- default: false
- }
- },
- data() {
- return {
- edit: {
- visible: false,
- keyword: '',
- nickname: '',
- id: '',
- user_id:"",
- btnLoading: false,
- name:'',
- },
- listLoading:false,
- list:[],
- page:1,
- pageCount:0,
- radioSelection:0,
- keyword:'',
- selectUser:null,
- default_level:null,
- }
- },
- watch: {
- value() {
- this.radioSelection=0;
- this.keyword='';
- this.selectUser=null;
-
- if (this.value) {
- this.edit.visible = true;
- this.getUser();
- } else {
- this.edit.id = '';
- this.edit.nickname = '';
- this.edit.keyword = '';
- this.edit.visible = false;
- }
- }
- ,
- 'edit.visible'() {
- if (!this.edit.visible) {
- this.editCancel();
- }
- },
- keyword(val){//监听用户昵称的输入框 如果为空(选择后删除了用户)则重新请求用户的数据 改为实时请求
- this.page = 1;
- this.pageCount = 0;
- this.getUser();
- }
- },
- created() {
- },
- methods: {
- getUser(){//请求用户的列表
- this.listLoading = true;
- request({
- params: {
- r: 'sales-company/default/search-user',
- page:this.page,
- limit:20,
- keyword:this.keyword
- },
- method: 'get',
- }).then(response => {
- this.listLoading = false;
- if (response.data.code == 0) {
- this.list = response.data.data.list;
- this.pageCount = response.data.data.page_count;
- } else {
- this.$message.error(response.data.msg);
- }
- }).catch(response => {
- this.listLoading = false;
- });
-
- },
- pagination(currentPage) {
- this.page = currentPage;
- this.getUser();
- },
- selectionChange(e){
- this.selectUser = e;
- this.keyword = this.selectUser.id;
- },
- querySearchAsync(queryString, cb) {
- this.edit.keyword = queryString;
- this.get_user(cb);
- },
- get_user(cb) {
- request({
- params: {
- r: 'sales-company/default/search-user',
- keyword: this.edit.keyword
- }
- }).then(res => {
- if (res.data.code == 0) {
- cb(res.data.data.list)
- } else {
- this.$message.error(res.data.msg);
- }
- });
- },
- shareClick(row) {
- this.edit.user_id = row.id
- },
- editCancel() {
- /* 重置表单中原来填入的数据 */
- this.level = '';
- this.selectUser = null;
- this.keyword = '';
- this.edit.user_id = '';
- this.$emit('input', false);
- },
- editSave() {
- if(!this.edit.user_id){
- return this.$message.error('请选择下拉列表里的会员!');
- }
- this.edit.btnLoading = true;
- request({
- params: {
- r: 'sales-company/default/edit'
- },
- method: 'post',
- data: {
- user_id:this.edit.user_id,
- name:this.edit.name,
- }
- }).then(response => {
- this.edit.btnLoading = false;
- if (response.data.code == 0) {
- this.$message.success('添加成功');
- this.$emit('savesuccess')
- this.editCancel();
- } else {
- this.$message.error(response.data.msg);
- }
- }).catch(response => {
- this.edit.btnLoading = false;
- });
- },
- keyUp() {
- console.log('key up')
- },
- }
- });
- </script>
|