瀏覽代碼

对接经销商账号管理

chenrui 4 年之前
父節點
當前提交
34515a64a0

+ 58 - 1
src/api/dealer.js

@@ -60,4 +60,61 @@ export const updateCooperate = (params) => {
     data: params,
     method: 'post'
   })
-}
+}
+
+//  经销商账号  列表  有分页
+export const dealerUserList = (params) => {
+  const url = `/dealer/user/queryLike/${params.pageNo}/${params.pageSize}`
+  delete params.pageNo
+  delete params.pageSize
+  return axios({
+    url: url,
+    data: params,
+    method: 'post'
+  })
+}
+// 经销商账号  详情
+export const dealerUserDetail = (params) => {
+  return axios({
+    url: `/dealer/user/findById/${params.id}`,
+    method: 'get'
+  })
+}
+// 经销商账号  删除
+export const dealerUserDel = (params) => {
+  return axios({
+    url: `/dealer/user/delete/${params.id}`,
+    method: 'get'
+  })
+}
+// 经销商账号  启禁用
+export const dealerUserEnable = (params) => {
+  return axios({
+    url: `/dealer/user/enable/${params.id}/${params.flag}`,
+    method: 'get'
+  })
+}
+// 经销商账号  修改密码
+export const dealerUserChangeP = (params) => {
+  return axios({
+    url: `/dealer/user/changePWD`,
+    data: params,
+    method: 'post'
+  })
+}
+// 经销商账号  重置密码
+export const dealerUserResetP = (params) => {
+  return axios({
+    url: `/dealer/user/resetPwd`,
+    data: params,
+    method: 'post'
+  })
+}
+// 经销商账号  保存
+export const dealerUserSave = (params) => {
+  return axios({
+    url: `/dealer/user/save`,
+    data: params,
+    method: 'post'
+  })
+}

+ 2 - 2
src/views/common/custList.vue

@@ -3,7 +3,7 @@
     show-search
     label-in-value
     :value="dealerName"
-    placeholder="请输入客户名称搜索"
+    placeholder="请输入名称搜索"
     style="width: 100%"
     :filter-option="false"
     :not-found-content="fetching ? undefined : null"
@@ -39,7 +39,7 @@ export default {
       const fetchId = this.lastFetchId
       this.data = []
       this.fetching = true
-      dealerQueryList({ 'nameLike': dealerName, pageNo: 1, pageSize: 1000 }).then(res => {
+      dealerQueryList({ 'nameLike': dealerName, pageNo: 1, pageSize: 20 }).then(res => {
         if (fetchId !== this.lastFetchId) {
           return
         }

+ 38 - 39
src/views/dealerManagement/dealerAccountManagement/editModal.vue

@@ -18,39 +18,30 @@
         :label-col="formItemLayout.labelCol"
         :wrapper-col="formItemLayout.wrapperCol"
       >
-        <a-form-model-item label="经销商名称" prop="productBrandName">
-          <a-select
-            id="dealerAccountEdit-supplierSn"
-            placeholder="请选择经销商"
-            allowClear
-            v-model="form.supplierSn"
-            :showSearch="true"
-            option-filter-prop="children"
-            :filter-option="filterOption">
-            <a-select-option v-for="item in productBrandList" :key="item.supplierSn" :value="item.supplierSn">{{ item.supplierName }}</a-select-option>
-          </a-select>
+        <a-form-model-item label="经销商名称" prop="tenantSn">
+          <custList ref="custList" id="dealerAccountEdit-tenantSn" @change="custChange"></custList>
         </a-form-model-item>
-        <a-form-model-item label="管理员姓名" prop="productBrandName">
+        <a-form-model-item label="管理员姓名" prop="name">
           <a-input
-            id="dealerAccountEdit-productBrandName"
+            id="dealerAccountEdit-name"
             :maxLength="30"
-            v-model.trim="form.productBrandName"
+            v-model.trim="form.name"
             placeholder="请输入管理员姓名(最多30个字符)"
             allowClear />
         </a-form-model-item>
-        <a-form-model-item label="管理员手机" prop="contactTel">
+        <a-form-model-item label="管理员手机" prop="phone">
           <a-input
-            id="dealerAccountEdit-contactTel"
+            id="dealerAccountEdit-phone"
             :maxLength="11"
-            v-model.trim="form.contactTel"
+            v-model.trim="form.phone"
             placeholder="请输入管理员手机(最多11个字符)"
             allowClear />
         </a-form-model-item>
-        <a-form-model-item label="管理员账号" prop="account">
+        <a-form-model-item label="管理员账号" prop="loginName">
           <a-input
-            id="dealerAccountEdit-account"
+            id="dealerAccountEdit-loginName"
             :maxLength="50"
-            v-model.trim="form.account"
+            v-model.trim="form.loginName"
             placeholder="请输入管理员账号,字母/数字(最多50个字符)"
             allowClear />
         </a-form-model-item>
@@ -63,10 +54,10 @@
             placeholder="请输入管理员密码,字母/数字(最多50个字符)"
             allowClear />
         </a-form-model-item>
-        <a-form-model-item label="最大可开通用户数" prop="password" extra="(不含管理员账号)">
+        <a-form-model-item label="最大可开通用户数" prop="org.childUserMaxNum" extra="(不含管理员账号)">
           <a-input-number
-            id="dealerAccountEdit-password"
-            v-model="form.password"
+            id="dealerAccountEdit-childUserMaxNum"
+            v-model="form.org.childUserMaxNum"
             :precision="0"
             :min="1"
             :max="999999"
@@ -83,9 +74,11 @@
 </template>
 
 <script>
-// import { dealerProductBrandSave } from '@/api/dealerProductBrand'
+import custList from '@/views/common/custList.vue'
+import { dealerUserSave } from '@/api/dealer'
 export default {
   name: 'DealerAccountEditModal',
+  components: { custList },
   props: {
     openModal: { //  弹框显示状态
       type: Boolean,
@@ -108,22 +101,30 @@ export default {
         wrapperCol: { span: 18 }
       },
       form: {
-        productBrandName: '', // 产品品牌名称
-        contactTel: '',
-        desc: ''
+        tenantSn: '',
+        name: '',
+        phone: '',
+        loginName: '',
+        password: '',
+        org: {
+          childUserMaxNum: ''
+        }
       },
       rules: {
-        productBrandName: [
-          { required: true, message: '请输入产品品牌名称', trigger: 'blur' }
-        ],
-        contactTel: [{ required: true, message: '请输入联系电话', trigger: 'blur' }, { pattern: /^\d{11}$/, message: '请输入正确的手机号' }],
-        account: [{ required: true, message: '请输入管理员账号', trigger: 'blur' }, { pattern: /^[0-9a-zA-Z]+$/, message: '管理员账号由字母和数字组成' }],
-        password: [{ required: true, message: '请输入管理员密码', trigger: 'blur' }, { pattern: /^[0-9a-zA-Z]+$/, message: '管理员密码由字母和数字组成' }]
+        tenantSn: [{ required: true, message: '请选择经销商', trigger: 'change' }],
+        name: [{ required: true, message: '请输入管理员姓名', trigger: 'blur' }],
+        phone: [{ required: true, message: '请输入管理员手机', trigger: 'blur' }, { pattern: /^\d{11}$/, message: '请输入正确的手机号' }],
+        loginName: [{ required: true, message: '请输入管理员账号', trigger: 'blur' }, { pattern: /^[0-9a-zA-Z]+$/, message: '管理员账号由字母和数字组成' }],
+        password: [{ required: true, message: '请输入管理员密码', trigger: 'blur' }, { pattern: /^[0-9a-zA-Z]+$/, message: '管理员密码由字母和数字组成' }],
+        'org.childUserMaxNum': [{ required: true, message: '请输入最大可开通用户数', trigger: 'blur' }]
       },
       productBrandList: []
     }
   },
   methods: {
+    custChange (val) {
+      this.form.tenantSn = val.key
+    },
     //  保存
     handleSave () {
       const _this = this
@@ -131,7 +132,10 @@ export default {
         if (valid) {
           const formData = JSON.parse(JSON.stringify(_this.form))
           formData.id = _this.itemId ? _this.itemId : undefined
-          dealerProductBrandSave(formData).then(res => {
+          if (!_this.itemId) {
+            formData.loginFlag = 1
+          }
+          dealerUserSave(formData).then(res => {
             if (res.status == 200) {
               _this.$message.success(res.message)
               _this.$emit('ok')
@@ -142,11 +146,6 @@ export default {
           return false
         }
       })
-    },
-    filterOption (input, option) {
-      return (
-        option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
-      )
     }
   },
   watch: {

+ 6 - 5
src/views/dealerManagement/dealerAccountManagement/list.vue

@@ -16,7 +16,7 @@
           </a-col>
           <a-col :md="6" :sm="24">
             <a-form-item label="账号状态">
-              <v-select code="PRODUCT_STATUS" id="dealerAccountList-state" v-model="queryParam.state" allowClear placeholder="请选择账号状态"></v-select>
+              <v-select code="ENABLE_FLAG" id="dealerAccountList-state" v-model="queryParam.state" allowClear placeholder="请选择账号状态"></v-select>
             </a-form-item>
           </a-col>
           <a-col :md="6" :sm="24">
@@ -43,6 +43,7 @@
       <!-- 账号状态 -->
       <template slot="enableAction" slot-scope="text, record">
         <a-switch checkedChildren="启用" unCheckedChildren="禁用" v-model="record.enabledFlag" @change="changeFlagHandle(text, record)"/>
+        <!-- <span v-else>{{ record.loginFlag==1?'已启用':'已禁用' }}</span> -->
       </template>
       <!-- 操作 -->
       <template slot="action" slot-scope="text, record">
@@ -67,15 +68,15 @@
 import { STable, VSelect } from '@/components'
 import dealerAccountEditModal from './editModal.vue'
 import dealerAccountDetailModal from './detailModal.vue'
-import { getPowerUserList } from '@/api/power-mduser'
+import { dealerUserList } from '@/api/dealer'
 export default {
   components: { STable, VSelect, dealerAccountEditModal, dealerAccountDetailModal },
   data () {
     return {
       tableHeight: 0,
       queryParam: { //  查询条件
-        productBrandName: '', //  品牌名称
-        enabledFlag: undefined //  状态
+        // productBrandName: '', //  品牌名称
+        // enabledFlag: undefined //  状态
       },
       disabled: false, //  查询、重置按钮是否可操作
       columns: [
@@ -94,7 +95,7 @@ export default {
         if (this.tableHeight == 0) {
           this.tableHeight = window.innerHeight - 380
         }
-        return getPowerUserList(Object.assign(parameter, this.queryParam)).then(res => {
+        return dealerUserList(Object.assign(parameter, this.queryParam)).then(res => {
           const data = res.data
           const no = (data.pageNo - 1) * data.pageSize
           for (var i = 0; i < data.list.length; i++) {

+ 7 - 3
src/views/financialManagement/returnConfirmation/list.vue

@@ -17,7 +17,7 @@
           </a-col>
           <a-col :md="6" :sm="24">
             <a-form-item label="客户名称" :label-col="{ span:7 }" :wrapper-col="{ span:17}">
-              <custList id="returnConfirmationList-buyerName" v-model="queryParam.buyerName"></custList>
+              <custList ref="custList" id="returnConfirmationList-buyerSn" @change="custChange"></custList>
             </a-form-item>
           </a-col>
           <a-col :md="6" :sm="24">
@@ -103,7 +103,7 @@ export default {
     return {
       queryParam: { //  查询条件
         salesReturnBillNo: '', //  单号
-        buyerName: undefined,
+        buyerSn: undefined,
         grabFlag: undefined,
         billStatus: undefined //  状态
       },
@@ -158,13 +158,17 @@ export default {
     disabledDate (date, dateStrings) {
       return date && date.valueOf() > Date.now()
     },
+    custChange (val) {
+      this.queryParam.buyerSn = val.key
+    },
     //  重置
     resetSearchForm () {
       this.queryParam.salesReturnBillNo = ''
-      this.queryParam.buyerName = undefined
+      this.queryParam.buyerSn = undefined
       this.queryParam.grabFlag = undefined
       this.queryParam.billStatus = undefined
       this.createDate = []
+      this.$refs.custList.resetForm()
       this.$refs.table.refresh(true)
     },
     // 详情