谢杰标 2 lat temu
rodzic
commit
4932843f44

+ 3 - 3
src/api/financed/index.js

@@ -133,11 +133,11 @@ export function sellerList(query) {
   });
 }
 // 查询机构分成记录列表
-export function companyList(query) {
+export function companyList(data) {
   return request({
     url: "/divide/log/companyList",
-    method: "get",
-    params: query,
+    method: "post",
+    data,
     isProce: true,
   });
 }

+ 6 - 0
src/assets/styles/index.scss

@@ -59,6 +59,12 @@ a:hover {
   text-decoration: none;
 }
 
+.currency::before {
+  content: "¥";
+  font-size: 13px;
+  margin-right: -4px;
+}
+
 div:focus {
   outline: none;
 }

+ 3 - 3
src/components/Comon/pictureList.vue

@@ -5,7 +5,8 @@
       <div class="right">
         <h4>{{ item.label }}:</h4>
         <p>
-          {{ item.value || info[item.prop] | formatPrice }}{{ item.ch || "元" }}
+          {{ (item.value || info[item.prop] || 0) | formatPrice }}
+          {{ item.ch || "元" }}
         </p>
       </div>
     </div>
@@ -30,8 +31,7 @@ export default {
     },
   },
   data() {
-    return {
-    };
+    return {};
   },
 
   methods: {

+ 13 - 3
src/components/searchBoxNew.vue

@@ -194,6 +194,7 @@
             :placeholder="item.placeholder"
             :size="size"
             clearable
+            :multiple="item.multiple"
             filterable
           >
             <el-option
@@ -596,6 +597,15 @@
             value-format="timestamp"
           >
           </el-date-picker>
+          <el-date-picker
+            v-else-if="item.scope === 'years'"
+            type="years"
+            :size="size"
+            v-model="formData[item.prop]"
+            :placeholder="item.placeholder || '选择年份'"
+            :value-format="item.format || 'timestamp'"
+          >
+          </el-date-picker>
           <el-input
             :style="item.prop === 'searchKey' ? 'width:260px;' : ''"
             v-else-if="!item.scope"
@@ -1139,9 +1149,9 @@ export default {
 </script>
 
 <style lang="less" scoped>
-::v-deep .el-input__inner{
-  &::placeholder{
-    color:#a4a4a4;
+::v-deep .el-input__inner {
+  &::placeholder {
+    color: #a4a4a4;
   }
 }
 .fon_s {

+ 1 - 1
src/components/tableList.vue

@@ -987,7 +987,7 @@
           <div v-else-if="item.scope === 'fill'">
             {{ scope.row[item.prop] || "--" }}
           </div>
-          <div v-else-if="item.scope === 'formatPrice'">
+          <div v-else-if="item.scope === 'formatPrice'" class="currency">
             {{ scope.row[item.prop] | formatPrice }}
           </div>
           <span v-else :style="item.style">

+ 5 - 1
src/directive/filter/index.js

@@ -2,6 +2,10 @@
 export function formatPrice(price) {
   return price?.toLocaleString(
     "zh-CN",
-    (undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })
+    (undefined,
+    {
+      minimumFractionDigits: 2,
+      maximumFractionDigits: 2,
+    })
   );
 }

+ 155 - 529
src/views/financed/accountsPayable/institutionDivide/index.vue

@@ -1,28 +1,14 @@
 <template>
   <div id="ActivityList">
-    <el-radio-group
-      v-model="type"
-      @change="changeSearch"
-      style="margin-bottom: 10px"
-    >
-      <el-radio-button :label="0">应收账款</el-radio-button>
-      <el-radio-button :label="1">机构分成</el-radio-button>
-      <el-radio-button :label="2">业务员提成</el-radio-button>
-      <el-radio-button :label="3">佣金结算</el-radio-button>
-    </el-radio-group>
     <search-box-new
       ref="searchBox"
+      :redIcon="false"
       :formData="formData"
       :formList="formList"
       @search="search(3)"
       @init="init"
     />
-    <picture-list
-      ref="pictureList"
-      :key="type + 'a'"
-      :info="info"
-      :list="showTabList[type]"
-    ></picture-list>
+    <picture-list ref="pictureList" :list="showTabList"></picture-list>
     <table-list
       :key="type"
       rowKey="id"
@@ -181,11 +167,11 @@
       @search="search(4)"
       :dialogVisible.sync="remarkDialogVisible"
     />
-    <dislog-set
+    <!-- <dislog-set
       :dialogVisible.sync="examineDialogVisible"
       @search="search"
       :info="activeOrderInfoArray"
-    ></dislog-set>
+    ></dislog-set> -->
     <!-- 坏账设置 -->
     <dislog-bad-bill
       :dialogVisible.sync="badBillDialogVisible"
@@ -216,6 +202,7 @@ import {
   monthOrderList,
   commissionExport,
 } from "@/api/financed/index";
+
 export default {
   name: "Arap",
   components: {
@@ -231,227 +218,49 @@ export default {
   },
   data() {
     return {
-      value5: [],
-      info: {},
       showTabList: [
-        [
-          {
-            label: "未收账款",
-            prop: "orderUncollectedTotal",
-            img: "未收款",
-          },
-        ],
-        [
-          {
-            label: "待付分成",
-            prop: "unPayMoneyTotal",
-            img: "未收款",
-          },
-          {
-            label: "待扣分成",
-            prop: "unDeductMoneyTotal",
-            img: "已退款",
-          },
-          {
-            label: "已扣分成",
-            prop: "deductMoneyTotal",
-            img: "成本金额",
-          },
-          {
-            label: "已付分成",
-            prop: "payMoneyTotal",
-            img: "已收款",
-          },
-        ],
-        [
-          {
-            label: "待付分成",
-            prop: "unPayMoneyTotal",
-            img: "未收款",
-          },
-          {
-            label: "待扣分成",
-            prop: "unDeductMoneyTotal",
-            img: "已退款",
-          },
-          {
-            label: "已扣分成",
-            prop: "deductMoneyTotal",
-            img: "成本金额",
-          },
-          {
-            label: "已付分成",
-            prop: "payMoneyTotal",
-            img: "已收款",
-          },
-        ],
-        [
-          {
-            label: "待付佣金",
-            prop: "unPayMoneyTotal",
-            img: "未收款",
-          },
-          {
-            label: "已付佣金",
-            prop: "payMoneyTotal",
-            img: "已收款",
-          },
-        ],
+        // 完单 ==> 已扣 + 待付
+        {
+          label: "应付分成",
+          img: "未收款",
+          value: 0,
+        },
+        {
+          label: "完单分成",
+          img: "已退款",
+          value: 0,
+        },
+        {
+          label: "退款扣除",
+          img: "成本金额",
+          value: 0,
+        },
       ],
       loading: false, //当前表单加载是否加载动画
       navText: {
-        title: "应收应付",
+        title: "机构分成",
         index: 0,
         ch: "条",
         num: true,
         choice: true,
         addHide: true,
-        dontNum: false,
+        dontNum: true,
         openCheckMore: false,
         changeWidth: "240px",
         custom: false,
         tableColor: true,
-        tableColorFunc: ({ row, rowIndex }) => {
-          if (row.oId) {
-            return "child-row";
-          }
-          return "";
-        },
-        selectableStatus: true,
-        selectableFunc: (row, rowIndex) => {
-          if (row.oId) {
-            if (
-              row.roleId &&
-              (this.$store.state.user.rolesId.includes(row.roleId) ||
-                this.$store.state.user.rolesId.includes(1)) &&
-              row.checkStatus === 0
-            ) {
-              row.disabled = false;
-              return true;
-            } else {
-              row.disabled = true;
-              return false;
-            }
-          } else {
-            return true;
-          }
-        },
       },
       formData: {
         pageSize: 10,
         pageNum: 1,
       },
-      // 表单
-      tableSet0: [
-        {
-          label: "坏账",
-          prop: "badBill",
-          hidden: true,
-          scope: "isOptions",
-          options: [
-            {
-              label: "否",
-              value: false,
-            },
-            {
-              label: "是",
-              value: true,
-              style: {
-                color: "red",
-              },
-            },
-          ],
-        },
-        {
-          label: "下单时间",
-          prop: "buyTime",
-          hidden: true,
-          scope: "aTimeList",
-        },
-        {
-          label: "订单单号",
-          prop: "orderSn",
-          hidden: true,
-        },
-        {
-          label: "机构名称",
-          prop: "tenantName",
-          hidden: true,
-        },
-        {
-          label: "业务员",
-          prop: "createUsername",
-          hidden: true,
-        },
-        {
-          label: "业务号",
-          prop: "createNo",
-          hidden: true,
-        },
-        {
-          label: "合同金额(元)",
-          prop: "orderPrice",
-          hidden: true,
-          scope: "formatPrice",
-        },
-        {
-          label: "已收账款(元)",
-          prop: "orderReceived",
-          hidden: true,
-          scope: "formatPrice",
-        },
-        {
-          label: "已退金额(元)",
-          prop: "orderRefunded",
-          hidden: true,
-          scope: "formatPrice",
-        },
-        {
-          label: "未收账款(元)",
-          prop: "orderUncollected",
-          hidden: true,
-          scope: "formatPrice",
-        },
-        {
-          label: "预收时间",
-          hidden: true,
-          prop: "predictReceiveTime",
-          scope: "aTimeList",
-        },
-        {
-          label: "剩余天数",
-          prop: "predictReceiveDay",
-          hidden: true,
-          scope: "fill",
-        },
-        {
-          label: "提醒设置",
-          prop: "noteType",
-          scope: "solt",
-          soltName: "noteType",
-          hidden: true,
-        },
-        {
-          label: "最新提醒",
-          prop: "lastTime",
-          hidden: true,
-          scope: "aTimeList",
-        },
-      ],
-      tableSet1: [
+      tableSet: [
         {
           label: "时间",
           prop: "monthTime",
           hidden: true,
           width: 140,
         },
-        {
-          label: "订单单号",
-          prop: "orderSn",
-          hidden: true,
-          scope: "fill",
-          width: 200,
-        },
         {
           label: "类型",
           prop: "billType",
@@ -472,45 +281,24 @@ export default {
           hidden: true,
         },
         {
-          label: "实际订单金额(元)",
-          prop: "orderPrice",
-          scope: "solt",
-          soltName: "price",
-          hidden: true,
-        },
-        {
-          label: "角色名称",
-          prop: "roleName",
-          hidden: true,
-          scope: "fill",
-        },
-        {
-          label: "已付分成(元)",
+          label: "应付分成",
           prop: "payMoney",
           hidden: true,
-          scope: "solt",
-          soltName: "status",
-        },
-        {
-          label: "已扣分成(元)",
-          prop: "deductMoney",
-          hidden: true,
-          scope: "solt",
-          soltName: "status",
+          scope: "formatPrice",
         },
         {
-          label: "待付分成(元)",
-          prop: "payMoney",
+          label: "完单分成",
+          prop1: "deductMoney",
+          prop2: "payMoney",
           hidden: true,
           scope: "solt",
           soltName: "status",
         },
         {
-          label: "待扣分成(元)",
+          label: "退款扣除",
           prop: "deductMoney",
           hidden: true,
-          scope: "solt",
-          soltName: "status",
+          scope: "formatPrice",
         },
         {
           label: "预付时间",
@@ -532,187 +320,6 @@ export default {
           scope: "solt",
           soltName: "divideCheckStatus",
         },
-        {
-          label: "支付时间",
-          prop: "payTime",
-          scope: "aTimeList",
-          hidden: true,
-        },
-        {
-          label: "备注",
-          prop: "remark",
-          hidden: true,
-        },
-      ],
-      tableSet2: [
-        {
-          label: "时间",
-          prop: "monthTime",
-          hidden: true,
-          width: 140,
-        },
-        {
-          label: "订单单号",
-          prop: "orderSn",
-          scope: "fill",
-          hidden: true,
-          width: 200,
-        },
-        {
-          label: "类型",
-          prop: "billType",
-          scope: "type",
-          hidden: true,
-          values: {
-            1: "月份",
-            2: "季度",
-            3: "半年",
-            4: "年度",
-            6: "完单",
-            7: "退款",
-          },
-        },
-        {
-          label: "机构名称",
-          prop: "tenantName",
-          hidden: true,
-        },
-        {
-          label: "实际订单金额(元)",
-          prop: "orderPrice",
-          scope: "solt",
-          soltName: "price",
-          hidden: true,
-        },
-        {
-          label: "角色名称",
-          prop: "roleName",
-          hidden: true,
-          scope: "fill",
-        },
-        {
-          label: "业务员",
-          prop: "createUsername",
-          hidden: true,
-          scope: "fill",
-        },
-        {
-          label: "业务号",
-          prop: "createNo",
-          hidden: true,
-          scope: "fill",
-        },
-        {
-          label: "已付提成(元)",
-          prop: "payMoney",
-          hidden: true,
-          scope: "solt",
-          soltName: "status",
-        },
-        {
-          label: "已扣提成(元)",
-          prop: "deductMoney",
-          hidden: true,
-          scope: "solt",
-          soltName: "status",
-        },
-        {
-          label: "待付提成(元)",
-          prop: "payMoney",
-          hidden: true,
-          scope: "solt",
-          soltName: "status",
-        },
-        {
-          label: "待扣提成(元)",
-          prop: "deductMoney",
-          hidden: true,
-          scope: "solt",
-          soltName: "status",
-        },
-        {
-          label: "审核状态",
-          prop: "divideCheckStatus",
-          hidden: true,
-          scope: "solt",
-          soltName: "divideCheckStatus",
-        },
-        {
-          label: "支付时间",
-          prop: "payTime",
-          scope: "aTimeList",
-          hidden: true,
-        },
-        {
-          label: "备注",
-          prop: "remark",
-          hidden: true,
-        },
-      ],
-      tableSet3: [
-        {
-          label: "时间",
-          prop: "monthTime",
-          hidden: true,
-          width: 140,
-        },
-        {
-          label: "订单单号",
-          prop: "orderSn",
-          scope: "fill",
-          hidden: true,
-          width: 200,
-        },
-        {
-          label: "机构名称",
-          prop: "tenantName",
-          hidden: true,
-        },
-        {
-          label: "实际订单金额(元)",
-          prop: "orderPrice",
-          scope: "solt",
-          soltName: "price",
-          hidden: true,
-        },
-        {
-          label: "角色名称",
-          prop: "roleName",
-          hidden: true,
-          scope: "fill",
-        },
-        {
-          label: "已付佣金(元)",
-          prop: "payMoney",
-          hidden: true,
-          scope: "solt",
-          soltName: "status",
-        },
-        {
-          label: "待付佣金(元)",
-          prop: "payMoney",
-          hidden: true,
-          scope: "solt",
-          soltName: "status",
-        },
-        {
-          label: "审核状态",
-          prop: "divideCheckStatus",
-          hidden: true,
-          scope: "solt",
-          soltName: "divideCheckStatus",
-        },
-        {
-          label: "支付时间",
-          prop: "payTime",
-          scope: "aTimeList",
-          hidden: true,
-        },
-        {
-          label: "备注",
-          prop: "remark",
-          hidden: true,
-        },
       ],
       tableData: [], //表单数据
       total: 0, //一共多少条
@@ -721,7 +328,7 @@ export default {
       remarkDialogVisible: false,
       examineDialogVisible: false,
       badBillDialogVisible: false,
-      type: 0,
+      type: 1,
       activeOrderInfo: {},
       activeOrderInfoArray: [],
       roleList: [],
@@ -843,16 +450,11 @@ export default {
       this.search(2);
     },
     getDataList() {
-      const fn = [orderList, companyList, sellerPercentageList, commissionList][
-        this.type
-      ];
-      fn(this.formData)
+      companyList(this.formData)
         .then((res) => {
-          this.type != 0 &&
-            res.rows.forEach((e, i) => {
-              e.hasChildren = true;
-              e.monthTime = this.parseTime(e.monthTime, "{y}-{m}");
-            });
+          res.rows.forEach((e, i) => {
+            e.monthTime = this.parseTime(e.monthTime, "{y}-{m}");
+          });
           this.tableData = res.rows;
           this.total = res.total;
           this.navText.index = res.total;
@@ -1038,30 +640,20 @@ export default {
       this.loading = true;
       if (v === 2) {
         this.tableData = [];
-        this.maps.clear();
         this.formData = {
           pageSize: 10,
           pageNum: 1,
-          month: [],
+          mouth: [], // 搜送的月份
+          months: [], // 选择的月份
+          years: [],
+          roleIds: this.rolesId,
         };
       }
-      if (v === 3) {
-        this.tableData = [];
-        this.maps.clear();
-      }
       this.$nextTick(() => {
-        this.activeList = [];
         this.$refs.tableList.clearMoreActive();
       });
+      this.proceMonthToformData();
       this.getCountOrderNum();
-      if (v === 4 && this.type !== 0) {
-        await this.getReplaceData();
-        this.maps.forEach((value, id) => {
-          this.update(id, 2);
-        });
-        this.loading = false;
-        return;
-      }
       this.getDataList();
     },
     init() {
@@ -1073,93 +665,54 @@ export default {
         this.roleList = res.rows;
       });
     },
+    proceMonthToformData() {
+      let { billType, years, months } = this.formData;
+      if (!billType && !years.length) {
+        return this.formData;
+      }
+      if (!months.length) {
+        months = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
+      } else {
+        months = months.join(",").split(",");
+      }
+      let mouth = [];
+      // 年-月份拼接 转时间戳
+      for (const year of years) {
+        for (const month of months) {
+          let date = year + "-" + month;
+          let timestamp = new Date(date.replace(/-/g, "/")).getTime();
+          mouth.push(timestamp);
+        }
+      }
+      this.formData.mouth = mouth;
+    },
     getCountOrderNum() {
       var data = JSON.parse(JSON.stringify(this.formData));
       delete data.pageNum;
       delete data.pageSize;
-      countOrderNum({ totalType: this.type + 1, ...data }).then((res) => {
-        this.info = res.data;
+      countOrderNum({ totalType: 2, ...data }).then((res) => {
+        let {
+          unPayMoneyTotal,
+          unDeductMoneyTotal,
+          deductMoneyTotal,
+          payMoneyTotal,
+        } = res.data;
+        this.showTabList[0].value = payMoneyTotal + unPayMoneyTotal;
+        this.showTabList[1].value = payMoneyTotal + unDeductMoneyTotal;
+        this.showTabList[2].value = deductMoneyTotal + unDeductMoneyTotal;
       });
     },
   },
   computed: {
-    tableSet() {
-      return this["tableSet" + this.type];
-    },
     formList() {
-      const key = ["订单", "分成", "提成", "分成"][this.type];
-      let data = [
+      let formList = [
         {
-          prop: "tenantId",
+          prop: "tenantIds",
           placeholder: "机构选择",
           scope: "systemtenantlist",
+          multiple: true,
         },
-      ];
-      if (this.type != 0) {
-        data.push(
-          {
-            prop: "roleId",
-            scope: "roleList",
-            placeholder: "角色选择",
-          },
-          {
-            prop: "monthTime",
-            scope: "moreMonth",
-          },
-          {
-            prop: "payStatus",
-            placeholder: "审核状态",
-            scope: "select",
-            options: [
-              { label: "待支付", value: 0 },
-              { label: "已打款", value: 1 },
-              { label: "待审核", value: 2 },
-              { label: "打款中", value: 3 },
-              { label: "打款失败", value: 4 },
-            ],
-          },
-          {
-            prop1: "startPrice",
-            prop2: "endPrice",
-            ch: "-",
-            scope: "numList1",
-            placeholder1: "起始金额",
-            placeholder2: "结束金额",
-          }
-        );
-      }
-      if (this.type == 0) {
-        data.push(
-          {
-            prop: "badBill",
-            placeholder: "坏账选择",
-            scope: "select",
-            options: [
-              { label: "是", value: 1 },
-              { label: "否", value: 2 },
-            ],
-          },
-          {
-            prop1: "startTime",
-            prop2: "endTime",
-            placeholder1: key + "开始时间",
-            placeholder2: key + "结束时间",
-            scope: "moreDataPicker",
-          },
-          {
-            prop: "orderSn",
-            placeholder: "订单单号",
-          }
-        );
-      }
-      if (this.type == 0 || this.type == 2) {
-        data.push({
-          prop: "keyNo",
-          placeholder: "业务号",
-        });
-      }
-      if (this.type == 1) {
-        data.push({
+        {
           prop: "billType",
           placeholder: "账款类型",
           scope: "select",
@@ -1169,16 +722,89 @@ export default {
             { label: "半年", value: 3 },
             { label: "年度", value: 4 },
           ],
-        });
+        },
+        {
+          prop: "overPayDay",
+          placeholder: "预付超期",
+          scope: "select",
+          options: [
+            { label: "7天", value: 1 },
+            { label: "30天", value: 2 },
+            { label: "半年", value: 3 },
+            { label: "1年", value: 4 },
+          ],
+        },
+        {
+          prop: "checkStatus",
+          placeholder: "审核状态",
+          scope: "select",
+          multiple: true,
+          options: [
+            { label: "待审核", value: 2 },
+            { label: "审核中", value: 5 },
+            { label: "待支付", value: 3 },
+            { label: "支付失败", value: 4 },
+            { label: "已结算", value: 1 },
+          ],
+        },
+      ];
+      let { billType } = this.formData;
+      if (billType) {
+        let data = [
+          {
+            prop: "years",
+            scope: "years",
+            format: "yyyy",
+          },
+        ];
+        if (billType < 4) {
+          const options = [
+            [
+              { label: "1月", value: "1" },
+              { label: "2月", value: "2" },
+              { label: "3月", value: "3" },
+              { label: "4月", value: "4" },
+              { label: "5月", value: "5" },
+              { label: "6月", value: "6" },
+              { label: "7月", value: "7" },
+              { label: "8月", value: "8" },
+              { label: "9月", value: "9" },
+              { label: "10月", value: "10" },
+              { label: "11月", value: "11" },
+              { label: "12月", value: "12" },
+            ],
+            [
+              { label: "一季度", value: "1,2,3" },
+              { label: "二季度", value: "4,5,6" },
+              { label: "三季度", value: "7,8,9" },
+              { label: "四季度", value: "10,11,12" },
+            ],
+            [
+              { label: "上半年", value: "1,2,3,4,5,6" },
+              { label: "下半年", value: "7,8,9,10,11,12" },
+            ],
+          ];
+          data.push({
+            prop: "months",
+            placeholder: ["选择月份", "选择季度", "选择半年"][billType - 1],
+            scope: "select",
+            multiple: true,
+            options: options[billType - 1],
+          });
+        }
+        formList.splice(2, 0, ...data);
       }
-      return data;
+      return formList;
+    },
+    rolesId() {
+      return this.$store.state.user.rolesId;
     },
   },
   watch: {
-    type(value) {
-      this.navText.title = ["应收应付", "机构分成", "业务员提成", "佣金结算"][
-        value
-      ];
+    "formData.billType": {
+      handler() {
+        this.formData.months = [];
+      },
     },
   },
 };