zhangdan 4 лет назад
Родитель
Сommit
d67add19c5

+ 6 - 3
src/api/send-coupon-user.js

@@ -21,10 +21,13 @@ export const getUserList = params => {
   })
 }
 
-// 设置为负责人
-export const setManager = params => {
+// 获取网点名称列表
+export const storeList = params => {
+  const url = `store/query/${params.pageNo}/${params.pageSize}`
+  delete params.pageNo
+  delete params.pageSize
   return axios({
-    url: `employee/setManager`,
+    url: url,
     data: params,
     method: 'post'
   })

+ 54 - 27
src/views/CouponSendAuth/user/userList.vue

@@ -4,20 +4,15 @@
       <a-form layout="inline">
         <a-row :gutter="48">
           <a-col :md="6" :sm="24">
-            <a-form-item label="用户名称">
-              <a-input allowClear v-model.trim="queryParam.name" placeholder="请输入用户名称"/>
+            <a-form-item label="所在网点" :label-col="{ span:6 }" :wrapper-col="{ span:12}">
+              <a-select placeholder="请选择" allowClear v-model="queryParam.tenantId">
+                <a-select-option v-for="item in storeOptionData" :key="item.id" :value="item.id">{{ item.name }}</a-select-option>
+              </a-select>
             </a-form-item>
           </a-col>
-
           <a-col :md="6" :sm="24">
-            <a-form-item label="手机号码">
-              <a-input allowClear v-model.trim="queryParam.phone" placeholder="请输入手机号码"/>
-            </a-form-item>
-          </a-col>
-
-          <a-col :md="6" :sm="24">
-            <a-form-item label="状态">
-              <v-select code="CHECK_ENABLE_STATE" v-model="queryParam.loginFlag" allowClear placeholder="请选择状态"></v-select>
+            <a-form-item label="手机号码,员工姓名">
+              <a-input allowClear v-model.trim="queryParam.queryWord" placeholder="请输入手机号码"/>
             </a-form-item>
           </a-col>
           <a-col :md="4" :sm="24">
@@ -46,24 +41,31 @@
         <span v-if="record.roleNames">{{ record.roleNames.substr(0,12) + '...' }}</span>
         <span v-else>无</span>
       </div>
+      <!-- 性别 -->
+      <span slot="sex" slot-scope="text">
+        <template v-if="text == 0 ">{{ '男' }}</template>
+        <template v-if="text == 1 ">{{ '女' }}</template>
+      </span>
+      <!-- 操作 -->
       <span slot="action" slot-scope="text, record">
         <template>
           <div >
             <a class="action-button" @click="handleEdit(record)">修改</a>
-            <a v-if="record.loginFlag" class="action-button reset-text" @click="resetPassword(record)">重置密码</a>
-            <a v-if="!record.loginFlag" class="action-button red-text" @click="delect(record)">删除</a>
+            <a class="action-button reset-text" @click="resetPassword(record)">重置密码</a>
+            <a class="action-button red-text" @click="delect(record)">删除</a>
           </div>
         </template>
       </span>
+
     </s-table>
-    <userModal :visible="showModal" @refresh="$refs.table.refresh(true)" :data="itemData" @close="showModal = false"></userModal>
+    <userModal :visible="showModal" :storeOptionData="storeOptionData" @refresh="$refs.table.refresh(true)" :data="itemData" @close="showModal = false"></userModal>
   </a-card>
 </template>
 
 <script>
 import { STable, VSelect } from '@/components'
 import userModal from './userModal.vue'
-import { resetPSD, getUserList, delectUser } from '@/api/send-coupon-user'
+import { resetPSD, getUserList, delectUser, storeList } from '@/api/send-coupon-user.js'
 export default {
   name: 'UserList',
   components: {
@@ -73,14 +75,12 @@ export default {
     return {
       // 查询参数
       queryParam: {
-        name: '',
-        phone: '',
-        loginFlag: ''
+        tenantId: '',
+        queryWord: ''
       },
       showModal: false,
       itemData: {}, // 编辑行数据
-      pageNo: '1',
-      pageSize: '10',
+      storeOptionData: [],
       // 表头
       columns: [
         {
@@ -90,14 +90,14 @@ export default {
           align: 'center'
         },
         {
-          title: '用户名称',
+          title: '员工姓名',
           dataIndex: 'name',
           width: '100',
           align: 'center'
         },
         {
           title: '手机号码',
-          dataIndex: 'phone',
+          dataIndex: 'mobile',
           width: '100',
           align: 'center'
         },
@@ -108,14 +108,21 @@ export default {
           scopedSlots: { customRender: 'roleNames' }
         },
         {
-          title: '状态',
-          width: '100',
+          title: '创建时间',
+          dataIndex: 'createDate',
+          width: '120',
+          align: 'center'
+        },
+        {
+          title: '性别',
+          dataIndex: 'sex',
+          width: '120',
           align: 'center',
-          scopedSlots: { customRender: 'status' }
+          scopedSlots: { customRender: 'sex' }
         },
         {
-          title: '创建时间',
-          dataIndex: 'createDate',
+          title: '所在网点',
+          dataIndex: 'store.name',
           width: '120',
           align: 'center'
         },
@@ -156,6 +163,20 @@ export default {
       this.showModal = true
       this.itemData = {}
     },
+    // 获取网点名称数据
+    getStoreListData () {
+      storeList({
+        pageNo: 1,
+        pageSize: 1000
+      }).then(res => {
+        console.log(res, '-----------')
+        if (res.status == 200) {
+          this.storeOptionData = res.data.list || []
+        } else {
+          this.storeOptionData = []
+        }
+      })
+    },
     // 重置密码
     resetPassword (row) {
       resetPSD({
@@ -201,6 +222,7 @@ export default {
       })
       return str.join(',')
     },
+    // 编辑
     handleEdit (row) {
       this.showModal = true
       this.itemData = row
@@ -219,6 +241,11 @@ export default {
     //     }
     //   })
     // }
+  },
+  beforeRouteEnter (to, from, next) {
+    next(vm => {
+      vm.getStoreListData()
+    })
   }
 }
 </script>

+ 28 - 37
src/views/CouponSendAuth/user/userModal.vue

@@ -19,8 +19,9 @@
             <a-form-item label="手机号码" :label-col="{ span: 8 }" :wrapper-col="{ span: 16 }">
               <a-input
                 placeholder="请输入手机号码"
-                v-decorator="['formData.phone', {
-                  initialValue: formData.phone,
+                :maxLength="11"
+                v-decorator="['formData.mobile', {
+                  initialValue: formData.mobile,
                   rules: [{ required: true, message: '请输入手机号码!' },{pattern:/^[1][0-9]{10}$/, message: '请输入正确的手机号码!'}] }]"
               />
             </a-form-item>
@@ -44,21 +45,21 @@
           </a-col>
           <!-- 状态 -->
           <a-col :span="12">
-            <a-form-item label="状态" :label-col="{ span: 8 }" :wrapper-col="{ span: 16 }">
-              <a-radio-group
-                name="radioGroup"
+
+            <a-form-item label="所在网点" :label-col="{ span:6 }" :wrapper-col="{ span:12}">
+              <a-select
+                placeholder="请选择"
+                allowClear
                 v-decorator="[
-                  'formData.loginFlag',
+                  'formData.tenantId',
                   {
-                    initialValue: formData.loginFlag,
+                    initialValue: formData.tenantId,
                     rules: [{ required: true, message: '请选择状态!' }] },
-                ]"
-              >
-                <a-radio :value="1">是</a-radio>
-                <a-radio :value="0">否</a-radio>
-              </a-radio-group>
-
+                ]">
+                <a-select-option v-for="item in storeOptionData" :key="item.id" :value="item.id">{{ item.name }}</a-select-option>
+              </a-select>
             </a-form-item>
+
           </a-col>
         </a-row>
         <a-row :gutter="24">
@@ -66,9 +67,9 @@
             <a-form-item label="角色" :label-col="{ span: 4 }" :wrapper-col="{ span: 20 }">
               <a-select
                 v-decorator="[
-                  'formData.roleNames',
+                  'formData.roleIds',
                   {
-                    initialValue: formData.roleNames,
+                    initialValue: formData.roleIds,
                     rules: [{ required: true, message: '请选择状态!' }] },
                 ]"
                 mode="multiple"
@@ -85,22 +86,6 @@
             </a-form-item>
           </a-col>
         </a-row>
-        <a-row :gutter="24">
-          <a-col :span="24">
-            <a-form-item label="备注" :label-col="{ span: 4 }" :wrapper-col="{ span: 20 }">
-              <a-textarea
-                v-decorator="[
-                  'formData.remarks',
-                  {
-                    initialValue: formData.remarks,
-                    rules: [] },
-                ]"
-                style="min-height: 50px;"
-                placeholder=""
-                autosize />
-            </a-form-item>
-          </a-col>
-        </a-row>
         <a-form-item :wrapper-col="{ span: 12, offset: 5 }">
           <a-button type="primary" @click="handleSubmit()">
             保存
@@ -116,7 +101,7 @@
 
 <script>
 import { STable, VSelect } from '@/components'
-import { getRoleList, saveUser } from '@/api/send-coupon-user'
+import { getRoleList, saveUser } from '@/api/send-coupon-user.js'
 export default {
   name: 'UserModal',
   components: {
@@ -127,6 +112,12 @@ export default {
       type: Boolean,
       default: false
     },
+    storeOptionData: {
+      type: Array,
+      default: function () {
+        return {}
+      }
+    },
     data: {
       type: Object,
       default: function () {
@@ -142,12 +133,11 @@ export default {
       form: this.$form.createForm(this, { name: 'miniForm' }),
       roleList: [],
       formData: {
-        roleNames: undefined, // 角色
+        roleIds: undefined, // 角色
         name: '',
-        loginFlag: '', // 活动状态
-        phone: '',
+        mobile: '',
         sex: '',
-        remarks: ''
+        tenantId: ''
       }
     }
   },
@@ -162,7 +152,8 @@ export default {
       const _this = this
       this.form.validateFields((err, values) => {
         if (!err) {
-          values.formData.roleNames = values.formData.roleNames.join(',')
+          console.log(values)
+          values.formData.roleIds = values.formData.roleIds.join(',')
           saveUser(Object.assign({ id: this.data.id ? this.data.id : '' }, values.formData)).then(res => {
             if (res.status + '' === '200') {
               this.$message.success(res.message ? res.message : '保存成功')