yaoyao 2 лет назад
Родитель
Сommit
56250f6174

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

@@ -1052,6 +1052,15 @@ export const plyFeeQuery = (data) => {
     data
   })
 }
+
+// 新增
+export const queryPagePtInsert = (data) => {
+  return axios({
+    url: "/fnc/plyFee/ptInsert",
+    method: "post",
+    data
+  })
+}
 // 保险公司结算-跟单费接口列表
 export const NonSettlementQuery = (data) => {
   return axios({

+ 234 - 1
src/views/FinancialManagement/CarInsurance/PlatformSettlement/NonVehicleBalance.vue

@@ -198,6 +198,129 @@
     <el-button size="small" @click="submitImport">确定</el-button>
   </span>
 </el-dialog>
+
+<!-- 新增 -->
+  <el-dialog
+    title="新增"
+    :visible.sync="dialogVisibleAdd"
+    width="55%"
+    :before-close="handleCloseAdd">
+    <el-form ref="formDataListAdd" :model="formDataListAdd" label-width="130px" :rules="rulesAdd">
+      <el-row>
+        <el-col :span="8">
+          <el-form-item label="签单日期" prop="signdate">
+              <el-date-picker
+                v-model="formDataListAdd.signdate"
+                type="date"
+                placeholder="选择日期"
+                size="small"
+                value-format="yyyy-MM-dd">
+              </el-date-picker>
+            </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="车牌号" prop="licenseno">
+              <el-input v-model="formDataListAdd.licenseno" class="inputType" size="small"></el-input>
+            </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="被保险人">
+              <el-input v-model="formDataListAdd.userId" class="inputType" size="small"></el-input>
+            </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="险种">
+            <el-select v-model="formDataListAdd.riskcode"  placeholder="选择险种" size="small">
+              <el-option v-for="item in riskcodeList" :key="item.dictValue" :label="item.dictTag"
+                :value="item.dictValue"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="保司机构">
+            <el-cascader ref="partnerCompaniesCascader" @change="partnerCompaniesFun" v-model="formDataListAdd.partnerCompaniesId" size="small" :show-all-levels="false" ize="small"
+            :options="ztreeNodes" :props="optionProps" clearable filterable></el-cascader>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="保险公司" prop="companyId">
+            <el-select v-model="formDataListAdd.companyId"  placeholder="选择保险公司" size="small">
+              <el-option v-for="(item, index) in InsCompanyList" :key="index" :label="item.name"
+                :value="item.id"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="协议选择">
+            <el-select size="small" v-model="formDataListAdd.agreementId" placeholder="请选择协议类型" style="width: 100%">
+              <el-option v-for="item in agreementTypeoptions" :key="item.dictValue" :label="item.agreementName"
+              :value="item.id"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="交强保单号" prop="policyno">
+              <el-input v-model="formDataListAdd.policyno" class="inputType" size="small"></el-input>
+            </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="商业保单号" prop="syPolicyno">
+              <el-input v-model="formDataListAdd.syPolicyno" class="inputType" size="small"></el-input>
+            </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="非车保单号" prop="noPolicyno">
+              <el-input v-model="formDataListAdd.noPolicyno" class="inputType" size="small"></el-input>
+            </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="交强保费">
+            <el-input v-model="formDataListAdd.jqPremium" class="inputType" size="small"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="商业保费">
+            <el-input v-model="formDataListAdd.syPremium" class="inputType" size="small"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="车船税">
+            <el-input v-model="formDataListAdd.taxamount" class="inputType" size="small"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="非车保费">
+            <el-input v-model="formDataListAdd.noPremium" class="inputType" size="small"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="交强应收比例">
+            <el-input v-model="formDataListAdd.jqReceivableProportion" class="inputType" size="small"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="商业应收比例">
+            <el-input v-model="formDataListAdd.syReceivableProportion" class="inputType" size="small"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="非车应收比例">
+            <el-input v-model="formDataListAdd.noReceivableProportion" class="inputType" size="small"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="应收金额" prop="receivableAmount">
+            <el-input v-model="formDataListAdd.receivableAmount" class="inputType" size="small"></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row> 
+    </el-form>
+    <span slot="footer" class="dialog-footer">
+      <el-button size="small" @click="handleCloseAdd">取消</el-button>
+      <el-button size="small" type="primary" @click="submitAdd('formDataListAdd')">添加</el-button>
+    </span>
+  </el-dialog>
+
   </div>
 </template>
   <script>
@@ -315,6 +438,10 @@ export default {
         },
         click:(row, index) => {return this.balanceFunPro()},
       },
+      {
+        name:'新增',
+        click:(row, index) => {return this.handAdd()},
+      },
       {
         name:'模板下载',
         click:(row, index) => {return this.templateDownload()},
@@ -621,7 +748,44 @@ export default {
       dataValue:'',
       selectionOption:[],
       selectionList:[],
-      dockingPersonOption:[]
+      dockingPersonOption:[],
+      // 新增
+      dialogVisibleAdd: false,
+      formDataListAdd: {},
+      riskcodeList: [],
+      InsCompanyList: [],
+      ztreeNodes: [],
+      optionProps: {
+        //公司下拉列表配置
+        checkStrictly: true,
+        value: "id",
+        label: "name",
+        children: "children",
+      },
+      agreementTypeoptions: [],
+      rulesAdd: {
+        signdate: [
+          { required: true, message: '请输入签单日期', trigger: ['change', 'blur'] },
+        ],
+        licenseno: [
+          { required: true, message: '请输入车牌号', trigger: 'blur' },
+        ],
+        companyId: [
+          { required: true, message: '请选择保险公司', trigger: 'change' },
+        ],
+        policyno: [
+          { required: true, message: '请输入交强保单号', trigger: 'blur' },
+        ],
+        syPolicyno: [
+          { required: true, message: '请输入商业保单号', trigger: 'blur' },
+        ],
+        noPolicyno: [
+          { required: true, message: '请输入非车保单号', trigger: 'blur' },
+        ],
+        receivableAmount: [
+          { required: true, message: '请输入应收金额', trigger: 'blur' },
+        ],
+      },
     };
   },
  
@@ -642,14 +806,82 @@ export default {
         this.formList.forEach(filed => {
         if (filed.prop == "riskcode") {
           res.data.ddList.forEach(e=>e.value=e.dictTag)
+          this.riskcodeList = res.data.ddList
           filed.options = res.data.ddList;
         }
       })
       }
     });
+    this.$api.cost.gainTopList({ type: 1 }).then(res => {
+      if (res.data) {
+        this.InsCompanyList = res.data;
+      }
+    });
+    let params = {
+      classname: "",
+      type: '1',
+    };
+    this.$api.insCompany.findLeftInsTree(params).then((res) => {
+      this.ztreeNodes = res.data;
+    });
+    this.agrmentlist();
+
+
+
   },
   
   methods: {
+    // 新增
+    handAdd() {
+      this.dialogVisibleAdd = true
+    },
+    submitAdd(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          console.log(this.formDataListAdd)
+          this.$api.task.queryPagePtInsert({ 
+            ...this.formDataListAdd, 
+            companyName: this.formDataListAdd.companyId ? this.InsCompanyList.find(val => val.id == this.formDataListAdd.companyId).name : ''
+          })
+          .then(res => {
+            if (res.code == 200) {
+                this.$message({
+                  message: '新增成功' || res.msg,
+                  type: 'success'
+                })
+                this.findPage()
+                this.dialogVisibleAdd = false
+                // this.formDataListAdd = {}
+              }
+              else {
+                this.$message.error(res.msg)
+              }
+          })
+
+        } else {
+          return false;
+        }
+      })
+    },
+    handleCloseAdd() {
+      this.dialogVisibleAdd = false
+    },
+    
+    agrmentlist() {
+      this.$api.task.findPtlAgreementList().then((res) => {
+        this.agreementTypeoptions = res.data
+      });
+    },
+    partnerCompaniesFun(val){
+      if(val && val.length>0){
+        this.formDataListAdd.partnerCompaniesId=val[val.length-1]
+        this.formDataListAdd.partnerCompaniesName=this.$refs.partnerCompaniesCascader.getCheckedNodes()[0].label
+      }
+      else{
+        this.formDataListAdd.partnerCompaniesId=''
+        this.formDataListAdd.partnerCompaniesName=''
+      }
+    },
     getYearData(val){
       this.formData.year=val
     },
@@ -865,6 +1097,7 @@ export default {
           })
     },
     onSubmit(){
+      this.formDataList.createTime = null
       this.$api.task.plyFeeUpdate({...this.formDataList,id:this.formDataId})
           .then(res => {
           if (res.code==200) {