yumeng 1 éve
szülő
commit
a43cf6d4b2

+ 18 - 2
src/api/supplyChain/supplyChain.js

@@ -92,8 +92,7 @@ export function getItemServiceCharge(query) {
   })
 }
 
-//供应链列表-招商管理(人员列表)
-
+//供应链列表-渠道&社群(人员列表)
 export function getSupplyChainUserList(query) {
   return request({
     url: '/isv/supply_chain/getSupplyChainUserList',
@@ -102,6 +101,15 @@ export function getSupplyChainUserList(query) {
   })
 }
 
+//供应链列表-招商
+export function getSupplyChainCourtshipList(query) {
+  return request({
+    url: '/isv/supply_chain/getSupplyChainCourtshipUserList',
+    method: 'get',
+    params: query
+  })
+}
+
 //供应链列表-招商管理页面
 export function getAdminReportList(query) {
   return request({
@@ -186,6 +194,14 @@ export function getBdReportList(query) {
     params: query
   })
 }
+
+export function submitPromotersCount(query) {
+  return request({
+    url: '/kuaishou/promoter/addPromotersCount',
+    method: 'get',
+    params: query
+  })
+}
 //查询渠道详情
 export function getBdDetailList(query) {
   return request({

+ 2 - 1
src/utils/request.js

@@ -17,9 +17,10 @@ const service = axios.create({
   // axios中请求配置有baseURL选项,表示请求URL公共部分
   // http://ruixuan.api.tjyourong.com.cn 线上
   // http://192.168.0.195:9003 测试
-  // http://192.168.1.143:9003 西
+  // http://192.168.1.143:9003 西
   // http://192.168.0.228:9003 蒙蒙
   baseURL: 'http://ruixuan.api.tjyourong.com.cn',
+ //   baseURL: 'http://127.0.0.1:9003',
   // 超时
   timeout: 300000
 })

+ 8 - 3
src/views/goodsManagement/samplingList.vue

@@ -53,7 +53,7 @@
           style="width: 240px"
         >
           <el-option
-            v-for="item in queryParamsList.personList"
+            v-for="item in queryParamsList.courtshipList"
             :key="item.userId"
             :label="item.nickMame"
             :value="item.userId"
@@ -414,7 +414,7 @@
             <template slot-scope="scope">
               <div v-if="!!scope.row.collectSampleName">
                 {{ scope.row.collectSampleName }}
-                <a
+                <!--<a
                   v-if="
                     $store.getters.roles[0] == 'admin' ||
                     $store.getters.roles[0] == 'associationManager' ||
@@ -423,7 +423,7 @@
                   style="text-align: center"
                   @click="getUserList(scope.row)"
                 >领样换绑</a
-                >
+                >-->
                 <a
                   v-if="scope.row.sampleVoucherStatus == 2"
                   style="text-align: center"
@@ -1170,6 +1170,7 @@
     getUserList,
   } from "@/api/goodsManagement/goods";
   import {getSupplyChainUserList} from "@/api/supplyChain/supplyChain";
+  import {getSupplyChainCourtshipList} from "@/api/supplyChain/supplyChain";
   import selectTree from "./selectTree.vue";
 
   export default {
@@ -1270,6 +1271,7 @@
             {value: "7", label: "审核通过"},
           ],
           personList: [],
+          courtshipList: [],
         },
 
         collectSampleDescList: {
@@ -1530,6 +1532,9 @@
         getSupplyChainUserList().then((response) => {
           this.queryParamsList.personList = response.rows;
         });
+        getSupplyChainCourtshipList().then((response) => {
+          this.queryParamsList.courtshipList = response.rows;
+        });
       },
       handleSelectionChange(selection) {
         this.okIds = selection.map((item) => item.id);

+ 45 - 0
src/views/promoter/promoterSeas.vue

@@ -8,6 +8,42 @@
       v-show="showSearch"
       label-width="100px"
     >
+
+      <el-form-item label="绑定人"  prop="bdUserId">
+        <el-select
+          filterable
+          v-model="queryParams.bdUserId"
+          placeholder="人员名称"
+          clearable
+          style="width: 240px"
+        >
+          <el-option
+            v-for="item in queryParamsList.personList"
+            :key="item.userId"
+            :label="item.nickMame"
+            :value="item.userId"
+          >
+            <div style="display: flex">
+              <span
+                style="
+                  width: 10px;
+                  height: 10px;
+                  border-radius: 50%;
+                  background-color: green;
+                  position: relative;
+                  top: 12px;
+                  margin-right: 5px;
+                "
+                :style="
+                  item.status == '0' ? 'backgroundColor:green' : 'backgroundColor:red'
+                "
+              >{{ item.value }}</span
+              ><span>{{ item.nickMame }}</span>
+            </div>
+          </el-option>
+        </el-select>
+      </el-form-item>
+
       <el-form-item label="达人ID" prop="promoterId">
         <el-input
           placeholder="请输入达人ID"
@@ -362,6 +398,7 @@
 
 <script>
 import { refreshCache } from "@/api/system/dict/type";
+import {getSupplyChainUserList} from "@/api/supplyChain/supplyChain";
 import {
   getPromoterList2,
   addPromoter,
@@ -372,6 +409,7 @@ import {
 export default {
   name: "account-list",
   components: {},
+
   data() {
     let validatePhone = (rule, value, callback) => {
       /*console.log(rule);
@@ -480,14 +518,21 @@ export default {
       userId: null,
       prop: "",
       sort: "DESC",
+      personList: [],
     };
   },
   created() {
     this.userId = this.$store.getters.userId;
     this.getList();
+    this.getPersonList();
   },
   filters: {},
   methods: {
+    getPersonList() {
+      getSupplyChainUserList().then((response) => {
+        this.queryParamsList.personList = response.rows;
+      });
+    },
     toIndexDetail(item) {
       this.$router.replace({
         path: "/promoter/detail",

+ 268 - 191
src/views/supplyChain/channelList.vue

@@ -1,8 +1,8 @@
 <style scoped lang="scss">
-::v-deep a {
-  color: #409eff;
-  display: block;
-}
+  ::v-deep a {
+    color: #409eff;
+    display: block;
+  }
 </style>
 <template>
   <div class="app-container">
@@ -42,7 +42,7 @@
                 :style="
                   item.status == '0' ? 'backgroundColor:green' : 'backgroundColor:red'
                 "
-                >{{ item.value }}</span
+              >{{ item.value }}</span
               ><span>{{ item.nickMame }}</span>
             </div>
           </el-option>
@@ -63,7 +63,8 @@
 
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"
-          >搜索</el-button
+        >搜索
+        </el-button
         >
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
         <el-button
@@ -72,7 +73,8 @@
           size="mini"
           @click="handleExport"
           style="margin-bottom: 15px"
-          >导出</el-button
+        >导出
+        </el-button
         >
       </el-form-item>
     </el-form>
@@ -98,6 +100,19 @@
         width="100px"
       />
       <el-table-column
+        label="可绑达人数"
+        align="center"
+        prop="promotersCount"
+        width="100px"
+      >
+        <template slot-scope="scope">
+          {{ scope.row.promotersCount }}
+          <el-button size="mini" type="text" @click="editCount(scope.row)">编辑</el-button>
+        </template>
+      </el-table-column>
+
+
+      <el-table-column
         label="(总)领样达人数"
         align="center"
         prop="sampleCount"
@@ -178,9 +193,9 @@
       >
         <template slot-scope="scope">
           {{
-            scope.row.voucherOrderAmount
-              ? allMoney(scope.row.voucherOrderAmount / 100)
-              : "-"
+          scope.row.voucherOrderAmount
+          ? allMoney(scope.row.voucherOrderAmount / 100)
+          : "-"
           }}
         </template>
       </el-table-column>
@@ -192,9 +207,9 @@
       >
         <template slot-scope="scope">
           {{
-            scope.row.regimentalPromotionAmount
-              ? allMoney(scope.row.regimentalPromotionAmount / 100)
-              : "-"
+          scope.row.regimentalPromotionAmount
+          ? allMoney(scope.row.regimentalPromotionAmount / 100)
+          : "-"
           }}
         </template>
       </el-table-column>
@@ -206,9 +221,9 @@
       >
         <template slot-scope="scope">
           {{
-            scope.row.voucherRegimentalPromotionAmount
-              ? allMoney(scope.row.voucherRegimentalPromotionAmount / 100)
-              : "-"
+          scope.row.voucherRegimentalPromotionAmount
+          ? allMoney(scope.row.voucherRegimentalPromotionAmount / 100)
+          : "-"
           }}
         </template>
       </el-table-column>
@@ -220,9 +235,9 @@
       >
         <template slot-scope="scope">
           {{
-            scope.row.totalRegimentalSettleAmount
-              ? allMoney(scope.row.totalRegimentalSettleAmount / 100)
-              : "-"
+          scope.row.totalRegimentalSettleAmount
+          ? allMoney(scope.row.totalRegimentalSettleAmount / 100)
+          : "-"
           }}
         </template>
       </el-table-column>
@@ -234,9 +249,9 @@
       >
         <template slot-scope="scope">
           {{
-            scope.row.voucherTotalRegimentalSettleAmount
-              ? allMoney(scope.row.voucherTotalRegimentalSettleAmount / 100)
-              : "-"
+          scope.row.voucherTotalRegimentalSettleAmount
+          ? allMoney(scope.row.voucherTotalRegimentalSettleAmount / 100)
+          : "-"
           }}
         </template>
       </el-table-column>
@@ -249,173 +264,111 @@
       :limit.sync="queryParams.pageSize"
       @pagination="getList"
     />
+
+
+    <el-dialog
+      title="编辑数量"
+      :visible.sync="editCountVisible"
+      width="500px"
+      :close-on-click-modal="false"
+    >
+      <el-input placeholder="请输入数量" style="width: 100%" v-model="promotersCount">
+      </el-input>
+
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitPromotersCount" :loading="promotersCountLoading"
+        >确 定
+        </el-button>
+        <el-button
+          @click="
+            promotersCountLoading = false;
+            editCountVisible = false;
+            promotersCount = null;
+            submitUserId = null;
+          "
+        >取 消
+        </el-button>
+      </div>
+    </el-dialog>
+
   </div>
 </template>
 
 <script>
-import {
-  getSupplyChainUserList,
-  getBdReportList,
-  downFilePost,
-} from "@/api/supplyChain/supplyChain";
-export default {
-  name: "Investment",
-  dicts: ["sys_normal_disable"],
-  data() {
-    return {
-      downLoadLoading: false,
-      dialogTableVisible: false,
-      logPage: {
-        pageNum: 1,
-        pageSize: 10,
-      },
-      logData: [],
-      logTotal: 0,
-      logLoading: false,
-      // 遮罩层
-      loading: true,
-      // 选中数组
-      ids: [],
-      // 非单个禁用
-      single: true,
-      // 非多个禁用
-      multiple: true,
-      // 显示搜索条件
-      showSearch: true,
-      // 总条数
-      total: 0,
-      // 字典表格数据
-      typeList: [],
-      // 弹出层标题
-      title: "",
-      // 是否显示弹出层
-      open: false,
-      // 分配销售
-      openAllocation: false,
-      // 选择的销售id
-      saleId: undefined,
-      // 获取用户id
-      userId: undefined,
-      roleId:undefined,
-      // 销售列表
-      saleList: [],
-      // 分配销售确定loading
-      confirmLoadingSale: false,
-      // 日期范围
-      dateRange: [],
-      // 查询参数
-      queryParams: {
-        pageNum: 1,
-        pageSize: 10,
-        collectSampleId: undefined,
-        orderStartDate: undefined,
-        orderEndDate: undefined,
-      },
-      uploadDate: [new Date(), new Date()],
-      //查询参数所用下拉数据
-      queryParamsList: {
-        personList: [],
-      },
-    };
-  },
-  created() {
-    this.userId = this.$store.getters.userId;
-    this.roleId = this.$store.getters.roles[0];
-    let date = new Date();
-    let y = date.getFullYear();
-    let MM = date.getMonth() + 1;
-    MM = MM < 10 ? "0" + MM : MM;
-    let dd = date.getDate();
-    dd = dd < 10 ? "0" + dd : dd;
-    this.uploadDate = [`${y}-${MM}-${dd}`, `${y}-${MM}-${dd}`];
-  },
-  mounted() {
-    this.$nextTick(() => {
-      this.getPersonList();
-      this.getList();
-    });
-  },
-  methods: {
-    /** 导出按钮操作 */
-    handleExport() {
-      this.downLoadLoading = true;
-      downFilePost(
-        "/isv/supply_chain/exportBdReportList",
-        this.addDateRange(
-          this.queryParams,
-          this.uploadDate,
-          "orderStartDate",
-          "orderEndDate"
-        )
-      ).then((res) => {
-        let blob = new Blob([res], {
-          type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
-        });
-        let downloadElement = document.createElement("a");
-        let href = window.URL.createObjectURL(blob); //创建下载的链接
-        downloadElement.href = href;
-        downloadElement.download = `渠道管理.xlsx`; //下载后文件名
-        document.body.appendChild(downloadElement);
-        downloadElement.click(); //点击下载
-        document.body.removeChild(downloadElement); //下载完成移除元素
-        window.URL.revokeObjectURL(href); //释放掉blob对象
-        this.downLoadLoading = false;
-      });
-    },
-    toIndexDetail(item) {
-      this.$router.replace({
-        path: "/supplyChain/channelDetails",
-        query: {
-          id: item.collectSampleId,
-          orderStartDate: this.uploadDate[0],
-          orderEndDate: this.uploadDate[1],
+  import {
+    getSupplyChainUserList,
+    getBdReportList,
+    downFilePost,
+    submitPromotersCount,
+  } from "@/api/supplyChain/supplyChain";
+
+  export default {
+    name: "Investment",
+    dicts: ["sys_normal_disable"],
+    data() {
+      return {
+        submitUserId:null,
+        promotersCountLoading: false,
+        promotersCount: null,
+        editCountVisible: false,
+        downLoadLoading: false,
+        dialogTableVisible: false,
+        logPage: {
+          pageNum: 1,
+          pageSize: 10,
         },
-      });
-    },
-    getPersonList() {
-      getSupplyChainUserList().then((response) => {
-        this.queryParamsList.personList = response.rows;
-      });
-    },
-    /** 查询字典类型列表 */
-    getList() {
-      this.loading = true;
-     if(this.roleId == 'bd' ){
-       this.queryParams.collectSampleId = this.userId
-      }
-      getBdReportList(
-        this.addDateRange(
-          this.queryParams,
-          this.uploadDate,
-          "orderStartDate",
-          "orderEndDate"
-        )
-      ).then((response) => {
-        this.typeList = response.rows;
-        this.total = response.total;
-        this.loading = false;
-      });
-    },
-    // 取消按钮
-    cancel() {
-      this.open = false;
-      this.confirmLoading = false;
-      this.reset();
-    },
-    // 表单重置
-    reset() {
-      this.form = {};
-      this.dateFile = null;
-      this.resetForm("form");
-    },
-    /** 搜索按钮操作 */
-    handleQuery() {
-      this.queryParams.pageNum = 1;
-      this.getList();
+        logData: [],
+        logTotal: 0,
+        logLoading: false,
+        // 遮罩层
+        loading: true,
+        // 选中数组
+        ids: [],
+        // 非单个禁用
+        single: true,
+        // 非多个禁用
+        multiple: true,
+        // 显示搜索条件
+        showSearch: true,
+        // 总条数
+        total: 0,
+        // 字典表格数据
+        typeList: [],
+        // 弹出层标题
+        title: "",
+        // 是否显示弹出层
+        open: false,
+        // 分配销售
+        openAllocation: false,
+        // 选择的销售id
+        saleId: undefined,
+        // 获取用户id
+        userId: undefined,
+        roleId: undefined,
+        // 销售列表
+        saleList: [],
+        // 分配销售确定loading
+        confirmLoadingSale: false,
+        // 日期范围
+        dateRange: [],
+        // 查询参数
+        queryParams: {
+          pageNum: 1,
+          pageSize: 10,
+          collectSampleId: undefined,
+          orderStartDate: undefined,
+          orderEndDate: undefined,
+        },
+        uploadDate: [new Date(), new Date()],
+        //查询参数所用下拉数据
+        queryParamsList: {
+          personList: [],
+        },
+      };
     },
-    /** 重置按钮操作 */
-    resetQuery() {
-      this.dateRange = [];
+    created() {
+      this.userId = this.$store.getters.userId;
+      this.roleId = this.$store.getters.roles[0];
       let date = new Date();
       let y = date.getFullYear();
       let MM = date.getMonth() + 1;
@@ -423,14 +376,138 @@ export default {
       let dd = date.getDate();
       dd = dd < 10 ? "0" + dd : dd;
       this.uploadDate = [`${y}-${MM}-${dd}`, `${y}-${MM}-${dd}`];
-      this.resetForm("queryForm");
-      this.queryParams.pageNum = 1;
-      this.handleQuery();
     },
-    // 多选框选中数据
-    handleSelectionChange(selection) {
-      this.ids = selection.map((item) => item.id);
+    mounted() {
+      this.$nextTick(() => {
+        this.getPersonList();
+        this.getList();
+      });
+    },
+    methods: {
+
+      submitPromotersCount() {
+        if (!!this.promotersCount) {
+          this.promotersCountLoading = true;
+          submitPromotersCount({
+            userId : this.submitUserId,
+            promotersCount:this.promotersCount
+          })
+            .then((res) => {
+              this.promotersCountLoading = false;
+              this.editCountVisible = false;
+              this.submitUserId = null;
+              this.promotersCount = null;
+              this.getList();
+              this.$message.success("添加成功");
+            })
+            .catch(() => {
+              this.promotersCountLoading = false;
+            });
+        } else {
+          this.$message.error("请填写数量");
+        }
+      },
+
+      editCount(item) {
+        this.editCountVisible = true;
+        this.submitUserId = item.collectSampleId;
+      },
+
+      /** 导出按钮操作 */
+      handleExport() {
+        this.downLoadLoading = true;
+        downFilePost(
+          "/isv/supply_chain/exportBdReportList",
+          this.addDateRange(
+            this.queryParams,
+            this.uploadDate,
+            "orderStartDate",
+            "orderEndDate"
+          )
+        ).then((res) => {
+          let blob = new Blob([res], {
+            type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
+          });
+          let downloadElement = document.createElement("a");
+          let href = window.URL.createObjectURL(blob); //创建下载的链接
+          downloadElement.href = href;
+          downloadElement.download = `渠道管理.xlsx`; //下载后文件名
+          document.body.appendChild(downloadElement);
+          downloadElement.click(); //点击下载
+          document.body.removeChild(downloadElement); //下载完成移除元素
+          window.URL.revokeObjectURL(href); //释放掉blob对象
+          this.downLoadLoading = false;
+        });
+      },
+      toIndexDetail(item) {
+        this.$router.replace({
+          path: "/supplyChain/channelDetails",
+          query: {
+            id: item.collectSampleId,
+            orderStartDate: this.uploadDate[0],
+            orderEndDate: this.uploadDate[1],
+          },
+        });
+      },
+      getPersonList() {
+        getSupplyChainUserList().then((response) => {
+          this.queryParamsList.personList = response.rows;
+        });
+      },
+      /** 查询字典类型列表 */
+      getList() {
+        this.loading = true;
+        if (this.roleId == 'bd') {
+          this.queryParams.collectSampleId = this.userId
+        }
+        getBdReportList(
+          this.addDateRange(
+            this.queryParams,
+            this.uploadDate,
+            "orderStartDate",
+            "orderEndDate"
+          )
+        ).then((response) => {
+          this.typeList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        });
+      },
+      // 取消按钮
+      cancel() {
+        this.open = false;
+        this.confirmLoading = false;
+        this.reset();
+      },
+      // 表单重置
+      reset() {
+        this.form = {};
+        this.dateFile = null;
+        this.resetForm("form");
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.queryParams.pageNum = 1;
+        this.getList();
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.dateRange = [];
+        let date = new Date();
+        let y = date.getFullYear();
+        let MM = date.getMonth() + 1;
+        MM = MM < 10 ? "0" + MM : MM;
+        let dd = date.getDate();
+        dd = dd < 10 ? "0" + dd : dd;
+        this.uploadDate = [`${y}-${MM}-${dd}`, `${y}-${MM}-${dd}`];
+        this.resetForm("queryForm");
+        this.queryParams.pageNum = 1;
+        this.handleQuery();
+      },
+      // 多选框选中数据
+      handleSelectionChange(selection) {
+        this.ids = selection.map((item) => item.id);
+      },
     },
-  },
-};
+  };
 </script>

+ 2 - 1
src/views/supplyChain/claim.vue

@@ -317,6 +317,7 @@ import {
   getUnbindUser,
   getBindUser,
   getSupplyChainUserList,
+  getSupplyChainCourtshipList,
   getItemBindSummary,
 } from "@/api/supplyChain/supplyChain";
 export default {
@@ -508,7 +509,7 @@ export default {
       }
     },
     getPersonList() {
-      getSupplyChainUserList().then((response) => {
+      getSupplyChainCourtshipList().then((response) => {
         this.queryParamsList.personList = response.rows;
       });
     },

+ 38 - 3
src/views/supplyChain/investment.vue

@@ -48,7 +48,7 @@
           </el-option>
         </el-select>
       </el-form-item>
-      <el-form-item label="选择日期">
+      <el-form-item label="出单日期">
         <el-date-picker
           v-model="uploadDate"
           style="width: 240px"
@@ -58,6 +58,22 @@
           range-separator="-"
           start-placeholder="开始日期"
           end-placeholder="结束日期"
+          @change="cleanBindDate()"
+        ></el-date-picker>
+      </el-form-item>
+
+
+      <el-form-item label="绑定日期">
+        <el-date-picker
+          v-model="bindDate"
+          style="width: 240px"
+          value-format="yyyy-MM-dd"
+          format="yyyy-MM-dd"
+          type="daterange"
+          range-separator="-"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期"
+          @change="cleanUploadDate()"
         ></el-date-picker>
       </el-form-item>
 
@@ -168,6 +184,7 @@ import {
 } from "@/api/system/dict/type";
 import {
   getSupplyChainUserList,
+  getSupplyChainCourtshipList,
   getAdminReportList,
   downFilePost,
 } from "@/api/supplyChain/supplyChain";
@@ -224,6 +241,7 @@ export default {
         orderEndDate: undefined,
       },
       uploadDate: [new Date(), new Date()],
+      bindDate: [],
       //查询参数所用下拉数据
       queryParamsList: {
         personList: [],
@@ -247,16 +265,27 @@ export default {
     });
   },
   methods: {
+    cleanBindDate(){
+      this.bindDate = [];
+    },
+
+    cleanUploadDate(){
+      this.uploadDate = [];
+    },
     /** 导出按钮操作 */
     handleExport() {
       this.downLoadLoading = true;
+      if(!!this.bindDate){
+        this.queryParams.bindStartDate = this.bindDate[0],
+          this.queryParams.bindEndDate = this.bindDate[1]
+      }
       downFilePost(
         "/isv/supply_chain/exportAdminReportList",
         this.addDateRange(
           this.queryParams,
           this.uploadDate,
           "orderStartDate",
-          "orderEndDate"
+          "orderEndDate",
         )
       ).then((res) => {
         let blob = new Blob([res], {
@@ -295,13 +324,18 @@ export default {
       });
     },
     getPersonList() {
-      getSupplyChainUserList().then((response) => {
+      getSupplyChainCourtshipList().then((response) => {
         this.queryParamsList.personList = response.rows;
       });
     },
     /** 查询字典类型列表 */
     getList() {
       this.loading = true;
+      if(!!this.bindDate){
+        this.queryParams.bindStartDate = this.bindDate[0],
+        this.queryParams.bindEndDate = this.bindDate[1]
+      }
+
       getAdminReportList(
         this.addDateRange(
           this.queryParams,
@@ -342,6 +376,7 @@ export default {
       let dd = date.getDate();
       dd = dd < 10 ? "0" + dd : dd;
       this.uploadDate = [`${y}-${MM}-${dd}`, `${y}-${MM}-${dd}`];
+      this.bindDate = [];
       this.resetForm("queryForm");
       this.queryParams.pageNum = 1;
       this.handleQuery();