Explorar el Código

红包余额独立处理

xgb hace 1 semana
padre
commit
4deff8ce16

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

@@ -36,6 +36,15 @@ export function recharge(data) {
     data: data
   })
 }
+// 红包充值
+export function redRecharge(data) {
+  return request({
+    url: '/his/company/redRecharge',
+    method: 'post',
+    data: data
+  })
+}
+
 
 // 新增诊所管理
 export function addCompany(data) {

+ 76 - 8
src/views/his/company/index.vue

@@ -111,6 +111,7 @@
       </el-table-column>
 
       <el-table-column label="余额" align="center" prop="money"/>
+      <el-table-column label="红包余额" align="center" prop="redPackageMoney"/>
       <el-table-column label="企业类型" align="center" prop="companyType">
         <template slot-scope="scope">
           <dict-tag :options="companyTypeOptions" :value="scope.row.companyType"/>
@@ -168,6 +169,14 @@
             v-hasPermi="['his:company:recharge']"
           >充值
           </el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleRedRecharge(scope.row)"
+            v-hasPermi="['his:company:redRecharge']"
+          >红包充值
+          </el-button>
           <el-button
             size="mini"
             type="text"
@@ -459,6 +468,27 @@
       </div>
     </el-dialog>
 
+    <el-dialog :title="redRecharge.title" :visible.sync="redRecharge.open" width="500px" append-to-body>
+      <el-form ref="redRechargeForm" :rules="redRechargeRules" :model="redRechargeForm" label-width="80px">
+        <el-form-item label="公司">
+          <el-input v-model="redRechargeForm.companyName" disabled/>
+        </el-form-item>
+        <el-form-item label="余额">
+          <el-input v-model="redRechargeForm.balance" disabled/>
+        </el-form-item>
+        <el-form-item label="充值金额" prop="money">
+          <el-input-number v-model="redRechargeForm.money" :min="0.01" placeholder="请输入充值金额"/>
+        </el-form-item>
+        <el-form-item label="备注" prop="remark">
+          <el-input v-model="redRechargeForm.remark" placeholder="请输入备注"/>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitRedRechargeForm" :disabled="redSubmit">确 定</el-button>
+        <el-button @click="redRecharge.open=false">取 消</el-button>
+      </div>
+    </el-dialog>
+
     <el-dialog :title="deduct.title" :visible.sync="deduct.open" width="500px" append-to-body>
       <el-form ref="deductForm" :rules="deductRules" :model="deductForm" label-width="80px">
         <el-form-item label="公司">
@@ -485,7 +515,7 @@
         <el-form-item label="公司">
           <el-input v-model="revenueForm.companyName" disabled/>
         </el-form-item>
-       
+
         <el-form-item label="开启分账">
           <el-switch
             v-model="revenueForm.divFlag"
@@ -496,7 +526,7 @@
           >
           </el-switch>
         </el-form-item>
-        
+
         <el-form-item label="分账模式" v-if="revenueForm.divFlag == 1">
           <el-radio v-model="revenueForm.delayAcctFlag" label="N">实时分账</el-radio>
           <el-radio v-model="revenueForm.delayAcctFlag" label="Y">延时分账</el-radio>
@@ -528,7 +558,6 @@
                   添加新接收方
                 </el-button>
               </el-tooltip>
-              
             </el-form-item>
 
             <div v-for="(account, index) in revenueForm.acctInfos" :key="index"
@@ -553,19 +582,19 @@
               <el-form-item label="账户号" :prop="`acctInfos.${index}.acctId`" >
                 <el-input v-model="account.acctId"  placeholder="可指定账户号,仅支持基本户、现金户,不填默认为基本户;示例值:F00598600"></el-input>
               </el-form-item>
-              
+
               <el-form-item label="分账百分比%" v-if="revenueForm.percentageFlag == 'Y'" :prop="`acctInfos.${index}.percentageDiv`"  >
                 <el-input-number v-model="account.percentageDiv" :precision="2" :step="0.1" :min="0" :max="100" placeholder="示例值:23.50,表示23.50%。acct_infos中全部分账百分比之和必须为100.00%。"></el-input-number>
               </el-form-item>
               <el-form-item label="分账金额" v-if="revenueForm.percentageFlag == 'N'" :prop="`acctInfos.${index}.divAmt`"  >
                 <el-input-number v-model="account.divAmt" :precision="2" :step="1" :min="0.01" placeholder="单位元,需保留小数点后两位,示例值:1.00 ,最低传入0.01"></el-input-number>
               </el-form-item>
-              
+
             </div>
           </div>
 
-       
-       
+
+
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitRevenueForm">确 定</el-button>
@@ -583,6 +612,7 @@ import {
   addCompany,
   updateCompany,
   recharge,
+  redRecharge,
   deduct,
   exportCompany,
   resetPwd,
@@ -602,13 +632,14 @@ export default {
   name: 'Company',
   data() {
     return {
+      redSubmit: false,
       //分账参数
       revenue:{
           open: false,
           title: '分账配置'
       },
       revenueForm:{
-        acctInfos: [] 
+        acctInfos: []
       },
       // 表单参数
       deductForm: {
@@ -620,6 +651,10 @@ export default {
         open: false,
         title: '后台充值'
       },
+      redRecharge: {
+        open: false,
+        title: '红包充值'
+      },
       // 遮罩层
       loading: true,
       // 导出遮罩层
@@ -662,6 +697,10 @@ export default {
       rechargeForm: {
         money: 0
       },
+      // 红包充值表单参数
+      redRechargeForm: {
+        money: 0
+      },
       followDoctorList: [],
       cateList: [],
       // 表单参数
@@ -738,6 +777,11 @@ export default {
           { required: true, message: '扣款金额不能为空', trigger: 'blur' }
         ]
       },
+      redRechargeRules: {
+        money: [
+          { required: true, message: '扣款金额不能为空', trigger: 'blur' }
+        ]
+      },
       deduct: {
         open: false,
         title: '后台扣款'
@@ -831,6 +875,15 @@ export default {
       this.rechargeForm.money = null
       this.recharge.open = true
     },
+    // 红包充值
+    handleRedRecharge(row) {
+      this.redSubmit=false
+      this.redRechargeForm.companyId = row.companyId
+      this.redRechargeForm.companyName = row.companyName
+      this.redRechargeForm.balance = row.money
+      this.redRechargeForm.money = null
+      this.redRecharge.open = true
+    },
     handleDeduct(row) {
       const companyId = row.companyId
       this.deductForm.companyId = row.companyId
@@ -853,6 +906,21 @@ export default {
         }
       })
     },
+    /** 红包充值提交按钮 */
+    submitRedRechargeForm() {
+      this.$refs['redRechargeForm'].validate(valid => {
+        if (valid) {
+          this.redSubmit=true
+          redRecharge(this.redRechargeForm).then(response => {
+            if (response.code === 200) {
+              this.msgSuccess(response.msg)
+              this.redRecharge.open = false
+              this.getList()
+            }
+          })
+        }
+      })
+    },
     submitRevenueForm(){
       var param = this.revenueForm;
       console.log("--------------",param)

+ 22 - 0
src/views/his/companyRecharge/index.vue

@@ -29,6 +29,16 @@
           />
         </el-select>
       </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="status">
         <el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
           <el-option
@@ -90,6 +100,11 @@
           <dict-tag :options="payTypeOptions" :value="scope.row.payType"/>
         </template>
       </el-table-column>
+      <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"/>
@@ -182,6 +197,8 @@ export default {
       statusOptions: [],
       // 支付类型 1微信 2支付宝 3人工转账字典
       payTypeOptions: [],
+      // 业务类型 0-普通 1-红包充值
+      businessTypeOptions:[],
       // 审核状态 0待审核 1已审核字典
       isAuditOptions: [],
       // 查询参数
@@ -193,6 +210,7 @@ export default {
         status: null,
         payType: null,
         isAudit: 0,
+        businessType:null, // 业务类型
       },
       // 表单参数
       form: {},
@@ -215,6 +233,9 @@ export default {
     this.getDicts("sys_company_isaudit").then(response => {
       this.isAuditOptions = response.data;
     });
+    this.getDicts("sys_company_pay_business_type").then(response => {
+      this.businessTypeOptions = response.data;
+    });
   },
   methods: {
     /** 查询充值管理列表 */
@@ -264,6 +285,7 @@ export default {
     /** 重置按钮操作 */
     resetQuery() {
       this.resetForm("queryForm");
+      this.queryParams.businessType=null;
       this.handleQuery();
     },
     // 多选框选中数据

+ 13 - 4
src/views/system/config/config.vue

@@ -904,7 +904,7 @@
             <el-input v-model="form13.erpHzOMBaseUrl" label="请输入erpHzOMBaseUrl"></el-input>
           </el-form-item>
 
-          
+
 
 
           <el-form-item label="erpWdAppKey" v-if="form13.erpOpen == 1 && form13.erpType == 2 " prop="erpWdAppKey">
@@ -1233,6 +1233,15 @@
           </el-form-item>
 
 
+          <!--   红包余额是否扣减开关      -->
+          <el-form-item label="红包余额是否扣减开关">
+            <el-radio-group v-model="form18.isRedPackageBalanceDeduction">
+              <el-radio label="1">开</el-radio>
+              <el-radio label="0">关</el-radio>
+            </el-radio-group>
+          </el-form-item>
+
+
           <el-form-item label="禁止发送时间段">
             <el-row v-for="(item, index) in form18.disabledTimeList" style="margin-top: 10px">
               <el-time-picker
@@ -2519,13 +2528,13 @@ export default {
       })
     },
 
-    
+
     getCompanyOptions() {
       listCompany().then(response => {
         this.companyOptions = response.rows
       })
     },
-   
+
     handleSuccess(response, file) {
       // 上传成功后的回调函数
       this.myloading.close()
@@ -2687,7 +2696,7 @@ export default {
         if (key == 'his.config') {
           this.getCompanyOptions()
           this.form13 = JSON.parse(response.data.configValue)
-          
+
         }
         if (key == 'store.config') {
           this.form17 = JSON.parse(response.data.configValue)