lsw 1 tahun lalu
induk
melakukan
b9a619d156

+ 1 - 1
admin-ui/src/assets/styles/extend.scss

@@ -336,7 +336,7 @@
   font-size: 13px;
 }
 .cg {
-  margin-bottom: 15px;
+  margin-bottom: 20px;
 }
 .yzm {
   color: #1890ff;

+ 6 - 5
admin-ui/src/views/work/statement/give/index.vue

@@ -35,18 +35,19 @@
         </template>
       </el-table-column>
       <el-table-column label="关联项目" align="center" prop="projectName" />
+      <el-table-column label="发放金额(元)" align="center" prop="money" width="110" />
+      <el-table-column label="发放人数" align="center" prop="peoples" width="110" />
       <el-table-column label="发放状态" align="center" width="110">
         <template slot-scope="scope">
           <el-tag type="info" v-if="scope.row.give == 0">待发放</el-tag>
-          <el-tag type="success" v-if="scope.row.give == 1">已发放</el-tag>
+          <el-tag type="success" v-if="scope.row.give == 1">平台转账中...</el-tag>
         </template>
       </el-table-column>
-      <el-table-column label="创建人" align="center" prop="opBy" width="110" />
-      <el-table-column label="创建日期" align="center" prop="createTime" width="160" />
+      <el-table-column label="创建日期" align="center" prop="auditTime" width="160" />
       <el-table-column label="操作" align="center" width="200">
         <template slot-scope="scope">
           <el-button size="mini" type="text" icon="el-icon-view" @click="op('detail', scope.row)">详情</el-button>
-          <el-button size="mini" type="text" icon="el-icon-s-promotion" @click="op('send', scope.row)" v-if="scope.row.give === 0">发放</el-button>
+          <el-button size="mini" type="text" icon="el-icon-s-promotion" @click="op('send', scope.row)" >发放</el-button>
         </template>
       </el-table-column>
       <template slot="empty">
@@ -103,7 +104,7 @@ export default {
         this.iframe({ obj: record, param: { id: id, detail: true }, title: '查看详情', width: '75%', height: '65%' });
       }
       if (tag == 'send') {
-        this.iframe({ obj: send, param: { id: id}, title: '薪资发放', width: '50%', height: '70%' });
+        this.iframe({ obj: send, param: { id: id, row: row }, title: '薪资发放', width: '50%', height: '70%' });
       }
     }
   }

+ 59 - 21
admin-ui/src/views/work/statement/give/send.vue

@@ -11,20 +11,40 @@
       <div class="desc">账户余额(元)</div>
       <div class="money">{{ company.money }}</div>
     </div>
-    <el-form ref="form" :model="form" :rules="rules" label-width="120px">
-      <el-form-item label="结算单号" prop="money">
-        <el-input type="number" v-model="form.money" placeholder="请输入充值金额" clearable />
-      </el-form-item>
-      <el-form-item label="应发人数" prop="money">
-        <el-input type="number" v-model="form.money" placeholder="请输入充值金额" clearable />
-      </el-form-item>
-      <el-form-item label="应结金额(元)" prop="money">
-        <el-input type="number" v-model="form.money" placeholder="请输入充值金额" clearable />
-      </el-form-item>
-      <el-form-item label="充值金额" prop="money">
-        <el-input type="number" v-model="form.money" placeholder="请输入充值金额" clearable />
-      </el-form-item>
-    </el-form>
+    <el-table :data="[param.row]" border style="margin-top: 13px; margin-bottom: 13px">
+      <el-table-column label="结算单号" align="center" prop="num" />
+      <el-table-column label="应发人数" align="center" prop="peoples" />
+      <el-table-column label="应结金额(元)" align="center" prop="money" />
+    </el-table>
+    <div class="bos">
+      <div class="lab">
+        <div class="bsg"></div>
+        <div class="tit">发放操作</div>
+      </div>
+      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+        <el-steps :active="1" align-center class="cg">
+          <el-step title="发放信息"></el-step>
+          <el-step title="平台转账"></el-step>
+          <el-step title="扣除余额"></el-step>
+        </el-steps>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="手机号码">
+              <el-input type="number" v-model="company.phone" disabled>
+                <template slot="append">
+                  <span @click="getCode()" class="yzm">{{ msg }}</span>
+                </template>
+              </el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="短信验证码" prop="code">
+              <el-input type="number" v-model="form.code" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+    </div>
     <div class="mfooter">
       <el-button type="primary" @click="submitForm">确 定</el-button>
       <el-button @click="$layer.close(layerid)">取 消</el-button>
@@ -38,11 +58,13 @@ export default {
   data() {
     return {
       rz: rz,
+      msg: '获取验证码',
+      time: 60,
+      flag: true,
       company: {},
       form: {},
       rules: {
-        money: [{ required: true, message: '充值金额不能为空', trigger: 'blur' }],
-        certificate: [{ required: true, message: '充值凭证不能为空', trigger: 'blur' }]
+        code: [{ required: true, message: '短信验证码不能为空', trigger: 'blur' }]
       }
     };
   },
@@ -61,16 +83,32 @@ export default {
     this.ajax({ url: '/work/company/index' }).then((response) => {
       this.company = response.data;
     });
-    this.ajax({ url: '/work/statement/index' }).then((response) => {
-      this.company = response.data;
-    });
   },
   methods: {
+    getCode() {
+      if (!this.flag) {
+        return;
+      }
+      this.$modal.msgSuccess('你的验证码是123456');
+      //一分钟倒计时
+      var countdown = setInterval(() => {
+        this.time--;
+        if (this.time == 0) {
+          this.flag = true;
+          this.msg = '获取短信';
+          this.time = 60;
+          clearInterval(countdown);
+        } else {
+          this.flag = false;
+          this.msg = '重新获取(' + this.time + ')';
+        }
+      }, 1000);
+    },
     submitForm() {
       this.$refs['form'].validate((valid) => {
         if (valid) {
-          this.ajax({ method: 'post', url: '/work/recharge/add', data: this.form }).then((response) => {
-            this.$modal.msgSuccess('提交成功');
+          this.ajax({ url: '/work/statement/give/send/' + this.param.id }).then((response) => {
+            this.$modal.msgSuccess('发放成功');
             this.$layer.close(this.layerid);
             this.$parent.getList();
           });

+ 0 - 1
admin-ui/src/views/work/statement/make/index.vue

@@ -35,7 +35,6 @@
         <template slot-scope="scope">
           <el-button size="mini" type="text" icon="el-icon-view" @click="op('detail', scope.row)">详情</el-button>
           <el-button size="mini" type="text" icon="el-icon-check" @click="op('generate', scope.row)" v-if="scope.row.state === 0">生成结算单</el-button>
-          <el-button size="mini" type="text" icon="el-icon-edit" @click="op('edit', scope.row)" v-if="scope.row.state === 0">编辑</el-button>
           <el-button size="mini" type="text" icon="el-icon-delete" @click="del(scope.row)" v-if="scope.row.state === 0">删除</el-button>
         </template>
       </el-table-column>

+ 1 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/work/controller/CompanyController.java

@@ -35,7 +35,7 @@ public class CompanyController extends BaseController {
         return getDataTable(list);
     }
 
-    @PreAuthorize("@ss.hasPermi('work:money:index')")
+    @PreAuthorize("@ss.hasAnyPermi('work:money:index,work:statement:give')")
     @GetMapping("/index")
     public AjaxResult index() {
         Company company = companyService.getById(getLoginUser().getUser().getCompanyId());

+ 7 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/controller/StatementController.java

@@ -92,6 +92,13 @@ public class StatementController extends BaseController {
         return getDataTable(list);
     }
 
+    @PreAuthorize("@ss.hasPermi('work:statement:give')")
+    @Log(title = "发放业务费", businessType = BusinessType.UPDATE)
+    @GetMapping("/give/send/{id}")
+    public AjaxResult giveSend(@PathVariable("id") Long id) {
+        return statementService.giveSend(id);
+    }
+
     @PreAuthorize("@ss.hasPermi('work:statement:audit')")
     @Log(title = "结算单审核通过", businessType = BusinessType.UPDATE)
     @GetMapping("/audit/success/{id}")

+ 8 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/service/IStatementService.java

@@ -73,4 +73,12 @@ public interface IStatementService extends IService<Statement> {
      * @return
      */
     AjaxResult makeRemove(Long id);
+
+
+    /**
+     * 发放业务费
+     * @param id
+     * @return
+     */
+    AjaxResult giveSend(Long id);
 }

+ 17 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/work/service/impl/StatementServiceImpl.java

@@ -195,4 +195,21 @@ public class StatementServiceImpl extends ServiceImpl<StatementMapper, Statement
         }
         return AjaxResult.success();
     }
+
+    @Override
+    public AjaxResult giveSend(Long id) {
+        Statement statement = getById(id);
+        if (statement == null || !statement.getCompanyId().equals(SecurityUtils.getLoginUser().getUser().getCompanyId())) {
+            return AjaxResult.error("结算单不存在或非法操作");
+        }
+        if (statement.getAudit() != 2&&statement.getGive()!=0) {
+            return AjaxResult.error("当前业务费不能发放");
+        }
+        statement.setGiveTime(new Date());
+        statement.setGive(1);
+        if (!updateById(statement)) {
+            throw new ServiceException("发放业务费失败,请联系平台");
+        }
+        return AjaxResult.success();
+    }
 }