Bladeren bron

Merge branch 'master' of http://1.14.104.71:10880/root/ylrz_his_scrm_companyUI

xw 21 uur geleden
bovenliggende
commit
dfdd4ebcf0

+ 1 - 1
.env.prod-cfryt

@@ -7,7 +7,7 @@ VUE_APP_ICP_RECORD =渝ICP备2024031984号-1
 # ICP网站访问地址
 VUE_APP_ICP_URL =https://beian.miit.gov.cn
 # 网站LOG
-VUE_APP_LOG_URL =@/assets/logo/kyt.jpg
+VUE_APP_LOG_URL =@/assets/logo/cfryt.png
 
 # 生产环境配置
 ENV = 'production'

+ 9 - 0
src/api/qw/tagGroup.js

@@ -16,6 +16,15 @@ export function allListTagGroup(query) {
   })
 }
 
+// 模糊查询分页searchTags
+export function allListTagGroupPage(data) {
+  return request({
+    url: '/qw/tagGroup/allListPage',
+    method: 'get',
+    params: data
+  })
+}
+
 // 查询企微客户标签组详细
 export function getTagGroup(id) {
   return request({

BIN
src/assets/logo/cfryt.png


+ 30 - 9
src/views/fastGpt/fastGptRole/fastGptRoleUpdate.vue

@@ -41,20 +41,37 @@
       </el-form-item>
 
       <el-form-item label="物流提醒" prop="logistics">
-        <el-select v-model="form.logistics" placeholder="请选择类型" clearable size="small" style="width: 150px" >
-          <el-option
-            v-for="item in logisticsOptions"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value"
-          />
-        </el-select>
+        <el-switch
+          v-model="form.logistics"
+          :active-value="1"
+          :inactive-value="0"
+          active-text="是"
+          inactive-text="否"
+          active-color="#13ce66"
+          inactive-color="#ff4949"
+        />
         <div style="color: #999;font-size: 14px;display: flex;align-items: center;">
           <i class="el-icon-info"></i>
           AI是否主动发送物流信息,发货和到货的时候会提醒用户
         </div>
       </el-form-item>
 
+      <el-form-item label="禁止夜间回复" prop="forbidStatus">
+        <el-switch
+          v-model="form.forbidStatus"
+          :active-value="1"
+          :inactive-value="0"
+          active-text="是"
+          inactive-text="否"
+          active-color="#13ce66"
+          inactive-color="#ff4949"
+        />
+        <div style="color: #999;font-size: 14px;display: flex;align-items: center;">
+          <i class="el-icon-info"></i>
+          AI是否规定时间内不回复消息,默认为开启,在结束时间后再进行最后一条消息回复,关闭后一天24小时都进行回复
+        </div>
+      </el-form-item>
+
       <el-form-item label="客服头像" prop="avatar">
         <ImageUpload v-model="form.avatar" type="image" :num="1" :width="150" :height="150" style="margin-top: 1%;" />
       </el-form-item>
@@ -318,7 +335,8 @@ export default {
         avatar: null,
         kfMediaId: null,
         channelType: null,
-        logistics: null
+        logistics: null,
+        forbidStatus: null,
       },
       // 表单参数
       form: {
@@ -340,6 +358,9 @@ export default {
         logistics: [
           { required: true, message: "物流提醒不能为空", trigger: "change" }
         ],
+        forbidStatus: [
+          { required: true, message: "禁止夜间回复不能为空", trigger: "change" }
+        ],
       },
       tagsFormRules:{
         tagIds:[

+ 56 - 26
src/views/qw/externalContact/index.vue

@@ -134,15 +134,7 @@
       </el-form-item>
       <el-form-item label="状态" prop="status">
 
-<!--        <el-select v-model="queryParams.status" placeholder="状态" clearable size="small">-->
-<!--          <el-option-->
-<!--            v-for="dict in statusOptions"-->
-<!--            :key="dict.dictValue"-->
-<!--            :label="dict.dictLabel"-->
-<!--            :value="dict.dictValue"-->
-<!--          />-->
-<!--        </el-select>-->
-        <el-select v-model="statusMulti" placeholder="状态" clearable size="small" multiple collapse-tags>
+        <el-select v-model="queryParams.status" placeholder="状态" clearable size="small">
           <el-option
             v-for="dict in statusOptions"
             :key="dict.dictValue"
@@ -318,6 +310,15 @@
           v-hasPermi="['qw:externalContact:addTag']"
         >批量添加标签</el-button>
       </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          size="mini"
+          @click="addUserTagFilter"
+          v-hasPermi="['qw:externalContact:addTag']"
+        >批量添加标签(筛选条件)</el-button>
+      </el-col>
       <el-col :span="1.5">
         <el-button
           type="primary"
@@ -591,7 +592,7 @@
 
       <div>搜索标签:
         <el-input v-model="queryTagParams.name" placeholder="请输入标签名称" clearable size="small" style="width: 200px;margin-right: 10px" />
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleSearchTags(queryTagParams.name)">搜索</el-button>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="getPageListTagGroup()">搜索</el-button>
         <el-button type="primary" icon="el-icon-plus" size="mini" @click="cancelSearchTags">重置</el-button>
       </div>
       <div v-for="item in tagGroupList" :key="item.id"  >
@@ -628,8 +629,8 @@
 
     <el-dialog title="批量添加标签" :visible.sync="tagOpen" width="800px" append-to-body>
       <div>搜索标签:
-        <el-input v-model="tagChange.tagName" placeholder="请输入标签名称" clearable size="small" style="width: 200px;margin-right: 10px" />
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleSearchTags(tagChange.tagName)">搜索</el-button>
+        <el-input v-model="queryTagParams.name" placeholder="请输入标签名称" clearable size="small" style="width: 200px;margin-right: 10px" />
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="getPageListTagGroup()">搜索</el-button>
         <el-button type="primary" icon="el-icon-plus" size="mini" @click="cancelSearchTags">重置</el-button>
       </div>
       <el-form ref="form" :model="addTagForm"  label-width="80px">
@@ -714,8 +715,8 @@
 
     <el-dialog title="批量移除标签" :visible.sync="tagDelOpen" width="800px" append-to-body>
       <div>搜索标签:
-        <el-input v-model="tagChange.tagName" placeholder="请输入标签名称" clearable size="small" style="width: 200px;margin-right: 10px" />
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleSearchTags(tagChange.tagName)">搜索</el-button>
+        <el-input v-model="queryTagParams.name" placeholder="请输入标签名称" clearable size="small" style="width: 200px;margin-right: 10px" />
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="getPageListTagGroup()">搜索</el-button>
         <el-button type="primary" icon="el-icon-plus" size="mini" @click="cancelSearchTags">重置</el-button>
       </div>
       <el-form ref="form" :model="addTagForm"  label-width="80px">
@@ -941,8 +942,8 @@ import {
   unBindUserId, updateExternalContactCall,updateExternalContactStatus,getWatchLogList
 } from '@/api/qw/externalContact'
 import {getMyQwUserList, getMyQwCompanyList, updateUser,getQwUserListLikeName} from "@/api/qw/user";
-import {listTag, getTag, searchTags,} from "@/api/qw/tag";
-import { allListTagGroup} from "@/api/qw/tagGroup";
+import {listTag, getTag, searchTags} from "@/api/qw/tag";
+import { allListTagGroup,allListTagGroupPage} from "@/api/qw/tagGroup";
 import mycustomer from '@/views/qw/externalContact/mycustomer'
 import customerDetails from '@/views/qw/externalContact/customerDetails'
 import SopDialog from '@/views/course/sop/SopDialog.vue'
@@ -1071,7 +1072,9 @@ export default {
 
       addTagForm:{
         userIds:[],
-        tagIds:[]
+        tagIds:[],
+        filter: false,
+        addType: 0,
       },
 
       myQwCompanyList:[],
@@ -1134,7 +1137,7 @@ export default {
       },
 
       tagTotal:0,
-      statusMulti: [], //状态数组,多选
+      tagFilter:false,
       // 查询参数
       queryParams: {
         pageNum: 1,
@@ -1158,7 +1161,6 @@ export default {
         corpId: null,
         companyId: null,
         status:null,
-        statuses: null, // 多选的状态,id拼接,用于传到后端
         transferStatus:null,
         isBind:null,
         isBindMini:null,
@@ -1493,13 +1495,37 @@ export default {
 
 
       this.tagOpen = true;
+      this.tagFilter = false;
 
     },
 
+    addUserTagFilter(){
+
+      if(this.externalContactList.length == 0){
+        return  this.$message('无可添加标签客户');
+      }
+
+      this.getPageListTagGroup();
+
+      setTimeout(() => {
+
+        for (let i = 0; i < this.tagGroupList.length; i++) {
+          for (let x = 0; x < this.tagGroupList[i].tag.length; x++) {
+            this.tagGroupList[i].tag[x].isSelected=false;
+          }
+        }
+      }, 200);
+
+
+      this.tagOpen = true;
+      this.tagFilter = true;
+    },
+
 
     getPageListTagGroup(){
+      
       this.queryTagParams.corpId=this.queryParams.corpId
-      allListTagGroup(this.queryTagParams).then(response => {
+      allListTagGroupPage(this.queryTagParams).then(response => {
         this.tagGroupList = response.rows;
         this.tagTotal = response.total;
       });
@@ -1705,7 +1731,12 @@ export default {
 
       this.addTagForm.corpId=this.queryParams.corpId
       this.addTagForm.userIds=this.ids;
-
+      this.addTagForm.filter = this.tagFilter;
+      let obj = JSON.parse(JSON.stringify(this.queryParams))
+      if(obj.tagIds !== null && obj.tagIds !== undefined && obj.tagIds !== ''){
+        obj.tagIds = obj.tagIds.split(",");
+      }
+      this.addTagForm.param = obj;
 
       let loadingRock = this.$loading({
         lock: true,
@@ -1720,8 +1751,10 @@ export default {
        this.tagOpen = false;
         loadingRock.close();
        this.addTagForm={
-         userIds:[],
-         tagIds:[]
+        filter: false,
+        addType: 0,
+        userIds:[],
+        tagIds:[]
        };
        this.getList()
      }).finally(res=>{
@@ -1846,7 +1879,6 @@ export default {
       }
 
       this.queryParams.pageNum = 1;
-      this.queryParams.statuses =this.statusMulti.join(",");
       this.getList();
     },
     handleSearchTags(name){
@@ -1950,8 +1982,6 @@ export default {
 	   this.createTime=null;
 	  this.queryParams.sTime=null;
 	  this.queryParams.eTime=null;
-      this.queryParams.statuses=null;
-      this.statusMulti = [];
       this.handleQuery();
     },
     // 多选框选中数据