Просмотр исходного кода

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

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

+ 12 - 5
src/http/moudules/task.js

@@ -631,9 +631,9 @@ export const channelAccountQuery = (data) => {
   })
 }
 //获取应收结果
-export const accountsResult = (data) => {
+export const accountsResult = (data,data1) => {
   return axios({
-    url: '/InsReceivable/receivableResult?yearMonthStr=' + data,
+    url: '/InsReceivable/receivableResult?yearMonthStr=' + data+'&insuranceId='+data1,
     method: "get",
   })
 }
@@ -646,9 +646,9 @@ export const signingSourceResult = (data) => {
   })
 }
 //获取结算日期结算来源表
-export const settlementSourceResult = (data) => {
+export const settlementSourceResult = (data,data1) => {
   return axios({
-    url: '/InsReceivable/settlementSourceResult?yearMonthStr=' + data,
+    url: '/InsReceivable/settlementSourceResult?yearMonthStr=' + data+'&insuranceId='+data1,
     method: "get",
   })
 }
@@ -698,4 +698,11 @@ export const SourceUpdate = (data) => {
     data
   })
 }
-
+//应收应付表
+export const receivableAndSettlement = (data) => {
+  return axios({
+    url: "/InsReceivable/receivableAndSettlement",
+    method: "post",
+    data
+  })
+}

+ 98 - 8
src/views/FinancialManagement/ExpenseManagement/ExpenseComponent.vue

@@ -46,9 +46,12 @@
                 v-model="formData.businessQuality"
                 placeholder="请选择营业性质"
               >
-                <el-option label="一般纳税" value="0"></el-option>
-                <el-option label="小规模" value="1"></el-option>
-                <el-option label="个体户" value="2"></el-option>
+                <el-option
+                  v-for="(item, index) in nature_businessData"
+                  :key="index + 'yyxz'"
+                  :label="item.label"
+                  :value="item.value"
+                ></el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -108,6 +111,63 @@
             </el-form-item>
           </el-col>
         </el-row>
+        <el-row v-if="formData.outerFlag == 0 && type == 1">
+          <div
+            v-for="(zgItem, index) in formData.tentativeEstimates"
+            :key="'zg' + index"
+          >
+            <el-col :span="12">
+              <el-form-item
+                label="暂估年"
+                :prop="'tentativeEstimates.' + index + '.year'"
+                :rules="{
+                  required: true,
+                  message: '请选择暂估年',
+                  trigger: 'change',
+                }"
+              >
+                <el-date-picker
+                  v-model="zgItem.year"
+                  type="year"
+                  value-format="yyyy"
+                  placeholder="选择年"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="暂估值" :prop="'tentativeEstimates.' + index + '.value'"
+                :rules="[{
+                  required: true,
+                  message: '暂估值不能为空',
+                  trigger: 'blur',
+                },
+                { pattern: /^[1-9]\d*$/ , message: '暂估值不能小于等于0', trigger: 'blur'}]">
+                <el-input-number
+                  v-model="zgItem.value"
+                  :min="0"
+                  :max="99999999999999999"
+                  label=""
+                ></el-input-number>
+              </el-form-item>
+            </el-col>
+          </div>
+        </el-row>
+        <el-row v-if="formData.outerFlag == 0 && type == 1">
+          <el-col :span="24" style="text-align: center; margin-top: 20px"
+            ><i
+              @click="addYear"
+              class="el-icon-circle-plus"
+              style="font-size: 25px"
+            ></i>
+            <i
+              v-show="formData.tentativeEstimates.length>1"
+              @click="removeYear"
+              class="el-icon-remove"
+              style="margin-left: 30px; font-size: 25px"
+            ></i>
+          </el-col>
+        </el-row>
         <el-row v-if="type == 2">
           <el-col :span="12">
             <el-form-item label="账户性质" prop="accountQuality">
@@ -431,6 +491,11 @@ export default {
       type: String,
       default: "新增",
     },
+    nature_businessData: {
+      //一般纳税数据字典
+      type: Array,
+      default: [],
+    },
     formDataId: {
       type: String,
       default: "",
@@ -478,6 +543,7 @@ export default {
   data() {
     return {
       dictionariesData: [], //账户性质数据字典
+
       externalRules: {
         //账户表单规则
         outerFlag: [
@@ -506,9 +572,23 @@ export default {
           {
             required: true,
             message: "开票员不能为空",
-            trigger: "change",
+            trigger: "blur",
           },
         ],
+        // year: [
+        //   {
+        //     required: true,
+        //     message: "请选择暂估年",
+        //     trigger: "change",
+        //   },
+        // ],
+        // value: [
+        //   {
+        //     required: true,
+        //     message: "暂估值不能为空",
+        //     trigger: "blur",
+        //   },
+        // ],
       },
       interiorRules: {
         //卡表单规则
@@ -548,10 +628,17 @@ export default {
     },
   },
   created() {
-    this.business();
+    this.business("account_quality");
+    // this.business("nature_business");
   },
   mounted() {},
   methods: {
+    addYear() {
+      this.$emit("addYear");
+    },
+    removeYear() {
+      this.$emit("removeYear");
+    },
     outChange(e) {
       this.$nextTick(() => {
         this.$refs.formData.clearValidate();
@@ -562,10 +649,13 @@ export default {
       this.$emit("setDateInterval", e);
     },
     //数据字典
-    business() {
-      let typeName = "account_quality";
+    business(typeName) {
       this.$api.dict.findByLableName(typeName).then((res) => {
-        this.dictionariesData = res.data;
+        if (typeName == "account_quality") {
+          this.dictionariesData = res.data;
+        } else {
+          this[typeName + "Data"] = res.data;
+        }
       });
     },
     //提交

+ 71 - 64
src/views/FinancialManagement/ExpenseManagement/ExpenseManagement.vue

@@ -14,7 +14,7 @@
             <el-option label="外部账户" value="1"></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="账户性质" label-width="95px" prop="accountQuality">
+        <!-- <el-form-item label="账户性质" label-width="95px" prop="accountQuality">
           <el-select
             v-model="queryFrom.accountQuality"
             placeholder="请选择账户性质"
@@ -27,7 +27,7 @@
               :value="item.value"
             ></el-option>
           </el-select>
-        </el-form-item>
+        </el-form-item> -->
         <el-form-item label="户名" label-width="95px" prop="invCompanyName">
           <el-input
             v-model="queryFrom.accountName"
@@ -102,12 +102,6 @@
               :label="childItem.label"
               :min-width="childItem.minWidth"
             >
-              <!-- <template slot-scope="scope">
-                {{ scope.row.businessQuality }}
-                <span v-if="scope.row.businessQuality==0">一般纳税</span>
-                <span v-if="scope.row.businessQuality==1">小规模</span>
-                <span v-if="scope.row.businessQuality==2">个体户</span>
-              </template> -->
             </el-table-column>
             <el-table-column
               fixed="right"
@@ -139,11 +133,6 @@
                 >
               </template>
             </el-table-column>
-            <!-- <el-form v-for="(scopeItem,scopeIndex) in scope.row.invAccountCardList" :key="'scope'+scopeIndex" label-position="left" inline class="demo-table-expand">
-            <el-form-item v-for="(childItem,index) in childColums" :key="'child'+index" :label="childItem.label+':'">
-              <span>{{ scopeItem[childItem.prop] }}</span>
-            </el-form-item>
-          </el-form> -->
           </el-table>
         </template>
       </el-table-column>
@@ -197,31 +186,6 @@
       style="float: left; margin-left: 20px; margin-top: 20px"
     >
     </el-pagination>
-    <!-- <kt-common-table
-      :operationWidth="operationWidth"
-      class="ktTable"
-      permsEdit="sys:agent:view"
-      ref="dataTable"
-      :data="pageResult"
-      :columns="columns"
-      :showBatchDelete="false"
-      :showOperation="true"
-      editButtonName="修改"
-      :button3Name="button3Name"
-      :button2Name="button2Name"
-      :button1Name="button1Name"
-      button2Background="#92D050"
-      button3Background="#f56c6c"
-      button1Icon="el-icon-s-finance"
-      button2Icon="el-icon-s-ticket"
-      button3Icon="fa fa-trash"
-      @handleButton3="handleTableDelete"
-      @handleButton2="handleTableIncome"
-      @handleButton1="handleTableExpend"
-      @findPage="findPage"
-      @handleEdit="handleTableEdit"
-      :isshowpagination="true"
-    ></kt-common-table> -->
     <!-- 新增修改弹框 -->
     <expense-component
       ref="expenseComponent"
@@ -230,9 +194,12 @@
       :formDataId="formDataId"
       :title="title"
       :dialogFormVisible="dialogFormVisible"
+      :nature_businessData="nature_businessData"
       @resetForm="resetForm"
       @submitForm="submitForm"
       @setDateInterval="setDateInterval"
+      @addYear="addYear"
+      @removeYear="removeYear"
     ></expense-component>
     <!-- 支出弹框 -->
     <el-dialog
@@ -351,7 +318,11 @@
         <el-row>
           <el-col :span="12">
             <el-form-item label="支付方式" prop="payMethod">
-              <el-select v-model="inComeFormData.payMethod" multiple placeholder="">
+              <el-select
+                v-model="inComeFormData.payMethod"
+                multiple
+                placeholder=""
+              >
                 <el-option
                   v-for="item in payment_methodsData"
                   :key="item.value"
@@ -399,10 +370,9 @@ export default {
     this.business("account_quality"); //账户性质字典;
     this.business("use_funds"); //备注字典
     this.business("payment_methods"); //支付方式字典
+    this.business("nature_business"); //营业性质字典
   },
-  mounted() {
-    // this.findPage();
-  },
+  mounted() {},
   data() {
     return {
       type: 1, //1为账户信息,2为卡信息
@@ -429,7 +399,9 @@ export default {
           { required: true, message: "转账方不能为空", trigger: "change" },
         ],
         remark: [{ required: true, message: "请选择备注", trigger: "change" }],
-        payMethod: [{ required: true, message: "请选择支付方式", trigger: "change" }],
+        payMethod: [
+          { required: true, message: "请选择支付方式", trigger: "change" },
+        ],
       },
       enterCardId: "", //收入id
       /**
@@ -440,9 +412,10 @@ export default {
       dialogFormVisible: false, //弹出框状态
       operationWidth: 200, //操作列宽度
       account_qualityData: [], //账户性质数据字典
+      nature_businessData: [], //营业性质数据字典
       queryFrom: {
         //查询条件
-        accountQuality: "", //账户性质查询
+        // accountQuality: "", //账户性质查询
         bankCardNum: "", //银行卡号查询
         accountName: "", //户名查询
       },
@@ -450,7 +423,6 @@ export default {
       button3Name: "删除",
       button2Name: "收入",
       expendButton1Name: "确认已转账",
-      pageResult: {}, //表格内容分页参数
       formDataId: "", //数据Id
       pageRequest: {
         // 列表查询条件
@@ -650,18 +622,31 @@ export default {
           minWidth: 120,
           sortable: false,
         },
+        {
+          prop: "quarterAmountExcess",
+          label: "季度开票额度",
+          minWidth: 120,
+          sortable: false,
+        },
+        {
+          prop: "sumInvoicingAmount",
+          label: "总开票额度",
+          minWidth: 120,
+          sortable: false,
+        },
       ],
       //账户信息form
       accountFormData: {
         outerFlag: "0", //账户类别
         accountName: "", //户名
-        businessQuality: "0", //营业性质
+        businessQuality: "", //营业性质
         establishTime: "", //成立日期
         invoicingAmount: 0, //开票额度
         // invoicingAmountExcess:0,//剩余开票额度
         juridicalPerson: "", //法人
         owned: "", //所属地
         biller: "", //开票员
+        tentativeEstimates: [{ year: "", value: 0 }], //暂估值
       },
       //账户卡信息form
       accountCardFormData: {
@@ -765,6 +750,14 @@ export default {
     },
   },
   methods: {
+    //暂估新增
+    addYear() {
+      this.accountFormData.tentativeEstimates.push({ year: "", value: 0 });
+    },
+    //暂估删除
+    removeYear() {
+      this.accountFormData.tentativeEstimates.pop();
+    },
     //展开事件
     handleRowChange(e, row) {
       if (row.length > 0) {
@@ -779,8 +772,6 @@ export default {
           this.$message.error("暂无数据");
           this.$refs.account.toggleRowExpansion(e, false);
         }
-      } else {
-        
       }
     },
     // 换页刷新
@@ -804,8 +795,9 @@ export default {
       this.$api.expense.getAccountByAccountName().then((res) => {
         if (res.code == 200) {
           let arr = [];
+          /**获取所有外部用户 */
           let outArr = res.data.filter((item) => item.outerFlag == 1);
-          outArr.forEach((item, index) => {
+          outArr.forEach((item) => {
             if (item.invAccountCardList != null) {
               item.invAccountCardList.forEach((it) => {
                 it.name =
@@ -838,8 +830,8 @@ export default {
       let obj = JSON.parse(JSON.stringify(this.inComeFormData));
       obj.enterCardId = this.enterCardId;
       obj.fundFlow = obj.company + "→" + obj.collectionMessage;
-      obj.payMethod = obj.payMethod.join(',')
-      obj.revenueOutlay = '0'
+      obj.payMethod = obj.payMethod.join(",");
+      obj.revenueOutlay = "0";
       this.$refs.inComeFormData.validate((valid) => {
         if (valid) {
           this.$api.expense.insertAccountOperate(obj).then((res) => {
@@ -955,12 +947,13 @@ export default {
           if (res.code == 200) {
             res.data.records.forEach((element) => {
               //转化营业性质
-              if (element.businessQuality == 0) {
-                element.businessQualityName = "一般纳税";
-              } else if (element.businessQuality == 1) {
-                element.businessQualityName = "小规模";
+              let quality = this.nature_businessData.find(
+                (item) => item.value == element.businessQuality
+              );
+              if (quality != null && quality != "" && quality != undefined) {
+                element.businessQualityName = quality.label;
               } else {
-                element.businessQualityName = "个体户";
+                element.businessQualityName = "";
               }
               element.outerFlagName =
                 element.outerFlag == 0 ? "内部账户" : "外部账户";
@@ -1065,12 +1058,13 @@ export default {
         this.accountFormData = {
           outerFlag: "0", //账户类别
           accountName: "", //户名
-          businessQuality: "0", //营业性质
+          businessQuality: "", //营业性质
           establishTime: "", //成立日期
           invoicingAmount: 0, //开票额度
           // invoicingAmountExcess:0,//剩余开票额度
           juridicalPerson: "", //法人
           owned: "", //所属地
+          tentativeEstimates: [{ year: "", value: 0 }], //暂估值
         };
       } else {
         this.accountCardFormData = {
@@ -1141,13 +1135,26 @@ export default {
     handleTableEdit(row) {
       this.type = 1; //账户类型
       this.formDataId = row.accountId;
-      this.$api.expense.getAccountById(this.formDataId).then((res) => {
-        if (res.code == 200) {
-          this.accountFormData = JSON.parse(JSON.stringify(res.data[0]));
-        } else {
-          this.$message.error(res.msg);
-        }
-      });
+      this.$api.expense
+        .getAccount({ accountId: this.formDataId })
+        .then((res) => {
+          console.log(res);
+          if (res.code == 200) {
+            if (
+              res.data.records[0].tentativeEstimates == null ||
+              res.data.records[0].tentativeEstimates == "" ||
+              res.data.records[0].tentativeEstimates == undefined
+            ) {
+              res.data.records[0].tentativeEstimates = [{ year: "", value: 0 }];
+            }
+            this.accountFormData = JSON.parse(
+              JSON.stringify(res.data.records[0])
+            );
+            console.log(this.accountFormData);
+          } else {
+            this.$message.error(res.msg);
+          }
+        });
       this.title = "编辑账户信息";
       this.dialogFormVisible = true;
     },

+ 54 - 127
src/views/FinancialManagement/ReconciliationSystem/ReceivablePayableCollection/AccountsReceivable.vue

@@ -12,14 +12,35 @@
             <el-form-item label="月份选择:">
               <el-date-picker
                 v-model="mounthTime"
-                type="month"
+                type="months"
                 @change="mounthChange"
                 value-format="yyyy-MM"
-                placeholder="选择月"
+               placeholder="选择一个或多个月"
+                class="widths"
               >
               </el-date-picker>
             </el-form-item>
           </el-col>
+          <el-col :span="6">
+            <el-form-item label="保险公司:">
+              <el-select
+                v-model="insuranceIdlist"
+                filterable
+                class="widths"
+                clearable
+                multiple
+                @change="companySelectChange"
+                collapse-tags
+              >
+                <el-option
+                  v-for="val in companyList"
+                  :key="val.id"
+                  :label="val.name"
+                  :value="val.id"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
           <el-col :span="1">
             <el-button type="primary" size="small" @click="Search"
               >查询</el-button
@@ -67,7 +88,6 @@
       >
       </kt-common-table>
     </el-main>
-
   </div>
 </template>
 <script>
@@ -81,12 +101,8 @@ export default {
   },
   data() {
     return {
-      xlcell: 6,
-      lgcell: 12,
-      mdcell: 12,
-      smcell: 24,
-      xscell: 24,
-      mounthTime:"",
+      value5: "",
+      mounthTime: [],
       //地区编码数据
       areaOptions: regionData,
       regionalCode: [],
@@ -102,39 +118,17 @@ export default {
         payee: "", // 收款人名称
         bank: "", // 收款人开户行
       },
-      accountsRules: {
-        employeeId: [
-          { required: true, message: "请输入工号", trigger: "blur" },
-        ],
-        province: [
-          { required: true, message: "省市区必填", trigger: "change" },
-        ],
-        group: [{ required: true, message: "请输入组", trigger: "blur" }],
-        member: [{ required: true, message: "请输入组员", trigger: "blur" }],
-        account: [
-          { required: true, message: "收款人账户必填", trigger: "blur" },
-        ],
-        payee: [
-          {
-            required: true,
-            message: "收款人必填",
-            trigger: "blur",
-          },
-        ],
-        bank: [{ required: true, message: "开户行必填", trigger: "blur" }],
-      },
       pageRequest: {
         //查询的默认条件
-
+        insuranceId: "", //保险公司
+        yearMonthStr: "",
       },
-      yearMonthStr: "", //组员
-      dateTime: [],
+      insuranceIdlist: [],
       companyList: [],
+      dateTime: [],
       institutionOptions: [],
       dialogVisible: false,
-      monthvalue: "",
-      docOrderid: "",
-      plyNoList: [],
+      companyList: [], //保险公司数据
       // 右侧列表查询数据Start
       pageResult: [],
       columns: [
@@ -150,10 +144,15 @@ export default {
         { prop: "premium", label: "手续费", minWidth: 100 },
         { prop: "nonCopying", label: "车跟单", minWidth: 160 },
         { prop: "totalReceivable", label: "应收合计", minWidth: 160 },
+        { prop: "subsidyAmount", label: "补贴金额", minWidth: 160 },
+        { prop: "totalReceivableAmount", label: "总应收金额", minWidth: 160 },
       ],
+      imcccsw: "",
     };
   },
-  created() {},
+  created() {
+    this.companyInt();
+  },
   mounted() {},
   methods: {
     //省市区
@@ -167,15 +166,27 @@ export default {
     Search() {
       this.findPage();
     },
-    mounthChange(e){
-      this.yearMonthStr=e;
+    companyInt() {
+      this.$api.letter.gainTopList().then((res) => {
+        this.companyList = res.data;
+      });
     },
-      // 右侧列表的方法Start
-      findPage(data) {
+    //
+    companySelectChange(val) {
+      this.pageRequest.insuranceId = val.toString();
+    },
+    mounthChange(e) {
+      this.pageRequest.yearMonthStr = e.toString();
+    },
+    // 右侧列表的方法Start
+    findPage(data) {
       // 获取分页数据
       let that = this;
       that.$api.task
-        .accountsResult(that.yearMonthStr)
+        .accountsResult(
+          that.pageRequest.yearMonthStr,
+          that.pageRequest.insuranceId
+        )
         .then((res) => {
           that.pageResult = res.data;
         })
@@ -219,18 +230,7 @@ export default {
         })
         .catch(() => {});
     },
-    // //导入
-    // writeOffUpload(file) {
-    //   var file = file.raw;
-    //   const params = new FormData(); // 声明formData数据类型
-    //   params.append("multipartFile", file);
-    //   params.append("type", "settle");
-    //   // this.$api.letter.uploadFile(params).then((res) => {
-    //   //   if (res.code == "200") {
-    //   //     this.writeOffRequest.dirid = res.data.id;
-    //   //   }
-    //   // });
-    // },
+
     //导出
     handlePrint() {
       this.$api.task.excelExport(this.pageRequest).then((res) => {
@@ -302,40 +302,6 @@ export default {
         });
     },
     //--数据字典 end --
-
-    exDetails({ row, index }) {
-      let params = {
-        orderNo: row.orderno,
-      };
-      this.$api.task.feeDetail(params).then((res) => {
-        if (res.code == 200) {
-          res.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.orderInfo = res.data;
-          this.quotedetailsdialogVisible = true;
-        } else {
-          this.$message.error("订单获取失败");
-        }
-      });
-    },
     transformTime(date) {
       var d = new Date(date);
       var strYear = d.getFullYear();
@@ -373,45 +339,6 @@ export default {
         Seconds;
       return datetime;
     },
-    toChinesNum(num) {
-      let changeNum = ["零", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
-      let unit = ["", "0", "00", "000", "0000"];
-      num = parseInt(num);
-      let getWan = (temp) => {
-        let strArr = temp.toString().split("").reverse();
-        let newNum = "";
-        let newArr = [];
-        strArr.forEach((item, index) => {
-          newArr.unshift(
-            item === "0" ? changeNum[item] : changeNum[item] + unit[index]
-          );
-        });
-        let numArr = [];
-        newArr.forEach((m, n) => {
-          if (m !== "零") numArr.push(n);
-        });
-        if (newArr.length > 1) {
-          newArr.forEach((m, n) => {
-            if (newArr[newArr.length - 1] === "零") {
-              if (n <= numArr[numArr.length - 1]) {
-                newNum += m;
-              }
-            } else {
-              newNum += m;
-            }
-          });
-        } else {
-          newNum = newArr[0];
-        }
-        return newNum;
-      };
-      let overWan = Math.floor(num / 10000);
-      let noWan = num % 10000;
-      if (noWan.toString().length < 4) {
-        noWan = "0" + noWan;
-      }
-      return overWan ? getWan(overWan) + "万" + getWan(noWan) : getWan(num);
-    },
     lastMonth() {
       // 获取当前日期
       var currentDate = new Date();

+ 32 - 1
src/views/FinancialManagement/ReconciliationSystem/ReceivablePayableCollection/ChannelAccount.vue

@@ -40,6 +40,22 @@
               ></el-input>
             </el-form-item>
           </el-col>
+          <el-col
+            :xs="xscell"
+            :sm="smcell"
+            :md="mdcell"
+            :lg="lgcell"
+            :xl="xlcell"
+          >
+            <el-form-item label="渠道名称:">
+              <el-input
+                v-model="pageRequest.channelName"
+                placeholder="请输入渠道名称"
+                class="widths"
+                clearable
+              ></el-input>
+            </el-form-item>
+          </el-col>
           <el-col
             :xs="xscell"
             :sm="smcell"
@@ -128,7 +144,16 @@
             type="text"
             v-model="accountsRequest.member"
             autocomplete="off"
-            placeholder="输入姓名"
+            placeholder="输入组员"
+            class="widths"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="渠道名称:" prop="channelName">
+          <el-input
+            type="text"
+            v-model="accountsRequest.channelName"
+            autocomplete="off"
+            placeholder="输入渠道名称"
             class="widths"
           ></el-input>
         </el-form-item>
@@ -192,6 +217,7 @@ export default {
       regionalCode: [],
       accountsRequest: {
         //录入信息
+        channelName:"",
         employeeId: "", //工号
         province: "", //省
         city: "", //市
@@ -206,6 +232,9 @@ export default {
         employeeId: [
           { required: true, message: "请输入工号", trigger: "blur" },
         ],
+        channelName: [
+          { required: true, message: "请输入渠道", trigger: "blur" },
+        ],
         province: [
           { required: true, message: "省市区必填", trigger: "change" },
         ],
@@ -227,6 +256,7 @@ export default {
         //查询的默认条件
         member: "", //组员
         payee: "", // 收款人名称
+        channelName:"",
         pageNum: 1,
         pageSize: 20,
       },
@@ -248,6 +278,7 @@ export default {
         { prop: "county", label: "县级市", minWidth: 160 },
         { prop: "group", label: "组", minWidth: 160 },
         { prop: "member", label: "组员", minWidth: 160 },
+        { prop: "channelName", label: "渠道名称", minWidth: 100 },
         { prop: "account", label: "收款人账户", minWidth: 100 },
         { prop: "payee", label: "收款人名称", minWidth: 160 },
         { prop: "bank", label: "收款人开户行", minWidth: 160 },

+ 398 - 0
src/views/FinancialManagement/ReconciliationSystem/ReceivablePayableCollection/ReceivablePayableCollection.vue

@@ -0,0 +1,398 @@
+<template>
+  <div>
+    <div class="p-2">
+      <el-form
+        :inline="true"
+        :model="pageRequest"
+        size="small"
+        label-width="120px"
+      >
+        <el-row>
+          <el-col :span="6">
+            <el-form-item label="渠道">
+              <el-input
+                v-model="pageRequest.channel"
+                placeholder="请输入渠道"
+                class="widths"
+                clearable
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="渠道分类">
+              <el-input
+                v-model="pageRequest.channelClassification"
+                placeholder="请输入渠道分类"
+                class="widths"
+                clearable
+              ></el-input>
+            </el-form-item>
+          </el-col>
+
+          <el-col :span="6">
+            <el-form-item label="被保人">
+              <el-input
+                v-model="pageRequest.insuredName"
+                placeholder="请输入被保人"
+                class="widths"
+                clearable
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="车牌号">
+              <el-input
+                v-model="pageRequest.licenseNo"
+                placeholder="请输入车牌号"
+                class="widths"
+                clearable
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="运营团队">
+              <el-input
+                v-model="pageRequest.operationsTeam"
+                placeholder="请输入运营团队"
+                class="widths"
+                clearable
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="结算状态">
+              <el-select v-model="pageRequest.clearingState" placeholder="请选择状态" class="widths">
+                <el-option label="未结算" value="0"></el-option>
+                <el-option label="已结算" value="1"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="保险公司">
+              <el-select
+                v-model="pageRequest.insuranceId"
+                filterable
+                class="widths"
+                clearable
+              >
+                <el-option
+                  v-for="val in companyList"
+                  :key="val.id"
+                  :label="val.name"
+                  :value="val.id"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="代理结算日期">
+              <el-date-picker
+                v-model="clearingTime"
+                type="daterange"
+                @change="clearingTimeChange"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
+                class="widths"
+                value-format="yyyy-MM-dd"
+                style="width: 220px"
+                clearable
+              >
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="签单日期">
+              <el-date-picker
+                v-model="signDateTime"
+                type="daterange"
+                @change="signDateTimeChange"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
+                class="widths"
+                value-format="yyyy-MM-dd"
+                style="width: 220px"
+                clearable
+              >
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <div class="flex j-end" style="margin-right: 100px">
+        <el-button
+          type="primary"
+          size="small"
+          @click="Search"
+          style="margin-right: 20px"
+          >查询</el-button
+        >
+        <el-upload
+          class="upload-demo"
+          :auto-upload="false"
+          :on-change="writeOffUpload"
+          action="###"
+          :show-file-list="false"
+        >
+          <el-button size="small" type="primary">数据导入</el-button>
+        </el-upload>
+      </div>
+    </div>
+    <el-main ref="elMain" style="padding: 0px">
+      <kt-common-table
+        :SerialShow="false"
+        :operationWidth="150"
+        :showOperation="false"
+        permsDelete="sys:user:delete"
+        :showBatchDelete="false"
+        :showBatchSettled="false"
+        :showBatchPrint="false"
+        permsButton1="sys:user:edit"
+        permsButton2="sys:user:edit"
+        permsButton3="sys:user:edit"
+        :data="pageResult"
+        :columns="columns"
+        @findPage="findPage"
+        keyName="policyno"
+        settledName="批量生成"
+        @handleSettled="handleTableSettled"
+        @handlePrint="handlePrint"
+      >
+      </kt-common-table>
+    </el-main>
+  </div>
+</template>
+<script>
+import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
+import CommonUtil from "@/utils/comutil.js";
+export default {
+  components: {
+    KtCommonTable,
+  },
+  data() {
+    return {
+      clearingTime: [],
+      signDateTime: [],
+      pageRequest: {
+        //查询的默认条件
+        pageNum: 1,
+        pageSize: 20,
+        agencySettlementTimeStartTime: "", //代理时间
+        agencySettlementTimeEndTime: "",
+        signDateStartTime: "", //签约时间
+        signDateEndTime: "",
+        channel: "", //渠道
+        channelClassification: "", //渠道分类
+        clearingState: "", //结算状态
+        insuranceDeptId:"",//
+        insuranceId: "", //保险公司
+        insuredName: "",
+        licenseNo: "",
+        operationsTeam: "",
+      },
+      // 右侧列表查询数据Start
+      pageResult: [],
+      columns: [
+        //数据列
+        { prop: "operationsTeam", label: "运营团队", minWidth: 160 },
+        { prop: "channelClassification", label: "渠道分类", minWidth: 160 },
+        { prop: "signDate", label: "签约日期", minWidth: 160 },
+        { prop: "channel", label: "渠道", minWidth: 100 },
+        { prop: "licenseNo", label: "车牌号", minWidth: 160 },
+        { prop: "insuredName", label: "被保险人", minWidth: 160 },
+        { prop: "insuranceId", label: "保险id", minWidth: 160 },
+        { prop: "insuranceCompany", label: "保险公司", minWidth: 160 },
+        { prop: "insuranceDeptId", label: "部门id", minWidth: 160 },
+        { prop: "insuranceDept", label: "保险部门", minWidth: 160 },
+        { prop: "insuranceType", label: "险种", minWidth: 160 },
+        { prop: "businessOwner", label: "业务所有者", minWidth: 160 },
+        { prop: "jqPolicyId", label: "交强保单号", minWidth: 160 },
+        { prop: "jqPremiumTax", label: "交强险税额", minWidth: 160 },
+        { prop: "jqPremium", label: "交强险保费", minWidth: 160 },
+        { prop: "syPolicyId", label: "商业保单号", minWidth: 160 },
+        { prop: "syPremiumTax", label: "商业险税额", minWidth: 160 },
+        { prop: "syPremium", label: "商业险保费", minWidth: 160 },
+        { prop: "nonCarPolicyId", label: "非车保单号", minWidth: 160 },
+        { prop: "nonCarPremiumTax", label: "非车险税额", minWidth: 160 },
+        { prop: "nonCarPremium", label: "非车险保费", minWidth: 160 },
+        { prop: "agencySettlementTime", label: "代理结算时间", minWidth: 160 },
+        { prop: "taxAmount", label: "税额", minWidth: 160 },
+        { prop: "jqReceivableRatio", label: "交强险应收比例", minWidth: 160 },
+        { prop: "jqPremiumRatio", label: "交强险保费比例", minWidth: 160 },
+        { prop: "jqNonCopyingRatio", label: "交强险非复制比例", minWidth: 160 },
+        { prop: "syReceivableRatio", label: "商业险应收比例", minWidth: 160 },
+        { prop: "syPremiumRatio", label: "商业险保费比例", minWidth: 160 },
+        { prop: "syNonCopyingRatio", label: "商业险非复制比例", minWidth: 160 },
+        {
+          prop: "nonCarReceivableRatio",
+          label: "非车险应收比例",
+          minWidth: 160,
+        },
+        { prop: "nonCarPremiumRatio", label: "非车险保费比例", minWidth: 160 },
+        {
+          prop: "nonCarNonCopyingRatio",
+          label: "非车险非复制比例",
+          minWidth: 160,
+        },
+        { prop: "premium", label: "手续费金额", minWidth: 160 },
+        { prop: "nonCopying", label: "非跟单金额", minWidth: 160 },
+        { prop: "receivable", label: "应收", minWidth: 160 },
+        { prop: "subsidyRatio", label: "补贴比例", minWidth: 160 },
+        { prop: "subsidyAmount", label: "补贴金额", minWidth: 160 },
+        {
+          prop: "maxJqReceivableRatio",
+          label: "最大交强险应收比例",
+          minWidth: 160,
+        },
+        {
+          prop: "maxSyReceivableRatio",
+          label: "最大商业险应收比例",
+          minWidth: 160,
+        },
+        {
+          prop: "maxNonCarReceivableRatio",
+          label: "最大非车险应收比例",
+          minWidth: 160,
+        },
+        { prop: "clearingState", label: "结算状态", minWidth: 160 },
+      ],
+      row: {},
+      companyList: [],
+    };
+  },
+  created() {
+    this.companyInt();
+  },
+  mounted() {},
+  methods: {
+    clearingTimeChange(e) {
+      this.pageRequest.agencySettlementTimeStartTime = e[0];
+      this.pageRequest.agencySettlementTimeEndTime = e[1];
+    },
+    signDateTimeChange(e) {
+      this.pageRequest.signDateStartTime = e[0];
+      this.pageRequest.signDateEndTime = e[1];
+    },
+    //保险公司查询
+    companyInt() {
+      this.$api.letter.gainTopList().then((res) => {
+        this.companyList = res.data;
+      });
+    },
+    //附件上传
+    writeOffUpload(file) {
+      var file = file.raw;
+      const params = new FormData(); // 声明formData数据类型
+      params.append("multipartFile", file);
+      params.append("type", "settle");
+      this.$api.letter.uploadFile(params).then((res) => {
+        if (res.code == "200") {
+          let url = process.env.BASE_URL + res.data.url;
+          this.$api.task.SourceExcel(url).then((res) => {
+            if (res.code == "200") {
+              this.$message({
+                type: "success",
+                message: res.msg,
+              });
+            } else {
+              this.$message({
+                type: "error",
+                message: res.msg,
+              });
+            }
+          });
+        }
+      });
+    },
+    handleTableSettled(ids) {
+      this.plyNoList = ids;
+      this.dialogVisible11 = true;
+    },
+    Search() {
+      this.findPage();
+    },
+    sourceUpdate({ row, column }) {
+      this.dialogFormVisible = true;
+      this.updateform = row;
+    },
+    updateSubmit() {
+      this.$api.task.SourceUpdate(this.updateform).then((res) => {
+        if (res.code == "200") {
+          this.$message({
+            type: "success",
+            message: res.msg,
+          });
+          this.dialogFormVisible = false;
+          this.findPage();
+        } else {
+          this.$message({
+            type: "error",
+            message: res.msg,
+          });
+        }
+      });
+    },
+    handlePrint() {
+      this.$api.task.excelExport(this.pageRequest).then((res) => {
+        console.log(res);
+        let blob = new Blob([res], {
+          type: "application/vnd.ms-excel",
+        }); // 2.获取请求返回的response对象中的blob 设置文件类型,这里以excel为例
+        let url = window.URL.createObjectURL(blob); // 3.创建一个临时的url指向blob对象
+        // 4.创建url之后可以模拟对此文件对象的一系列操作,例如:预览、下载
+        let a = document.createElement("a");
+        a.href = url;
+        a.download = "手续费管理清单.xlsx";
+        a.click();
+        // 5.释放这个临时的对象url
+        window.URL.revokeObjectURL(url);
+      });
+    },
+    //联级选择器触发事件
+    handleChange(val) {
+      console.log(val);
+      if (val.length !== 0) {
+        this.pageRequest.deptId = val.at(-1);
+      } else {
+        this.pageRequest.deptId = "";
+      }
+    },
+    //-- formatter begin--
+    //点击查询按钮
+    //--数据字典 begin --
+    getDictItems: function (typeName) {
+      let that = this;
+      that.$api.dict
+        .findByLableName(typeName)
+        .then(function (res) {
+          console.log(res);
+          that[typeName + "options"] = res.data; // 把获取到的数据赋给this.data
+        })
+        .catch(function (error) {
+          that[typeName + "options"] = [];
+        });
+    },
+    //--数据字典 end --
+    // 右侧列表的方法Start
+    findPage(data) {
+      // 获取分页数据
+      let that = this;
+      if (data && data.pageRequest) {
+        this.pageRequest.pageNum = data.pageRequest.pageNum;
+        this.pageRequest.pageSize = data.pageRequest.pageSize;
+      }
+      that.$api.task
+        .receivableAndSettlement(that.pageRequest)
+        .then((res) => {
+          that.pageResult = res.data;
+        })
+        .then(data != null ? data.callback : "");
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.widths {
+  width: 220px;
+}
+</style>
+

+ 157 - 66
src/views/FinancialManagement/ReconciliationSystem/ReceivablePayableCollection/SettlementCollect.vue

@@ -4,94 +4,188 @@
       <el-form
         :inline="true"
         size="small"
-        :model="formInline"
+        :model="pageRequest"
         class="demo-form-inline"
       >
-        <el-form-item label="选择份:">
+        <el-form-item label="选择份:">
           <el-date-picker
-            v-model="formInline.monthValue"
-            type="year"
-            value-format="yyyy"
-            placeholder="选择"
+            v-model="pageRequest.monthValue"
+            type="month"
+            value-format="yyyy-MM"
+            placeholder="选择"
           >
           </el-date-picker>
         </el-form-item>
+        <el-form-item label="保险公司:">
+          <el-select
+            v-model="insuranceIdlist"
+            filterable
+            class="widths"
+            clearable
+            @change="companySelectChange"
+            collapse-tags
+          >
+            <el-option
+              v-for="val in companyList"
+              :key="val.id"
+              :label="val.name"
+              :value="val.id"
+            ></el-option>
+          </el-select>
+        </el-form-item>
         <el-form-item>
           <el-button type="primary" @click="formQuery">查询</el-button>
         </el-form-item>
       </el-form>
     </div>
-
     <el-main ref="elMain" style="padding: 0px">
-      <kt-common-table
-        :SerialShow="false"
-        :operationWidth="150"
-        :showOperation="false"
-        permsDelete="sys:user:delete"
-        :showBatchDelete="false"
-        :showBatchSettled="false"
-        :showBatchPrint="false"
-        permsButton1="sys:user:edit"
-        permsButton2="sys:user:edit"
-        permsButton3="sys:user:edit"
+      <el-table
         :data="pageResult"
-        :columns="columns"
-        @findPage="findPage"
-        keyName="policyno"
-        settledName="批量生成"
-        @handleSettled="handleTableSettled"
+        size="small"
+        stripe
+        height="700"
+        :header-cell-style="{
+          background: '#F2F7FC',
+          fontWeight: '900',
+          color: '#606266',
+        }"
       >
-      </kt-common-table>
+        <el-table-column
+          prop="signDate"
+          label="签单日期"
+          header-align="center"
+          align="center"
+          width="150"
+        ></el-table-column>
+        <el-table-column label="总计" header-align="center">
+          <el-table-column
+            prop="signPremium"
+            label="签单保费"
+            header-align="center"
+            width="100"
+            align="center"
+          ></el-table-column>
+          <el-table-column
+            prop="signReceivableAmount"
+            label="总应收金额"
+            header-align="center"
+            width="100"
+            align="center"
+          ></el-table-column>
+        </el-table-column>
+        <el-table-column label="已结算" header-align="center">
+          <el-table-column
+            v-for="(item,index) in settlementColumns"
+            :key=" index"
+            :label="item.settlementDate"
+            header-align="center"
+          >
+            <el-table-column
+              label="签单保费"
+              header-align="center"
+              width="100"
+              align="center"
+            >
+              <template slot-scope="scope">
+                <div>
+                  {{ scope.row.settlementData[index].agentCommission}}
+                </div>
+              </template>
+            </el-table-column>
+            <el-table-column
+              label="代理人佣金"
+              header-align="center"
+              width="100"
+              align="center"
+            >
+              <template slot-scope="scope">
+                <div>
+                  {{ scope.row.settlementData[index].settlementPremium }}
+                </div>
+              </template>
+            </el-table-column>
+          </el-table-column>
+        </el-table-column>
+        <el-table-column label="未结算预计" header-align="center">
+          <el-table-column
+            prop="unCalculatedAmount"
+            label="签单保费"
+            header-align="center"
+            width="100"
+            align="center"
+          ></el-table-column>
+          <el-table-column
+            prop="agentAmount"
+            label="代理人佣金"
+            header-align="center"
+            width="100"
+            align="center"
+          ></el-table-column>
+        </el-table-column>
+        <el-table-column label="利润" header-align="center">
+          <el-table-column
+            prop="settledProfit"
+            label="已结算利润"
+            header-align="center"
+            width="100"
+            align="center"
+          ></el-table-column>
+          <el-table-column
+            prop="unsettledProfitCalculation"
+            label="未结算利润测算"
+            header-align="center"
+            width="150"
+            align="center"
+          ></el-table-column>
+        </el-table-column>
+        <!-- 使用v-for动态生成每个月的结算数据列 -->
+      </el-table>
     </el-main>
   </div>
 </template>
 <script>
-import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
 import CommonUtil from "@/utils/comutil.js";
 export default {
-  components: {
-    KtCommonTable,
-  },
   data() {
     return {
       //地区编码数据
       regionalCode: [],
-      formInline: {
-        monthValue: "",
-      },
+      insuranceIdlist: [],
+      companyList: [],
       pageRequest: {
         //查询的默认条件
+        monthValue: "",
+        insuranceId: "",
       },
       dateTime: [],
-      companyList: [],
       institutionOptions: [],
       dialogVisible: false,
       docOrderid: "",
       plyNoList: [],
       // 右侧列表查询数据Start
       pageResult: [],
-      columns: [
-        //数据列
-        { prop: "yearmonth", label: "结算日期", minWidth: 160 },
-        { prop: "jqPremiumTax", label: "交强保费", minWidth: 160 },
-        { prop: "syPremiumTax", label: "商业保费", minWidth: 160 },
-        { prop: "nonCarPremiumTax", label: "非车保费", minWidth: 160 },
-        { prop: "writtenPremium", label: "签单保费", minWidth: 160 },
-        { prop: "settlementAmount", label: "应收金额", minWidth: 160 },
-      ],
+      settlementColumns: [], //数据列标题
     };
   },
-  created() {},
+  created() {
+    this.companyInt();
+  },
   mounted() {
-    this.formInline.monthValue=this.monthProcess();
+
   },
   methods: {
+    //查询
     formQuery() {
-      this.$api.settlement
-        .settlementSourceResult(this.formInline.monthValue)
-        .then((res) => {
-          this.pageResult = res.data;
-        });
+      this.findPage();
+    },
+    //保险公司查询
+    companyInt() {
+      this.$api.letter.gainTopList().then((res) => {
+        this.companyList = res.data;
+      });
+    },
+    companySelectChange(val) {
+      this.pageRequest.insuranceId = val.toString();
     },
     handleTableSettled(ids) {
       this.plyNoList = ids;
@@ -134,31 +228,28 @@ export default {
     //--数据字典 end --
     // 右侧列表的方法Start
     findPage(data) {
-      let year=this.monthProcess();
       // 获取分页数据
       let that = this;
       that.$api.task
-        .settlementSourceResult(year)
+        .settlementSourceResult(
+          this.pageRequest.monthValue,
+          this.pageRequest.insuranceId
+        )
         .then((res) => {
-          that.pageResult = res.data;
+          if (res.code == "200") {
+            that.pageResult = res.data.content;
+            if (res.data.content.length > 0) {
+              this.settlementColumns = res.data.content[0].settlementData;
+            }
+          } else {
+            this.$message({
+              type: "error",
+              message: res.msg,
+            });
+          }
         })
         .then(data != null ? data.callback : "");
     },
-    monthProcess() {
-      // 创建一个新的Date对象,默认构造函数会生成当前日期和时间
-      const now = new Date();
-      // 获取当前年份
-      const year = now.getFullYear();
-
-      // // 获取当前月份,加1得到常规表示的月份
-      // const month = now.getMonth() + 1;
-
-      // // 转换月份为两位数字符串
-      // const formattedMonth = month.toString().padStart(2, "0");
-
-      // // 合并年份和月份为"年-月"格式
-      return `${year}`;
-    },
   },
 };
 </script>

+ 61 - 2
src/views/FinancialManagement/ReconciliationSystem/ReceivablePayableCollection/SettlementSource.vue

@@ -18,6 +18,49 @@
               ></el-input>
             </el-form-item>
           </el-col>
+          <el-col :span="6">
+            <el-form-item label="险种">
+              <el-input
+                v-model="pageRequest.insuranceType"
+                placeholder="请输入车牌号"
+                class="widths"
+                clearable
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="保险公司">
+              <el-select
+                v-model="pageRequest.insuranceId"
+                filterable
+                class="widths"
+                clearable
+              >
+                <el-option
+                  v-for="val in companyList"
+                  :key="val.id"
+                  :label="val.name"
+                  :value="val.id"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="签单日期">
+              <el-date-picker
+                v-model="signDateTime"
+                type="daterange"
+                @change="signDateChange"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
+                class="widths"
+                value-format="yyyy-MM-dd"
+                style="width: 220px"
+                clearable
+              >
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
           <el-col :span="6">
             <el-form-item label="交强保单号:">
               <el-input
@@ -31,7 +74,7 @@
           <el-col :span="6">
             <el-form-item label="商业保单号:">
               <el-input
-                v-model="pageRequest.jqPolicyId"
+                v-model="pageRequest.syPolicyId"
                 placeholder="请输入商业保单号"
                 class="widths"
                 clearable
@@ -202,11 +245,15 @@ export default {
   },
   data() {
     return {
+      signDateTime: [],
       pageRequest: {
         //查询的默认条件
         pageNum: 1,
         pageSize: 20,
         licenseno: "",
+        insuranceType: "",
+        insuranceId: "",
+        signDate: "",
         jqPolicyId: "",
         syPolicyId: "",
         nonCarPolicyId: "",
@@ -257,11 +304,23 @@ export default {
         { prop: "settlementAmount", label: "结算金额", minWidth: 160 },
         { prop: "agencySettlementTime", label: "代理结算时间", minWidth: 160 },
       ],
+      companyList: [],
     };
   },
-  created() {},
+  created() {
+    this.companyInt();
+  },
   mounted() {},
   methods: {
+    signDateChange(e) {
+      this.pageRequest.signDate = e.toString();
+    },
+    //保险公司查询
+    companyInt() {
+      this.$api.letter.gainTopList().then((res) => {
+        this.companyList = res.data;
+      });
+    },
     //附件上传
     writeOffUpload(file) {
       var file = file.raw;

+ 104 - 11
src/views/FinancialManagement/ReconciliationSystem/ReceivablePayableCollection/Source.vue

@@ -9,7 +9,7 @@
       >
         <el-row>
           <el-col :span="6">
-            <el-form-item label="车牌号">
+            <el-form-item label="车牌号">
               <el-input
                 v-model="pageRequest.licenseno"
                 placeholder="请输入车牌号"
@@ -19,7 +19,44 @@
             </el-form-item>
           </el-col>
           <el-col :span="6">
-            <el-form-item label="交强保单号:">
+            <el-form-item label="险种">
+              <el-input
+                v-model="pageRequest.risk"
+                placeholder="请输入险种"
+                class="widths"
+                clearable
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="保险公司">
+              <el-select
+                v-model="pageRequest.insuranceId"
+                filterable
+                class="widths"
+                clearable
+              >
+                <el-option
+                  v-for="val in companyList"
+                  :key="val.id"
+                  :label="val.name"
+                  :value="val.id"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="被保险人">
+              <el-input
+                v-model="pageRequest.insuredName"
+                placeholder="请输入被保险人"
+                class="widths"
+                clearable
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="交强保单号">
               <el-input
                 v-model="pageRequest.jqPolicyId"
                 placeholder="请输入交强保单号"
@@ -29,9 +66,9 @@
             </el-form-item>
           </el-col>
           <el-col :span="6">
-            <el-form-item label="商业保单号">
+            <el-form-item label="商业保单号">
               <el-input
-                v-model="pageRequest.jqPolicyId"
+                v-model="pageRequest.syPolicyId"
                 placeholder="请输入商业保单号"
                 class="widths"
                 clearable
@@ -39,7 +76,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="6">
-            <el-form-item label="非车保单号">
+            <el-form-item label="非车保单号">
               <el-input
                 v-model="pageRequest.nonCarPolicyId"
                 placeholder="请输入非车保单号"
@@ -48,6 +85,38 @@
               ></el-input>
             </el-form-item>
           </el-col>
+          <el-col :span="6">
+            <el-form-item label="结算日期">
+              <el-date-picker
+                v-model="clearingTime"
+                type="daterange"
+                @change="clearingTimeChange"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
+                class="widths"
+                value-format="yyyy-MM-dd"
+                style="width: 220px"
+                clearable
+              >
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="出单日期">
+              <el-date-picker
+                v-model="signingTime"
+                type="daterange"
+                @change="signingTimeChange"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
+                class="widths"
+                value-format="yyyy-MM-dd"
+                style="width: 220px"
+                clearable
+              >
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
         </el-row>
       </el-form>
       <div class="flex j-end" style="margin-right: 100px">
@@ -186,14 +255,21 @@ export default {
   },
   data() {
     return {
+      clearingTime:[],
+      signingTime:[],
       pageRequest: {
         //查询的默认条件
         pageNum: 1,
         pageSize: 20,
-        licenseno: "",
-        jqPolicyId: "",
-        syPolicyId: "",
-        nonCarPolicyId: "",
+        licenseno: "", //车牌号
+        risk: "", //险种
+        insuranceId: "", //保险公司
+        insuredName: "", //被保险人
+        clearingTime: "", //结算日期
+        signingTime: "", //出单日期
+        jqPolicyId: "", //交强保单号
+        syPolicyId: "", //商业保单号
+        nonCarPolicyId: "", //非车保单号
       },
       dialogFormVisible: false,
       // 右侧列表查询数据Start
@@ -216,7 +292,7 @@ export default {
         { prop: "insuranceName", label: "保司名称", minWidth: 160 },
         { prop: "insuranceDept", label: "保司机构", minWidth: 160 },
         { prop: "insuranceDeptId", label: "保司机构代码", minWidth: 100 },
-        { prop: "risk", label: "险种", minWidth: 160, editable: true },
+        { prop: "risk", label: "险种", minWidth: 160 },
         { prop: "jqPolicyId", label: "交强保单号", minWidth: 160 },
         { prop: "jqPremiumTax", label: "交强险保费", minWidth: 160 },
         {
@@ -270,11 +346,28 @@ export default {
         { prop: "clearingState", label: "结算状态", minWidth: 160 },
       ],
       row: {},
+      companyList:[],
     };
   },
-  created() {},
+  created() {
+    this.companyInt();
+  },
   mounted() {},
   methods: {
+    clearingTimeChange(e){
+      console.log(e)
+      this.pageRequest.clearingTime=e.toString();
+    },
+    signingTimeChange(e){
+      this.pageRequest.signingTime=e.toString();
+
+    },
+    //保险公司查询
+    companyInt() {
+      this.$api.letter.gainTopList().then((res) => {
+        this.companyList = res.data;
+      });
+    },
     //附件上传
     writeOffUpload(file) {
       var file = file.raw;

+ 1 - 1
src/views/HeadBar/HeadBar.vue

@@ -349,7 +349,7 @@ export default {
 }
 
 .position-left {
-  left: 200px;
+  left: 220px;
 }
 
 .position-collapse-left {

+ 2 - 2
src/views/MainContent/MainContent.vue

@@ -151,9 +151,9 @@ export default {
   }
 }
 .position-left {
-  left: 200px;
+  left: 220px;
 }
 .position-collapse-left {
   left: 65px;
 }
-</style>
+</style>

+ 33 - 8
src/views/NavBar/NavBar.vue

@@ -2,15 +2,15 @@
   <div class="menu-bar-container">
     <!-- logo -->
     <div
-      class="logo"
+      class="logo flex a-c j-c"
       :style="{'background-color':themeColor}"
       :class="collapse?'menu-bar-collapse-width':'menu-bar-width'"
       @click="$router.push('/')"
     >
       <img v-if="collapse" src="@/assets/image/logo.png" />
-      <div v-if="!collapse">
-        {{appName}}
+      <div v-if="!collapse" class="flex j-c a-c">
         <img src="@/assets/image/logo.png" />
+        <span>{{appName}}</span>
       </div>
     </div>
     <!-- 导航菜单 -->
@@ -33,7 +33,6 @@
     </el-menu>
   </div>
 </template>
-
 <script>
 import { mapState } from "vuex";
 import MenuTree from "@/components/MenuTree";
@@ -118,7 +117,7 @@ data(){
     bottom: 0px;
     text-align: left;
   }
-  
+
   .logo {
     position: absolute;
     top: 0px;
@@ -130,22 +129,48 @@ data(){
       width: 40px;
       height: 40px;
       border-radius: 0px;
-      margin: 10px 10px 10px 10px;
+      margin-right: 10px;
       float: left;
     }
     div {
       font-size: 25px;
       color: white;
       text-align: left;
-      padding-left: 20px;
     }
   }
 
   .menu-bar-width {
-    width: 200px;
+    width: 220px;
+    overflow-y: auto;
   }
   .menu-bar-collapse-width {
     width: 65px;
   }
+  /* 滚动条的整体部分,可自定义宽度、颜色等 */
+  .menu-bar-width::-webkit-scrollbar {
+  width: 10px; /* 或者更宽 */
+  background-color: #f9f9fd; /* 滚动条的背景色 */
+}
+/* 滚动条上的“滑块” */
+.menu-bar-width::-webkit-scrollbar-thumb {
+  border-radius: 6px; /* 圆角 */
+  background-color: #d1d1e0; /* 滑块的背景色 */
+  border: 3px solid #f9f9fd; /* 滑块边框 */
+}
+/* 滚动条上的“滑道” */
+.menu-bar-width::-webkit-scrollbar-track {
+  border-radius: 6px; /* 圆角 */
+  box-shadow: inset 0 0 6px rgba(0,0,0,0.3); /* 滑道的阴影效果 */
+}
+/* 当鼠标悬停在滚动条上时,改变滑块的颜色 */
+.menu-bar-width::-webkit-scrollbar-thumb:hover {
+  background-color: #a0a0a5;
 }
+
+/* 当滚动条在点击状态时,改变滑块的颜色 */
+.menu-bar-width::-webkit-scrollbar-thumb:active {
+  background-color: #888;
+}
+}
+
 </style>

+ 7 - 7
src/views/Sys/Deptall.vue

@@ -761,7 +761,7 @@ export default {
         });
       }
       let that = this;
-      
+
       that.operType = "EDIT";
       if (data.deptType == "C") {
         //编辑机构
@@ -777,7 +777,7 @@ export default {
             this.transitionFun('province',that.dataForm.province)
             this.transitionFun('city',that.dataForm.city)
             this.transitionFun('area',that.dataForm.area)
-           
+
             let cityArr = that.provinces.filter(item=>{
               return that.dataForm.province == item.areaCode
             })
@@ -834,9 +834,9 @@ export default {
           that.$message({
             type: 'info',
             message: '已取消删除'
-          });          
+          });
         });
-    
+
     },
     handleDeleteFlag(data) {
       let that = this;
@@ -879,7 +879,7 @@ export default {
       let that = this;
       this.$refs["dataForm"].validate((valid) => {
         if (valid) {
-          this.dataForm.orderNum = 1;
+          // this.dataForm.orderNum = 1;
           let params = Object.assign({}, this.dataForm);
           if (that.operType === "ADD" || that.operType === "ADDC") {
             let paramData = {
@@ -1024,7 +1024,7 @@ export default {
         area: false,
       };
     },
-  
+
     //关闭部门弹框
     closeDeptDialog() {
       // this.$refs.deptDataForm.resetFields();
@@ -1039,7 +1039,7 @@ export default {
         if(!objName){ //当级别大于3时需先赋值在清空对应校验规则
           this.dataRule[key] = []
         }
-        if(objName!=key){ 
+        if(objName!=key){
           delete this.dataRule[key] //删除其他两个校验规则
           this.disabledAddress[key] = false; //设置其他选择框不可点击
         }else{