Quellcode durchsuchen

1、税源管理功能
2、报价页面保险公司修改

lihongxiao vor 2 Jahren
Ursprung
Commit
9e0feab4bd

+ 11 - 3
src/http/moudules/dept.js

@@ -144,10 +144,11 @@ export const deleteDept = (id) => {
     })
 }
 //获取保险公司
-export const insureCompany = () => {
+export const insureCompany = (data) => {
     return axios({
         url: '/tax/manager/insureCompany',
-        method: 'get'
+        method: 'get',
+        params:data
     })
 }
 // 获取公司树结构
@@ -166,7 +167,7 @@ export const agreement = (companyId) => {
     })
 }
 // 获取车牌信息
-export const license = (companyId) => {
+export const license = () => {
     return axios({
         url: '/tax/manager/license',
         method: 'get',
@@ -179,4 +180,11 @@ export const saveTaxSource = (data) => {
         method: 'post',
         data
     })
+}
+// 获取税源信息   
+export const getTaxSource = (companyId) => {
+    return axios({
+        url: '/tax/manager/getTaxSource?companyId=' + companyId,
+        method: 'get',
+    })
 }

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

@@ -776,3 +776,11 @@ export const packageQuery = () => {
         method: 'get'
     })
 }
+// 获取所有协议
+export const getAllAgreement = (data) => {
+    return axios({
+        url: '/tax/manager/getAllAgreement' ,
+        method: 'get',
+        params:data
+    })
+}

+ 72 - 33
src/views/AgreementManage/CarInsurance/SourceManagement.vue

@@ -7,7 +7,7 @@
       :visible.sync="dialogVisible"
       width="50%"
     >
-    <el-tabs v-model="activeName" @tab-click="handleClick"  >
+    <el-tabs v-model="activeName"   >
         <el-tab-pane label="协议选择" name="1">
           <el-table
           :data="tableData"
@@ -23,7 +23,7 @@
             align="center"
             >
             <template slot-scope="scope">
-              <el-select v-model="tableFormData[scope.$index].agreementId" placeholder="请选择">
+              <el-select v-model="scope.row.agreementId" placeholder="请选择">
                 <el-option
                   v-for="item in options"
                   :key="item.id"
@@ -37,19 +37,25 @@
             label="是否启动"
             >
             <template slot-scope="scope">
-              <el-switch
-              v-model="tableFormData[scope.$index].isTaxSource"
+              <el-switch  
+              v-model="scope.row.isTaxSource"
               active-value="1"
               inactive-value="0"
+              @change="isTaxSourceFun(scope.row.isTaxSource,scope.$index)"
               >
             </el-switch>
             </template>
           </el-table-column>
           </el-table>   
         </el-tab-pane>
-        <el-tab-pane label="排除" name="2">
+        <el-tab-pane label="排除部门" name="2">
           <el-tree default-expand-all ref="tree" show-checkbox :data="treeData" node-key="id" :props="defaultProps" ></el-tree>
         </el-tab-pane>
+        <el-tab-pane label="排除车牌" name="3">
+          <el-checkbox-group v-model="checkList">
+            <el-checkbox v-for="val in tableData" :key="val.id" :label="val.license"></el-checkbox>
+          </el-checkbox-group>
+        </el-tab-pane>
     </el-tabs>
     <span slot="footer" class="dialog-footer">
       <el-button @click="dialogVisible = false">取 消</el-button>
@@ -72,6 +78,7 @@ export default {
           children: 'children',
           label: 'name'
         },
+        checkList:[],
         treeData:[],
     pageResult: [], //表格数据
     queryFrom: {}, //查询信息
@@ -104,7 +111,6 @@ export default {
       },
       tableData:[],
       options:[],
-      tableFormData:[],
       rowData:{}
     }
 },
@@ -114,19 +120,7 @@ created() {
           this.treeData=res.data
       }   
     })
-    this.$api.dept.license().then((res) => {
-      if(res.code==200){
-        res.data.forEach((ele,index) => {
-          this.tableFormData[index]={
-            agreementId:'',
-            isTaxSource:0
-          }
-        });
-          this.tableData=res.data
-      }   
-    })
-    console.log(this.tableFormData,8888888888)
-
+    
     this.findPage()
   },
 methods:{
@@ -135,19 +129,53 @@ methods:{
       this.$api.dept.insureCompany({ ...this.pageData })
         .then((res) => {
           this.tableConfig.loading = false;
-          this.pageResult = res.data;
+          this.pageResult = res.data.content;
           this.pageData.pageNum = res.data.pageNum;
           this.pageData.pageSize = res.data.pageSize;
           this.pageData.totalSize = res.data.totalSize;
 
         })
     },
+    licenseFun(){
+      this.$api.dept.license().then((res) => {
+      if(res.code==200){
+        res.data.forEach((ele,index) => {
+          ele.agreementId=''
+          ele.isTaxSource='0'
+        });
+          this.tableData=res.data
+      }   
+    })
+    },
     addSource(row){
         this.dialogVisible=true
         this.rowData={
           insCompanyId:row.id,
           insCompanyName:row.name
         }
+        this.$api.dept.getTaxSource(row.id)
+        .then((res) => {
+          if(res.code==200){
+            if(res.data.agreementTaxList.length>0){
+              this.tableData=res.data.agreementTaxList
+            }
+            else{
+              this.licenseFun()
+            }
+            if(res.data.agreementTaxExcludeDeptList.length>0){
+              this.$refs.tree.setCheckedKeys(res.data.agreementTaxExcludeDeptList)
+            }
+            else{
+              this.$refs.tree.setCheckedKeys([])
+            }
+            if(res.data.agreementTaxExcludeLicenseList.length>0){
+              this.checkList=res.data.agreementTaxExcludeLicenseList
+            }
+            else{
+              this.checkList=[]
+            }
+          }
+        })
         this.$api.dept.agreement(row.id)
         .then((res) => {
           if(res.code==200){
@@ -155,30 +183,41 @@ methods:{
           }
         })
     },
-    handleClick(data){
-
-       
+    isTaxSourceFun(data,index){
+      if(data==1){
+        this.tableData.forEach((val,ind)=>{
+        val.isTaxSource='0'
+        if(index==ind){
+            this.tableData[index].isTaxSource='1'
+            this.$set( this.tableData,index,this.tableData[index])
+        }
+      
+      })
+      }
     },
     submitDialog(){
-      console.log(this.tableFormData,111111111111)
-
       let agreementTaxList=[]
-      let agreementTaxExcludeList=[]
-      this.treeData.forEach(val=>{
+      let agreementTaxExcludeDeptList=this.$refs.tree.getCheckedKeys()
+      let agreementTaxExcludeLicenseList=this.checkList
+      this.tableData.forEach(val=>{
         agreementTaxList.push({
           agreementId:val.agreementId,
           license:val.license,
           isTaxSource:val.isTaxSource,
         })
       })
-      this.$refs.tree.getCheckedKeys().forEach(val=>{
-        agreementTaxExcludeList.push({excludeDeptId:val})
-      })
-      
-      this.$api.dept.saveTaxSource({...this.tableFormData,agreementTaxList,agreementTaxExcludeList})
+      this.$api.dept.saveTaxSource({...this.rowData,agreementTaxList,agreementTaxExcludeDeptList,agreementTaxExcludeLicenseList})
         .then((res) => {
           if(res.code==200){
-            this.options=res.data
+            this.dialogVisible=false
+            this.$message({
+                message: res.msg,
+                type: 'success'
+              });
+            this.findPage()
+          }
+          else{
+            this.$message.error(res.msg)
           }
         })
     },

+ 68 - 14
src/views/Letter/Letter.vue

@@ -151,7 +151,7 @@
         <el-row style="flex-wrap: wrap; display: flex;">
           <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
             <el-form-item label="车牌:" :prop="licenseplate ? 'licenseNo' : ''">
-              <el-input v-model="carInfo.licenseNo" placeholder="请输入车牌号" :disabled="!licenseplate"></el-input>
+              <el-input v-model="carInfo.licenseNo" placeholder="请输入车牌号" :disabled="!licenseplate" @change="licenseNoFun"></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
@@ -222,7 +222,7 @@
           </el-col>
           <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
             <el-form-item label="排量:" prop="enginedesc">
-              <el-input v-model="carInfo.enginedesc" placeholder="请输入排量">
+              <el-input v-model="carInfo.enginedesc" placeholder="请输入排量" @change="enginedescFun">
                 <el-button slot="append">升(L)</el-button>
               </el-input>
             </el-form-item>
@@ -1359,9 +1359,10 @@
               </div>
             </div>
             <div v-if="reslistitem.checked" class="dis a-c Driving-risk" style="margin-top:10px;">
-              <h4>报价协议选择:</h4>
+              <h4 v-if="!reslistitem.isTaxSource &&reslistitem.isTaxSource!=='1' ">报价协议选择:</h4>
               <el-select
                 size="small"
+                v-if="!reslistitem.isTaxSource && reslistitem.isTaxSource!=='1'"
                 v-model="reslistitem.agreementId"
                 placeholder="请选择协议"
                 style="width: 200px;"
@@ -4765,7 +4766,7 @@ export default {
       },
       deep: true
     },
-    "carInfo.engineNo": {
+    "carInfo.engineNo": { 
       handler(val) {
         if (val) {
           this.carInfo.engineNo = val.toUpperCase();
@@ -4803,7 +4804,7 @@ export default {
       import("element-ui/packages/image/src/image-viewer")
   },
   created() {
-    this.commpanyList(); //获取保险公司
+    // this.commpanyList(); //获取保险公司
     this.getDicType("taxRelifFlag");//车船税类型
     this.getDicType("taxpayerIdentifier");//纳税人证件类型
     this.getDicType("relifReason");//减免税原因代码
@@ -4870,6 +4871,7 @@ export default {
       _this.ownerInfo.age = getAgeByIdCard(_this.ownerInfo.identifyNumber)
       _this.policyHolderInfo.age = getAgeByIdCard(_this.policyHolderInfo.identifyNumber)
       _this.insuredPersonInfo.age = getAgeByIdCard(_this.insuredPersonInfo.identifyNumber)
+      this.obtainProtocol()
       // const ownerInfoObject = {
       //   province: _this.ownerInfo.province,
       //   city: _this.ownerInfo.city,
@@ -4979,6 +4981,16 @@ export default {
     }
   },
   methods: {
+    licenseNoFun(data){
+      if(data && this.carInfo.enginedesc){
+        this.obtainProtocol()
+      }
+    },
+    enginedescFun(data){
+      if(data && this.carInfo.licenseNo){
+        this.obtainProtocol()
+      }
+    },
     packageChange(val){
       let arr=this.packageOptions.find(ele=>ele.id==val).kind
       if(arr.length>0){
@@ -5491,6 +5503,46 @@ else{
         this.HistoryList = res.data;
       });
     },
+    obtainProtocol(){
+      this.$api.letter.getAllAgreement({ license:this.carInfo.licenseNo,volume:this.carInfo.enginedesc }).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(this.$route.query.data){
+          res.data.forEach((val,index)=>{
+            this.$route.query.data.insAreaCompanyEditingDtos.forEach(ele=>{
+              if(val.namesimple==ele.inscompany){
+                res.data[index].quoteCode=200
+                res.data[index].result=ele
+              }
+            })
+          })
+        }
+      }
+      console.log(res.data,111111111111111)
+      this.totalCompanyList = res.data;
+      })
+    },
     //获取保险公司列表
     commpanyList() {
       this.$api.letter.gainAllowQuoteList('').then(res => {
@@ -5504,7 +5556,7 @@ else{
           ele["apiType"] = "";
           ele["orderstatus"] = 0;
           ele.coefficient=''
-          ele.agreementId = ele.agreement[0].id;
+          // ele.agreementId = ele.agreement[0].id;
           ele.apiType = ele.agreement[0].apiType;
           ele.underwritingDescription =  ele.agreement[0].underwritingDescription
         });
@@ -5698,17 +5750,19 @@ else{
     hideInput(){
       this.currentCell = null;
     },
+  
     //勾选保险公司
     initchange(e, code, name, index) {
+      console.log( this.totalCompanyList[index] ,e,1111111111111)
       if(e){
         let ins = this.totalCompanyList[index].namesimple;
-      this.totalCompanyList[index].agreementId = "";
+      // this.totalCompanyList[index].agreementId = "";
       this.totalCompanyList[index].checked = e;
-      this.totalCompanyList[index].agreementId = this.totalCompanyList[index].agreement[0].id;
+      // this.totalCompanyList[index].agreementId = this.totalCompanyList[index].agreement[0].id;
       this.totalCompanyList[index].underwritingDescription = this.totalCompanyList[index].agreement[0].underwritingDescription;
-      if (this.carInfo.licenseNo.slice(0, 2) != '晋A' && ins == '中煤财险') {
-        this.totalCompanyList[0].agreementId = this.totalCompanyList[0].agreement[1].id;
-      }
+      // if (this.carInfo.licenseNo.slice(0, 2) != '晋A' && ins == '中煤财险') {
+      //   this.totalCompanyList[0].agreementId = this.totalCompanyList[0].agreement[1].id;
+      // }
       switch (ins) {
         case '永诚财险':
           this.accidentForm.agreementId = this.totalCompanyList[index].agreement[0].id;
@@ -5783,7 +5837,7 @@ else{
             }
           });
           break;
-        case '大家财险':gufgaaobbmzjbgsiebnmmmmmmduyvbgzol
+        case '大家财险':
           this.$api.letter.dajiagetDriving({ agreementId:  this.totalCompanyList[index].agreement[0].id }).then(res => {
             if (res.code == 200) {
               this.dajiaInsuranceData = res.data;
@@ -7564,7 +7618,6 @@ else{
         }
       });
     },
-   
     //当前日期的次日
     transformTime1() {
       var date = new Date();
@@ -8635,7 +8688,8 @@ else{
       this.jqendDate = this.oneYearPast1(this.jqstartDate);
       this.systartDate = this.transformTime1();
       this.syendDate = this.oneYearPast1(this.jqstartDate);
-      this.commpanyList(); // 获取保险公司
+      // this.commpanyList(); // 获取保险公司
+      // this.obtainProtocol()
 
     },
     toChinesNum(num) {