lihongxiao 2 лет назад
Родитель
Сommit
b3eb0b448e

+ 140 - 46
src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/DocumentaryFeesDetail.vue

@@ -2,16 +2,23 @@
   <!--布局容器-->
   <!--布局容器-->
   <div class="container" style="width: 99%; margin-top: 0px">
   <div class="container" style="width: 99%; margin-top: 0px">
     <templateTable ref="templateTable" :formList="formList"  :btnGroup="btnGroup" :searchData.sync="searchData" :tableConfig="tableConfig" :data="tableData"
     <templateTable ref="templateTable" :formList="formList"  :btnGroup="btnGroup" :searchData.sync="searchData" :tableConfig="tableConfig" :data="tableData"
-      @findPage="findPage" @getList="findPage" @selectionChange="selectionChange" @handleSearchList="handleSearchList" :pagination="pageData">
+      @findPage="findPage" @getList="findPage"  @areaSelectChange="areaSelectChange"  @companySelectChange="selectCompanyChange" @selectionChange="selectionChange" @handleSearchList="handleSearchList" :pagination="pageData">
     <template slot="批量修改">
     <template slot="批量修改">
       <el-upload   style="display: inline-block;" action="#" :show-file-list="false" class="upload-demo"  :limit="1" :auto-upload="false"
       <el-upload   style="display: inline-block;" action="#" :show-file-list="false" class="upload-demo"  :limit="1" :auto-upload="false"
         :on-change="drivingupload"  ref="upload1"  accept=".png, .jpg, .jpeg" >
         :on-change="drivingupload"  ref="upload1"  accept=".png, .jpg, .jpeg" >
         <el-button size="small" type="primary" :disabled="selectionList.length==0">批量修改</el-button>
         <el-button size="small" type="primary" :disabled="selectionList.length==0">批量修改</el-button>
       </el-upload>
       </el-upload>
     </template>
     </template>
-    <template slot="保司机构">
+    <!-- <template slot="保司机构">
         <el-cascader v-model="pageData.partnerCompaniesIdList" size="small" :show-all-levels="false" ize="small"
         <el-cascader v-model="pageData.partnerCompaniesIdList" size="small" :show-all-levels="false" ize="small"
           :options="ztreeNodes" :props="optionProps" clearable filterable></el-cascader>
           :options="ztreeNodes" :props="optionProps" clearable filterable></el-cascader>
+      </template> -->
+      <template slot="dockingPerson">
+        <el-select v-model="pageData.dockingPerson" filterable clearable placeholder="请选择" size="small">
+          <el-option v-for="item in dockingPersonOption" :key="item.docking_person" :label="item.docking_person"
+            :value="item.docking_person">
+          </el-option>
+        </el-select>
       </template>
       </template>
     </templateTable>
     </templateTable>
     <el-dialog
     <el-dialog
@@ -212,8 +219,6 @@ import yearMonthYay from '../../PlatformSettlement/yearMonthYay.vue'
 export default {
 export default {
   name: "baosi",
   name: "baosi",
   components: {  templateTable,yearMonthYay },
   components: {  templateTable,yearMonthYay },
-  created() {
-  },
   computed: {
   computed: {
     ...mapState({
     ...mapState({
       perms: state => state.user.perms
       perms: state => state.user.perms
@@ -221,6 +226,7 @@ export default {
   },
   },
   data() {
   data() {
     return {
     return {
+      dockingPersonOption: [],
       rulesAdd: {
       rulesAdd: {
         signDate: [
         signDate: [
           { required: true, message: '请输入签单日期', trigger: 'blur' },
           { required: true, message: '请输入签单日期', trigger: 'blur' },
@@ -264,15 +270,28 @@ export default {
       formDataId:'',
       formDataId:'',
       formDataList:{},
       formDataList:{},
       searchData: {},
       searchData: {},
-      formList:[
-       {
-          label: "车牌号",
-          prop: "licenseno",
-          type: "input",
+      formList: [
+        {
+          prop: 'provinceId',
+          label: '省机构名称',
+          type: 'selectDept',
+          options: []
         },
         },
         {
         {
-          label: "被保人",
-          prop: "insuredName",
+          prop: 'cityId',
+          label: '市机构名称',
+          type: 'selectDept',
+          options: []
+        },
+        {
+          prop: 'countyId',
+          label: '区机构名称',
+          type: 'selectDept',
+          options: []
+        },
+        {
+          label: "车牌号",
+          prop: "licenseno",
           type: "input",
           type: "input",
         },
         },
         {
         {
@@ -280,45 +299,68 @@ export default {
           prop: "companyName",
           prop: "companyName",
           type: "company",
           type: "company",
         },
         },
-       
         {
         {
-          label: "险种",
-          prop: "riskcode",
-          type: "input",
+          prop: 'allPartnerCompaniesId',
+          label: '保司总公司',
+          type: 'selectCompany',
+          options: []
         },
         },
         {
         {
-          label: "保司机构",
-          name: "保司机构",
-          type: "slot",
+          prop: 'provincePartnerCompaniesId',
+          label: '保司省公司',
+          type: 'selectCompany',
+          options: []
         },
         },
         {
         {
-          label: "交强保单号",
-          prop: "policyno",
+          prop: 'PartnerCompaniesId',
+          label: '保司中心支公司',
+          type: 'selectCompany',
+          options: []
+        },
+        {
+          label: "被保人",
+          prop: "insuredName",
           type: "input",
           type: "input",
         },
         },
+
+        {
+          label: "险种",
+          prop: "riskcode",
+          type: "select",
+          options:[]
+        },
         {
         {
-          label: "商业保单号",
-          prop: "syPolicyno",
+          label: "非车保单号",
+          prop: "noPolicyno",
           type: "input",
           type: "input",
+        },
+        {
+          label: "结算日期",
+          prop: "settlementTime",
+          type: "date",
         }, {
         }, {
           label: "结算状态",
           label: "结算状态",
-          prop: "settleOtherStatus",
+          prop: "handlingFeesStatus",
           type: "select",
           type: "select",
-          options:[
+          options: [
             {
             {
-              label:'已结算',
-              value:'1'
-            },{
-              label:'未结算',
-              value:'0'
-            },
+              label: '未开票',
+              value: '0'
+            }, {
+              label: '已开票未结算',
+              value: '2'
+            }, {
+              label: '已结算',
+              value: '1'
+            }
           ],
           ],
+
         },
         },
         {
         {
-          label: "结算日期",
-          prop: "settlementTime",
-          type: "date",
-        }, 
+          label: "对接人",
+          name: "dockingPerson",
+          type: "slot",
+        },
         {
         {
           label: "创建日期",
           label: "创建日期",
           prop: "createTime",
           prop: "createTime",
@@ -328,16 +370,8 @@ export default {
           label: "签单日期",
           label: "签单日期",
           prop: "signDate",
           prop: "signDate",
           type: "datePicker",
           type: "datePicker",
-        },{
-          label: "交强起保日期",
-          prop: "jqDate",
-          type: "datePicker",
-        },{
-          label: "商业起保日期",
-          prop: "syDate",
-          type: "datePicker",
         },
         },
-    ],
+      ],
       btnGroup:[
       btnGroup:[
         {
         {
         name:'新增',
         name:'新增',
@@ -608,11 +642,15 @@ export default {
     };
     };
   },
   },
   created() {
   created() {
-
-    
-    this.findPage();
+    this.$api.dept.findDeptTree("9", "").then((res) => {
+      this.treedata = res.data;
+    });
     this.getDicType("InsInsuranceKind"); //险种类型
     this.getDicType("InsInsuranceKind"); //险种类型
     this.getDicType("agreementType"); //险种类型
     this.getDicType("agreementType"); //险种类型
+    this.areaqueryList(1, 99, "provinceId");
+    this.companyqueryList(0,'allPartnerCompaniesId');
+
+    this.findPage();
     let params = {
     let params = {
       classname: "",
       classname: "",
       type: '1',
       type: '1',
@@ -620,6 +658,16 @@ export default {
     this.$api.insCompany.findLeftInsTree(params).then((res) => {
     this.$api.insCompany.findLeftInsTree(params).then((res) => {
       this.ztreeNodes = res.data;
       this.ztreeNodes = res.data;
     });
     });
+    this.$api.task
+      .getDockingPersonList()
+      .then(res => {
+        if (res.code == 200) {
+          this.dockingPersonOption = res.data
+        }
+        else {
+          this.$message.error(res.msg)
+        }
+      });
     this.$api.cost.gainTopList({ type: 1 }).then(res => {
     this.$api.cost.gainTopList({ type: 1 }).then(res => {
       if (res.data) {
       if (res.data) {
         this.InsCompanyList = res.data;
         this.InsCompanyList = res.data;
@@ -627,6 +675,52 @@ export default {
     });
     });
   },
   },
   methods: {
   methods: {
+    areaqueryList(level, parentId, filed) {
+      this.$api.task.queryListByParentId(level, parentId).then((res) => {
+        this.selectDataMatching(this.formList, filed, res.data);
+      });
+    },
+    areaSelectChange(obj) {
+      switch (obj.filed) {
+        case 'provinceId':
+          this.areaqueryList(2, obj.id, 'cityId')
+          break;
+        case 'cityId':
+          this.areaqueryList(3, obj.id, 'countyId')
+          break;
+        case 'countyId':
+          this.areaqueryList(4, obj.id, 'houseId')
+          break;
+        default:
+      }
+    },
+      //下拉数据匹配
+      selectDataMatching(files, name, data) {
+      files.forEach(filed => {
+        if (filed.prop == name) {
+          filed.options = data;
+        }
+      })
+    },
+    companyqueryList(parentId, filed) {
+      this.$api.task.esmInsCompany( parentId).then((res) => {
+        this.selectDataMatching(this.formList, filed, res.data);
+      });
+    },
+    selectCompanyChange(obj) {
+      switch (obj.filed) {
+        case 'allPartnerCompaniesId':
+          this.companyqueryList( obj.id, 'provincePartnerCompaniesId')
+          break;
+        case 'provincePartnerCompaniesId':
+          this.companyqueryList( obj.id, 'PartnerCompaniesId')
+          break;
+        case 'PartnerCompaniesId':
+          
+          break;
+        default:
+      }
+    },
     partnerCompaniesFun(val){
     partnerCompaniesFun(val){
       if(val && val.length>0){
       if(val && val.length>0){
         this.formDataAdd.partnerCompaniesId=val[val.length-1]
         this.formDataAdd.partnerCompaniesId=val[val.length-1]

+ 145 - 49
src/views/FinancialManagement/CarInsurance/CompanySettlement/NoCarInsurance/DocumentaryFeesDetail.vue

@@ -2,17 +2,24 @@
   <!--布局容器-->
   <!--布局容器-->
   <div class="container" style="width: 99%; margin-top: 0px">
   <div class="container" style="width: 99%; margin-top: 0px">
     <templateTable ref="templateTable" :formList="formList"  :btnGroup="btnGroup" :searchData.sync="searchData" :tableConfig="tableConfig" :data="tableData"
     <templateTable ref="templateTable" :formList="formList"  :btnGroup="btnGroup" :searchData.sync="searchData" :tableConfig="tableConfig" :data="tableData"
-      @findPage="findPage" @getList="findPage" @handleSearchList="handleSearchList" :pagination="pageData">
+      @findPage="findPage" @getList="findPage"  @areaSelectChange="areaSelectChange"  @companySelectChange="selectCompanyChange" @handleSearchList="handleSearchList" :pagination="pageData">
       <template slot="批量修改">
       <template slot="批量修改">
       <el-upload style="display: inline-block;" action="#" :show-file-list="false" class="upload-demo"  :limit="1" :auto-upload="false"
       <el-upload style="display: inline-block;" action="#" :show-file-list="false" class="upload-demo"  :limit="1" :auto-upload="false"
         :on-change="drivingupload"  ref="upload1"  accept=".png, .jpg, .jpeg" >
         :on-change="drivingupload"  ref="upload1"  accept=".png, .jpg, .jpeg" >
         <el-button size="small" :disabled="selectionList.length==0" type="primary">批量修改</el-button>
         <el-button size="small" :disabled="selectionList.length==0" type="primary">批量修改</el-button>
       </el-upload>
       </el-upload>
     </template>
     </template>
-    <template slot="保司机构">
+    <template slot="dockingPerson">
+        <el-select v-model="pageData.dockingPerson" filterable clearable placeholder="请选择" size="small">
+          <el-option v-for="item in dockingPersonOption" :key="item.docking_person" :label="item.docking_person"
+            :value="item.docking_person">
+          </el-option>
+        </el-select>
+      </template>
+    <!-- <template slot="保司机构">
         <el-cascader v-model="pageData.partnerCompaniesIdList" size="small" :show-all-levels="false" ize="small"
         <el-cascader v-model="pageData.partnerCompaniesIdList" size="small" :show-all-levels="false" ize="small"
           :options="ztreeNodes" :props="optionProps" clearable filterable></el-cascader>
           :options="ztreeNodes" :props="optionProps" clearable filterable></el-cascader>
-      </template>
+      </template> -->
     </templateTable>
     </templateTable>
     <el-dialog
     <el-dialog
     title="编辑"
     title="编辑"
@@ -181,8 +188,6 @@ import yearMonthYay from '../../PlatformSettlement/yearMonthYay.vue'
 export default {
 export default {
   name: "baosi",
   name: "baosi",
   components: {  templateTable,yearMonthYay },
   components: {  templateTable,yearMonthYay },
-  created() {
-  },
   computed: {
   computed: {
     ...mapState({
     ...mapState({
       perms: state => state.user.perms
       perms: state => state.user.perms
@@ -190,6 +195,7 @@ export default {
   },
   },
   data() {
   data() {
     return {
     return {
+      dockingPersonOption: [],
       rulesAdd: {
       rulesAdd: {
         signDate: [
         signDate: [
           { required: true, message: '请输入签单日期', trigger: 'blur' },
           { required: true, message: '请输入签单日期', trigger: 'blur' },
@@ -234,15 +240,33 @@ export default {
       dialogVisible:false,
       dialogVisible:false,
       formDataId:'',
       formDataId:'',
       formDataList:{},
       formDataList:{},
-      formList:[
-       {
-          label: "车牌号",
-          prop: "licenseno",
-          type: "input",
+      formList: [
+        // {
+        //   label: "内部机构",
+        //   name: "内部机构",
+        //   type: "slot",
+        // },
+        {
+          prop: 'provinceId',
+          label: '省机构名称',
+          type: 'selectDept',
+          options: []
         },
         },
         {
         {
-          label: "被保人",
-          prop: "insuredName",
+          prop: 'cityId',
+          label: '市机构名称',
+          type: 'selectDept',
+          options: []
+        },
+        {
+          prop: 'countyId',
+          label: '区机构名称',
+          type: 'selectDept',
+          options: []
+        },
+        {
+          label: "车牌号",
+          prop: "licenseno",
           type: "input",
           type: "input",
         },
         },
         {
         {
@@ -250,50 +274,68 @@ export default {
           prop: "companyName",
           prop: "companyName",
           type: "company",
           type: "company",
         },
         },
-       
         {
         {
-          label: "险种",
-          prop: "riskcode",
-          type: "input",
+          prop: 'allPartnerCompaniesId',
+          label: '保司总公司',
+          type: 'selectCompany',
+          options: []
         },
         },
         {
         {
-          label: "保司机构",
-          name: "保司机构",
-          type: "slot",
+          prop: 'provincePartnerCompaniesId',
+          label: '保司省公司',
+          type: 'selectCompany',
+          options: []
         },
         },
         {
         {
-          label: "交强保单号",
-          prop: "policyno",
-          type: "input",
+          prop: 'PartnerCompaniesId',
+          label: '保司中心支公司',
+          type: 'selectCompany',
+          options: []
         },
         },
         {
         {
-          label: "商业保单号",
-          prop: "syPolicyno",
+          label: "被保人",
+          prop: "insuredName",
           type: "input",
           type: "input",
-        }, {
+        },
+
+        {
+          label: "险种",
+          prop: "riskcode",
+          type: "select",
+          options:[]
+        },
+        {
           label: "非车保单号",
           label: "非车保单号",
           prop: "noPolicyno",
           prop: "noPolicyno",
           type: "input",
           type: "input",
         },
         },
         {
         {
+          label: "结算日期",
+          prop: "settlementTime",
+          type: "date",
+        }, {
           label: "结算状态",
           label: "结算状态",
-          prop: "settleOtherStatus",
+          prop: "handlingFeesStatus",
           type: "select",
           type: "select",
-          options:[
+          options: [
             {
             {
-              label:'已结算',
-              value:'1'
-            },{
-              label:'未结算',
-              value:'0'
-            },
+              label: '未开票',
+              value: '0'
+            }, {
+              label: '已开票未结算',
+              value: '2'
+            }, {
+              label: '已结算',
+              value: '1'
+            }
           ],
           ],
+
         },
         },
         {
         {
-          label: "结算日期",
-          prop: "settlementTime",
-          type: "date",
-        }, 
+          label: "对接人",
+          name: "dockingPerson",
+          type: "slot",
+        },
         {
         {
           label: "创建日期",
           label: "创建日期",
           prop: "createTime",
           prop: "createTime",
@@ -303,8 +345,8 @@ export default {
           label: "签单日期",
           label: "签单日期",
           prop: "signDate",
           prop: "signDate",
           type: "datePicker",
           type: "datePicker",
-        }
-    ],
+        },
+      ],
       btnGroup:[
       btnGroup:[
         {
         {
         name:'新增',
         name:'新增',
@@ -528,19 +570,30 @@ export default {
     };
     };
   },
   },
   created() {
   created() {
+    this.$api.dept.findDeptTree("9", "").then((res) => {
+      this.treedata = res.data;
+    });
+    this.getDicType("InsInsuranceKind"); //险种类型
+    this.getDicType("agreementType"); //险种类型
+    this.areaqueryList(1, 99, "provinceId");
+    this.companyqueryList(0,'allPartnerCompaniesId');
+
+    this.findPage();
     let params = {
     let params = {
       classname: "",
       classname: "",
       type: '1',
       type: '1',
     };
     };
-    this.findPage();
-    this.getDicType("InsInsuranceKind"); //险种类型
-    this.getDicType("agreementType"); //险种类型
-    this.$api.dept.findDeptTree("9", "").then((res) => {
-      this.treedata = res.data;
+    this.$api.insCompany.findLeftInsTree(params).then((res) => {
+      this.ztreeNodes = res.data;
     });
     });
-    this.$api.insCompany.dicType('agreementType').then((res) => {
+    this.$api.task
+      .getDockingPersonList()
+      .then(res => {
         if (res.code == 200) {
         if (res.code == 200) {
-          this.agreementTypeoptions = res.data.ddList;
+          this.dockingPersonOption = res.data
+        }
+        else {
+          this.$message.error(res.msg)
         }
         }
       });
       });
     this.$api.cost.gainTopList({ type: 1 }).then(res => {
     this.$api.cost.gainTopList({ type: 1 }).then(res => {
@@ -548,11 +601,54 @@ export default {
         this.InsCompanyList = res.data;
         this.InsCompanyList = res.data;
       }
       }
     });
     });
-    this.$api.insCompany.findLeftInsTree(params).then((res) => {
-      this.ztreeNodes = res.data;
-    });
   },
   },
   methods: {
   methods: {
+    areaqueryList(level, parentId, filed) {
+      this.$api.task.queryListByParentId(level, parentId).then((res) => {
+        this.selectDataMatching(this.formList, filed, res.data);
+      });
+    },
+    areaSelectChange(obj) {
+      switch (obj.filed) {
+        case 'provinceId':
+          this.areaqueryList(2, obj.id, 'cityId')
+          break;
+        case 'cityId':
+          this.areaqueryList(3, obj.id, 'countyId')
+          break;
+        case 'countyId':
+          this.areaqueryList(4, obj.id, 'houseId')
+          break;
+        default:
+      }
+    },
+      //下拉数据匹配
+      selectDataMatching(files, name, data) {
+      files.forEach(filed => {
+        if (filed.prop == name) {
+          filed.options = data;
+        }
+      })
+    },
+    companyqueryList(parentId, filed) {
+      this.$api.task.esmInsCompany( parentId).then((res) => {
+        this.selectDataMatching(this.formList, filed, res.data);
+      });
+    },
+    selectCompanyChange(obj) {
+      switch (obj.filed) {
+        case 'allPartnerCompaniesId':
+          this.companyqueryList( obj.id, 'provincePartnerCompaniesId')
+          break;
+        case 'provincePartnerCompaniesId':
+          this.companyqueryList( obj.id, 'PartnerCompaniesId')
+          break;
+        case 'PartnerCompaniesId':
+          
+          break;
+        default:
+      }
+    },
     partnerCompaniesFun(val){
     partnerCompaniesFun(val){
       if(val && val.length>0){
       if(val && val.length>0){
         this.formDataAdd.partnerCompaniesId=val[val.length-1]
         this.formDataAdd.partnerCompaniesId=val[val.length-1]