三七 vor 1 Woche
Ursprung
Commit
941f762aa5

+ 6 - 6
.env.development

@@ -1,16 +1,16 @@
 # 页面标题
 # 页面标题
-VUE_APP_TITLE =互联网医院管理系统
+VUE_APP_TITLE =木易华康SCRM销售端
 # 公司名称
 # 公司名称
-VUE_APP_COMPANY_NAME =广州易诊通医院有限公司
+VUE_APP_COMPANY_NAME =福州市木易华康医药有限公司
 # ICP备案号
 # ICP备案号
-VUE_APP_ICP_RECORD =粤ICP备2024241490号
+VUE_APP_ICP_RECORD =闽ICP备2020016609号-3
 # ICP网站访问地址
 # ICP网站访问地址
 VUE_APP_ICP_URL =https://beian.miit.gov.cn
 VUE_APP_ICP_URL =https://beian.miit.gov.cn
 # 网站LOG
 # 网站LOG
-VUE_APP_LOG_URL =@/assets/logo/yzt.jpg
+VUE_APP_LOG_URL =@/assets/logo/myhk.png
 
 
-# 开发环境配置
-ENV = 'development'
+# 生产环境配置
+ENV = 'production'
 
 
 # FS管理系统/开发环境
 # FS管理系统/开发环境
 VUE_APP_BASE_API = '/prod-api'
 VUE_APP_BASE_API = '/prod-api'

+ 7 - 3
src/components/Tip/index.vue

@@ -1,6 +1,8 @@
 <template>
 <template>
   <div v-if="show" class="title">
   <div v-if="show" class="title">
-    <p>{{ title }}</p>
+    <p>
+      <i class="el-icon-warning"></i>
+      {{ title }}</p>
   </div>
   </div>
 </template>
 </template>
 
 
@@ -27,13 +29,15 @@ export default {
   border-radius: 2px;
   border-radius: 2px;
   padding: 4px 8px;
   padding: 4px 8px;
   width: 100%;
   width: 100%;
+  text-align: left;
 
 
   p {
   p {
     margin: 0;
     margin: 0;
+    padding-left: 0;
     white-space: pre-line;
     white-space: pre-line;
-    font-size: 12px;
+    font-size: 14px;
     line-height: 24px;
     line-height: 24px;
+    text-align: left;
   }
   }
 }
 }
-
 </style>
 </style>

+ 3 - 1
src/views/course/courseFinishTemp/index.vue

@@ -396,6 +396,7 @@
           </el-switch>
           </el-switch>
           <span v-if="form.isAllCompanyUser == '1'" style="margin-left: 10px;color: #13ce66">是</span>
           <span v-if="form.isAllCompanyUser == '1'" style="margin-left: 10px;color: #13ce66">是</span>
           <span v-else style="margin-left: 10px;color: #ff4949">否</span>
           <span v-else style="margin-left: 10px;color: #ff4949">否</span>
+          <Tip :title="'是否 全选整个销售公司的销售,作用于这个课程小节,当这个小节有客户完课时,发送此设置的内容'" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="所属销售" prop="companyUserIds" v-if="form.isAllCompanyUser == '2'">
         <el-form-item label="所属销售" prop="companyUserIds" v-if="form.isAllCompanyUser == '2'">
           <el-select v-model="companyUserIds" remote multiple placeholder="请选择" filterable style="width: 100%;">
           <el-select v-model="companyUserIds" remote multiple placeholder="请选择" filterable style="width: 100%;">
@@ -428,10 +429,11 @@ import {
 import { getUserList } from '@/api/company/companyUser'
 import { getUserList } from '@/api/company/companyUser'
 import { courseList, videoList } from '@/api/qw/sop'
 import { courseList, videoList } from '@/api/qw/sop'
 import ImageUpload from '@/views/qw/sop/ImageUpload.vue'
 import ImageUpload from '@/views/qw/sop/ImageUpload.vue'
+import Tip from "../../../components/Tip/index.vue";
 
 
 export default {
 export default {
   name: "CourseFinishTemp",
   name: "CourseFinishTemp",
-  components: {ImageUpload},
+  components: {Tip, ImageUpload},
   data() {
   data() {
     return {
     return {
       //上传语音的遮罩层
       //上传语音的遮罩层

+ 1 - 0
src/views/qw/sop/addSop.vue

@@ -314,6 +314,7 @@
                 }">
                 }">
               </el-time-select>
               </el-time-select>
             </el-form-item>
             </el-form-item>
+            <Tip :title="'起始时间-结束时间之内的进线客户,进入【当日营期】,时间之外的,进入【次日营期】'" />
           </div>
           </div>
         </div>
         </div>
 <!--        <el-form-item v-if="form.autoSopTime.autoSopType==1" label="过期消息是否发送" prop="autoSopSend"-->
 <!--        <el-form-item v-if="form.autoSopTime.autoSopType==1" label="过期消息是否发送" prop="autoSopSend"-->

+ 12 - 1
src/views/qw/sop/updateSop.vue

@@ -56,16 +56,19 @@
               :label="2"
               :label="2"
             >企微</el-radio>
             >企微</el-radio>
           </el-radio-group>
           </el-radio-group>
+          <Tip title="针对于企业微信平台" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="小转天数" prop="minConversionDay">
         <el-form-item label="小转天数" prop="minConversionDay">
           <el-input class="el-input" v-model="form.minConversionDay" placeholder="请输入" style="width: 300px">
           <el-input class="el-input" v-model="form.minConversionDay" placeholder="请输入" style="width: 300px">
             <template slot="append">天</template>
             <template slot="append">天</template>
           </el-input>
           </el-input>
+          <Tip title="第一次提醒销售,去联系客户,在【催课看板】处显示,哪些需要联系的客户" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="大转天数" prop="maxConversionDay">
         <el-form-item label="大转天数" prop="maxConversionDay">
           <el-input class="el-input" v-model="form.maxConversionDay" placeholder="请输入" style="width: 300px">
           <el-input class="el-input" v-model="form.maxConversionDay" placeholder="请输入" style="width: 300px">
             <template slot="append">天</template>
             <template slot="append">天</template>
           </el-input>
           </el-input>
+          <Tip title="第二次提醒销售,去联系客户,在【催课看板】处显示,哪些需要联系的客户" />
         </el-form-item>
         </el-form-item>
 
 
         <div v-if="form.type==2">
         <div v-if="form.type==2">
@@ -78,6 +81,7 @@
                 :label="parseInt(dict.dictValue)"
                 :label="parseInt(dict.dictValue)"
               >{{dict.dictLabel}}</el-radio>
               >{{dict.dictLabel}}</el-radio>
             </el-radio-group>
             </el-radio-group>
+            <Tip title="选择模板类型" />
           </el-form-item>
           </el-form-item>
           <el-form-item label="选择员工" prop="qwUserIds" style="margin-top: 2%">
           <el-form-item label="选择员工" prop="qwUserIds" style="margin-top: 2%">
             <div>
             <div>
@@ -172,6 +176,7 @@
               :label="2"
               :label="2"
             >次日开始</el-radio>
             >次日开始</el-radio>
           </el-radio-group>
           </el-radio-group>
+          <Tip :title="'这个选项仅作用于【新客户】进线时或【给客户打标签时】,是进入当日的营期 还是 次日的营期'" />
         </el-form-item>
         </el-form-item>
         <div style="display: flex; align-items: center; flex-wrap: nowrap;">
         <div style="display: flex; align-items: center; flex-wrap: nowrap;">
           <div v-if="form.autoSopTime.autoSopType==1" style="display: flex; align-items: center">
           <div v-if="form.autoSopTime.autoSopType==1" style="display: flex; align-items: center">
@@ -208,6 +213,10 @@
                 }">
                 }">
               </el-time-select>
               </el-time-select>
             </el-form-item>
             </el-form-item>
+            <div style="color: #999;font-size: 14px;display: flex;align-items: center;">
+              <i class="el-icon-info"></i>
+              起始时间-结束时间之内的进线客户,进入【当日营期】,时间之外的,进入【次日营期】
+            </div>
           </div>
           </div>
         </div>
         </div>
         <el-form-item label="任务过期时间" prop="expiryTime">
         <el-form-item label="任务过期时间" prop="expiryTime">
@@ -215,6 +224,7 @@
             <el-input-number  v-model="form.expiryTime"  :min="1" :max="100" ></el-input-number>
             <el-input-number  v-model="form.expiryTime"  :min="1" :max="100" ></el-input-number>
             (小时)
             (小时)
           </el-row>
           </el-row>
+          <Tip title="发送sop任务消息的过期时间,超过这个时间,消息将不再发送(作废),比如:9点的消息,设置3个小时过期,12点之后还未发送 则这条消息将过期且不再发送" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="模板" prop="tempId">
         <el-form-item label="模板" prop="tempId">
           <div @click="selectListSopTemp(form.sendType,0)" style="cursor: pointer; border: 1px solid #e6e6e6; background-color: white; overflow: hidden; flex-grow: 1;">
           <div @click="selectListSopTemp(form.sendType,0)" style="cursor: pointer; border: 1px solid #e6e6e6; background-color: white; overflow: hidden; flex-grow: 1;">
@@ -307,10 +317,11 @@ import { getMyQwUserList,getMyQwCompanyList } from "@/api/qw/user";
 import {sopListWxUserGroup} from "@/api/wxUser/wxUserGroup";
 import {sopListWxUserGroup} from "@/api/wxUser/wxUserGroup";
 import source from "echarts/src/data/Source";
 import source from "echarts/src/data/Source";
 import SopTemp from "@/views/qw/sopTemp/sopTemp.vue";
 import SopTemp from "@/views/qw/sopTemp/sopTemp.vue";
+import Tip from "../../../components/Tip/index.vue";
 // import { ElMessageBox } from 'element-plus';
 // import { ElMessageBox } from 'element-plus';
 export default {
 export default {
   name: "updateSop",
   name: "updateSop",
-  components: {SopTemp, CustomerGroupDetails, qwUserList,ImageUpload,sopLogsDetails},
+  components: {Tip, SopTemp, CustomerGroupDetails, qwUserList,ImageUpload,sopLogsDetails},
   data() {
   data() {
     return {
     return {
       updateQwUserDialog:{
       updateQwUserDialog:{

+ 46 - 12
src/views/qw/sopUserLogs/sopUserLogsSchedule.vue

@@ -53,19 +53,35 @@
 
 
     <el-row :gutter="10" class="mb8">
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
       <el-col :span="1.5">
-        <el-button
-          type="warning"
-          icon="el-icon-s-promotion"
-          size="medium"
-          :disabled="multiple"
-          @click="handleCampSendMsg"
-          v-if="filterMode == 1"
-          v-hasPermi="['qw:sopUserLogsInfo:msg']"
-        >营期一键群发</el-button>
+        <el-tooltip class="item" effect="dark" content="此功能用于给 选中的 营期 内【所有的】客户发送 消息【或者发送草稿-/-清楚草稿】" placement="top">
+          <el-button
+            type="warning"
+            icon="el-icon-s-promotion"
+            size="medium"
+            :disabled="multiple"
+            @click="handleCampSendMsg"
+            v-hasPermi="['qw:sopUserLogsInfo:msg']"
+          >营期一键群发(或草稿)</el-button>
+        </el-tooltip>
       </el-col>
       </el-col>
 
 
+      <el-col :span="1.5">
+        <el-tooltip class="item" effect="dark" content="删除营期之后,将不会在给原营期的客户发送消息,ps:删除之后不可恢复" placement="top">
+          <el-button
+            type="danger"
+            icon="el-icon-s-promotion"
+            size="medium"
+            :disabled="multiple"
+            @click="handleDeleteUserLogs"
+            v-hasPermi="['qw:sopUserLogs:remove']"
+          >批量删除营期</el-button>
+
+        </el-tooltip>
+      </el-col>
     </el-row>
     </el-row>
-
+    <Tip :title="'【营期一键群发】:此功能用于给 选中的 营期 内【所有的】客户发送 消息【或者发送草稿-/-清楚草稿】'" />
+    <Tip :title="'【批量删除营期】:此功能用于删除选中的【整个营期】,删除之后将不会在给原营期的客户发送消息,ps:删除之后不可恢复'" />
+    <Tip :title="'【天数】:【列表:营期时间】对应列表中的天数是几 就代表着 插件助手 会发送【任务模板】里的第几天的消息'" />
 
 
     <el-table border v-loading="loading" :data="sopUserLogsList" @selection-change="handleSelectionChange">
     <el-table border v-loading="loading" :data="sopUserLogsList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column type="selection" width="55" align="center" />
@@ -149,14 +165,15 @@ import {
   updateSopUserLogs,
   updateSopUserLogs,
   exportSopUserLogs,
   exportSopUserLogs,
   repairSopUserLogs
   repairSopUserLogs
-} from "@/api/qw/sopUserLogs";
+} from "../../../api/qw/sopUserLogs";
 import sopLogsDetails from "@/views/qw/sopLogs/sopLogsList.vue";
 import sopLogsDetails from "@/views/qw/sopLogs/sopLogsList.vue";
 import SopUserLogsInfoDetails from "@/views/qw/sopUserLogsInfo/sopUserLogsInfoDetails.vue";
 import SopUserLogsInfoDetails from "@/views/qw/sopUserLogsInfo/sopUserLogsInfoDetails.vue";
 import {syncMyExternalContact} from "@/api/qw/externalContact";
 import {syncMyExternalContact} from "@/api/qw/externalContact";
 import SendMsgOpenTool from "@/views/qw/sopUserLogsInfo/sendMsgOpenTool.vue";
 import SendMsgOpenTool from "@/views/qw/sopUserLogsInfo/sendMsgOpenTool.vue";
+import Tip from "../../../components/Tip/index.vue";
 export default {
 export default {
   name: "sopUserLogsSchedule",
   name: "sopUserLogsSchedule",
-  components: {SendMsgOpenTool, SopUserLogsInfoDetails, sopLogsDetails},
+  components: {Tip, SendMsgOpenTool, SopUserLogsInfoDetails, sopLogsDetails},
   props:{
   props:{
     rowDetailFrom:{},
     rowDetailFrom:{},
   },
   },
@@ -265,6 +282,23 @@ export default {
 
 
     },
     },
 
 
+    /**
+     *  删除营期
+     */
+    handleDeleteUserLogs(){
+      const ids =  this.ids;
+      this.$confirm('是否确认删除编号为"' + ids + '"的数据项【注意!!删除后不可恢复,请谨慎操作】?', "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(function() {
+        return delSopUserLogs(ids);
+      }).then(() => {
+        this.getList();
+        this.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+
     // 取消按钮
     // 取消按钮
     cancel() {
     cancel() {
       this.open = false;
       this.open = false;

+ 7 - 9
src/views/qw/sopUserLogsInfo/sopUserLogsInfoDetails.vue

@@ -1,12 +1,10 @@
 <template>
 <template>
   <div class="app-container">
   <div class="app-container">
-    <el-alert
-      title="注意事项"
-      type="warning"
-      description="搜索【客户备注】【标签】 只能搜索/筛选出 【当前页】的数据)"
-      :closable="false"
-      show-icon>
-    </el-alert>
+    <Tip :title="'搜索【客户备注】【标签】【进线时间】 只能搜索/筛选出 【当前页】的数据)【可以用客户id来搜(客户id来源-》企微/我的企微客户-》列表的企微客户ID)'" />
+    <Tip :title="'【一键群发】:用于给 选中的 客户 发送插件信息'" />
+    <Tip :title="'【批量修改客户营期】:选中 相应的客户 修改到 想进的相应的营期'" />
+    <Tip :title="'【官方群发许可】:只有这里显示为【是】的,才能通过模板中的 官方群发 来发送(允许条件是 客户点击过【非官方群发】发送的课程!)'" />
+
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px">
 <!--      <el-form-item label="企微员工账号" prop="qwUserId">-->
 <!--      <el-form-item label="企微员工账号" prop="qwUserId">-->
 <!--        <el-input-->
 <!--        <el-input-->
@@ -64,7 +62,6 @@
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
       </el-form-item>
       </el-form-item>
     </el-form>
     </el-form>
-
     <el-row :gutter="10" class="mb8">
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
       <el-col :span="1.5">
         <el-button
         <el-button
@@ -448,10 +445,11 @@ import {addCourseFinishTemp, updateCourseFinishTemp} from "@/api/course/courseFi
 import {allListTagGroup} from "@/api/qw/tagGroup";
 import {allListTagGroup} from "@/api/qw/tagGroup";
 import {listTag} from "@/api/qw/tag";
 import {listTag} from "@/api/qw/tag";
 import {searchTags} from "../../../api/qw/tag";
 import {searchTags} from "../../../api/qw/tag";
+import Tip from "../../../components/Tip/index.vue";
 
 
 export default {
 export default {
   name: "sopUserLogsInfoDetails",
   name: "sopUserLogsInfoDetails",
-  components: {ImageUpload},
+  components: {Tip, ImageUpload},
   data() {
   data() {
     return {
     return {
       //上传语音的遮罩层
       //上传语音的遮罩层