曹睿
昨天 41a76543a91e6c39c6ec66e0f2af8244500d1b0b
src/views/salesManagement/salesLedger/index.vue
@@ -1,58 +1,70 @@
<template>
  <div class="app-container">
    <div class="search_form">
      <div>
        <span class="search_title">客户名称:</span>
        <el-input
          v-model="searchForm.customerName"
          style="width: 150px"
          placeholder="请输入"
          @change="handleQuery"
          clearable
          prefix-icon="Search"
        />
        <span class="search_title ml-10">客户合同号:</span>
        <el-input
          v-model="searchForm.customerContractNo"
          style="width: 150px"
          placeholder="请输入"
          @change="handleQuery"
          clearable
          prefix-icon="Search"
        />
        <span class="search_title ml-10">销售合同号:</span>
        <el-input
          v-model="searchForm.salesContractNo"
          style="width: 150px"
          placeholder="请输入"
          @change="handleQuery"
          clearable
          prefix-icon="Search"
        />
        <span class="search_title ml-10">项目名称:</span>
        <el-input
          v-model="searchForm.projectName"
          style="width: 150px"
          placeholder="请输入"
          @change="handleQuery"
          clearable
          prefix-icon="Search"
        />
        <el-button
          type="primary"
          @click="handleQuery"
          style="margin-left: 10px"
        >
          搜索
        </el-button>
      </div>
      <div>
        <el-button type="primary" @click="openForm('add')">新增台账</el-button>
        <el-button @click="handleOut">导出</el-button>
        <el-button type="danger" plain @click="handleDelete">删除</el-button>
      </div>
      <el-form :model="searchForm" :inline="true">
        <el-form-item label="客户名称:">
          <el-input
            v-model="searchForm.customerContractNo"
            placeholder="请输入"
            clearable
            prefix-icon="Search"
            @change="handleQuery"
          />
        </el-form-item>
        <el-form-item label="客户合同号:">
          <el-input
            v-model="searchForm.customerContractNo"
            placeholder="请输入"
            clearable
            prefix-icon="Search"
            @change="handleQuery"
          />
        </el-form-item>
        <el-form-item label="销售合同号:">
          <el-input
            v-model="searchForm.salesContractNo"
            placeholder="请输入"
            clearable
            prefix-icon="Search"
            @change="handleQuery"
          />
        </el-form-item>
        <el-form-item label="项目名称:">
          <el-input
            v-model="searchForm.projectName"
            placeholder="请输入"
            clearable
            prefix-icon="Search"
            @change="handleQuery"
          />
        </el-form-item>
        <el-form-item label="录入日期:">
          <el-date-picker
            v-model="searchForm.entryDate"
            value-format="YYYY-MM-DD"
            format="YYYY-MM-DD"
            type="date"
            placeholder="请选择"
            clearable
            @change="handleQuery"
          />
        </el-form-item>
        <el-form-item>
          <el-button type="primary" @click="handleQuery"> 搜索 </el-button>
        </el-form-item>
      </el-form>
    </div>
    <div class="table_list">
      <div class="actions">
        <div></div>
        <div>
          <el-button type="primary" @click="openForm('add')">
            新增台账
          </el-button>
          <el-button @click="handleOut">导出</el-button>
          <el-button type="danger" plain @click="handleDelete">删除</el-button>
        </div>
      </div>
      <el-table
        :data="tableData"
        border
@@ -133,6 +145,11 @@
          label="项目名称"
          prop="projectName"
          width="180"
          show-overflow-tooltip
        />
        <el-table-column
          label="付款方式"
          prop="paymentMethod"
          show-overflow-tooltip
        />
        <el-table-column
@@ -307,6 +324,17 @@
                format="YYYY-MM-DD"
                type="date"
                placeholder="请选择"
                clearable
              />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="付款方式">
              <el-input
                v-model="form.paymentMethod"
                placeholder="请输入"
                clearable
              />
            </el-form-item>
@@ -590,6 +618,9 @@
  delLedgerFile,
} from "@/api/salesManagement/salesLedger.js";
import { modelList, productTreeList } from "@/api/basicData/product.js";
import useFormData from "@/hooks/useFormData.js";
import dayjs from "dayjs";
const userStore = useUserStore();
const { proxy } = getCurrentInstance();
const tableData = ref([]);
@@ -615,8 +646,9 @@
  searchForm: {
    customerName: "", // 客户名称
    customerContractNo: "", // 客户合同编号
    salesContractNo: "",  // 销售合同编号
    projectName: "",  // 项目名称
    salesContractNo: "", // 销售合同编号
    projectName: "", // 项目名称
    entryDate: dayjs().format("YYYY-MM-DD"), // 录入日期
  },
  form: {
    salesContractNo: "",
@@ -629,6 +661,7 @@
    maintenanceTime: "",
    productData: [],
    executionDate: "",
    paymentMethod: "",
  },
  rules: {
    salesman: [{ required: true, message: "请选择", trigger: "change" }],
@@ -642,7 +675,8 @@
    executionDate: [{ required: true, message: "请选择", trigger: "change" }],
  },
});
const { searchForm, form, rules } = toRefs(data);
const { form, rules } = toRefs(data);
const { form: searchForm } = useFormData(data.searchForm);
// 产品表单弹框数据
const productFormVisible = ref(false);
const productOperationType = ref("");
@@ -700,7 +734,7 @@
};
const getList = () => {
  tableLoading.value = true;
  ledgerListPage({ ...searchForm.value, ...page })
  ledgerListPage({ ...searchForm, ...page })
    .then((res) => {
      tableLoading.value = false;
      tableData.value = res.records;
@@ -786,7 +820,7 @@
      productList({ salesLedgerId: row.id, type: 1 }).then((res) => {
        const index = tableData.value.findIndex((item) => item.id === row.id);
        if (index > -1) {
          tableData.value[index].children = res;
          tableData.value[index].children = res.data;
        }
        expandedRowKeys.value.push(row.id);
      });
@@ -849,10 +883,10 @@
// 上传前校检
function handleBeforeUpload(file) {
  // 校检文件大小
  if (file.size > 1024 * 1024 * 10) {
    proxy.$modal.msgError("上传文件大小不能超过10MB!");
    return false;
  }
  // if (file.size > 1024 * 1024 * 10) {
  //   proxy.$modal.msgError("上传文件大小不能超过10MB!");
  //   return false;
  // }
  proxy.$modal.loading("正在上传文件,请稍候...");
  return true;
}
@@ -1068,4 +1102,12 @@
.ml-10 {
  margin-left: 10px;
}
.table_list {
  margin-top: unset;
}
.actions {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
}
</style>