Browse Source

禅道问题修复

刘湘琪 2 years ago
parent
commit
8eb2be7e6b

+ 24 - 1
src/api/enterprise/employee/employee.js

@@ -23,4 +23,27 @@ export function updateUserApi(data) {
     method: 'put',
     data: data
   })
-}
+}
+//删除用户信息
+export function deleteUserApi(ids) {
+  return request({
+    url: `/ent/user/${ids}`,
+    method: 'delete'
+  })
+}
+//重置密码
+export function resetPwdApi(userId,data) {
+  return request({
+    url: `/ent/user/resetPwd/${userId}`,
+    method: 'put',
+    data: data
+  })
+}
+//获取用户信息
+export function getUserByIdApi(userId, query) {
+  return request({
+    url: `/ent/user/userInfo/${userId}`,
+    method: 'get',
+    params: query
+  })
+}

+ 1 - 1
src/store/modules/user.js

@@ -47,7 +47,7 @@ const user = {
         login(username, password, code, uuid).then(res => {
           setToken(res.token)
           commit('SET_TOKEN', res.token)
-          resolve()
+          resolve(resolve)
         }).catch(error => {
           reject(error)
         })

+ 10 - 1
src/utils/request.js

@@ -69,6 +69,7 @@ service.interceptors.request.use(config => {
 service.interceptors.response.use(res => {
     // 未设置状态码则默认成功状态
     const code = res.data.code || 200;
+    const token = res.data.token || ''
     // 获取错误信息
     const msg = errorCode[code] || res.data.msg || errorCode['default']
     // 二进制数据则直接返回
@@ -99,7 +100,15 @@ service.interceptors.response.use(res => {
         type: 'error'
       })
       return Promise.reject(new Error(msg))
-    } else if (code !== 200) {
+    } else if(code == -2) {
+      return Promise.reject('-2')
+    } else if(code == -1) {
+      let params = {
+        code: code,
+        token: token
+      }
+      return Promise.reject(params)
+    }else if (code !== 200) {
       Notification.error({
         title: msg
       })

+ 129 - 23
src/views/common/registerFirst.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="register">
-    <el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form" label-width="160px">
+    <el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form" label-width="190px">
       <h3 class="title">注册信息</h3>
       <el-collapse v-model="activeName">
         <el-collapse-item title="账户信息" name="1">
@@ -131,7 +131,7 @@
                 </el-select>
               </el-form-item>
             </el-col>
-            <el-col :span="12">
+            <el-col :span="24">
               <el-form-item label="企业所得税主管税务机关" prop="taxOffice">
                 <el-input v-model="registerForm.taxOffice" type="text" auto-complete="off" placeholder="请输入企业所得税主管税务机关">
                 </el-input>
@@ -228,7 +228,7 @@
                 </el-radio-group>
               </el-form-item>
             </el-col>
-            <el-col :span="12">
+            <el-col :span="12" v-if="registerForm.listedFlag == 1">
               <el-form-item label="企业上市代码" prop="listingCode">
                 <el-input v-model="registerForm.listingCode" type="text" auto-complete="off" placeholder="请输入企业上市代码">
                 </el-input>
@@ -245,7 +245,7 @@
                 </el-radio-group>
               </el-form-item>
             </el-col>
-            <el-col :span="12">
+            <el-col :span="12" v-if="registerForm.investFlag == 1">
               <el-form-item label="风险投资金额" prop="investCapital">
                 <el-input v-model="registerForm.investCapital" type="text" auto-complete="off" placeholder="请输入风险投资金额">
                 </el-input>
@@ -262,7 +262,7 @@
                 </el-radio-group>
               </el-form-item>
             </el-col>
-            <el-col :span="12">
+            <el-col :span="12" v-if="registerForm.techFlag == 1">
               <el-form-item label="高新企业编号" prop="techCode">
                 <el-input v-model="registerForm.techCode" type="text" auto-complete="off" placeholder="请输入高新企业编号">
                 </el-input>
@@ -273,7 +273,7 @@
         <el-collapse-item title="上年度是否做加计扣除" name="9">
           <el-row :gutter="40">
             <el-col :span="12">
-              <el-form-item label="是否引入风险投资" prop="deductionFlag">
+              <el-form-item label="上年度是否做加计扣除" prop="deductionFlag">
                 <el-radio-group v-model="registerForm.deductionFlag">
                   <el-radio v-for="(item, index) in yesOrNoOptions" :key="index" :label="item.dictValue">{{item.dictLabel}}</el-radio>
                 </el-radio-group>
@@ -282,7 +282,7 @@
           </el-row>
         </el-collapse-item>
         <el-collapse-item title="附件" name="10">
-          <el-form-item label="企业营业执照" prop="licensePath">
+          <el-form-item label="企业营业执照" prop="licensePath" ref="licenseUpload">
             <ImageUpload @input="handleLicenseSuccess" :params="params" :limit="limit" :value="registerForm.licensePath" :fileSize="fileSize"></ImageUpload>
             <!-- <FileUpload :file="{url: registerForm.licensePath, name: registerForm.fileName}" @input="handleSuccess">上传材料</FileUpload> -->
           </el-form-item>
@@ -294,7 +294,7 @@
         <el-collapse-item title="文件水印" name="11">
           <el-row :gutter="40">
             <el-col :span="24">
-              <el-form-item label="文件水印" prop="logo">
+              <el-form-item label="文件水印" prop="logo" ref="logoUpload">
                 <ImageUpload @input="handleLogoSuccess" :params="params" :limit="limit" :value="registerForm.logo" :fileSize="fileSize"></ImageUpload>
                 <!-- <ImageUpload @input="handleLogoSuccess"></ImageUpload> -->
               </el-form-item>
@@ -318,7 +318,7 @@
               <span v-if="!loading">注册</span>
               <span v-else>注 册 中...</span>
             </el-button>
-            <el-button size="medium" type="primary" style="width: 100px;">取消</el-button>
+            <el-button size="medium" type="primary" style="width: 100px;" @click="cancel">取消</el-button>
           </el-form-item>
         </el-col>
       </el-row>
@@ -383,22 +383,124 @@ export default {
         mainProducts: '',
         userName: "",
         password: "",
-        confirmPassword: ""
+        confirmPassword: "",
+        techFlag: 1,
+        listedFlag: 1,
+        investFlag: 1,
+        deductionFlag: 1
       },
       registerRules: {
-        userName: [
-          { required: true, trigger: "blur", message: "请输入您的账号" },
-          { min: 2, max: 20, message: '用户账号长度必须介于 2 和 20 之间', trigger: 'blur' }
-        ],
-        password: [
-          { required: true, trigger: "blur", message: "请输入您的密码" },
-          { min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' }
-        ],
-        confirmPassword: [
-          { required: true, trigger: "blur", message: "请再次输入您的密码" },
-          { required: true, validator: equalToPassword, trigger: "blur" }
-        ],
-        code: [{ required: true, trigger: "change", message: "请输入验证码" }]
+        userName: [
+          { required: true, trigger: "blur", message: "请输入您的账号" },
+          { min: 2, max: 20, message: '用户账号长度必须介于 2 和 20 之间', trigger: 'blur' }
+        ],
+        password: [
+          { required: true, trigger: "blur", message: "请输入您的密码" },
+          { min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' }
+        ],
+        confirmPassword: [
+          { required: true, trigger: "blur", message: "请再次输入您的密码" },
+          { required: true, validator: equalToPassword, trigger: "blur" }
+        ],
+        nickName: [
+          { required: true, trigger: "blur", message: "请输入姓名" },
+          {max: 30, message: '最多输入30个字符', trigger: 'blur' }
+        ],
+        phonenumber: [
+          { required: true, trigger: "blur", message: "请输入手机号" },
+          {
+            pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
+            message: "请输入正确的手机号码",
+            trigger: "blur"
+          }
+        ],
+        email: [
+          { type: "email",required: true, trigger: ["blur", "change"], message: "请输入邮箱" },
+        ],
+        entName: [
+          { required: true, trigger: "blur", message: "请输入企业名称" },
+        ],
+        license: [
+          { required: true, trigger: "blur", message: "请输入统一社会信用代码" },
+        ],
+        regCapital: [
+          { required: true, trigger: "blur", message: "请输入注册资金" },
+        ],
+        regDate: [
+          { required: true, trigger: "change", message: "请选择工商注册时间" },
+        ],
+        regType: [
+          { required: true, trigger: "change", message: "请选择工商注册类型" },
+        ],
+        mainProductArray: [
+          { type: 'array', required: true, message: '请至少选择一个主营产品(服务)所属技术领域', trigger: 'change' }
+        ],
+        address: [
+          { required: true, trigger: "blur", message: "请输入通信地址" },
+        ],
+        zipCode: [
+          { required: true, trigger: "blur", message: "请输入邮政编码" },
+        ],
+        provinceId: [
+          { required: true, trigger: "change", message: "请选择省份" },
+        ],
+        cityId: [
+          { required: true, trigger: "change", message: "请选择市" },
+        ],
+        districtId: [
+          { required: true, trigger: "change", message: "请选择区" },
+        ],
+        taxOffice: [
+          { required: true, trigger: "blur", message: "企业所得税主管税务机关" },
+        ],
+        legalName: [
+          { required: true, trigger: "blur", message: "请输入姓名" },
+        ],
+        legalIdCard: [
+          { required: true, trigger: "blur", message: "请输入身份证号码" },
+        ],
+        legalMobile: [
+          { required: true, trigger: "blur", message: "请输入手机号码" },
+        ],
+        linkName: [
+          { required: true, trigger: "blur", message: "请输入姓名" },
+        ],
+        linkIdCard: [
+          { required: true, trigger: "blur", message: "请输入身份证号码" },
+        ],
+        linkMobile: [
+          { required: true, trigger: "blur", message: "请输入手机号码" },
+        ],
+        listedFlag: [
+          { required: true, trigger: "change", message: "请选择企业是否上市" },
+        ],
+        listingCode: [
+          { required: true, trigger: "blur", message: "请输入企业上市代码" },
+        ],
+        investFlag: [
+          { required: true, trigger: "change", message: "请选择是否引入风险投资" },
+        ],
+        investCapital: [
+          { required: true, trigger: "blur", message: "请输入风险投资金额" },
+        ],
+        techFlag: [
+          { required: true, trigger: "change", message: "请选择是否为高新企业" },
+        ],
+        techCode: [
+          { required: true, trigger: "blur", message: "请输入高新企业编号" },
+        ],
+        deductionFlag: [
+          { required: true, trigger: "change", message: "请选择是否做加计扣除" },
+        ],
+        licensePath: [
+          { required: true, trigger: "change", message: "请上传营业执照附件" },
+        ],
+        logo: [
+          { required: true, trigger: "change", message: "请上传文件水印" },
+        ],
+        serviceDate: [
+          { type: 'array', required: true, message: '请选择服务时间', trigger: 'change' }
+        ]
       },
       loading: false,
       captchaOnOff: true
@@ -430,6 +532,7 @@ export default {
     },
     handleLicenseSuccess(file) {
       this.registerForm.licensePath = file
+      this.$refs.licenseUpload.clearValidate()
     },
     //选择省份
     getCityData() {
@@ -484,6 +587,9 @@ export default {
           this.registerForm.uuid = res.uuid;
         }
       });
+    },
+    cancel() {
+      this.$router.go(-1);
     },
     handleRegister() {
       this.registerForm.mainProducts = this.registerForm.mainProductArray.join(',')

+ 22 - 18
src/views/enterprise/employee/index.vue

@@ -66,11 +66,11 @@
           <span>{{ parseTime(scope.row.createTime) }}</span>
         </template>
       </el-table-column>
-     <el-table-column label="操作" align="center" width="180" class-name="small-padding fixed-width">
+     <el-table-column label="操作" align="center" width="220" class-name="small-padding fixed-width">
        <template slot-scope="scope">
-         <el-button type="text" @click="handleUpdate(scope.row)" v-hasPermi="['system:user:query']">修改</el-button>
+         <el-button type="text" @click="handleUpdate(scope.row)">修改</el-button>
          <el-button type="text" @click="handleDelete(scope.row)">删除</el-button>
-         <el-button type="text" @click="handleReset(scope.row)">重置密码</el-button>
+         <el-button type="text" @click="handleResetPwd(scope.row)">重置密码</el-button>
        </template>
      </el-table-column>
     </el-table>
@@ -169,7 +169,7 @@
 </template>
 
 <script>
-import { listUserApi,addRoleApi,updateUserApi } from "@/api/enterprise/employee/employee"
+import { listUserApi,addRoleApi,updateUserApi,deleteUserApi,resetPwdApi,getUserByIdApi } from "@/api/enterprise/employee/employee"
 import { changeUserStatus, getUser } from "@/api/system/user";
 import { userListOptions, getLabel,userAllListOptions } from "@/utils/dataFormat"
 
@@ -252,10 +252,6 @@ export default {
     // 表单重置
     reset() {
       this.form = {
-        roleId: undefined,
-        roleName: undefined,
-        status: "0",
-        remark: undefined
       };
       this.resetForm("form");
     },
@@ -280,12 +276,8 @@ export default {
     handleUpdate(row) {
       this.reset();
       const userId = row.userId;
-      getUser(userId).then(response => {
+      getUserByIdApi(userId).then(response => {
         this.form = response.data;
-        // this.postOptions = response.posts;
-        // this.roleOptions = response.roles;
-        // this.form.postIds = response.postIds;
-        // this.form.roleIds = response.roleIds;
         this.open = true;
         this.title = "修改用户";
         this.form.password = "";
@@ -313,16 +305,28 @@ export default {
     },
     /** 删除按钮操作 */
     handleDelete(row) {
-      const roleIds = row.roleId || this.ids;
-      this.$modal.confirm('是否确认删除角色编号为"' + roleIds + '"的数据项?').then(function() {
-        return delRole(roleIds);
+      const userId = row.userId;
+      this.$modal.confirm('是否确认删除登录账号为"' + row.userName + '"的数据项?').then(function() {
+        return deleteUserApi(userId);
       }).then(() => {
         this.getList();
         this.$modal.msgSuccess("删除成功");
       }).catch(() => {});
     },
-    handleReset(row) {
-
+    handleResetPwd(row) {
+      this.$confirm('是否确认重置密码?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return resetPwdApi(row.userId);
+        }).then(() => {
+          this.queryParams.pageNum = 1;
+          this.getList();
+          setTimeout(() => {        // 加延时
+            this.$modal.msgSuccess("重置密码成功,新密码是:123456");
+          }, 500);
+        })
     },
     userTypeFormat(row, col, val, index) {
       return getLabel(userAllListOptions, val)

+ 37 - 4
src/views/enterprise/ent/edit.vue

@@ -310,7 +310,7 @@
               <el-table-column label="文件名称" prop="fileName" align="center"></el-table-column>
               <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
                 <template slot-scope="scope">
-                  <el-button type="text" @click="handleView(scope.row)">预览</el-button>
+                  <el-button type="text" @click="handleView(scope.row)">查看</el-button>
                   <el-button type="text" @click="handleDelete(scope.row)">删除</el-button>
                 </template>
               </el-table-column>
@@ -350,6 +350,22 @@
       </el-row>
     </el-form>
     <upload-enclosure ref="uploadEnclosure" v-if="enclosureVisible" @refreshData="getList()" :attachType="attachType"></upload-enclosure>
+  <!-- 图片预览 -->
+    <!-- <div v-if="imgShow">
+      <img :src="downloadUrl" />
+    </div> -->
+    <el-dialog
+      :visible.sync="dialogVisible"
+      title="预览"
+      width="800"
+      append-to-body>
+      <img
+        :src="dialogImageUrl"
+        style="display: block; max-width: 100%; margin: 0 auto"/>
+    </el-dialog>
+    <!-- <el-dialog :visible.sync="fileVisible" width="50%" class="fileVisible" :close-on-click-modal="false">
+      <iframe :src="fileUrl" frameborder="0" width="100%" height="600"></iframe>
+    </el-dialog> -->
   </div>
 </template>
 <script>
@@ -385,6 +401,13 @@ export default {
             }
           };
     return {
+      dialogVisible: false,
+      dialogImageUrl: '',
+      height: window.innerHeight + 'px',
+      width: '100%',
+      downloadUrl: '',
+      fileUrl: '',
+      fileVisible: false,
       limit: 1, //长传图片数量
       fileSize: 10,
       enclosureVisible: false,
@@ -671,9 +694,19 @@ export default {
       })
     },
     handleView(row) {
-      // const a = document.createElement("a");
-      // a.href = row.url;
-      // a.click();
+      // 获取文件路径
+      const fileUrl = row.url
+      // 获取最后一个.的位置
+      const index = fileUrl.lastIndexOf(".")
+      // 获取后缀
+      const ext = fileUrl.substr(index+1)
+      if(ext == 'jpg' || ext == 'png' || ext == 'jpeg') {
+        this.dialogVisible = true
+        this.dialogImageUrl = fileUrl
+      }else {
+         window.open(fileUrl)
+      }
+
     },
     cancel() {
       this.$store.dispatch("tagsView/delView", this.$route);

+ 1 - 1
src/views/index.vue

@@ -29,7 +29,7 @@
         <el-col :span="8">
           <div class="stat_box">
             <i class="icon icon_5"></i>
-            <span class="num">{{info.entSumCnt}}</span>
+            <span class="num">{{info.proSumCnt}}</span>
             <span class="label">项目总数</span>
           </div>
         </el-col>

+ 115 - 27
src/views/login.vue

@@ -1,37 +1,107 @@
 <template>
-  <div class="login">
-    <div class="login-form">
-      <h3 class="title">企业研发归集系统</h3>
-      <el-tabs v-model="activeName" >
-        <el-tab-pane label="企业用户" name="first">
-          <enterprise-login :loginType="'entUser'"></enterprise-login>
-        </el-tab-pane>
-        <el-tab-pane label="平台用户" name="second">
-          <enterprise-login :loginType="'platformUser'"></enterprise-login>
-        </el-tab-pane>
-      </el-tabs>
-    </div>
+  <div class="login">
+    <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
+      <h3 class="title">企业研发归集系统</h3>
+      <el-form-item prop="username">
+        <el-input
+          v-model="loginForm.username"
+          type="text"
+          auto-complete="off"
+          placeholder="账号"
+        >
+          <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
+        </el-input>
+      </el-form-item>
+      <el-form-item prop="password">
+        <el-input
+          v-model="loginForm.password"
+          type="password"
+          auto-complete="off"
+          placeholder="密码"
+          @keyup.enter.native="handleLogin"
+        >
+          <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
+        </el-input>
+      </el-form-item>
+      <el-form-item prop="code" v-if="captchaOnOff">
+        <el-input
+          v-model="loginForm.code"
+          auto-complete="off"
+          placeholder="验证码"
+          style="width: 63%"
+          @keyup.enter.native="handleLogin"
+        >
+          <svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
+        </el-input>
+        <div class="login-code">
+          <img :src="codeUrl" @click="getCode" class="login-code-img"/>
+        </div>
+      </el-form-item>
+      <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">记住密码</el-checkbox>
+      <el-form-item style="width:100%;">
+        <el-button
+          :loading="loading"
+          size="medium"
+          type="primary"
+          style="width:100%;"
+          @click.native.prevent="handleLogin"
+        >
+          <span v-if="!loading">登 录</span>
+          <span v-else>登 录 中...</span>
+        </el-button>
+        <div>
+          <div style="float: left;">
+            <router-link class="link-type" :to="'/registerFirst'">企业账号注册</router-link>
+          </div>
+          <div style="float: right;">
+            <el-button type="text" @click="forgetPwd" class="link-type">忘记密码</el-button>
+          </div>
+        </div>
+      </el-form-item>
+    </el-form>
     <!--  底部  -->
     <div class="el-login-footer">
       <span>Copyright © 2022 All Rights Reserved.</span>
-    </div>
+    </div>
+    <el-dialog
+      title="系统提示"
+      :visible.sync="dialogVisible"
+      width="30%"
+      :before-close="handleClose">
+      <div>请联系管理员重置密码</div>
+      <div>管理员联系方式:kedekeyan@163.com</div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisible = false">取 消</el-button>
+        <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
+      </span>
+    </el-dialog>
+    <el-dialog
+      title="系统提示"
+      :visible.sync="pwdVisible"
+      width="30%"
+      :before-close="handleClose">
+      <div>企业账号正在审核,请联系管理员审核信息</div>
+      <div>管理员联系方式:kedekeyan@163.com</div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="pwdVisible = false">取 消</el-button>
+        <el-button type="primary" @click="pwdVisible = false">确 定</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
 <script>
 import { getCodeImg } from "@/api/login";
 import Cookies from "js-cookie";
-import { encrypt, decrypt } from '@/utils/jsencrypt'
-import EnterpriseLogin from "./components/login/index"
+import { encrypt, decrypt } from '@/utils/jsencrypt'
 
 export default {
-  name: "Login",
-  components: {
-    EnterpriseLogin
-  },
+  name: "Login",
   data() {
     return {
-      activeName: 'first',
+      errMsg: "",
+      dialogVisible: false,
+      pwdVisible: false,
       codeUrl: "",
       loginForm: {
         username: "admin",
@@ -53,7 +123,7 @@ export default {
       // 验证码开关
       captchaOnOff: true,
       // 注册开关
-      register: true,
+      register: false,
       redirect: undefined
     };
   },
@@ -88,6 +158,14 @@ export default {
         password: password === undefined ? this.loginForm.password : decrypt(password),
         rememberMe: rememberMe === undefined ? false : Boolean(rememberMe)
       };
+    },
+    forgetPwd() {
+      this.dialogVisible = true
+    },
+    handleClose(done) {
+      this.$confirm('确认关闭?').then(_ => {
+          done();
+      }).catch(_ => {});
     },
     handleLogin() {
       this.$refs.loginForm.validate(valid => {
@@ -102,9 +180,23 @@ export default {
             Cookies.remove("password");
             Cookies.remove('rememberMe');
           }
-          this.$store.dispatch("Login", this.loginForm).then(() => {
+          this.$store.dispatch("Login", this.loginForm).then((res) => {
             this.$router.push({ path: this.redirect || "/" }).catch(()=>{});
-          }).catch(() => {
+          }).catch((err) => {
+            console.log("1111111111111111s")
+            console.log(err)
+            this.errMsg = err
+            if(err == -2) {
+              this.pwdVisible = true
+            }else if(err == -1) {
+              this.$alert("审核资料已驳回,请重新提交", '系统提示', {
+                dangerouslyUseHTMLString: true,
+                type: 'success'
+              }).then(() => {
+                this.$router.push("/login");
+              }).catch(() => {});
+            }
+
             this.loading = false;
             if (this.captchaOnOff) {
               this.getCode();
@@ -177,9 +269,5 @@ export default {
 }
 .login-code-img {
   height: 38px;
-}
-.el-tabs__nav-scroll {
-  width: 50%!important;
-  margin: 0 auto!important;
 }
 </style>

+ 12 - 4
src/views/tax/index.vue

@@ -3,22 +3,28 @@
     <el-form :model="queryParams" ref="queryForm" :inline="true" size="small" label-width="100px">
       <el-form-item label="省" prop="provinceId">
         <el-select v-model="queryParams.provinceId" placeholder="请选择省" @change="getCityData" filterable style="width: 200px;">
-          <el-option v-for="(item,index) in provinceDataList" :key="index" :label="item.name" :value="item.name"></el-option>
+          <el-option v-for="(item,index) in provinceDataList" :key="index" :label="item.name" :value="item.id"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="市" prop="cityId">
         <el-select v-model="queryParams.cityId" placeholder="请选择市" @change="getDistrictData" filterable style="width: 200px;">
-          <el-option v-for="(item, index) in cityDataList" :key="index" :label="item.name" :value="item.name"></el-option>
+          <el-option v-for="(item, index) in cityDataList" :key="index" :label="item.name" :value="item.id"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="区" prop="districtId">
         <el-select v-model="queryParams.districtId" placeholder="请选择区" filterable style="width: 200px;">
-          <el-option v-for="(item, index) in districtDataList" :key="index" :label="item.name" :value="item.name"></el-option>
+          <el-option v-for="(item, index) in districtDataList" :key="index" :label="item.name" :value="item.id"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="登录名称" prop="userName">
         <el-input v-model="queryParams.userName" clearable style="width: 200px;" placeholder="请输入登录名称"></el-input>
       </el-form-item>
+      <el-form-item label="状态" prop="status">
+        <el-select v-model="queryParams.status" placeholder="请选择" filterable style="width: 200px;">
+          <el-option label="启用" value="0"></el-option>
+          <el-option label="停用" value="1"></el-option>
+        </el-select>
+      </el-form-item>
       <el-form-item>
         <el-button type="primary" @click="handleQuery">搜索</el-button>
         <el-button @click="resetQuery">重置</el-button>
@@ -94,7 +100,9 @@
           pageSize: 10,
           provinceId: undefined,
           cityId: undefined,
-          districtId: undefined
+          districtId: undefined,
+          userName: undefined,
+          status: undefined
         },
         list: [],
         total: 0,