浏览代码

打印 代运营对接

谢杰标 2 年之前
父节点
当前提交
bf15286fc3

+ 15 - 7
src/api/financed/index.js

@@ -142,11 +142,11 @@ export function companyList(data) {
   });
 }
 // 查询佣金结算列表
-export function commissionList(query) {
+export function commissionList(data) {
   return request({
     url: "/divide/log/commissionList",
-    method: "get",
-    params: query,
+    method: "post",
+    data,
     isProce: true,
   });
 }
@@ -184,11 +184,11 @@ export function monthOrderList(query) {
   });
 }
 // 订单应收应付统计
-export function countOrderNum(query) {
+export function countOrderNum(data) {
   return request({
     url: "/system/top/order/countOrderNum",
-    method: "get",
-    params: query,
+    method: "post",
+    data,
     isProce: true,
   });
 }
@@ -309,4 +309,12 @@ export function monthOrderListWithPrint(query) {
     method: "get",
     params: query,
   });
-}
+}
+// 查询佣金打印
+export function commissionPrint(data) {
+  return request({
+    url: "/divide/log/commissionPrint",
+    method: "post",
+    data,
+  });
+}

+ 26 - 88
src/views/financed/accountsPayable/businessCommission/index.vue

@@ -22,6 +22,18 @@
         <el-button @click="batchAudit" type="success"> 批量审核 </el-button>
         <el-button @click="batchExport" type="primary"> 导出excel </el-button>
       </template>
+      <template slot="payStatus" slot-scope="props">
+        <div>
+          {{
+            ["待支付", "已结算", "待审核", "打款中", "支付失败", "审核中"][
+              props.scope.row.payStatus
+            ]
+          }}
+          <span style="color: red" v-if="props.scope.row.roleName">
+            ({{ props.scope.row.roleName }})
+          </span>
+        </div>
+      </template>
       <template slot="predictPayTime" slot-scope="props">
         <span v-if="props.scope.row.creditStatus == 1">已结清</span>
         <span style="color: red" v-else>
@@ -35,34 +47,16 @@
           {{ props.scope.row.predictPayDay || "--" }}
         </span>
       </template>
-      <template slot="divideCheckStatus" slot-scope="props">
-        <div v-if="props.scope.row.billType != 7">
-          {{
-            divideCheckStatus(
-              props.scope.row.orderSn,
-              props.scope.row.payStatus,
-              props.scope.row.checkStatus
-            )
-          }}
-          <span style="color: #409eff" v-if="props.scope.row.roleName">
-            ({{ props.scope.row.roleName }})
-          </span>
-        </div>
-      </template>
       <template slot="btn" slot-scope="props">
         <el-button type="text" @click="openDialog(props.scope.row)">
           详情
         </el-button>
         <el-button
           type="text"
-          v-if="!props.scope.row.orderSn"
-          :disabled="
-            !(
-              props.scope.row.payStatus === 0 ||
-              props.scope.row.payStatus === 4 ||
-              getRoles(props.scope.row.roleId)
-            )
+          v-if="
+            props.scope.row.payStatus === 0 || props.scope.row.payStatus === 4
           "
+          :disabled="getRoles(props.scope.row.roleId)"
           @click="openDialog([props.scope.row], 1)"
         >
           支付
@@ -71,16 +65,14 @@
           v-else
           type="text"
           :disabled="
-            props.scope.row.checkStatus !== 0 ||
-            getRoles(props.scope.row.roleId)
+            props.scope.row.payStatus !== 2 || getRoles(props.scope.row.roleId)
           "
-          @click="openDialog(props.scope.row, 0)"
+          @click="batchAudit(props.scope.row)"
         >
           审核
         </el-button>
         <el-button
           type="text"
-          style="color: rgb(230, 162, 60)"
           :style="{
             color:
               props.scope.row.payStatus !== 1 ? '#ccc' : 'rgb(230, 162, 60)',
@@ -99,7 +91,7 @@
         </el-button>
       </template>
     </table-list>
-    <pagination
+    <pagination1
       :total="total"
       :pageSize.sync="formData.pageSize"
       :currentPage.sync="formData.pageNum"
@@ -125,9 +117,6 @@
 
 <script>
 import dislogSet from "../../components/audit/dislogSet.vue";
-import searchBoxNew from "@/components/searchBoxNew";
-import tableList from "@/components/tableList";
-import pagination from "@/components/pagination";
 import dislogOrderList from "../components/dislogOrderList";
 import pictureList from "@/components/Comon/pictureList.vue";
 import dislogPrint from "../components/dislogPrint.vue";
@@ -141,9 +130,6 @@ import {
 export default {
   name: "Seller",
   components: {
-    searchBoxNew,
-    tableList,
-    pagination,
     dislogOrderList,
     dislogSet,
     pictureList,
@@ -242,10 +228,10 @@ export default {
         },
         {
           label: "审核状态",
-          prop: "divideCheckStatus",
+          prop: "payStatus",
           hidden: true,
           scope: "solt",
-          soltName: "divideCheckStatus",
+          soltName: "payStatus",
         },
       ],
       tableData: [], //表单数据
@@ -257,7 +243,7 @@ export default {
           multiple: true,
         },
         {
-          prop: "month",
+          prop: "monthTime",
           placeholder: "账期时间",
           scope: "moreMonth",
         },
@@ -273,24 +259,20 @@ export default {
           ],
         },
         {
-          prop: "checkStatus",
+          prop: "payStatus",
           placeholder: "审核状态",
           scope: "select",
           multiple: true,
           options: [
             { label: "待审核", value: 2 },
             { label: "审核中", value: 5 },
-            { label: "待支付", value: 3 },
+            { label: "待支付", value: 0 },
             { label: "支付失败", value: 4 },
             { label: "已结算", value: 1 },
           ],
         },
         {
-          prop: "orderSn",
-          placeholder: "输入订单号",
-        },
-        {
-          prop: "kewWorad",
+          prop: "createNo",
           placeholder: "输入业务号/业务员号",
         },
       ],
@@ -317,51 +299,6 @@ export default {
         return true;
       }
     },
-    divideCheckStatus(type, e1, e2) {
-      var a = "";
-      if (type) {
-        switch (e2) {
-          case -1:
-            a = "未通过";
-            break;
-          case 0:
-            a = "待审核";
-            break;
-          case 1:
-            a = "已通过";
-            break;
-          case 2:
-            a = "待支付";
-            break;
-          case 3:
-            a = "已支付";
-            break;
-          default:
-            break;
-        }
-      } else {
-        switch (e1) {
-          case 0:
-            a = "待支付";
-            break;
-          case 1:
-            a = "已打款";
-            break;
-          case 2:
-            a = "待审核";
-            break;
-          case 3:
-            a = "打款中";
-            break;
-          case 4:
-            a = "打款失败";
-            break;
-          default:
-            break;
-        }
-      }
-      return a;
-    },
     openDialog(data, type = 0) {
       if (type === 1) {
         this.activeOrderInfoArray = data;
@@ -402,7 +339,7 @@ export default {
         this.formData = {
           pageSize: 10,
           pageNum: 1,
-          month: "",
+          monthTime: [],
           years: [],
           roleIds: this.rolesId,
         };
@@ -420,6 +357,7 @@ export default {
       var data = JSON.parse(JSON.stringify(this.formData));
       delete data.pageNum;
       delete data.pageSize;
+      delete data.roleIds;
       countOrderNum({ totalType: 3, ...data }).then((res) => {
         let {
           unPayMoneyTotal,

+ 89 - 123
src/views/financed/accountsPayable/commissionSettlement/index.vue

@@ -17,39 +17,43 @@
       :tableData="tableData"
       :navText="navText"
       :loading="loading"
-      @load="load"
-      @select="selectRow"
     >
       <template slot="customize">
         <el-button @click="batchExport" type="primary"> 导出excel </el-button>
       </template>
-      <template slot="divideCheckStatus" slot-scope="props">
-        <div v-if="props.scope.row.billType != 7">
+      <template slot="checkStatus" slot-scope="props">
+        <div>
           {{
-            divideCheckStatus(
-              props.scope.row.orderSn,
-              props.scope.row.payStatus,
-              props.scope.row.checkStatus
-            )
+            [
+              "未通过",
+              "待审核",
+              "已通过",
+              "待支付",
+              "已结算",
+              "审核中",
+              "支付失败",
+            ][props.scope.row.checkStatus + 1]
           }}
-          <span style="color: #409eff" v-if="props.scope.row.roleName">
+          <span style="color: red" v-if="props.scope.row.roleName">
             ({{ props.scope.row.roleName }})
           </span>
         </div>
       </template>
+      <template slot="pretax" slot-scope="props">
+        {{ props.scope.row.pretax * 100 }}%
+      </template>
       <template slot="btn" slot-scope="props">
-        <el-button type="text" @click="openDialog([props.scope.row])">
+        <el-button type="text" @click="openDialog(props.scope.row)">
           详情
         </el-button>
         <el-button
           type="text"
-          v-if="!props.scope.row.orderSn"
-          :disabled="
-            !(
-              props.scope.row.payStatus === 0 || props.scope.row.payStatus === 4
-            )
+          v-if="
+            props.scope.row.checkStatus === 1 ||
+            props.scope.row.checkStatus === 5
           "
-          @click="openDialog([props.scope.row])"
+          :disabled="getRoles(props.scope.row.roleId)"
+          @click="openDialog([props.scope.row], 1)"
         >
           支付
         </el-button>
@@ -60,15 +64,31 @@
             props.scope.row.checkStatus !== 0 ||
             getRoles(props.scope.row.roleId)
           "
-          @click="openDialog([props.scope.row])"
+          @click="batchAudit(props.scope.row)"
         >
           审核
         </el-button>
-        <el-button type="text"> 单据打印 </el-button>
-        <el-button type="text"> 明细打印 </el-button>
+        <el-button
+          type="text"
+          :style="{
+            color:
+              props.scope.row.checkStatus !== 1 ? '#ccc' : 'rgb(230, 162, 60)',
+          }"
+          :disabled="props.scope.row.checkStatus !== 1"
+          @click="openDialog({ ...props.scope.row, type: 3, printType: 1 }, 0)"
+        >
+          单据打印
+        </el-button>
+        <el-button
+          type="text"
+          style="color: rgb(230, 162, 60)"
+          @click="openDialog({ ...props.scope.row, type: 3, printType: 2 }, 0)"
+        >
+          明细打印
+        </el-button>
       </template>
     </table-list>
-    <pagination
+    <pagination1
       :total="total"
       :pageSize.sync="formData.pageSize"
       :currentPage.sync="formData.pageNum"
@@ -78,16 +98,19 @@
       :dialogVisible.sync="examineDialogVisible"
       @search="search"
       :info="activeOrderInfoArray"
-    ></dislog-set>
+    />
+    <!-- 打印 -->
+    <dislog-print
+      :activeData="activeOrderInfo"
+      :dialogVisible.sync="printDialogVisible"
+    />
   </div>
 </template>
 
 <script>
 import dislogSet from "../../components/audit/dislogSet.vue";
-import searchBoxNew from "@/components/searchBoxNew";
-import tableList from "@/components/tableList";
-import pagination from "@/components/pagination";
 import pictureList from "@/components/Comon/pictureList.vue";
+import dislogPrint from "../components/dislogPrint.vue";
 import { exportFn } from "@/utils/index.js";
 import {
   orderList,
@@ -96,16 +119,15 @@ import {
   commissionList,
   sellerPercentageList,
   commissionExport,
+  monthOrderList
 } from "@/api/financed/index";
 
 export default {
   name: "Arap",
   components: {
-    searchBoxNew,
-    tableList,
-    pagination,
     dislogSet,
     pictureList,
+    dislogPrint,
   },
   data() {
     return {
@@ -132,7 +154,7 @@ export default {
         index: 0,
         ch: "条",
         num: true,
-        choice: true,
+        choice: false,
         addHide: true,
         dontNum: true,
         openCheckMore: false,
@@ -147,15 +169,15 @@ export default {
       tableSet: [
         {
           label: "订单日期",
-          prop: "buyTime",
+          prop: "createTime",
           hidden: true,
           scope: "aTimeList",
-          width: 140,
+          width: 160,
         },
         {
           label: "订单号",
           prop: "orderSn",
-          width: "180",
+          width: "210",
           hidden: true,
         },
         {
@@ -192,28 +214,39 @@ export default {
         },
         {
           label: "佣金税占比",
-          prop: "deductMoney",
+          prop: "pretax",
           hidden: true,
-          scope: "formatPrice",
+          scope: "solt",
+          soltName: "pretax",
         },
         {
           label: "结算佣金",
-          prop: "deductMoney",
+          prop: "brokerage",
           hidden: true,
           scope: "formatPrice",
         },
         {
           label: "支付方式",
-          prop: "deductMoney",
+          prop: "payType",
           hidden: true,
-          scope: "formatPrice",
+          scope: "type",
+          hidden: true,
+          values: {
+            1: "微信",
+            2: "支付宝",
+            3: "金币",
+            4: "现金",
+            5: "网银支付",
+            6: "协议",
+            7: "对公转账",
+          },
         },
         {
           label: "审核状态",
-          prop: "divideCheckStatus",
+          prop: "checkStatus",
           hidden: true,
           scope: "solt",
-          soltName: "divideCheckStatus",
+          soltName: "checkStatus",
         },
       ],
       tableData: [], //表单数据
@@ -225,7 +258,7 @@ export default {
           multiple: true,
         },
         {
-          prop: "month",
+          prop: "monthTime",
           placeholder: "账期时间",
           scope: "moreMonth",
         },
@@ -235,11 +268,11 @@ export default {
           scope: "select",
           multiple: true,
           options: [
-            { label: "待审核", value: 2 },
-            { label: "审核中", value: 5 },
-            { label: "待支付", value: 3 },
-            { label: "支付失败", value: 4 },
-            { label: "已结算", value: 1 },
+            { label: "待审核", value: 0 },
+            { label: "审核中", value: 4 },
+            { label: "未通过", value: -1 },
+            { label: "待结算", value: 2 },
+            { label: "已结算", value: 3 },
           ],
         },
         {
@@ -247,12 +280,13 @@ export default {
           placeholder: "输入订单号",
         },
         {
-          prop: "kewWorad",
+          prop: "createNo",
           placeholder: "输入业务号/业务员号",
         },
       ],
       total: 0, //一共多少条
       examineDialogVisible: false,
+      printDialogVisible: false,
       type: 1,
       activeOrderInfo: {},
       activeOrderInfoArray: [],
@@ -278,55 +312,14 @@ export default {
         return true;
       }
     },
-    divideCheckStatus(type, e1, e2) {
-      var a = "";
-      if (type) {
-        switch (e2) {
-          case -1:
-            a = "未通过";
-            break;
-          case 0:
-            a = "待审核";
-            break;
-          case 1:
-            a = "已通过";
-            break;
-          case 2:
-            a = "待支付";
-            break;
-          case 3:
-            a = "已支付";
-            break;
-          default:
-            break;
-        }
+    openDialog(data, type = 1) {
+      if (type === 1) {
+        data.forEach((e) => (e.checkFrom = 4));
+        this.activeOrderInfoArray = data;
       } else {
-        switch (e1) {
-          case 0:
-            a = "待支付";
-            break;
-          case 1:
-            a = "已打款";
-            break;
-          case 2:
-            a = "待审核";
-            break;
-          case 3:
-            a = "打款中";
-            break;
-          case 4:
-            a = "打款失败";
-            break;
-          default:
-            break;
-        }
+        this.activeOrderInfo = data;
       }
-      return a;
-    },
-    openDialog(data, type = 0) {
-      data.forEach((e) => (e.checkFrom = 4));
-      this.activeOrderInfoArray = data;
-      this[["examine"][type] + "DialogVisible"] = true;
+      this[["print", "examine"][type] + "DialogVisible"] = true;
     },
     batchExport() {
       commissionExport(this.formData).then((res) => {
@@ -352,31 +345,6 @@ export default {
           this.loading = false;
         });
     },
-    getReplaceData() {
-      return new Promise((resolve) => {
-        const fn = [
-          orderList,
-          companyList,
-          sellerPercentageList,
-          commissionList,
-        ][this.type];
-        fn(this.formData)
-          .then((res) => {
-            res.rows.forEach((i) => {
-              this.$set(
-                this.tableData[this.tableData.findIndex((k) => k.id === i.id)],
-                "payStatus",
-                i.payStatus
-              );
-            });
-            this.total = res.total;
-            this.navText.index = res.total;
-          })
-          .finally(() => {
-            this.loading = false;
-          });
-      });
-    },
     async search(v) {
       this.loading = true;
       if (v === 2) {
@@ -384,7 +352,7 @@ export default {
         this.formData = {
           pageSize: 10,
           pageNum: 1,
-          month: "",
+          monthTime: [],
           years: [],
           roleIds: this.rolesId,
         };
@@ -399,10 +367,8 @@ export default {
       this.search(2);
     },
     getCountOrderNum() {
-      var data = JSON.parse(JSON.stringify(this.formData));
-      delete data.pageNum;
-      delete data.pageSize;
-      countOrderNum({ totalType: 3, ...data }).then((res) => {
+      monthOrderList(this.formData).then((res) => {
+        console.log("🚀 ~ file: index.vue:371 ~ monthOrderList ~ res:", res)
         let {
           unPayMoneyTotal,
           unDeductMoneyTotal,

+ 46 - 19
src/views/financed/accountsPayable/components/dislogPrint.vue

@@ -54,9 +54,20 @@
               <td>
                 <p>收款信息:</p>
                 <p>
-                  收款方式:{{ ["", "账号支付", "扫码支付", "现金支付"][1] }}
+                  收款方式:{{
+                    [
+                      "",
+                      "微信支付",
+                      "支付宝支付",
+                      "金币支付",
+                      "现金支付",
+                      "网银支付",
+                      "协议支付",
+                      "对公转账",
+                    ][formData.payType]
+                  }}
                 </p>
-                <template v-if="true">
+                <template v-if="formData.toBankAcount">
                   <p>收款账户:{{ formData.toBankName }}</p>
                   <p>收款银行:{{ formData.toBankTypeName }}</p>
                   <p>收款账号:{{ formData.toBankAcount }}</p>
@@ -65,10 +76,10 @@
               <td>
                 <p>款项明细:</p>
                 <template v-if="type == 3">
-                  <p>结算佣金:{{ formData.payMoney | formatPrice }}</p>
+                  <p>结算佣金:{{ formData.brokerage | formatPrice }}</p>
                   <p>税前佣金:{{ formData.pretaxBrokerage | formatPrice }}</p>
-                  <p>佣金税占比:{{ formData.deductMoney }}</p></template
-                >
+                  <p>佣金税占比:{{ formData.pretax * 100 || 0 }}%</p>
+                </template>
                 <template v-else>
                   <p>应付分成:{{ formData.payMoney | formatPrice }}</p>
                   <p>
@@ -138,6 +149,9 @@
                       {{ bus }}
                     </div>
                   </div>
+                  <div v-else-if="items.scope === 'pretax'">
+                    {{ item.pretax * 100 }}%
+                  </div>
                   <span v-else>
                     {{ item[items.prop] || "-" }}
                   </span>
@@ -169,7 +183,11 @@
 </template>
 
 <script>
-import { withPrint, monthOrderListWithPrint } from "@/api/financed/index";
+import {
+  withPrint,
+  monthOrderListWithPrint,
+  commissionPrint,
+} from "@/api/financed/index";
 export default {
   name: "",
   props: {
@@ -201,19 +219,23 @@ export default {
           divideLogId: id,
         };
       }
-      const fn = [withPrint, monthOrderListWithPrint][this.printType - 1];
+      // 佣金的
+      if (this.type == 3) {
+        id = {
+          orderSn: this.activeData.orderSn,
+        };
+      }
+      const fn =
+        this.type == 3
+          ? commissionPrint
+          : [withPrint, monthOrderListWithPrint][this.printType - 1];
       fn(id)
         .then((res) => {
-          console.log(
-            "🚀 ~ file: dislogPrint.vue:207 ~ .then ~ res:",
-            res.data,
-            this.activeData
-          );
           if (this.printType == 1) {
             this.formData = res.data;
           }
           if (this.printType == 2) {
-            this.tableData = res.data;
+            this.tableData = this.type == 3 ? [res.data] : res.data;
           }
         })
         .finally(() => {
@@ -242,7 +264,7 @@ export default {
       return this.activeData.printType;
     },
     type() {
-      return this.printType;
+      return this.activeData.type;
     },
     tableSet() {
       if (this.type != 3) {
@@ -284,7 +306,7 @@ export default {
         return [
           {
             label: "订单日期",
-            prop: "orderCreateTime",
+            prop: "createTime",
             width: "160",
             scope: "time",
           },
@@ -303,13 +325,18 @@ export default {
             prop: "payType",
             scope: "type",
             values: {
-              1: "完单分成",
-              2: "退款扣除",
+              1: "微信",
+              2: "支付宝",
+              3: "金币",
+              4: "现金",
+              5: "网银支付",
+              6: "协议",
+              7: "对公转账",
             },
           },
           { label: "税前佣金", prop: "pretaxBrokerage", scope: "formatPrice" },
-          { label: "佣金税占比", prop: "orderPrice", scope: "formatPrice" },
-          { label: "结算佣金", prop: "payMoney", scope: "formatPrice" },
+          { label: "佣金税占比", prop: "pretax", scope: "pretax" },
+          { label: "结算佣金", prop: "brokerage", scope: "formatPrice" },
         ];
       }
     },

+ 16 - 2
src/views/financed/accountsPayable/components/dislogTip.vue

@@ -3,7 +3,7 @@
     <BaseDialog
       width="900px"
       :isShow.sync="isShow"
-      title="催款提醒"
+      :title="type == 2 ? '批量' : '' + '催款提醒'"
       @close="close"
       @submit="submitForm"
       @open="init"
@@ -17,10 +17,21 @@
         label-width="100px"
       >
         <div>
-          <el-form-item label="最新提醒:">
+          <el-form-item label="最新提醒:" v-if="type == 1">
             {{ $methodsTools.onlyForma(orderInfo.lastTime) || "--" }}
           </el-form-item>
         </div>
+        <div>
+          <el-form-item prop="overPayDay" label="预付超期:">
+            <el-select v-model="form.overPayDay" placeholder="请选择预付超期">
+              <el-option label="7天" :value="1"></el-option>
+              <el-option label="30天" :value="2"></el-option>
+              <el-option label="半年" :value="3"></el-option>
+              <el-option label="1年" :value="4"></el-option>
+              <el-option label="1年以上" :value="5"></el-option>
+            </el-select>
+          </el-form-item>
+        </div>
 
         <div>
           <el-form-item prop="noteType" label="提醒设置:">
@@ -196,6 +207,9 @@ export default {
         this.$emit("update:dialogVisible", false);
       },
     },
+    type() {
+      return this.orderInfo.ctype;
+    },
   },
 };
 </script>

+ 16 - 63
src/views/financed/accountsPayable/institutionDivide/index.vue

@@ -24,6 +24,18 @@
           导出excel
         </el-button>
       </template>
+      <template slot="payStatus" slot-scope="props">
+        <div>
+          {{
+            ["待支付", "已结算", "待审核", "打款中", "支付失败", "审核中"][
+              props.scope.row.payStatus
+            ]
+          }}
+          <span style="color: red" v-if="props.scope.row.roleName">
+            ({{ props.scope.row.roleName }})
+          </span>
+        </div>
+      </template>
       <template slot="predictPayTime" slot-scope="props">
         <span v-if="props.scope.row.creditStatus == 1">已结清</span>
         <span style="color: red" v-else>
@@ -37,20 +49,6 @@
           {{ props.scope.row.predictPayDay || "--" }}
         </span>
       </template>
-      <template slot="divideCheckStatus" slot-scope="props">
-        <div v-if="props.scope.row.billType != 7">
-          {{
-            divideCheckStatus(
-              props.scope.row.orderSn,
-              props.scope.row.payStatus,
-              props.scope.row.checkStatus
-            )
-          }}
-          <span style="color: #409eff" v-if="props.scope.row.roleName">
-            ({{ props.scope.row.roleName }})
-          </span>
-        </div>
-      </template>
       <template slot="btn" slot-scope="props">
         <el-button type="text" @click="openDialog(props.scope.row)">
           详情
@@ -235,10 +233,10 @@ export default {
         },
         {
           label: "审核状态",
-          prop: "divideCheckStatus",
+          prop: "payStatus",
           hidden: true,
           scope: "solt",
-          soltName: "divideCheckStatus",
+          soltName: "payStatus",
         },
       ],
       tableData: [],
@@ -265,51 +263,6 @@ export default {
         return true;
       }
     },
-    divideCheckStatus(type, e1, e2) {
-      var a = "";
-      if (type) {
-        switch (e2) {
-          case -1:
-            a = "未通过";
-            break;
-          case 0:
-            a = "待审核";
-            break;
-          case 1:
-            a = "已通过";
-            break;
-          case 2:
-            a = "待支付";
-            break;
-          case 3:
-            a = "已支付";
-            break;
-          default:
-            break;
-        }
-      } else {
-        switch (e1) {
-          case 0:
-            a = "待支付";
-            break;
-          case 1:
-            a = "已打款";
-            break;
-          case 2:
-            a = "待审核";
-            break;
-          case 3:
-            a = "打款中";
-            break;
-          case 4:
-            a = "打款失败";
-            break;
-          default:
-            break;
-        }
-      }
-      return a;
-    },
     openDialog(data, type = 0) {
       if (type === 1) {
         data.forEach((e) => (e.checkFrom = 2));
@@ -457,14 +410,14 @@ export default {
           ],
         },
         {
-          prop: "checkStatus",
+          prop: "payStatus",
           placeholder: "审核状态",
           scope: "select",
           multiple: true,
           options: [
             { label: "待审核", value: 2 },
             { label: "审核中", value: 5 },
-            { label: "待支付", value: 3 },
+            { label: "待支付", value: 0 },
             { label: "支付失败", value: 4 },
             { label: "已结算", value: 1 },
           ],

+ 322 - 0
src/views/financed/accountsPayable/operationsReceivable/index.vue

@@ -0,0 +1,322 @@
+<template>
+  <div class="operation">
+    <search-box-new
+      class="search_box_page"
+      ref="searchBox"
+      :redIcon="false"
+      :formData="formData"
+      :formList="formList"
+      @search="search(3)"
+      @init="init"
+    />
+    <picture-list ref="pictureList" :list="showTabList"></picture-list>
+    <table-list
+      ref="tableList"
+      :tableSets="tableSet"
+      :tableData="tableData"
+      :navText="navText"
+      :loading="loading"
+    >
+      <template slot="customize">
+        <el-button type="primary" @click="openDialog({ ctype: 2 }, 1)"
+          >自动催款</el-button
+        >
+        <el-button @click="openDialog({}, 2)" type="primary">
+          坏账设置
+        </el-button>
+      </template>
+      <template slot="noteType" slot-scope="props">
+        <div v-if="!props.scope.row.noteId || props.scope.row.noteType == 1">
+          --
+        </div>
+        <div v-else>
+          <div :class="'tip' + props.scope.row.noteType">
+            <span v-for="(text, idx) in backText(props.scope.row)" :key="idx">
+              <span v-if="props.scope.row.noteType == 3">周</span>
+              {{ text }}
+              <span v-if="props.scope.row.noteType == 4">日</span>
+              <i></i>
+            </span>
+          </div>
+          <div>{{ props.scope.row.dayTime }}</div>
+        </div>
+      </template>
+      <template slot="predictPayTime" slot-scope="props">
+        <span
+          :style="{ color: props.scope.row.predictReceiveDay < 0 ? 'red' : '' }"
+        >
+          {{ props.scope.row.predictReceiveDay || "--" }}
+        </span>
+      </template>
+      <template slot="btn" slot-scope="props">
+        <el-button type="text" @click="openDialog(props.scope.row, 0)">
+          详情
+        </el-button>
+        <el-button
+          type="text"
+          :disabled="props.scope.row.creditStatus == 1"
+          @click="openDialog({ ...props.scope.row, ctype: 1 }, 1)"
+        >
+          催款
+        </el-button>
+      </template>
+    </table-list>
+    <pagination1
+      :total="total"
+      :pageSize.sync="formData.pageSize"
+      :currentPage.sync="formData.pageNum"
+      @search="search(3)"
+    />
+    <!-- 催款 -->
+    <dislog-tip
+      :dialogVisible.sync="tipDialogVisible"
+      :orderInfo="activeOrderInfo"
+      @search="search(3)"
+    />
+    <!-- 订单详情 -->
+    <dislog-order-details
+      :ShowStatus="1"
+      :orderSn="activeOrderInfo.orderSn"
+      :orderFrom="activeOrderInfo.orderFrom"
+      :dialogVisible.sync="orderDialogVisible"
+    />
+    <!-- 坏账设置 -->
+    <dislog-bad-bill :dialogVisible.sync="badBillDialogVisible" />
+  </div>
+</template>
+
+<script>
+import pictureList from "@/components/Comon/pictureList.vue";
+import dislogBadBill from "../components/dislogBadBill.vue";
+import dislogOrderDetails from "../../components/dislogOrderDetails.vue";
+import dislogTip from "../components/dislogTip.vue";
+import { orderList } from "@/api/financed/index";
+export default {
+  name: "SaasMasterPlatformIndex",
+
+  data() {
+    return {
+      showTabList: [
+        {
+          label: "未收账款",
+          prop: "orderUncollectedTotal",
+          img: "未收款",
+        },
+      ],
+      navText: {
+        title: "应收应付",
+        index: 0,
+        ch: "条",
+        num: true,
+        choice: false,
+        addHide: true,
+        dontNum: false,
+        openCheckMore: false,
+        changeWidth: "240px",
+        custom: false,
+      },
+      formList: [
+        {
+          prop: "tenantId",
+          placeholder: "机构选择",
+          scope: "systemtenantlist",
+        },
+        {
+          prop: "badBill",
+          placeholder: "坏账选择",
+          scope: "select",
+          options: [
+            { label: "是", value: 1 },
+            { label: "否", value: 2 },
+          ],
+        },
+        {
+          prop1: "startTime",
+          prop2: "endTime",
+          placeholder1: "订单开始时间",
+          placeholder2: "订单结束时间",
+          scope: "moreDataPicker",
+        },
+        {
+          prop: "orderSn",
+          placeholder: "订单单号",
+        },
+        {
+          prop: "keyNo",
+          placeholder: "业务号",
+        },
+      ],
+      tableSet: [
+        {
+          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: "solt",
+          soltName: "predictPayTime",
+        },
+        {
+          label: "提醒设置",
+          prop: "noteType",
+          scope: "solt",
+          soltName: "noteType",
+          hidden: true,
+        },
+        {
+          label: "最新提醒",
+          prop: "lastTime",
+          hidden: true,
+          scope: "aTimeList",
+        },
+      ],
+      formData: {},
+      tableData: [],
+      total: 0,
+      loading: false,
+      badBillDialogVisible: false,
+      orderDialogVisible: false,
+      tipDialogVisible: false,
+      activeOrderInfo: {},
+    };
+  },
+
+  created() {
+    this.init();
+  },
+  methods: {
+    async search(v) {
+      this.loading = true;
+      if (v === 2) {
+        this.tableData = [];
+        this.formData = {
+          pageSize: 10,
+          pageNum: 1,
+        };
+      }
+      this.getDataList();
+    },
+    init() {
+      this.search(2);
+    },
+    getDataList() {
+      orderList(this.formData)
+        .then((res) => {
+          this.tableData = res.rows;
+          this.total = res.total;
+          this.navText.index = res.total;
+        })
+        .finally(() => {
+          this.loading = false;
+        });
+    },
+    backText(row) {
+      const type = row.noteType;
+      if (type == 2) {
+        return ["每天"];
+      }
+      const key = ["weekTime", "monthTime"][type - 3];
+      let data = row[key].split(",").sort((a, b) => a - b);
+      return data;
+    },
+    openDialog(data, type) {
+      data.checkFrom = 1;
+      this.activeOrderInfo = data;
+      this[["order", "tip", "badBill"][type] + "DialogVisible"] = true;
+    },
+  },
+  components: {
+    pictureList,
+    dislogBadBill,
+    dislogOrderDetails,
+    dislogTip,
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.search_box_page {
+  /deep/ .el-select {
+    width: 120px;
+  }
+  /deep/ .el-date-editor {
+    width: 140px;
+  }
+  /deep/ .el-form-item__content > .el-input {
+    width: 190px;
+  }
+}
+</style>