소스 검색

机构、合伙人保费明细

lihongxiao 2 년 전
부모
커밋
980ecd5ad0

+ 4 - 0
src/components/TemplateTable/index.vue

@@ -217,6 +217,7 @@
       element-loading-spinner="el-icon-loading"
       @selection-change="handleSelectionChange"
       @select-all="selectAll"
+      @row-click="rowClick"
       :row-style="{ height: '55px' }"
       :cell-style="{ padding: '0px' }"
       @current-change="handleCurrentTableChange"
@@ -562,6 +563,9 @@ export default {
     selectAll(currentRow) {
       this.$emit("selectAll", currentRow, this.$refs.table);
     },
+    rowClick(currentRow) {
+      this.$emit("rowClick", currentRow, this.$refs.table);
+    },
     handleSizeChange(value) {
       this.pagination.pageSize = value;
       this.pagination.pageNum = 1;

+ 22 - 0
src/http/moudules/insCompany.js

@@ -825,6 +825,28 @@ export const queryExtractFeeAll = (data) => {
     data
   })
 }
+export const queryAgencyUser = (params) => {
+  return axios({
+    url: '/agency/queryAgencyUser',
+    method: "get",
+    params
+  })
+}
+export const queryAgencyUserInsAreaPage = (data) => {
+  return axios({
+    url: '/agency/queryAgencyUserInsAreaPage',
+    method: "post",
+    data
+  })
+}
+export const queryAgencyLeaderById = (data) => {
+  return axios({
+    url: '/sysPartner/queryAgencyLeaderById',
+    method: "post",
+    data
+  })
+}
+
 // 合伙人、工作室管理机构树
 export const getSysDeptTree = () => {
   return axios({

+ 149 - 28
src/views/PeopleManage/InstitutionalExtraction.vue

@@ -1,19 +1,26 @@
 <template>
   <div>
-    <div>
-      
-          <templateTable
-            :formList="formList"
-            :searchData.sync="queryFrom"
-            :tableConfig="tableConfig"
-            :data="pageResult"
-            @getList="findPage"
-            @handleSearchList="handleSearchList"
-            :pagination="pageData"
-          >
+    <templateTable :formList="formList" :searchData.sync="queryFrom" :tableConfig="tableConfig" :data="pageResult"
+      @getList="findPage" @handleSearchList="handleSearchList" :pagination="pageData">
+    </templateTable>
+    <el-dialog title="详情" :visible.sync="dialogVisible" width="70%">
+      <el-row>
+        <el-col :span="5">
+          <templateTable :tableConfig="personneltableConfig" :data="pageResultpersonnel" @getList="findPagepersonnel"
+            @rowClick="rowClick">
           </templateTable>
-    </div>
-    
+        </el-col>
+        <el-col :span="18" :offset="1">
+          <templateTable :tableConfig="depttableConfig" :data="pageResultdept" @getList="findPagedept"
+            :pagination="pageDatadept">
+          </templateTable>
+        </el-col>
+      </el-row>
+
+      <div slot="footer" class="dialog-footer">
+        <el-button size="small" @click="dialogVisible = false">关 闭</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -25,8 +32,9 @@ export default {
   },
   data() {
     return {
+      dialogVisible: false,
       formList: [
-      {
+        {
           label: "工号",
           prop: "userId",
           type: "input",
@@ -55,33 +63,148 @@ export default {
           { prop: "cashFee", label: "可提现金额", type: "text" },
           { prop: "startTime", label: "核算开始时间", type: "text" },
         ],
+        optBtns: [
+          {
+            type: "primary",
+            label: "详情",
+            click: (row, index) => {
+              return this.detail(row);
+            },
+          },
+        ],
         loading: true,
         isPaginationShow: true,
         isShowIndex: true,
       },
-      rules:{
+      personneltableConfig: {
+        columns: [
+          // 数据列
+          { prop: "name", label: "姓名", type: "text" },
+        ],
+        tableHeight:480,
+        loading: true,
+        isPaginationShow: false,
+        isShowIndex: true,
+      },
+      depttableConfig: {
+        columns: [
+          // 数据列
+          { prop: "userId", label: "员工编号", type: "text" },
+          { prop: "userName", label: "员工姓名", type: "text" },
+          { prop: "companyId", label: "子订单编号", type: "text" },
+          { prop: "orderstatus", label: "订单状态", type: "statMap",options:[
+            {
+              label:'报价中',
+              value:'0'
+            },
+            {
+              label:'待核保',
+              value:'1'
+            },
+            {
+              label:'已核保待缴费',
+              value:'2'
+            },
+            {
+              label:'已承保',
+              value:'3'
+            },
+            {
+              label:'核保退回',
+              value:'4'
+            },
+          ]},
+          { prop: "licenseno", label: "车牌号", type: "text" },
+          { prop: "sypremium", label: "商业险", type: "text" },
+          { prop: "jqpremium", label: "交强险", type: "text" },
+          { prop: "jypremium", label: "驾意险", type: "text" },
+          { prop: "sumpremium", label: "总保费", type: "text" },
+
+          { prop: "createtime", label: "创建时间 ", type: "text" },
+        ],
+        tableHeight:450,
+        loading: true,
+        isPaginationShow: true,
+        isShowIndex: true,
+      },
+      pageResultpersonnel: [],
+      pageResultdept: [],
+      rules: {
         proportional: [
-            { required: true, message: '请输入抽成比例', trigger: 'blur' },
-          ],
-          userName: [
-            { required: true, message: '请选择名称', trigger: 'change' }
-          ],
-         
+          { required: true, message: '请输入抽成比例', trigger: 'blur' },
+        ],
+        userName: [
+          { required: true, message: '请选择名称', trigger: 'change' }
+        ],
+
       },
       pageData: {
         pageNum: 1,
         pageSize: 10,
         totalSize: 0,
       },
-     
+      pageDatadept: {
+        pageNum: 1,
+        pageSize: 10,
+        totalSize: 0,
+      },
       queryFrom: {},
       pageResult: [],
+      rowDept: '',
+      userId: '',
+      startTime:''
     };
   },
   created() {
     this.findPage();
   },
   methods: {
+    detail(row) {
+      this.dialogVisible = true
+      this.rowDept = row.deptId
+      this.startTime = row.startTime
+      this.findPagepersonnel({ deptId: row.deptId })
+      this.findPagedept()
+    },
+    rowClick(val) {
+      this.userId =''
+      this.userId = val.id
+      this.pageDatadept=   {
+        pageNum: 1,
+        pageSize: 10,
+        totalSize: 0,
+      },
+      this.findPagedept()
+    },
+    findPagepersonnel(data) {
+      this.personneltableConfig.loading = true;
+      this.$api.insCompany
+        .queryAgencyUser({
+          ...data,
+        })
+        .then((res) => {
+          this.personneltableConfig.loading = false;
+          this.pageResultpersonnel = res.data;
+        });
+    },
+    findPagedept(data) {
+      this.depttableConfig.loading = true;
+      this.$api.insCompany
+        .queryAgencyUserInsAreaPage({
+          userId: this.userId,
+          deptId: this.rowDept,
+          startTime:this.startTime,
+          ...data,
+          ...this.pageDatadept
+        })
+        .then((res) => {
+          this.depttableConfig.loading = false;
+          this.pageResultdept = res.data.records;
+          this.pageDatadept.pageNum = res.data.current;
+          this.pageDatadept.pageSize = res.data.size;
+          this.pageDatadept.totalSize = res.data.total;
+        });
+    },
     // 查询Start
     queryStaffInfo() {
       this.findPage();
@@ -103,17 +226,15 @@ export default {
           this.pageData.totalSize = res.data.totalSize;
         });
     },
-   
+
     handleSearchList(data) {
       this.findPage(data);
     },
-   
+
     // 下一步
-    
+
   },
 };
 </script>
 
-<style scoped>
-
-</style>
+<style scoped></style>

+ 209 - 26
src/views/PeopleManage/PartnerExtraction.vue

@@ -1,19 +1,34 @@
 <template>
   <div>
-    <div>
-      
-          <templateTable
-            :formList="formList"
-            :searchData.sync="queryFrom"
-            :tableConfig="tableConfig"
-            :data="pageResult"
-            @getList="findPage"
-            @handleSearchList="handleSearchList"
-            :pagination="pageData"
+    <templateTable :formList="formList" :searchData.sync="queryFrom" :tableConfig="tableConfig" :data="pageResult"
+      @getList="findPage" @handleSearchList="handleSearchList" :pagination="pageData">
+    </templateTable>
+    <el-dialog title="详情" :visible.sync="dialogVisibledetail" width="40%">
+        <templateTable :tableConfig="detailtableConfig" :data="pageResultdetail" @getList="findPagedetail"
+        :pagination="pageDetailData"
           >
+        </templateTable>
+      <div slot="footer" class="dialog-footer">
+        <el-button size="small" @click="dialogVisibledetail = false">关 闭</el-button>
+      </div>
+    </el-dialog>
+    <el-dialog title="详情" :visible.sync="dialogVisible" width="70%">
+      <el-row>
+        <el-col :span="5">
+          <templateTable :tableConfig="personneltableConfig" :data="pageResultpersonnel" @getList="findPagepersonnel"
+            @rowClick="rowClick">
           </templateTable>
-    </div>
-    
+        </el-col>
+        <el-col :span="18" :offset="1">
+          <templateTable :tableConfig="depttableConfig" :data="pageResultdept" @getList="findPagedept"
+            :pagination="pageDatadept">
+          </templateTable>
+        </el-col>
+      </el-row>
+      <div slot="footer" class="dialog-footer">
+        <el-button size="small" @click="dialogVisible = false">关 闭</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -25,6 +40,8 @@ export default {
   },
   data() {
     return {
+      pageResultdetail:[],
+
       formList: [
         {
           label: "工号",
@@ -53,33 +70,201 @@ export default {
           { prop: "cashFee", label: "可提现金额", type: "text" },
           { prop: "startTime", label: "核算开始时间", type: "text" },
         ],
+        optBtns: [
+          {
+            type: "primary",
+            label: "详情",
+            click: (row, index) => {
+              return this.detail(row);
+            },
+          },
+        ],
         loading: true,
         isPaginationShow: true,
         isShowIndex: true,
       },
-      rules:{
-        proportional: [
-            { required: true, message: '请输入抽成比例', trigger: 'blur' },
-          ],
-          userName: [
-            { required: true, message: '请选择名称', trigger: 'change' }
-          ],
+      detailtableConfig: {
+        columns: [
+          // 数据列
+          // { prop: "userId", label: "工号", type: "text" },
+          // {
+          //   prop: "userName",
+          //   label: "名称",
+          //   type: "text",
+          // },
          
+          { prop: "deptId", label: "机构id", type: "text" },
+          { prop: "deptName", label: "机构名称", type: "text" },
+           { prop: "sumpremium", label: "总保费", type: "text" },
+          { prop: "proportional", label: "抽成比例", type: "text" },
+          { prop: "extractFee", label: "总保费抽成费用", type: "text" },
+          { prop: "startTime", label: "核算开始时间", type: "text" },
+        ],
+        optBtns: [
+          {
+            type: "primary",
+            label: "查看",
+            click: (row, index) => {
+              return this.rowDetail(row);
+            },
+          },
+        ],
+        loading: true,
+        isPaginationShow: true,
+        isShowIndex: true,
+      },
+      rules: {
+        proportional: [
+          { required: true, message: '请输入抽成比例', trigger: 'blur' },
+        ],
+        userName: [
+          { required: true, message: '请选择名称', trigger: 'change' }
+        ],
+
       },
       pageData: {
         pageNum: 1,
         pageSize: 10,
         totalSize: 0,
       },
-     
+      pageDetailData: {
+        pageNum: 1,
+        pageSize: 10,
+        totalSize: 0,
+      },
       queryFrom: {},
       pageResult: [],
+      dialogVisible: false,
+      personneltableConfig: {
+        columns: [
+          // 数据列
+          { prop: "name", label: "姓名", type: "text" },
+        ],
+        tableHeight: 480,
+        loading: true,
+        isPaginationShow: false,
+        isShowIndex: true,
+      },
+      depttableConfig: {
+        columns: [
+          // 数据列
+          { prop: "userId", label: "员工编号", type: "text" },
+          { prop: "userName", label: "员工姓名", type: "text" },
+          { prop: "companyId", label: "子订单编号", type: "text" },
+          { prop: "orderstatus", label: "订单状态", type: "statMap",options:[
+            {
+              label:'报价中',
+              value:'0'
+            },
+            {
+              label:'待核保',
+              value:'1'
+            },
+            {
+              label:'已核保待缴费',
+              value:'2'
+            },
+            {
+              label:'已承保',
+              value:'3'
+            },
+            {
+              label:'核保退回',
+              value:'4'
+            },
+          ]},
+          { prop: "licenseno", label: "车牌号", type: "text" },
+          { prop: "sypremium", label: "商业险", type: "text" },
+          { prop: "jqpremium", label: "交强险", type: "text" },
+          { prop: "jypremium", label: "驾意险", type: "text" },
+          { prop: "sumpremium", label: "总保费", type: "text" },
+          { prop: "createtime", label: "创建时间 ", type: "text" },
+        ],
+        tableHeight: 450,
+        loading: true,
+        isPaginationShow: true,
+        isShowIndex: true,
+      },
+      pageResultpersonnel: [],
+      pageResultdept: [],
+      pageDatadept: {
+        pageNum: 1,
+        pageSize: 10,
+        totalSize: 0,
+      },
+      rowDept: '',
+      userId: '',
+      startTime: '',
+      dialogVisibledetail:false
     };
   },
   created() {
     this.findPage();
   },
   methods: {
+    detail(row) {
+      this.dialogVisibledetail = true
+      this.rowUserId=row.userId
+      this.findPagedetail()
+    },
+    rowDetail(row) {
+      this.dialogVisible = true
+      this.rowDept = row.deptId
+      this.startTime = row.startTime
+      this.findPagepersonnel({ deptId: row.deptId })
+      this.findPagedept()
+    },
+    rowClick(val) {
+      this.userId =''
+      this.userId = val.id
+      this.pageDatadept=   {
+        pageNum: 1,
+        pageSize: 10,
+        totalSize: 0,
+      },
+      this.findPagedept()
+    },
+    findPagedetail(data) {
+      this.detailtableConfig.loading = true;
+      this.$api.insCompany
+        .queryAgencyLeaderById({userId:this.rowUserId,...this.pageDetailData})
+        .then((res) => {
+          this.detailtableConfig.loading = false;
+          this.pageResultdetail = res.data.content;
+          this.pageDetailData.pageNum = res.data.pageNum;
+          this.pageDetailData.pageSize = res.data.pageSize;
+          this.pageDetailData.totalSize = res.data.totalSize;
+        });
+    },
+    findPagepersonnel(data) {
+      this.personneltableConfig.loading = true;
+      this.$api.insCompany
+        .queryAgencyUser({
+          ...data,
+        })
+        .then((res) => {
+          this.personneltableConfig.loading = false;
+          this.pageResultpersonnel = res.data;
+        });
+    },
+    findPagedept(data) {
+      this.depttableConfig.loading = true;
+      this.$api.insCompany
+        .queryAgencyUserInsAreaPage({
+          userId: this.userId,
+          deptId: this.rowDept,
+          startTime: this.startTime,
+          ...data,
+          ...this.pageDatadept
+        })
+        .then((res) => {
+          this.depttableConfig.loading = false;
+          this.pageResultdept = res.data.records;
+          this.pageDatadept.pageNum = res.data.current;
+          this.pageDatadept.pageSize = res.data.size;
+          this.pageDatadept.totalSize = res.data.total;
+        });
+    },
     // 查询Start
     queryStaffInfo() {
       this.findPage();
@@ -101,17 +286,15 @@ export default {
           this.pageData.totalSize = res.data.totalSize;
         });
     },
-   
+
     handleSearchList(data) {
       this.findPage(data);
     },
-   
+
     // 下一步
-    
+
   },
 };
 </script>
 
-<style scoped>
-
-</style>
+<style scoped></style>