Quellcode durchsuchen

提成发放单调整

qymljy vor 2 Jahren
Ursprung
Commit
a05c356578

+ 1 - 1
src/Form/commissionDistribution/add.vue

@@ -61,7 +61,7 @@ export default {
       param:{
         "id": 20240117140304,
         "content": {
-          "sa_hrpayapplyid":'',
+          "sa_hrpayapplyid":0,
           "pageNumber": 1,
           "pageSize": 999,
           "where":{

+ 4 - 14
src/Form/commissionDistribution/edit.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-button size="small" type="primary"  @click="dialogVisible = true;listData()">编 辑</el-button>
+    <el-button size="small" :type="data.status == '发放'?'':'primary'"  @click="onShow(dialogVisible = true)" :disabled="data.status == '发放'">编 辑</el-button>
     <el-drawer
         title="编辑提成发放清单"
         :visible.sync="dialogVisible"
@@ -40,7 +40,7 @@ export default {
       list:[],
       form:{
         "sa_hrpayapplyid":0,
-        "billdate": new Date().getFullYear() + '-' + (new Date().getMonth() + 1) + '-' + new Date().getDate(),
+        "billdate": '',
         "billno":"",
         "remarks":"",
         "hrpayapplydetail": []
@@ -49,18 +49,8 @@ export default {
     }
   },
   methods:{
-    async listData(){
-      const res = await this.$api.requested(this.param)
-      this.list = res.data
-    },
-    selectionChange(row){
-      this.form.hrpayapplydetail = row.map(item=>{
-        return {
-          "sa_hrpayapplydetailid": 0,
-          "remarks": item.remarks,
-          "sa_hrcashbillid": item.sa_hrcashbillid
-        }
-      })
+    onShow(){
+      this.form = Object.assign({},this.form,this.data)
     },
     async onSubmit(){
       const res = await this.$api.requested({

+ 43 - 2
src/SDrpManagement/commissionDistribution/detail/components/income.vue

@@ -1,17 +1,23 @@
 <template>
   <div>
     <div class="flex-align-stretch">
-      <div class="mt-10">
+<!--      <div class="mt-10">
         <label  class="search__label">状态:</label>
         <el-select class="inline-16" v-model="param.content.where.status" placeholder="请选择状态" @change="selectChange" size="small" clearable>
           <el-option label="新建" value="新建"></el-option>
           <el-option label="审核" value="审核"></el-option>
         </el-select>
-      </div>
+      </div>-->
       <div class="mt-10 inline-16">
         <el-input  style="width:200px;" placeholder="搜索" :suffix-icon="param.content.where.condition?param.content.where.condition.length > 0?'':'':'el-icon-search'" v-model="param.content.where.condition" @keyup.native.enter="listData(param.content.pageNumber = 1)" @clear="listData(param.content.pageNumber = 1)" size="small" class="input-with-select inline-16 layout_search__panel" clearable>
         </el-input>
       </div>
+      <div class="mt-10 inline-16">
+        <addDetail :status="data.status" @onSuccess="listData"></addDetail>
+      </div>
+      <div class="mt-10 inline-16">
+        <exportFile :param="param" :columns="tablecols" fileName="收入列表"></exportFile>
+      </div>
     </div>
     <tableNewLayout :layout="tablecols" :data="list" :opwidth="200" height="calc(100vh - 376px)" :width="true" :custom="true" fixedName="operation">
       <template v-slot:customcol="scope">
@@ -22,12 +28,18 @@
         <div v-else-if="scope.column.columnname === 'relaamount'">
           {{tool.formatAmount(scope.column.data[[scope.column.columnname]],2)}}
         </div>
+        <div v-else-if="scope.column.columnname === 'status'">
+          <span :style="{color:scope.column.data.status == '新建'?'#333333':'#52c41a'}">
+            {{scope.column.data[[scope.column.columnname]]}}
+          </span>
+        </div>
         <div v-else>
           {{scope.column.data[[scope.column.columnname]] || scope.column.columnname === 'operation'?scope.column.data[[scope.column.columnname]]:'--'}}
         </div>
       </template>
       <template v-slot:opreation="scope">
         <el-button type="text" size="mini" @click="goDetail(scope.data)">详 情</el-button>
+        <el-button type="text" size="mini" @click="delDetail(scope.data)" :disabled="data.status == '发放'">删 除</el-button>
       </template>
     </tableNewLayout>
     <div  class="container normal-panel" style="text-align:right">
@@ -46,8 +58,12 @@
 </template>
 
 <script>
+import addDetail from '../modules/addDetail.vue'
+import exportFile from '@/components/export_file/index5.vue'
 export default {
   name: "income",
+  props:["data"],
+  components:{addDetail,exportFile},
   data(){
     return {
       param:{
@@ -105,6 +121,31 @@ export default {
         })
         this.$store.dispatch('changeDetailDrawer',true)
       })
+    },
+    /*删除*/
+    delDetail(val){
+      this.$confirm('此操作将删除当前数据, 是否继续?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(async () => {
+        const res = await this.$api.requested({
+          "id": 20240117105904,
+          "content": {
+            "sa_hrpayapplyid": this.$route.query.id,
+            "sa_hrpayapplydetails":[val.sa_hrpayapplydetailid]
+          }
+        })
+        this.tool.showMessage(res,()=>{
+          this.listData()
+        })
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '已取消删除'
+        });
+      });
+
     }
   },
   mounted() {

+ 37 - 18
src/SDrpManagement/commissionDistribution/detail/index.vue

@@ -20,7 +20,7 @@
         <toGrant class="inline-16" v-if="tool.checkAuth($route.name,'grant')" @examineSuccess="queryMainData" :status="mainData.status"></toGrant>
       </div>
       <div slot="slot0" class="normal-panel">
-        <incomes></incomes>
+        <incomes :data="mainData"></incomes>
       </div>
       <div slot="slot1" class="normal-panel">
         <baseInfo  :detailInfo="detailInfo"></baseInfo>
@@ -60,6 +60,7 @@ export default {
       this.queryMainData(id)
     },
     changeDataStructure(){
+      let that = this
       this.mainAreaData = [
         {
           label:'单号',
@@ -67,7 +68,22 @@ export default {
         },
         {
           label:'状态',
-          value:this.mainData.status
+          value:this.mainData.status,
+          style:function () {
+            let style = {}
+            switch (that.mainData.status) {
+              case '新建':
+                style = {color:'#333333'}
+                break;
+              case '发放':
+                style = {color:'#52c41a'}
+                break;
+              default:
+                break;
+            }
+            return style
+
+          }
         },
         {
           label:'创建人',
@@ -83,7 +99,7 @@ export default {
         },
         {
           label:'发放时间',
-          value:this.mainData.checkdate
+          value:this.mainData.checkdate?this.mainData.checkdate:'--'
         },
         /*{
           label:'备注',
@@ -99,23 +115,26 @@ export default {
           },
           {
             label:'状态',
-            value:this.mainData.status
-          },
-          {
-            label:'创建人',
-            value:this.mainData.createby
-          },
-          {
-            label:'创建时间',
-            value:this.mainData.createdate
-          },
-          {
-            label:'发放人',
-            value:this.mainData.checkby
+            value:this.mainData.status,
+            style:function () {
+              let style = {}
+              switch (that.mainData.status) {
+                case '新建':
+                  style = {color:'#333333'}
+                  break;
+                case '发放':
+                  style = {color:'#52c41a'}
+                  break;
+                default:
+                  break;
+              }
+              return style
+
+            }
           },
           {
-            label:'发放时间',
-            value:this.mainData.checkdate
+            label:'备注',
+            value:this.mainData.remarks
           },
           /*{
             label:'备注',

+ 115 - 0
src/SDrpManagement/commissionDistribution/detail/modules/addDetail.vue

@@ -0,0 +1,115 @@
+<template>
+  <div>
+    <el-button size="small" :type="status == '发放'?'':'primary'"  @click="dialogVisible = true;listData()" :disabled="status == '发放'">新 建</el-button>
+    <el-drawer
+        title="新建提成发放清单"
+        :visible.sync="dialogVisible"
+        size="700px"
+        direction="rtl"
+        append-to-body
+        @close="onClose">
+      <div class="drawer__panel">
+        <el-row :gutter="20">
+          <el-form :model="form" :rules="rules" ref="formRef" label-width="120px" label-position="left" size="mini">
+            <el-col :span="24">
+              <el-form-item label="请选择收入凭证:" >
+              </el-form-item>
+             </el-col>
+            <el-col :span="24">
+                <tableNewLayout style="margin-bottom: 20px" ref="tableRef" :checkbox="true" :layout="tablecols" :data="list" :opwidth="200" height="400px" :width="true" :custom="true" @selectionChange="selectionChange">
+                  <template v-slot:customcol="scope">
+                    <div>
+                      {{scope.column.data[[scope.column.columnname]] || scope.column.columnname === 'operation'?scope.column.data[[scope.column.columnname]]:'--'}}
+                    </div>
+                  </template>
+                </tableNewLayout>
+            </el-col>
+          </el-form>
+        </el-row>
+      </div>
+      <div class="fixed__btn__panel">
+        <el-button size="small" @click="onClose" class="normal-btn-width">取 消</el-button>
+        <el-button size="small" type="primary"  @click="onSubmit" class="normal-btn-width">确 定</el-button>
+      </div>
+    </el-drawer>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "addDetail",
+  props:['status'],
+  data(){
+    return {
+      dialogVisible:false,
+      tablecols:[],
+      list:[],
+      form:{
+        "sa_hrpayapplyid": '',
+        "hrpayapplydetail": []
+      },
+      rules:{},
+      param:{
+        "id": 20240117140304,
+        "content": {
+          "sa_hrpayapplyid":0,
+          "pageNumber": 1,
+          "pageSize": 999,
+          "where":{
+            "condition":"",
+            "begdate":"",
+            "enddate":"",
+            "status":""
+          }
+        }
+      }
+    }
+  },
+  methods:{
+    async listData(){
+      this.param.content.sa_hrpayapplyid = this.$route.query.id
+      const res = await this.$api.requested(this.param)
+      this.list = res.data
+    },
+    selectionChange(row){
+      this.form.hrpayapplydetail = row.map(item=>{
+        return {
+          "sa_hrpayapplydetailid": 0,
+          "remarks": item.remarks,
+          "sa_hrcashbillid": item.sa_hrcashbillid
+        }
+      })
+    },
+    async onSubmit(){
+      this.form.sa_hrpayapplyid = this.$route.query.id
+      const res = await this.$api.requested({
+        "id": "20240117105704",
+        "content": this.form
+      })
+      this.tool.showMessage(res,()=>{
+        this.dialogVisible = false
+        this.$emit('onSuccess')
+      })
+    },
+    onClose(){
+      this.dialogVisible = false
+      this.form = {
+        "sa_hrpayapplyid":0,
+        "billdate": new Date().getFullYear() + '-' + (new Date().getMonth() + 1) + '-' + new Date().getDate(),
+        "billno":"",
+        "remarks":"",
+        "hrpayapplydetail": []
+      }
+      this.list = []
+      this.$refs.tableRef.$refs.table.clearSelection()
+    }
+  },
+  created() {
+    this.tablecols = this.tool.tabelCol(this.$route.name).incomeSelectTable.tablecols
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 87 - 24
src/SDrpManagement/myaccountclass/index.vue

@@ -7,10 +7,12 @@
           <el-row :gutter="20">
             <el-col v-for="(item,index) in acountlist" :key="index" :span="6" class="mt-10" @click.native="handleClick(index)">
               <div class="acccounet__panel" :style="activeName == index?{border:'1px solid #d8dde8'}:''">
-                <p class="normal-margin">{{item.accountname}}</p>
+                <p class="normal-margin" v-if="usertype == '1'">{{item.hraccountname}}</p>
+                <p class="normal-margin" v-else>{{item.accountname}}</p>
                 <p class="normal-title" style="font-size:1.825rem" :style="activeName == index?{color:'#3874f6'}:''"><small>¥</small>&nbsp;{{tool.formatAmount(item.balance,2)}}</p>
                 <div class="score">
-                  <p style="margin-top:16px">信用额度:{{item.creditquota}}</p>
+                  <p style="margin-top:16px" v-if="usertype == '1'">预计金额:{{item.expectedReward}}</p>
+                  <p style="margin-top:16px" v-else>信用额度:{{item.creditquota}}</p>
                 </div>
               </div>
             </el-col>
@@ -32,14 +34,24 @@
               </el-date-picker>
             </div>
             <div  class="mt-10 inline-16">
-              <el-input  style="width:200px;" placeholder="搜索" :suffix-icon="param.content.where.condition?param.content.where.condition.length > 0?'':'':'el-icon-search'" v-model="param.content.where.condition" @keyup.native.enter="accountMx(param.content.pageNumber = 1)" @clear="accountMx(param.content.pageNumber = 1)" size="small" class="input-with-select inline-16 layout_search__panel" clearable>
+              <el-input v-if="usertype == '1'" style="width:200px;" placeholder="搜索" :suffix-icon="paramSales.content.where.condition?paramSales.content.where.condition.length > 0?'':'':'el-icon-search'" v-model="paramSales.content.where.condition" @keyup.native.enter="accountMx(paramSales.content.pageNumber = 1)" @clear="accountMx(paramSales.content.pageNumber = 1)" size="small" class="input-with-select inline-16 layout_search__panel" clearable>
+              </el-input>
+              <el-input v-else style="width:200px;" placeholder="搜索" :suffix-icon="param.content.where.condition?param.content.where.condition.length > 0?'':'':'el-icon-search'" v-model="param.content.where.condition" @keyup.native.enter="accountMx(param.content.pageNumber = 1)" @clear="accountMx(param.content.pageNumber = 1)" size="small" class="input-with-select inline-16 layout_search__panel" clearable>
               </el-input>
             </div>
           </template>
           <tableLayout :layout="tablecols" :data="list" :opwidth="200" :custom="true" :fixedName="'operation'" height="calc(100vh - 390px)">
             <template v-slot:customcol="scope">
               <div v-if="scope.column.columnname == 'type'">
-                {{ scope.column.data.type ? '收入凭证' : '支出凭证' }}
+                {{ scope.column.data.type ? '收入' : '支出' }}
+              </div>
+              <div v-else-if="scope.column.columnname == 'accountname'">
+                <span v-if="usertype == '1'">
+                  {{scope.column.data.hraccountname}}
+                </span>
+                <span v-else>
+                  {{scope.column.data[[scope.column.columnname]]}}
+                </span>
               </div>
               <div v-else>
                 {{scope.column.data[[scope.column.columnname]]?scope.column.data[[scope.column.columnname]]:'--'}}
@@ -47,12 +59,12 @@
             </template>
             <template v-slot:opreation="scope">
               <editPrice v-if="tool.checkAuth($route.name,'update')" class="inline-16" :data="scope.data"/>
-              <delete-btn 
-                @deleteCreate="deleteCreate" 
-                v-if="tool.checkAuth($route.name,'delete')" 
-                :id="scope.data.sa_itempriceadjust_itemsid" 
-                @deleteSuccess="$refs.basicLayout.listData()" 
-                nameId="20221025095404" 
+              <delete-btn
+                @deleteCreate="deleteCreate"
+                v-if="tool.checkAuth($route.name,'delete')"
+                :id="scope.data.sa_itempriceadjust_itemsid"
+                @deleteSuccess="$refs.basicLayout.listData()"
+                nameId="20221025095404"
                 nameKey="sa_itempriceadjust_itemsids"
               />
             </template>
@@ -96,12 +108,30 @@ export default {
           }
         }
       },
+      paramSales:{
+        "id": 20240111090304,
+        "content": {
+          "pageSize": 20,
+          "pageNumber": 1,
+          "hrid": "",
+          "where": {
+            "condition": "",
+            "begdate": "",
+            "enddate": "",
+            "type":"",
+            "sa_hraccountclassid":""
+          }
+        }
+      },
       total:0,
-      dateSelect:[]
+      dateSelect:[],
+      usertype:JSON.parse(sessionStorage.getItem('active_account')).usertype,
+      hrid:JSON.parse(sessionStorage.getItem('active_account')).hrid
     }
   },
   methods:{
     async listData () {
+      console.log(this.usertype,'usertype')
       const res = await this.$api.requested({
         id:"20221008145903",
         content:{
@@ -111,14 +141,34 @@ export default {
       })
       this.acountlist = res.data
       console.log(this.acountlist);
-      
+
+      this.accountMx()
+    },
+    async listDataSales(){
+      const res = await this.$api.requested({
+        "id": 20240111085504,
+        "content": {
+          "hrid":this.hrid,
+          "pageSize": 99,
+          "pageNumner": 1
+        }
+      })
+      this.acountlist = res.data
       this.accountMx()
     },
     async accountMx () {
-      this.param.content.sa_accountclassid = this.acountlist[this.activeName].sa_accountclassid
-      const res = await this.$api.requested(this.param)
-      this.list = res.data.rows
-      console.log(res,"res的数据")
+      if (this.usertype == '1'){
+        this.paramSales.content.hrid = this.hrid
+        this.paramSales.content.where.sa_hraccountclassid = this.acountlist[this.activeName].sa_hraccountclassid
+        const res = await this.$api.requested(this.paramSales)
+        this.list = res.data
+        console.log(res,"res的数据")
+      }else {
+        this.param.content.sa_accountclassid = this.acountlist[this.activeName].sa_accountclassid
+        const res = await this.$api.requested(this.param)
+        this.list = res.data.rows
+        console.log(res,"res的数据")
+      }
     },
     handleClick (index) {
       this.activeName = index
@@ -135,19 +185,32 @@ export default {
       this.accountMx()
     },
     selectChange(){
-
-      if (this.dateSelect !== '' && this.dateSelect !== null){
-        this.param.content.where.begindate = this.dateSelect[0]
-        this.param.content.where.enddate = this.dateSelect[1]
+      if (this.usertype == '1'){
+        if (this.dateSelect !== '' && this.dateSelect !== null){
+          this.paramSales.content.where.begindate = this.dateSelect[0]
+          this.paramSales.content.where.enddate = this.dateSelect[1]
+        }else {
+          this.paramSales.content.where.begindate = ''
+          this.paramSales.content.where.enddate = ''
+        }
       }else {
-        this.param.content.where.begindate = ''
-        this.param.content.where.enddate = ''
+        if (this.dateSelect !== '' && this.dateSelect !== null){
+          this.param.content.where.begindate = this.dateSelect[0]
+          this.param.content.where.enddate = this.dateSelect[1]
+        }else {
+          this.param.content.where.begindate = ''
+          this.param.content.where.enddate = ''
+        }
       }
       this.accountMx()
     }
   },
   mounted () {
-    this.listData()
+    if (this.usertype == '1'){
+      this.listDataSales()
+    }else {
+      this.listData()
+    }
   },
   created () {
     this.tablecols = this.tool.tabelCol(this.$route.name)['accountMoneyDetailTable'].tablecols
@@ -166,4 +229,4 @@ export default {
   border-radius: 5px;
   cursor: pointer;
 }
-</style>
+</style>

+ 5 - 0
src/SDrpManagement/salerExpenditure/detail/components/income.vue

@@ -22,6 +22,11 @@
         <div v-else-if="scope.column.columnname === 'relaamount'">
           {{tool.formatAmount(scope.column.data[[scope.column.columnname]],2)}}
         </div>
+        <div v-else-if="scope.column.columnname === 'status'">
+          <span :style="{color:scope.column.data.status == '新建'?'#333333':'#52c41a'}">
+            {{scope.column.data[[scope.column.columnname]]}}
+          </span>
+        </div>
         <div v-else>
           {{scope.column.data[[scope.column.columnname]] || scope.column.columnname === 'operation'?scope.column.data[[scope.column.columnname]]:'--'}}
         </div>

+ 2 - 2
src/SDrpManagement/salerExpenditure/detail/index.vue

@@ -75,7 +75,7 @@ export default {
           value:this.mainData.status,
           style:function () {
             let style = {}
-            switch (that.mainData.reportstatus) {
+            switch (that.mainData.status) {
               case '新建':
                 style = {color:'#333333'}
                 break;
@@ -126,7 +126,7 @@ export default {
             value:this.mainData.status,
             style:function () {
               let style = {}
-              switch (that.mainData.reportstatus) {
+              switch (that.mainData.status) {
                 case '新建':
                   style = {color:'#333333'}
                   break;

+ 5 - 0
src/SDrpManagement/salerIncome/detail/components/expenditure.vue

@@ -22,6 +22,11 @@
         <div v-else-if="scope.column.columnname === 'relaamount'">
           {{tool.formatAmount(scope.column.data[[scope.column.columnname]],2)}}
         </div>
+        <div v-else-if="scope.column.columnname === 'status'">
+          <span :style="{color:scope.column.data.status == '新建'?'#333333':'#52c41a'}">
+            {{scope.column.data[[scope.column.columnname]]}}
+          </span>
+        </div>
         <div v-else>
           {{scope.column.data[[scope.column.columnname]] || scope.column.columnname === 'operation'?scope.column.data[[scope.column.columnname]]:'--'}}
         </div>

+ 2 - 2
src/SDrpManagement/salerIncome/detail/index.vue

@@ -75,7 +75,7 @@ export default {
           value:this.mainData.status,
           style:function () {
             let style = {}
-            switch (that.mainData.reportstatus) {
+            switch (that.mainData.status) {
               case '新建':
                 style = {color:'#333333'}
                 break;
@@ -126,7 +126,7 @@ export default {
             value:this.mainData.status,
             style:function () {
               let style = {}
-              switch (that.mainData.reportstatus) {
+              switch (that.mainData.status) {
                 case '新建':
                   style = {color:'#333333'}
                   break;