Ver código fonte

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

@dongkboy 2 anos atrás
pai
commit
5884c33b47

+ 2 - 2
config/dev.env.js

@@ -11,9 +11,9 @@ module.exports = merge(prodEnv, {
   // BASE_URL: '"http://192.168.0.115:8080/"' //凯森
   // BASE_URL: '"http:///192.168.0.106:8080/"',//屈晨
   // BASE_URL: '"http:///192.168.0.253:8080/"',//田智
-  BASE_URL: '"http:///192.168.0.42:8080/"',//武鸿鹏
+  // BASE_URL: '"http:///192.168.0.42:8080/"',//武鸿鹏
   // BASE_URL: '"http://192.168.1.101:8080/"',
-  // BASE_URL: '"http:///192.168.0.22:8080/"',//郝宇
+  BASE_URL: '"http:///192.168.0.22:8080/"',//郝宇
   // BASE_URL: '"http:///192.168.0.103:8080/"',//
 })
 

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

@@ -784,6 +784,15 @@ export const getAllAgreement = (data) => {
         params:data
     })
 }
+// 代客录单获取协议接口
+export const getAllAgreementByUserId = (data) => {
+    return axios({
+        url: 'tax/manager/getAllAgreementByUserId' ,
+        method: 'get',
+        params:data
+    })
+}
+
 // 爬虫保险,更新订单接口
 export const auditStatusQuery = (data) => {
     return axios({

+ 232 - 31
src/views/AgreementManage/CarInsurance/AgreementEntry.vue

@@ -11,7 +11,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="6">
-            <el-form-item label="修改人">
+            <el-form-item label="修改人"> 
               <el-input :size="overSize" clearable v-model.trim="queryForm.modifiedBy" placeholder="请输入"></el-input>
             </el-form-item>
           </el-col>
@@ -104,11 +104,17 @@
         <el-table-column prop="endDate" label="协议失效日期" align="center"></el-table-column>
         <el-table-column prop="matchType" label="匹配日期类型" align="center" :formatter="matchtypeFormatter"></el-table-column>
         <el-table-column prop="moneyTime" label="结算周期" align="center" :formatter="moneytimeFormatter"></el-table-column>
-        <el-table-column prop="validStatus" label="状态" align="center" :formatter="agreestatusFormatter"></el-table-column>
+        <el-table-column prop="auditStatus" label="状态"  align="center" >
+          <template  slot-scope="scope">
+            <span  :style="'color:'+agreestatusStyle(scope.row.auditStatus)">
+                {{auditstatusFormatter(scope.row)}}
+            </span>
+          </template>
+        </el-table-column>
         <el-table-column prop="updateTime" label="修改时间" align="center" :formatter="updatetimeFormatter"></el-table-column>
         <el-table-column prop="validStatus" label="是否有效" align="center">
           <template slot-scope="scope">
-            <span :size="overSize" type="primary">{{
+            <span  :style="{ color: scope.row.validStatus == '1'?'#67c23a':'#909399' }">{{
               scope.row.validStatus == 1 ? "有效" : "无效" }}</span>
           </template>
         </el-table-column>
@@ -386,13 +392,13 @@
       </div>
       <el-form :inline="true" :model="productpageRequest" class="demo-form-inline" size="small">
         <el-form-item label="产品">
-          <el-select v-model="productpageRequest.productCode" placeholder="选择产品">
+          <el-select v-model="productpageRequest.productCode" placeholder="选择产品" clearable>
             <el-option v-for="item in productsTypeoptions" :key="item.dictValue" :label="item.dictTag"
               :value="item.dictValue"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="审核状态">
-          <el-select v-model="productpageRequest.isAudit">
+          <el-select v-model="productpageRequest.isAudit" clearable>
             <el-option v-for="(item, index) in expenseAuditlist" :key="index" :label="item.label"
               :value="item.value"></el-option>
           </el-select>
@@ -670,6 +676,55 @@
     </el-dialog>
 
     <el-dialog title="产品历史记录" :visible.sync="productHistoryRecordDialogVisible" width="70%" :fullscreen="true">
+      <el-row class="queryFrom">
+        <el-form ref="queryFormRef" :model="productHistoryRecordForm" label-width="80px">
+          <el-col :span="5">
+            <el-form-item label="操作人">
+              <el-input
+                clearable
+                style="width:220px"
+                size="small"
+                placeholder="操作人"
+                v-model="productHistoryRecordForm.modifier"
+              ></el-input>
+            </el-form-item>
+        </el-col>
+        <el-col :span="5">
+            <el-form-item label="操作类型">
+              <el-select clearable size="small" v-model="productHistoryRecordForm.operatorType" placeholder="请选择">
+              <el-option
+                v-for="item in operationTypeOption"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
+              </el-option>
+            </el-select>
+            </el-form-item>
+        </el-col>
+        <el-col :span="5">
+            <el-form-item label="操作时间">
+              <el-date-picker
+              clearable
+              v-model="productHistoryRecordForm.operatorTime"
+                type="date"
+                size="small"
+                value-format="yyyy-MM-dd"
+                placeholder="选择日期">
+              </el-date-picker>
+            </el-form-item>
+        </el-col>
+        <el-col :span="3">
+          <el-form-item label="">
+              <el-button
+                size="small"
+                type="primary"
+                @click="productHistoryCostFindPage"
+                >查询</el-button
+              >
+            </el-form-item>
+        </el-col>
+        </el-form>
+    </el-row>
       <kt-common-table :tableHeights="700" :SerialShow="false" :operationWidth="200" :showOperation="true"
         button2Name="详情" @handleButton2="productHistoryDetails" :showBatchDelete="false" :showBatchSettled="false"
         :showBatchPrint="false" :data="productHistoryRecordResult" :columns="productHistoryRecordColumns"
@@ -678,6 +733,55 @@
     </el-dialog>
     <el-dialog title="承保规则历史记录" :visible.sync="underwritingRulesHistoryRecordDialogVisible" width="70%"
       :fullscreen="true">
+      <el-row class="queryFrom">
+        <el-form ref="queryFormRef" :model="underwritingRulesHistoryCostFindForm" label-width="80px">
+          <el-col :span="5">
+            <el-form-item label="操作人">
+              <el-input
+                clearable
+                style="width:220px"
+                size="small"
+                placeholder="操作人"
+                v-model="underwritingRulesHistoryCostFindForm.modifier"
+              ></el-input>
+            </el-form-item>
+        </el-col>
+        <el-col :span="5">
+            <el-form-item label="操作类型">
+              <el-select clearable size="small" v-model="underwritingRulesHistoryCostFindForm.operatorType" placeholder="请选择">
+              <el-option
+                v-for="item in operationTypeOption"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
+              </el-option>
+            </el-select>
+            </el-form-item>
+        </el-col>
+        <el-col :span="5">
+            <el-form-item label="操作时间">
+              <el-date-picker
+              clearable
+              v-model="underwritingRulesHistoryCostFindForm.operatorTime"
+                type="date"
+                size="small"
+                value-format="yyyy-MM-dd"
+                placeholder="选择日期">
+              </el-date-picker>
+            </el-form-item>
+        </el-col>
+        <el-col :span="3">
+          <el-form-item label="">
+              <el-button
+                size="small"
+                type="primary"
+                @click="underwritingRulesHistoryCostFindPage"
+                >查询</el-button
+              >
+            </el-form-item>
+        </el-col>
+        </el-form>
+    </el-row>
       <kt-common-table :tableHeights="700" :SerialShow="false" :operationWidth="200" :showOperation="true"
         :showBatchDelete="false" :showBatchSettled="false" :showBatchPrint="false" button2Name="详情"
         @handleButton2="underwritingRulesHistoryDetails" :data="underwritingRulesHistoryRecordResult"
@@ -685,6 +789,55 @@
       </kt-common-table>
     </el-dialog>
     <el-dialog title="协议历史记录" :visible.sync="agreementHistoryRecordDialogVisible" width="70%" :fullscreen="true">
+      <el-row class="queryFrom">
+        <el-form ref="queryFormRef" :model="productpageRequestForm" label-width="80px">
+          <el-col :span="5">
+            <el-form-item label="操作人">
+              <el-input
+                clearable
+                style="width:220px"
+                size="small"
+                placeholder="操作人"
+                v-model="productpageRequestForm.modifier"
+              ></el-input>
+            </el-form-item>
+        </el-col>
+        <el-col :span="5">
+            <el-form-item label="操作类型">
+              <el-select clearable size="small" v-model="productpageRequestForm.operatorType" placeholder="请选择">
+              <el-option
+                v-for="item in operationTypeOption"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
+              </el-option>
+            </el-select>
+            </el-form-item>
+        </el-col>
+        <el-col :span="5">
+            <el-form-item label="操作时间">
+              <el-date-picker
+              clearable
+              v-model="productpageRequestForm.operatorTime"
+                type="date"
+                size="small"
+                value-format="yyyy-MM-dd"
+                placeholder="选择日期">
+              </el-date-picker>
+            </el-form-item>
+        </el-col>
+        <el-col :span="3">
+          <el-form-item label="">
+              <el-button
+                size="small"
+                type="primary"
+                @click="agreementHistoryCostFindPage"
+                >查询</el-button
+              >
+            </el-form-item>
+        </el-col>
+        </el-form>
+    </el-row>
       <kt-common-table :tableHeights="700" :SerialShow="false" :operationWidth="200" :showOperation="true"
         button2Name="详情" @handleButton2="agreementsHistory" :showBatchDelete="false" :showBatchSettled="false"
         :showBatchPrint="false" :data="agreementHistoryRecordResult" :columns="agreementHistoryRecordColumns"
@@ -975,45 +1128,57 @@ export default {
   },
   data() {
     return {
+      operationTypeOption:[
+        {
+          label:'新增',
+          value:'add'
+        },{
+          label:'修改',
+          value:'update'
+        },{
+          label:'删除',
+          value:'delete'
+        },
+      ],
       areaOptions: [],
       productCostCopyInfo: {},
       agreementHistoryRecordColumns: [
         { prop: "agreementCode", label: "协议代码", minWidth: 180 },
-        { prop: "agreementName", label: " 协议名称", minWidth: 160 },
+        { prop: "agreementName", label: "协议名称", minWidth: 160 },
         { prop: "agreementAbbreviation", label: "协议简称", minWidth: 120 },
         {
           prop: "agreementType",
-          label: " 协议类型",
+          label: "协议类型",
           minWidth: 160,
           formatter: this.agreementtypeFormatter,
         },
-        { prop: "insuranceCompany", label: " 合作公司", minWidth: 160 },
-        { prop: "dockingPerson", label: " 对接人", minWidth: 160 },
-        { prop: "dockingPhone", label: " 联系方式(对接人)", minWidth: 160 },
-        { prop: "withTax", label: " 含增值税结算", minWidth: 160 },
+        { prop: "insuranceCompany", label: "合作公司", minWidth: 160 },
+        { prop: "dockingPerson", label: "对接人", minWidth: 160 },
+        { prop: "dockingPhone", label: "联系方式(对接人)", minWidth: 160 },
+        { prop: "withTax", label: "含增值税结算", minWidth: 160 },
         {
           prop: "matchType",
-          label: " 保单日期类型",
+          label: "保单日期类型",
           minWidth: 160,
           formatter: this.matchtypeFormatter,
         },
-        { prop: "startDate", label: " 协议起期", minWidth: 160 },
-        { prop: "endDate", label: " 协议止期", minWidth: 160 },
+        { prop: "startDate", label: "协议起期", minWidth: 160 },
+        { prop: "endDate", label: "协议止期", minWidth: 160 },
         {
           prop: "moneyType",
-          label: " 佣金发放方式",
+          label: "佣金发放方式",
           minWidth: 160,
           formatter: this.moneyTypeFormatter,
         },
         {
           prop: "validStatus",
-          label: " 有效状态",
+          label: "有效状态",
           minWidth: 160,
           formatter: this.agreestatusFormatter,
         },
         {
           prop: "moneyTime",
-          label: " 结算周期",
+          label: "结算周期",
           minWidth: 160,
           formatter: this.moneytimeFormatter,
         },
@@ -1022,8 +1187,10 @@ export default {
           label: " 保险公司账号配置",
           minWidth: 1060,
         },
-        { prop: "operator", label: " 操作人", minWidth: 160 },
-        { prop: "operatorTime", label: " 操作时间", minWidth: 160 },
+        { prop: "operator", label: "操作人", minWidth: 160 },
+        
+        { prop: "operatorType", label: "操作类型", formatter: this.operatorTypeFormatter  },
+        { prop: "operatorTime", label: "操作时间", minWidth: 160 },
       ],
       underwritingRulesHistoryRecordColumns: [
         { prop: "modifier", label: "操作人", minWidth: 120 },
@@ -1190,6 +1357,7 @@ export default {
         { prop: "costsStartDate", label: "费用起期", minWidth: 160 },
         { prop: "costsEndDate", label: "费用止期", minWidth: 160 },
         { prop: "desc", label: "费用因子描述", minWidth: 520 },
+        { prop: "isAudit", label: "审核状态", minWidth: 160 ,formatter:this.auditTypeFormation},
         {
           prop: "jqCarCostsProportion",
           label: "费用比例(交强)",
@@ -1724,6 +1892,9 @@ export default {
         dockingPerson: [
           { required: true, message: "请添加对接人", trigger: "blur" },
         ],
+        dockingPhone: [
+          { required: true, message: "请输入联系方式", trigger: "blur" },
+        ],
         withTax: [
           { required: true, message: "请选择含增值税结算", trigger: "change" },
         ],
@@ -1843,6 +2014,11 @@ export default {
         { value: "2", label: "退回修改" },
         { value: "99", label: "已失效" },
       ],
+      auditstatusoptions: [
+        { value: "0", label: "申请审核" },
+        { value: "1", label: "审核通过" },
+        { value: "2", label: "审核不通过" },
+      ],
       prodInsurance: [],
       schemeindex: "",
       productCostsindex: "",
@@ -1853,9 +2029,13 @@ export default {
       productHistoryRecordResult: [],
       underwritingRulesHistoryRecordDialogVisible: false,
       underwritingRulesHistoryRecordResult: [],
+      productpageRequestForm:{},
+      productHistoryRecordForm:{},
+      underwritingRulesHistoryCostFindForm:{}
     };
   },
   computed: {
+  
     // 机构列表转属性数据
     companyListTree() {
       let cloneData = JSON.parse(JSON.stringify(this.companyList)); // 对源数据深度克隆
@@ -1944,6 +2124,18 @@ export default {
     this.findLeftTreeData();
   },
   methods: {
+    agreestatusStyle(val){
+        switch (val) {
+        case 0:
+          return '#409eff'
+        case 1:
+          return '#67c23a'
+        case 2:
+          return '#f56c6c'
+        default:
+          break;
+      }
+    },
     productFilterListChange(e){
       let productstring=e.join(",")
       this.agreement.productsCode=productstring;
@@ -2181,7 +2373,7 @@ export default {
       }
       this.productpageRequest["agreementId"] = this.agreementId;
       this.$api.insCompany
-        .agreementHistory(this.productpageRequest)
+        .agreementHistory({...this.productpageRequest,...this.productpageRequestForm})
         .then((res) => {
           this.agreementHistoryRecordResult = res.data;
         });
@@ -2206,7 +2398,7 @@ export default {
       }
       this.productpageRequest["agreementId"] = this.agreementId;
       this.$api.insCompany
-        .productCostHistory(this.productpageRequest)
+        .productCostHistory({...this.productpageRequest,...this.productHistoryRecordForm})
         .then((res) => {
           this.productHistoryRecordResult = res.data;
         });
@@ -2241,7 +2433,7 @@ export default {
       }
       this.productpageRequest["agreementId"] = this.agreementId;
       this.$api.insCompany
-        .undwrtRulesHistoryPage(this.productpageRequest)
+        .undwrtRulesHistoryPage({...this.productpageRequest,...this.underwritingRulesHistoryCostFindForm})
         .then((res) => {
           this.underwritingRulesHistoryRecordResult = res.data;
         });
@@ -2788,15 +2980,6 @@ export default {
 
     // 右侧列表的方法End
     //-- formatter begin--
-    operatorTypeFormatter(row, column) {
-      let operatorType = row.operatorType;
-      switch (operatorType) {
-        case "add":
-          return '新增'
-        case "update":
-          return '修改'
-      }
-    },
     operatorTypeFormatter(row, column) {
       let operatorType = row.operatorType;
       switch (operatorType) {
@@ -2808,6 +2991,14 @@ export default {
           return '删除'
       }
     },
+    auditTypeFormation(row){
+      for(var i=0;i<this.expenseAuditlist.length;i++)
+      {
+        if(row.isAudit == parseInt(this.expenseAuditlist[i].value)){
+          return this.expenseAuditlist[i].label;
+        }
+      }
+    },
     agreementtypeFormatter(row, column) {
       //协议类型
       let agreementType = row.agreementType;
@@ -2857,6 +3048,15 @@ export default {
         });
       }
     },
+    auditstatusFormatter(row, column) {
+      let status = row.auditStatus;
+      return CommonUtil.getDataName({
+        dataList: this.auditstatusoptions,
+        value: "value",
+        label: "label",
+        data: status,
+      });
+    },
     validIndFormatter(row, column) {
       let validInd = row.validInd;
       if (validInd == 1) {
@@ -3028,6 +3228,7 @@ export default {
 };
 </script>
 <style scoped lang="scss">
+/* 图二 */
 .el-divider {
   margin: 10px 0px 15px !important;
 }

+ 1 - 1
src/views/AgreementManage/CarInsurance/ProductCostExamine.vue

@@ -15,7 +15,7 @@
         </el-select>
       </el-form-item>
 
-      <el-form-item label="产品代码">
+      <el-form-item label="产品名称">
         <el-select size="small" clearable v-model="productpageRequest.productCode" :placeholder="'请输入'">
           <el-option v-for="(s, i) in insuranceRepertoire" :key="i" :label="s.dictTag" :value="s.dictValue"></el-option>
         </el-select>

+ 1 - 1
src/views/Core/KtCommonTable.vue

@@ -251,7 +251,7 @@ export default {
     },
     button5Icon: {
       type: String,
-      default: "fa fa-trash",
+      default: "",
     },
     button2Type: {
       type: String,

Diferenças do arquivo suprimidas por serem muito extensas
+ 158 - 552
src/views/Letter/Letter.vue


+ 65 - 60
src/views/Login.vue

@@ -12,7 +12,7 @@
             <div style="padding:15% 20% ">
               <img class="img2" src="../assets//image/logo_img.png" alt="">
               <div v-show="toggleQrCode" style="text-align: center;">
-                <div class="img3" v-loading="loadingCode"  id="qrcode" ref="qrcode">
+                <div class="img3" v-loading="loadingCode" id="qrcode" ref="qrcode">
                   <transition name="el-fade-in">
                     <el-result v-if="tipVisibility" class="scanSuccess" icon="success" title="扫码成功"></el-result>
                   </transition>
@@ -49,8 +49,8 @@
                   <el-button size="medium" type="primary" plain style="width:48%;float: left;"
                     @click.native.prevent="reset">重
                     置</el-button>
-                  <el-button size="medium" type="primary" style="width:48%;float: right;" @click.native.prevent="login"
-                    :loading="loading">登 录</el-button>
+                  <el-button size="medium" type="primary" style="width:48%;float: right;"
+                    @click.native.prevent="login('loginForm')" :loading="loading">登 录</el-button>
                 </el-row>
               </el-form>
             </div>
@@ -85,7 +85,7 @@ export default {
   },
   data() {
     return {
-      loadingCode:false,
+      loadingCode: false,
       qrcode: null,
       rememberPassword: false,
       loading: false,
@@ -134,61 +134,66 @@ export default {
         }
       }
     },
-    login() {
-      this.loading = true
-      let userInfo = {
-        account: this.loginForm.account,
-        password: this.loginForm.password,
-        captcha: this.loginForm.captcha.toLowerCase(),
-        captchaId: this.loginForm.captchaId
-      }
-
-      // this.$store.dispatch('login', userInfo)
-      //     .then(() => {
-      //       if (this.rememberPassword) { //是否保存密码
-      //       Cookies.set('accountInfo', { 'account': this.loginForm.account, 'password': this.loginForm.password, })
-      //     } else {
-      //       Cookies.remove('accountInfo')
-      //     }
-      //     Cookies.set('user', userInfo.account) /
-      //     sessionStorage.setItem('user', userInfo.account) // 保存用户到本地会话
-      //     this.$store.commit('menuRouteLoaded', false) // 要求重新加载导航菜单
-      //     this.$router.push('/')
-      //     this.loading = false
-      //   })
-      //   .catch(() => {
-      //     this.loading = false
-      //   })
-
-      this.$api.login.login2(userInfo).then((res) => {
-        if (res.code != 200) {
-          this.$message({
-            message: res.msg,
-            type: 'error',
-            duration: 2000
-          })
-          if (res.code == 500 && res.msg == '验证码不正确') {
-            this.refreshCaptcha()
+    login(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          this.loading = true
+          let userInfo = {
+            account: this.loginForm.account,
+            password: this.loginForm.password,
+            captcha: this.loginForm.captcha.toLowerCase(),
+            captchaId: this.loginForm.captchaId
           }
-        }
-        else {
 
-          if (this.rememberPassword) { //是否保存密码
-            Cookies.set('accountInfo', { 'account': this.loginForm.account, 'password': this.loginForm.password, })
-          } else {
-            Cookies.remove('accountInfo')
-          }
-          Cookies.set('token', res.data) // 放置token到Cookie
-          this.getDictItems()
-          this.getUser();
+          // this.$store.dispatch('login', userInfo)
+          //     .then(() => {
+          //       if (this.rememberPassword) { //是否保存密码
+          //       Cookies.set('accountInfo', { 'account': this.loginForm.account, 'password': this.loginForm.password, })
+          //     } else {
+          //       Cookies.remove('accountInfo')
+          //     }
+          //     Cookies.set('user', userInfo.account) /
+          //     sessionStorage.setItem('user', userInfo.account) // 保存用户到本地会话
+          //     this.$store.commit('menuRouteLoaded', false) // 要求重新加载导航菜单
+          //     this.$router.push('/')
+          //     this.loading = false
+          //   })
+          //   .catch(() => {
+          //     this.loading = false
+          //   })
+
+          this.$api.login.login2(userInfo).then((res) => {
+            if (res.code != 200) {
+              this.$message({
+                message: res.msg,
+                type: 'error',
+                duration: 2000
+              })
+              if (res.code == 500 && res.msg == '验证码不正确') {
+                this.refreshCaptcha()
+              }
+            }
+            else {
+              if (this.rememberPassword) { //是否保存密码
+                Cookies.set('accountInfo', { 'account': this.loginForm.account, 'password': this.loginForm.password, })
+              } else {
+                Cookies.remove('accountInfo')
+              }
+              Cookies.set('token', res.data) // 放置token到Cookie
+              this.getDictItems()
+              this.getUser();
+            }
+            this.loading = false
+          }).catch((res) => {
+            this.$message({
+              message: res.message,
+              type: 'error',
+              duration: 2000
+            })
+          });
+        } else {
+          return false;
         }
-        this.loading = false
-      }).catch((res) => {
-        this.$message({
-          message: res.message,
-          type: 'error',
-          duration: 2000
-        })
       });
     },
     getDictItems() {
@@ -221,7 +226,7 @@ export default {
           localStorage.setItem('routerId', '420');
           this.$store.commit('menuRouteLoaded', false);
           this.$router.push('/');
-          this.loadingCode=false;
+          this.loadingCode = false;
         }
         else {
           this.$message.error(response.msg)
@@ -268,10 +273,10 @@ export default {
       this.$api.login.QrCodeStatusQuery(this.uuid).then((res) => {
         if (res.data.statusCode == 20000) {
           this.tipVisibility = true;
-          this.loadingCode=true;
-          setTimeout(()=>{
+          this.loadingCode = true;
+          setTimeout(() => {
             this.CodeLoginSuccess(res.data.token)
-          },1500)
+          }, 1500)
         }
       });
     },

+ 28 - 2
src/views/PeopleManage/Player/PlayerManage.vue

@@ -39,6 +39,16 @@
             @handleSearchList="handleSearchList"
             :pagination="pageData"
           >
+          <template slot="领导人" >
+          <el-select size="small" v-model="queryFrom.leaderName" placeholder="请选择">
+              <el-option
+                v-for="item in searchLeaderOptions"
+                :key="item.id"
+                :label="item.name"
+                :value="item.name">
+              </el-option>
+            </el-select>
+          </template>
           </templateTable>
         </SplitArea>
         <!-- 右侧列表页面End -->
@@ -264,6 +274,11 @@ export default {
           type: "select",
           options: JSON.parse(localStorage.getItem("user_statusoptions")),
         },
+        {
+          label: "领导人",
+          name: "领导人",
+          type: "slot",
+        },
         // {
         //   label: "角色",
         //   prop: "roleId",
@@ -353,11 +368,14 @@ export default {
       dialogVisible: false, // 新增编辑界面是否显示
       option: [], //机构列表
       dialogPassword: true, //密码是否显示明文
-      leaderOptions:[]
+      leaderOptions:[],
+      searchLeaderOptions:[]
     };
   },
   created() {
     this.findPage();
+    this.searchLeaderFun()
+
   },
   watch: {
     containsSubDeptChecked() {
@@ -365,12 +383,20 @@ export default {
     },
   },
   methods: {
+    searchLeaderFun(){
+      this.$api.user
+          .findBackListByDeptId({ deptId: this.deptId })
+          .then((res) => {
+            this.searchLeaderOptions = res.data;
+          });
+    },
     // 点击事件
     onZTreeClick(evt, treeId, treeNode) {
       this.currentTreeNode = evt;
       this.deptId = this.currentTreeNode.id;
       this.pageData.pageNum = 1;
       this.findPage();
+      this.searchLeaderFun();
     },
 
     //联级选择器触发事件
@@ -396,7 +422,7 @@ export default {
       this.$api.user
         .findUserList({
           ...this.pageData,
-          dto: { ...data, deptId: this.deptId, agentFlag: "1",roleId:'19'},
+          dto: { ...data, deptId: this.deptId, agentFlag: "1",roleId:'19',leaderName:this.queryFrom.leaderName},
         })
         .then((res) => {
           if (res.code == 200 && res.data.records.length > 0) {

+ 26 - 10
src/views/PeopleManage/Player/PlayerManageteam.vue

@@ -39,6 +39,16 @@
             @handleSearchList="handleSearchList"
             :pagination="pageData"
           >
+          <template slot="领导人" >
+          <el-select size="small" v-model="queryFrom.leaderName" placeholder="请选择">
+              <el-option
+                v-for="item in searchLeaderOptions"
+                :key="item.id"
+                :label="item.name"
+                :value="item.name">
+              </el-option>
+            </el-select>
+          </template>
           </templateTable>
         </SplitArea>
         <!-- 右侧列表页面End -->
@@ -436,6 +446,7 @@ export default {
   mixins: [mixin], 
   data() {
     return {
+      searchLeaderOptions:[],
       leaderOptions:[],
       activeName: "1", //弹框tab索引
       isShow: true, //密码是否显示
@@ -462,15 +473,11 @@ export default {
           type: "select",
           options: JSON.parse(localStorage.getItem("user_statusoptions")),
         },
-        // {
-        //   label: "角色",
-        //   prop: "roleId",
-        //   type: "select",
-        //   options: [
-        //     { label: "出单员", value: "19" },
-        //     { label: "团队长", value: "21" },
-        //   ],
-        // },
+        {
+          label: "领导人",
+          name: "领导人",
+          type: "slot",
+        },
       ],
       tableConfig: {
         columns: [
@@ -559,6 +566,7 @@ export default {
   },
   created() {
     this.findPage();
+    this.searchLeaderFun()
   },
  
   watch: {
@@ -567,6 +575,13 @@ export default {
     },
   },
   methods: {
+    searchLeaderFun(){
+      this.$api.user
+          .findBackListByDeptId({ deptId: this.deptId })
+          .then((res) => {
+            this.searchLeaderOptions = res.data;
+          });
+    },
     beforeTabLeave() {
       // let p = new Promise((resolve, reject) => {
       //   this.$refs.formData.validate(async (valid) => {
@@ -629,6 +644,7 @@ export default {
         this.deptId = this.currentTreeNode.id
         this.pageData.pageNum =1;
         this.findPage();
+        this.searchLeaderFun();
         this.formData.deptId = [];
         this.platform(treeId);
         
@@ -658,7 +674,7 @@ export default {
       this.$api.user
         .findUserList({
           ...this.pageData,
-          dto: { ...data, deptId: this.deptId, agentFlag: "1",roleId:'21' },
+          dto: { ...data, deptId: this.deptId, agentFlag: "1",roleId:'21',leaderName:this.queryFrom.leaderName },
         })
         .then((res) => {
           if (res.code == 200 && res.data.records.length > 0) {

+ 1 - 1
src/views/PeopleManage/Player/RegionPerformanceManage.vue

@@ -314,7 +314,7 @@
     },
     getDetailData(){
       this.loading = true;
-      this.$api.user.quUserNumDetail({...this.detailParams,userId:this.userId}).then((res) => {
+      this.$api.user.quUserNumDetail({...this.detailParams,userId:this.userId,createTimeStart:this.formData.createTimeStart,createTimeEnd:this.formData.createTimeEnd }).then((res) => {
         if (res.code == 200) {
           this.detailData = res.data.records;
           this.detailParams.pageNum = res.data.current;

+ 37 - 8
src/views/PeopleManage/Staff/StaffManage.vue

@@ -74,13 +74,31 @@
                 <el-col :span="5">
                   <el-form-item label="状态">
                     <el-select
-              style="width:200px"
-              clearable 
-                v-model="pageData.status"
-                placeholder="请选择"
-              >
-              <el-option v-for="val in user_statusoptions" :label="val.label" :value="val.value" :key="val.id"></el-option>
-            </el-select>
+                      style="width:200px"
+                      clearable 
+                        v-model="pageData.status"
+                        placeholder="请选择"
+                      >
+                      <el-option v-for="val in user_statusoptions" :label="val.label" :value="val.value" :key="val.id"></el-option>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5">
+                  <el-form-item label="领导人">
+                    <el-select
+                    size="small" 
+                      style="width:215px"
+                      clearable 
+                        v-model="pageData.leaderId"
+                        placeholder="请选择"
+                      >
+                      <el-option
+                      v-for="item in searchLeaderOptions"
+                      :key="item.id"
+                      :label="item.name"
+                      :value="item.name">
+                    </el-option>
+                    </el-select>
                   </el-form-item>
                 </el-col>
                 <el-col :span="4">
@@ -525,7 +543,8 @@ export default {
       //影像上传列表
       imagesIdList:[],
       dialogPassword:false, //密码是否显示明文
-      leaderOptions:[]
+      leaderOptions:[],
+      searchLeaderOptions:{}
     };
   },
   created() {
@@ -533,6 +552,7 @@ export default {
     // this.getDictItems("sex");
     // this.getDictItems("user_status");
     this.getFindRoleByUserId();
+    this.searchLeaderFun()
   },
   mounted() {
     //用像素初始化左边的split的宽度
@@ -548,6 +568,13 @@ export default {
     },
   },
   methods: {
+    searchLeaderFun(){
+      this.$api.user
+          .findBackListByDeptId({ deptId: this.deptId })
+          .then((res) => {
+            this.searchLeaderOptions = res.data;
+          });
+    },
     //获取角色数据
     getFindRoleByUserId(){
       this.$api.role.findRoleByUserId().then(res=>{
@@ -599,6 +626,7 @@ export default {
        this.deptId  = this.currentTreeNode.id;
       this.pageData.pageNum =1;
       this.findPage();
+      this.searchLeaderFun()
       // this.formData.deptId = [];
       // this.platform(treeId);
       
@@ -654,6 +682,7 @@ export default {
         userId:this.pageData.userId,
         status:this.pageData.status,
         agentFlag:0,
+        leaderName:this.pageData.leaderId,
         roleId:'22',
       }
       // .findUserList({

+ 44 - 2
src/views/Task/AgentPoolChannel.vue

@@ -86,10 +86,14 @@
       :showBatchDelete="false"
       @findPage="findPage"
       button3Name="转发"
+      button3Type="text"
       @handleButton3="transmit"
       button2Name="收回"
+      button2Type="text"
       @handleButton2="takeBack"
-
+      button5Name="详情"
+      button5Type="text"
+      @handleButton5="detailFun"
     ></kt-common-table>
     <el-dialog title="转发" :visible.sync="dialogVisible" width="30%">
         转发人:
@@ -106,6 +110,7 @@
         <el-button type="primary" size="small" @click="transmitSumit">确 定</el-button>
       </span>
     </el-dialog>
+    <detailsDialog ref="detailsDialog" :orderInfo="queryOrders"></detailsDialog>
   </div>
 </template>
   
@@ -113,10 +118,12 @@
 import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
 import Cookies from "js-cookie";
 import CommonUtil from "@/utils/comutil.js";
+import detailsDialog from "@/views/Core/components/detailsDialog.vue";
 
 export default {
   components: {
-    KtCommonTable
+    KtCommonTable,
+    detailsDialog
   },
   data() {
     return {
@@ -126,6 +133,7 @@ export default {
       },
       queryFrom: {},
       pageResult: {},
+      queryOrders:{},
       columns: [
         // 数据列
         { prop: "orderno", label: "订单号", sortable: false },
@@ -234,6 +242,40 @@ export default {
         }
       })
     },
+    detailFun(row) {
+      let params = {
+        companyId: row.row.companyId
+      };
+      this.$api.letter.getByCompanyId(params).then(res => {
+        if (res.code == "200") {
+          var data = res.data;
+          data.kindinfo.map((ele, index) => {
+            switch (ele.kindCode) {
+              case "A":
+                ele.amount = "投保";
+                break;
+              case "D4":
+              case "SY_FJ_YBW2":
+                ele.unitAmount = this.toChinesNum(ele.unitAmount);
+                break;
+              case "MJ1":
+              case "MJ2":
+              case "MJ3":
+              case "MJ4":
+                ele.deductibleRate = ele.deductibleRate + "%";
+                break;
+              default:
+                ele.amount = this.toChinesNum(ele.amount);
+            }
+            return ele;
+          });
+          this.queryOrders = data;
+          //赋值费用信息
+          // this.feeDetailInfo=data.orderFeeResult;
+        }
+      });
+      this.$refs.detailsDialog.setBackupVisible(true);
+    },
     transmitSumit() {
         if(this.transmitValue){
             this.$api.task.forwardingSubOrders({auditId:this.transmitValue,orderNo:this.orderNo,subOrderId:this.subOrderId}).then(res=>{

+ 50 - 2
src/views/Task/CompanyPoolChannel.vue

@@ -84,12 +84,18 @@
       :data="pageResult"
       :columns="columns"
       :showBatchDelete="false"
+      element-loading-text="记载中..."
+      v-loading="loading"
       @findPage="findPage"
       button3Name="转发"
+      button3Type="text"
       @handleButton3="transmit"
       button2Name="收回"
+      button2Type="text"
       @handleButton2="takeBack"
-
+      button5Name="详情"
+      button5Type="text"
+      @handleButton5="detailFun"
     ></kt-common-table>
     <el-dialog title="转发" :visible.sync="dialogVisible" width="30%">
         转发人:
@@ -106,6 +112,8 @@
         <el-button type="primary" size="small" @click="transmitSumit">确 定</el-button>
       </span>
     </el-dialog>
+    <detailsDialog ref="detailsDialog" :orderInfo="queryOrders"></detailsDialog>
+
   </div>
 </template>
   
@@ -113,10 +121,11 @@
 import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
 import Cookies from "js-cookie";
 import CommonUtil from "@/utils/comutil.js";
+import detailsDialog from "@/views/Core/components/detailsDialog.vue";
 
 export default {
   components: {
-    KtCommonTable
+    KtCommonTable,detailsDialog
   },
   data() {
     return {
@@ -124,8 +133,10 @@ export default {
         pageNum: 1,
         pageSize: 20
       },
+      loading:false,
       queryFrom: {},
       pageResult: {},
+      queryOrders:{},
       columns: [
         // 数据列
         { prop: "orderno", label: "订单号", sortable: false },
@@ -193,6 +204,7 @@ export default {
     },
     // 右侧列表的方法Start
     findPage() {
+      this.loading = true;
       this.$api.task
         .queryPageHospitalityByInsuranceCompany({
           ...this.pageData,
@@ -202,8 +214,10 @@ export default {
         })
         .then(res => {
           if (res.code == 200) {
+            this.loading = false;
             this.pageResult = res.data;
           } else {
+            this.loading = false;
             this.$message.error(res.msg);
           }
         });
@@ -235,6 +249,40 @@ export default {
         }
       })
     },
+    detailFun(row) {
+      let params = {
+        companyId: row.row.companyId
+      };
+      this.$api.letter.getByCompanyId(params).then(res => {
+        if (res.code == "200") {
+          var data = res.data;
+          data.kindinfo.map((ele, index) => {
+            switch (ele.kindCode) {
+              case "A":
+                ele.amount = "投保";
+                break;
+              case "D4":
+              case "SY_FJ_YBW2":
+                ele.unitAmount = this.toChinesNum(ele.unitAmount);
+                break;
+              case "MJ1":
+              case "MJ2":
+              case "MJ3":
+              case "MJ4":
+                ele.deductibleRate = ele.deductibleRate + "%";
+                break;
+              default:
+                ele.amount = this.toChinesNum(ele.amount);
+            }
+            return ele;
+          });
+          this.queryOrders = data;
+          //赋值费用信息
+          // this.feeDetailInfo=data.orderFeeResult;
+        }
+      });
+      this.$refs.detailsDialog.setBackupVisible(true);
+    },
     transmitSumit() {
         if(this.transmitValue){
             this.$api.task.forwardingSubOrders({auditId:this.transmitValue,orderNo:this.orderNo,subOrderId:this.subOrderId}).then(res=>{

+ 17 - 13
src/views/Task/DaikeLetter.vue

@@ -3,7 +3,7 @@
     <div class="flex f-c back">
       <el-form
         class="demo-ruleForm"
-        :model="userform"
+        :model="salespersonForm"
         label-width="100px"
         size="small"
         style="margin-top: 15px"
@@ -13,7 +13,7 @@
             <el-form-item label="业务员" prop="name">
               <el-input
                 placeholder="请输入业务员"
-                v-model="userform.name"
+                v-model="salespersonForm.name"
                 maxlength="17"
                 type="text"
                 show-word-limit
@@ -30,12 +30,12 @@
           </el-col>
           <el-col :span="5">
             <el-form-item label="工号">
-              <el-input v-model="userform.userId" type="text" disabled></el-input>
+              <el-input v-model="salespersonForm.userId" type="text" disabled></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="5">
             <el-form-item label="工号类型">
-              <el-select v-model="userform.noType" disabled>
+              <el-select v-model="salespersonForm.noType" disabled>
                 <el-option label="业务员" value="A"></el-option>
                 <el-option label="代理人" value="B"></el-option>
               </el-select>
@@ -43,7 +43,7 @@
           </el-col>
           <el-col :span="5">
             <el-form-item label="归属" >
-              <el-input v-model="userform.deptName" disabled></el-input>
+              <el-input v-model="salespersonForm.deptName" disabled></el-input>
             </el-form-item>
           </el-col>
         </el-row>
@@ -125,14 +125,12 @@ export default {
   data(){
     return{
       // 业务员信息
-      userform: {},
       userOptions:[],//可选人员列表
       deptName:'',
       activeName:'999',
       dialogVisible:false,
       salespersonData:[],
       salespersonForm:{},
-      userIdProp:'',
       isdisabled:true,
       orderOption:[
         {
@@ -152,22 +150,28 @@ export default {
           value:'4',
         },
       ],
-      message:''
+      message:'',
     }
   },
   created(){
+    this.$message({
+          showClose: true,
+          message: '请先输入业务员,再进行操作!!!',
+          type: 'warning',
+          duration:10000
+        });
   },
   methods:{
      //业务列表双击选中事件
      reslistCurrentChange(row, column, event) {
-      this.userform = row; //名称
+      this.salespersonForm = row; //名称
       this.activeName='999'
-      this.userIdProp=row.userId
+      this.$refs.Ktletter.userId=row.userId
+      this.$refs.Ktletter.obtainProtocol()
       this.dialogVisible = false;
       this.isdisabled=false
     },
     toChooseName(){
-      this.salespersonForm.name= this.userform.name
       const loading = this.$loading({
         lock: true,
         text: "Loading",
@@ -190,13 +194,13 @@ export default {
         this.$refs.Ktletter.add()
       }
       if(tab.index==1){
-        this.$refs.KtOrder.userIdPor=this.userform.userId
+        this.$refs.KtOrder.userIdPor=this.salespersonForm.userId
         this.$refs.KtOrder.statusPor=tab.name
         this.$refs.KtOrder.findPage()
       }
       if(tab.index>1){
         let ref = eval('this.$refs.refName' + Number(tab.name))[0]
-        ref.userIdPor=this.userform.userId
+        ref.userIdPor=this.salespersonForm.userId
         ref.statusPor=tab.name
         ref.findPage()
       }

+ 45 - 3
src/views/Task/TaskPoolChannel.vue

@@ -86,10 +86,14 @@
       :showBatchDelete="false"
       @findPage="findPage"
       button3Name="转发"
+      button3Type="text"
       @handleButton3="transmit"
       button2Name="收回"
+      button2Type="text"
       @handleButton2="takeBack"
-
+      button5Name="详情"
+      button5Type="text"
+      @handleButton5="detailFun"
     ></kt-common-table>
     <el-dialog title="转发" :visible.sync="dialogVisible" width="30%">
         转发人:
@@ -106,6 +110,7 @@
         <el-button type="primary" size="small" @click="transmitSumit">确 定</el-button>
       </span>
     </el-dialog>
+    <detailsDialog ref="detailsDialog" :orderInfo="queryOrders"></detailsDialog>
   </div>
 </template>
   
@@ -113,10 +118,12 @@
 import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
 import Cookies from "js-cookie";
 import CommonUtil from "@/utils/comutil.js";
+import detailsDialog from "@/views/Core/components/detailsDialog.vue";
 
 export default {
   components: {
-    KtCommonTable
+    KtCommonTable,
+    detailsDialog
   },
   data() {
     return {
@@ -164,6 +171,7 @@ export default {
       transmitValue: "", //选中的转发人
       orderNo:'', //主订单号
       subOrderId:'', //子订单号
+      queryOrders:{}
     };
   },
   created() {
@@ -270,7 +278,41 @@ export default {
         this.queryFrom.startDate = e[0];
         this.queryFrom.endDate = e[1];
       }
-    }
+    },
+    detailFun(row) {
+      let params = {
+        companyId: row.row.companyId
+      };
+      this.$api.letter.getByCompanyId(params).then(res => {
+        if (res.code == "200") {
+          var data = res.data;
+          data.kindinfo.map((ele, index) => {
+            switch (ele.kindCode) {
+              case "A":
+                ele.amount = "投保";
+                break;
+              case "D4":
+              case "SY_FJ_YBW2":
+                ele.unitAmount = this.toChinesNum(ele.unitAmount);
+                break;
+              case "MJ1":
+              case "MJ2":
+              case "MJ3":
+              case "MJ4":
+                ele.deductibleRate = ele.deductibleRate + "%";
+                break;
+              default:
+                ele.amount = this.toChinesNum(ele.amount);
+            }
+            return ele;
+          });
+          this.queryOrders = data;
+          //赋值费用信息
+          // this.feeDetailInfo=data.orderFeeResult;
+        }
+      });
+      this.$refs.detailsDialog.setBackupVisible(true);
+    },
   }
 };
 </script>

+ 48 - 42
src/views/Task/daikeComponents/KtLetter.vue

@@ -3105,11 +3105,11 @@
       'footer': true,
       'shadow': !isBottom
     }">
-      <el-button size="small" @click="add()" :disabled="isdisabled">录下一单</el-button>
-      <el-button type="primary" :loading="calculateLoading" size="small" @click="quote()" :disabled="isdisabled">保费计算</el-button>
+      <el-button size="small" @click="add()" >录下一单</el-button>
+      <el-button type="primary" :loading="calculateLoading" size="small" @click="quote()" >保费计算</el-button>
     </div>
     <div v-else style="text-align: center" >
-      <el-button type="primary" :loading="calculateLoading" size="small" @click="quote()" :disabled="isdisabled">保费计算</el-button>
+      <el-button type="primary" :loading="calculateLoading" size="small" @click="quote()" >保费计算</el-button>
     </div>
 
     <div class="Anchor-link flex f-c j-s a-c" v-if="isLetter">
@@ -5427,48 +5427,54 @@ export default {
         this.HistoryList = res.data;
       });
     },
-    obtainProtocol(data) {
-      this.$api.letter.getAllAgreement().then(res => {
-        if (res.code == 200) {
-          res.data.map(ele => {
-            ele["result"] = {};
-            ele["quoteCode"] = 0;
-            ele["checked"] = false;
-            ele["msg"] = "";
-            ele["lastYearMsg"] = "";
-            ele["agreementId"] = "";
-            ele["apiType"] = "";
-            ele["orderstatus"] = 0;
-            ele.coefficient = "";
-            // ele.agreementId = ele.agreement[0].id;
-            // ele.apiType = ele.agreement[0].apiType;
-            ele.underwritingDescription =
-              ele.agreement[0].underwritingDescription;
-            if (ele.isTaxSource && ele.isTaxSource == "1") {
-              ele.agreement.forEach(val => {
-                if (val.isTaxSource && val.isTaxSource == "1") {
-                  ele.agreementId = val.id;
-                  ele.apiType = val.apiType;
-                }
-              });
-            }
-          });
-          if (data) {
-            res.data.forEach((val, index) => {
-              data.insAreaCompanyEditingDtos.forEach(ele => {
-                if (val.namesimple == ele.inscompany) {
-                  if (ele.inscompany == "中国人寿" && ele.companyId) {
-                    this.lastCompanyId = ele.companyId;
-                  }
-                  res.data[index].quoteCode = 200;
-                  res.data[index].result = ele;
-                }
-              });
+   async obtainProtocol(data) {
+      let res={}
+      if(this.isLetter){
+        res = await this.$api.letter.getAllAgreement()
+      }
+      else{
+        res = await this.$api.letter.getAllAgreementByUserId({userId:this.userId})
+      }
+      if (res.code == 200) {
+        res.data.map(ele => {
+          ele["result"] = {};
+          ele["quoteCode"] = 0;
+          ele["checked"] = false;
+          ele["msg"] = "";
+          ele["lastYearMsg"] = "";
+          ele["agreementId"] = "";
+          ele["apiType"] = "";
+          ele["orderstatus"] = 0;
+          ele.coefficient = "";
+          // ele.agreementId = ele.agreement[0].id;
+          // ele.apiType = ele.agreement[0].apiType;
+          ele.underwritingDescription =
+            ele.agreement[0].underwritingDescription;
+          if (ele.isTaxSource && ele.isTaxSource == "1") {
+            ele.agreement.forEach(val => {
+              if (val.isTaxSource && val.isTaxSource == "1") {
+                ele.agreementId = val.id;
+                ele.apiType = val.apiType;
+              }
             });
           }
+        });
+        if (data) {
+          res.data.forEach((val, index) => {
+            data.insAreaCompanyEditingDtos.forEach(ele => {
+              if (val.namesimple == ele.inscompany) {
+                if (ele.inscompany == "中国人寿" && ele.companyId) {
+                  this.lastCompanyId = ele.companyId;
+                }
+                res.data[index].quoteCode = 200;
+                res.data[index].result = ele;
+              }
+            });
+          });
         }
-        this.totalCompanyList = res.data;
-      });
+      }
+      this.totalCompanyList = res.data;
+     
     },
     //获取保险公司列表
     commpanyList() {

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff