linwenxin 1 vuosi sitten
vanhempi
commit
0e94f15c1a

+ 27 - 0
src/api/orderSettleManag.js

@@ -1,5 +1,32 @@
 import request, { postBlob, getBlob, handleImport } from '@/utils/request'
 import request, { postBlob, getBlob, handleImport } from '@/utils/request'
 
 
+
+
+export function increOrderSettleList2(data) {
+  return request({
+    url: `/incre/order/settle/list2?moduleId=${data.moduleId}`,
+    method: 'post',
+    data
+  })
+}
+
+export function increOrderSettleCountWorkerList(data) {
+  return request({
+    url: `/incre/order/settle/count/worker/list?moduleId=${data.moduleId}`,
+    method: 'post',
+    data
+  })
+}
+
+export function increOrderSettleCountWorkerListExport(data, name) {
+  return postBlob({
+    url: '/incre/order/settle/count/worker/list/export',
+    data,
+    name
+  })
+}
+
+
 export function increOrderSettleList(data) {
 export function increOrderSettleList(data) {
   return request({
   return request({
     url: `/incre/order/settle/list?moduleId=${data.moduleId}`,
     url: `/incre/order/settle/list?moduleId=${data.moduleId}`,

+ 2 - 2
src/views/valueAddedService/orderBranchAccount/pages/offline.vue

@@ -8,7 +8,7 @@
 import TemplatePage from '@/components/template/template-page-1.vue'
 import TemplatePage from '@/components/template/template-page-1.vue'
 import import_mixin from '@/components/template/import_mixin.js'
 import import_mixin from '@/components/template/import_mixin.js'
 import operation_mixin from '@/components/template/operation_mixin.js'
 import operation_mixin from '@/components/template/operation_mixin.js'
-import { increOrderSettleList } from "@/api/orderSettleManag.js"
+import { increOrderSettleList2 } from "@/api/orderSettleManag.js"
 export default {
 export default {
   components: {
   components: {
     TemplatePage,
     TemplatePage,
@@ -49,7 +49,7 @@ export default {
         if(this.detailParams.length){
         if(this.detailParams.length){
           pam.params = [...pam.params.filter(item => item.param !== "a.pay_time"), ...this.detailParams,]
           pam.params = [...pam.params.filter(item => item.param !== "a.pay_time"), ...this.detailParams,]
         }
         }
-        return increOrderSettleList(pam)
+        return increOrderSettleList2(pam)
       } catch (err) {
       } catch (err) {
         console.log(err)
         console.log(err)
       }
       }

+ 56 - 0
src/views/valueAddedService/orderMasterSplitAccount/index.vue

@@ -0,0 +1,56 @@
+<template>
+  <zj-page-container>
+    <div class="tab">
+      <el-radio-group v-model="tabType" size="small" @change="tabTypeChange">
+        <el-radio-button label="collect">汇总</el-radio-button>
+        <el-radio-button label="offline">明细</el-radio-button>
+      </el-radio-group>
+    </div>
+    <zj-page-fill>
+      <collect v-if="tabTypeCk == 'collect'" key="collect" />
+      <offline v-if="tabTypeCk == 'offline'" key="offline" :workerId="workerId" :detailParams="detailParams" />
+    </zj-page-fill>
+  </zj-page-container>
+</template>
+
+<script>
+import { EventBus } from '@/utils/eventBus'
+import collect from './pages/collect.vue'
+import offline from './pages/offline.vue'
+export default {
+  components: { collect, offline },
+  data() {
+    return {
+      tabType: 'collect',
+      tabTypeCk: 'collect',
+      workerId: "",
+      detailParams: [],
+    }
+  },
+  created() {
+    EventBus.$on("orderMasterSplitAccount", ({ workerId, detailParams, tabTypeCk }) => {
+      this.workerId = workerId
+      this.detailParams = detailParams
+      this.$nextTick(() => {
+        this.tabTypeCk = tabTypeCk
+        this.tabType = tabTypeCk
+      })
+    })
+  },
+  methods: {
+    tabTypeChange() {
+      this.workerId = ""
+      this.detailParams = []
+      this.$nextTick(() => {
+        this.tabTypeCk = this.tabType
+      })
+    }
+  },
+}
+</script>
+
+<style lang="scss" scoped>
+.tab {
+  padding: 20px 20px 0 20px;
+}
+</style>

+ 73 - 0
src/views/valueAddedService/orderMasterSplitAccount/pages/collect.vue

@@ -0,0 +1,73 @@
+<template>
+  <template-page ref="pageRef" :getList="getList" :operation="operation()" :exportList="exportList"
+    :columnParsing="columnParsing" :tableAttributes="tableAttributes" :tableEvents="tableEvents">
+  </template-page>
+</template>
+
+<script>
+import TemplatePage from '@/components/template/template-page-1.vue'
+import import_mixin from '@/components/template/import_mixin.js'
+import operation_mixin from '@/components/template/operation_mixin.js'
+import {
+  increOrderSettleCountWorkerList,
+  increOrderSettleCountWorkerListExport
+} from '@/api/orderSettleManag'
+import { EventBus } from '@/utils/eventBus'
+export default {
+  components: {
+    TemplatePage,
+  },
+  mixins: [import_mixin, operation_mixin],
+  data() {
+    return {
+      formBool: false,
+      // 表格属性
+      tableAttributes: {
+        // 启用勾选列
+        selectColumn: false,
+      },
+      // 表格事件
+      tableEvents: {
+        'selection-change': this.selectionChange
+      },
+      formData: {},
+      detailParams: []
+    }
+  },
+  methods: {
+    // 列表请求函数
+    getList(p) {
+      this.detailParams = p.params.filter(item => item.param === "a.pay_time")
+      return increOrderSettleCountWorkerList(p)
+    },
+
+    // 列表导出函数
+    exportList: increOrderSettleCountWorkerListExport,
+
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+
+    // 监听勾选变化
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+
+    operation() {
+      return this.operationBtn({
+        detail: {
+          btnType: 'text',
+          click: ({ row, index, column }) => {
+            var { workerId } = row
+            EventBus.$emit("orderMasterSplitAccount", { workerId, detailParams: this.detailParams, tabTypeCk: "offline" })
+          }
+        },
+      })
+    },
+
+  }
+}
+</script>
+
+<style lang="scss" scoped></style>

+ 86 - 0
src/views/valueAddedService/orderMasterSplitAccount/pages/offline.vue

@@ -0,0 +1,86 @@
+<template>
+  <template-page ref="pageRef" :getList="getList" :columnParsing="columnParsing" :tableAttributes="tableAttributes"
+    :tableEvents="tableEvents">
+  </template-page>
+</template>
+
+<script>
+import TemplatePage from '@/components/template/template-page-1.vue'
+import import_mixin from '@/components/template/import_mixin.js'
+import operation_mixin from '@/components/template/operation_mixin.js'
+import { increOrderSettleList2 } from "@/api/orderSettleManag.js"
+export default {
+  components: {
+    TemplatePage,
+  },
+  mixins: [import_mixin, operation_mixin],
+  props: {
+    workerId: {
+      type: [String, Number],
+      default: ""
+    },
+    detailParams: {
+      type: Array,
+      default: () => []
+    },
+  },
+  data() {
+    return {
+      formBool: false,
+      // 表格属性
+      tableAttributes: {
+        // 启用勾选列
+        selectColumn: false,
+      },
+      // 表格事件
+      tableEvents: {
+        'selection-change': this.selectionChange
+      },
+    }
+  },
+  methods: {
+    // 列表请求函数
+    getList(p, cb) {
+      try {
+        var pam = JSON.parse(JSON.stringify(p))
+        if (this.workerId) {
+          pam.params.push({ "param": "worker_id", "compare": "=", "value": this.workerId })
+        }
+        if(this.detailParams.length){
+          pam.params = [...pam.params.filter(item => item.param !== "a.pay_time"), ...this.detailParams,]
+        }
+        return increOrderSettleList2(pam)
+      } catch (err) {
+        console.log(err)
+      }
+    },
+
+    // 表格列解析渲染数据更改
+    columnParsing(item, defaultData) {
+      return defaultData
+    },
+
+    // 监听勾选变化
+    selectionChange(data) {
+      this.recordSelected = data
+    },
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.neibuview {
+  box-sizing: border-box;
+  padding-left: 16px;
+
+  ::v-deep &>.zj-page-fill-scroll {
+    box-sizing: border-box;
+    padding-right: 16px;
+
+    &>div:nth-child(1) {
+      margin-top: 20px;
+    }
+  }
+}
+</style>