Parcourir la source

红包余额用户未领取功能添加,红包余额扣款

xgb il y a 1 semaine
Parent
commit
5bfacd9579

+ 8 - 0
src/api/his/company.js

@@ -29,6 +29,14 @@ export function deduct(data) {
     data: data
   })
 }
+
+export function redDeduct(data) {
+  return request({
+    url: '/his/company/redDeduct',
+    method: 'post',
+    data: data
+  })
+}
 export function recharge(data) {
   return request({
     url: '/his/company/recharge',

+ 68 - 3
src/views/his/company/index.vue

@@ -180,6 +180,14 @@
             v-hasPermi="['his:company:recharge']"
           >充值
           </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleDeduct(scope.row)"
+            v-hasPermi="['his:company:deduct']"
+          >扣款
+          </el-button>
           <el-button
             size="mini"
             type="text"
@@ -192,9 +200,9 @@
             size="mini"
             type="text"
             icon="el-icon-edit"
-            @click="handleDeduct(scope.row)"
-            v-hasPermi="['his:company:deduct']"
-          >扣款
+            @click="handleRedDeduct(scope.row)"
+            v-hasPermi="['his:company:redDeduct']"
+          >红包扣款
           </el-button>
           <el-button
             size="mini"
@@ -521,6 +529,27 @@
       </div>
     </el-dialog>
 
+    <el-dialog :title="redDeduct.title" :visible.sync="redDeduct.open" width="500px" append-to-body>
+      <el-form ref="redDeductForm" :rules="redDeductRules" :model="redDeductForm" label-width="80px">
+        <el-form-item label="公司">
+          <el-input v-model="redDeductForm.companyName" disabled/>
+        </el-form-item>
+        <el-form-item label="余额">
+          <el-input v-model="redDeductForm.balance" disabled/>
+        </el-form-item>
+        <el-form-item label="扣款金额" prop="money">
+          <el-input-number v-model="redDeductForm.money" :min="0.01" placeholder="请输入扣款金额"/>
+        </el-form-item>
+        <el-form-item label="备注" prop="remark">
+          <el-input v-model="redDeductForm.remark" placeholder="请输入备注"/>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitRedDeductForm">确 定</el-button>
+        <el-button @click="redDeduct.open=false">取 消</el-button>
+      </div>
+    </el-dialog>
+
     <el-dialog :title="revenue.title" :visible.sync="revenue.open" width="800px" append-to-body>
       <el-form ref="revenueForm"  :model="revenueForm" label-width="150px">
         <el-form-item label="公司">
@@ -689,6 +718,7 @@ import {
   recharge,
   redRecharge,
   deduct,
+  redDeduct,
   exportCompany,
   resetPwd,
   getDivConfig,
@@ -720,6 +750,10 @@ export default {
       deductForm: {
         money: 0
       },
+      // 表单参数
+      redDeductForm: {
+        money: 0
+      },
       doctorIds: [],
       doctor: [],
       recharge: {
@@ -847,6 +881,12 @@ export default {
           { required: true, message: '扣款金额不能为空', trigger: 'blur' }
         ]
       },
+      // 表单校验
+      redDeductRules: {
+        money: [
+          { required: true, message: '扣款金额不能为空', trigger: 'blur' }
+        ]
+      },
       rechargeRules: {
         money: [
           { required: true, message: '扣款金额不能为空', trigger: 'blur' }
@@ -861,6 +901,10 @@ export default {
         open: false,
         title: '后台扣款'
       },
+      redDeduct: {
+        open: false,
+        title: '红包扣款'
+      },
       maAppList: [],
       miniAppList: [],
       customAppList: [],
@@ -972,6 +1016,13 @@ export default {
       this.deductForm.money = null
       this.deduct.open = true
     },
+    handleRedDeduct(row) {
+      this.redDeductForm.companyId = row.companyId
+      this.redDeductForm.companyName = row.companyName
+      this.redDeductForm.balance = row.money
+      this.redDeductForm.money = null
+      this.redDeduct.open = true
+    },
     /** 提交按钮 */
     submitRechargeForm() {
       this.$refs['rechargeForm'].validate(valid => {
@@ -1029,6 +1080,20 @@ export default {
         }
       })
     },
+    /** 提交按钮 */
+    submitRedDeductForm() {
+      this.$refs['redDeductForm'].validate(valid => {
+        if (valid) {
+          redDeduct(this.redDeductForm).then(response => {
+            if (response.code === 200) {
+              this.msgSuccess(response.msg)
+              this.redDeduct.open = false
+              this.getList()
+            }
+          })
+        }
+      })
+    },
 
     getList() {
       this.loading = true

+ 23 - 1
src/views/his/companyDeduct/index.vue

@@ -19,6 +19,16 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
+      <el-form-item label="业务类型" prop="businessType">
+        <el-select v-model="queryParams.businessType" placeholder="请选择支付类型" clearable size="small">
+          <el-option
+            v-for="dict in businessTypeOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          />
+        </el-select>
+      </el-form-item>
       <el-form-item label="创建时间" prop="createTime">
         <el-date-picker clearable size="small"
           v-model="queryParams.createTime"
@@ -59,6 +69,11 @@
       <el-table-column label="金额" align="center" prop="money" />
       <el-table-column label="余额" align="center" prop="balance" />
       <el-table-column label="提交人" align="center" prop="createUserNickName" />
+      <el-table-column label="业务类型" align="center" prop="businessType">
+        <template slot-scope="scope">
+          <dict-tag :options="businessTypeOptions" :value="scope.row.businessType"/>
+        </template>
+      </el-table-column>
       <el-table-column label="审核状态" align="center" prop="isAudit">
         <template slot-scope="scope">
           <dict-tag :options="isAuditOptions" :value="scope.row.isAudit"/>
@@ -146,6 +161,8 @@ export default {
       open: false,
       // 审核状态字典
       isAuditOptions: [],
+      // 业务类型 0-普通 1-红包充值
+      businessTypeOptions:[],
       // 查询参数
       queryParams: {
         pageNum: 1,
@@ -154,6 +171,7 @@ export default {
         companyName: null,
         createTime: null,
         isAudit: 0,
+        businessType:null, // 业务类型
       },
       // 表单参数
       form: {},
@@ -166,10 +184,13 @@ export default {
     };
   },
   created() {
-    this.getList();
     this.getDicts("sys_company_isaudit").then(response => {
       this.isAuditOptions = response.data;
     });
+    this.getDicts("sys_company_deduct_business_type").then(response => {
+      this.businessTypeOptions = response.data;
+    });
+    this.getList();
   },
   methods: {
     /** 查询扣款管理列表 */
@@ -211,6 +232,7 @@ export default {
     /** 重置按钮操作 */
     resetQuery() {
       this.resetForm("queryForm");
+      this.queryParams.businessType=null;
       this.handleQuery();
     },
     // 多选框选中数据