浏览代码

Merge branch 'feature/销售政策列表' into dev_v2

chenqilong 2 年之前
父节点
当前提交
b01ac8c72f

+ 10 - 2
src/api/policy_list.js

@@ -1,4 +1,4 @@
-import request from '@/utils/request'
+import request, { postBlob, handleImport, getBlob } from '@/utils/request'
 
 // 政策-列表V2
 export function policyListV2(data) {
@@ -218,8 +218,16 @@ export function getPolicyDetail(params) {
   })
 }
 
-// 对应经销商
+// 政策-列表V2
+export function policyCustomerCountListV2(data) {
+  return request({
+    url: `/policy/customer_count/list?moduleId=${data.moduleId}`,
+    method: 'post',
+    data
+  })
+}
 
+// 对应经销商
 export function getCustomerlist(params) {
   return request({
     url: '/policy/customer_count/list',

+ 42 - 124
src/views/sales_policy/codealer_list.vue

@@ -1,133 +1,44 @@
 <template>
-  <div class="app-container" v-if="isShow">
-    <div class="screen-container">
-      <Collapse :screen-form="screenForm">
-        <template #right_btn>
-          <el-button size="mini" @click="resetScreenForm">清空</el-button>
-          <el-button type="primary" size="mini" @click="submitScreenForm">搜索</el-button>
-        </template>
-        <template #search>
-          <el-form
-            size="mini"
-            :model="screenForm"
-            ref="screenForm"
-            :inline="false"
-            label-position="left"
-            label-width="120px"
-          >
-            <el-row :gutter="20">
-              <el-col :xs="24" :sm="8" :lg="8">
-                <el-form-item prop="code" label="销售政策编号">
-                  <el-input size="mini" v-model="screenForm.code" placeholder="销售政策编号"></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="8" :lg="8">
-                <el-form-item prop="remark" label="销售政策说明">
-                  <el-input size="mini" v-model="screenForm.remark" placeholder="销售政策说明"></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :xs="24" :sm="8" :lg="8">
-                <el-form-item prop="title" label="表头备注">
-                  <el-input size="mini" v-model="screenForm.title" placeholder="表头备注"></el-input>
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form>
-        </template>
-      </Collapse>
-    </div>
-    <!--    <div class="btn-group">-->
-    <!--      <el-row type="flex">-->
-    <!--        <el-button type="primary" size="mini" @click="">导出</el-button>-->
-    <!--      </el-row>-->
-    <!--    </div>-->
-    <div class="mymain-container">
-      <div class="table">
-        <el-table :data="dataList" border>
-          <el-table-column prop="name" label="操作" width="120" align="center" class="table">
-            <template slot-scope="scope">
-              <el-button type="text" size="mini" @click=";(id = scope.row.id), (isShow = false)">详情</el-button>
-            </template>
-          </el-table-column>
-          <el-table-column prop="status" label="状态" width="120" align="left">
-            <template slot-scope="scope">
-              <el-tag type="success" size="mini" v-if="scope.row.status == 1">已生效</el-tag>
-              <el-tag type="danger" size="mini" v-else>未生效</el-tag>
-            </template>
-          </el-table-column>
-          <el-table-column show-overflow-tooltip min-width="200" prop="code" label="销售政策编号" align="left">
-          </el-table-column>
-          <el-table-column show-overflow-tooltip min-width="150" prop="title" label="销售政策说明" align="left">
-          </el-table-column>
-          <el-table-column show-overflow-tooltip min-width="150" prop="title" label="表头备注" align="left">
-          </el-table-column>
-          <el-table-column
-            show-overflow-tooltip
-            min-width="150"
-            prop="customerCount"
-            label="关联经销商"
-            width="150"
-            align="left"
-          >
-          </el-table-column>
-          <el-table-column show-overflow-tooltip min-width="200" prop="startTime" label="生效日期" align="left">
-          </el-table-column>
-          <el-table-column show-overflow-tooltip min-width="200" prop="endTime" label="结束日期" align="left">
-          </el-table-column>
-          <el-table-column show-overflow-tooltip min-width="200" prop="createBy" label="制表人" align="left">
-          </el-table-column>
-          <el-table-column show-overflow-tooltip min-width="200" prop="createTime" label="制表日期" align="left">
-          </el-table-column>
-        </el-table>
-      </div>
-      <!-- 分页 -->
-      <div class="fr">
-        <el-pagination
-          :current-page="currentPage"
-          :page-sizes="[10, 20, 30, 50, 500]"
-          :page-size="10"
-          layout="total, sizes, prev, pager, next, jumper"
-          :total="listTotal"
-          @size-change="handleSizeChange"
-          @current-change="handleCurrentChange"
-        />
-      </div>
-    </div>
-  </div>
-  <Distributor v-else :cid="id" />
-
-  <!-- <template-page
+  <template-page
     ref="pageRef"
     :getList="getList"
     :operation="operation()"
     :optionsEvensGroup="optionsEvensGroup"
-    :exportList="exportList"
     :columnParsing="columnParsing"
     :tableAttributes="tableAttributes"
     :tableEvents="tableEvents"
   >
-    
-  </template-page> -->
+    <Popu v-if="!isShow">
+      <el-page-header slot="head" :content="content" @back="handleClose" />
+      <Distributor :cid="id" />
+    </Popu>
+  </template-page>
 </template>
 
 <script>
 import TemplatePage from '@/components/template/template-page-1.vue'
 import Popu from '@/components/template/popu.vue'
 
-import { getCustomerlist } from '@/api/policy_list'
-import Minxin from '@/mixin'
+import { getCustomerlist, policyCustomerCountListV2 } from '@/api/policy_list'
+// import Minxin from '@/mixin'
 import Distributor from './components/Distributor'
 
 export default {
-  mixins: [Minxin],
+  mixins: [],
   data() {
     return {
+      content: '详情',
+      // 关闭新增弹窗
+      handleClose: () => {
+        this.isShow = true
+        this.$refs.pageRef.refreshList()
+      },
       // 事件组合
       optionsEvensGroup: [],
       // 表格属性
       tableAttributes: {
         // 启用勾选列
-        selectColumn: true
+        selectColumn: false
       },
       // 表格事件
       tableEvents: {
@@ -150,7 +61,7 @@ export default {
   },
   methods: {
     // 列表请求函数
-    // getList: levelList,
+    getList: policyCustomerCountListV2,
     // 列表导出函数
     // exportList: exportLevelList,
     // 表格列解析渲染数据更改
@@ -165,30 +76,37 @@ export default {
       return (h, { row, index, column }) => {
         return (
           <div class="operation-btns">
-            <el-button size="mini" type="text" onClick={async () => {}}>
+            <el-button
+              size="mini"
+              type="text"
+              onClick={async () => {
+                this.id = row.id
+                this.isShow = false
+              }}
+            >
               详情
             </el-button>
           </div>
         )
       }
-    },
-
-    getList() {
-      this.listLoading = true
-      const params = {
-        pageNum: this.currentPage,
-        pageSize: this.pageSize,
-        code: this.screenForm.code,
-        remark: this.screenForm.remark,
-        title: this.screenForm.title
-      }
-      getCustomerlist(params).then(res => {
-        console.log(res)
-        this.dataList = res.data.records
-        this.listTotal = res.data.total
-        this.listLoading = false
-      })
     }
+
+    // getList() {
+    //   this.listLoading = true
+    //   const params = {
+    //     pageNum: this.currentPage,
+    //     pageSize: this.pageSize,
+    //     code: this.screenForm.code,
+    //     remark: this.screenForm.remark,
+    //     title: this.screenForm.title
+    //   }
+    //   getCustomerlist(params).then(res => {
+    //     console.log(res)
+    //     this.dataList = res.data.records
+    //     this.listTotal = res.data.total
+    //     this.listLoading = false
+    //   })
+    // }
   },
   components: {
     TemplatePage,

+ 2 - 2
src/views/sales_policy/components/Distributor.vue

@@ -1,8 +1,8 @@
 <template>
   <el-container>
-    <el-header height="50px" class="header">
+    <!-- <el-header height="50px" class="header">
       <el-page-header @back="$parent.isShow = 1" :content="'详情页面'"> </el-page-header>
-    </el-header>
+    </el-header> -->
     <el-header height="" class="pdt">
       <el-form
         :model="details"

+ 14 - 6
src/views/sales_policy/policy_list.vue

@@ -45,7 +45,7 @@ import {
   policyListV2,
   policyListV2Export
 } from '@/api/policy_list'
-import Minxin from '@/mixin'
+// import Minxin from '@/mixin'
 import { downloadFiles, handleImport } from '@/utils/util'
 import AddPolicy from './components/AddPolicy'
 import EditPolicy from './components/editPolicy'
@@ -57,7 +57,7 @@ import Examine from './components/Examine'
 import { mapState } from 'vuex'
 
 export default {
-  mixins: [Minxin, add_callback_mixin],
+  mixins: [add_callback_mixin],
   data() {
     return {
       showPage: true,
@@ -249,8 +249,6 @@ export default {
               <el-popconfirm
                 onOnConfirm={async () => {
                   this.handleNullify(row)
-                  this.$refs.pageRef.refreshList()
-                  this.$message.success('作废成功')
                 }}
                 title="是否确定需要作废该项内容?"
               >
@@ -387,11 +385,21 @@ export default {
         })
       })
     },
+    hanleDeleteAllPromise(id) {
+      return new Promise((resolve, reject) => {
+        const ids = id ? [id] : this.ids
+        if (!ids.length) {
+          this.$errorMsg('请选择删除内容')
+          return
+        }
+        resolve(ids)
+      })
+    },
     // 作废
     handleNullify(row) {
       cancelPolicy({ id: row.id }).then(res => {
-        this.$successMsg('已作废')
-        this.getList()
+        this.$refs.pageRef.refreshList()
+        this.$message.success('作废成功')
       })
     },
     // 导出文档