|
@@ -13,18 +13,37 @@
|
|
|
<el-row>
|
|
|
<el-form :model="form" :rules="rules" ref="form" size="mini" label-position="right">
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="账号" label-width="80px">
|
|
|
- <el-input v-model="form.accountno" autocomplete="off" placeholder="编辑账号"></el-input>
|
|
|
+ <el-form-item label="手机号码" label-width="80px" prop="phonenumber">
|
|
|
+ <el-popover
|
|
|
+ placement="bottom"
|
|
|
+ trigger="manual"
|
|
|
+ v-model="visible1"
|
|
|
+ width="500">
|
|
|
+ <searchInput ref="searchInput" :param="pepoleParam" :radio="true" @onSelect="setLeader" @onCancel="visible1 = false"></searchInput>
|
|
|
+ <el-input type="text" v-model.number="form.phonenumber" size="small" placeholder="请输入手机号" slot="reference" @input="phoneChange"></el-input>
|
|
|
+ </el-popover>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="手机号码" label-width="80px" prop="phonenumber">
|
|
|
- <el-input v-model="form.phonenumber" autocomplete="off" placeholder="输入手机号码"></el-input>
|
|
|
+ <el-form-item label="账号" label-width="80px" prop="accountno">
|
|
|
+ <el-input v-model="form.accountno" :disabled="!!isSelectPhone" autocomplete="off" placeholder="编辑账号"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
<el-form-item label="用户名称" label-width="80px" prop="name">
|
|
|
- <el-input v-model="form.name" autocomplete="off" placeholder="输入用户名称"></el-input>
|
|
|
+ <el-input v-model="form.name" :disabled="!!isSelectPhone" autocomplete="off" placeholder="输入用户名称"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" v-if="isSelectPhone">
|
|
|
+ <el-form-item label="用户类型" label-width="80px" prop="usertype">
|
|
|
+ <el-select v-model="form.usertype" style="width:100%" placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in selectType"
|
|
|
+ :label="item.remarks"
|
|
|
+ :value="item.value"
|
|
|
+ :key="item.index"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
@@ -54,15 +73,21 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-
|
|
|
+import searchInput from '@/template/searchInput/index.vue'
|
|
|
export default {
|
|
|
+ components:{searchInput},
|
|
|
data () {
|
|
|
return {
|
|
|
drawer:false,
|
|
|
+ visible1:false,
|
|
|
+ timer:null,
|
|
|
+ isDisabled:false,
|
|
|
+ isSelectPhone:'',
|
|
|
+ selectType:[],
|
|
|
rules:{
|
|
|
phonenumber: [
|
|
|
- { required: true, message: '请输入手机号码', trigger: 'blur' },
|
|
|
- { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'blur' }
|
|
|
+ { required: true, message: '请输入手机号码', trigger: 'change' },
|
|
|
+ { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'change' }
|
|
|
],
|
|
|
name: [
|
|
|
{ required: true, message: '请输入用户名称', trigger: 'blur' },
|
|
@@ -70,6 +95,9 @@ export default {
|
|
|
roleids: [
|
|
|
{ required: true, message: '请选择授权角色', trigger: 'change' }
|
|
|
],
|
|
|
+ usertype: [
|
|
|
+ { required: true, message: '请选择用户类型', trigger: 'change' }
|
|
|
+ ],
|
|
|
},
|
|
|
form:{
|
|
|
"userid": 0,
|
|
@@ -78,17 +106,53 @@ export default {
|
|
|
"status": 1,
|
|
|
"remarks":"",
|
|
|
"roleids":[],
|
|
|
- "accountno":''
|
|
|
+ "accountno":'',
|
|
|
},
|
|
|
- options:[]
|
|
|
+ options:[],
|
|
|
+ pepoleParam: {
|
|
|
+ "classname": "webmanage.users.users",
|
|
|
+ "method": "query_notinmysiteuserList",
|
|
|
+ "content": {
|
|
|
+ "pageNumber": 1,
|
|
|
+ "pageSize": 99999,
|
|
|
+ "where": {
|
|
|
+ "condition": ""
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ drawer (val) {
|
|
|
+ if (!val) {
|
|
|
+ this.$refs.form.resetFields()
|
|
|
+ this.isSelectPhone = ''
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
methods:{
|
|
|
onShow () {
|
|
|
this.drawer = true
|
|
|
this.rolelist()
|
|
|
+ this.accountTypeList()
|
|
|
+ },
|
|
|
+ async accountTypeList() {
|
|
|
+ let param = {
|
|
|
+ classname: "sysmanage.develop.optiontype.optiontype",
|
|
|
+ method: "optiontypeselect",
|
|
|
+ content: {
|
|
|
+ pageNumber: 1,
|
|
|
+ pageSize: 20,
|
|
|
+ typename: "usertype",
|
|
|
+ parameter: {},
|
|
|
+ },
|
|
|
+ };
|
|
|
+ const res = await this.$api.requested(param);
|
|
|
+ res.data.pop()
|
|
|
+ this.selectType = res.data;
|
|
|
+ console.log(this.selectType);
|
|
|
+
|
|
|
},
|
|
|
-
|
|
|
async rolelist () {
|
|
|
let param = {
|
|
|
"classname": "sysmanage.develop.optiontype.optiontype",
|
|
@@ -104,11 +168,53 @@ export default {
|
|
|
const res = await this.$api.requested(param)
|
|
|
this.options = res.data
|
|
|
},
|
|
|
+ phoneChange (e) {
|
|
|
+ if (e.length < 7) return this.visible1 = false
|
|
|
|
|
|
+ if (this.isSelectPhone && this.isSelectPhone != e) {
|
|
|
+ this.clearData()
|
|
|
+ }
|
|
|
+
|
|
|
+ this.visible1 = false
|
|
|
+ if (this.timer) clearTimeout(this.timer)
|
|
|
+ this.timer = setTimeout(() => {
|
|
|
+ this.pepoleParam.content.where.condition = e
|
|
|
+ this.$refs.searchInput.listData(() => {
|
|
|
+ this.visible1 = true
|
|
|
+ })
|
|
|
+ },500)
|
|
|
+ },
|
|
|
+ setLeader (data) {
|
|
|
+ console.log(data);
|
|
|
+ this.visible1 = false
|
|
|
+ this.form.userid = data.userid
|
|
|
+ this.form.name = data.name
|
|
|
+ this.form.phonenumber = data.phonenumber
|
|
|
+ this.form.accountno = data.accountno
|
|
|
+ this.isSelectPhone = data.phonenumber
|
|
|
+ },
|
|
|
+ clearData () {
|
|
|
+ this.form.userid = ''
|
|
|
+ this.form.name = ''
|
|
|
+ this.form.accountno = ''
|
|
|
+ this.isSelectPhone = ''
|
|
|
+ this.form.usertype = ''
|
|
|
+ this.form.roleids = []
|
|
|
+ },
|
|
|
onSubmit () {
|
|
|
this.$refs['form'].validate((valid) => {
|
|
|
if (!valid) return false
|
|
|
- this.$api.requested({
|
|
|
+ if (!this.isSelectPhone) delete this.form.usertype
|
|
|
+ this.$api.requested(this.isSelectPhone ? {
|
|
|
+ "accesstoken": "be50a88845d9eee3fe75a924642cff22",
|
|
|
+ "classname": "webmanage.users.users",
|
|
|
+ "method": "addUserSite",
|
|
|
+ "content": {
|
|
|
+ "userid": this.form.userid,
|
|
|
+ "roleids":this.form.roleids,
|
|
|
+ "usertype":this.form.usertype
|
|
|
+ }
|
|
|
+ } : {
|
|
|
"classname": "webmanage.users.users",
|
|
|
"method": "insertormodify_user",
|
|
|
"content": this.form
|