Explorar o código

其他应收单接口完成

chen %!s(int64=3) %!d(string=hai) anos
pai
achega
7db936151a

+ 8 - 0
src/api/finance/change_apply.js

@@ -24,3 +24,11 @@ export function getTransferAdd(params) {
       params
     })
   }
+//查询同个集团的经销商
+export function getCustomerGroupList() {
+    return request({
+      url: '/customer/group/list',
+      method: 'get',
+      
+    })
+  }

+ 41 - 0
src/api/finance/receivable_list.js

@@ -24,4 +24,45 @@ export function getFinanceCustomerList(params) {
       params
     })
   }
+// 其他应收单-列表
+export function getFinanceOtherReceList(params) {
+    return request({
+      url: '/finance/other/rece/list',
+      method: 'get',
+      params
+    })
+  }
+
+// 其他应收单-提审
+export function getFinanceOtherReceApply(params) {
+    return request({
+      url: '/finance/other/rece/apply',
+      method: 'post',
+      params
+    })
+  }
+// 其他应收单-详情
+export function getFinanceOtherReceDetail(params) {
+    return request({
+      url: '/finance/other/rece/detail',
+      method: 'get',
+      params
+    })
+  }
+// 其他应收单-审核
+export function getFinanceOtherReceExamine(params) {
+    return request({
+      url: '/finance/other/rece/examine',
+      method: 'post',
+      params
+    })
+  }
+// 其他应收单-删除
+export function getFinanceOtherReceDelete(params) {
+    return request({
+      url: '/finance/other/rece/delete',
+      method: 'post',
+      params
+    })
+  }
 

+ 3 - 3
src/views/basic_data/dealer/dealer_stock.vue

@@ -385,7 +385,7 @@ export default {
     //编辑
 
     async editFn(id) {
-      this.title = "编辑";
+      this.title = "经销商业务关系管理 ";
       this.rowID = id;
       let res = await getCustomerPtDetail({ id });
       console.log(res);
@@ -436,7 +436,7 @@ export default {
       this.$message.success("删除成功");
     },
     addFn() {
-      this.title = "新增";
+      this.title = "经销商业务关系管理";
       this.dialogForm = true;
     },
     async addDataListFn() {
@@ -463,7 +463,7 @@ export default {
         serviceName: data3[0].nickName,
       };
 
-      if (this.title == "编辑") {
+      if (this.title == "经销商业务关系管理 ") {
         await getCustomerPtUpdate({ ...value, id: this.rowID });
 
         this.$message.success("编辑成功");

+ 1 - 1
src/views/basic_data/taker/taker_list.vue

@@ -14,7 +14,7 @@
             <el-form-item label="经销商名称" prop="customerName">
               <el-input
                 v-model="searchForm.customerName"
-                placeholder="请输入提货人姓名"
+                placeholder="请输入经销商名称"
               ></el-input>
             </el-form-item>
           </el-col>

+ 61 - 1
src/views/finance/change_apply.vue

@@ -72,11 +72,51 @@
           ></el-table-column>
           <el-table-column
             align="center"
+            label="经销商名称"
+            prop="customerName"
+            min-width="160"
+            show-overflow-tooltip
+          >
+            <template slot-scope="scope">
+              <el-select
+                filterable
+                v-model="scope.row.customerId"
+                placeholder="请选择"
+              >
+                <el-option
+                  v-for="item in customerData"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                >
+                </el-option>
+              </el-select>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
             label="返利类型"
             prop="name"
             min-width="160"
             show-overflow-tooltip
-          ></el-table-column>
+          >
+            <template slot-scope="scope">
+              <el-select
+                filterable
+                v-model="scope.row.name"
+                placeholder="请选择"
+                @focus="typeFn(scope.row)"
+              >
+                <el-option
+                  v-for="item in typeList"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                >
+                </el-option>
+              </el-select>
+            </template>
+          </el-table-column>
           <el-table-column
             align="center"
             label="返利金额"
@@ -122,7 +162,9 @@ import {
   getWalletCustomerList,
   getTransferAdd,
   getTransferSubmit,
+  getCustomerGroupList,
 } from "@/api/finance/change_apply";
+
 export default {
   data() {
     return {
@@ -132,6 +174,8 @@ export default {
         customerId: "",
         customerName: "",
       },
+      customerData: [], //经销商数据
+      typeList: [], //返利类型数据
     };
   },
   computed: {
@@ -139,6 +183,7 @@ export default {
   },
   created() {
     this.getUserInfoFn();
+    this.getCustomerData();
   },
   methods: {
     func(arr, target) {
@@ -161,6 +206,21 @@ export default {
         v.bz = "";
       });
     },
+    //返利类型数据
+    async typeFn(row) {
+      let res = await getWalletCustomerList({
+        customerId: row.customerId,
+        type: "REBATE",
+      });
+      this.typeList = res.data;
+    },
+
+    //查询同个集团的经销商数据
+    async getCustomerData() {
+      const res = await getCustomerGroupList();
+      console.log(res, 123214);
+      this.customerData = res.data;
+    },
 
     //保存
     async preservationFn() {

+ 87 - 53
src/views/finance/components/receivable_list-add.vue

@@ -18,17 +18,17 @@
         <el-row :gutter="20">
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="单据类型" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="单据编号" prop="">
-              <el-input placeholder="请输入"></el-input>
+              <el-input v-model="searchForm.billType" disabled></el-input>
             </el-form-item>
           </el-col>
+
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="单据来源" prop="">
-              <el-select v-model="searchForm.source" placeholder="请选择">
+              <el-select
+                class="selectStyle"
+                v-model="searchForm.source"
+                placeholder="请选择"
+              >
                 <el-option value="工程押金"> </el-option>
                 <el-option value="保证金"> </el-option>
                 <el-option value="工程价差"> </el-option>
@@ -38,11 +38,12 @@
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="业务日期" prop="">
               <el-date-picker
+                class="selectStyle"
                 v-model="searchForm.theTime"
-                type="date"
-                placeholder="选择日期"
-                format="yyyy 年 MM 月 dd 日"
-                value-format="yyyy-MM-dd"
+                type="datetime"
+                placeholder="选择日期时间"
+                default-time="23:59:59"
+                value-format="yyyy-MM-dd HH:mm:ss"
               >
               </el-date-picker>
             </el-form-item>
@@ -50,42 +51,35 @@
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="到期日" prop="">
               <el-date-picker
+                class="selectStyle"
                 v-model="searchForm.endTime"
-                type="date"
-                placeholder="选择日期"
-                format="yyyy 年 MM 月 dd 日"
-                value-format="yyyy-MM-dd"
+                type="datetime"
+                placeholder="选择日期时间"
+                default-time="23:59:59"
+                value-format="yyyy-MM-dd HH:mm:ss"
               >
               </el-date-picker>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="总金额" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="制单人" prop="">
               <el-input
-                v-model="searchForm.createBy"
-                placeholder="请输入"
-              ></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="制单日期" prop="">
-              <el-input
-                v-model="searchForm.createTime"
-                placeholder="请输入"
+                disabled
+                v-model="searchForm.totalAmount"
+                placeholder=""
               ></el-input>
             </el-form-item>
           </el-col>
+
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="单据状态" prop="">
-              <el-input
+              <el-select
+                class="selectStyle"
                 v-model="searchForm.examineStatus"
-                placeholder="请输入"
-              ></el-input>
+                placeholder="请选择"
+              >
+                <el-option value="SAVE" label="暂存"> </el-option>
+              </el-select>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
@@ -112,14 +106,13 @@
           fit
           highlight-current-row
           stripe
+          :row-class-name="rouClassNameFn"
+          @row-click="onRowClick"
         >
-          <el-table-column
-            label="序号"
-            align="center"
-            width="100"
-            type="index"
-            show-overflow-tooltip
-          >
+          <el-table-column align="center" label="序号">
+            <template slot-scope="scope">
+              {{ scope.$index + 1 }}
+            </template>
           </el-table-column>
           <el-table-column
             align="center"
@@ -130,13 +123,13 @@
           >
             <template slot-scope="scope">
               <el-select
-                @change="changeCustomerFn"
+                @change="changeCustomerFn($event, scope.$index)"
                 v-model="scope.row.customerId"
                 placeholder="请选择"
               >
                 <el-option
-                  v-for="item in customerList"
-                  :key="item.id"
+                  v-for="(item, i) in customerList"
+                  :key="i"
                   :label="item.name"
                   :value="item.id"
                 >
@@ -187,10 +180,10 @@
             <template slot-scope="scope">
               <el-select v-model="scope.row.walletId" placeholder="请选择">
                 <el-option
-                  v-for="item in walletList"
-                  :key="item.walletRebateId"
+                  v-for="item in scope.row.walletList"
+                  :key="item.mainId"
                   :label="item.name"
-                  :value="item.walletRebateId"
+                  :value="item.mainId"
                 >
                 </el-option>
               </el-select>
@@ -243,12 +236,12 @@
           <el-table-column
             align="center"
             label="备注"
-            prop="tax"
+            prop="remark"
             min-width="160"
             show-overflow-tooltip
           >
             <template slot-scope="scope">
-              <el-input v-model="scope.row.tax"></el-input>
+              <el-input v-model="scope.row.remark"></el-input>
             </template>
           </el-table-column>
         </el-table>
@@ -260,13 +253,15 @@
         <el-button type="primary" size="small" @click="addFn"
           >提交审核</el-button
         >
-        <el-button type="primary" size="small">重置</el-button>
+        <el-button type="primary" size="small" @click="resetFn">重置</el-button>
       </div>
       <div class="fr">
         <el-button type="primary" size="small" @click="addRowFn"
           >添加行</el-button
         >
-        <el-button type="primary" size="small">删除行</el-button>
+        <el-button type="primary" size="small" @click="delRowFn"
+          >删除行</el-button
+        >
       </div>
     </div>
   </div>
@@ -277,6 +272,8 @@ import {
   getCustomerList,
   getFinanceCustomerList,
   getFinanceOtherReceAdd,
+  getFinanceOtherReceApply,
+  getFinanceOtherReceList,
 } from "@/api/finance/receivable_list";
 export default {
   data() {
@@ -284,33 +281,67 @@ export default {
       searchForm: {
         source: "",
         theTime: "",
+        billType: "其他应收单",
+        examineStatus: "",
       },
       dataList: [],
       customerList: [], //经销商数据
       listLoading: false, // 列表加载loading
       walletList: [], //现金钱包数据
+      delIndex: null,
     };
   },
   created() {
     this.getCustomerList();
   },
   methods: {
+    //重置
+    resetFn() {
+      this.dataList = [];
+      this.searchForm = {};
+    },
+    rouClassNameFn({ row, rowIndex }) {
+      //把每一行的索引放进row
+      row.index = rowIndex;
+    },
+    onRowClick(row, event, column) {
+      this.delIndex = row.index;
+    },
+    //删除行
+    delRowFn() {
+      this.dataList.splice(this.delIndex, 1);
+    },
+
     //新增
     async addFn() {
+      this.dataList.forEach((v) => {
+        let res = this.customerList.filter((i) => i.id == v.customerId);
+        console.log(res);
+        v.customerName = res[0].name;
+        v.customerNumber = res[0].number;
+        let res2 = this.walletList.filter((j) => j.mainId == v.walletId);
+        v.customerWalletId = res2[0].customerWalletId;
+      });
       console.log(this.dataList);
-      console.log(this.searchForm);
       await getFinanceOtherReceAdd({
         items: this.dataList,
         ...this.searchForm,
       });
+      const res = await getFinanceOtherReceList({ pageSize: 1, pageNum: 1 });
+      await getFinanceOtherReceApply({ id: res.data.records[0].id });
+      this.$message.success("提审成功");
+      this.$emit("updateList");
+      this.resetFn();
     },
     //选择经销商名称事件
-    async changeCustomerFn(v) {
+    async changeCustomerFn(v, index) {
       console.log(v);
       const res = await getFinanceCustomerList({
         customerId: v,
         type: "COMMONLY",
       });
+      this.$set(this.dataList[index], "walletList", res.data);
+      console.log(this.dataList, "kkk");
       this.walletList = res.data;
     },
     //获取经销商数据
@@ -339,5 +370,8 @@ export default {
 };
 </script>
 
-<style>
+<style lang="scss" scoped>
+.selectStyle {
+  width: 100%;
+}
 </style>

+ 164 - 85
src/views/finance/components/receivable_list-approval.vue

@@ -18,107 +18,92 @@
         <el-row :gutter="20">
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="单据类型" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="往来单位类型" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="结算组织" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="单据来源" prop="">
-              <el-input placeholder="请输入"></el-input>
+              <el-input
+                disabled
+                v-model="searchForm.billType"
+                placeholder="请输入"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="单据编号" prop="">
-              <el-input placeholder="请输入"></el-input>
+              <el-input
+                disabled
+                v-model="searchForm.code"
+                placeholder="请输入"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="往来单位" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="收款组织" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="备注" prop="">
-              <el-input placeholder="请输入"></el-input>
+            <el-form-item label="单据来源" prop="">
+              <el-input
+                disabled
+                v-model="searchForm.source"
+                placeholder="请输入"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="业务日期" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="币别" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="销售组织" prop="">
-              <el-input placeholder="请输入"></el-input>
+              <el-input
+                disabled
+                v-model="searchForm.theTime"
+                placeholder="请输入"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="到期日" prop="">
-              <el-input placeholder="请输入"></el-input>
+              <el-input
+                disabled
+                v-model="searchForm.endTime"
+                placeholder="请输入"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="总金额" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="部门" prop="">
-              <el-input placeholder="请输入"></el-input>
+              <el-input
+                disabled
+                v-model="searchForm.totalAmount"
+                placeholder="请输入"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="单据状态" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="申请部门" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="组" prop="">
-              <el-input placeholder="请输入"></el-input>
+            <el-form-item label="制单人" prop="">
+              <el-input
+                disabled
+                v-model="searchForm.createBy"
+                placeholder="请输入"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="制单日期" prop="">
-              <el-input placeholder="请输入"></el-input>
+              <el-input
+                disabled
+                v-model="searchForm.createTime"
+                placeholder="请输入"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="制单人" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="钱包" prop="">
-              <el-input placeholder="请输入"></el-input>
+            <el-form-item label="单据状态" prop="">
+              <el-input
+                disabled
+                v-model="searchForm.examineStatus"
+                placeholder="请输入"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="业务员" prop="">
-              <el-input placeholder="请输入"></el-input>
+            <el-form-item label="备注" prop="">
+              <el-input
+                disabled
+                v-model="searchForm.remark"
+                placeholder="请输入"
+              ></el-input>
             </el-form-item>
           </el-col>
         </el-row>
@@ -141,26 +126,48 @@
           <el-table-column
             label="序号"
             align="center"
-            min-width="100"
+            type="index"
+            width="100"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="经销商编号"
+            prop="customerNumber"
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="经销商名称"
+            prop="customerName"
+            min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="*费用项目编码"
-            prop=""
+            prop="projectCode"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="项目费用名称"
-            prop=""
+            prop="projectName"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="*费用承担部门"
+            prop="departmentId"
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="现金钱包"
             prop=""
             min-width="160"
             show-overflow-tooltip
@@ -168,35 +175,35 @@
           <el-table-column
             align="center"
             label="*发票类型"
-            prop=""
+            prop="invoiceType"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="不含税金额"
-            prop=""
+            prop="afterTaxAmount"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="税额"
-            prop=""
+            prop="tax"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="总金额"
-            prop=""
+            prop="totalAmount"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="备注"
-            prop=""
+            prop="remark"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
@@ -210,21 +217,24 @@
       <el-row :gutter="0">
         <el-col :span="12" class="item">
           <div class="label">审批人</div>
-          <div class="value">2022123233435342</div>
+          <div class="value">{{ this.name }}</div>
         </el-col>
         <el-col :span="12" class="item">
           <div class="label">审批结果</div>
           <div class="value">
-            <el-radio-group>
-              <el-radio :label="true">通过</el-radio>
-              <el-radio :label="false">驳回</el-radio>
-            </el-radio-group>
+            <div class="value">
+              <el-radio v-model="examineStatus" label="OK">通过</el-radio>
+              <el-radio v-model="examineStatus" label="FALL">驳回</el-radio>
+            </div>
           </div>
         </el-col>
         <el-col :span="24" class="item">
           <div class="label">审批说明</div>
           <div class="value">
-            <el-input placeholder="请输入内容"></el-input>
+            <el-input
+              v-model="examineRemark"
+              placeholder="请输入内容"
+            ></el-input>
           </div>
         </el-col>
       </el-row>
@@ -233,16 +243,85 @@
     <!-- 按钮 -->
     <div class="btn-group clearfix">
       <div class="fl">
-        <el-button type="primary" size="small">提交审批</el-button>
-        <el-button type="primary" size="small">重置</el-button>
+        <el-button type="primary" size="small" @click="btnOK"
+          >提交审批</el-button
+        >
+        <el-button type="primary" size="small" @click="resetFn">重置</el-button>
       </div>
     </div>
   </div>
 </template>
 
 <script>
+import {
+  getFinanceOtherReceDetail,
+  getFinanceOtherReceExamine,
+} from "@/api/finance/receivable_list";
+import { mapGetters } from "vuex";
 export default {
+  props: {
+    approvalId: {
+      type: String,
+      required: true,
+    },
+  },
+  data() {
+    return {
+      examineRemark: "",
+      examineStatus: "",
+      dataList: [],
+      listLoading: false, // 列表加载loading
+      searchForm: {
+        billType: "",
+        code: "",
+        source: "",
+        theTime: "",
+        endTime: "",
+        totalAmount: "",
+        create: "",
+        createTime: "",
+        examineStatus: "",
+        remark: "",
+      },
+    };
+  },
+  computed: { ...mapGetters(["name"]) },
+  created() {
+    this.getDataList();
+  },
   methods: {
+    //重置
+    resetFn() {
+      this.examineRemark = "";
+      this.examineStatus = "";
+    },
+    //审核
+    async btnOK() {
+      await getFinanceOtherReceExamine({
+        id: this.approvalId,
+        examineRemark: this.examineRemark,
+        examineStatus: this.examineStatus,
+      });
+      this.$emit("updateList");
+      this.$message.success("审核成功");
+    },
+    async getDataList() {
+      const res = await getFinanceOtherReceDetail({ id: this.approvalId });
+      console.log(res);
+      this.searchForm = {
+        billType: res.data.billType,
+        code: res.data.code,
+        source: res.data.source,
+        theTime: res.data.theTime,
+        endTime: res.data.endTime,
+        totalAmount: res.data.totalAmount,
+        create: res.data.create,
+        createTime: res.data.createTime,
+        examineStatus: res.data.examineStatus,
+        remark: res.data.remark,
+      };
+      this.dataList = res.data.items;
+    },
     goBack() {
       this.$parent.showPage = 1;
     },

+ 128 - 90
src/views/finance/components/receivable_list-detail.vue

@@ -18,107 +18,74 @@
         <el-row :gutter="20">
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="单据类型" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="往来单位类型" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="结算组织" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="单据来源" prop="">
-              <el-input placeholder="请输入"></el-input>
+              <el-input
+                disabled
+                v-model="searchForm.billType"
+                placeholder="请输入"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="单据编号" prop="">
-              <el-input placeholder="请输入"></el-input>
+              <el-input
+                disabled
+                v-model="searchForm.code"
+                placeholder="请输入"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="往来单位" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="收款组织" prop="">
-              <el-input placeholder="请输入"></el-input>
+            <el-form-item label="单据来源" prop="">
+              <el-input
+                disabled
+                v-model="searchForm.source"
+                placeholder="请输入"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="备注" prop="">
-              <el-input placeholder="请输入"></el-input>
+            <el-form-item label="单据状态" prop="">
+              <el-input
+                disabled
+                v-model="searchForm.examineStatus"
+                placeholder="请输入"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="业务日期" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="币别" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="销售组织" prop="">
-              <el-input placeholder="请输入"></el-input>
+              <el-input
+                disabled
+                v-model="searchForm.theTime"
+                placeholder="请输入"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="到期日" prop="">
-              <el-input placeholder="请输入"></el-input>
+              <el-input
+                disabled
+                v-model="searchForm.endTime"
+                placeholder="请输入"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
             <el-form-item label="总金额" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="部门" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="单据状态" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="申请部门" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="组" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="制单日期" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="制单人" prop="">
-              <el-input placeholder="请输入"></el-input>
+              <el-input
+                disabled
+                v-model="searchForm.totalAmount"
+                placeholder="请输入"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="钱包" prop="">
-              <el-input placeholder="请输入"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :xs="24" :sm="12" :lg="6">
-            <el-form-item label="业务员" prop="">
-              <el-input placeholder="请输入"></el-input>
+            <el-form-item label="备注" prop="">
+              <el-input
+                disabled
+                v-model="searchForm.remark"
+                placeholder="请输入"
+              ></el-input>
             </el-form-item>
           </el-col>
         </el-row>
@@ -141,26 +108,48 @@
           <el-table-column
             label="序号"
             align="center"
-            min-width="100"
+            type="index"
+            width="100"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="经销商编号"
+            prop="customerNumber"
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="经销商名称"
+            prop="customerName"
+            min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="*费用项目编码"
-            prop=""
+            prop="projectCode"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="项目费用名称"
-            prop=""
+            prop="projectName"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="*费用承担部门"
+            prop="departmentId"
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="现金钱包"
             prop=""
             min-width="160"
             show-overflow-tooltip
@@ -168,35 +157,35 @@
           <el-table-column
             align="center"
             label="*发票类型"
-            prop=""
+            prop="invoiceType"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="不含税金额"
-            prop=""
+            prop="afterTaxAmount"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="税额"
-            prop=""
+            prop="tax"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="总金额"
-            prop=""
+            prop="totalAmount"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
           <el-table-column
             align="center"
             label="备注"
-            prop=""
+            prop="remark"
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
@@ -210,25 +199,25 @@
       <el-row :gutter="0">
         <el-col :span="8" class="item">
           <div class="label">审批人</div>
-          <div class="value">2022123233435342</div>
+          <div class="value">{{ this.examineBy }}</div>
         </el-col>
         <el-col :span="8" class="item">
           <div class="label">审批结果</div>
           <div class="value">
-            <el-radio-group>
-              <el-radio :label="true">通过</el-radio>
-              <el-radio :label="false">驳回</el-radio>
+            <el-radio-group v-model="examineStatus">
+              <el-radio disabled label="OK">通过</el-radio>
+              <el-radio disabled label="FAIL">驳回</el-radio>
             </el-radio-group>
           </div>
         </el-col>
         <el-col :span="8" class="item">
           <div class="label">审批时间</div>
-          <div class="value">2022-09-12012:23</div>
+          <div class="value">{{ this.examineTime }}</div>
         </el-col>
         <el-col :span="24" class="item">
           <div class="label">审批说明</div>
           <div class="value">
-            <el-input placeholder="请输入内容"></el-input>
+            {{ this.examineRemark }}
           </div>
         </el-col>
       </el-row>
@@ -238,8 +227,57 @@
 </template>
 
 <script>
+import { getFinanceOtherReceDetail } from "@/api/finance/receivable_list";
 export default {
+  props: {
+    approvalId: {
+      type: String,
+      required: true,
+    },
+  },
+  data() {
+    return {
+      dataList: [],
+      listLoading: false, // 列表加载loading
+      examineBy: "", //审核人
+      examineTime: "", //审核时间
+      examineStatus: null, //审核状态
+      examineRemark: "", //审核备注
+      searchForm: {
+        billType: "",
+        code: "",
+        source: "",
+        theTime: "",
+        endTime: "",
+        totalAmount: "",
+        examineStatus: "",
+        remark: "",
+      },
+    };
+  },
+  created() {
+    this.getDataList();
+  },
   methods: {
+    async getDataList() {
+      const res = await getFinanceOtherReceDetail({ id: this.approvalId });
+      console.log(res);
+      this.examineBy = res.data.examineBy;
+      this.examineTime = res.data.examineTime;
+      this.examineStatus = res.data.examineStatus;
+      this.examineRemark = res.data.examineRemark;
+      this.searchForm = {
+        billType: res.data.billType,
+        code: res.data.code,
+        source: res.data.source,
+        theTime: res.data.theTime,
+        endTime: res.data.endTime,
+        totalAmount: res.data.totalAmount,
+        examineStatus: res.data.examineStatus == "OK" ? "已通过" : "驳回",
+        remark: res.data.remark,
+      };
+      this.dataList = res.data.items;
+    },
     goBack() {
       this.$parent.showPage = 1;
     },

+ 14 - 0
src/views/finance/finance_sum.vue

@@ -75,6 +75,20 @@
           ></el-table-column>
           <el-table-column
             align="center"
+            label="可用信用额度"
+            prop="freezeCreditAmount"
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="已用信用额度"
+            prop="usedCreditAmount"
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
             label="更新时间"
             prop="theTime"
             min-width="160"

+ 157 - 45
src/views/finance/receivable_list.vue

@@ -2,10 +2,10 @@
   <div class="app-container">
     <div v-if="showPage == 1">
       <el-radio-group v-model="examine" size="">
-        <el-radio-button label="全部"></el-radio-button>
-        <el-radio-button label="待审核"></el-radio-button>
-        <el-radio-button label="审核通过"></el-radio-button>
-        <el-radio-button label="审核驳回"></el-radio-button>
+        <el-radio-button label="">全部</el-radio-button>
+        <el-radio-button label="WAIT">待审核</el-radio-button>
+        <el-radio-button label="OK">审核通过</el-radio-button>
+        <el-radio-button label="FAIL">审核驳回</el-radio-button>
       </el-radio-group>
       <br /><br />
       <!-- 筛选条件 -->
@@ -19,37 +19,65 @@
         >
           <el-row :gutter="20">
             <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="工程押金" prop="">
-                <el-select class="selectStyle" placeholder="请选择">
-                  <el-option> </el-option>
+              <el-form-item label="单据来源" prop="source">
+                <el-select
+                  v-model="searchForm.source"
+                  class="selectStyle"
+                  placeholder="请选择"
+                >
+                  <el-option value="工程押金"> </el-option>
+                  <el-option value="保证金"> </el-option>
+                  <el-option value="工程价差"> </el-option>
                 </el-select>
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="单据编号" prop="">
-                <el-input placeholder="请输入"></el-input>
+              <el-form-item label="单据编号" prop="code">
+                <el-input
+                  v-model="searchForm.code"
+                  placeholder="请输入"
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="往来单位" prop="">
-                <el-input placeholder="请输入"></el-input>
+              <el-form-item label="往来单位" prop="userName">
+                <el-input
+                  v-model="searchForm.userName"
+                  placeholder="请输入"
+                ></el-input>
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="申请部门" prop="">
-                <el-input placeholder="请输入"></el-input>
+              <el-form-item label="业务开始时间" prop="startTime">
+                <el-date-picker
+                  class="dateStyle"
+                  v-model="searchForm.startTime"
+                  placeholder="选择日期"
+                  type="datetime"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                >
+                </el-date-picker>
               </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12" :lg="6">
-              <el-form-item label="业务日期" prop="">
-                <el-input placeholder="请输入"></el-input>
+              <el-form-item label="业务结束时间" prop="endTime">
+                <el-date-picker
+                  class="dateStyle"
+                  v-model="searchForm.endTime"
+                  placeholder="选择日期"
+                  type="datetime"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                >
+                </el-date-picker>
               </el-form-item>
             </el-col>
 
             <el-col :xs="24" :sm="24" :lg="18">
               <el-form-item label="" class="fr">
-                <el-button size="small">清空</el-button>
-                <el-button size="small" type="primary">搜索</el-button>
+                <el-button size="small" @click="clearFn">清空</el-button>
+                <el-button size="small" type="primary" @click="searchFn"
+                  >搜索</el-button
+                >
               </el-form-item>
             </el-col>
           </el-row>
@@ -59,13 +87,12 @@
       <div class="btn-group clearfix">
         <div class="fl">
           <el-button type="primary" size="small" @click="addFn">新建</el-button>
-          <el-button type="primary" size="small">删除</el-button>
-          <el-button type="primary" size="small" @click="approvalFn"
-            >审批</el-button
-          >
-          <el-button type="primary" size="small" @click="detailFn"
-            >详情</el-button
-          >
+
+          <el-popconfirm @onConfirm="deleFn" title="这是一段内容确定删除吗?">
+            <el-button slot="reference" type="primary" size="small"
+              >批量删除</el-button
+            >
+          </el-popconfirm>
         </div>
         <div class="fr">
           <el-button type="primary" size="small">导出</el-button>
@@ -82,72 +109,87 @@
             fit
             highlight-current-row
             stripe
+            @selection-change="selectionChangeFn"
           >
             <el-table-column align="center" type="selection" width="100">
             </el-table-column>
             <el-table-column
               align="center"
               label="单据类型"
-              prop=""
+              prop="billType"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="单据来源"
-              prop=""
+              prop="source"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="单据编码"
-              prop=""
+              prop="code"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="业务日期"
-              prop=""
+              prop="theTime"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="往来单位类型"
-              prop=""
+              prop="userType"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="往来单位"
-              prop=""
+              prop="userName"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="币别"
-              prop=""
+              prop="amountType"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="总金额"
-              prop=""
+              prop="totalAmount"
               min-width="160"
               show-overflow-tooltip
             ></el-table-column>
             <el-table-column
               align="center"
               label="单据状态"
-              prop=""
+              prop="examineStatus"
               min-width="160"
               show-overflow-tooltip
-            ></el-table-column>
+            >
+              <template slot-scope="scope">
+                <el-tag v-show="scope.row.examineStatus == 'SAVE'">保存</el-tag>
+                <el-tag v-show="scope.row.examineStatus == 'WAIT'"
+                  >待审核</el-tag
+                >
+                <el-tag v-show="scope.row.examineStatus == 'OK'">通过</el-tag>
+                <el-tag v-show="scope.row.examineStatus == 'FAIL'"
+                  >不通过</el-tag
+                >
+                <el-tag v-show="scope.row.examineStatus == 'CLOSE'"
+                  >已关闭</el-tag
+                >
+              </template>
+            </el-table-column>
 
             <el-table-column
               align="center"
@@ -156,11 +198,21 @@
               show-overflow-tooltip
               fixed="right"
             >
-              <template slot-scope="">
-                <el-button type="text" class="textColor" slot="reference"
+              <template slot-scope="scope">
+                <el-button
+                  v-if="
+                    scope.row.examineStatus == 'WAIT' ||
+                    scope.row.examineStatus == 'FAIL'
+                  "
+                  type="text"
+                  class="textColor"
+                  @click="approvalFn(scope.row.id)"
                   >审批</el-button
                 >
-                <el-button type="text" class="textColor" slot="reference"
+                <el-button
+                  type="text"
+                  class="textColor"
+                  @click="detailFn(scope.row.id)"
                   >详情</el-button
                 >
               </template>
@@ -180,14 +232,21 @@
         </div>
       </div>
     </div>
-    <ReceivableListAdd v-else-if="showPage == 2" />
-    <ReceivableListApproval v-else-if="showPage == 3" />
-    <ReceivableListDetail v-else-if="showPage == 4" />
+    <ReceivableListAdd @updateList="updateList" v-else-if="showPage == 2" />
+    <ReceivableListApproval
+      :approvalId="approvalId"
+      @updateList="updateList"
+      v-else-if="showPage == 3"
+    />
+    <ReceivableListDetail :approvalId="approvalId" v-else-if="showPage == 4" />
   </div>
 </template>
 
 <script>
-import { getFinanceOtherReceAdd } from "@/api/finance/receivable_list";
+import {
+  getFinanceOtherReceList,
+  getFinanceOtherReceDelete,
+} from "@/api/finance/receivable_list";
 import ReceivableListAdd from "./components/receivable_list-add";
 import ReceivableListApproval from "./components/receivable_list-approval";
 import ReceivableListDetail from "./components/receivable_list-detail";
@@ -203,19 +262,69 @@ export default {
       pageSize: 10, // 每页数量
       listTotal: 0, // 列表总数
       dataList: [], // 列表数据
-      searchForm: {}, //搜索表单
+      searchForm: {
+        source: "",
+        code: "",
+        userName: "",
+      }, //搜索表单
       listLoading: false, // 列表加载loading
-      examine: "全部",
+      examine: "",
       showPage: 1,
+      approvalId: null,
+      deleList: null,
     };
   },
+  created() {
+    this.getDataList({ pageSize: this.pageSize, pageNum: this.currentPage });
+  },
   methods: {
+    //清除
+    async clearFn() {
+      await this.$refs.searchForm.resetFields();
+      this.examine = "";
+    },
+    //搜索
+    searchFn() {
+      this.getDataList({
+        ...this.searchForm,
+        examineStatus: this.examine,
+        pageSize: this.pageSize,
+        pageNum: this.currentPage,
+      });
+    },
+    //删除
+    async deleFn() {
+      let res = this.deleList.toString();
+      console.log(res);
+      await getFinanceOtherReceDelete({ ids: res });
+      this.getDataList({ pageSize: this.pageSize, pageNum: this.currentPage });
+      this.$message.success("删除成功");
+    },
+    selectionChangeFn(value) {
+      console.log(value);
+      const res = value.map((v) => v.id);
+      console.log(res);
+      this.deleList = res;
+    },
+    //新建后更新列表
+    updateList() {
+      this.getDataList({ pageSize: this.pageSize, pageNum: this.currentPage });
+    },
+    //获取来列表数据
+    async getDataList(data) {
+      const res = await getFinanceOtherReceList(data);
+      console.log(res);
+      this.dataList = res.data.records;
+      this.listTotal = res.data.total;
+    },
     //详情
-    detailFn() {
+    detailFn(id) {
+      this.approvalId = id;
       this.showPage = 4;
     },
     //审批
-    approvalFn() {
+    approvalFn(id) {
+      this.approvalId = id;
       this.showPage = 3;
     },
     //新建
@@ -229,4 +338,7 @@ export default {
 .selectStyle {
   width: 100%;
 }
+.dateStyle {
+  width: 100%;
+}
 </style>

+ 17 - 0
src/views/finance/wallet.vue

@@ -48,6 +48,20 @@
           ></el-table-column>
           <el-table-column
             align="center"
+            label="可用信用额度"
+            prop="freeCreditAmount"
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            label="已用信用额度"
+            prop="usedCreditAmount"
+            min-width="160"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            align="center"
             label="更新时间"
             prop="updateTime"
             min-width="160"
@@ -84,6 +98,7 @@
             min-width="160"
             show-overflow-tooltip
           ></el-table-column>
+
           <el-table-column
             align="center"
             label="更新时间"
@@ -120,6 +135,8 @@ export default {
     //一键生成
     async generateFn() {
       await getfinanceInit({ customerId: this.customerId });
+      this.getDataWallet();
+      this.getDataRebate();
       this.$message.success("已生成");
     },
     //