From 43d458b47f3340733a7bdb9be71c6e5c2fb6caf8 Mon Sep 17 00:00:00 2001
From: 祖安之光 <11848914+light-of-zuan@user.noreply.gitee.com>
Date: 星期一, 08 十二月 2025 10:46:11 +0800
Subject: [PATCH] 修改新增

---
 src/views/work/marketingManagement/customerList/communicate/index.vue |  101 +++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 79 insertions(+), 22 deletions(-)

diff --git a/src/views/work/marketingManagement/customerList/communicate/index.vue b/src/views/work/marketingManagement/customerList/communicate/index.vue
index f9d82de..90adc61 100644
--- a/src/views/work/marketingManagement/customerList/communicate/index.vue
+++ b/src/views/work/marketingManagement/customerList/communicate/index.vue
@@ -8,9 +8,10 @@
               plain
               icon="Plus"
               @click="openDialog('add',{})"
+              v-hasPermi="['customerCommunicate:add']"
           >新增</el-button>
         </el-form-item>
-        <el-form-item label="企业名称:" v-if="data.isAdmin" style="margin-left: 20px">
+        <el-form-item label="单位名称:" v-if="data.isAdmin" style="margin-left: 20px">
           <el-select v-model="data.queryParams.companyId" placeholder="请选择" filterable clearable>
             <el-option
                 v-for="item in data.companyList"
@@ -20,7 +21,7 @@
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item>
+        <el-form-item v-if="data.isAdmin">
           <el-button type="primary" style="margin-left: 30px" @click="searchClick">查询</el-button>
           <el-button plain @click="reset">重置</el-button>
         </el-form-item>
@@ -36,13 +37,13 @@
     <el-table v-loading="loading" :data="dataList" :border="true"  @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" />
       <el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
-      <el-table-column label="记录名称" prop="name"  align="center">
-      </el-table-column>
+      <el-table-column label="单位名称" prop="companyName" align="center" v-if="data.isAdmin" />
+      <el-table-column label="记录名称" prop="recordName"  align="center"></el-table-column>
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="160">
         <template #default="scope">
           <el-button link type="primary"  @click="openDialog('review',scope.row)" >查看</el-button>
-          <el-button link type="primary"  @click="openDialog('edit',scope.row)" >编辑</el-button>
-          <el-button link type="danger"  @click="handleDelete(scope.row)" >删除</el-button>
+          <el-button link type="primary"  @click="openDialog('edit',scope.row)" v-hasPermi="['customerCommunicate:edit']">编辑</el-button>
+          <el-button link type="danger"  @click="handleDelete(scope.row)" v-hasPermi="['customerCommunicate:del']">删除</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -71,6 +72,7 @@
 import {generateWordDocument} from "@/utils/exportWord";
 import {delTable, getTable} from "@/api/qualityObjectives/table";
 import {delNeedDiscren, getNeedDiscren} from "@/api/need/need";
+import {delCustomerCommunicate, getCustomerCommunicate} from "@/api/customerCommunicate";
 const { proxy } = getCurrentInstance();
 const loading = ref(false);
 const noticeRef = ref();
@@ -88,6 +90,50 @@
   companyList: [],
   isAdmin: false,
   dialogVisible: false,
+  methodsList: [
+    {
+      id: 1,
+      name: '面谈'
+    },
+    {
+      id: 2,
+      name: '电话'
+    },
+    {
+      id: 3,
+      name: '信函'
+    },
+    {
+      id: 4,
+      name: '邮件'
+    },
+    {
+      id: 5,
+      name: '其他:'
+    },
+  ],
+  typeList: [
+    {
+      id: 1,
+      name: '建议'
+    },
+    {
+      id: 2,
+      name: '咨询'
+    },
+    {
+      id: 3,
+      name: '反馈'
+    },
+    {
+      id: 4,
+      name: '抱怨'
+    },
+    {
+      id: 5,
+      name: '其他:'
+    },
+  ]
 });
 const dataList = ref([]);
 const total = ref(0);
@@ -109,16 +155,15 @@
   }
 });
 const getList = async () => {
-  // loading.value = true;
-  // const res = await getNeedDiscren(data.queryParams);
-  // if(res.code === 200){
-  //   dataList.value = res.data.list
-  //   total.value = res.data.total
-  // }else{
-  //   ElMessage.warning(res.message)
-  // }
-  // loading.value = false;
-  dataList.value = [{}]
+  loading.value = true;
+  const res = await getCustomerCommunicate(data.queryParams);
+  if(res.code === 200){
+    dataList.value = res.data.list
+    total.value = res.data.total
+  }else{
+    ElMessage.warning(res.message)
+  }
+  loading.value = false;
 }
 
 const searchClick = () => {
@@ -184,13 +229,25 @@
 }
 const templatePath = ref('/customerCommunicateExample.docx')
 const startGeneration = async () => {
-  const data = JSON.parse(JSON.stringify(choosedData.value))
-  data.forEach(item => {
-
-
+  const dataX = JSON.parse(JSON.stringify(choosedData.value))
+  dataX.forEach(item => {
+    item.methodList = data.methodsList.map(i => {
+      return {
+        ...i,
+        checked: item.comMethod.split(',').map(Number).includes(i.id),
+        name: i.id == 5 ? i.name + item.methodMess : i.name
+      }
+    })
+    item.typeList = data.typeList.map(i => {
+      return {
+        ...i,
+        checked: item.comType.split(',').map(Number).includes(i.id),
+        name: i.id == 5 ? i.name + item.typeMess : i.name
+      }
+    })
     console.log('xxx',item.tableData)
     try {
-      generateWordDocument(templatePath.value, item, item.companyName + `_相关方期望和需求识别表.docx`);
+      generateWordDocument(templatePath.value, item, item.companyName + `_顾客沟通记录表.docx`);
     } catch (error){
       ElMessage({
         type: 'warning',
@@ -212,7 +269,7 @@
         type: 'warning',
       })
       .then( async() => {
-        const res = await delNeedDiscren(val.id);
+        const res = await delCustomerCommunicate(val.id);
         if(res.code === 200){
           ElMessage({
             type: 'success',

--
Gitblit v1.9.2