Browse Source

1.开票管理增加进账记录功能
2.开票管理增加进账日期搜素功能

haizhouwang 2 years ago
parent
commit
fd3dfc7cd0

+ 3 - 3
src/views/FinancialManagement/ExpenseManagement/ExpenseManagement.vue

@@ -182,7 +182,7 @@
       @current-change="refreshPageRequest"
       :current-page="pageRequest.pageNo"
       :page-size="pageRequest.pageSize"
-      :page-sizes="[10, 20, 50, 100, 200, 300, 400, 500]"
+      :page-sizes="[ 20, 50, 100, 200, 300, 400, 500]"
       :total="pageRequest.totalSize"
       style="float: left; margin-left: 20px; margin-top: 20px"
     >
@@ -756,7 +756,7 @@ export default {
       expendPageResult: {
         //支出表格参数
         pageNo: 1,
-        pageSize: 10,
+        pageSize: 20,
       },
       expendDialogVisible: false, //支出弹出框状态
       outCardNum: "", //点击支出按钮当条数据支出id
@@ -1223,7 +1223,7 @@ export default {
       this.type = 1; //账户类型
       this.formDataId = row.accountId;
       this.$api.expense
-        .getAccount({ accountId: this.formDataId, pageNo: 1, pageSize: 10 })
+        .getAccount({ accountId: this.formDataId, pageNo: 1, pageSize: 20 })
         .then((res) => {
           if (res.code == 200) {
             this.accountFormData = JSON.parse(

+ 202 - 67
src/views/FinancialManagement/ExpenseManagement/PaymentManagement.vue

@@ -3,13 +3,8 @@
   <div class="container" style="width: 99%; margin-top: 0px">
     <!-- 顶部查询 -->
     <el-row class="top">
-      <el-form
-        v-model="pageRequest"
-        size="small"
-        label-width="95px"
-        class="form"
-      >
-        <el-form-item label="发票类型" label-width="80px" prop="invoiceType">
+      <el-form v-model="pageRequest" size="small" class="form" label-width="100px">
+        <el-form-item label="发票类型"  prop="invoiceType">
           <el-select
             v-model="pageRequest.invoiceType"
             placeholder="请选择发票类型"
@@ -23,7 +18,7 @@
             ></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="开票员" label-width="80px" prop="biller">
+        <el-form-item label="开票员" prop="biller">
           <el-input
             v-model="pageRequest.biller"
             placeholder="请输入开票员"
@@ -31,7 +26,7 @@
             clearable
           ></el-input>
         </el-form-item>
-        <el-form-item label="开票方" label-width="80px" prop="invoiceBy">
+        <el-form-item label="开票方" prop="invoiceBy">
           <el-input
             v-model="pageRequest.invoiceBy"
             placeholder="请输入开票方"
@@ -39,7 +34,7 @@
             clearable
           ></el-input>
         </el-form-item>
-        <el-form-item label="对方单位名称" label-width="110px" prop="otherUnit">
+        <el-form-item label="对方单位名称" prop="otherUnit">
           <el-input
             v-model="pageRequest.otherUnit"
             placeholder="请输入对方单位名称"
@@ -47,7 +42,7 @@
             clearable
           ></el-input>
         </el-form-item>
-        <el-form-item label="开票日期" label-width="95px" prop="invoiceTime">
+        <el-form-item label="开票日期" prop="invoiceTime">
           <el-date-picker
             v-model="pageRequest.invoiceTime"
             type="daterange"
@@ -58,28 +53,43 @@
           >
           </el-date-picker>
         </el-form-item>
+        <el-form-item label="进账日期" prop="applyTime">
+          <el-date-picker
+            v-model="pageRequest.applyTime"
+            type="daterange"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            value-format="yyyy-MM-dd"
+          >
+          </el-date-picker>
+        </el-form-item>
         <el-form-item
-          ><el-button type="primary" size="small" @click="queryStaffInfo"
+          ><el-button
+            type="primary"
+            style="margin-left: 20px"
+            size="small"
+            @click="queryStaffInfo"
             >查询</el-button
           >
         </el-form-item>
+        <el-button
+          class="operation"
+          type="primary"
+          plain
+          size="medium"
+          @click="addPayment"
+          >开票新增</el-button
+        >
+        <el-button
+          class="operation"
+          type="primary"
+          plain
+          size="medium"
+          @click="expentData"
+          >导出</el-button
+        >
       </el-form>
-      <el-button
-        class="operation"
-        type="primary"
-        plain
-        size="medium"
-        @click="addPayment"
-        >开票新增</el-button
-      >
-      <el-button
-        class="operation"
-        type="primary"
-        plain
-        size="medium"
-        @click="expentData"
-        >导出</el-button
-      >
       <!-- 合计 -->
       <div style="margin-top: 20px">
         <el-descriptions title="" size="mini" border>
@@ -121,9 +131,13 @@
       editButtonName="进账"
       button3Name="撤销"
       button2Name="编辑"
+      button4Name="记录"
       button3Icon="fa fa-trash"
+      button4Icon="el-icon-s-order"
+      button4Background="#67C23A"
       button3Background="#f56c6c"
       button2Background="#E6A23C"
+      @handleButton4="handleTableDetail"
       @handleButton3="handleTableDelete"
       @handleButton2="handleDetail($event, 1)"
       @handleEdit="handleDetail($event, 2)"
@@ -311,19 +325,6 @@
                   ></el-input-number>
                 </el-form-item>
               </el-col>
-              <el-col :span="12">
-                <el-form-item label="进账日期" prop="payoutTime">
-                  <el-date-picker
-                    v-model="formData.payoutTime"
-                    type="date"
-                    value-format="yyyy-MM-dd"
-                    placeholder="选择日期"
-                  >
-                  </el-date-picker>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row>
               <el-col :span="12">
                 <el-form-item label="支付方式" prop="payMethod">
                   <el-select
@@ -341,6 +342,8 @@
                   </el-select>
                 </el-form-item>
               </el-col>
+            </el-row>
+            <el-row>
               <el-col :span="12">
                 <el-form-item label="资金用途" prop="fundUse">
                   <el-cascader
@@ -414,6 +417,28 @@
         }}</el-button>
       </div>
     </el-dialog>
+    <!-- 记录弹框 -->
+    <el-dialog
+      class="dialog expendDialog"
+      title="进账记录"
+      :close-on-click-modal="false"
+      :before-close="expendResetForm"
+      :visible.sync="expendDialogVisible"
+      width="70%"
+    >
+      <!-- 记录表格 -->
+      <kt-common-table
+        :operationWidth="130"
+        class="ktTable expendTable"
+        ref="expendTable"
+        :data="expendPageResult"
+        :columns="expendColumns"
+        :showBatchDelete="false"
+        :showOperation="false"
+        @findPage="getRecordData"
+        :isshowpagination="true"
+      ></kt-common-table>
+    </el-dialog>
   </div>
 </template>
         <script>
@@ -453,7 +478,7 @@ export default {
       title: "开票新增",
       loading: true,
       detailDialog: false,
-      operationWidth: 220, //操作列宽度
+      operationWidth: 180, //操作列宽度
       queryFrom: {
         //查询条件
       },
@@ -465,6 +490,7 @@ export default {
         pageNo: 1,
         pageSize: 20,
         invoiceTime: "", //开票日期
+        applyTime: "", //进账日期
         invoiceBy: "", //开票方
         biller: "", //开票员
         invoiceType: "", //开票类型
@@ -472,12 +498,12 @@ export default {
       columns: [
         { prop: "invoiceId", label: "发票号码", type: "text", minWidth: 160 },
         { prop: "invoiceNum", label: "发票数", type: "text", minWidth: 60 },
-        { prop: "invoiceBy", label: "开票方", type: "text", minWidth: 180 },
+        { prop: "invoiceBy", label: "开票方", type: "text", minWidth: 360 },
         {
           prop: "otherUnit",
           label: "对方单位名称",
           type: "text",
-          minWidth: 180,
+          minWidth: 360,
         },
         {
           prop: "invoiceTypeName",
@@ -492,12 +518,6 @@ export default {
           minWidth: 100,
         },
         { prop: "invoiceTime", label: "开票日期", type: "text", minWidth: 100 },
-        {
-          prop: "payoutTime",
-          label: "进账日期",
-          type: "text",
-          minWidth: 100,
-        },
         { prop: "biller", label: "开票员", type: "text", minWidth: 70 },
         {
           prop: "invoiceSubjects",
@@ -545,7 +565,7 @@ export default {
       detailData: [],
       detailParams: {
         pageNo: 1,
-        pageSize: 10,
+        pageSize: 20,
         teamOrUserFlag: "2",
       },
       modelText: "提 交",
@@ -563,7 +583,6 @@ export default {
         invoiceType: "", //发票类型
         otherUnit: "", //对方单位
         payoutMoney: 0, //进账金额
-        payoutTime: "", //进账日期
         rate: 0, //税率
         payMethod: [], //支付方式
         fundUse: "", //资金用途
@@ -601,13 +620,6 @@ export default {
         fundUse: [
           { required: true, message: "请选择资金用途", trigger: "change" },
         ],
-        payoutTime: [
-          {
-            required: true,
-            message: "请选择进账日期",
-            trigger: "change",
-          },
-        ],
         invoiceTime: [
           {
             required: true,
@@ -621,9 +633,65 @@ export default {
       formDataId: "", //编辑数据id
       profitObj: {},
       typeStatus: "", //1是编辑 2是进账
+      /**
+       * 记录模块
+       */
+      expendColumns: [
+        //记录表格数据列
+        {
+          prop: "revenueOutlayName",
+          label: "转账类型",
+          minWidth: 80,
+          sortable: false,
+        },
+        {
+          prop: "company",
+          label: "支出单位",
+          minWidth: 350,
+          sortable: false,
+        },
+        {
+          prop: "payMethod",
+          label: "支付方式",
+          minWidth: 100,
+          sortable: false,
+        },
+        {
+          prop: "createTime",
+          label: "支付时间",
+          minWidth: 100,
+          sortable: false,
+        },
+        { prop: "applyAmount", label: "金额", minWidth: 100, sortable: false },
+        {
+          prop: "fundUse",
+          label: "资金用途",
+          minWidth: 150,
+          sortable: false,
+        },
+        {
+          prop: "fundFen",
+          label: "资金用途分项",
+          minWidth: 150,
+          sortable: false,
+        },
+      ],
+      expendDialogVisible: false, //记录弹框显示状态
+      expendPageResult: {
+        //记录表格参数
+        pageNo: 1,
+        pageSize: 20,
+      },
+      invoiceId: "", //记录id
+      num: 1,
     };
   },
   watch: {
+    expendDialogVisible(n) {
+      if (!n) {
+        this.invoiceId = "";
+      }
+    },
     detailDialog(n) {
       if (!n) {
         this.formData = {
@@ -638,7 +706,6 @@ export default {
           invoiceType: "", //发票类型
           otherUnit: "", //对方单位
           payoutMoney: 0, //进账金额
-          payoutTime: "", //进账日期
           rate: 0, //税率
           payMethod: [], //支付方式
         };
@@ -658,6 +725,55 @@ export default {
     },
   },
   methods: {
+    //记录弹框取消重置
+    expendResetForm() {
+      this.expendDialogVisible = false;
+    },
+    //获取记录列表
+    getRecordData(data) {
+      if (data && data.pageRequest) {
+        this.expendPageResult.pageNo = data.pageRequest.pageNum;
+        this.expendPageResult.pageSize = data.pageRequest.pageSize;
+      }
+      let obj = {
+        pageNo: this.expendPageResult.pageNo,
+        pageSize: this.expendPageResult.pageSize,
+        invoiceId: this.invoiceId,
+      };
+      this.$api.expense
+        .getAccountOperate(obj)
+        .then((res) => {
+          res.data.records.forEach((item) => {
+            if (
+              item.revenueOutlay != null &&
+              item.revenueOutlay != undefined &&
+              item.revenueOutlay != ""
+            ) {
+              item.revenueOutlayName =
+                item.revenueOutlay == 0 ? "收入" : "支出";
+            }
+          });
+          this.expendPageResult = {
+            content: res.data.records,
+            pageNo: res.data.current,
+            pageSize: res.data.size,
+            totalPages: res.data.pages,
+            totalSize: res.data.total,
+          };
+        })
+        .then(data != null ? data.callback : "");
+    },
+    //点击记录方法
+    handleTableDetail(e) {
+      let row = e.row;
+      this.expendDialogVisible = true;
+      this.invoiceId = row.invoiceId;
+      if (this.num > 1) {
+        //第一次渲染页面表格组件会自动调用列表方法,所以给个值判断是否是第一次渲染页面只让执行一次
+        this.getRecordData();
+      }
+      this.num++;
+    },
     //转换
     businessZh(data, label, value) {
       let obj = data.find((item) => item[value] == label);
@@ -843,7 +959,6 @@ export default {
               payMethod: params.payMethod.join(","), //支付方式
               fundUse: this.formData.fundUse[this.formData.fundUse.length - 2], //资金用途
               fundFen: this.formData.fundUse[this.formData.fundUse.length - 1], //资金用途分项
-              payoutTime: params.payoutTime, //进账日期
               entProfit: params.entProfit, //收入方资金归属
               outProfit: params.outProfit, //支出方资金归属
             };
@@ -864,7 +979,6 @@ export default {
             params.otherUnit = params.otherUnit.nameValue; //对方单位名称
             params.company = params.otherUnit; //单位
             delete params.payMethod;
-            delete params.payoutTime;
             this.$api.expense.updateIncoice(params).then((res) => {
               if (res.code == 200) {
                 this.detailDialog = false;
@@ -882,7 +996,6 @@ export default {
             params.otherUnit = params.otherUnit.nameValue; //对方单位名称
             params.company = params.otherUnit; //单位
             delete params.payMethod;
-            delete params.payoutTime;
             this.$api.expense.addInvAccountIncoice(params).then((res) => {
               if (res.code == 200) {
                 this.detailDialog = false;
@@ -921,7 +1034,7 @@ export default {
     resetForm() {
       this.detailDialog = false;
       this.detailParams.pageNo = 1;
-      this.detailParams.pageSize = 10;
+      this.detailParams.pageSize = 20;
     },
     //编辑按钮
     handleDetail(index, type) {
@@ -974,7 +1087,12 @@ export default {
         params.invoiceTimeStart = params.invoiceTime[0];
         params.invoiceTimeEnd = params.invoiceTime[1];
       }
+      if (params.applyTime != null && params.applyTime.length > 0) {
+        params.applyTimeStart = params.applyTime[0];
+        params.applyTimeEnd = params.applyTime[1];
+      }
       delete params.invoiceTime;
+      delete params.applyTime;
       this.$api.expense
         .getInvAccountIncoice(params)
         .then((res) => {
@@ -1033,10 +1151,10 @@ export default {
 }
 .form {
   display: flex;
-  margin-top: 14px;
   align-items: center;
-  margin-left: -12px;
-  margin-bottom: 20px;
+  margin-top: 14px;
+  flex-wrap: wrap;
+  height: 100px;
 }
 .el-pagination {
   font-weight: normal;
@@ -1123,5 +1241,22 @@ export default {
 .profit_box .el-form-item {
   margin-bottom: 15px !important;
 }
+.expendDialog >>> .el-dialog__body {
+  overflow-y: auto;
+  height: 500px;
+}
+.expendDialog >>> .cell .el-button {
+  width: auto;
+}
+.expendTable >>> .bottomFixed {
+  position: static;
+  margin-top: 20px;
+}
+.expendTable >>> .el-table {
+  height: 400px !important;
+}
+.ktTable >>> .el-button span {
+  margin-left: 0 !important;
+}
 </style>
         

+ 1 - 0
src/views/PeopleManage/mixin.js

@@ -194,6 +194,7 @@ export default (params) => { // 导出混入对象
       },
       findLeftTreeData: function () {
         this.$api.dept.findDeptTree().then((res) => {
+          console.log(treeTypeNum);
           this.treeDataRecursion(res.data, treeTypeNum);
           this.ztreeNodes = res.data;
         });