浏览代码

2024.04.25
- 商家列表页面增加beeCoinRatio商家交易金提现比例字段显示;
- 完成提现记录接口的对接;

zweiqin 11 月之前
父节点
当前提交
f2bea2db53

+ 1 - 0
.eslintignore

@@ -1,6 +1,7 @@
 build/*.js
 src/assets
 src/canvas-container
+src/views/business/businessList
 canvas-container
 public
 dist

文件差异内容过多而无法显示
+ 289 - 277
package-lock.json


+ 5 - 4
package.json

@@ -18,7 +18,7 @@
     "axios": "0.18.1",
     "core-js": "3.6.5",
     "echarts": "^4.9.0",
-    "element-ui": "^2.15.6",
+    "element-ui": "^2.15.12",
     "es6-promise": "^4.2.8",
     "fuse.js": "^6.4.3",
     "install": "^0.13.0",
@@ -30,12 +30,11 @@
     "screenfull": "^5.0.2",
     "sortablejs": "^1.15.0",
     "swiper": "^5.4.5",
-    "vue": "2.6.10",
+    "vue": "^2.6.14",
     "vue-awesome-swiper": "^4.1.1",
     "vue-lang": "^0.2.5",
     "vue-quill-editor": "^3.0.6",
     "vue-router": "3.0.6",
-    "vue-style-loader": "^4.1.2",
     "vuedraggable": "^2.24.3",
     "vuex": "3.1.0"
   },
@@ -66,7 +65,9 @@
     "serve-static": "1.13.2",
     "svg-sprite-loader": "4.1.3",
     "svgo": "1.2.2",
-    "vue-template-compiler": "2.6.10"
+    "vue-loader": "^15.3.0",
+    "vue-style-loader": "^4.1.2",
+    "vue-template-compiler": "^2.5.17"
   },
   "browserslist": [
     "> 1%",

+ 22 - 5
src/views/business/businessList/index.vue

@@ -38,6 +38,12 @@
             <template slot-scope="scope">{{ scope.row.shopName }}</template>
           </el-table-column>
           <el-table-column prop="shopCode" label="店铺编码" />
+					<el-table-column align="center" min-width="120" label="商家交易金提现比例" prop="beecoinRatio">
+						<template slot-scope="{ row }">
+							<span v-if="row.beeCoinRatio">{{ row.beeCoinRatio }}:1</span>
+							<span v-else>--</span>
+						</template>
+					</el-table-column>
           <el-table-column prop="chargePersonName" label="负责人" />
           <el-table-column prop="chargePersonPhone" label="联系电话" />
           <el-table-column label="合同状态">
@@ -82,14 +88,19 @@
         : userState === 1
           ? '修改商家'
           : '查看商家'
-        " :visible.sync="dialogVisible" width="30%" center :before-close="closeFn" :close-on-click-modal="false">
+        " :visible.sync="dialogVisible" width="50%" center :before-close="closeFn" :close-on-click-modal="false">
         <div>
           <el-tabs v-model="activeName" @tab-click="handleClick">
             <el-tab-pane label="授权信息" name="first">
-              <el-form ref="ruleFormInfo" :model="ruleForm" :rules="rulesInfo" label-width="120px">
+              <el-form ref="ruleFormInfo" :model="ruleForm" :rules="rulesInfo" label-width="150px">
                 <el-form-item label="店铺名称" prop="shopName">
                   <el-input v-model="ruleForm.shopName" maxlength="20" :disabled="disabled" />
                 </el-form-item>
+                <el-form-item label="商家交易金提现比例" prop="beeCoinRatio">
+                  <el-input v-model="ruleForm.beeCoinRatio" type="text" :disabled="disabled" placeholder="商家交易金提现比例"
+                    style="width: 50%" />
+                  <span style="margin-left: 10px;">:1</span>
+                </el-form-item>
                 <el-form-item label="店铺负责人" prop="chargePersonName">
                   <el-input v-model="ruleForm.chargePersonName" maxlength="20" :disabled="disabled" />
                 </el-form-item>
@@ -278,8 +289,6 @@
 </template>
 
 <script>
-// 这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
-// 例如:import 《组件名称》 from '《组件路径》';
 import {
   businessListGetAll,
   businessListSave,
@@ -294,7 +303,6 @@ import { businessClassList } from '@/api/business'
 import SelectAddressMap from './components/SelectAddressMap'
 
 export default {
-  // eslint-disable-next-line vue/match-component-file-name
   name: 'BusinessList',
   components: { SelectAddressMap },
   data() {
@@ -340,6 +348,7 @@ export default {
       disabled: false,
       ruleForm: {
         shopName: '', // 店铺名称
+        beeCoinRatio: '', // 商家交易金提现比例
         chargePersonName: '', // 店铺负责人
         chargePersonPhone: '', // 负责人电话
         shopType: 2, // 店铺类型 1商城 2本地
@@ -368,6 +377,9 @@ export default {
       personPhone: '',
 
       rulesInfo: {
+        beeCoinRatio: [
+          { required: true, message: '请输入商家交易金提现比例', trigger: 'blur' }
+        ],
         effectiveYear: [
           { required: true, message: '请输入生效时限', trigger: 'blur' }
         ],
@@ -556,6 +568,7 @@ export default {
       this.personPhone = ''
       this.ruleForm = {
         shopName: '', // 店铺名称
+        beeCoinRatio: '', // 商家交易金提现比例
         chargePersonName: '', // 店铺负责人
         chargePersonPhone: '', // 负责人电话
         shopAdress: '', // 地址
@@ -613,6 +626,10 @@ export default {
             this.$message.error('请输入生效日期')
             return
           }
+          if (submitData.beeCoinRatio === '') {
+            this.$message.error('请输入商家交易金提现比例')
+            return
+          }
           if (submitData.effectiveYear === '') {
             this.$message.error('请输入生效年限')
             return

+ 221 - 0
src/views/finance/withdrawal/components/DetailModal.vue

@@ -0,0 +1,221 @@
+<template>
+  <el-dialog :visible.sync="visible" v-bind="modalOptions">
+    <div>
+      <el-descriptions title="" :column="2" border>
+        <el-descriptions-item label="店铺名称:">
+          {{ formData.shopName }}
+        </el-descriptions-item>
+        <el-descriptions-item label="店铺编码:">
+          {{ formData.shopCode }}
+        </el-descriptions-item>
+        <el-descriptions-item label="银行名称:">
+          {{ formData.bankName }}
+        </el-descriptions-item>
+        <el-descriptions-item label="银行卡号:">
+          {{ formData.bankCard }}
+        </el-descriptions-item>
+        <el-descriptions-item label="收款人姓名:">
+          {{ formData.collectionName }}
+        </el-descriptions-item>
+        <el-descriptions-item label="提现金额:">
+          {{ formData.withdrawalMoney }}
+        </el-descriptions-item>
+        <el-descriptions-item label="申请时间:">
+          {{ formData.applyTime }}
+        </el-descriptions-item>
+        <el-descriptions-item v-if="formData.handleTime" label="处理时间:">
+          {{ formData.handleTime }}
+        </el-descriptions-item>
+      </el-descriptions>
+    </div>
+
+    <el-tabs value="relatedSettlement">
+      <el-tab-pane label="结算列表" name="relatedSettlement">
+        <div v-if="formData.relatedSettlement && formData.relatedSettlement.length" style="margin-top: 32px;">
+          <el-table
+            v-loading="!formData.relatedSettlement.length" height="60vh" element-loading-text="暂无结算数据" :data="formData.relatedSettlement"
+            v-bind="{ stripe: true, size: 'small', border: true, fit: true, highlightCurrentRow: true }"
+          >
+            <el-table-column align="center" min-width="80" prop="id" label="ID" show-overflow-tooltip />
+            <el-table-column align="center" width="120" prop="canWithdrawalAmount" label="可提现金额" show-overflow-tooltip />
+            <el-table-column align="center" prop="createTime" label="创建时间" width="150" />
+            <el-table-column align="center" min-width="150" prop="curWithdrawalAmount" label="占关联提现申请总额的金额" show-overflow-tooltip />
+            <el-table-column align="center" min-width="120" prop="refundAmount" label="回退金额" show-overflow-tooltip />
+            <el-table-column align="center" width="100" prop="shopId" label="关联店铺ID" show-overflow-tooltip />
+            <el-table-column align="center" width="150" prop="sn" label="结算编号" show-overflow-tooltip />
+            <el-table-column align="center" label="结算状态" prop="state">
+              <template slot-scope="{ row }">
+                <el-tag v-if="row.state === 0" effect="plain" type="info">未清算</el-tag>
+                <el-tag v-else-if="row.state === 1" effect="plain" type="success">已清算</el-tag>
+                <span v-else>--</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="center" width="100" prop="totalPrice" label="总金额" />
+            <el-table-column align="center" width="100" prop="withdrawaledAmount" label="已提现金额" show-overflow-tooltip />
+            <el-table-column align="center" width="100" prop="withdrawalingAmount" label="提现中的金额" show-overflow-tooltip />
+            <el-table-column align="center" label="操作" width="120" fixed="right" class-name="small-padding fixed-width">
+              <template slot-scope="{ row }">
+                <el-button
+                  v-if="formData.relatedOrders[row.sn]" type="success" size="mini"
+                  @click="$refs.RelatedOrders && $refs.RelatedOrders.handleOpen(formData, row.sn)"
+                >
+                  关联订单
+                </el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+          <!-- 关联订单 -->
+          <RelatedOrders ref="RelatedOrders" />
+        </div>
+        <div v-else style="font-size: 16px;font-weight: bold;">无结算数据</div>
+      </el-tab-pane>
+      <el-tab-pane label="关联用户列表" name="relatedBuyerUsers">
+        <div v-if="formData.relatedBuyerUsers && formData.relatedBuyerUsers.length" style="margin-top: 32px;">
+          <el-table
+            v-loading="!formData.relatedBuyerUsers.length" height="60vh" element-loading-text="暂无用户数据" :data="formData.relatedBuyerUsers"
+            v-bind="{ stripe: true, size: 'small', border: true, fit: true, highlightCurrentRow: true }"
+          >
+            <el-table-column align="center" min-width="80" prop="buyerUserId" label="用户ID" show-overflow-tooltip />
+            <el-table-column align="center" width="100" label="头像" prop="headImage">
+              <template slot-scope="{ row }">
+                <el-image
+                  v-if="row.headImage" lazy :src="common.seamingImgUrl(row.headImage)"
+                  style="width:40px; height:40px" fit="cover"
+                  :preview-src-list="[ common.seamingImgUrl(row.headImage) ]"
+                />
+                <span v-else>--</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="注册来源" prop="terminal">
+              <template slot-scope="{ row }">
+                <span v-if="row.terminal === 1">APP</span>
+                <span v-else-if="row.terminal === 2">小程序</span>
+                <span v-else-if="row.terminal === 3">H5</span>
+                <span v-else-if="row.terminal === 4">支付宝小程序</span>
+                <span v-else-if="row.terminal === 5">PC</span>
+                <span v-else>未知</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="center" min-width="120" prop="birthday" label="生日" show-overflow-tooltip />
+            <el-table-column align="center" min-width="80" prop="sex" label="性别" show-overflow-tooltip />
+            <el-table-column align="center" min-width="100" prop="name" label="用户昵称" show-overflow-tooltip />
+            <el-table-column align="center" min-width="100" prop="phone" label="用户手机号" show-overflow-tooltip />
+            <el-table-column align="center" min-width="100" prop="wechatName" label="微信名称" show-overflow-tooltip />
+            <!-- <el-table-column align="center" min-width="120" prop="channelCode" label="渠道编码" show-overflow-tooltip /> -->
+            <!-- <el-table-column align="center" min-width="120" prop="credit" label="积分" show-overflow-tooltip />
+              <el-table-column align="center" min-width="120" prop="growth" label="成长值" show-overflow-tooltip /> -->
+            <el-table-column align="center" min-width="100" label="是否黑名单" prop="ifBlack">
+              <template slot-scope="{ row }">
+                <el-tag v-if="row.ifBlack === 0" effect="plain" type="info">否</el-tag>
+                <el-tag v-else-if="row.ifBlack === 1" effect="plain" type="danger">是</el-tag>
+                <span v-else>--</span>
+              </template>
+            </el-table-column>
+            <!-- <el-table-column align="center" min-width="120" prop="state" label="状态" show-overflow-tooltip /> -->
+            <el-table-column align="center" min-width="150" prop="createTime" label="创建时间" show-overflow-tooltip />
+          </el-table>
+        </div>
+        <div v-else style="font-size: 16px;font-weight: bold;">无关联用户数据</div>
+      </el-tab-pane>
+    </el-tabs>
+  </el-dialog>
+</template>
+
+<script>
+import RelatedOrders from './RelatedOrders'
+import { withdrawalGetById } from '@/api/withdrawal'
+
+export default {
+  name: 'DetailModal',
+  components: {
+    RelatedOrders
+  },
+  data() {
+    return {
+      modalOptions: {
+        closeOnClickModal: false,
+        width: '800px',
+        title: '查看提现详情'
+      },
+      visible: false,
+      formData: {
+        shopName: '',
+        shopCode: '',
+        bankName: '',
+        bankCard: '',
+        collectionName: '',
+        withdrawalMoney: '',
+        applyTime: '',
+        handleTime: '',
+        state: '',
+        relatedSettlement: [], // 结算记录
+        relatedOrders: {}, // 相关订单
+        relatedPresenterVoucherLogs: {}, // 代金券记录
+        relatedCommissionLogs: {}, // 佣金记录
+        relatedBuyerUsers: [] // 用户列表
+      }
+    }
+  },
+  methods: {
+    handleClose() {
+      this.visible = false
+    },
+    handleOpen(params = {}) {
+      this.formData = Object.assign(this.$options.data().formData, params)
+      if (params.withdrawalId) {
+        this.getInfo(params.withdrawalId)
+      }
+      this.visible = true
+    },
+    async getInfo(id) {
+      const loading = this.$loading({ text: '加载中' })
+      try {
+        const res = await withdrawalGetById({ withdrawalId: id })
+        this.formData = Object.assign(this.$options.data().formData, res.data, {
+          shopName: res.data.shopName || '',
+          shopCode: res.data.shopCode || '',
+          bankName: res.data.bankName || '',
+          bankCard: res.data.bankCard || '',
+          collectionName: res.data.collectionName || '',
+          withdrawalMoney: res.data.withdrawalMoney || 0,
+          applyTime: res.data.applyTime || '',
+          handleTime: res.data.handleTime || '',
+          state: res.data.state || 0,
+          relatedSettlement: res.data.relatedSettlement || [],
+          relatedOrders: res.data.relatedOrders || {},
+          relatedPresenterVoucherLogs: res.data.relatedPresenterVoucherLogs || {},
+          relatedCommissionLogs: res.data.relatedCommissionLogs || {},
+          relatedBuyerUsers: res.data.relatedBuyerUsers || []
+        })
+      } finally {
+        loading.close()
+      }
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+// ::v-deep .el-collapse {
+// 	.el-collapse-item__header {
+// 		height: auto;
+// 	}
+
+// 	.el-descriptions {
+// 		flex: 1;
+// 		margin-right: 20px;
+// 	}
+// }
+.small-padding {
+	.cell {
+		padding-left: 5px;
+		padding-right: 5px;
+	}
+}
+
+.fixed-width {
+	.el-button--mini {
+		padding: 7px 10px;
+	}
+}
+</style>

+ 102 - 0
src/views/finance/withdrawal/components/RelatedCommissionLogs.vue

@@ -0,0 +1,102 @@
+<template>
+  <el-dialog :visible.sync="visible" v-bind="modalOptions" append-to-body>
+    <div>
+      <el-table
+        v-loading="!formData.relatedCommissionLogsList || !formData.relatedCommissionLogsList.length"
+        height="60vh" element-loading-text="暂无佣金记录数据" :data="formData.relatedCommissionLogsList"
+        v-bind="{ stripe: true, size: 'small', border: true, fit: true, highlightCurrentRow: true }"
+      >
+        <el-table-column align="center" min-width="80" prop="recordId" label="ID" show-overflow-tooltip />
+        <!-- <el-table-column align="center" min-width="150" prop="acquirerId" label="得到方ID" show-overflow-tooltip /> -->
+        <el-table-column align="center" min-width="100" label="类型" prop="type">
+          <template slot-scope="{ row }">
+            <span v-if="row.type === 1">关系链</span>
+            <span v-else-if="row.type === 2">商城</span>
+            <span v-else-if="row.type === 3">本地</span>
+            <span v-else-if="row.type === 4">服务</span>
+            <span v-else-if="row.type === 5">支付</span>
+            <span v-else-if="row.type === 6">退款</span>
+            <span v-else-if="row.type === 7">提现</span>
+            <span v-else>--</span>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" min-width="100" label="变化金额" prop="amount">
+          <template slot-scope="{ row }">
+            <span>
+              {{ [5, 7].includes(row.type) ? '-' : [1, 2, 3, 4, 6].includes(row.type) ? '+' : '' }}
+              {{ row.amount }}
+            </span>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" min-width="150" prop="orderSn" label="订单编号" show-overflow-tooltip />
+        <el-table-column align="center" min-width="100" prop="totalAmount" label="订单总额" show-overflow-tooltip />
+        <el-table-column align="center" min-width="150" prop="createTime" label="创建时间" show-overflow-tooltip />
+        <el-table-column align="center" min-width="80" prop="buyerUserId" label="用户ID" show-overflow-tooltip />
+        <el-table-column align="center" width="100" label="来源用户头像" prop="imgOne">
+          <template slot-scope="{ row }">
+            <el-image
+              v-if="row.imgOne" lazy :src="common.seamingImgUrl(row.imgOne)"
+              style="width:40px; height:40px" fit="cover"
+              :preview-src-list="[ common.seamingImgUrl(row.imgOne) ]"
+            />
+            <span v-else>--</span>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" min-width="150" prop="userNameOne" label="来源用户名称" show-overflow-tooltip />
+      </el-table>
+    </div>
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button size="mini" @click="handleClose">关 闭</el-button>
+      </span>
+    </template>
+  </el-dialog>
+</template>
+
+<script>
+
+export default {
+  name: 'RelatedCommissionLogs',
+  data() {
+    return {
+      modalOptions: {
+        closeOnClickModal: false,
+        width: '920px',
+        title: '佣金记录'
+      },
+      visible: false,
+      formData: {
+        relatedCommissionLogsList: []
+      }
+    }
+  },
+  methods: {
+    handleClose() {
+      this.visible = false
+    },
+    handleOpen(params = []) {
+      this.formData.relatedCommissionLogsList = params
+      this.visible = true
+      this.$forceUpdate()
+      // this.$refs.formData && this.$refs.formData.resetFields()
+    },
+    handleSubmit() {
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.small-padding {
+	.cell {
+		padding-left: 5px;
+		padding-right: 5px;
+	}
+}
+
+.fixed-width {
+	.el-button--mini {
+		padding: 7px 10px;
+	}
+}
+</style>

+ 163 - 0
src/views/finance/withdrawal/components/RelatedOrders.vue

@@ -0,0 +1,163 @@
+<template>
+  <el-dialog :visible.sync="visible" v-bind="modalOptions" append-to-body>
+    <div>
+      <el-table
+        v-loading="!formData.relatedOrders[orderSn]" height="60vh" element-loading-text="暂无关联订单数据"
+        :data="formData.relatedOrders[orderSn]"
+        v-bind="{ stripe: true, size: 'small', border: true, fit: true, highlightCurrentRow: true }"
+      >
+        <el-table-column align="center" min-width="80" prop="orderId" label="订单ID" show-overflow-tooltip />
+        <el-table-column align="center" min-width="150" prop="orderFormid" label="订单编号" show-overflow-tooltip />
+        <el-table-column align="center" min-width="150" prop="createTime" label="创建时间" show-overflow-tooltip />
+        <el-table-column align="center" min-width="120" label="订单状态" prop="state">
+          <template slot-scope="{ row }">
+            <span v-if="row.state === 1">待付款</span>
+            <span v-else-if="row.state === 2">待发货</span>
+            <span v-else-if="row.state === 3">待收货</span>
+            <span v-else-if="row.state === 4">已完成</span>
+            <span v-else-if="row.state === 5">交易关闭(已取消)</span>
+            <span v-else-if="row.state === 6">待成团</span>
+            <span v-else-if="row.state === 7">待售后</span>
+            <span v-else-if="row.state === 8">待核销(未付款)</span>
+            <span v-else-if="row.state === 9">待核销(已付款)</span>
+            <span v-else-if="row.state === 10">已核销</span>
+            <span v-else>--</span>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" min-width="100" prop="orderPrice" label="商品总价" show-overflow-tooltip />
+        <el-table-column align="center" min-width="100" prop="price" label="支付金额" show-overflow-tooltip />
+        <el-table-column align="center" min-width="120" label="支付方式" prop="paymentMode">
+          <template slot-scope="{ row }">
+            <span v-if="row.paymentMode === 1">微信支付</span>
+            <span v-else-if="row.paymentMode === 2">支付宝支付</span>
+            <span v-else-if="row.paymentMode === 3">花呗分期</span>
+            <span v-else-if="row.paymentMode === 4">通联支付(微信)</span>
+            <span v-else-if="row.paymentMode === 5">平台余额支付</span>
+            <span v-else-if="row.paymentMode === 6">商家余额支付</span>
+            <span v-else-if="row.paymentMode === 7">佣金支付</span>
+            <span v-else>--</span>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" min-width="100" label="是否支付" prop="paymentState">
+          <template slot-scope="{ row }">
+            <el-tag v-if="row.paymentState === 0" effect="plain" type="info">否</el-tag>
+            <el-tag v-else-if="row.paymentState === 1" effect="plain" type="success">是</el-tag>
+            <span v-else>--</span>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" min-width="150" prop="paymentTime" label="支付时间" show-overflow-tooltip />
+        <el-table-column align="center" min-width="100" prop="logisticsPrice" label="物流费用" show-overflow-tooltip />
+        <el-table-column align="center" min-width="100" label="售后状态" prop="afterState">
+          <template slot-scope="{ row }">
+            <span v-if="row.afterState === -1">无退货</span>
+            <span v-if="row.afterState === 1">审核中</span>
+            <span v-else-if="row.afterState === 2">退款中</span>
+            <span v-else-if="row.afterState === 3">退货中</span>
+            <span v-else-if="row.afterState === 4">退款完成</span>
+            <span v-else-if="row.afterState === 5">退款失败</span>
+            <span v-else-if="row.afterState === 6">审核不通过</span>
+            <span v-else-if="row.afterState === 7">评审中</span>
+            <span v-else-if="row.afterState === 8">退货完成,拒绝退款</span>
+            <span v-else-if="row.afterState === 9">撤销申请</span>
+            <span v-else-if="row.afterState === 10">审核通过</span>
+            <span v-else>--</span>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" min-width="80" prop="buyerUserId" label="客户ID" show-overflow-tooltip />
+        <el-table-column align="center" min-width="100" prop="customerName" label="下单账户" show-overflow-tooltip />
+        <el-table-column align="center" min-width="120" prop="customerPhone" label="下单账户手机号" show-overflow-tooltip />
+        <el-table-column align="center" min-width="150" prop="receiveAdress" label="收货人地址" show-overflow-tooltip />
+        <el-table-column align="center" min-width="100" prop="receiveName" label="收货人姓名" show-overflow-tooltip />
+        <el-table-column align="center" min-width="150" prop="receivePhone" label="收货人手机号" show-overflow-tooltip />
+        <el-table-column align="center" min-width="150" prop="address" label="详细地址" show-overflow-tooltip />
+        <el-table-column align="center" min-width="120" prop="shopId" label="关联店铺ID" show-overflow-tooltip />
+        <el-table-column label="操作" width="200" fixed="right" class-name="small-padding fixed-width">
+          <template slot-scope="{ row }">
+            <el-button
+              v-if="formData.relatedPresenterVoucherLogs[row.orderFormid]" type="success" size="mini"
+              @click="$refs.RelatedVoucherLogs && $refs.RelatedVoucherLogs.handleOpen(formData.relatedPresenterVoucherLogs[row.orderFormid])"
+            >
+              代金券记录
+            </el-button>
+            <el-button
+              v-if="formData.relatedCommissionLogs[row.orderFormid]" type="success" size="mini"
+              @click="$refs.RelatedCommissionLogs && $refs.RelatedCommissionLogs.handleOpen(formData.relatedCommissionLogs[row.orderFormid])"
+            >
+              佣金记录
+            </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+
+      <!-- 代金券记录 -->
+      <RelatedVoucherLogs ref="RelatedVoucherLogs" />
+      <!-- 佣金记录 -->
+      <RelatedCommissionLogs ref="RelatedCommissionLogs" />
+    </div>
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button size="mini" @click="handleClose">关 闭</el-button>
+      </span>
+    </template>
+  </el-dialog>
+</template>
+
+<script>
+import RelatedVoucherLogs from './RelatedVoucherLogs'
+import RelatedCommissionLogs from './RelatedCommissionLogs'
+
+export default {
+  name: 'RelatedOrders',
+  components: {
+    RelatedVoucherLogs,
+    RelatedCommissionLogs
+  },
+  data() {
+    return {
+      modalOptions: {
+        closeOnClickModal: false,
+        width: '1120px',
+        title: '关联订单'
+      },
+      visible: false,
+      formData: {
+        relatedSettlement: [],
+        relatedOrders: {},
+        relatedPresenterVoucherLogs: {},
+        relatedCommissionLogs: {}
+      },
+      orderSn: ''
+    }
+  },
+  methods: {
+    handleClose() {
+      this.visible = false
+    },
+    handleOpen(params = {}, orderSn) {
+      console.log(params)
+      this.formData = Object.assign(this.$options.data().formData, params)
+      this.orderSn = orderSn
+      this.visible = true
+      this.$forceUpdate()
+      // this.$refs.formData && this.$refs.formData.resetFields()
+    },
+    handleSubmit() {
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.small-padding {
+	.cell {
+		padding-left: 5px;
+		padding-right: 5px;
+	}
+}
+
+.fixed-width {
+	.el-button--mini {
+		padding: 7px 10px;
+	}
+}
+</style>

+ 96 - 0
src/views/finance/withdrawal/components/RelatedVoucherLogs.vue

@@ -0,0 +1,96 @@
+<template>
+  <el-dialog :visible.sync="visible" v-bind="modalOptions" append-to-body>
+    <div>
+      <el-table
+        v-loading="!formData.relatedPresenterVoucherLogsList || !formData.relatedPresenterVoucherLogsList.length"
+        height="60vh" element-loading-text="暂无佣金记录数据" :data="formData.relatedPresenterVoucherLogsList"
+        v-bind="{ stripe: true, size: 'small', border: true, fit: true, highlightCurrentRow: true }"
+      >
+        <el-table-column align="center" min-width="120" prop="holdId" label="支出方用户ID" show-overflow-tooltip />
+        <el-table-column align="center" min-width="120" prop="userId" label="收入方用户ID" show-overflow-tooltip />
+        <el-table-column align="center" min-width="100" label="用户类型" prop="type">
+          <template slot-scope="{ row }">
+            <span v-if="row.type === 1">总部</span>
+            <span v-else-if="row.type === 2">分公司</span>
+            <span v-else-if="row.type === 3">策划师</span>
+            <span v-else-if="row.type === 4">商家</span>
+            <span v-else-if="row.type === 5">用户</span>
+            <span v-else>--</span>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" min-width="150" label="代金券流水类型" prop="type">
+          <template slot-scope="{ row }">
+            <span v-if="row.type === 1">充值</span>
+            <span v-else-if="row.type === 2">转赠</span>
+            <span v-else-if="row.type === 3">签到</span>
+            <span v-else-if="row.type === 4">抵扣</span>
+            <span v-else-if="row.type === 5">核销</span>
+            <span v-else-if="row.type === 6">抽奖</span>
+            <span v-else-if="row.type === 7">退款</span>
+            <span v-else-if="row.type === 8">充值赠送</span>
+            <span v-else-if="row.type === 9">下单</span>
+            <span v-else-if="row.type === 10">社区订单</span>
+            <span v-else-if="row.type === 11">活动</span>
+            <span v-else>--</span>
+          </template>
+        </el-table-column>
+        <el-table-column align="center" min-width="120" prop="number" label="发送代金券数量" show-overflow-tooltip />
+        <el-table-column align="center" min-width="150" prop="createTime" label="发放时间" show-overflow-tooltip />
+        <el-table-column align="center" min-width="200" prop="orderSn" label="订单编号/转赠流水号" show-overflow-tooltip />
+      </el-table>
+    </div>
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button size="mini" @click="handleClose">关 闭</el-button>
+      </span>
+    </template>
+  </el-dialog>
+</template>
+
+<script>
+
+export default {
+  name: 'RelatedVoucherLogs',
+  data() {
+    return {
+      modalOptions: {
+        closeOnClickModal: false,
+        width: '920px',
+        title: '代金券记录'
+      },
+      visible: false,
+      formData: {
+        relatedPresenterVoucherLogsList: []
+      }
+    }
+  },
+  methods: {
+    handleClose() {
+      this.visible = false
+    },
+    handleOpen(params = []) {
+      this.formData.relatedPresenterVoucherLogsList = params
+      this.visible = true
+      this.$forceUpdate()
+      // this.$refs.formData && this.$refs.formData.resetFields()
+    },
+    handleSubmit() {
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.small-padding {
+	.cell {
+		padding-left: 5px;
+		padding-right: 5px;
+	}
+}
+
+.fixed-width {
+	.el-button--mini {
+		padding: 7px 10px;
+	}
+}
+</style>

+ 168 - 0
src/views/finance/withdrawal/components/WithdrawalProcessing.vue

@@ -0,0 +1,168 @@
+<template>
+  <el-dialog
+    :visible.sync="visible"
+    v-bind="modalOptions"
+  >
+    <div>
+      <el-descriptions title="" :column="2" border>
+        <el-descriptions-item label="店铺名称:">
+          {{ formData.shopName }}
+        </el-descriptions-item>
+        <el-descriptions-item label="店铺编码:">
+          {{ formData.shopCode }}
+        </el-descriptions-item>
+        <el-descriptions-item label="银行名称:">
+          {{ formData.bankName }}
+        </el-descriptions-item>
+        <el-descriptions-item label="银行卡号:">
+          {{ formData.bankCard }}
+        </el-descriptions-item>
+        <el-descriptions-item label="收款人姓名:">
+          {{ formData.collectionName }}
+        </el-descriptions-item>
+        <el-descriptions-item label="提现金额:">
+          {{ formData.withdrawalMoney }}
+        </el-descriptions-item>
+        <el-descriptions-item label="申请时间:">
+          {{ formData.applyTime }}
+        </el-descriptions-item>
+        <el-descriptions-item v-if="formData.handleTime" label="处理时间:">
+          {{ formData.handleTime }}
+        </el-descriptions-item>
+      </el-descriptions>
+    </div>
+    <div style="color: red;font-size: 16px;text-align: center;">* 请确认您已转账成功,再点击确认</div>
+    <el-input v-show="formData.state == 3" v-model="formData.cause" type="textarea" autosize placeholder="请输入拒绝打款理由">
+    </el-input>
+    <div v-show="formData.state == 2" style="margin-top: 30px;">
+      <el-radio v-model="formData.type" label="1" border>通联</el-radio>
+      <el-radio v-model="formData.type" label="2" border>线下</el-radio>
+    </div>
+
+    <template #footer>
+      <span>
+        <el-button @click="visible = false">取 消</el-button>
+        <el-button v-if="formData.state == 3" type="danger" @click="handleRefuse">确认拒绝打款</el-button>
+        <el-button v-else type="danger" @click="handleRefuse">拒绝打款</el-button>
+        <el-button v-if="formData.state == 2" type="primary" @click="handleConfirm">确认打款</el-button>
+        <el-button v-else type="primary" @click="handleConfirm">确认用户信息</el-button>
+      </span>
+    </template>
+  </el-dialog>
+</template>
+
+<script>
+import { withdrawalGetById, withdrawalHandle } from '@/api/withdrawal'
+
+export default {
+  name: 'WithdrawalProcessing',
+  components: {
+  },
+  data() {
+    return {
+      modalOptions: {
+        closeOnClickModal: false,
+        width: '820px',
+        title: '提现处理'
+      },
+      visible: false,
+      formData: {
+        shopName: '',
+        shopCode: '',
+        bankName: '',
+        bankCard: '',
+        collectionName: '',
+        withdrawalMoney: '',
+        applyTime: '',
+        handleTime: '',
+        state: '',
+        type: '', // 支付方式选择
+        cause: '' // 拒绝理由
+      },
+      formRules: {
+      }
+    }
+  },
+  methods: {
+    handleClose() {
+      this.visible = false
+    },
+    async initList() {
+    },
+    handleOpen(params = {}) {
+      this.modalOptions.title = '提现处理'
+      this.visible = true
+      this.initList()
+      if (params.withdrawalId) {
+        this.getInfo(params.withdrawalId)
+      } else {
+        this.$refs.formData && this.$refs.formData.resetFields()
+      }
+    },
+    async getInfo(id) {
+      const loading = this.$loading({ text: '加载中' })
+      try {
+        const res = await withdrawalGetById({ withdrawalId: id })
+        this.formData = Object.assign(this.$options.data().formData, res.data, {
+          shopName: res.data.shopName || '',
+          shopCode: res.data.shopCode || '',
+          bankName: res.data.bankName || '',
+          bankCard: res.data.bankCard || '',
+          collectionName: res.data.collectionName || '',
+          withdrawalMoney: res.data.withdrawalMoney || 0,
+          applyTime: res.data.applyTime || '',
+          handleTime: res.data.handleTime || '',
+          state: res.data.state || 0,
+          type: res.data.type || ''
+        })
+        this.$nextTick(() => {
+          this.$refs.formData && this.$refs.formData.validate()
+        })
+      } finally {
+        loading.close()
+      }
+    },
+    //  拒绝打款
+    async handleRefuse() {
+      if (this.formData.state == 3) {
+        if (!this.formData.cause) return this.$message.error('拒绝理由不能为空')
+        const res = await withdrawalHandle({
+          withdrawalId: this.formData.withdrawalId,
+          state: '3',
+          audit: 2,
+          cause: this.formData.cause
+        })
+        if (res.code == '') {
+          this.$message.success('成功拒绝打款!!!')
+        }
+        this.visible = false
+        this.$emit('success')
+      } else {
+        this.formData.state = 3
+        this.$message.warning('请填写理由并确定拒绝打款!!!')
+      }
+    },
+    // 确认打款
+    async handleConfirm() {
+      if (this.formData.state == 2) {
+        if (!this.formData.type) return this.$message.error('请选择打款方式')
+        const res = await withdrawalHandle({
+          withdrawalId: this.formData.withdrawalId,
+          state: '2',
+          audit: 1,
+          type: this.formData.type
+        })
+        if (res.code == '') {
+          this.$message.success('打款成功!!!')
+        }
+        this.visible = false
+        this.$emit('success')
+      } else {
+        this.formData.state = 2
+        this.$message.warning('请再次确认!!!')
+      }
+    }
+  }
+}
+</script>
+

+ 130 - 312
src/views/finance/withdrawal/index.vue

@@ -1,162 +1,105 @@
 <!--  -->
 <template>
-  <div class="pdl">
-    <!-- 搜索 -->
-    <div class="formSearch">
-      <el-form :inline="true" :model="formInline">
-        <el-form-item label="店铺名称">
-          <el-input v-model="formInline.shopName" maxlength="20" placeholder="请输入店铺名称" />
-        </el-form-item>
-        <el-form-item label="店铺编码">
-          <el-input v-model="formInline.shopCode" maxlength="20" placeholder="请输入店铺编码" />
-        </el-form-item>
-
-        <el-form-item label="提现日期">
-          <el-date-picker v-model="formInline.startTime" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" />
-        </el-form-item>
-        <el-form-item label="处理状态">
-          <el-select v-model="formInline.state" placeholder="请选择">
-            <el-option label="待处理" value="0" />
-            <el-option label="已处理" value="1" />
-            <el-option label="通过" value="2" />
-            <el-option label="拒绝" value="3" />
-            <el-option label="打款失败" value="4" />
-          </el-select>
-        </el-form-item>
-        <el-form-item>
-          <el-button type="primary" plain @click="search">查询</el-button>
-          <el-button type="success" plain @click="clear">重置</el-button>
-        </el-form-item>
-      </el-form>
+  <div class="app-container">
+    <!-- 查询和其他操作 -->
+    <div class="filter-container">
+      <el-input
+        v-model="listQuery.shopName" clearable size="mini" class="filter-item"
+        style="width: 200px;"
+        placeholder="请输入店铺名称"
+      />
+      <el-input
+        v-model="listQuery.shopCode" clearable size="mini" class="filter-item"
+        style="width: 200px;margin-left: 10px;" placeholder="请输入店铺编码"
+      />
+      <el-date-picker
+        v-model="listQuery.startTime" type="date" value-format="yyyy-MM-dd" placeholder="选择日期"
+        size="mini" class="filter-item" style="width: 200px;margin-left: 10px;"
+      />
+      <el-select
+        v-model="listQuery.state" clearable size="mini" class="filter-item"
+        style="width: 200px;margin-left: 10px;" placeholder="请选择处理状态"
+      >
+        <el-option label="待处理" value="0" />
+        <el-option label="已处理" value="1" />
+        <el-option label="通过" value="2" />
+        <el-option label="拒绝" value="3" />
+        <el-option label="打款失败" value="4" />
+      </el-select>
+      <el-button
+        size="mini" class="filter-item" type="primary" icon="el-icon-search"
+        style="margin-left: 10px;"
+        @click="handleSearch"
+      >
+        查找
+      </el-button>
+      <el-button size="mini" type="info" class="filter-item" @click="handleReset">
+        重置
+      </el-button>
     </div>
-    <!-- 表格 -->
-    <div class="tableBox">
-      <el-table ref="multipleTable" :data="tableData" border
-        :header-cell-style="{ background: '#EEF3FF', color: '#333333' }" tooltip-effect="dark" style="width: 100%">
-        <el-table-column label="店铺名称" width="220">
-          <template slot-scope="scope">{{ scope.row.shopName }}</template>
-        </el-table-column>
-        <el-table-column prop="shopCode" label="店铺编码" />
-        <el-table-column prop="withdrawalMoney" label="提现金额" />
-        <el-table-column prop="state" label="处理状态">
-          <template slot-scope="scope">
-            <span v-if="scope.row.state == 0">待处理</span>
-            <span v-if="scope.row.state == 1">已处理</span>
-            <span v-if="scope.row.state == 2">通过</span>
-            <span v-if="scope.row.state == 3">拒绝</span>
-            <span v-if="scope.row.state == 4">打款失败</span>
+
+    <!-- 查询结果 -->
+    <div v-tableHeight>
+      <el-table
+        v-loading="listLoading" height="100%" element-loading-text="正在查询中。。。" :data="list"
+        v-bind="{ stripe: true, size: 'small', border: true, fit: true, highlightCurrentRow: true }"
+      >
+        <el-table-column align="center" width="150" label="店铺名称" prop="shopName" show-overflow-tooltip />
+        <el-table-column align="center" min-width="150" label="店铺编码" prop="shopCode" show-overflow-tooltip />
+        <el-table-column align="center" width="120" label="提现金额" prop="withdrawalMoney" show-overflow-tooltip />
+        <el-table-column align="center" label="处理状态" prop="state">
+          <template slot-scope="{ row }">
+            <el-tag v-if="row.state === 0" effect="plain" type="info">待处理</el-tag>
+            <el-tag v-else-if="row.state === 1" effect="plain" type="success">已处理</el-tag>
+            <el-tag v-else-if="row.state === 2" effect="plain">通过</el-tag>
+            <el-tag v-else-if="row.state === 3" effect="plain" type="warning">拒绝</el-tag>
+            <el-tag v-else-if="row.state === 4" effect="plain" type="danger">打款失败</el-tag>
+            <span v-else>--</span>
           </template>
         </el-table-column>
-        <el-table-column label="操作" show-overflow-tooltip>
-          <template slot-scope="scope">
-            <div class="btnList">
-              <el-button type="text" @click="seeMore(scope.row)">查看</el-button>
-              <el-button v-if="scope.row.state == 0|| scope.row.state == 2" type="text" @click="desh(scope.row)">处理</el-button>
-            </div>
+        <el-table-column label="操作" width="180" fixed="right" class-name="small-padding fixed-width">
+          <template slot-scope="{ row }">
+            <el-button type="warning" size="mini" @click="handleDetail(row)">
+              详情
+            </el-button>
+            <el-button v-if="(row.state == 0) || (row.state == 2)" size="mini" @click="handleResolve(row)">
+              处理
+            </el-button>
           </template>
         </el-table-column>
       </el-table>
-      <div class="fenye">
-        <el-pagination :current-page="currentPage" :page-sizes="[10, 20, 50, 100]" :page-size="10"
-          layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="handleSizeChange"
-          @current-change="handleCurrentChange" />
-      </div>
     </div>
-    <!-- *************对话框开始************* -->
-    <!-- 提现申请查询 -->
-    <el-dialog :title="useState ? '查看' : '提现'" :visible.sync="addFormDialog" width="800px" center
-      :close-on-click-modal="false" @close="closeDialog">
-      <div class="seeModel">
-        <el-descriptions class="margin-top" title="" :column="2" border>
-          <el-descriptions-item>
-            <template #label>
-              店铺名称:
-            </template>
-            {{ withDetails.shopName }}
-          </el-descriptions-item>
-          <el-descriptions-item>
-            <template #label>
-              店铺编码:
-            </template>
-            {{ withDetails.shopCode }}
-          </el-descriptions-item>
-          <el-descriptions-item>
-            <template #label>
-              银行名称:
-            </template>
-            {{ withDetails.bankName }}
-          </el-descriptions-item>
-          <el-descriptions-item>
-            <template #label>
-              银行卡号:
-            </template>
-            {{ withDetails.bankCard }}
-          </el-descriptions-item>
-          <el-descriptions-item>
-            <template #label>
-              收款人姓名:
-            </template>
-            {{ withDetails.collectionName }}
-          </el-descriptions-item>
-          <el-descriptions-item>
-            <template #label>
-              提现金额:
-            </template>
-            {{ withDetails.withdrawalMoney }}
-          </el-descriptions-item>
-          <el-descriptions-item>
-            <template #label>
-              申请时间:
-            </template>
-            {{ withDetails.applyTime }}
-          </el-descriptions-item>
-          <el-descriptions-item v-if="withDetails.handleTime">
-            <template #label>
-              处理时间:
-            </template>
-            {{ withDetails.handleTime }}
-          </el-descriptions-item>
-        </el-descriptions>
-      </div>
-      <div v-if="!useState" class="titleLIne">* 请确认您已转账成功,再点击确认</div>
-      <template>
-        <el-input type="textarea" autosize placeholder="请输入拒绝打款理由" v-model="cause" v-show="refuse == 1">
-        </el-input>
-      </template>
-      <template>
-        <div class="radio-list" v-show="handle == 1">
-          <el-radio v-model="type" label="1" border>通联</el-radio>
-          <el-radio v-model="type" label="2" border>线下</el-radio>
-        </div>
-      </template>
 
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="addFormDialog = false">取 消</el-button>
-        <!-- <el-button v-if="!useState" type="danger" @click="refuse_save">{{ refuse == 0 ? "拒绝打款" : "确认拒绝打款" }}</el-button> -->
-        <el-button v-if="!useState" type="danger" @click="refuse_save">{{ refuse == 0 ? "拒绝打款" : "确认拒绝打款" }}</el-button>
-        <el-button v-if="!useState" type="primary" @click="handle_save">{{ handle == 0 ? "确认用户信息" : "确认打款" }}</el-button>
-      </span>
-    </el-dialog>
+    <div>
+      <el-pagination
+        :current-page="listQuery.page" :page-sizes="[10, 20, 50, 100]" :page-size="listQuery.pageSize"
+        layout="total, sizes, prev, pager, next, jumper" :total="total"
+        @size-change="(val) => ((listQuery.pageSize = val) && getList())"
+        @current-change="(val) => ((listQuery.page = val) && getList())"
+      />
+    </div>
+
+    <!-- 提现处理 -->
+    <WithdrawalProcessing ref="WithdrawalProcessing" @success="getList" />
+    <!-- 查看详情 -->
+    <DetailModal ref="DetailModal" />
   </div>
 </template>
 
 <script>
-// 这里可以导
-// 入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
-// 例如:import 《组件名称》 from '《组件路径》';
-import {
-  withdrawalGetAll,
-  withdrawalGetById,
-  withdrawalHandle
-} from '@/api/withdrawal'
-import { hidden } from '@/utils/index'
+
+import WithdrawalProcessing from './components/WithdrawalProcessing'
+import DetailModal from './components/DetailModal'
+import { withdrawalGetAll, withdrawalGetById, withdrawalHandle } from '@/api/withdrawal'
 export default {
-  // import引入的组件需要注入到对象中才能使用
-  components: {},
+  name: 'Withdrawal',
+  components: {
+    WithdrawalProcessing,
+    DetailModal
+  },
   data() {
-    // 这里存放数据
     return {
-      formInline: {
+      listQuery: {
         shopName: '', // 店铺名称
         shopCode: '', // 店铺编号
         startTime: '', // 申请时间数组
@@ -164,193 +107,68 @@ export default {
         page: 1,
         pageSize: 10
       },
-      total: 1,
-      tableData: [],
-      currentPage: 1,
-      addFormDialog: false,
-      useState: 1,
-      withDetails: '',
-      refuse: 0,
-      handle: 0,
-      //  拒绝理由
-      cause: "",
-      //  支付方式选择
-      type: "1"
+      list: [],
+      total: 0,
+      listLoading: true
     }
   },
-  // 监听属性 类似于data概念
-  computed: {},
-  // 监控data中的数据变化
-  watch: {},
-  // 生命周期 - 创建完成(可以访问当前this实例)
-  created() { },
-  // 生命周期 - 挂载完成(可以访问DOM元素)
   mounted() {
-    this.getAll(this.formInline)
+    this.getList()
   },
-  // 方法集合
   methods: {
-    handleSizeChange(val) {
-      this.formInline.pageSize = val
-      this.getAll(this.formInline)
-    },
-    handleCurrentChange(val) {
-      this.formInline.page = val
-      this.getAll(this.formInline)
-    },
-    // 查询
-    search() {
-      this.total = 1
-      this.formInline.page = 1
-      this.getAll(this.formInline)
-    },
-    // 清除
-    clear() {
-      this.formInline = {
-        shopName: '', // 店铺名称
-        shopCode: '', // 店铺编号
-        dates: [], // 申请时间数组
-        state: '', // 处理状态 1-已处理 0-未处理
-        page: 1,
-        pageSize: 10
-      }
-      this.getAll(this.formInline)
-    },
-    // 查看
-    async seeMore(row) {
-      this.useState = 1
-      this.addFormDialog = true
-      const res = await withdrawalGetById({ withdrawalId: row.withdrawalId })
-      this.withDetails = res.data
-      this.withDetails.bankCard = hidden(this.withDetails.bankCard, 3, 3)
-      this.withDetails.collectionName = hidden(this.withDetails.collectionName, 1, 1)
-    },
-    // 处理
-    async desh(row) {
-      this.useState = 0
-      this.addFormDialog = true
-      const res = await withdrawalGetById({ withdrawalId: row.withdrawalId })
-      if(res.data.state == 2){
-        this.handle = 1
-      }else if(res.data.state == 3){
-        this.refuse = 1
+    async getList() {
+      this.listLoading = true
+      try {
+        const res = await withdrawalGetAll(this.listQuery)
+        this.list = res.data.list
+        this.total = res.data.total
+      } finally {
+        this.listLoading = false
       }
-      this.withDetails = res.data
-      this.withDetails.bankCard = hidden(this.withDetails.bankCard, 3, 3)
-      this.withDetails.collectionName = hidden(this.withDetails.collectionName, 1, 1)
     },
-    // 初始化查询所有数据
-    async getAll(formInline) {
-      const res = await withdrawalGetAll(formInline)
-      this.tableData = res.data.list
-      this.total = res.data.total
+    handleSearch() {
+      this.listQuery.page = 1
+      this.getList()
     },
-    //  拒绝打款
-    async refuse_save() {
-      if (this.refuse == 0) {
-        this.refuse = 1;
-        this.$message.warning('请填写理由并确定拒绝打款!!!');
-      }else if(this.refuse == 1){
-        if(this.cause == "") {
-          this.$message.error('拒绝理由不能为空');
-        }
-        const res = await withdrawalHandle({
-          withdrawalId: this.withDetails.withdrawalId,
-          state:"3",
-          audit:2,
-          cause:this.cause
-        })
-        if(res.code == ""){
-          this.$message.success("成功拒绝打款!!!")
-        }
-        this.addFormDialog = false
-        this.getAll(this.formInline)
-      }
+    handleReset() {
+      this.listQuery = { shopName: '', shopCode: '', dates: [], state: '', page: 1, pageSize: 10 }
+      this.getList()
     },
-    // 确认打款
-    async handle_save() {
-      if (this.handle == 0) {
-        this.handle = 1
-        const res = await withdrawalHandle({
-          withdrawalId: this.withDetails.withdrawalId,
-          state:"2",
-          audit:1
-        })
-      }else if(this.handle == 1){
-        const res = await withdrawalHandle({
-          withdrawalId: this.withDetails.withdrawalId,
-          state:"2",
-          audit:1,
-          type:this.type
-        })
-        if(res.code== ""){
-          this.$message.success("打款成功!!!")
-        }
-        this.addFormDialog = false
-        this.getAll(this.formInline)
-      }
-      // const res = await withdrawalHandle({
-      //   withdrawalId: this.withDetails.withdrawalId
-      // })
-      // if (res.code === '') {
-      //   this.$message({
-      //     message: '新增成功',
-      //     type: 'success'
-      //   })
-      //   this.addFormDialog = false
-      //   this.getAll(this.formInline)
-      // }
+    handleDetail(row) {
+      this.$refs.DetailModal && this.$refs.DetailModal.handleOpen(row)
     },
-    // 弹窗关闭时间
-    closeDialog() {
-      this.refuse = 0
-      this.handle = 0
-      this.cause = ""
+    handleResolve(row) {
+      this.$refs.WithdrawalProcessing && this.$refs.WithdrawalProcessing.handleOpen(row)
     }
   }
 }
 </script>
 
-<style lang='scss' scoped>
-//@import url(); 引入公共css类
-@import url("../../../styles/elDialog.scss");
-
-.pdl {
-  padding: 20px;
-}
-
-.seeModel {
-  padding: 20px;
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  color: #000;
-  font-size: 16px;
-
-  .leftBox {
-    padding: 20px;
-  }
-
-  .rightBox {
-    padding: 20px;
-  }
-
-  .line {
-    padding: 10px;
-  }
-}
+<style lang="scss" scoped>
+.app-container {
+	padding: 20px;
+	display: flex;
+	flex-direction: column;
 
-.titleLIne {
-  color: red;
-  font-size: 16px;
-  text-align: center;
-}
+	.filter-container {
+		.filter-item {
+			display: inline-block;
+			vertical-align: middle;
+			margin-bottom: 10px;
+		}
+	}
 
-.radio-list {
-  margin-top: 30px;
-}
+	.small-padding {
+		.cell {
+			padding-left: 5px;
+			padding-right: 5px;
+		}
+	}
 
-.el-descriptions {
-  width: 100%;
+	.fixed-width {
+		.el-button--mini {
+			padding: 7px 10px;
+		}
+	}
 }
 </style>

+ 4 - 4
vue.config.js

@@ -41,8 +41,8 @@ module.exports = {
     // before: require('./mock/mock-server.js'),
     proxy: {
       '/api': {
-        // target: 'https://nsadminapi.tuanfengkeji.cn', // 测试
-        target: 'http://192.168.0.91:9103', // 平台端
+        target: 'https://nsadminapitest.tuanfengkeji.cn', // 测试
+        // target: 'http://192.168.0.91:9103', // 平台端
         // target: 'http://192.168.0.91:9003', // 商家端
         changeOrigin: true,
         pathRewrite: {
@@ -50,7 +50,7 @@ module.exports = {
         }
       },
       '/adminapi': {
-        target: 'https://nsadminapi.tuanfengkeji.cn', // 测试
+        target: 'https://nsadminapitest.tuanfengkeji.cn', // 测试
         // target: 'http://192.168.0.91:9103', // 平台端
         // target: 'http://192.168.0.91:9003', // 商家端
         changeOrigin: true,
@@ -59,7 +59,7 @@ module.exports = {
         }
       },
       '/': {
-        target: 'https://nsadminapi.tuanfengkeji.cn', // 测试
+        target: 'https://nsadminapitest.tuanfengkeji.cn', // 测试
         // target: 'http://192.168.0.91:9103', // 平台端
         // target: 'http://192.168.0.91:9003', // 商家端
         changeOrigin: true

部分文件因为文件数量过多而无法显示