Просмотр исходного кода

feat(contactWay): 添加联系方式日志查看功能

吴树波 1 месяц назад
Родитель
Сommit
0bc166e745
4 измененных файлов с 81 добавлено и 137 удалено
  1. 9 1
      src/api/qw/contactWayLogs.js
  2. 13 0
      src/router/index.js
  3. 9 0
      src/views/qw/contactWay/index.vue
  4. 50 136
      src/views/qw/contactWayLogs/index.vue

+ 9 - 1
src/api/qw/contactWayLogs.js

@@ -50,4 +50,12 @@ export function exportContactWayLogs(query) {
     method: 'get',
     method: 'get',
     params: query
     params: query
   })
   })
-}
+}
+// 导出联系我日志
+export function getCompanyUserList(id) {
+  return request({
+    url: '/qw/contactWayLogs/getCompanyUserList',
+    method: 'get',
+    params: {id}
+  })
+}

+ 13 - 0
src/router/index.js

@@ -159,6 +159,19 @@ export const constantRoutes = [
       }
       }
     ]
     ]
   },
   },
+  {
+    path: '/qw/contactWayLogs',
+    component: Layout,
+    hidden: true,
+    children: [
+      {
+        path: 'index/:id', // 确保 :type 的正则匹配数字
+        component: () => import('@/views/qw/contactWayLogs/index'),
+        name: 'logsIndex',
+        meta: { title: '添加日志', activeMenu: '/qw/contactWayLogs' }
+      }
+    ]
+  },
   {
   {
     path: '/qw/sop',
     path: '/qw/sop',
     component: Layout,
     component: Layout,

+ 9 - 0
src/views/qw/contactWay/index.vue

@@ -161,6 +161,12 @@
                    @click="handledetails(scope.row)"
                    @click="handledetails(scope.row)"
                    >数据统计
                    >数据统计
                 </el-button>
                 </el-button>
+                <el-button
+                   size="mini"
+                   type="text"
+                   @click="openLogs(scope.row)"
+                   >添加记录
+                </el-button>
                 <el-button
                 <el-button
                   size="mini"
                   size="mini"
                   type="text"
                   type="text"
@@ -1427,6 +1433,9 @@ export default {
           this.download(response.msg);
           this.download(response.msg);
           this.exportLoading = false;
           this.exportLoading = false;
         }).catch(() => {});
         }).catch(() => {});
+    },
+    openLogs(row){
+      this.$router.push(`/qw/contactWayLogs/index/${row.id}`)
     }
     }
   }
   }
 };
 };

+ 50 - 136
src/views/qw/contactWayLogs/index.vue

@@ -1,65 +1,22 @@
 <template>
 <template>
   <div class="app-container">
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="联系我id" prop="wayId">
-        <el-input
-          v-model="queryParams.wayId"
-          placeholder="请输入联系我id"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="企微用户id" prop="userId">
-        <el-input
-          v-model="queryParams.userId"
-          placeholder="请输入企微用户id"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="公司用户id" prop="companyUserId">
-        <el-input
-          v-model="queryParams.companyUserId"
-          placeholder="请输入公司用户id"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="状态" prop="type">
-        <el-select v-model="queryParams.type" placeholder="请选择状态" clearable size="small">
+      <el-form-item label="销售" prop="companyUserId">
+        <el-select v-model="queryParams.companyUserId" placeholder="销售">
           <el-option
           <el-option
-            v-for="dict in typeOptions"
-            :key="dict.dictValue"
-            :label="dict.dictLabel"
-            :value="dict.dictValue"
+            v-for="dict in companyUserList"
+            :key="dict.companyUserId"
+            :label="dict.qwUserName"
+            :value="dict.companyUserId"
           />
           />
         </el-select>
         </el-select>
       </el-form-item>
       </el-form-item>
-      <el-form-item label="描述" prop="msg">
-        <el-input
-          v-model="queryParams.msg"
-          placeholder="请输入描述"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="外部联系人id" prop="externalUserId">
-        <el-input
-          v-model="queryParams.externalUserId"
-          placeholder="请输入外部联系人id"
-          clearable
-          size="small"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="创建时间" prop="createTime">
+      <el-form-item label="创建时间" prop="dataRange">
         <el-date-picker clearable size="small"
         <el-date-picker clearable size="small"
-          v-model="queryParams.createTime"
-          type="date"
+          v-model="dataRange"
+          type="daterange"
+          start-placeholder="开始时间"
+          end-placeholder="结束时间"
           value-format="yyyy-MM-dd"
           value-format="yyyy-MM-dd"
           placeholder="选择创建时间">
           placeholder="选择创建时间">
         </el-date-picker>
         </el-date-picker>
@@ -70,91 +27,34 @@
       </el-form-item>
       </el-form-item>
     </el-form>
     </el-form>
 
 
-    <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-plus"
-          size="mini"
-          @click="handleAdd"
-          v-hasPermi="['qw:contactWayLogs:add']"
-        >新增</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="success"
-          plain
-          icon="el-icon-edit"
-          size="mini"
-          :disabled="single"
-          @click="handleUpdate"
-          v-hasPermi="['qw:contactWayLogs:edit']"
-        >修改</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-          v-hasPermi="['qw:contactWayLogs:remove']"
-        >删除</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="warning"
-          plain
-          icon="el-icon-download"
-          size="mini"
-          :loading="exportLoading"
-          @click="handleExport"
-          v-hasPermi="['qw:contactWayLogs:export']"
-        >导出</el-button>
-      </el-col>
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
-    </el-row>
-
-    <el-table v-loading="loading" :data="contactWayLogsList" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="id" align="center" prop="id" />
-      <el-table-column label="联系我id" align="center" prop="wayId" />
-      <el-table-column label="企微用户id" align="center" prop="userId" />
-      <el-table-column label="公司用户id" align="center" prop="companyUserId" />
-      <el-table-column label="状态" align="center" prop="type">
+    <el-table v-loading="loading" :data="contactWayLogsList">
+      <el-table-column label="添加销售" align="center" prop="nickName" />
+      <el-table-column label="客户名称" align="center" prop="name" />
+      <el-table-column label="客户头像" align="center">
         <template slot-scope="scope">
         <template slot-scope="scope">
-          <dict-tag :options="typeOptions" :value="scope.row.type"/>
+          <el-image :src="scope.row.avatar" :preview-src-list="[scope.row.avatar]" style="width: 50px; height: 50px" />
         </template>
         </template>
       </el-table-column>
       </el-table-column>
-      <el-table-column label="描述" align="center" prop="msg" />
-      <el-table-column label="外部联系人id" align="center" prop="externalUserId" />
-      <el-table-column label="创建时间" align="center" prop="createTime" width="180">
+      <el-table-column label="性别" align="center">
         <template slot-scope="scope">
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
+          <el-tag v-if="scope.row.gender == 0" type="info">未知</el-tag>
+          <el-tag v-if="scope.row.gender == 1">男</el-tag>
+          <el-tag v-if="scope.row.gender == 2" type="success">女</el-tag>
         </template>
         </template>
       </el-table-column>
       </el-table-column>
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+      <el-table-column label="是否重粉" align="center">
         <template slot-scope="scope">
         <template slot-scope="scope">
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-            v-hasPermi="['qw:contactWayLogs:edit']"
-          >修改</el-button>
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(scope.row)"
-            v-hasPermi="['qw:contactWayLogs:remove']"
-          >删除</el-button>
+          <el-tag v-if="scope.row.isRepeat == 0" type="success">否</el-tag>
+          <el-tag v-if="scope.row.isRepeat == 1" type="danger">是</el-tag>
+        </template>
+      </el-table-column>
+      <el-table-column label="添加时间" align="center" prop="createTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
         </template>
         </template>
       </el-table-column>
       </el-table-column>
     </el-table>
     </el-table>
-    
+
     <pagination
     <pagination
       v-show="total>0"
       v-show="total>0"
       :total="total"
       :total="total"
@@ -201,7 +101,15 @@
 </template>
 </template>
 
 
 <script>
 <script>
-import { listContactWayLogs, getContactWayLogs, delContactWayLogs, addContactWayLogs, updateContactWayLogs, exportContactWayLogs } from "@/api/qw/contactWayLogs";
+import {
+  addContactWayLogs,
+  delContactWayLogs,
+  exportContactWayLogs,
+  getContactWayLogs,
+  listContactWayLogs,
+  getCompanyUserList,
+  updateContactWayLogs
+} from "@/api/qw/contactWayLogs";
 
 
 export default {
 export default {
   name: "ContactWayLogs",
   name: "ContactWayLogs",
@@ -229,17 +137,15 @@ export default {
       open: false,
       open: false,
       // 状态字典
       // 状态字典
       typeOptions: [],
       typeOptions: [],
+      companyUserList: [],
+      dataRange: [],
       // 查询参数
       // 查询参数
       queryParams: {
       queryParams: {
         pageNum: 1,
         pageNum: 1,
         pageSize: 10,
         pageSize: 10,
         wayId: null,
         wayId: null,
-        userId: null,
-        companyUserId: null,
-        type: null,
-        msg: null,
-        externalUserId: null,
-        createTime: null
+        beginTime: null,
+        endTime: null,
       },
       },
       // 表单参数
       // 表单参数
       form: {},
       form: {},
@@ -252,6 +158,10 @@ export default {
     };
     };
   },
   },
   created() {
   created() {
+    this.queryParams.wayId = this.$route.params && this.$route.params.id;
+    getCompanyUserList(this.queryParams.wayId).then(res => {
+      this.companyUserList = res.data;
+    })
     this.getList();
     this.getList();
     this.getDicts("sys_hospital_type").then(response => {
     this.getDicts("sys_hospital_type").then(response => {
       this.typeOptions = response.data;
       this.typeOptions = response.data;
@@ -261,6 +171,10 @@ export default {
     /** 查询联系我日志列表 */
     /** 查询联系我日志列表 */
     getList() {
     getList() {
       this.loading = true;
       this.loading = true;
+      if(this.dataRange && this.dataRange.length > 0) {
+        this.queryParams.beginTime = this.dataRange[0];
+        this.queryParams.endTime = this.dataRange[1];
+      }
       listContactWayLogs(this.queryParams).then(response => {
       listContactWayLogs(this.queryParams).then(response => {
         this.contactWayLogsList = response.rows;
         this.contactWayLogsList = response.rows;
         this.total = response.total;
         this.total = response.total;