haizhouwang 2 роки тому
батько
коміт
6aba73a797

+ 19 - 3
src/http/moudules/expense.js

@@ -230,10 +230,11 @@ export const getAccountOperateDetail = (id) => {
  * 
  */
 //获取开票列表
-export const getInvAccountIncoice = () => {
+export const getInvAccountIncoice = (data) => {
     return axios({
-        url: '/invAccountIncoice',
-        method: "get"
+        url: '/invAccountIncoice/page',
+        method: "post",
+        data
     })
 }
 //新增开票
@@ -251,4 +252,19 @@ export const putInvAccountIncoice = (data) => {
         method: "put",
         data
     })
+}
+//撤销开票
+export const deleteInvAccountIncoice = (id) => {
+    return axios({
+        url: '/invAccountIncoice?id='+id,
+        method: "delete",
+    })
+}
+
+//开票详情
+export const detailInvAccountIncoice = (id) => {
+    return axios({
+        url: '/invAccountIncoice/byId/'+id,
+        method: "get",
+    })
 }

+ 50 - 39
src/views/FinancialManagement/ExpenseManagement/ExpenseApplyFor.vue

@@ -118,8 +118,8 @@
                   placeholder="单位"
                 >
                   <el-option
-                    v-for="(item,index) in collectionData"
-                    :key="item.accountId+''+index"
+                    v-for="(item, index) in collectionData"
+                    :key="item.accountId + '' + index"
                     :label="item.name"
                     :value="item.bankCardNum"
                   >
@@ -128,9 +128,9 @@
               </el-form-item>
             </el-col>
             <el-col style="display: flex; justify-content: end" :span="12">
-              <el-button type="primary" @click="addUserFn" size="small"
+              <!-- <el-button type="primary" @click="addUserFn" size="small"
                 >新增账户信息</el-button
-              >
+              > -->
             </el-col>
           </el-row>
           <table
@@ -182,8 +182,8 @@
                   placeholder=""
                 >
                   <el-option
-                    v-for="(item,index) in collectionData"
-                    :key="item.accountId+'aa'+index"
+                    v-for="(item, index) in collectionData"
+                    :key="item.accountId + 'aa' + index"
                     :label="item.name"
                     :value="item.bankCardNum"
                   >
@@ -202,8 +202,8 @@
                     placeholder=""
                   >
                     <el-option
-                      v-for="(item,index) in collectionData"
-                      :key="item.accountId+'ac'+index"
+                      v-for="(item, index) in collectionData"
+                      :key="item.accountId + 'ac' + index"
                       :label="item.name"
                       :value="item.bankCardNum"
                     >
@@ -217,8 +217,8 @@
                     placeholder=""
                   >
                     <el-option
-                      v-for="(item,index) in collectionData"
-                      :key="item.accountId+'avb'+index"
+                      v-for="(item, index) in collectionData"
+                      :key="item.accountId + 'avb' + index"
                       :label="item.name"
                       :value="item.bankCardNum"
                     >
@@ -345,8 +345,18 @@
         }}</el-button>
       </div>
     </el-dialog>
+    <!-- <el-dialog
+      class="dialog"
+      :title="expendTitle"
+      :close-on-click-modal="false"
+      :before-close="resetForm"
+      :visible.sync="expenseaaa"
+      width="60%"
+    > -->
+      <!-- <ExpenseManagement></ExpenseManagement> -->
+    <!-- </el-dialog> -->
     <!-- 新增账户弹框 -->
-    <expense-component
+    <!-- <expense-component
       ref="expenseComponent"
       :formData="formData"
       :title="title"
@@ -356,18 +366,20 @@
       @setDateInterval="setDateInterval"
       @outChange="outChange"
       class="expense-component"
-    ></expense-component>
+    ></expense-component> -->
   </div>
 </template>
 <script>
 import ExpenseComponent from "./ExpenseComponent.vue"; //新增账户信息弹框
+// import ExpenseManagement from "./ExpenseManagement.vue"; //新增账户信息
 import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
 import { toChies } from "../../../utils/moneyTransition";
 export default {
   name: "ExpenseApplyFor",
-  components: { KtCommonTable, ExpenseComponent },
+  components: { KtCommonTable, ExpenseComponent,},
   data() {
     return {
+      expenseaaa:true,
       expendTitle: "新增资金使用申请单", //弹框标题
       operationWidth: 200, //操作单元格宽度
       queryFrom: {}, //查询form表单
@@ -659,13 +671,15 @@ export default {
       this.$api.expense
         .getAccountExcelById(row.excelAccountOperateId)
         .then((res) => {
-          console.log(res)
+          console.log(res);
           if (res.code == 200) {
             this.tableForm = JSON.parse(JSON.stringify(res.data));
             this.tableForm.payMethod = this.tableForm.payMethod.split(",");
             this.tableForm.collectionMessage = res.data.enterCardNum;
             this.tableForm.company = res.data.outCardNum;
-            this.tableForm.remark = this.use_fundsData.find(item=>item.label==res.data.remark).value
+            this.tableForm.remark = this.use_fundsData.find(
+              (item) => item.label == res.data.remark
+            ).value;
             let obj = this.fundFlowData.find((item) =>
               item.child.find(
                 (chidlItem) => chidlItem.category == this.tableForm.fundUse
@@ -858,7 +872,7 @@ export default {
     },
     //选择收款单位信息事件
     collectionChange(e) {
-      console.log(e)
+      console.log(e);
       if (e.length > 0) {
         let obj = this.collectionData
           .find((item) => item.bankCardNum == e[0])
@@ -871,24 +885,25 @@ export default {
         if (res.code == 200) {
           let arr = [];
           res.data.forEach((item, index) => {
-            item.invAccountCardList.forEach((it) => {
-              it.name =
-                (item.outerFlag == 0 ? "内部用户" : "外部用户") +
-                "   " +
-                (it.accountQuality == 0 ? "公户" : "私户") +
-                "   " +
-                item.accountName +
-                "   " +
-                it.bankCardNum +
-                "   " +
-                it.bank;
-              it.nameValue =
-                item.accountName + "   " + it.bankCardNum + "   " + it.bank;
-            });
-            arr.push(...item.invAccountCardList)
+            if (item.invAccountCardList != null) {
+              item.invAccountCardList.forEach((it) => {
+                it.name =
+                  (item.outerFlag == 0 ? "内部用户" : "外部用户") +
+                  "   " +
+                  (it.accountQuality == 0 ? "公户" : "私户") +
+                  "   " +
+                  item.accountName +
+                  "   " +
+                  it.bankCardNum +
+                  "   " +
+                  it.bank;
+                it.nameValue =
+                  item.accountName + "   " + it.bankCardNum + "   " + it.bank;
+              });
+              arr.push(...item.invAccountCardList);
+            }
           });
           this.collectionData = arr;
-          console.log(this.collectionData)
         }
       });
     },
@@ -944,13 +959,9 @@ export default {
         return;
       }
       params.payMethod = this.toPayment(params.payMethod); //支付方式转换
-      console.log(this.collectionData)
-      let companyItem = this.collectionData.find(
-        (item) => {
-          console.log(params.company, item.bankCardNum)
-         return  item.bankCardNum === params.company
-        }
-      );
+      let companyItem = this.collectionData.find((item) => {
+        return item.bankCardNum === params.company;
+      });
       let collectionMessageItem = this.collectionData.find(
         (item) => item.bankCardNum === params.collectionMessage
       );

+ 47 - 90
src/views/FinancialManagement/ExpenseManagement/ExpenseManagement.vue

@@ -65,6 +65,7 @@
       :data="accountData"
       border
       size="small"
+      ref="account"
       :header-cell-style="{
         background: '#F2F7FC',
         fontWeight: '900',
@@ -72,6 +73,7 @@
       }"
       height="600px"
       style="width: 100%; margin-top: 30px"
+      @expand-change="handleRowChange"
     >
       <el-table-column type="expand">
         <template slot-scope="scope">
@@ -132,7 +134,7 @@
                 <el-button
                   size="mini"
                   type="danger"
-                  @click="handleTableIncome(scope.row,scopes.row)"
+                  @click="handleTableIncome(scope.row, scopes.row)"
                   >收入</el-button
                 >
               </template>
@@ -231,7 +233,6 @@
       @resetForm="resetForm"
       @submitForm="submitForm"
       @setDateInterval="setDateInterval"
-      @outChange="outChange"
     ></expense-component>
     <!-- 支出弹框 -->
     <el-dialog
@@ -386,7 +387,7 @@ export default {
     this.business("use_funds"); //备注字典
   },
   mounted() {
-    this.findPage();
+    // this.findPage();
   },
   data() {
     return {
@@ -633,33 +634,6 @@ export default {
           sortable: false,
         },
       ],
-      formData: {
-        //账户form表单
-        // outerFlag: "0", //账户类别
-        // accountName: "", //户名
-        // accountQuality: "", //账户性质
-        // bankCardNum: "", //银行卡号
-        // bank: "", //开户行
-        // bankName: "", //开户行名称
-        // bankNum: "", //开户行号
-        // certExpirationDate: "", //证书有效期
-        // clearingProfit: "", //结算卡
-        // dayStrokeNum: "", //单日转账笔数限制
-        // exteriorProfit: "", //外部过账金额
-        // fiscalProfit: "", //财税公司利润
-        // insuranceProfit: "", //保险公司回款
-        // otherProfit: "", //其他利润
-        // parkProfit: "", //园区利润
-        // priDayLines: "", //对私单日限额
-        // priSingleLines: "", //对私单笔限额
-        // priYearExcess: "", //对私年剩余额度
-        // priYearLines: "", //对私年额度
-        // pubDayLines: "", //对公单日限额
-        // pubSingleLines: "", //对公单笔限额
-        // pubYearExcess: "", //对公年剩余额度
-        // pubYearLines: "", //对公年额度
-        // tianqinProfit: "", //天勤利润
-      },
       //账户信息form
       accountFormData: {
         outerFlag: "0", //账户类别
@@ -773,6 +747,25 @@ export default {
     },
   },
   methods: {
+    //展开事件
+    handleRowChange(e, row) {
+      console.log(e, row);
+      if (row.length > 0) {
+        //展开
+        if (
+          e.invAccountCardList != null &&
+          e.invAccountCardList != "" &&
+          e.invAccountCardList != undefined &&
+          e.invAccountCardList.length > 0
+        ) {
+        } else {
+          this.$message.error("暂无数据");
+          this.$refs.account.toggleRowExpansion(e, false);
+        }
+      } else {
+        
+      }
+    },
     // 换页刷新
     refreshPageRequest: function (pageNum) {
       this.pageRequest.pageNo = pageNum;
@@ -796,23 +789,24 @@ export default {
         if (res.code == 200) {
           let arr = [];
           let outArr = res.data.filter((item) => item.outerFlag == 1);
-          console.log(outArr);
           outArr.forEach((item, index) => {
-            item.invAccountCardList.forEach((it) => {
-              it.name =
-                (item.outerFlag == 0 ? "内部用户" : "外部用户") +
-                "   " +
-                (it.accountQuality == 0 ? "公户" : "私户") +
-                "   " +
-                item.accountName +
-                "   " +
-                it.bankCardNum +
-                "   " +
-                it.bank;
-              it.nameValue =
-                item.accountName + "   " + it.bankCardNum + "   " + it.bank;
-            });
-            arr.push(...item.invAccountCardList)
+            if (item.invAccountCardList != null) {
+              item.invAccountCardList.forEach((it) => {
+                it.name =
+                  (item.outerFlag == 0 ? "内部用户" : "外部用户") +
+                  "   " +
+                  (it.accountQuality == 0 ? "公户" : "私户") +
+                  "   " +
+                  item.accountName +
+                  "   " +
+                  it.bankCardNum +
+                  "   " +
+                  it.bank;
+                it.nameValue =
+                  item.accountName + "   " + it.bankCardNum + "   " + it.bank;
+              });
+              arr.push(...item.invAccountCardList);
+            }
           });
           this.collectionData = arr;
         }
@@ -823,46 +817,6 @@ export default {
       const item = this.collectionData.find((item) => item.accountId === val);
       this.companyItem = item;
     },
-    //选择账户类别
-    outChange(e) {
-      return
-      if (e == 1) {
-        this.formData = {
-          outerFlag: e, //账户类别
-          accountName: this.formData.accountName, //户名
-          accountQuality: this.formData.accountQuality, //账户性质
-          bankCardNum: this.formData.bankCardNum, //银行卡号
-          bank: this.formData.bank, //开户行
-        };
-      } else {
-        this.formData = {
-          outerFlag: e, //账户类别
-          accountName: this.formData.accountName, //户名
-          accountQuality: this.formData.accountQuality, //账户性质
-          bankCardNum: this.formData.bankCardNum, //银行卡号
-          bank: this.formData.bank, //开户行
-          bankName: "", //开户行名称
-          bankNum: "", //开户行号
-          certExpirationDate: "", //证书有效期
-          clearingProfit: 0, //结算卡
-          dayStrokeNum: 0, //单日转账笔数限制
-          exteriorProfit: 0, //外部过账金额
-          fiscalProfit: 0, //财税公司利润
-          insuranceProfit: 0, //保险公司回款
-          otherProfit: 0, //其他利润
-          parkProfit: 0, //园区利润
-          priDayLines: 0, //对私单日限额
-          priSingleLines: 0, //对私单笔限额
-          priYearExcess: 0, //对私年剩余额度
-          priYearLines: 0, //对私年额度
-          pubDayLines: 0, //对公单日限额
-          pubSingleLines: 0, //对公单笔限额
-          pubYearExcess: 0, //对公年剩余额度
-          pubYearLines: 0, //对公年额度
-          tianqinProfit: 0, //天勤利润
-        };
-      }
-    },
     //点击确认收入事件
     submitIncomeForm() {
       let obj = JSON.parse(JSON.stringify(this.inComeFormData));
@@ -884,8 +838,8 @@ export default {
       });
     },
     //点击页面收入按钮
-    handleTableIncome(row,rows) {
-      console.log(row,rows)
+    handleTableIncome(row, rows) {
+      console.log(row, rows);
       if (row.outerFlag == 1) {
         this.$message.error("请选择内部账户");
         return;
@@ -898,7 +852,7 @@ export default {
     },
     //点击页面支出按钮
     handleTableExpend(row) {
-      console.log(row)
+      console.log(row);
       if (row.outerFlag == 1) {
         this.$message.error("请选择内部账户");
         return;
@@ -1016,6 +970,9 @@ export default {
       this.$api.dict.findByLableName(typeName).then((res) => {
         // this.account_qualityData = res.data;
         this[typeName + "Data"] = res.data;
+        if (typeName == "account_quality" && this.accountData.length == 0) {
+          this.findPage();
+        }
       });
     },
     //用户性质转换
@@ -1089,7 +1046,7 @@ export default {
     resetForm() {
       this.dialogFormVisible = false;
       this.formDataId = "";
-      console.log(this.type)
+      console.log(this.type);
       if (this.type == 1) {
         this.accountFormData = {
           outerFlag: "0", //账户类别

Різницю між файлами не показано, бо вона завелика
+ 321 - 452
src/views/FinancialManagement/ExpenseManagement/PaymentManagement.vue


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

@@ -104,7 +104,9 @@ export default {
         .getAccountOperate(this.pageRequest)
         .then((res) => {
           res.data.records.forEach((item) => {
-            item.revenueOutlayName = item.revenueOutlay == 0 ? "收入" : "支出";
+            if(item.revenueOutlay!=null&&item.revenueOutlay!=undefined&&item.revenueOutlay!=''){
+              item.revenueOutlayName = item.revenueOutlay == 0 ? "收入" : "支出";
+            }
           });
           this.pageResult = {
             content: res.data.records,

+ 6 - 0
src/views/Letter/Letter.vue

@@ -3849,9 +3849,15 @@ export default {
         cimodelclass: [
           { required: true, message: "请选择车辆种类", trigger: "blur" }
         ],
+        carnature: [
+          { required: true, message: "请选择使用性质", trigger: "blur" }
+        ],
         cartype: [
           { required: true, message: "请选择车辆类型", trigger: "blur" }
         ],
+        vehicleUse: [
+          { required: true, message: "请选择车辆用途", trigger: "blur" }
+        ],
         brandName: [
           { required: true, message: "请填写品牌型号", trigger: "blur" }
         ],

Деякі файли не було показано, через те що забагато файлів було змінено