瀏覽代碼

沟通管理-部分提交

taoyuqing 2 年之前
父節點
當前提交
ae99cba755
共有 2 個文件被更改,包括 290 次插入0 次删除
  1. 11 0
      src/api/contact.js
  2. 279 0
      src/views/modules/contact/manage.vue

+ 11 - 0
src/api/contact.js

@@ -0,0 +1,11 @@
+import request from "@/utils/httpRequest";
+
+// 查询沟通类别列表
+export function getCusCommunicationTypeList(params) {
+  return request({
+    url: request.adornUrl(`/biz-service/cusCommunication/type/list`),
+    method: "get",
+    params: params,
+  });
+}
+

+ 279 - 0
src/views/modules/contact/manage.vue

@@ -0,0 +1,279 @@
+<template>
+  <div class="stock">
+    <template v-if="!addOrUpdateVisible">
+      <el-form :inline="true" :model="dataForm" @keyup.enter.native="search()">
+        <el-form-item label="客户名称">
+          <el-input
+            v-model="dataForm.customerName"
+            placeholder=""
+            clearable
+          />
+        </el-form-item>
+       <el-form-item label="内容">
+          <el-input
+            v-model="dataForm.optionName"
+            placeholder=""
+            clearable
+          />
+        </el-form-item>
+        <el-form-item label="部门">
+          <el-select v-model="dataForm.productId" filterable remote clearable placeholder="请选择">
+            <el-option
+                v-for="item in materialList"
+                :key="item.materialId"
+                :label="item.materialName"
+                :value="item.materialId"
+              >
+              </el-option>
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="沟通类别">
+          <el-select v-model="dataForm.productId" filterable remote clearable placeholder="请选择">
+            <el-option
+                v-for="item in typeList"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id"
+              >
+              </el-option>
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-button @click="search()">查询</el-button>
+          <el-button
+            v-if="isAuth('cus:customer:save')"
+            type="primary"
+            @click="addOrUpdateHandle(0, false)"
+            >录入</el-button
+          >
+        </el-form-item>
+      </el-form>
+      <el-table
+        :data="dataList"
+        border
+        v-loading="dataListLoading"
+        style="width: 100%"
+      >
+        <el-table-column label="序号" type="index" width="50" align="center">
+        </el-table-column>
+        <el-table-column
+          prop="coCode"
+          header-align="center"
+          align="center"
+          min-width="120"
+          :show-tooltip-when-overflow="true"
+          label="沟通编码"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="customerName"
+          header-align="center"
+          align="center"
+          min-width="120"
+          label="客户名称"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="contact"
+          header-align="center"
+          align="center"
+          min-width="120"
+          label="客户联系人"
+        > </el-table-column>
+        <el-table-column
+          prop="contactTel"
+          header-align="center"
+          align="center"
+          min-width="120"
+          label="客户联系人电话"
+        > </el-table-column>
+        <el-table-column
+          prop="way"
+          header-align="center"
+          align="center"
+          label="沟通方式"
+        > </el-table-column>
+        <el-table-column
+          prop="coTypeValue"
+          header-align="center"
+          align="center"
+          label="沟通类别"
+        > </el-table-column>
+        <el-table-column
+          prop="content"
+          header-align="center"
+          align="center"
+          label="内容"
+          :show-tooltip-when-overflow="true"
+        > </el-table-column>
+        <el-table-column
+          prop="notes"
+          header-align="center"
+          align="center"
+          label="备注"
+          :show-tooltip-when-overflow="true"
+        > </el-table-column>
+        <el-table-column
+          prop="creatorId"
+          header-align="center"
+          align="center"
+          label="沟通人"
+        > </el-table-column>
+        <el-table-column
+          prop="orgName"
+          header-align="center"
+          align="center"
+          label="部门"
+        > </el-table-column>
+        <el-table-column
+          prop="state"
+          header-align="center"
+          align="center"
+          label="审核状态"
+        > </el-table-column>
+        </el-table-column>
+        <el-table-column
+          fixed="right"
+          header-align="center"
+          align="center"
+          width="170"
+          min-width="170"
+          label="操作"
+        >
+          <template slot-scope="scope">
+            <el-button
+              v-if="isAuth('cus:customer:info')"
+              type="text"
+              size="small"
+              @click="detailHandle(scope.row.optionId)"
+              >查看</el-button
+            >
+            <el-button
+              v-if="isAuth('cus:customer:info')"
+              type="text"
+              size="small"
+              @click="detailHandle(scope.row.optionId)"
+              >撤回</el-button
+            >
+            <el-button
+              v-if="isAuth('cus:customer:update')"
+              type="text"
+              size="small"
+              @click="addOrUpdateHandle(scope.row.optionId, false)"
+              >编辑</el-button
+            >
+            <el-button
+              v-if="isAuth('cus:customer:update')"
+              type="text"
+              size="small"
+              @click="addOrUpdateHandle(scope.row.optionId, false)"
+              >导出</el-button
+            >
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+        @size-change="sizeChangeHandle"
+        @current-change="currentChangeHandle"
+        :current-page="pageIndex"
+        :page-sizes="[10, 20, 50, 100]"
+        :page-size="pageSize"
+        :total="totalPage"
+        layout="total, sizes, prev, pager, next, jumper"
+      >
+      </el-pagination>
+    </template>
+  </div>
+</template>
+
+<script>
+import { getCusCommunicationTypeList } from "@/api/contact";
+export default {
+  name: "contact-manage",
+  components: {},
+  data() {
+    return {
+      addOrUpdateVisible: false,
+      detailVisible: false,
+      noteChangeVisible: false,
+      attachVisible: false,
+      materialList: [],
+      dataForm: {
+        customerName: "",
+
+      },
+      options: [],
+      dataList: [],
+      typeList: [],
+      pageIndex: 1,
+      pageSize: 10,
+      totalPage: 0,
+      dataListLoading: false,
+    };
+  },
+  created() {
+    this.getDataList();
+    this.getCusCommunicationTypeList();
+  },
+  methods: {
+    onChose() {
+      this.addOrUpdateVisible = false;
+      this.detailVisible = false;
+      this.noteChangeVisible = false;
+      this.attachVisible = false;
+    },
+    //沟通类别列表
+    getCusCommunicationTypeList(){
+        getCusCommunicationTypeList().then(({data}) => {
+            if (data && data.code === "200") {
+                this.typeList = data.data;
+                } 
+        })
+    },
+    // 查询
+    search() {
+      this.pageIndex = 1;
+      this.getDataList();
+    },
+    // 获取数据列表
+    getDataList() {
+      this.addOrUpdateVisible = false;
+      this.dataListLoading = true;
+      this.$http({
+        url: this.$http.adornUrl("/biz-service/cusCommunication/list"),
+        method: "get",
+        params: this.$http.adornParams({
+          current: this.pageIndex,
+          size: this.pageSize,
+          customerName: this.dataForm.customerName,
+        }),
+      }).then(({ data }) => {
+        if (data && data.code === "200") {
+          this.dataList = data.data.records;
+          this.totalPage = Number(data.data.total);
+        } else {
+          this.dataList = [];
+          this.totalPage = 0;
+        }
+        this.dataListLoading = false;
+      });
+    },
+    // 每页数
+    sizeChangeHandle(val) {
+      this.pageSize = val;
+      this.pageIndex = 1;
+      this.getDataList();
+    },
+    // 当前页
+    currentChangeHandle(val) {
+      this.pageIndex = val;
+      this.getDataList();
+    },
+  },
+};
+</script>
+
+<style>
+</style>