zouyu
2025-03-05 42f135086753fc6784e1b4894a4fcc6164a06669
src/views/system/customer/index.vue
@@ -2,26 +2,62 @@
  <div class="app-container">
    <div class="search">
      <div>
        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
        <el-form
          :model="queryParams"
          ref="queryForm"
          size="small"
          :inline="true"
        >
          <el-form-item label="客户名称" prop="company">
            <el-input size="small" placeholder="请输入" clearable v-model="queryParams.company"
              @keyup.enter.native="getList"></el-input>
            <el-input
              size="small"
              placeholder="请输入"
              clearable
              v-model="queryParams.company"
              @keyup.enter.native="getList"
            ></el-input>
          </el-form-item>
          <el-form-item>
            <el-button type="primary" icon="el-icon-search" size="mini" @click="getList">查 询</el-button>
            <el-button icon="el-icon-refresh" size="mini" @click="refresh">重 置</el-button>
            <el-button
              type="primary"
              icon="el-icon-search"
              size="mini"
              @click="getList"
              >查 询</el-button
            >
            <el-button icon="el-icon-refresh" size="mini" @click="refresh"
              >重 置</el-button
            >
          </el-form-item>
        </el-form>
      </div>
      <div>
        <el-button size="small" type="primary" @click="openFormDia('add')" icon="el-icon-plus">新增</el-button>
        <el-button
          size="small"
          type="primary"
          @click="openFormDia('add')"
          icon="el-icon-plus"
          >新增</el-button
        >
      </div>
    </div>
    <div>
      <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading"></lims-table>
      <lims-table
        :tableData="tableData"
        @pagination="pagination"
        :column="column"
        :page="page"
        :tableLoading="tableLoading"
      ></lims-table>
    </div>
    <el-dialog :title="formTitle" :visible.sync="addDia" width="450px">
      <el-form ref="userForm" :model="user" :rules="userRules" label-position="right" label-width="100px">
      <el-form
        ref="userForm"
        :model="user"
        :rules="userRules"
        label-position="right"
        label-width="100px"
      >
        <el-form-item label="客户名称" prop="company">
          <el-input v-model="user.company" size="small" clearable></el-input>
        </el-form-item>
@@ -29,18 +65,33 @@
          <el-input v-model="user.companyEn" size="small" clearable></el-input>
        </el-form-item>
        <el-form-item label="单位地址" prop="address">
          <el-input type="textarea" v-model="user.address" size="small" clearable
            :autosize="{ minRows: 2, maxRows: 4 }"></el-input>
          <el-input
            type="textarea"
            v-model="user.address"
            size="small"
            clearable
            :autosize="{ minRows: 2, maxRows: 4 }"
          ></el-input>
        </el-form-item>
        <el-form-item label="单位地址EN" prop="addressEn">
          <el-input type="textarea" v-model="user.addressEn" size="small" clearable
            :autosize="{ minRows: 2, maxRows: 4 }"></el-input>
          <el-input
            type="textarea"
            v-model="user.addressEn"
            size="small"
            clearable
            :autosize="{ minRows: 2, maxRows: 4 }"
          ></el-input>
        </el-form-item>
        <el-form-item label="单位电话" prop="phone">
          <el-input v-model="user.phone" size="small" clearable></el-input>
        </el-form-item>
        <el-form-item label="加急额度" prop="num">
          <el-input v-model="user.num" size="small" clearable></el-input>
          <el-input-number
            v-model="user.num"
            size="small"
            clearable
            :min="0"
          ></el-input-number>
        </el-form-item>
        <el-form-item label="客户编号" prop="code2">
          <el-input v-model="user.code2" size="small" clearable></el-input>
@@ -51,7 +102,9 @@
      </el-form>
      <span slot="footer" class="dialog-footer">
        <el-button @click="reset">取 消</el-button>
        <el-button type="primary" @click="customAdd" :loading="loading">确 定</el-button>
        <el-button type="primary" @click="customAdd" :loading="loading"
          >确 定</el-button
        >
      </span>
    </el-dialog>
  </div>
@@ -62,6 +115,7 @@
import {
  addCustom,
  selectCustomPageList,
  delCustomById,
  upCustom,
} from "@/api/system/customer";
export default {
@@ -89,10 +143,31 @@
          label: "操作",
          operation: [
            {
              name: "委托记录",
              type: "text",
              clickFun: (row) => {
                console.log(row);
              },
            },
            {
              name: "协议记录",
              type: "text",
              clickFun: (row) => {
                console.log(row);
              },
            },
            {
              name: "编辑",
              type: "text",
              clickFun: (row) => {
                this.openFormDia("edit", row);
              },
            },
            {
              name: "删除",
              type: "text",
              clickFun: (row) => {
                this.delCustomRow(row);
              },
            },
          ],
@@ -133,7 +208,19 @@
  mounted() {
    this.getList();
  },
  watch: {
    addDia(newVal) {
      if (!newVal) {
        this.user = {};
      }
    },
  },
  methods: {
    pagination({ page, limit }) {
      this.page.current = page;
      this.page.size = limit;
      this.getList();
    },
    // 查询客户列表
    getList() {
      this.tableLoading = true;
@@ -141,8 +228,8 @@
        .then((res) => {
          this.tableLoading = false;
          if (res.code === 200) {
            this.tableData = res.data;
            this.page.total = res.total;
            this.tableData = res.data.records;
            this.page.total = res.data.total;
          }
        })
        .catch((err) => {
@@ -155,9 +242,28 @@
      this.getList();
    },
    openFormDia(type, row) {
      this.addDia = true;
      this.formTitle = type === "add" ? "新增客户" : "编辑客户";
      this.operationType = type;
      if (row) {
        this.user = this.HaveJson(row);
      }
      this.addDia = true;
    },
    delCustomRow(row) {
      this.$confirm("确认删除该条客户记录吗?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          delCustomById({ id: row.id }).then((res) => {
            if (res.status === 200) {
              this.$message.success("删除成功");
            }
            this.getList();
          });
        })
        .catch(() => {});
    },
    customAdd() {
      this.$refs["userForm"].validate((valid) => {