| 1 |
- {"remainingRequest":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\user\\list\\handle\\userEditForm.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\user\\list\\handle\\userEditForm.vue","mtime":1761185180233},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:DQppbXBvcnQgdXNlckxhYmVsIGZyb20gJ0AvY29tcG9uZW50cy91c2VyTGFiZWwnOw0KDQppbXBvcnQgeyB1c2VyTGFiZWxBZGRBcGksIGdldFVzZXJJbmZvLCBlZGl0VXNlciwgc2V0VXNlciB9IGZyb20gJ0AvYXBpL3VzZXInOw0KaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJzsNCg0KZXhwb3J0IGRlZmF1bHQgew0KICBuYW1lOiAndXNlckluZm8nLA0KICBjb21wb25lbnRzOiB7IHVzZXJMYWJlbCB9LA0KICBwcm9wczogew0KICAgIHVzZXJJZDogew0KICAgICAgdHlwZTogTnVtYmVyLA0KICAgICAgZGVmYXVsdDogMCwNCiAgICB9LA0KICB9LA0KICBmaWx0ZXJzOiB7DQogICAgdGltZUZvcm1hdCh2YWx1ZSkgew0KICAgICAgaWYgKCF2YWx1ZSkgew0KICAgICAgICByZXR1cm4gJy0nOw0KICAgICAgfQ0KICAgICAgcmV0dXJuIGRheWpzKHZhbHVlICogMTAwMCkuZm9ybWF0KCdZWVlZLU1NLUREIEhIOm1tOnNzJyk7DQogICAgfSwNCiAgICBnZW5kZXIodmFsdWUpIHsNCiAgICAgIGlmICh2YWx1ZSA9PSAxKSB7DQogICAgICAgIHJldHVybiAn55S3JzsNCiAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT0gMikgew0KICAgICAgICByZXR1cm4gJ+Wlsyc7DQogICAgICB9IGVsc2Ugew0KICAgICAgICByZXR1cm4gJ+acquefpSc7DQogICAgICB9DQogICAgfSwNCiAgfSwNCiAgZGF0YSgpIHsNCiAgICByZXR1cm4gew0KICAgICAgbGFiZWxTaG93OiBmYWxzZSwNCiAgICAgIGZvcm1JdGVtOiB7DQogICAgICAgIHVpZDogMCwNCiAgICAgICAgcmVhbF9uYW1lOiAnJywNCiAgICAgICAgcGhvbmU6ICcnLA0KICAgICAgICBiaXJ0aGRheTogJycsDQogICAgICAgIGNhcmRfaWQ6ICcnLA0KICAgICAgICBhZGRyZXM6ICcnLA0KICAgICAgICBtYXJrOiAnJywNCiAgICAgICAgcHdkOiAnJywNCiAgICAgICAgdHJ1ZV9wd2Q6ICcnLA0KICAgICAgICBsZXZlbDogJycsDQogICAgICAgIGdyb3VwX2lkOiAnJywNCiAgICAgICAgbGFiZWxfaWQ6IFtdLA0KICAgICAgICBzcHJlYWRfb3BlbjogMCwNCiAgICAgICAgaXNfcHJvbW90ZXI6IDAsDQogICAgICAgIHN0YXR1czogMSwNCiAgICAgIH0sDQogICAgICBncm91cEluZm86IFtdLA0KICAgICAgbGFiZWxJbmZvOiBbXSwNCiAgICAgIGxldmVsSW5mbzogW10sDQogICAgICBpbmZvRGF0YTogew0KICAgICAgICBncm91cEluZm86IFtdLA0KICAgICAgICBsYWJlbEluZm86IFtdLA0KICAgICAgICBsZXZlbEluZm86IFtdLA0KICAgICAgfSwNCiAgICAgIHJ1bGVWYWxpZGF0ZTogew0KICAgICAgICByZWFsX25hbWU6IFt7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAnICcsIHRyaWdnZXI6ICdibHVyJyB9XSwNCiAgICAgICAgcGhvbmU6IFt7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAnICcsIHRyaWdnZXI6ICdibHVyJyB9XSwNCiAgICAgICAgcHdkOiBbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJyAnLCB0cmlnZ2VyOiAnYmx1cicgfV0sDQogICAgICAgIHRydWVfcHdkOiBbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJyAnLCB0cmlnZ2VyOiAnYmx1cicgfV0sDQogICAgICB9LA0KICAgICAgZGF0YUxhYmVsOiBbXSwNCiAgICB9Ow0KICB9LA0KICBjb21wdXRlZDogew0KICAgIGhhc0V4dGVuZEluZm8oKSB7DQogICAgICAvLyAgIHJldHVybiB0aGlzLnBzSW5mby5leHRlbmRfaW5mby5zb21lKChpdGVtKSA9PiBpdGVtLnZhbHVlKTsNCiAgICB9LA0KICB9LA0KICBjcmVhdGVkKCkgew0KICAgIHRoaXMuZ2V0VXNlckZyb20odGhpcy51c2VySWQpOw0KDQogICAgLy8gdGhpcy5mb3JtSXRlbSA9IHRoaXMudXNlckRhdGEudXNlckluZm87DQogIH0sDQogIG1ldGhvZHM6IHsNCiAgICBzZXRVc2VyKCkgew0KICAgICAgbGV0IGRhdGEgPSB0aGlzLmZvcm1JdGVtOw0KICAgICAgbGV0IGlkcyA9IFtdOw0KICAgICAgdGhpcy5kYXRhTGFiZWwubWFwKChpKSA9PiB7DQogICAgICAgIGlkcy5wdXNoKGkuaWQpOw0KICAgICAgfSk7DQogICAgICBkYXRhLmxhYmVsX2lkID0gaWRzOw0KICAgICAgLy8gaWYgKCFkYXRhLnJlYWxfbmFtZSkgcmV0dXJuIHRoaXMuJG1lc3NhZ2Uud2FybmluZygi6K+36L6T5YWl55yf5a6e5aeT5ZCNIik7DQogICAgICAvLyBpZiAoIWRhdGEucGhvbmUpIHJldHVybiB0aGlzLiRtZXNzYWdlLndhcm5pbmcoIuivt+i+k+WFpeaJi+acuuWPtyIpOw0KICAgICAgLy8gaWYgKCFkYXRhLnB3ZCkgcmV0dXJuIHRoaXMuJG1lc3NhZ2Uud2FybmluZygi6K+36L6T5YWl5a+G56CBIik7DQogICAgICAvLyBpZiAoIWRhdGEudHJ1ZV9wd2QpIHJldHVybiB0aGlzLiRtZXNzYWdlLndhcm5pbmcoIuivt+i+k+WFpeehruiupOWvhueggSIpOw0KICAgICAgaWYgKGRhdGEudWlkKSB7DQogICAgICAgIGVkaXRVc2VyKGRhdGEpDQogICAgICAgICAgLnRoZW4oKHJlcykgPT4gew0KICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKHJlcy5tc2cpOw0KICAgICAgICAgICAgdGhpcy4kZW1pdCgnc3VjY2VzcycpOw0KICAgICAgICAgIH0pDQogICAgICAgICAgLmNhdGNoKChlcnIpID0+IHsNCiAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoZXJyLm1zZyk7DQogICAgICAgICAgfSk7DQogICAgICB9IGVsc2Ugew0KICAgICAgICBzZXRVc2VyKGRhdGEpDQogICAgICAgICAgLnRoZW4oKHJlcykgPT4gew0KICAgICAgICAgICAgdGhpcy4kZW1pdCgnc3VjY2VzcycpOw0KICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKHJlcy5tc2cpOw0KICAgICAgICAgIH0pDQogICAgICAgICAgLmNhdGNoKChlcnIpID0+IHsNCiAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoJ2Vyci5tc2cnKTsNCiAgICAgICAgICB9KTsNCiAgICAgIH0NCiAgICB9LA0KICAgIGFkZExhYmVsKCkgew0KICAgICAgdGhpcy4kbW9kYWxGb3JtKHVzZXJMYWJlbEFkZEFwaSgwKSkudGhlbigoKSA9PiB7fSk7DQogICAgfSwNCiAgICBvcGVuTGFiZWwocm93KSB7DQogICAgICB0aGlzLmxhYmVsU2hvdyA9IHRydWU7DQogICAgICB0aGlzLiRyZWZzLnVzZXJMYWJlbC51c2VyTGFiZWwoSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmluZm9EYXRhLmxhYmVsSW5mbykpKTsNCiAgICB9LA0KICAgIGNsb3NlTGFiZWwobGFiZWwpIHsNCiAgICAgIGxldCBpbmRleCA9IHRoaXMuZGF0YUxhYmVsLmluZGV4T2YodGhpcy5kYXRhTGFiZWwuZmlsdGVyKChkKSA9PiBkLmlkID09IGxhYmVsLmlkKVswXSk7DQogICAgICB0aGlzLmRhdGFMYWJlbC5zcGxpY2UoaW5kZXgsIDEpOw0KICAgIH0sDQogICAgZ2V0VXNlckZyb20oaWQpIHsNCiAgICAgIGdldFVzZXJJbmZvKGlkKQ0KICAgICAgICAudGhlbihhc3luYyAocmVzKSA9PiB7DQogICAgICAgICAgdGhpcy51c2VyRGF0YSA9IHJlcy5kYXRhOw0KICAgICAgICAgIHRoaXMuJHNldCh0aGlzLmluZm9EYXRhLCAnZ3JvdXBJbmZvJywgdGhpcy51c2VyRGF0YS5ncm91cEluZm8pOw0KICAgICAgICAgIHRoaXMuJHNldCh0aGlzLmluZm9EYXRhLCAnbGV2ZWxJbmZvJywgdGhpcy51c2VyRGF0YS5sZXZlbEluZm8pOw0KICAgICAgICAgIHRoaXMuJHNldCh0aGlzLmluZm9EYXRhLCAnbGFiZWxJbmZvJywgdGhpcy51c2VyRGF0YS5sYWJlbEluZm8pOw0KICAgICAgICAgIGxldCBhcnIgPSBPYmplY3Qua2V5cyh0aGlzLmZvcm1JdGVtKTsNCiAgICAgICAgICBpZiAodGhpcy51c2VyRGF0YS51c2VySW5mbykgew0KICAgICAgICAgICAgYXJyLm1hcCgoaSkgPT4gew0KICAgICAgICAgICAgICB0aGlzLmZvcm1JdGVtW2ldID0gdGhpcy51c2VyRGF0YS51c2VySW5mb1tpXTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgaWYgKCF0aGlzLmZvcm1JdGVtLmJpcnRoZGF5KSB0aGlzLmZvcm1JdGVtLmJpcnRoZGF5ID0gJyc7DQogICAgICAgICAgICBpZiAodGhpcy5mb3JtSXRlbS5sYWJlbF9pZC5sZW5ndGgpIHsNCiAgICAgICAgICAgICAgdGhpcy5kYXRhTGFiZWwgPSB0aGlzLmZvcm1JdGVtLmxhYmVsX2lkOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICB0aGlzLnJlc2V0KCk7DQogICAgICAgICAgfQ0KICAgICAgICB9KQ0KICAgICAgICAuY2F0Y2goKHJlcykgPT4gew0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoJ3Jlcy5tc2cnKTsNCiAgICAgICAgfSk7DQogICAgfSwNCiAgICAvLyDmoIfnrb7lvLnnqpflhbPpl60NCiAgICBsYWJlbENsb3NlKCkgew0KICAgICAgdGhpcy5sYWJlbFNob3cgPSBmYWxzZTsNCiAgICB9LA0KICAgIGFjdGl2ZURhdGEoZGF0YUxhYmVsKSB7DQogICAgICB0aGlzLmxhYmVsU2hvdyA9IGZhbHNlOw0KICAgICAgdGhpcy5kYXRhTGFiZWwgPSBkYXRhTGFiZWw7DQogICAgfSwNCiAgICByZXNldCgpIHsNCiAgICAgIHRoaXMuZm9ybUl0ZW0gPSB7DQogICAgICAgIHVpZDogJycsDQogICAgICAgIHJlYWxfbmFtZTogJycsDQogICAgICAgIHBob25lOiAnJywNCiAgICAgICAgYmlydGhkYXk6ICcnLA0KICAgICAgICBjYXJkX2lkOiAnJywNCiAgICAgICAgYWRkcmVzOiAnJywNCiAgICAgICAgbWFyazogJycsDQogICAgICAgIHB3ZDogJycsDQogICAgICAgIHRydWVfcHdkOiAnJywNCiAgICAgICAgbGV2ZWw6ICcnLA0KICAgICAgICBncm91cF9pZDogJycsDQogICAgICAgIGxhYmVsX2lkOiBbXSwNCiAgICAgICAgc3ByZWFkX29wZW46IDAsDQogICAgICAgIGlzX3Byb21vdGVyOiAwLA0KICAgICAgICBzdGF0dXM6IDEsDQogICAgICB9Ow0KICAgIH0sDQogIH0sDQp9Ow0K"},{"version":3,"sources":["userEditForm.vue"],"names":[],"mappings":";AA8KA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"userEditForm.vue","sourceRoot":"src/pages/user/list/handle","sourcesContent":["<template>\r\n <div class=\"user-info\">\r\n <el-form ref=\"formItem\" :rules=\"ruleValidate\" :model=\"formItem\" label-width=\"100px\" @submit.native.prevent>\r\n <div class=\"section\">\r\n <div class=\"section-hd\">基本信息</div>\r\n <div class=\"section-bd\">\r\n <div class=\"item\">\r\n <el-form-item label=\"用户ID:\">\r\n <el-input class=\"form-sty\" disabled v-model=\"formItem.uid\" placeholder=\"请输入编号\"></el-input>\r\n </el-form-item>\r\n </div>\r\n <div class=\"item\">\r\n <el-form-item label=\"真实姓名:\" prop=\"real_name\">\r\n <el-input class=\"form-sty\" v-model.trim=\"formItem.real_name\" placeholder=\"请输入真实姓名\"></el-input>\r\n </el-form-item>\r\n </div>\r\n <div class=\"item\">\r\n <el-form-item label=\"手机号码:\" prop=\"phone\">\r\n <el-input class=\"form-sty\" v-model=\"formItem.phone\" placeholder=\"请输入手机号码\"></el-input>\r\n </el-form-item>\r\n </div>\r\n <div class=\"item\">\r\n <el-form-item label=\"生日:\">\r\n <el-date-picker\r\n clearable\r\n class=\"form-sty\"\r\n type=\"date\"\r\n v-model=\"formItem.birthday\"\r\n placeholder=\"请选择生日\"\r\n format=\"yyyy-MM-dd\"\r\n value-format=\"yyyy-MM-dd\"\r\n ></el-date-picker>\r\n </el-form-item>\r\n </div>\r\n <div class=\"item\">\r\n <el-form-item label=\"身份证号:\">\r\n <el-input class=\"form-sty\" v-model.trim=\"formItem.card_id\" placeholder=\"请输入身份证号\"></el-input>\r\n </el-form-item>\r\n </div>\r\n <div class=\"item\">\r\n <el-form-item label=\"用户地址:\">\r\n <el-input class=\"form-sty\" v-model=\"formItem.addres\" placeholder=\"请输入用户地址\"></el-input>\r\n </el-form-item>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"section\">\r\n <div class=\"section-hd\">密码</div>\r\n <div class=\"section-bd\">\r\n <div class=\"item\">\r\n <el-form-item label=\"登录密码:\" prop=\"pwd\">\r\n <el-input\r\n class=\"form-sty\"\r\n type=\"password\"\r\n v-model=\"formItem.pwd\"\r\n placeholder=\"请输入登录密码(修改用户可不填写,不填写不修改原密码)\"\r\n ></el-input>\r\n </el-form-item>\r\n </div>\r\n <div class=\"item\">\r\n <el-form-item label=\"确认密码:\" prop=\"true_pwd\">\r\n <el-input\r\n class=\"form-sty\"\r\n type=\"password\"\r\n v-model=\"formItem.true_pwd\"\r\n placeholder=\"请输入确认密码(修改用户可不填写,不填写不修改原密码)\"\r\n ></el-input>\r\n </el-form-item>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"section\">\r\n <div class=\"section-hd\">用户概况</div>\r\n <div class=\"section-bd\">\r\n <div class=\"item\">\r\n <el-form-item label=\"用户等级:\">\r\n <el-select v-model=\"formItem.level\" class=\"form-sty\" clearable>\r\n <el-option\r\n v-for=\"(item, index) in infoData.levelInfo\"\r\n :key=\"index\"\r\n :value=\"item.id\"\r\n :label=\"item.name\"\r\n ></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </div>\r\n <div class=\"item\">\r\n <el-form-item label=\"用户分组:\">\r\n <el-select v-model=\"formItem.group_id\" class=\"form-sty\" clearable>\r\n <el-option\r\n v-for=\"(item, index) in infoData.groupInfo\"\r\n :key=\"index\"\r\n :value=\"item.id\"\r\n :label=\"item.group_name\"\r\n ></el-option>\r\n </el-select>\r\n </el-form-item>\r\n </div>\r\n <div class=\"item lang\">\r\n <el-form-item label=\"用户标签:\">\r\n <div style=\"display: flex\">\r\n <div class=\"labelInput acea-row row-between-wrapper\" v-db-click @click=\"openLabel\">\r\n <div style=\"width: 90%\">\r\n <div v-if=\"dataLabel.length\">\r\n <el-tag\r\n closable\r\n v-for=\"(item, index) in dataLabel\"\r\n :key=\"index\"\r\n @close=\"closeLabel(item)\"\r\n class=\"mr10\"\r\n >{{ item.label_name }}</el-tag\r\n >\r\n </div>\r\n <span class=\"span\" v-else>选择用户关联标签</span>\r\n </div>\r\n <div class=\"ivu-icon ivu-icon-ios-arrow-down\"></div>\r\n </div>\r\n <span class=\"addfont\" v-db-click @click=\"addLabel\">新增标签</span>\r\n </div>\r\n </el-form-item>\r\n </div>\r\n <div class=\"item lang\">\r\n <el-form-item label=\"分销禁用:\">\r\n <el-radio-group v-model=\"formItem.spread_open\" class=\"form-sty\">\r\n <el-radio :label=\"0\">是</el-radio>\r\n <el-radio :label=\"1\">否</el-radio>\r\n </el-radio-group>\r\n <div class=\"tip\">禁用用户的分销资格后,在任何分销模式下该用户都无分销权限</div>\r\n </el-form-item>\r\n </div>\r\n <div class=\"item lang\" v-if=\"formItem.spread_open == 1\">\r\n <el-form-item label=\"分销权限:\">\r\n <el-radio-group v-model=\"formItem.is_promoter\" class=\"form-sty\">\r\n <el-radio :label=\"1\">开启</el-radio>\r\n <el-radio :label=\"0\">关闭</el-radio>\r\n </el-radio-group>\r\n <div class=\"tip\">手动开启或关闭用户的分销权限</div>\r\n </el-form-item>\r\n </div>\r\n <div class=\"item lang\">\r\n <el-form-item label=\"用户状态:\">\r\n <el-radio-group v-model=\"formItem.status\" class=\"form-sty\">\r\n <el-radio :label=\"1\">开启</el-radio>\r\n <el-radio :label=\"0\">锁定</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"section\">\r\n <div class=\"section-hd\">用户备注</div>\r\n <div class=\"section-bd\">\r\n <div class=\"item\">\r\n <el-form-item label=\"用户备注:\">\r\n <el-input\r\n class=\"form-sty\"\r\n type=\"textarea\"\r\n :rows=\"5\"\r\n v-model=\"formItem.mark\"\r\n placeholder=\"请输入用户备注\"\r\n ></el-input>\r\n </el-form-item>\r\n </div>\r\n </div>\r\n </div>\r\n </el-form>\r\n <el-dialog :visible.sync=\"labelShow\" append-to-body title=\"请选择用户标签\" :show-close=\"true\" width=\"540px\">\r\n <userLabel v-if=\"labelShow\" :only_get=\"true\" :uid=\"formItem.uid\" @close=\"labelClose\" @activeData=\"activeData\">\r\n </userLabel>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport userLabel from '@/components/userLabel';\r\n\r\nimport { userLabelAddApi, getUserInfo, editUser, setUser } from '@/api/user';\r\nimport dayjs from 'dayjs';\r\n\r\nexport default {\r\n name: 'userInfo',\r\n components: { userLabel },\r\n props: {\r\n userId: {\r\n type: Number,\r\n default: 0,\r\n },\r\n },\r\n filters: {\r\n timeFormat(value) {\r\n if (!value) {\r\n return '-';\r\n }\r\n return dayjs(value * 1000).format('YYYY-MM-DD HH:mm:ss');\r\n },\r\n gender(value) {\r\n if (value == 1) {\r\n return '男';\r\n } else if (value == 2) {\r\n return '女';\r\n } else {\r\n return '未知';\r\n }\r\n },\r\n },\r\n data() {\r\n return {\r\n labelShow: false,\r\n formItem: {\r\n uid: 0,\r\n real_name: '',\r\n phone: '',\r\n birthday: '',\r\n card_id: '',\r\n addres: '',\r\n mark: '',\r\n pwd: '',\r\n true_pwd: '',\r\n level: '',\r\n group_id: '',\r\n label_id: [],\r\n spread_open: 0,\r\n is_promoter: 0,\r\n status: 1,\r\n },\r\n groupInfo: [],\r\n labelInfo: [],\r\n levelInfo: [],\r\n infoData: {\r\n groupInfo: [],\r\n labelInfo: [],\r\n levelInfo: [],\r\n },\r\n ruleValidate: {\r\n real_name: [{ required: true, message: ' ', trigger: 'blur' }],\r\n phone: [{ required: true, message: ' ', trigger: 'blur' }],\r\n pwd: [{ required: true, message: ' ', trigger: 'blur' }],\r\n true_pwd: [{ required: true, message: ' ', trigger: 'blur' }],\r\n },\r\n dataLabel: [],\r\n };\r\n },\r\n computed: {\r\n hasExtendInfo() {\r\n // return this.psInfo.extend_info.some((item) => item.value);\r\n },\r\n },\r\n created() {\r\n this.getUserFrom(this.userId);\r\n\r\n // this.formItem = this.userData.userInfo;\r\n },\r\n methods: {\r\n setUser() {\r\n let data = this.formItem;\r\n let ids = [];\r\n this.dataLabel.map((i) => {\r\n ids.push(i.id);\r\n });\r\n data.label_id = ids;\r\n // if (!data.real_name) return this.$message.warning(\"请输入真实姓名\");\r\n // if (!data.phone) return this.$message.warning(\"请输入手机号\");\r\n // if (!data.pwd) return this.$message.warning(\"请输入密码\");\r\n // if (!data.true_pwd) return this.$message.warning(\"请输入确认密码\");\r\n if (data.uid) {\r\n editUser(data)\r\n .then((res) => {\r\n this.$message.success(res.msg);\r\n this.$emit('success');\r\n })\r\n .catch((err) => {\r\n this.$message.error(err.msg);\r\n });\r\n } else {\r\n setUser(data)\r\n .then((res) => {\r\n this.$emit('success');\r\n this.$message.success(res.msg);\r\n })\r\n .catch((err) => {\r\n this.$message.error('err.msg');\r\n });\r\n }\r\n },\r\n addLabel() {\r\n this.$modalForm(userLabelAddApi(0)).then(() => {});\r\n },\r\n openLabel(row) {\r\n this.labelShow = true;\r\n this.$refs.userLabel.userLabel(JSON.parse(JSON.stringify(this.infoData.labelInfo)));\r\n },\r\n closeLabel(label) {\r\n let index = this.dataLabel.indexOf(this.dataLabel.filter((d) => d.id == label.id)[0]);\r\n this.dataLabel.splice(index, 1);\r\n },\r\n getUserFrom(id) {\r\n getUserInfo(id)\r\n .then(async (res) => {\r\n this.userData = res.data;\r\n this.$set(this.infoData, 'groupInfo', this.userData.groupInfo);\r\n this.$set(this.infoData, 'levelInfo', this.userData.levelInfo);\r\n this.$set(this.infoData, 'labelInfo', this.userData.labelInfo);\r\n let arr = Object.keys(this.formItem);\r\n if (this.userData.userInfo) {\r\n arr.map((i) => {\r\n this.formItem[i] = this.userData.userInfo[i];\r\n });\r\n if (!this.formItem.birthday) this.formItem.birthday = '';\r\n if (this.formItem.label_id.length) {\r\n this.dataLabel = this.formItem.label_id;\r\n }\r\n } else {\r\n this.reset();\r\n }\r\n })\r\n .catch((res) => {\r\n this.$message.error('res.msg');\r\n });\r\n },\r\n // 标签弹窗关闭\r\n labelClose() {\r\n this.labelShow = false;\r\n },\r\n activeData(dataLabel) {\r\n this.labelShow = false;\r\n this.dataLabel = dataLabel;\r\n },\r\n reset() {\r\n this.formItem = {\r\n uid: '',\r\n real_name: '',\r\n phone: '',\r\n birthday: '',\r\n card_id: '',\r\n addres: '',\r\n mark: '',\r\n pwd: '',\r\n true_pwd: '',\r\n level: '',\r\n group_id: '',\r\n label_id: [],\r\n spread_open: 0,\r\n is_promoter: 0,\r\n status: 1,\r\n };\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.labelInput {\r\n border: 1px solid #dcdee2;\r\n width: 300px;\r\n padding: 0 15px;\r\n border-radius: 5px;\r\n min-height: 30px;\r\n cursor: pointer;\r\n font-size: 12px;\r\n\r\n .span {\r\n color: #c5c8ce;\r\n }\r\n\r\n .iconxiayi {\r\n font-size: 12px;\r\n }\r\n}\r\n\r\n.width-add {\r\n width: 40px;\r\n}\r\n\r\n.mr30 {\r\n margin-right: 30px;\r\n}\r\n\r\n.user-info {\r\n .section {\r\n padding: 25px 0 0;\r\n border-bottom: 1px dashed #eeeeee;\r\n\r\n &-hd {\r\n margin-bottom: 18px;\r\n padding-left: 10px;\r\n border-left: 3px solid var(--prev-color-primary);\r\n font-weight: 500;\r\n font-size: 14px;\r\n line-height: 16px;\r\n color: #303133;\r\n }\r\n\r\n &-bd {\r\n display: flex;\r\n flex-wrap: wrap;\r\n }\r\n\r\n .item {\r\n width: 50%;\r\n display: flex;\r\n font-size: 13px;\r\n color: #666;\r\n\r\n .form-sty {\r\n width: 300px;\r\n }\r\n\r\n .ivu-form-item {\r\n margin: 3px 0;\r\n }\r\n\r\n .addfont {\r\n display: inline-block;\r\n font-size: 12px;\r\n font-weight: 400;\r\n color: var(--prev-color-primary);\r\n margin-left: 14px;\r\n cursor: pointer;\r\n margin-left: 10px;\r\n }\r\n }\r\n\r\n .item.lang {\r\n width: 100%;\r\n }\r\n\r\n .value {\r\n flex: 1;\r\n }\r\n\r\n .avatar {\r\n width: 60px;\r\n height: 60px;\r\n overflow: hidden;\r\n\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n }\r\n }\r\n}\r\n</style>\r\n"]}]}
|