Преглед изворни кода

Merge branch 'dev' of http://www.baoxianzhanggui.com:8090/sxzgd/vue-insagent-pc into dev

yaoyao пре 2 година
родитељ
комит
03b4b91cf1

+ 3 - 3
config/dev.env.js

@@ -7,7 +7,7 @@ module.exports = merge(prodEnv, {
 
 
   ENV_CONFIG: '"dev"',
-  BASE_URL: '"https://test.baoxianzhanggui.com/web-api"',//测试服务器
+  // BASE_URL: '"https://test.baoxianzhanggui.com/web-api"',//测试服务器
   // BASE_URL:'"https://sxzgkj.baoxianzhanggui.com/web-api"'//正式服务器
   // BASE_URL:'"https://sxzgkj.baoxianzhanggui.com/web-api"'//正式服务器
   // BASE_URL: '"http://192.168.0.115:8080/"' //凯森
@@ -18,8 +18,8 @@ module.exports = merge(prodEnv, {
   // BASE_URL: '"http:///192.168.0.42:8080/"',//武鸿鹏
   // BASE_URL: '"http://192.168.1.101:8080/"',
   // BASE_URL: '"http://192.168.0.250:8080/"',//
-  // BASE_URL: '"http:///192.168.0.103:8080/"',//霍续亮
-  // BASE_URL: '"http:///192.168.0.52:8080/"',//贺礼霄
+  BASE_URL: '"http:///192.168.0.103:8080/"',//霍续亮
+  // BASE_URL: '"http://192.168.0.52:8080/"',//贺礼霄
   // BASE_URL: '"http:///192.168.0.55:8080/"',//蔡雅茹
   // CONSOLE_BASE_URL: '"http://localhost:8080/"' //控制台测试服务器
   // CONSOLE_BASE_URL: '"https://sxzgkj.baoxianzhanggui.com/console-api"' //控制台正式服务器

+ 1 - 1
package-lock.json

@@ -2688,7 +2688,7 @@
     },
     "crypto-js": {
       "version": "4.2.0",
-      "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.2.0.tgz",
+      "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz",
       "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q=="
     },
     "css-color-names": {

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

@@ -513,7 +513,6 @@ export default {
     statMaps(list) {
       if (!list) return;
       let obj = {};
-
       list.forEach((item) => {
         obj[item.value || item.id || item.dictValue] = item.label || item.value || item.dictTag;
       });

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

@@ -726,3 +726,87 @@ export const agencydel = (id) => {
     method: "get",
   })
 }
+export const sysPartner = (id) => {
+  return axios({
+    url: '/sysPartner/queryInfo',
+    method: "get",
+  })
+}
+// 合伙人管理
+
+export const sysPartnerPage = (data) => {
+  return axios({
+    url: '/sysPartner/queryByPage',
+    method: "post",
+    data
+  })
+}
+export const sysPartnerAdd = (data) => {
+  return axios({
+    url: '/sysPartner/add',
+    method: "post",
+    data
+  })
+}
+export const sysPartnerDel = (id) => {
+  return axios({
+    url: '/sysPartner/deleteById/'+id,
+    method: "get",
+  })
+}
+// 机构保费抽成审核
+export const sysAgencyFeeApprovalPage = (data) => {
+  return axios({
+    url: '/sysAgencyFeeApproval/queryPage',
+    method: "post",
+    data
+  })
+}
+export const sysAgencyFeeApprovalAdd = (data) => {
+  return axios({
+    url: '/sysAgencyFeeApproval/add',
+    method: "post",
+    data
+  })
+}
+export const sysAgencyFeeApprovaldet = (id) => {
+  return axios({
+    url: '/sysAgencyFeeApproval/queryById/'+id,
+    method: "get",
+  })
+}
+export const sysAgencyFeeApprovalCon = (data) => {
+  return axios({
+    url: `/sysAgencyFeeApproval/confirmAccounts`,
+    method: "post",
+    data
+  })
+}
+export const sysAgencyFeeApprovalEdit = (data) => {
+  return axios({
+    url: '/sysAgencyFeeApproval/edit',
+    method: "post",
+    data
+  })
+}
+export const sysAgencyFeeApprovalOperate = (id) => {
+  return axios({
+    url: '/sysAgencyFeeApproval/queryOperate/'+id,
+    method: "get",
+  })
+}
+
+export const queryPartnerByPage = (data) => {
+  return axios({
+    url: '/sysPartner/queryPartnerByPage',
+    method: "post",
+    data
+  })
+}
+export const queryExtractFeeAll = (data) => {
+  return axios({
+    url: '/agency/queryExtractFeeAll',
+    method: "post",
+    data
+  })
+}

+ 7 - 0
src/http/moudules/letter.js

@@ -1219,3 +1219,10 @@ export const productDetailsQuery = (data) => {
     data
   })
 }
+export const pingangetPolicyPrint = (data) => {
+  return axios({
+    url: '/order/pingAnApi/getPolicyPrint',
+    method: 'post',
+    data
+  })
+}

+ 37 - 0
src/views/PeopleManage/Institutional.vue

@@ -85,6 +85,30 @@
                       :value="val.dictValue">
                     </el-option>
                   </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="业务来源" prop="source">
+                  <el-select v-model="formData.source" multiple clearable  placeholder="请选择业务来源">
+                    <el-option
+                      v-for="val in organizationSourceoptions"
+                      :key="val.dictValue"
+                      :label="val.dictTag"
+                      :value="val.dictValue">
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="推荐人" prop="suggestId">
+                  <el-select v-model="formData.suggestId" @change="suggestChange" clearable  placeholder="请选择推荐人">
+                    <el-option
+                      v-for="val in sysPartnerOption"
+                      :key="val.userId"
+                      :label="val.userName"
+                      :value="val.userId">
+                    </el-option>
+                  </el-select>
                   
                 </el-form-item>
               </el-col>
@@ -171,6 +195,7 @@ export default {
         loading: true,
         isPaginationShow: true,
         isShowIndex: true,
+        
         optBtns: [
           {
             type: "primary",
@@ -201,6 +226,7 @@ export default {
           deptName: [
             { required: true, message: '请选择机构名称', trigger: 'change' }
           ],
+         
       },
       pageData: {
         pageNum: 1,
@@ -214,10 +240,15 @@ export default {
       pageResult: [],
       dialogTitle: "",
       dialogVisible: false, // 新增编辑界面是否显示
+      sysPartnerOption:[]
+
     };
   },
   created() {
     this.findPage();
+    this.$api.insCompany.sysPartner().then(res=>{
+      this.sysPartnerOption=res.data
+    })
     this.$api.insCompany.getDeptInfo().then(res=>{
       if(res.code==200){
         this.formList.forEach(e=>{
@@ -250,6 +281,12 @@ export default {
       });
   },
   methods: {
+    suggestChange(e){
+      this.formData.suggestName=''
+      if(e){
+        this.formData.suggestName=this.sysPartnerOption.find(val=>val.userId==e).userName
+      }
+    },
     userChange(val){
       if(val){
         this.formData.userId= this.useroption.find(e=>e.name==val).id

+ 116 - 0
src/views/PeopleManage/InstitutionalExtraction.vue

@@ -0,0 +1,116 @@
+<template>
+  <div>
+    <div>
+      
+          <templateTable
+            :formList="formList"
+            :searchData.sync="queryFrom"
+            :tableConfig="tableConfig"
+            :data="pageResult"
+            @getList="findPage"
+            @handleSearchList="handleSearchList"
+            :pagination="pageData"
+          >
+          </templateTable>
+    </div>
+    
+  </div>
+</template>
+
+<script>
+import templateTable from "../../components/TemplateTable/index.vue";
+export default {
+  components: {
+    templateTable,
+  },
+  data() {
+    return {
+      formList: [
+      
+        {
+          label: "名称",
+          prop: "userId",
+          type: "select",
+          options:[]
+        },
+      ],
+      tableConfig: {
+        columns: [
+          // 数据列
+          { prop: "userId", label: "工号", type: "text" },
+          {
+            prop: "userName",
+            label: "名称",
+            type: "text",
+          },
+          { prop: "deptId", label: "机构id", type: "text" },
+          { prop: "deptName", label: "机构名称", type: "text" },
+          { prop: "proportional", label: "抽成比例", type: "text" },
+          { prop: "sumpremium", label: "总保费", type: "text" },
+          { prop: "extractFee", label: "总保费抽成费用", type: "text" },
+          { prop: "historyFee", label: "已提现抽成费用", type: "text" },
+          { prop: "cashFee", label: "可提现抽成费用", type: "text" },
+          { prop: "startTime", label: "提层计算开始时间", type: "text" },
+        ],
+        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,
+      },
+     
+      queryFrom: {},
+      pageResult: [],
+    };
+  },
+  created() {
+    this.findPage();
+  },
+  methods: {
+    // 查询Start
+    queryStaffInfo() {
+      this.findPage();
+    },
+
+    // 右侧列表的方法Start
+    findPage(data) {
+      this.tableConfig.loading = true;
+      this.$api.insCompany
+        .queryExtractFeeAll({
+          ...this.pageData,
+          ...data,
+        })
+        .then((res) => {
+          this.tableConfig.loading = false;
+          this.pageResult = res.data.content;
+          this.pageData.pageNum = res.data.pageNum;
+          this.pageData.pageSize = res.data.pageSize;
+          this.pageData.totalSize = res.data.totalSize;
+        });
+    },
+   
+    handleSearchList(data) {
+      this.findPage(data);
+    },
+   
+    // 下一步
+    
+  },
+};
+</script>
+
+<style scoped>
+
+</style>

+ 489 - 0
src/views/PeopleManage/InstitutionalPremium.vue

@@ -0,0 +1,489 @@
+<template>
+  <div>
+    <div>
+      
+          <templateTable
+            :formList="formList"
+            :searchData.sync="queryFrom"
+            :tableConfig="tableConfig"
+            :data="pageResult"
+            @getList="findPage"
+            @handleSearchList="handleSearchList"
+            :pagination="pageData"
+          >
+          <template slot="picture" slot-scope="scope">
+              <img v-if="scope.row.picture" :src='scope.row.picture' class="imageclass" />
+              <span v-else>无</span>
+          </template>
+          <!-- <template slot="operate" slot-scope="scope">
+            <el-button type="primary" size="small"  @click="examine(scope.row)">审核</el-button>
+            <el-button type="primary" size="small"  @click="examine(scope.row)">上传</el-button>
+            <el-button type="primary" size="small"  @click="examine(scope.row)">操作记录</el-button>
+          </template> -->
+          </templateTable>
+    </div>
+    <el-dialog
+    title="上传转账截图"
+    :visible.sync="dialogVisible"
+    width="30%"
+    :before-close="handleClose">
+    <div>
+      <el-upload
+        class="upload-demo"
+        action="#"
+        :auto-upload="false"
+        :show-file-list="false"
+        list-type="picture-card"
+        ref="upload1"
+        :on-change="drivingupload"
+        :limit="1"
+        accept=".png, .jpg, .jpeg">
+        <!-- <i class="el-icon-plus"></i> -->
+        <img v-if="imageUrl"  :src="imageUrl" class="avatar">
+        <i v-else class="el-icon-plus"></i>
+        <div slot="tip" class="el-upload__tip">请上传线下转账记录</div>
+      </el-upload>
+    </div>
+    <span slot="footer" class="dialog-footer">
+      <el-button size="small" @click="dialogVisible = false">取 消</el-button>
+      <el-button size="small" type="primary" @click="onDrivingupload">确 定</el-button>
+    </span>
+</el-dialog>
+<el-dialog
+    title="操作记录"
+    :visible.sync="operationdialogVisible"
+    width="50%"
+    :before-close="handleClose">
+    <div>
+      <el-table
+      :data="operationtableData"
+      border
+      style="width: 100%">
+      <el-table-column
+        prop="userId"
+        label="工号">
+      </el-table-column>
+      <el-table-column
+        prop="createBy"
+        label="操作人">
+      </el-table-column>
+      <el-table-column
+        prop="deptName"
+        label="机构名称"
+      >
+      </el-table-column>
+      <el-table-column
+        prop="sumpremium"
+        label="总保费">
+      </el-table-column>
+      <el-table-column
+        prop="extractFee"
+        label="总保费抽成费用">
+      </el-table-column>
+      <el-table-column
+        prop="historyFee"
+        label="已提现抽成费用">
+      </el-table-column>
+      <el-table-column
+        prop="cashFee"
+        label="可提现抽成费用">
+      </el-table-column>
+    </el-table>
+    </div>
+    <span slot="footer" class="dialog-footer">
+      <el-button size="small" @click="operationdialogVisible = false">取 消</el-button>
+    </span>
+</el-dialog>
+  </div>
+</template>
+
+<script>
+import templateTable from "../../components/TemplateTable/index.vue";
+export default {
+  components: {
+    templateTable,
+  },
+  data() {
+    return {
+      imageUrl:'',
+      operationdialogVisible:false,
+      operationtableData:[],
+      formList: [
+      
+        {
+          label: "名称",
+          prop: "userId",
+          type: "select",
+          options:[]
+        },
+      ],
+      btnGroup: [
+        {
+          name: "新增",
+          click: (row, index) => { return this.handleAddButton() },
+
+        },
+      ],
+      useroption:[],
+      deptoption:[],
+      statusoption:[
+        {
+          label:'未审核',
+          value:0
+        },{
+          label:'审核通过',
+          value:'1'
+        },{
+          label:'审核驳回',
+          value:'2'
+        },
+      ],
+      tableConfig: {
+        columns: [
+          // 数据列
+          { prop: "userId", label: "工号", type: "text" },
+          {
+            prop: "userName",
+            label: "名称",
+            type: "text",
+          },
+          { prop: "deptId", label: "机构id", type: "text" },
+
+          { prop: "deptName", label: "机构名称", type: "text" },
+          { name: "picture", label: "转账图片", type: "slot" },
+          { prop: "proportional", label: "抽成比例", type: "text" },
+          { prop: "status", label: "审核状态", type: "statMap",options:[
+        {
+          label:'未审核',
+          value:'0'
+        },{
+          label:'审核通过',
+          value:'1'
+        },{
+          label:'审核驳回',
+          value:'2'
+        },
+      ] },
+          { prop: "remark", label: "审批意见", type: "text" },
+          { prop: "sumpremium", label: "总保费", type: "text" },
+          { prop: "extractFee", label: "总保费抽成费用", type: "text" },
+          { prop: "historyFee", label: "已提现抽成费用", type: "text" },
+          { prop: "cashFee", label: "可提现抽成费用", type: "text" },
+          { prop: "startTime", label: "提层计算开始时间", type: "text" },
+        ],
+        loading: true,
+        isPaginationShow: true,
+        isShowIndex: true,
+        // operateShow:true,
+        operationWidth:'150',
+        optBtns: [
+            // {
+            //   type: "primary",
+            //   label: "编辑",
+            //   perm: "sys:agent:edit",
+            //   icon: "fa fa-edit",
+            //   click: (row, index) => {
+            //     return this.handleTableEdit(row);
+            //   },
+            // },
+          // {
+          //   type: "primary",
+          //   label: "删除",
+          //   icon: "el-icon-delete",
+          //   click: (row, index) => {
+          //     return this.handleTableDeleteFlag(row);
+          //   },
+          // },
+          {
+            label: "确认转账",
+            type:'text',
+            click: (row, index) => {
+               this.dialogVisible=true;
+               this.imageUrl='';
+                this.rowId=row.id
+            },
+          },
+          {
+            type: "primary",
+            label: "审核",
+            type:'text',
+            hide:(row)=>{
+              return row.status=='0'
+            },
+            click: (row, index) => {
+              return this.examine(row);
+            },
+          },
+          {
+            type: "primary",
+            label: "操作记录",
+            type:'text',
+            click: (row, index) => {
+              return this.operation(row);
+            },
+          },
+        ],
+      },
+      rules:{
+        proportional: [
+            { required: true, message: '请输入抽成比例', trigger: 'blur' },
+          ],
+          userName: [
+            { required: true, message: '请选择名称', trigger: 'change' }
+          ],
+          suggestId: [
+            { required: true, message: '请选择推荐人', trigger: 'change' }
+          ],
+         
+      },
+      pageData: {
+        pageNum: 1,
+        pageSize: 10,
+        totalSize: 0,
+      },
+      formData: {
+        roleId: "20",
+      },
+      queryFrom: {},
+      pageResult: [],
+      dialogTitle: "",
+      dialogVisible: false, // 新增编辑界面是否显示
+      rowId:''
+    };
+  },
+  created() {
+    this.findPage();
+  
+    this.$api.insCompany.getDeptInfo().then(res=>{
+      if(res.code==200){
+        this.formList.forEach(e=>{
+          if(e.prop=='deptId'){
+            e.options=res.data
+          }
+        })
+        this.deptoption=res.data
+      }
+    })
+    this.$api.insCompany.getUserInfo().then(res=>{
+      if(res.code==200){
+        this.formList.forEach(e=>{
+          if(e.prop=='userId'){
+            e.options=res.data
+          }
+        })
+        this.useroption=res.data
+      }
+    })
+  },
+  methods: {
+    handleClose(done) {
+       this.dialogVisible=false
+    },
+    userChange(val){
+      if(val){
+        this.formData.userId= this.useroption.find(e=>e.name==val).id
+      }
+      else{
+        this.formData.userId=''
+      }
+    },
+    deptChange(val){
+      if(val){
+        this.formData.deptId= this.deptoption.find(e=>e.name==val).id
+        this.formData.comlevel= this.deptoption.find(e=>e.name==val).comlevel
+      }
+      else{
+        this.formData.comlevel=''
+        this.formData.deptId=''
+      }
+    },
+    // 查询Start
+    queryStaffInfo() {
+      this.findPage();
+    },
+    
+    operation(row){
+      this.$api.insCompany
+        .sysAgencyFeeApprovalOperate(row.id)
+        .then((res) => {
+          if(res.code==200){
+           this.operationdialogVisible=true
+           this.operationtableData=res.data
+          }
+        });
+    },
+    // 右侧列表的方法Start
+    findPage(data) {
+      this.tableConfig.loading = true;
+      this.$api.insCompany
+        .sysAgencyFeeApprovalPage({
+          ...this.pageData,
+          ...data,
+        })
+        .then((res) => {
+          this.tableConfig.loading = false;
+          res.data.content.forEach(val=>{
+            val.picture= val.picture?process.env.BASE_URL+val.picture:null
+          })
+          this.pageResult = res.data.content;
+          this.pageData.pageNum = res.data.pageNum;
+          this.pageData.pageSize = res.data.pageSize;
+          this.pageData.totalSize = res.data.totalSize;
+        });
+    },
+   
+    handleSearchList(data) {
+      this.findPage(data);
+    },
+    // 提现
+    handleWithdrawal(params){
+      this.$api.sysAgencyFeeApprovalCon
+        .agencyQueryById(params.id)
+        .then((res) => {
+          if(res.code==200){
+            this.dialogTitle = "编辑";
+            this.dialogVisible= true
+            this.formData=res.data
+          }
+        });
+    },
+    examine(params){
+       this.$prompt('是否审核通过,输入驳回原因', '提示', {
+                confirmButtonText: '审核驳回',
+                cancelButtonText: '审核通过',
+                inputPattern: /^.+$/,
+                distinguishCancelAndClose: true,
+                inputErrorMessage: '输入驳回原因!'
+            }).then(({ value }) => {
+              this.$api.insCompany
+        .sysAgencyFeeApprovalEdit({ id: params.id, status: '2', remark: value }).then(res => {
+                    if (res.code == 200) {
+                        this.findPage();
+                        this.$message({
+                            type: 'success',
+                            message: '审核驳回通过'
+                        });
+                    }
+                    else {
+                        this.$message.error(res.msg)
+                    }
+                })
+            }).catch((action) => {
+                if (action === 'cancel') {
+                  this.$api.insCompany
+        .sysAgencyFeeApprovalEdit({id: params.id,  status: '1', }).then(res => {
+                        if (res.code == 200) {
+                            this.findPage();
+                            this.$message({
+                                type: 'success',
+                                message: '审核通过'
+                            });
+                        }
+                        else {
+                            this.$message.error(res.msg)
+                        }
+                    })
+                }
+            });
+    },
+    //编辑
+    async handleTableEdit(params) {
+      this.$api.insCompany
+        .agencyQueryById(params.id)
+        .then((res) => {
+          if(res.code==200){
+            this.dialogTitle = "编辑";
+            this.dialogVisible= true
+            this.formData=res.data
+          }
+
+        });
+    },
+    // 删除单个人员
+    handleTableDeleteFlag(data) {
+      this.$confirm("确认删除?")
+        .then(() => {
+          this.$api.insCompany.sysPartnerDel(data.id ).then((res) => {
+            if (res.code == 200) {
+              this.$message({
+                message: "删除成功",
+                type: "success",
+              });
+              this.findPage();
+            } else {
+              this.$message.error(res.msg);
+            }
+          });
+        })
+        .catch(() => {});
+    },
+    //添加人员
+    handleAddButton() {
+      this.dialogTitle = "新增";
+      this.formData={}
+      this.dialogVisible = true;
+      if(this.$refs["formData"]){
+        this.$refs["formData"].resetFields();
+      }
+    },
+    handleDialogBefore(done) {
+      // 退出对话框之前确认提示
+      this.$confirm("确认关闭?")
+        .then((_) => {
+          done();
+        })
+        .catch((_) => {});
+    },
+    closeDialog() {
+      // 清空数据
+      this.deptInfo = {};
+      this.dialogVisible = false;
+    },
+    drivingupload(file,row) {
+      let file1 = file.raw;
+      let files = window.URL.createObjectURL(file1); //转临时路径
+      this.imageUrl = files;
+      const params = new FormData(); // 声明formData数据类型
+      params.append("multipartFile", file1);
+      params.append("type", "image");
+      this.$api.letter.uploadFile(params).then((res) => {
+        if (res.code == "200") {
+          this.pictureUrl=res.data.url
+          this.$refs.upload1.clearFiles();
+        } else {
+          this.$message.error(res.msg);
+        }
+      });
+    },
+    onDrivingupload(){
+        this.$api.insCompany
+            .sysAgencyFeeApprovalCon( {id:this.rowId, picture:this.pictureUrl})
+            .then((res) => {
+              if (res.code == 200) {
+                this.$message({
+                  message: res.msg || "保存成功",
+                  type: "success",
+                });
+               this.dialogVisible=false;
+                this.findPage();
+              } else {
+                this.$message.error(res.msg);
+              }
+            });
+    },
+    // 下一步
+    
+  },
+};
+</script>
+
+<style scoped>
+.upload-demo{
+  display: inline-block;
+  margin-left: 5px;
+}
+.avatar{
+  width: 100%;
+    height: 100%;
+}
+</style>

+ 383 - 0
src/views/PeopleManage/Partner.vue

@@ -0,0 +1,383 @@
+<template>
+  <div>
+    <div>
+      
+          <templateTable
+            :formList="formList"
+            :searchData.sync="queryFrom"
+            :tableConfig="tableConfig"
+            :btnGroup="btnGroup"
+            :data="pageResult"
+            @getList="findPage"
+            @handleSearchList="handleSearchList"
+            :pagination="pageData"
+          >
+          </templateTable>
+    </div>
+
+    <!-- 新增修改界面 -->
+    <el-dialog
+      :title="dialogTitle"
+      width="40%"
+      :visible.sync="dialogVisible"
+      :close-on-click-modal="false"
+      :before-close="handleDialogBefore"
+      @close="closeDialog"
+      v-dialogDrag
+    >
+          <el-form
+            :model="formData"
+            :rules="rules"
+            ref="formData"
+            :inline="true"
+            label-width="110px"
+            size="small"
+          >
+            <el-row>
+              <el-col :span="12">
+                <el-form-item label="工号" prop="userId">
+                  <el-input v-model="formData.userId" disabled></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="名称" prop="userName">
+                  <el-select v-model="formData.userName" clearable filterable  placeholder="选择名称" @change="userChange">
+                <el-option v-for="(item, index) in useroption" :key="index" :label="item.name"
+                  :value="item.name"></el-option>
+              </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="抽成比例" prop="proportional">
+                  <el-input v-model="formData.proportional" placeholder="请输入抽成比例"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="推荐人" prop="suggestId">
+                  <el-select v-model="formData.suggestId" @change="suggestChange" clearable  placeholder="请选择推荐人">
+                    <el-option
+                      v-for="val in sysPartnerOption"
+                      :key="val.userId"
+                      :label="val.userName"
+                      :value="val.userId">
+                    </el-option>
+                  </el-select>
+                  
+                </el-form-item>
+              </el-col>
+            </el-row>
+          </el-form>
+        <span slot="footer" class="dialog-footer">
+           <el-button size="small" @click="dialogVisible = false">取 消</el-button>
+          <el-button  type="primary" size="small" @click="submitForm">提交</el-button>
+        </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import KtButton from "@/views/Core/KtButton"; // 按钮权限组件
+import templateTable from "../../components/TemplateTable/index.vue";
+export default {
+  components: {
+    KtButton,
+    templateTable,
+  },
+  data() {
+    return {
+      formList: [
+        // {
+        //   label: "工号",
+        //   prop: "userId",
+        //   type: "input",
+        // },
+        {
+          label: "名称",
+          prop: "userId",
+          type: "select",
+          options:[]
+        },
+        // {
+        //   label: "机构id",
+        //   prop: "deptId",
+        //   type: "input",
+        // },
+        // {
+        //   label: "机构名称",
+        //   prop: "deptId",
+        //   type: "select",
+        //   options:[]
+        // },
+        // {
+        //   label: "业务来源",
+        //   prop: "source",
+        //   type: "select",
+        //   options:[]
+        // },
+      ],
+      btnGroup: [
+        {
+          name: "新增",
+          click: (row, index) => { return this.handleAddButton() },
+
+        },
+      ],
+      useroption:[],
+      tableConfig: {
+        columns: [
+          // 数据列
+          { prop: "userId", label: "工号", type: "text" },
+          {
+            prop: "userName",
+            label: "名称",
+            type: "text",
+          },
+          { prop: "suggestId", label: "推荐人id", type: "text" },
+
+          { prop: "suggestName", label: "推荐人名称", type: "text" },
+          { prop: "proportional", label: "抽成比例", type: "text" },
+        ],
+        loading: true,
+        isPaginationShow: true,
+        isShowIndex: true,
+        optBtns: [
+            // {
+            //   type: "primary",
+            //   label: "编辑",
+            //   perm: "sys:agent:edit",
+            //   icon: "fa fa-edit",
+            //   click: (row, index) => {
+            //     return this.handleTableEdit(row);
+            //   },
+            // },
+          {
+            type: "primary",
+            label: "删除",
+            icon: "el-icon-delete",
+            click: (row, index) => {
+              return this.handleTableDeleteFlag(row);
+            },
+          },
+        ],
+      },
+      rules:{
+        proportional: [
+            { required: true, message: '请输入抽成比例', trigger: 'blur' },
+          ],
+          userName: [
+            { required: true, message: '请选择名称', trigger: 'change' }
+          ],
+        
+         
+      },
+      pageData: {
+        pageNum: 1,
+        pageSize: 10,
+        totalSize: 0,
+      },
+      formData: {
+        roleId: "20",
+      },
+      queryFrom: {},
+      pageResult: [],
+      dialogTitle: "",
+      dialogVisible: false, // 新增编辑界面是否显示
+      sysPartnerOption:[]
+    };
+  },
+  created() {
+    this.findPage();
+    this.$api.insCompany.sysPartner().then(res=>{
+      this.sysPartnerOption=res.data
+    })
+    this.$api.insCompany.getUserInfo().then(res=>{
+      if(res.code==200){
+        this.formList.forEach(e=>{
+          if(e.prop=='userId'){
+            e.options=res.data
+          }
+        })
+        this.useroption=res.data
+      }
+    })
+  },
+  methods: {
+    userChange(val){
+      if(val){
+        this.formData.userId= this.useroption.find(e=>e.name==val).id
+      }
+      else{
+        this.formData.userId=''
+      }
+    },
+    // 查询Start
+    queryStaffInfo() {
+      this.findPage();
+    },
+
+    
+    // 右侧列表的方法Start
+    findPage(data) {
+      this.tableConfig.loading = true;
+      this.$api.insCompany
+        .sysPartnerPage({
+          ...this.pageData,
+          ...data,
+        })
+        .then((res) => {
+          this.tableConfig.loading = false;
+          this.pageResult = res.data.content;
+          this.pageData.pageNum = res.data.pageNum;
+          this.pageData.pageSize = res.data.pageSize;
+          this.pageData.totalSize = res.data.totalSize;
+        });
+    },
+    suggestChange(e){
+      this.formData.suggestName=''
+      if(e){
+        this.formData.suggestName=this.sysPartnerOption.find(val=>val.userId==e).userName
+      }
+    },
+    handleSearchList(data) {
+      this.findPage(data);
+    },
+    //编辑
+    async handleTableEdit(params) {
+      this.$api.insCompany
+        .agencyQueryById(params.id)
+        .then((res) => {
+          if(res.code==200){
+            this.dialogTitle = "编辑";
+            this.dialogVisible= true
+            this.formData=res.data
+          }
+
+        });
+    },
+    // 删除单个人员
+    handleTableDeleteFlag(data) {
+      this.$confirm("确认删除?")
+        .then(() => {
+          this.$api.insCompany.sysPartnerDel(data.id ).then((res) => {
+            if (res.code == 200) {
+              this.$message({
+                message: "删除成功",
+                type: "success",
+              });
+              this.findPage();
+            } else {
+              this.$message.error(res.msg);
+            }
+          });
+        })
+        .catch(() => {});
+    },
+    //添加人员
+    handleAddButton() {
+      this.dialogTitle = "新增";
+      this.formData={}
+      this.dialogVisible = true;
+      if(this.$refs["formData"]){
+        this.$refs["formData"].resetFields();
+      }
+    },
+    handleDialogBefore(done) {
+      // 退出对话框之前确认提示
+      this.$confirm("确认关闭?")
+        .then((_) => {
+          done();
+        })
+        .catch((_) => {});
+    },
+    closeDialog() {
+      // 清空数据
+      this.deptInfo = {};
+      this.dialogVisible = false;
+    },
+    // 提交
+    submitForm() {
+      this.$refs.formData.validate((valid) => {
+        if (valid) {
+          this.$confirm("确认提交吗?", "提示", {}).then(() => {
+            if (this.dialogTitle == "新增") {
+              this.$api.insCompany
+                .sysPartnerAdd(this.formData)
+                .then((res) => {
+                  if (res.code == 200) {
+                    this.$message({
+                      message: "保存成功",
+                      type: "success",
+                    });
+                    this.dialogVisible = false;
+                    this.$refs["formData"].resetFields();
+                    this.findPage();
+                  } else {
+                    this.$message({
+                      message: `保存失败,请重新添加,(${res.msg})`,
+                      type: "error",
+                    });
+                  }
+                });
+            } else {
+              this.$api.insCompany
+                .agencyEdit(this.formData)
+                .then((res) => {
+                  if (res.code == 200) {
+                    this.$message({
+                      message: "编辑成功",
+                      type: "success",
+                    });
+                    this.dialogVisible = false;
+                    this.$refs["formData"].resetFields();
+                    this.findPage();
+                  } else {
+                    this.$message({
+                      message: `编辑失败,请重新添加,(${res.msg})`,
+                      type: "error",
+                    });
+                  }
+                });
+            }
+          });
+        }
+      });
+    },
+    // 下一步
+    
+  },
+};
+</script>
+
+<style scoped>
+.el-divider--horizontal {
+  margin: 4px 0;
+}
+
+/* 顶部查询条件样式Start */
+.queryFrom .el-row {
+  margin: 10px 0px;
+}
+
+.queryFrom .el-form-item {
+  margin-bottom: 0px;
+}
+
+.queryFrom .queryButton .el-form-item__content {
+  margin-left: 0px !important;
+}
+.disc {
+  -webkit-text-security: disc;
+  position: relative;
+}
+.none {
+  -webkit-text-security: none;
+  position: relative;
+}
+.icon {
+  color: #ccc;
+  position: absolute;
+  right: 0;
+  top: 10px;
+  text-align: center;
+}
+</style>

+ 114 - 0
src/views/PeopleManage/PartnerExtraction.vue

@@ -0,0 +1,114 @@
+<template>
+  <div>
+    <div>
+      
+          <templateTable
+            :formList="formList"
+            :searchData.sync="queryFrom"
+            :tableConfig="tableConfig"
+            :data="pageResult"
+            @getList="findPage"
+            @handleSearchList="handleSearchList"
+            :pagination="pageData"
+          >
+          </templateTable>
+    </div>
+    
+  </div>
+</template>
+
+<script>
+import templateTable from "../../components/TemplateTable/index.vue";
+export default {
+  components: {
+    templateTable,
+  },
+  data() {
+    return {
+      formList: [
+      
+        {
+          label: "名称",
+          prop: "userId",
+          type: "select",
+          options:[]
+        },
+      ],
+      tableConfig: {
+        columns: [
+          // 数据列
+          { prop: "userId", label: "工号", type: "text" },
+          {
+            prop: "userName",
+            label: "名称",
+            type: "text",
+          },
+          { prop: "proportional", label: "抽成比例", type: "text" },
+          { prop: "sumpremium", label: "总保费", type: "text" },
+          { prop: "extractFee", label: "总保费抽成费用", type: "text" },
+          { prop: "historyFee", label: "已提现抽成费用", type: "text" },
+          { prop: "cashFee", label: "可提现抽成费用", type: "text" },
+          { prop: "startTime", label: "提层计算开始时间", type: "text" },
+        ],
+        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,
+      },
+     
+      queryFrom: {},
+      pageResult: [],
+    };
+  },
+  created() {
+    this.findPage();
+  },
+  methods: {
+    // 查询Start
+    queryStaffInfo() {
+      this.findPage();
+    },
+
+    // 右侧列表的方法Start
+    findPage(data) {
+      this.tableConfig.loading = true;
+      this.$api.insCompany
+        .queryPartnerByPage({
+          ...this.pageData,
+          ...data,
+        })
+        .then((res) => {
+          this.tableConfig.loading = false;
+          this.pageResult = res.data.content;
+          this.pageData.pageNum = res.data.pageNum;
+          this.pageData.pageSize = res.data.pageSize;
+          this.pageData.totalSize = res.data.totalSize;
+        });
+    },
+   
+    handleSearchList(data) {
+      this.findPage(data);
+    },
+   
+    // 下一步
+    
+  },
+};
+</script>
+
+<style scoped>
+
+</style>

+ 1 - 2
src/views/Task/daikeComponents/KtLetter.vue

@@ -1391,7 +1391,7 @@
                 <div v-for="(val, index) in pinganInsuranceData" :key="index" >
                   <el-form :inline="true" :model="accidentFormPA[index-1]" class="demo-form-inline" size="small"
                   style="font-weight: bold;margin-top:15px ">
-                  <el-form-item label="意外险类型" style="margin-right: 30px">
+                  <el-form-item :label="index=='1'?'财意险':index=='2'?'小微险':'组合险'" style="margin-right: 30px">
                     <el-select clearable v-model="accidentFormPA[index-1].pingantemplateSelection" placeholder="未选择" @clear="clearAccidentFormPA(index-1,)"
                       @change="pinganInsuranceChange($event,index-1,val)">
                       <el-option v-for="(item, index1) in val" :key="index1" :label="item.projectName"
@@ -5505,7 +5505,6 @@ export default {
           agreementId: item.agreementId,
         }).then(res=>{
           this.pinganInsuranceData= res.data;
-          console.log( res.data,5555555555555);
         })
         return
       }

+ 47 - 0
src/views/Task/daikeComponents/KtOrder.vue

@@ -2027,6 +2027,53 @@ export default {
                       });
                   }
                   break;
+                case "平安财险":
+                  if (this.orderInfo.jqpolicyno) {
+                    this.$api.letter
+                      .pingangetPolicyPrint({
+                        companyId: item.id,
+                      })
+                      .then((res) => {
+                        if (res.code == 200 && res.data) {
+                          if (res.data.jqxPolicyUrl) {
+                            this.oldfileList.push({
+                              fileTitle: "交强电子保单",
+                              filename: this.orderInfo.jqpolicyno,
+                              fileurl: process.env.BASE_URL+res.data.jqxPolicyUrl,
+                            });
+                          }
+                          if (res.data.jqxFlagUrl) {
+                            this.oldfileList.push({
+                              fileTitle: "交强电子标志",
+                              filename: this.orderInfo.jqpolicyno,
+                              fileurl: process.env.BASE_URL+res.data.jqxFlagUrl,
+                            });
+                          }
+                          if (res.data.syxPolicyUrl) {
+                            businessList.push({
+                              fileTitle: "商业电子保单",
+                              filename: this.orderInfo.sypolicyno,
+                              fileurl: process.env.BASE_URL + res.data.syxPolicyUrl,
+                            });
+                          }
+                          if (
+                            res.data.jyxInfoList &&
+                            res.data.jyxInfoList.length > 0                                                                                                                                                                                                                        
+                          ) {
+                            res.data.jyxInfoList.forEach((val) => {
+                              accidentList.push({
+                                fileTitle: "驾意险保单",
+                                filename: "驾意险保单",
+                                fileurl: process.env.BASE_URL+val.jyx_policy_url,
+                              });
+                            });
+                          }
+                        } else {
+                          this.$message.error(res.msg);
+                        }
+                      });
+                  }
+                  break;
                 case "恒邦财险":
                 case "安盛天平":
                 case "中国人寿":