zhangdan 4 years ago
parent
commit
87e89634d2

+ 39 - 1
src/api/userInfo.js

@@ -1,6 +1,6 @@
 import { axios } from '@/utils/request'
 import { axios } from '@/utils/request'
 
 
-/* 商品分类 */
+/* 用户管理 */
 
 
 // 用户列表
 // 用户列表
 export const customerList = (params) => {
 export const customerList = (params) => {
@@ -14,6 +14,36 @@ export const customerList = (params) => {
   })
   })
 }
 }
 
 
+// 启用禁用
+export const changeStatus = (params) => {
+  const url = `customer/enable/${params.id}/${params.state}`
+  return axios({
+    url: url,
+    data: params,
+    method: 'get'
+  })
+}
+
+// 用户详情
+export const customerDetails = (params) => {
+  const url = `customer/findById/${params.id}`
+  return axios({
+    url: url,
+    data: params,
+    method: 'get'
+  })
+}
+
+// 导出
+export const customeExport = (params) => {
+  return axios({
+    url: `customer/export`,
+    data: params,
+    method: 'post',
+    responseType: 'blob'
+  })
+}
+
 // 乐豆详情
 // 乐豆详情
 export const customerGoldLogDetail = (params) => {
 export const customerGoldLogDetail = (params) => {
   const url = `customerGoldLog/query/${params.pageNo}/${params.pageSize}`
   const url = `customerGoldLog/query/${params.pageNo}/${params.pageSize}`
@@ -25,3 +55,11 @@ export const customerGoldLogDetail = (params) => {
     method: 'post'
     method: 'post'
   })
   })
 }
 }
+// 修改乐豆余额
+export const updateGold = (params) => {
+  return axios({
+    url: `customer/updateGold`,
+    data: params,
+    method: 'post'
+  })
+}

+ 66 - 0
src/api/userManage.js

@@ -8,3 +8,69 @@ export const sellerList = params => {
     data: {}
     data: {}
   })
   })
 }
 }
+// 重置密码
+export const resetPSD = params => {
+  return axios({
+    url: 'sleler/user/resetPwd',
+    data: params,
+    method: 'POST'
+  })
+}
+
+// 获取列表数据
+export const getPowerUserList = params => {
+  const url = `sleler/user/queryLike/${params.pageNo}/${params.pageSize}`
+  delete params.pageNo
+  delete params.pageSize
+  return axios({
+    url: url,
+    data: params,
+    method: 'POST'
+  })
+}
+
+// 改变权限状态接口
+export const updateEnableStatus = params => {
+  return axios({
+    url: `sleler/user/enable/${params.id}/${params.flag}`,
+    data: {},
+    method: 'get'
+  })
+}
+
+// 删除用户接口
+export const delectUserPower = params => {
+  return axios({
+    url: `sleler/user/delete/${params.id}`,
+    data: {},
+    method: 'get'
+  })
+}
+
+// 新增/编辑保存接口
+export const saveUserPower = params => {
+  return axios({
+    url: 'sleler/user/save',
+    data: params,
+    method: 'POST'
+  })
+}
+
+// 获取角色列表接口
+export const getRoleList = params => {
+  return axios({
+    url: 'sleler/role/findAll',
+    data: params,
+    method: 'POST'
+  })
+}
+
+// 编辑查详情
+export const slelerDetails = (params) => {
+  const url = `sleler/user/findById/${params.id}`
+  return axios({
+    url: url,
+    data: params,
+    method: 'get'
+  })
+}

+ 3 - 3
src/utils/request.js

@@ -38,7 +38,7 @@ const err = (error) => {
 // request interceptor
 // request interceptor
 service.interceptors.request.use(config => {
 service.interceptors.request.use(config => {
   const token = store.getters.token
   const token = store.getters.token
-  config.headers['App-Type'] = 9 // 平台类型
+  config.headers['App-Type'] = 8 // 平台类型
   if (token) {
   if (token) {
     config.headers['access-token'] = token // 让每个请求携带自定义 token 请根据实际情况自行修改
     config.headers['access-token'] = token // 让每个请求携带自定义 token 请根据实际情况自行修改
   }
   }
@@ -49,7 +49,7 @@ service.interceptors.request.use(config => {
 service.interceptors.response.use((response) => {
 service.interceptors.response.use((response) => {
   console.log(response, 'response.data.status')
   console.log(response, 'response.data.status')
   if (window.location.pathname != '/user/login') {
   if (window.location.pathname != '/user/login') {
-    if (response.data.status == '500' || response.data.status == '900') {
+    if (response.data.status == '500') {
       notification.destroy()
       notification.destroy()
       notification.error({
       notification.error({
         message: '提示',
         message: '提示',
@@ -57,7 +57,7 @@ service.interceptors.response.use((response) => {
       })
       })
     }
     }
     const et = sessionStorage.getItem('errorTips')
     const et = sessionStorage.getItem('errorTips')
-    if (response.data.status.length == 4 && !et) {
+    if (response.data.status && response.data.status.length == 4 && !et) {
       sessionStorage.setItem('errorTips', 1)
       sessionStorage.setItem('errorTips', 1)
       modal.destroyAll()
       modal.destroyAll()
       modal.error({
       modal.error({

+ 11 - 66
src/views/userInfo/LdDetails.vue

@@ -91,45 +91,29 @@ export default {
       ],
       ],
       // 加载数据方法 必须为 Promise 对象
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {
       loadData: parameter => {
-		  return customerGoldLogDetail({ CUSTOMER_NO: 'zq001', pageNo: '1', pageSize: '10' }).then(res => {
+		  console.log(this.customerNo)
+		  const searchData = Object.assign(parameter, this.queryParam)
+		  console.log(this.queryOrderDate, 'this.queryOrderDate')
+		  if (this.queryOrderDate && this.queryOrderDate.length) {
+		    searchData.beginDate = moment(this.queryOrderDate[0]).format('YYYY-MM-DD')
+		    searchData.endDate = moment(this.queryOrderDate[1]).format('YYYY-MM-DD')
+		  } else {
+		    searchData.beginDate = ''
+		    searchData.endDate = ''
+		  }
+		  return customerGoldLogDetail(Object.assign(parameter, { customerNo: this.$route.params.id }, searchData)).then(res => {
 		    if (res.status == 200) {
 		    if (res.status == 200) {
 		      const no = (res.data.pageNo - 1) * res.data.pageSize
 		      const no = (res.data.pageNo - 1) * res.data.pageSize
 		      for (let i = 0; i < res.data.list.length; i++) {
 		      for (let i = 0; i < res.data.list.length; i++) {
 		        const _item = res.data.list[i]
 		        const _item = res.data.list[i]
 		        _item.no = no + i + 1
 		        _item.no = no + i + 1
-		        _item.status = _item.status + '' === '1'
 		      }
 		      }
 		      return res.data
 		      return res.data
 		    }
 		    }
 		  })
 		  })
-		  // const searchData = Object.assign(parameter, this.queryParam)
-		  // if (this.queryOrderDate && this.queryOrderDate.length) {
-		  //   searchData.beginDate = moment(this.queryOrderDate[0]).format('YYYY-MM-DD')
-		  //   searchData.endDate = moment(this.queryOrderDate[1]).format('YYYY-MM-DD')
-		  // } else {
-		  //   searchData.beginDate = ''
-		  //   searchData.endDate = ''
-		  // }
-        //         return getTenantsList(searchData).then(res => {
-        //           if (res.status == 200) {
-        //             const no = (res.data.pageNo - 1) * res.data.pageSize
-        //             for (let i = 0; i < res.data.list.length; i++) {
-        //               const _item = res.data.list[i]
-        //               _item.no = no + i + 1
-        //               _item.status = _item.status + '' === '1'
-        //             }
-        //             return res.data
-        //           }
-        //         })
       }
       }
-      // 将默认当天时间日期回显在时间选择框中
     }
     }
   },
   },
-  beforeRouteEnter (to, from, next) {
-    next(vm => {
-      vm.handleReset()
-    })
-  },
   methods: {
   methods: {
     moment,
     moment,
     // 不可选日期
     // 不可选日期
@@ -143,10 +127,6 @@ export default {
         this.queryParam.endDate = dateStrings[1]
         this.queryParam.endDate = dateStrings[1]
       }
       }
     },
     },
-    //  查看详情
-    // handleView (row) {
-    //   this.$router.push({ path: `/shop/order/detail/${row.id}` })
-    // },
     // 重置
     // 重置
     handleReset () {
     handleReset () {
       this.queryOrderDate = undefined
       this.queryOrderDate = undefined
@@ -154,41 +134,6 @@ export default {
       this.queryParam.operateType = ''
       this.queryParam.operateType = ''
       this.$refs.table.refresh(true)
       this.$refs.table.refresh(true)
     }
     }
-    // 导出
-    // handleExport () {
-    //   const params = {
-    //     beginDate: this.queryParam.beginDate == null ? getDate.getToday().starttime : this.queryParam.beginDate,
-    //     endDate: this.queryParam.endDate == null ? getDate.getToday().endtime : this.queryParam.endDate,
-    //     contactPhone: this.queryParam.contactPhone,
-    //     orderNo: this.queryParam.orderNo,
-    //     orderStatus: this.queryParam.orderStatus
-    //   }
-    //   if (!params.beginDate && !params.endDate) {
-    //     this.$message.error('请先选择需要导出的下单时间区间再进行导出!')
-    //     return
-    //   }
-    //   // 判断两个时间段是否相差m个月  第二个参数指相差单位,第三个参数指是否返回浮点形式(小数)
-    //   if (moment(params.endDate).diff(moment(params.beginDate), 'months', true) > 3) {
-    //     this.$message.error('单次最多只能导出3个月的数据,请缩小查询区间后再进行导出!')
-    //   }
-    //   // this.loading = true
-    //   // exportBundle(params).then(res => {
-    //   //   this.loading = false
-    //   //   this.download(res)
-    //   // })
-    // },
-    // download (data) {
-    //   if (!data) { return }
-    //   const url = window.URL.createObjectURL(new Blob([data]))
-    //   const link = document.createElement('a')
-    //   link.style.display = 'none'
-    //   link.href = url
-    //   const a = moment().format('YYYYMMDDhhmmss')
-    //   const fname = '订单记录-' + a
-    //   link.setAttribute('download', fname + '.xlsx')
-    //   document.body.appendChild(link)
-    //   link.click()
-    // }
   }
   }
 }
 }
 </script>
 </script>

+ 63 - 76
src/views/userInfo/editLdNumModal.vue

@@ -8,38 +8,36 @@
       :centered="true"
       :centered="true"
       title="修改乐豆金额">
       title="修改乐豆金额">
       <a-form id="components-form-demo-validate-other" ref="form" :form="form" @submit="handleSubmit">
       <a-form id="components-form-demo-validate-other" ref="form" :form="form" @submit="handleSubmit">
-        <a-form-item label="乐豆变动量" :label-col="{ span: 7 }" :wrapper-col="{ span: 12 }">
-          <div class="input-number">
-            <v-select
-              v-decorator="[
-                'formData.orderStatus',
-                { initialValue: formData.orderStatus, rules: [{ required: true, message: '请输入负责人手机号!' },] }
-              ]"
-              ref="orderStatus"
-              id="editLdNumModal-status"
-              code="GOLD_CHANGE_TYPE"
-              placeholder="请选择"
-              allowClear></v-select>
-            <a-input
-              id="editLdNumModal-contactPhone"
-              :maxLength="11"
-              v-decorator="[
-                'formData.contactPhone',
-                { initialValue: formData.contactPhone, rules: [{ required: true, message: '请输入负责人手机号!' },] }
-              ]"
-              placeholder="请输入手机号码"
-              allowClear />
-          </div>
-
+        <a-form-item label="乐豆变动类型" :label-col="{ span: 7 }" :wrapper-col="{ span: 17 }">
+          <v-select
+            v-decorator="[
+              'formData.changeType',
+              { initialValue: formData.changeType, rules: [{ required: true, message: '请选择!' },] }
+            ]"
+            id="editLdNumModal-changeType"
+            code="GOLD_CHANGE_TYPE"
+            placeholder="请选择"
+            allowClear></v-select>
+        </a-form-item>
+        <a-form-item label="乐豆变动量" :label-col="{ span: 7 }" :wrapper-col="{ span: 17 }">
+          <a-input-number
+            id="changeNum"
+            class="inpNumber-unit"
+            :min="0"
+            :max="999999"
+            :precision="0"
+            v-decorator="[ 'formData.changeNum', { initialValue: formData.changeNum, rules: [{ required: true, message: '请输入商品价格(0~999999)' }] } ]"
+            placeholder="请输入乐豆变动量(0~999999)"
+            allowClear />
+          <span class="inp-unit">乐豆</span>
         </a-form-item>
         </a-form-item>
         <a-form-item label="修改原因" :label-col="{ span:7 }" :wrapper-col="{ span:17}">
         <a-form-item label="修改原因" :label-col="{ span:7 }" :wrapper-col="{ span:17}">
           <v-select
           <v-select
             v-decorator="[
             v-decorator="[
-              'formData.orderStatus',
-              { initialValue: formData.orderStatus, rules: [{ required: true, message: '请输入负责人手机号!' },] }
+              'formData.operateType',
+              { initialValue: formData.operateType, rules: [{ required: true, message: '请输入负责人手机号!' },] }
             ]"
             ]"
-            ref="orderStatus"
-            id="editLdNumModal-status"
+            id="editLdNumModal-operateType"
             code="GOLD_OPERATE_TYPE"
             code="GOLD_OPERATE_TYPE"
             placeholder="请选择"
             placeholder="请选择"
             allowClear></v-select>
             allowClear></v-select>
@@ -69,10 +67,7 @@
 
 
 <script>
 <script>
 import { VSelect } from '@/components'
 import { VSelect } from '@/components'
-// import {
-//   supplierDetails,
-//   saveSupplier
-// } from '@/api/shopSetting.js'
+import { updateGold } from '@/api/userInfo.js'
 export default {
 export default {
   name: 'EditLdNumModal',
   name: 'EditLdNumModal',
   components: { VSelect },
   components: { VSelect },
@@ -81,64 +76,50 @@ export default {
       type: Boolean,
       type: Boolean,
       default: false
       default: false
     },
     },
-    userPhone: {
+    customerNo: {
       type: String,
       type: String,
       default: ''
       default: ''
-    },
-    itemData: {
-	  type: Object,
-	  default: function () {
-	    return {}
-	  }
     }
     }
+    //  itemData: {
+	  // type: Object,
+	  // default: function () {
+	  //   return {}
+	  // }
+    //  }
   },
   },
   data () {
   data () {
     return {
     return {
       isShow: this.openLdNumModal,
       isShow: this.openLdNumModal,
       form: this.$form.createForm(this, { name: 'editLdNumModal' }),
       form: this.$form.createForm(this, { name: 'editLdNumModal' }),
       formData: {
       formData: {
-        contactPhone: '', // 手机号码
-        orderStatus: '',
+        operateType: '', // 手机号码
+        changeType: '',
+        changeNum: '',
         remarks: ''
         remarks: ''
       }
       }
     }
     }
   },
   },
   methods: {
   methods: {
-    // 查看详情
-    // getPageInfo () {
-    //   supplierDetails({
-    //     id: this.itemId
-    //   }).then(res => {
-    //     if (res.status == 200) {
-    //       // this.form.setFieldsValue({ 'formData': res.data })
-    //       this.form.setFieldsValue({ 'formData.name': res.data.name })
-    //       this.form.setFieldsValue({ 'formData.contactName': res.data.contactName })
-    //       this.form.setFieldsValue({ 'formData.simpleName': res.data.simpleName })
-    //       this.form.setFieldsValue({ 'formData.contactPhone': res.data.contactPhone })
-    //       this.form.setFieldsValue({ 'formData.remarks': res.data.remarks })
-    //     }
-    //   })
-    // },
     // 点击保存;
     // 点击保存;
     handleSubmit (e) {
     handleSubmit (e) {
-      // e.preventDefault()
-      // const _this = this
-      // this.form.validateFields((err, values) => {
-      //   if (!err) {
-      //     const formData = Object.assign({}, this.itemData, this.formData, values.formData)
-      //     formData.id = _this.itemId
-      //     saveSupplier(formData).then(res => {
-      //       console.log(res, 'rrrrrrrrr')
-      //       if (res.status == 200) {
-      //         _this.$message.success(res.message)
-      //         _this.$emit('refresh')
-      //         setTimeout(function () {
-      //           _this.isShow = false
-      //         }, 300)
-      //       }
-      //     })
-      //   }
-      // })
+      e.preventDefault()
+      const _this = this
+      this.form.validateFields((err, values) => {
+        if (!err) {
+          const formData = Object.assign({}, { customerNo: this.customerNo }, this.formData, values.formData)
+          updateGold(formData).then(res => {
+            console.log(res, 'rrrrrrrrr')
+            if (res.status == 200) {
+              _this.$message.success(res.message)
+              // _this.$emit('refresh')
+			  _this.$router.push({ path: `/userInfo/userManageList/list` })
+              setTimeout(function () {
+                _this.isShow = false
+              }, 300)
+            }
+          })
+        }
+      })
     }
     }
   },
   },
   watch: {
   watch: {
@@ -146,13 +127,14 @@ export default {
       this.isShow = newValue
       this.isShow = newValue
     },
     },
     isShow (val) {
     isShow (val) {
+      console.log(this.customerNo)
       if (!val) {
       if (!val) {
         this.$emit('close')
         this.$emit('close')
       } else {
       } else {
    	  this.form.resetFields()
    	  this.form.resetFields()
       }
       }
     }
     }
-    // itemId (newValue, oldValue) {
+    // customerNo (newValue, oldValue) {
     //   console.log(newValue, '----------id')
     //   console.log(newValue, '----------id')
     //   if (newValue && this.isShow) {
     //   if (newValue && this.isShow) {
     //     this.titleText = '编辑'
     //     this.titleText = '编辑'
@@ -170,8 +152,13 @@ export default {
 		display: flex;
 		display: flex;
 		width: 100%;
 		width: 100%;
 	}
 	}
-	.ant-col .ant-col-12 .ant-form-item-control-wrapper{
-		width: 70%;
+	//  input-number 框宽度
+	.inpNumber{
+	  width: 100%;
+	}
+	.inpNumber-unit{  //  有单位的
+	  width: 88%;
+	  margin-right: 8px;
 	}
 	}
 
 
 </style>
 </style>

+ 1 - 0
src/views/userInfo/editUserPhoneModal.vue

@@ -78,6 +78,7 @@ export default {
     // },
     // },
     // 点击保存;
     // 点击保存;
     handleSubmit (e) {
     handleSubmit (e) {
+      this.$router.push({ path: `/userInfo/userManageList/list` })
       // e.preventDefault()
       // e.preventDefault()
       // const _this = this
       // const _this = this
       // this.form.validateFields((err, values) => {
       // this.form.validateFields((err, values) => {

+ 53 - 27
src/views/userInfo/userDetails.vue

@@ -3,11 +3,11 @@
     <a-row :gutter="48">
     <a-row :gutter="48">
       <a-col :span="24" class="item-cont">
       <a-col :span="24" class="item-cont">
         <p class="item-label">头像:</p>
         <p class="item-label">头像:</p>
-        <p class="item-main">2020-10-30 16:45</p>
+        <p class="item-main"><img src="../../assets/avatar2.jpg" alt="" class="img"></p>
       </a-col>
       </a-col>
       <a-col :span="24" class="item-cont">
       <a-col :span="24" class="item-cont">
         <p class="item-label">手机号码:</p>
         <p class="item-label">手机号码:</p>
-        <p class="item-main">No12387612387</p>
+        <p class="item-main">{{ page.mobile ? page.mobile : '--' }}</p>
         <a style="margin-left: 100px; color: #2D8CF0;" @click="editPhone">修改手机号码</a>
         <a style="margin-left: 100px; color: #2D8CF0;" @click="editPhone">修改手机号码</a>
       </a-col>
       </a-col>
       <a-col :span="24" class="item-cont">
       <a-col :span="24" class="item-cont">
@@ -16,32 +16,28 @@
       </a-col>
       </a-col>
       <a-col :span="24" class="item-cont">
       <a-col :span="24" class="item-cont">
         <p class="item-label">乐豆余额:</p>
         <p class="item-label">乐豆余额:</p>
-        <p class="item-main">1123乐豆</p>
-        <a style="margin-left: 145px; color: #2D8CF0;" @click="editLd">修改乐豆余额</a>
-      </a-col>
-      <a-col :span="24" class="item-cont">
-        <p class="item-label">用户手机:</p>
-        <p class="item-main">15757989887</p>
+        <p class="item-main">{{ page.currentGold ? page.currentGold : '--' }}</p>
+        <a style="margin-left: 145px; color: #2D8CF0;" @click="editLd(page)">修改乐豆余额</a>
       </a-col>
       </a-col>
       <a-col :span="24" class="item-cont">
       <a-col :span="24" class="item-cont">
         <p class="item-label">累计乐豆:</p>
         <p class="item-label">累计乐豆:</p>
-        <p class="item-main">11乐豆</p>
+        <p class="item-main">{{ page.totalCarbon ? page.totalCarbon :'--' }}</p>
       </a-col>
       </a-col>
       <a-col :span="24" class="item-cont">
       <a-col :span="24" class="item-cont">
         <p class="item-label">账户状态:</p>
         <p class="item-label">账户状态:</p>
-        <p class="item-main">启用</p>
+        <p class="item-main">{{ page.state ==0 ? '禁用' : '启用' }}</p>
       </a-col>
       </a-col>
       <a-col :span="24" class="item-cont">
       <a-col :span="24" class="item-cont">
         <p class="item-label">注册时间:</p>
         <p class="item-label">注册时间:</p>
-        <p class="item-main">2020-10-30 16:46</p>
+        <p class="item-main">{{ page.registerTime ? page.registerTime : '--' }}</p>
       </a-col>
       </a-col>
       <a-col :span="24" class="item-cont">
       <a-col :span="24" class="item-cont">
         <p class="item-label">最后登录时间:</p>
         <p class="item-label">最后登录时间:</p>
-        <p class="item-main">2020-10-30 16:46</p>
+        <p class="item-main">{{ page.lastLoginTime ? page.lastLoginTime : '--' }}</p>
       </a-col>
       </a-col>
       <a-col :span="24" class="item-cont">
       <a-col :span="24" class="item-cont">
         <p class="item-label">最后投递时间:</p>
         <p class="item-label">最后投递时间:</p>
-        <p class="item-main">2020-10-30 16:46</p>
+        <p class="item-main">{{ page.lastDeliveryTime ? page.lastDeliveryTime : '--' }}</p>
       </a-col>
       </a-col>
     </a-row>
     </a-row>
     <div class="page-header" style="margin-top: 50px; color: #2D8CF0; text-align: center;">
     <div class="page-header" style="margin-top: 50px; color: #2D8CF0; text-align: center;">
@@ -50,47 +46,77 @@
     <!-- 修改用户手机号码弹窗 -->
     <!-- 修改用户手机号码弹窗 -->
     <edit-user-phone-modal :userPhone="userPhone" :openUserPhoneMoadl="openUserPhoneMoadl" @close="openUserPhoneMoadl=false"></edit-user-phone-modal>
     <edit-user-phone-modal :userPhone="userPhone" :openUserPhoneMoadl="openUserPhoneMoadl" @close="openUserPhoneMoadl=false"></edit-user-phone-modal>
     <!-- 修改乐豆余额弹窗 -->
     <!-- 修改乐豆余额弹窗 -->
-    <edit-ldNum-modal :ldNum="ldNum" :openLdNumModal="openLdNumModal" @close="openLdNumModal=false"></edit-ldNum-modal>
+    <edit-ldNum-modal :customerNo="customerNo" :openLdNumModal="openLdNumModal" @close="openLdNumModal=false"></edit-ldNum-modal>
   </a-card>
   </a-card>
 </template>
 </template>
 
 
 <script>
 <script>
 import editUserPhoneModal from './editUserPhoneModal.vue'
 import editUserPhoneModal from './editUserPhoneModal.vue'
 import editLdNumModal from './editLdNumModal.vue'
 import editLdNumModal from './editLdNumModal.vue'
+import {
+  customerDetails
+} from '@/api/userInfo.js'
 export default {
 export default {
   name: 'UserDetails',
   name: 'UserDetails',
   components: {
   components: {
-    editUserPhoneModal, editLdNumModal
+    editUserPhoneModal,
+    editLdNumModal
   },
   },
   data () {
   data () {
     return {
     return {
       userPhone: '', // 用户手机号码
       userPhone: '', // 用户手机号码
       openUserPhoneMoadl: false, // 默认关闭手机号码弹窗
       openUserPhoneMoadl: false, // 默认关闭手机号码弹窗
-	  ldNum: '', // 乐豆余额
-	  openLdNumModal: false // 默认关闭乐豆余额弹窗
+      customerNo: '', // 用户编号
+      openLdNumModal: false, // 默认关闭乐豆余额弹窗
+      page: {} // 详情数据
     }
     }
   },
   },
   methods: {
   methods: {
-	  editPhone () {
-		  // this.userPhone = record.userPhone
-		  this.openUserPhoneMoadl = true
-		  console.log('-----------修改手机号码')
-	  },
-    editLd () {
-      // this.ldNum = record.ldNum
+    // 详情
+    editPhone () {
+      // this.userPhone = record.userPhone
+      this.openUserPhoneMoadl = true
+      console.log('-----------修改手机号码')
+    },
+    editLd (page) {
+      this.customerNo = this.page.customerNo
+      console.log(this.customerNo, '------用户编号')
       this.openLdNumModal = true
       this.openLdNumModal = true
       console.log('-----修改乐豆余额')
       console.log('-----修改乐豆余额')
     },
     },
     // 返回列表
     // 返回列表
     goBack () {
     goBack () {
-      this.$router.push({ path: `/userInfo/userManageList/list` })
+      this.$router.push({
+        path: `/userInfo/userManageList/list`
+      })
     }
     }
+  },
+  beforeRouteEnter (to, from, next) {
+    next(vm => {
+      console.log(111)
+      const params = vm.$route.params
+      console.log(params)
+      if (params.id) {
+        customerDetails({
+          id: params.id
+        }).then(res => {
+          console.log(res)
+          if (res.status == 200) {
+            vm.page = res.data
+          }
+        })
+      }
+    })
   }
   }
 }
 }
 </script>
 </script>
 <style lang="less">
 <style lang="less">
-	.item-cont{
+	.item-cont {
 		display: flex;
 		display: flex;
-		margin: 10px 10px 10px 50px ;
+		margin: 10px 10px 10px 50px;
+	}
+	.img{
+		width:50px;
+		border-radius:50% ;
 	}
 	}
 </style>
 </style>

+ 51 - 71
src/views/userInfo/userManageList.vue

@@ -5,7 +5,7 @@
         <a-row :gutter="48">
         <a-row :gutter="48">
           <a-col :span="6">
           <a-col :span="6">
             <a-form-item label="用户手机" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
             <a-form-item label="用户手机" :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol">
-              <a-input id="releaseRecordList-contactPhone" allowClear :maxLength="11" v-model="queryParam.contactPhone" placeholder="请输入用户手机" />
+              <a-input id="releaseRecordList-mobile" allowClear :maxLength="11" v-model="queryParam.mobile" placeholder="请输入用户手机" />
             </a-form-item>
             </a-form-item>
           </a-col>
           </a-col>
           <a-col :span="6">
           <a-col :span="6">
@@ -53,14 +53,6 @@
       :columns="columns"
       :columns="columns"
       :data="loadData"
       :data="loadData"
       bordered>
       bordered>
-      <!-- 订单状态 -->
-      <template slot="orderStatus" slot-scope="text, record">
-        <span>{{ record.orderStatus==1 ? '已启用' : '已禁用' }}</span>
-      </template>
-      <!-- 订单总额 -->
-      <template slot="orderPrice" slot-scope="text, record">
-        <span>{{ record.orderPrice || 0 }}乐豆</span>
-      </template>
       <!--启用禁用 -->
       <!--启用禁用 -->
       <span slot="state" slot-scope="text, record">
       <span slot="state" slot-scope="text, record">
         <a-switch
         <a-switch
@@ -82,10 +74,9 @@
 
 
 <script>
 <script>
 import { STable, VSelect } from '@/components'
 import { STable, VSelect } from '@/components'
-import getDate from '@/libs/getDate.js'
-import moment from 'moment'
+import { customerList, changeStatus, customeExport } from '@/api/userInfo.js'
 export default {
 export default {
-  name: 'ShopOrder',
+  name: 'UserManageList',
   components: { STable, VSelect },
   components: { STable, VSelect },
   data () {
   data () {
     return {
     return {
@@ -95,10 +86,7 @@ export default {
       },
       },
       // 查询参数
       // 查询参数
       queryParam: {
       queryParam: {
-        beginDate: null, // 开始时间
-        endDate: null, // 结束时间
-        contactPhone: '', //  用户手机
-        orderNo: '', //  订单编号
+        mobile: '', //  用户手机
         orderStatus: null, // 订单状态
         orderStatus: null, // 订单状态
         value1: '',
         value1: '',
         value2: ''
         value2: ''
@@ -107,14 +95,14 @@ export default {
       // 表头
       // 表头
       columns: [
       columns: [
         { title: '序号', dataIndex: 'no', width: 80, align: 'center' },
         { title: '序号', dataIndex: 'no', width: 80, align: 'center' },
-        { title: '用户手机', dataIndex: 'userMoblie', width: 200, align: 'center' },
-        { title: '乐豆余额', dataIndex: 'orderDate', width: 200, align: 'center' },
-        { title: '累计乐豆', dataIndex: 'orderNo', width: 200, align: 'center' },
-        { title: '注册时间', scopedSlots: { customRender: 'orderStatus' }, width: 200, align: 'center' },
-        { title: '最后登录时间', scopedSlots: { customRender: 'orderPrice' }, width: 200, align: 'center' },
-        { title: '最后投递时间', scopedSlots: { customRender: 'orderPrice' }, width: 200, align: 'center' },
+        { title: '用户手机', dataIndex: 'mobile', width: 100, align: 'center' },
+        { title: '乐豆余额', dataIndex: 'currentGold', width: 100, align: 'center' },
+        { title: '累计乐豆', dataIndex: 'totalCarbon', width: 100, align: 'center' },
+        { title: '注册时间', dataIndex: 'registerTime', width: 200, align: 'center' },
+        { title: '最后登录时间', dataIndex: 'lastLoginTime', width: 200, align: 'center' },
+        { title: '最后投递时间', dataIndex: 'lastDeliveryTime', width: 200, align: 'center' },
         { title: '状态', width: 100, dataIndex: 'state', align: 'center', scopedSlots: { customRender: 'state' } },
         { title: '状态', width: 100, dataIndex: 'state', align: 'center', scopedSlots: { customRender: 'state' } },
-        { title: '操作', scopedSlots: { customRender: 'action' }, width: 150, align: 'center' }
+        { title: '操作', scopedSlots: { customRender: 'action' }, width: 100, align: 'center' }
       ],
       ],
       // 加载数据方法 必须为 Promise 对象
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {
       loadData: parameter => {
@@ -131,7 +119,7 @@ export default {
         //       }
         //       }
 		  // return
 		  // return
         //     }
         //     }
-        // return getTenantsList(Object.assign(parameter, this.queryParam)).then(res => {
+        // return customerList(Object.assign(parameter, this.queryParam)).then(res => {
         //   if (res.status == 200) {
         //   if (res.status == 200) {
         //     const no = (res.data.pageNo - 1) * res.data.pageSize
         //     const no = (res.data.pageNo - 1) * res.data.pageSize
         //     for (let i = 0; i < res.data.list.length; i++) {
         //     for (let i = 0; i < res.data.list.length; i++) {
@@ -142,24 +130,18 @@ export default {
         //     return res.data
         //     return res.data
         //   }
         //   }
         // })
         // })
-        return new Promise((resolve) => {
-          const data = [
-            { no: 1, orderDate: '2020-10-30 09:14', userMoblie: '15709252525', orderNo: 'NO54456798', orderStatus: '1', orderPrice: '155' },
-            { no: 2, orderDate: '2020-10-30 09:14', userMoblie: '15709252525', orderNo: 'NO54456798', orderStatus: '0', orderPrice: '155' },
-            { no: 3, orderDate: '2020-10-30 09:14', userMoblie: '15709252525', orderNo: 'NO54456798', orderStatus: '1', orderPrice: '155' },
-            { no: 4, orderDate: '2020-10-30 09:14', userMoblie: '15709252525', orderNo: 'NO54456798', orderStatus: '1', orderPrice: '155' },
-            { no: 5, orderDate: '2020-10-30 09:14', userMoblie: '15709252525', orderNo: 'NO54456798', orderStatus: '0', orderPrice: '155' },
-            { no: 6, orderDate: '2020-10-30 09:14', userMoblie: '15709252525', orderNo: 'NO54456798', orderStatus: '0', orderPrice: '155' }
-          ]
-          resolve(data)
+        return customerList({ pageNo: '1', pageSize: '10' }).then(res => {
+		  if (res.status == 200) {
+		    const no = (res.data.pageNo - 1) * res.data.pageSize
+		    for (let i = 0; i < res.data.list.length; i++) {
+		      const _item = res.data.list[i]
+		      _item.no = no + i + 1
+		      _item.status = _item.status + '' === '1'
+		    }
+		    return res.data
+		  }
         })
         })
-      },
-      // 将默认当天时间日期回显在时间选择框中
-      time: [
-        moment(getDate.getToday().starttime, this.dateFormat),
-        moment(getDate.getToday().endtime, this.dateFormat)
-      ],
-      dateFormat: 'YYYY-MM-DD'
+      }
     }
     }
   },
   },
   beforeRouteEnter (to, from, next) {
   beforeRouteEnter (to, from, next) {
@@ -168,25 +150,33 @@ export default {
     })
     })
   },
   },
   methods: {
   methods: {
-    moment,
-    // 不可选日期
-    disabledDate (date, dateStrings) {
-      return date && date.valueOf() > Date.now()
-    },
-    // 创建时间change
-    onChange (dates, dateStrings) {
-      if ((dates, dateStrings)) {
-        this.queryParam.beginDate = dateStrings[0]
-        this.queryParam.endDate = dateStrings[1]
-      }
-    },
+	  // 查询条件change
+	  onChange () {},
     // 查看用户详情
     // 查看用户详情
     handleUser (row) {
     handleUser (row) {
       this.$router.push({ path: `/userInfo/userManageList_user/detail/${row.id}` })
       this.$router.push({ path: `/userInfo/userManageList_user/detail/${row.id}` })
     },
     },
     // 查看乐豆详情
     // 查看乐豆详情
     handleLd (row) {
     handleLd (row) {
-      this.$router.push({ path: `/userInfo/userManageList_Ld/detail/${row.id}` })
+      this.$router.push({ path: `/userInfo/userManageList_Ld/detail/${row.customerNo}` })
+    },
+    // 启用禁用
+    // 更改启用禁用状态
+    changeFlagHandle (text, record) {
+	  console.log(text)
+	  const _this = this
+	  const _data = {
+		  id: record.id,
+		  state: record.state == 1 ? '0' : '1'
+	  }
+	    changeStatus(_data).then(res => {
+		  if (res.status == 200) {
+	        _this.$message.success(res.message)
+	        _this.$refs.table.refresh()
+		  } else {
+	        record.state = !record.state
+		  }
+	    })
     },
     },
     // 重置
     // 重置
     handleReset () {
     handleReset () {
@@ -205,25 +195,15 @@ export default {
     // 导出
     // 导出
     handleExport () {
     handleExport () {
       const params = {
       const params = {
-        beginDate: this.queryParam.beginDate == null ? getDate.getToday().starttime : this.queryParam.beginDate,
-        endDate: this.queryParam.endDate == null ? getDate.getToday().endtime : this.queryParam.endDate,
         contactPhone: this.queryParam.contactPhone,
         contactPhone: this.queryParam.contactPhone,
         orderNo: this.queryParam.orderNo,
         orderNo: this.queryParam.orderNo,
         orderStatus: this.queryParam.orderStatus
         orderStatus: this.queryParam.orderStatus
       }
       }
-      if (!params.beginDate && !params.endDate) {
-        this.$message.error('请先选择需要导出的下单时间区间再进行导出!')
-        return
-      }
-      // 判断两个时间段是否相差m个月  第二个参数指相差单位,第三个参数指是否返回浮点形式(小数)
-      if (moment(params.endDate).diff(moment(params.beginDate), 'months', true) > 3) {
-        this.$message.error('单次最多只能导出3个月的数据,请缩小查询区间后再进行导出!')
-      }
-      // this.loading = true
-      // exportBundle(params).then(res => {
-      //   this.loading = false
-      //   this.download(res)
-      // })
+	  this.loading = true
+      customeExport(params).then(res => {
+        this.loading = false
+        this.download(res)
+      })
     },
     },
     download (data) {
     download (data) {
       if (!data) { return }
       if (!data) { return }
@@ -231,8 +211,8 @@ export default {
       const link = document.createElement('a')
       const link = document.createElement('a')
       link.style.display = 'none'
       link.style.display = 'none'
       link.href = url
       link.href = url
-      const a = moment().format('YYYYMMDDhhmmss')
-      const fname = '订单记录-' + a
+      // const a = moment().format('YYYYMMDDhhmmss')
+      const fname = '用户列表'
       link.setAttribute('download', fname + '.xlsx')
       link.setAttribute('download', fname + '.xlsx')
       document.body.appendChild(link)
       document.body.appendChild(link)
       link.click()
       link.click()