Bläddra i källkod

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

lihongxiao 2 år sedan
förälder
incheckning
c61804a04d

+ 6 - 0
src/http/moudules/finance/settlement.js

@@ -57,5 +57,11 @@ export const WriteOffDetails = (data) => {
   })
 }
 
+export const filesdownload = (data) => {
+  return axios({
+    url: '/sys/files/'+data,
+    method: "get",
+  })
+}
 
 

+ 63 - 19
src/views/FinancialManagement/CarInsurance/CompanySettlement/DocGenerate.vue

@@ -63,7 +63,8 @@
           >
             <el-form-item label="出单时间:">
               <el-date-picker
-                class="widths" style="width: 220px;"
+                class="widths"
+                style="width: 220px"
                 v-model="dateTime"
                 type="daterange"
                 @change="DateChange"
@@ -109,8 +110,16 @@
       >
       </kt-common-table>
     </el-main>
-    <el-dialog :visible.sync="dialogVisible" width="30%" class="saomazhifucodeClass">
-      <el-result icon="success" title="生成成功" :subTitle="'结算单号:'+docOrderid">
+    <el-dialog
+      :visible.sync="dialogVisible"
+      width="30%"
+      class="saomazhifucodeClass"
+    >
+      <el-result
+        icon="success"
+        title="生成成功"
+        :subTitle="'结算单号:' + docOrderid"
+      >
       </el-result>
     </el-dialog>
   </div>
@@ -140,11 +149,11 @@ export default {
         startDate: "",
         endDate: "",
       },
-      dateTime: "",
+      dateTime: [],
       companyList: [],
       institutionOptions: [],
       dialogVisible: false,
-      docOrderid:"",
+      docOrderid: "",
       // 右侧列表查询数据Start
       pageResult: [],
       columns: [
@@ -162,7 +171,12 @@ export default {
         },
         { prop: "agreementId", label: "协议号", minWidth: 160 },
         { prop: "licenseno", label: "车牌号", minWidth: 160 },
-        { prop: "payDate", label: "出单日期", minWidth: 160 , formatter: this.timeFormatter,},
+        {
+          prop: "payDate",
+          label: "出单日期",
+          minWidth: 160,
+          formatter: this.timeFormatter,
+        },
         { prop: "taxamount", label: "车船税", minWidth: 160 },
         { prop: "noTaxPremium", label: "不含税保费", minWidth: 160 },
         { prop: "commissionFeerate", label: "手续费费用比例", minWidth: 160 },
@@ -175,6 +189,10 @@ export default {
     };
   },
   created() {
+    let monthtime=this.lastMonth();
+    this.pageRequest.startDate=monthtime[0];
+    this.pageRequest.endDate=monthtime[1];
+    this.dateTime=monthtime;
     this.companyquery(); //公司数据
     this.deptQuery(); //机构数据
   },
@@ -185,7 +203,7 @@ export default {
       this.$api.settlement
         .iscompanyTosettledQuery(this.pageRequest)
         .then((res) => {
-          if (res.code=='200') {
+          if (res.code == "200") {
             this.pageResult = res.data;
           } else {
             this.$message({
@@ -331,15 +349,41 @@ export default {
       return datetime;
     },
     handleTableSettled(ids) {
-      this.$api.settlement
-        .docGenerate(ids)
-        .then((res) => {
-          if(res.code=='200'){
-            this.docOrderid=res.msg;
-            this.dialogVisible = true;
-            this.onSubmit();
-          }
-        });
+      this.$api.settlement.docGenerate(ids).then((res) => {
+        if (res.code == "200") {
+          this.docOrderid = res.msg;
+          this.dialogVisible = true;
+          this.onSubmit();
+        }
+      });
+    },
+    lastMonth() {
+      // 获取当前日期
+      var currentDate = new Date();
+      // 获取上个月的年份和月份
+      var year = currentDate.getFullYear();
+      var month = currentDate.getMonth() - 1;
+      // 如果当前是1月份,则年份减1,月份变为12月
+      if (month < 0) {
+        year--;
+        month = 11;
+      }
+      // 获取上个月的最后一天
+      var lastDayOfLastMonth = new Date(year, month + 1, 0);
+      // 格式化为两位数的字符串
+      var formatNumber = function (num) {
+        return num < 10 ? "0" + num : num;
+      };
+      // 上月1日的日期字符串
+      var startDate = year + "-" + formatNumber(month + 1) + "-01";
+      // 上月最后一日的日期字符串
+      var endDate =
+        year +
+        "-" +
+        formatNumber(month + 1) +
+        "-" +
+        formatNumber(lastDayOfLastMonth.getDate());
+        return [startDate,endDate]
     },
   },
 };
@@ -354,7 +398,7 @@ export default {
   width: 300px;
 }
 /deep/ .saomazhifucodeClass .el-dialog__body,
-  .saomazhifucodeClass .el-dialog__header {
-    padding: 0;
-  }
+.saomazhifucodeClass .el-dialog__header {
+  padding: 0;
+}
 </style>

+ 72 - 17
src/views/FinancialManagement/CarInsurance/CompanySettlement/DocQuery.vue

@@ -299,6 +299,23 @@
             class="widths"
           ></el-input>
         </el-form-item>
+        <el-form-item label="附件:">
+          <el-upload
+            class="upload-demo"
+            :auto-upload="false"
+            :on-change="writeOffUpload"
+            action="###"
+          >
+            <el-button size="small" type="primary">点击上传</el-button>
+          </el-upload>
+        </el-form-item>
+        <el-form-item label="附件ID:">
+          <el-input
+            type="text"
+            v-model="writeOffRequest.dirid"
+            disabled
+          ></el-input>
+        </el-form-item>
         <el-form-item label="核销说明:">
           <el-input type="textarea" v-model="writeOffRequest.remark"></el-input>
         </el-form-item>
@@ -330,7 +347,7 @@
         }"
         highlight-current-row
       >
-      <el-table-column
+        <el-table-column
           prop="settleno"
           label="结算单号"
           align="center"
@@ -345,20 +362,18 @@
           label="发票号"
           align="center"
         ></el-table-column>
-
-
         <el-table-column
-          prop="feeType"
-          label="核销费用类型"
+          prop="dirid"
+          label="附件id"
           align="center"
-        >
-        <template slot-scope="scope">
-            <span v-if="scope.row.feeType=='S'">手续费</span>
-            <span v-if="scope.row.feeType=='O'">其他费用</span>
-            <span v-if="scope.row.feeType=='A'">手续费+其他费用</span>
+        ></el-table-column>
+        <el-table-column prop="feeType" label="核销费用类型" align="center">
+          <template slot-scope="scope">
+            <span v-if="scope.row.feeType == 'S'">手续费</span>
+            <span v-if="scope.row.feeType == 'O'">其他费用</span>
+            <span v-if="scope.row.feeType == 'A'">手续费+其他费用</span>
           </template>
-
-      </el-table-column>
+        </el-table-column>
         <el-table-column
           prop="operator"
           label="核销操作人"
@@ -375,6 +390,17 @@
             <span>{{ transformTime(scope.row.createTime) }}</span>
           </template>
         </el-table-column>
+        <el-table-column fixed="right" label="操作" width="120" align="center">
+          <template slot-scope="scope">
+            <el-button
+              @click="writedownload(scope.row.dirid)"
+              type="text"
+              size="small"
+            >
+              附件查看
+            </el-button>
+          </template>
+        </el-table-column>
       </el-table>
     </el-dialog>
   </div>
@@ -390,6 +416,7 @@ export default {
   },
   data() {
     return {
+      imgList1: [],
       loading: false,
       xlcell: 8,
       lgcell: 12,
@@ -416,6 +443,7 @@ export default {
         feeType: "", //核销费用类型
         amount: "", //核销金额
         checkno: "", //发票号
+        dirid: "", //附件id
         remark: "", //核销说明
       },
 
@@ -447,7 +475,7 @@ export default {
       // 右侧列表查询数据Start
       pageResult: [],
       docDetialslist: [], //结算明细列表
-      writeOffDetailslist:[],
+      writeOffDetailslist: [],
       columns: [
         //数据列
         { prop: "settleno", label: "结算号", minWidth: 160 },
@@ -500,6 +528,31 @@ export default {
   },
   mounted() {},
   methods: {
+    //附件上传
+    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;
+        }
+      });
+    },
+    writedownload(id) {
+      this.$api.settlement.filesdownload(id).then((res) => {
+        let url = process.env.BASE_URL + res.data.url;
+        let name=res.data.fileName
+        const a = document.createElement("a");
+        a.style.display = "none";
+        a.href = url;
+        a.target = "_ blank";
+        a.download =name; // 下载文件的名字
+        document.body.appendChild(a);
+        a.click();
+      });
+    },
     onSubmit() {
       this.$api.settlement.docQuery(this.pageRequest).then((res) => {
         if (res.data.content.length > 0) {
@@ -549,10 +602,12 @@ export default {
     },
     writeOffDetails({ row, index }) {
       let settleno = row.settleno;
-      this.$api.settlement.WriteOffDetails({ settleno: settleno }).then((res) => {
-        this.writeOffDetailslist=res.data;
-        this.writeDetialsVisible = true;
-      });
+      this.$api.settlement
+        .WriteOffDetails({ settleno: settleno })
+        .then((res) => {
+          this.writeOffDetailslist = res.data;
+          this.writeDetialsVisible = true;
+        });
     },
     writeOffsubmit(formName) {
       this.$refs[formName].validate((valid) => {

+ 171 - 71
src/views/FinancialManagement/CarInsurance/CompanySettlement/ExpensesList.vue

@@ -1,49 +1,116 @@
 <template>
-	<div>
-    <div class="retrieval p-2 ">
-      <el-form :inline="true" :model="pageRequest" class="demo-form-inline  flex  a-start u-f-sa" size="small" label-width="90px">
-      <el-row>
-        <el-col :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
-          <el-form-item label="保险公司:">
-            <el-select v-model="pageRequest.companyId" 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 :xs="xscell" :sm="smcell" :md="mdcell" :lg="lgcell" :xl="xlcell">
-          <el-form-item label="出单时间:">
-            <el-date-picker class="widths" style="width: 220px;"
-      v-model="dateTime"
-      type="daterange"
-      @change="DateChange"
-      range-separator="至"
-      value-format="yyyy-MM-dd"
-      start-placeholder="开始日期"
-      end-placeholder="结束日期">
-    </el-date-picker>
-          </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.licenseno" placeholder="请输入车牌号" class="widths" clearable></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.agreementId" placeholder="请输入协议号" class="widths" clearable></el-input>
-          </el-form-item>
-        </el-col>
-      </el-row>
-    <el-button type="primary" size="small" @click="onSubmit">查询</el-button>
-
-    </el-form>
+  <div>
+    <div class="retrieval p-2">
+      <el-form
+        :inline="true"
+        :model="pageRequest"
+        class="demo-form-inline flex a-start u-f-sa"
+        size="small"
+        label-width="90px"
+      >
+        <el-row>
+          <el-col
+            :xs="xscell"
+            :sm="smcell"
+            :md="mdcell"
+            :lg="lgcell"
+            :xl="xlcell"
+          >
+            <el-form-item label="保险公司:">
+              <el-select
+                v-model="pageRequest.companyId"
+                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
+            :xs="xscell"
+            :sm="smcell"
+            :md="mdcell"
+            :lg="lgcell"
+            :xl="xlcell"
+          >
+            <el-form-item label="出单时间:">
+              <el-date-picker
+                class="widths"
+                style="width: 220px"
+                v-model="dateTime"
+                type="daterange"
+                @change="DateChange"
+                range-separator="至"
+                value-format="yyyy-MM-dd"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
+              >
+              </el-date-picker>
+            </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.licenseno"
+                placeholder="请输入车牌号"
+                class="widths"
+                clearable
+              ></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.agreementId"
+                placeholder="请输入协议号"
+                class="widths"
+                clearable
+              ></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-button type="primary" size="small" @click="onSubmit"
+          >查询</el-button
+        >
+      </el-form>
     </div>
-		<el-main ref="elMain" style="padding: 0px;">
-      <kt-common-table  permsDelete="sys:user:delete" :showOperation="false"  :showBatchDelete="false" :showBatchSettled="false" :showBatchPrint="false" permsButton1="sys:user:edit" permsButton2="sys:user:edit" permsButton3="sys:user:edit" :data="pageResult" :columns="columns" @findPage="findPage"    @handleSettled="handleTableSettled" @handlePrint="handlePrint" >
-        </kt-common-table>
-		</el-main>
-	</div>
+    <el-main ref="elMain" style="padding: 0px">
+      <kt-common-table
+        permsDelete="sys:user:delete"
+        :showOperation="false"
+        :showBatchDelete="false"
+        :showBatchSettled="false"
+        :showBatchPrint="false"
+        permsButton1="sys:user:edit"
+        permsButton2="sys:user:edit"
+        permsButton3="sys:user:edit"
+        :data="pageResult"
+        :columns="columns"
+        @findPage="findPage"
+        @handleSettled="handleTableSettled"
+        @handlePrint="handlePrint"
+      >
+      </kt-common-table>
+    </el-main>
+  </div>
 </template>
 <script>
 import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
@@ -65,14 +132,14 @@ export default {
         //查询的默认条件
         pageNum: 1,
         pageSize: 20,
-        companyId:"",
-        agreementId:"",
-        startDate:"",
-        endDate:"",
-        licenseno:"",
+        companyId: "",
+        agreementId: "",
+        startDate: "",
+        endDate: "",
+        licenseno: "",
       },
-      dateTime:"",
-      companyList:[],
+      dateTime:  [ "", "" ],
+      companyList: [],
       //////////////////////////////////
       dataForm: {
         ordernos: "",
@@ -107,35 +174,42 @@ export default {
         { prop: "commissionFeevalue", label: "手续费费用", minWidth: 100 },
         { prop: "otherFeevalue", label: "其他费用", minWidth: 100 },
         { prop: "allFeeValue", label: "总费用", minWidth: 100 },
-        { prop: "finalFeeValue", label: "已结算费用", minWidth: 100 },
+        { prop: "finalFeeValue", label: "是否已结算", minWidth: 100, formatter: this.docFormatter, },
       ],
     };
   },
   created() {
+    let monthtime=this.currentMonth();
+    this.pageRequest.startDate=monthtime[0];
+    this.pageRequest.endDate=monthtime[1];
+    this.dateTime=monthtime
     this.companyquery();
   },
   mounted() {},
   methods: {
-    onSubmit(){
-      this.$api.settlement.iscompanyCostQuerypage(this.pageRequest).then(res=>{
-        if (res.code=='200') {
-          this.pageResult=res.data;
-        }else{
-          this.$message({
-          message: '无数据',
-          type: 'warning'
+    onSubmit() {
+      this.$api.settlement
+        .iscompanyCostQuerypage(this.pageRequest)
+        .then((res) => {
+          if (res.code == "200") {
+            this.pageResult = res.data;
+          } else {
+            this.$message({
+              message: "无数据",
+              type: "warning",
+            });
+          }
         });
-        }
-      })
     },
-    companyquery(){
-      this.$api.letter.gainTopList().then(res=>{
-      this.companyList=res.data
-    })
+    companyquery() {
+      this.$api.letter.gainTopList().then((res) => {
+        this.companyList = res.data;
+      });
     },
-    DateChange(e){
-      this.pageRequest.startDate=e[0];
-      this.pageRequest.endDate=e[1]
+    DateChange(e) {
+      console.log(e)
+      this.pageRequest.startDate = e[0];
+      this.pageRequest.endDate = e[1];
     },
 
     handlePrint() {
@@ -154,6 +228,15 @@ export default {
         window.URL.revokeObjectURL(url);
       });
     },
+    docFormatter(row,column){
+      let name="";
+      if(row.finalFeeValue>0){
+        name="是"
+      }else{
+        name="否"
+      }
+      return name;
+    },
     //-- formatter begin--
     agreetypeFormatter(row, column) {
       //协议类型
@@ -217,7 +300,7 @@ export default {
     },
 
     handleTableSettled(ids) {
-      console.log(ids)
+      console.log(ids);
       this.dialogVisible = true;
       this.dataForm.ordernos = ids;
     },
@@ -241,6 +324,24 @@ export default {
         this.dataForm[key] = "";
       }
     },
+    //当月
+    currentMonth(){
+  // 获取当前日期
+  let currentDate = new Date();
+    // 当前日期的年、月、日
+    var year = currentDate.getFullYear();
+    var month = currentDate.getMonth() + 1;
+    var day = currentDate.getDate();
+    // 格式化为两位数的字符串
+    var formatNumber = function (num) {
+      return num < 10 ? "0" + num : num;
+    };
+    // 当月1日的日期字符串
+    var startDate = year + "-" + formatNumber(month) + "-01";
+    // 当日的日期字符串
+    var endDate = year + "-" + formatNumber(month) + "-" + formatNumber(day);
+      return [startDate,endDate]
+    }
   },
 };
 </script>
@@ -254,5 +355,4 @@ export default {
 .widths1 {
   width: 300px;
 }
-
 </style>