Browse Source

feature(数据): 销售区域更改

ZZH-wl 2 years ago
parent
commit
b2cc7b7e8d

+ 3 - 11
src/api/base/distr/distr.js → src/api/base/distr.js

@@ -2,22 +2,14 @@ import micro_request from '@/utils/micro_request'
 
 const basePath = process.env.VUE_APP_ParentPath
 export default {
-  login(query) {
-    return micro_request.postRequest(basePath, 'Auth', 'Login', query)
-  },
-  logout(query) {
-    return micro_request.postRequest(basePath, 'Auth', 'LogOut', query)
+  // 获取省列表
+  getProvinceInfo(query) {
+    return micro_request.postRequest(basePath, 'District', 'GetProvinceList', query)
   },
   // 获取列表
   getList(query) {
     return micro_request.postRequest(basePath, 'Distributor', 'GetList', query)
   },
-  getTree(query) {
-    return micro_request.postRequest(basePath, 'District', 'GetRegionList', query)
-  },
-  getProvinceInfo(query) {
-    return micro_request.postRequest(basePath, 'District', 'GetProvinceList', query)
-  },
   //创建经销商
   doAdd(query) {
     return micro_request.postRequest(basePath, 'Distributor', 'Create', query)

+ 15 - 18
src/api/base/region/region.js → src/api/base/region.js

@@ -2,29 +2,26 @@ import micro_request from '@/utils/micro_request'
 
 const basePath = process.env.VUE_APP_ParentPath
 export default {
-  login(query) {
-    return micro_request.postRequest(basePath, 'Auth', 'Login', query)
-  },
-  logout(query) {
-    return micro_request.postRequest(basePath, 'Auth', 'LogOut', query)
-  },
   // 获取列表
-  getList(query) {
-    return micro_request.postRequest(basePath, 'Region', 'GetList', query)
+  getRegionList(query) {
+    return micro_request.postRequest(basePath, 'Region', 'GetRegionList', query)
   },
-  doAdd(query) {
-    return micro_request.postRequest(basePath, 'Region', 'Create', query) //创建区域
+  createRegion(query) {
+    return micro_request.postRequest(basePath, 'Region', 'CreateRegion', query) //创建销售区域
   },
-  doEdit(query) {
-    return micro_request.postRequest(basePath, 'Region', 'UpdateById', query)
+  createRegionDetail(query) {
+    return micro_request.postRequest(basePath, 'Region', 'CreateRegionDetail', query) //创建区域
   },
-  doDelete(query) {
-    return micro_request.postRequest(basePath, 'Region', 'DeleteByIds', query) // 删除
+  updateRegionDetail(query) {
+    return micro_request.postRequest(basePath, 'Region', 'UpdateRegionDetail', query)
   },
-  doCreate(query) {
-    return micro_request.postRequest(basePath, 'Region', 'CreateRegion', query) //创建销售区域
+  deleteRegionDetail(query) {
+    return micro_request.postRequest(basePath, 'Region', 'DeleteRegionDetail', query) // 删除
+  },
+  getRegionDetailList(query) {
+    return micro_request.postRequest(basePath, 'Region', 'GetRegionDetailList', query)
   },
-  getRegion(query) {
-    return micro_request.postRequest(basePath, 'Region', 'GetRegion', query)
+  getRegionTree(query) {
+    return micro_request.postRequest(basePath, 'Region', 'GetRegionTree', query)
   },
 }

+ 1 - 1
src/api/system/dept.js

@@ -16,6 +16,6 @@ export default {
     return micro_request.postRequest(basePath, 'Dept', 'UpdateById', query)
   },
   doDelete(query) {
-    return micro_request.postRequest(basePath, 'Dept', 'DeleteById', query)
+    return micro_request.postRequest(basePath, 'Dept', 'DeleteByIds', query)
   },
 }

+ 1 - 1
src/components/select/SelectDistributor.vue

@@ -62,7 +62,7 @@
 </template>
 
 <script>
-  import distributorApi from '@/api/base/distr/distr'
+  import distributorApi from '@/api/base/distr'
   import TableTool from '@/components/table/TableTool'
   import DistributorEdit from '@/views/base/distributor/components/DistrEdit'
 

+ 1 - 1
src/views/base/distributor/components/DistrEdit.vue

@@ -132,7 +132,7 @@
   </el-dialog>
 </template>
 <script>
-  import distrApi from '@/api/base/distr/distr'
+  import distrApi from '@/api/base/distr'
   import '@riophae/vue-treeselect/dist/vue-treeselect.css'
   import SelectUser from '@/components/select/SelectUser'
   export default {

+ 1 - 1
src/views/base/distributor/detail.vue

@@ -53,7 +53,7 @@
 
 <script>
   import { mapGetters } from 'vuex'
-  import api from '@/api/base/distr/distr'
+  import api from '@/api/base/distr'
   export default {
     name: 'Detail',
     components: {},

+ 9 - 7
src/views/base/distributor/index.vue

@@ -8,7 +8,7 @@
         <div class="tree-container">
           <el-tree
             ref="tree"
-            :data="deptOptions"
+            :data="regionOptions"
             default-expand
             :default-expand-all="false"
             :expand-on-click-node="true"
@@ -101,8 +101,10 @@
 </template>
 
 <script>
+  import distrApi from '@/api/base/distr'
+  import regionApi from '@/api/base/region'
+
   import Edit from './components/DistrEdit'
-  import distrApi from '@/api/base/distr/distr'
   import TableTool from '@/components/table/TableTool'
 
   export default {
@@ -165,7 +167,7 @@
           },
         ],
 
-        deptOptions: undefined,
+        regionOptions: undefined,
         defaultProps: {
           id: 'id',
           children: 'children',
@@ -184,12 +186,12 @@
     },
     created() {
       this.fetchData()
-      this.getTree()
+      this.getRegionTree()
     },
     methods: {
-      async getTree() {
-        const { data: data } = await distrApi.getTree({})
-        this.deptOptions = data.list
+      async getRegionTree() {
+        const { data: data } = await regionApi.getRegionTree({})
+        this.regionOptions = data.list
       },
       // 筛选节点
       filterNode(value, data) {

+ 38 - 22
src/views/base/region/components/RegEdit.vue → src/views/base/region/components/RegionDetailsEdit.vue

@@ -1,11 +1,10 @@
 <template>
   <el-dialog :title="title" :visible.sync="dialogFormVisible" width="500px" @close="close">
-    <el-form ref="form" label-width="80px" :model="form" :rules="regEdit">
-      <el-form-item label="区域描述" prop="regionDesc">
-        <el-input v-model.trim="form.regionDesc" />
-      </el-form-item>
-      <el-form-item label="负责人" prop="userName">
-        <el-input v-model.trim="form.userName" />
+    <el-form ref="form" label-width="80px" :model="form" :rules="rules">
+      <el-form-item label="省份选择" prop="distId">
+        <el-select ref="optionRef" v-model="form.distId" placeholder="请选择" @change="selectDistrict">
+          <el-option v-for="item in district" :key="item.id" :label="item.distName" :value="item.id" />
+        </el-select>
       </el-form-item>
       <el-form-item label="备注">
         <el-input v-model="form.remark" type="textarea" />
@@ -19,33 +18,49 @@
 </template>
 
 <script>
-  import regionApi from '@/api/base/region/region'
+  import distrApi from '@/api/base/distr'
+  import regionApi from '@/api/base/region'
 
   export default {
     name: 'Edit',
     data() {
       return {
+        title: '',
         form: {
-          regEdit: [],
+          regionId: undefined,
+          distId: undefined,
+          distName: undefined,
+          remark: undefined,
         },
-        regEdit: {
-          regionDesc: [{ required: true, trigger: 'blur', message: '请填写区域' }],
-          userName: [{ required: true, trigger: 'blur', message: '请填写区域负责人' }],
+        rules: {
+          distId: [{ required: true, trigger: 'blur', message: '请选择省份' }],
         },
-        title: '',
         dialogFormVisible: false,
+        regionId: undefined,
         //省份
         district: [],
-        //区域
-        options: [],
-        provinceCode: '',
-        // 区域
-        regionId: '',
-        vaule: '',
       }
     },
-    created() {},
+    created() {
+      //省份
+      this.getProvinceInfo()
+    },
     methods: {
+      setRegion(id) {
+        this.regionId = id
+        this.form.regionId = id
+      },
+      async getProvinceInfo() {
+        const { data: data } = await distrApi.getProvinceInfo({})
+        this.district = data.list
+      },
+      selectDistrict(id) {
+        let obj = this.district.find((item) => {
+          return item.id === id //筛选出匹配数据
+        })
+        this.form.distName = obj.distName
+      },
+
       showEdit(row) {
         if (!row) {
           this.title = '添加'
@@ -58,6 +73,7 @@
       close() {
         this.$refs['form'].resetFields()
         this.form = this.$options.data().form
+        this.form.regionId = this.regionId
         this.dialogFormVisible = false
       },
       save() {
@@ -65,11 +81,11 @@
           if (valid) {
             if (this.form.id) {
               console.log(this.form)
-              const { msg } = await regionApi.doCreate(this.form)
+              const { msg } = await regionApi.updateRegionDetail(this.form)
               this.$baseMessage(msg, 'success', 'vab-hey-message-success')
             } else {
-              console.log('from--->', this.form)
-              const { msg } = await regionApi.doCreate(this.form)
+              console.log('from', this.form)
+              const { msg } = await regionApi.createRegionDetail(this.form)
               this.$baseMessage(msg, 'success', 'vab-hey-message-success')
             }
             this.$emit('fetch-data')

+ 16 - 50
src/views/base/region/components/RegionEdit.vue

@@ -1,13 +1,11 @@
 <template>
   <el-dialog :title="title" :visible.sync="dialogFormVisible" width="500px" @close="close">
-    <el-form ref="form" label-width="80px" :model="form" :rules="regionEdit">
-      <el-form-item label="区域ID" style="display: none">
-        <el-input v-model="form.regionId" type="input" />
+    <el-form ref="form" label-width="80px" :model="form" :rules="regEdit">
+      <el-form-item label="区域描述" prop="regionDesc">
+        <el-input v-model.trim="form.regionDesc" />
       </el-form-item>
-      <el-form-item label="省份选择" prop="provinceCode">
-        <el-select ref="optionRef" v-model="form.provinceCode" placeholder="请选择" @change="selectDistrict">
-          <el-option v-for="item in district" :key="item.id" :label="item.distName" :value="item.id" />
-        </el-select>
+      <el-form-item label="负责人" prop="userName">
+        <el-input v-model.trim="form.userName" />
       </el-form-item>
       <el-form-item label="备注">
         <el-input v-model="form.remark" type="textarea" />
@@ -21,18 +19,18 @@
 </template>
 
 <script>
-  import distrApi from '@/api/base/distr/distr'
-  import regionApi from '@/api/base/region/region'
+  import regionApi from '@/api/base/region'
 
   export default {
     name: 'Edit',
     data() {
       return {
         form: {
-          regionEdit: [],
+          regEdit: [],
         },
-        regionEdit: {
-          provinceCode: [{ required: true, trigger: 'blur', message: '请选择省份' }],
+        regEdit: {
+          regionDesc: [{ required: true, trigger: 'blur', message: '请填写区域' }],
+          userName: [{ required: true, trigger: 'blur', message: '请填写区域负责人' }],
         },
         title: '',
         dialogFormVisible: false,
@@ -46,40 +44,8 @@
         vaule: '',
       }
     },
-    created() {
-      //区域
-      this.getRegion()
-      //省份
-      this.getProvinceInfo()
-      this.setRegion()
-    },
+    created() {},
     methods: {
-      setRegion(id) {
-        this.form.regionId = id
-      },
-      async getRegion() {
-        const { data: data } = await regionApi.getRegion({})
-        this.options = data.list
-      },
-      selectClass(id) {
-        let obj = {}
-        obj = this.options.find((item) => {
-          return item.id === id //筛选出匹配数据
-        })
-        this.regionId = obj.id
-      },
-      async getProvinceInfo() {
-        const { data: data } = await distrApi.getProvinceInfo({})
-        this.district = data.list
-      },
-      selectDistrict(id) {
-        let obj = {}
-        obj = this.district.find((item) => {
-          return item.id === id //筛选出匹配数据
-        })
-        this.provinceCode = obj.id
-      },
-
       showEdit(row) {
         if (!row) {
           this.title = '添加'
@@ -90,8 +56,8 @@
         this.dialogFormVisible = true
       },
       close() {
-        // this.$refs['form'].resetFields()
-        // this.form = this.$options.data().form
+        this.$refs['form'].resetFields()
+        this.form = this.$options.data().form
         this.dialogFormVisible = false
       },
       save() {
@@ -99,11 +65,11 @@
           if (valid) {
             if (this.form.id) {
               console.log(this.form)
-              const { msg } = await regionApi.doEdit(this.form)
+              const { msg } = await regionApi.createRegion(this.form)
               this.$baseMessage(msg, 'success', 'vab-hey-message-success')
             } else {
-              console.log('from', this.form)
-              const { msg } = await regionApi.doAdd(this.form)
+              console.log('from--->', this.form)
+              const { msg } = await regionApi.createRegion(this.form)
               this.$baseMessage(msg, 'success', 'vab-hey-message-success')
             }
             this.$emit('fetch-data')

+ 26 - 31
src/views/base/region/index.vue

@@ -54,14 +54,13 @@
         </vab-query-form-left-panel>
         <vab-query-form-right-panel>
           <table-tool :check-list.sync="checkList" :columns="columns" />
-          &nbsp;
-          <el-button icon="el-icon-download" style="float: right" />
         </vab-query-form-right-panel>
 
         <el-table
           v-loading="listLoading"
           border
           :data="list"
+          :height="$baseTableHeight(2)"
           style="width: 100%; height: 500px"
           @selection-change="setSelectRows">
           <el-table-column
@@ -97,20 +96,20 @@
           @size-change="handleSizeChange" />
       </div>
     </div>
-    <edit ref="edit" @fetch-data="fetchData" />
-    <reg-edit ref="reg-edit" @fetch-data="fetchData" />
+    <region-edit ref="region-edit" @fetch-data="getRegionList" />
+    <region-details-edit ref="details-edit" @fetch-data="fetchData" />
   </div>
 </template>
 
 <script>
-  import Edit from './components/RegionEdit'
-  import RegEdit from './components/RegEdit'
-  import regionApi from '@/api/base/region/region'
+  import regionApi from '@/api/base/region'
   import TableTool from '@/components/table/TableTool'
+  import RegionDetailsEdit from './components/RegionDetailsEdit.vue'
+  import RegionEdit from './components/RegionEdit'
 
   export default {
-    name: 'Distr',
-    components: { Edit, RegEdit, TableTool },
+    name: 'Region',
+    components: { RegionDetailsEdit, RegionEdit, TableTool },
     data() {
       return {
         current: '',
@@ -183,8 +182,8 @@
       },
     },
     created() {
-      this.fetchData()
-      this.getRegion()
+      // this.fetchData()
+      this.getRegionList()
       this.getOptions()
     },
     methods: {
@@ -204,18 +203,16 @@
           })
           .catch((err) => console.log(err))
       },
-      async getRegion() {
-        const { data: data } = await regionApi.getRegion({})
-        var first_id = data.list[0].id
-
+      async getRegionList() {
+        const { data: data } = await regionApi.getRegionList()
         this.deptOptions = data.list
-        this.queryForm.regionId = first_id //data.list[0].id
-        this.$refs['edit'].setRegion(first_id)
+
+        this.regionId = data.list[0].id
         //默认第一选中
         this.$nextTick(() => {
-          this.$refs.tree.setCurrentKey(first_id)
+          this.$refs.tree.setCurrentKey(this.regionId)
         })
-        this.fetchData()
+        await this.fetchData()
       },
       // 筛选节点
       filterNode(value, data) {
@@ -224,9 +221,7 @@
       },
       // 节点单击事件
       handleNodeClick(data) {
-        console.log('ID', data.id)
-        this.$refs['edit'].setRegion(data.id)
-        this.queryForm.regionId = data.id
+        this.regionId = data.id
         this.fetchData()
       },
 
@@ -234,29 +229,28 @@
         this.selectRows = val
       },
       getCheckedNodes() {
-        this.$refs['reg-edit'].showEdit()
+        this.$refs['region-edit'].showEdit()
       },
       handleEdit(row) {
+        this.$refs['details-edit'].setRegion(this.regionId)
         if (row.id) {
-          this.$refs['edit'].showEdit(row)
+          this.$refs['details-edit'].showEdit(row)
         } else {
-          this.$refs['edit'].showEdit()
+          this.$refs['details-edit'].showEdit()
         }
       },
       handleDelete(row) {
         if (row.id) {
-          console.log('deletedId', row.id)
           this.$baseConfirm('你确定要删除当前项吗', null, async () => {
-            const { msg } = await regionApi.doDelete({ ids: row.id })
+            const { msg } = await regionApi.deleteRegionDetail({ ids: [row.id] })
             this.$baseMessage(msg, 'success', 'vab-hey-message-success')
             await this.fetchData()
           })
         } else {
           if (this.selectRows.length > 0) {
             const ids = this.selectRows.map((item) => parseInt(item.id))
-            console.log(ids)
             this.$baseConfirm('你确定要删除选中项吗', null, async () => {
-              const { msg } = await regionApi.doDelete({ ids })
+              const { msg } = await regionApi.deleteRegionDetail({ ids })
               this.$baseMessage(msg, 'success', 'vab-hey-message-success')
               await this.fetchData()
             })
@@ -265,6 +259,7 @@
           }
         }
       },
+
       handleSizeChange(val) {
         this.queryForm.pageSize = val
         this.fetchData()
@@ -274,16 +269,16 @@
         this.fetchData()
       },
       queryData() {
-        console.log('ffff')
         this.queryForm.pageNum = 1
         this.fetchData()
       },
 
       async fetchData() {
+        this.queryForm.regionId = this.regionId
         this.listLoading = true
         const {
           data: { list, total },
-        } = await regionApi.getList(this.queryForm)
+        } = await regionApi.getRegionDetailList(this.queryForm)
         this.list = list
         this.total = total
         this.listLoading = false

+ 1 - 1
src/views/system/dict/components/DataEdit.vue

@@ -104,7 +104,7 @@
       showEdit(row) {
         if (!row.dictCode) {
           this.title = '添加'
-          this.form = Object.assign({}, row)
+          this.form = Object.assign(this.form, row)
         } else {
           this.title = '编辑'
           this.form = Object.assign({}, row)

+ 1 - 1
src/views/system/user/index.vue

@@ -33,7 +33,7 @@
           <vab-query-form-right-panel :span="12">
             <el-form :inline="true" :model="queryForm" @submit.native.prevent>
               <el-form-item>
-                <el-input v-model.trim="queryForm.userName" clearable placeholder="请输入用户名" />
+                <el-input v-model.trim="queryForm.keyWords" clearable placeholder="请输入用户名" />
               </el-form-item>
               <el-form-item>
                 <el-button icon="el-icon-search" type="primary" @click="queryData">查询</el-button>