Tang 2 жил өмнө
parent
commit
62769e7aba

+ 2 - 0
src/api/api.js

@@ -82,11 +82,13 @@ import systemExam from '../newApi/systemExam'//模考活动列表
 
 import poster from '../fxApi/poster'//海报列表
 import temp from '../fxApi/temp'//分销活动列表
+import orderManageList from '../fxApi/orderManageList'//订单管理
 
 
 
 // 导入对应模块------------------------
 export default {
+    ...orderManageList,
     ...poster,
     ...temp,
     ...courseEducationType,

+ 28 - 0
src/fxApi/orderManageList.js

@@ -0,0 +1,28 @@
+import request from '@/utils/request' //引入axios请求及拦截器
+export default {
+    //订单统计
+    systemtoporderstatistics(data) {
+        return request({
+            url: '/system/top/order/statistics',
+            method: 'post',
+            data
+        })
+    },
+    //查询订单列表
+    systemtoporderlist(data) {
+        return request({
+            url: '/system/top/order/list',
+            method: 'get',
+            params: data
+        })
+    },
+    //批量修改订单备注
+    systemtoporderupdateremark(data) {
+        return request({
+            url: '/system/top/order/update/remark',
+            method: 'post',
+            data
+        })
+    },
+    
+}

+ 25 - 6
src/views/financed/orderManageList/remarks.vue → src/views/financed/components/remarks.vue

@@ -8,7 +8,7 @@
       @submit="submitForm"
     >
       <el-input
-      :rows="6"
+        :rows="6"
         type="textarea"
         placeholder="请输入备注"
         v-model="remarks"
@@ -25,6 +25,12 @@ export default {
       type: Boolean,
       default: false,
     },
+    options: {
+      type: Array,
+      default: () => {
+        return [];
+      },
+    },
   },
   data() {
     return {
@@ -35,13 +41,27 @@ export default {
   mounted() {},
 
   methods: {
-    init() {},
+    init() {
+      if (this.options?.length > 1) {
+        this.remarks = "";
+      } else {
+        this.remarks = this.options[0].remarks;
+      }
+    },
     close() {
       this.remarks = "";
     },
     submitForm() {
-      this.isShow = false;
-      this.$emit("search");
+      const data = {
+        orderIdList: this.options.map((i) => i.orderId),
+        orderSnList: this.options.map((i) => i.orderSn),
+        remark: this.remarks,
+      };
+      this.$api.systemtoporderupdateremark(data).then((res) => {
+        this.isShow = false;
+        this.$parent.$refs.tableList.clearMoreActive();
+        this.$emit("search");
+      });
     },
   },
   computed: {
@@ -60,5 +80,4 @@ export default {
 };
 </script>
 
-<style lang="scss" scoped>
-</style>
+<style lang="scss" scoped></style>

+ 129 - 43
src/views/financed/orderManageList/index.vue

@@ -9,7 +9,9 @@
     />
     <div style="margin-bottom: 12px">
       <el-button type="primary" size="small">成本设置</el-button>
-      <el-button type="primary" size="small">修改备注</el-button>
+      <el-button type="primary" size="small" @click="editRemarks(1)"
+        >修改备注</el-button
+      >
       <el-button size="small">导出excel</el-button>
     </div>
     <div class="dis_flex_order_li">
@@ -18,15 +20,17 @@
         <div class="right">
           <h4>
             {{ item.label }}:
-            <!-- <span v-if="item.label === '盈亏'"
-              >【{{ xxx[item.prop] > 0 ? "盈" : "亏" }}】</span> -->
+            <span
+              v-if="item.label === '盈亏' && statisticsData[item.prop] !== 0"
+              >【{{ statisticsData[item.prop] > 0 ? "盈" : "亏" }}】</span
+            >
           </h4>
-          <p>{{ item.price }}{{ item.ch }}</p>
+          <p>{{ statisticsData[item.prop] }}{{ item.ch }}</p>
         </div>
       </div>
     </div>
     <table-list
-      rowKey="id"
+      rowKey="orderId"
       ref="tableList"
       :tableSets="tableSet"
       :tableData="tableData"
@@ -34,34 +38,41 @@
       :loading="loading"
     >
       <template slot="orderInfo" slot-scope="props">
-        <div>机构名称:xxx</div>
-        <div>业务员:xxx</div>
-        <div>业务号:123456</div>
-        <div>订单来源:xxx</div>
-        <div>订单日期:xxxx-xx-xx xx:xx:xx</div>
-        <div>订单号:123465123456</div>
+        <div>机构名称:{{ props.scope.row["createOrg"] }}</div>
+        <div>业务员:{{ props.scope.row["createNo"] }}</div>
+        <div>业务号:{{ props.scope.row["createSysUserId"] }}</div>
+        <div>订单来源:{{ props.scope.row["orderFrom"] }}</div>
+        <div>订单日期:{{ props.scope.row["orderCost"] }}</div>
+        <div>订单号:{{ props.scope.row["orderSn"] }}</div>
       </template>
       <template slot="orderPrice" slot-scope="props">
-        <div>合同金额:1234.00</div>
-        <div>已收账款:1234.00</div>
-        <div>申请退款:1234.00</div>
-        <div>已退账款:1234.00</div>
-        <div>未收账款:1234.00</div>
-        <div style="color: red">(预计收款时间)</div>
+        <div>合同金额:{{ props.scope.row["orderPrice"] }}</div>
+        <div>已收账款:{{ props.scope.row["orderReceived"] }}</div>
+        <div>申请退款:{{ props.scope.row["orderRefund"] }}</div>
+        <div>已退账款:{{ props.scope.row["orderRefunded"] }}</div>
+        <div>未收账款:{{ props.scope.row["orderUncollected"] }}</div>
+        <div style="color: red">
+          (预计收款时间){{ props.scope.row["predictReceiveTime"] }}
+        </div>
         <div>实际账款:1234.00</div>
       </template>
       <template slot="inon" slot-scope="props">
-        <div>成本(元):123.00</div>
-        <div>盈亏(元):123.00</div>
-        <div>【盈】</div>
+        <div>成本(元):{{ props.scope.row["orderCost"] }}</div>
+        <div>盈亏(元):{{ props.scope.row["orderProfit"] }}</div>
+        <div v-if="props.scope.row['orderProfit']">
+          【{{ props.scope.row["orderProfit"] > 0 ? "盈" : "亏" }}】
+        </div>
       </template>
       <template slot="statusRoles" slot-scope="props">
-        <div>待审核<span style="color: red">(总经理)</span></div>
+        <div>
+          {{ refundStatus(props.scope.row["refundStatus"])
+          }}<span style="color: red">(总经理)</span>
+        </div>
       </template>
       <template slot="type" slot-scope="props">
-        <div>一级建造师</div>
-        <div>二级建造师</div>
-        <div>二级造价师</div>
+        <div v-for="(item, index) in props.scope.row['businessNames']">
+          {{ item }}
+        </div>
       </template>
       <template slot="btn" slot-scope="props">
         <el-button type="text">查看详情</el-button>
@@ -84,13 +95,17 @@
       :dialogVisible.sync="dialogVisible"
       @search="search"
     ></dislog-set>
-    <remarks :dialogVisible.sync="remarksVisible" @search="search"></remarks>
+    <remarks
+      :dialogVisible.sync="remarksVisible"
+      @search="search"
+      :options="remarksOptions"
+    ></remarks>
   </div>
 </template>
 
 <script>
 import dislogSet from "@/components/audit/dislogSet.vue";
-import remarks from "./remarks.vue";
+import remarks from "../components/remarks.vue";
 import searchBoxNew from "@/components/searchBoxNew";
 import tableList from "@/components/tableList";
 import pagination from "@/components/pagination";
@@ -102,63 +117,63 @@ export default {
       ShowTabList: [
         {
           label: "盈亏",
-          prop: "",
+          prop: "orderProfitTotal",
           img: require("@/assets/images/盈亏@2x.png"),
           price: "1200000000",
           ch: "元",
         },
         {
           label: "合同金额",
-          prop: "",
+          prop: "orderPriceTotal",
           img: require("@/assets/images/合同金额@2x.png"),
           price: "1200000000",
           ch: "元",
         },
         {
           label: "已收账款",
-          prop: "",
+          prop: "orderReceivedTotal",
           img: require("@/assets/images/已收款@2x.png"),
           price: "1200000000",
           ch: "元",
         },
         {
           label: "已退账款",
-          prop: "",
+          prop: "orderRefundedTotal",
           img: require("@/assets/images/已退款@2x.png"),
           price: "1200000000",
           ch: "元",
         },
         {
           label: "未收账款",
-          prop: "",
+          prop: "orderUncollectedTotal",
           img: require("@/assets/images/未收款@2x.png"),
           price: "1200000000",
           ch: "元",
         },
         {
           label: "实际账款",
-          prop: "",
+          prop: "practicalPriceTotal",
           img: require("@/assets/images/实际款@2x.png"),
           price: "1200000000",
           ch: "元",
         },
         {
           label: "成本金额",
-          prop: "",
+          prop: "orderCostTotal",
           img: require("@/assets/images/成本金额@2x.png"),
           price: "1200000000",
           ch: "元",
         },
         {
           label: "订单人数",
-          prop: "",
+          prop: "orderUserNum",
           img: require("@/assets/images/订单人数@2x.png"),
           price: "16102",
           ch: "个",
         },
         {
           label: "订单数",
-          prop: "",
+          prop: "orderNum",
           img: require("@/assets/images/订单数@2x.png"),
           price: "16201",
           ch: "个",
@@ -288,8 +303,26 @@ export default {
         },
         {
           label: "审核状态",
-          prop: "startTime",
+          prop: "checkStatus",
           hidden: true,
+          options: [
+            {
+              label: "待审核",
+              value: 0,
+            },
+            {
+              label: "已通过",
+              value: 1,
+            },
+            {
+              label: "未通过",
+              value: 2,
+            },
+            {
+              label: "已撤销",
+              value: 3,
+            },
+          ],
         },
         {
           label: "退款状态",
@@ -300,24 +333,35 @@ export default {
         },
         {
           label: "下单企业",
-          prop: "startTime",
+          prop: "tenantName",
           hidden: true,
         },
         {
           label: "业务类型",
-          prop: "startTime",
+          prop: "businessNames",
           hidden: true,
           scope: "solt",
           soltName: "type",
         },
         {
           label: "发票状态",
-          prop: "startTime",
+          prop: "invoiceStatus",
           hidden: true,
+          scope: "isOptions",
+          options: [
+            {
+              label: "未开票",
+              value: 0,
+            },
+            {
+              label: "已开票",
+              value: 1,
+            },
+          ],
         },
         {
           label: "备注",
-          prop: "startTime",
+          prop: "remark",
           hidden: true,
         },
       ],
@@ -326,15 +370,57 @@ export default {
       dialogVisible: false,
       remarksVisible: false,
       id: "",
+      statisticsData: {},
+      remarksOptions: [],
     };
   },
   created() {
     this.search();
+    this.getStatistics();
   },
   methods: {
+    //退款状态
+    refundStatus(i) {
+      var str = "";
+      switch (i) {
+        case 0:
+          str = "待审核";
+          break;
+        case 1:
+          str = "正常";
+          break;
+        case 2:
+          str = "未退款";
+          break;
+        case 3:
+          str = "已完成";
+          break;
+        case 4:
+          str = "未通过";
+          break;
+
+        default:
+          break;
+      }
+      return str;
+    },
+    getStatistics() {
+      this.$api.systemtoporderstatistics().then((res) => {
+        this.statisticsData = res.data || {};
+      });
+    },
     editRemarks(item) {
-      this.remarksVisible = true;
-      console.log(item);
+      if (item === 1) {
+        if (this.$refs.tableList.allCheckData.length === 0) {
+          this.$message.error("请勾选数据");
+          return;
+        }
+        this.remarksOptions = this.$refs.tableList.allCheckData;
+        this.remarksVisible = true;
+      } else {
+        this.remarksOptions = [item];
+        this.remarksVisible = true;
+      }
     },
     handelClick() {
       this.dialogVisible = true;
@@ -386,7 +472,7 @@ export default {
       //   data.classEndTime = parseInt(data.classEndTime / 1000);
       // }
       this.$api
-        .distributiontemplist(data)
+        .systemtoporderlist(data)
         .then((res) => {
           this.tableData = res.rows;
           this.total = res.total;