浏览代码

自动建群功能ui移植

yuhongqi 1 天之前
父节点
当前提交
b8eafdb842
共有 2 个文件被更改,包括 147 次插入4 次删除
  1. 80 3
      src/views/qw/sop/addSop.vue
  2. 67 1
      src/views/qw/sop/updateSop.vue

+ 80 - 3
src/views/qw/sop/addSop.vue

@@ -70,7 +70,55 @@
           </div>
           <Tip title="企业微信员工账号" />
         </el-form-item>
-        <el-form-item label="群聊" prop="chatIds" v-if="form.filterMode == 2">
+        <el-form-item label="是否自动创建群" prop="autoGroup" v-if="form.filterMode == 2">
+          <el-radio-group v-model="form.autoGroup">
+            <el-radio
+              :label="0"
+            >否
+            </el-radio>
+            <el-radio
+              :label="1"
+            >是
+            </el-radio>
+          </el-radio-group>
+          <div style="color: #999;font-size: 14px;display: flex;align-items: center;">
+            <i class="el-icon-info"></i>
+            选择的企业微信员工下面的群聊
+          </div>
+        </el-form-item>
+        <el-form-item label="是否注册用户" prop="autoGroup" v-if="form.filterMode == 2 && form.autoGroup == 1">
+          <el-radio-group v-model="form.autoUserReg">
+            <el-radio
+              :label="0"
+            >否
+            </el-radio>
+            <el-radio
+              :label="1"
+            >是
+            </el-radio>
+          </el-radio-group>
+          <div style="color: #999;font-size: 14px;display: flex;align-items: center;">
+            <i class="el-icon-info"></i>
+            筛选是否注册的用户
+          </div>
+        </el-form-item>
+        <el-form-item label="创建群聊评级" prop="chatIds" v-if="form.filterMode == 2 && form.autoGroup == 1">
+          <el-select multiple filterable clearable v-model="form.autoGroupLevelArray">
+            <el-option v-for="item in levelList" :key="item.value" :label="item.label" :value="item.value"/>
+          </el-select>
+          <div style="color: #999;font-size: 14px;display: flex;align-items: center;">
+            <i class="el-icon-info"></i>
+            选择需要拉取的客户评级
+          </div>
+        </el-form-item>
+        <el-form-item label="群聊名称" prop="chatIds" v-if="form.filterMode == 2 && form.autoGroup == 1">
+          <el-input v-model="form.groupName" maxlength="10" placeholder="请输入群聊名称" />
+          <div style="color: #999;font-size: 14px;display: flex;align-items: center;">
+            <i class="el-icon-info"></i>
+            创建群聊的名称(如有重复自动加数字区分)
+          </div>
+        </el-form-item>
+        <el-form-item label="群聊" prop="chatIds" v-if="form.filterMode == 2 && form.autoGroup == 0">
           <el-select multiple filterable clearable v-model="form.chatIds">
             <el-option v-for="item in qwGroupList" :key="item.chatId" :label="item.name" :value="item.chatId"/>
           </el-select>
@@ -526,6 +574,14 @@ export default {
       companyUserLists: [],
       // 状态字典
       statusOptions: [],
+      levelList: [
+        {value: 1, label: "A"},
+        {value: 2, label: "B"},
+        {value: 3, label: "C"},
+        {value: 4, label: "D"},
+        {value: 5, label: "E"},
+        {value: -1, label: "未评级"}
+      ],
 
       //企微SOP发送类型
       sysQwSopType: [],
@@ -544,6 +600,11 @@ export default {
         isFixed: 0,
         isRegister: 0,
         type: 2,
+        autoGroup:0,
+        autoUserReg:0,
+        autoGroupLevelArray:[],
+        autoGroupLevel:null,
+        groupName:null,
         filterType: 2,
         expiryTime: 4,
         isAutoSop: 1,
@@ -888,6 +949,11 @@ export default {
         filterType: 2,
         expiryTime: 4,
         qwUserIds: null,
+        autoGroup:0,
+        autoGroupLevelArray:[],
+        autoGroupLevel:null,
+        groupName:null,
+        autoUserReg:0,
         corpId: null,
         setting: null,
         createBy: null,
@@ -942,10 +1008,21 @@ export default {
         if (valid) {
           if (this.form.type == 2 && this.form.filterMode == 2) {
             this.form.sendType = 11;
-            if (this.form.chatIds.length <= 0) {
-              return this.$message.error("请选择群聊")
+            if(this.form.autoGroup == 0){
+              if (this.form.chatIds.length <= 0) {
+                return this.$message.error("请选择群聊")
+              }
+            }
+            if(this.form.autoGroup == 1){
+              if (this.form.autoGroupLevelArray.length <= 0) {
+                return this.$message.error("请选择评级")
+              }
+              if (this.form.groupName == null) {
+                return this.$message.error("请输入群聊名称")
+              }
             }
             this.form.chatId = this.form.chatIds.join();
+            this.form.autoGroupLevel = this.form.autoGroupLevelArray.join();
           } else {
             if (this.userSelectList.length <= 0) {
               return this.$message.error("请选择员工")

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

@@ -103,6 +103,54 @@
               </el-tag>
             </div>
           </el-form-item>
+          <el-form-item label="是否自动创建群" prop="autoGroup" v-if="form.filterMode == 2">
+            <el-radio-group v-model="form.autoGroup">
+              <el-radio
+                :label="0"
+              >否
+              </el-radio>
+              <el-radio
+                :label="1"
+              >是
+              </el-radio>
+            </el-radio-group>
+            <div style="color: #999;font-size: 14px;display: flex;align-items: center;">
+              <i class="el-icon-info"></i>
+              选择的企业微信员工下面的群聊
+            </div>
+          </el-form-item>
+          <el-form-item label="是否注册用户" prop="autoGroup" v-if="form.filterMode == 2 && form.autoGroup == 1">
+            <el-radio-group v-model="form.autoUserReg">
+              <el-radio
+                :label="0"
+              >否
+              </el-radio>
+              <el-radio
+                :label="1"
+              >是
+              </el-radio>
+            </el-radio-group>
+            <div style="color: #999;font-size: 14px;display: flex;align-items: center;">
+              <i class="el-icon-info"></i>
+              筛选是否注册的用户
+            </div>
+          </el-form-item>
+          <el-form-item label="创建群聊评级" prop="chatIds" v-if="form.filterMode == 2 && form.autoGroup == 1">
+            <el-select multiple filterable clearable v-model="form.autoGroupLevelArray">
+              <el-option v-for="item in levelList" :key="item.value" :label="item.label" :value="item.value"/>
+            </el-select>
+            <div style="color: #999;font-size: 14px;display: flex;align-items: center;">
+              <i class="el-icon-info"></i>
+              选择需要拉取的客户评级
+            </div>
+          </el-form-item>
+          <el-form-item label="群聊名称" prop="chatIds" v-if="form.filterMode == 2 && form.autoGroup == 1">
+            <el-input v-model="form.groupName" maxlength="10" placeholder="请输入群聊名称" />
+            <div style="color: #999;font-size: 14px;display: flex;align-items: center;">
+              <i class="el-icon-info"></i>
+              创建群聊的名称(如有重复自动加数字区分)
+            </div>
+          </el-form-item>
           <el-form-item label="标签规则" prop="filterType">
             <el-radio-group v-model="form.filterType">
               <el-radio
@@ -342,7 +390,7 @@ import ImageUpload from "@/views/qw/sop/ImageUpload";
 import CustomerGroupDetails from '@/views/qw/groupMsg/customerGroupDetails.vue'
 import sopLogsDetails from '@/views/qw/sopLogs/sopLogsList.vue'
 import { listTag, getTag, } from "@/api/qw/tag";
-import { getMyQwUserList,getMyQwCompanyList } from "@/api/qw/user";
+import {getMyQwUserList, getMyQwCompanyList, getQwUserByIds} from "@/api/qw/user";
 import {sopListWxUserGroup} from "@/api/wxUser/wxUserGroup";
 import source from "echarts/src/data/Source";
 import SopTemp from "@/views/qw/sopTemp/sopTemp.vue";
@@ -353,6 +401,14 @@ export default {
   components: {Tip, SopTemp, CustomerGroupDetails, qwUserList,ImageUpload,sopLogsDetails},
   data() {
     return {
+      levelList: [
+        {value: 1, label: "A"},
+        {value: 2, label: "B"},
+        {value: 3, label: "C"},
+        {value: 4, label: "D"},
+        {value: 5, label: "E"},
+        {value: -1, label: "未评级"},
+      ],
       updateQwUserDialog:{
         title:"修改成员",
         open:false
@@ -410,6 +466,7 @@ export default {
         status: 1,
         sendType:2,
         type: 2,
+        autoGroupLevelArray:[],
         filterType:2,
         autoSopTime:{},
       },
@@ -644,6 +701,14 @@ export default {
         if (this.form.setting!=null){
           this.setting=JSON.parse(this.form.setting);
         }
+        if(this.form.autoGroupLevel != null){
+          this.form.autoGroupLevelArray = this.form.autoGroupLevel.split(",").map(Number);
+        }
+        if(this.form.qwUserIds != null){
+          getQwUserByIds(this.form.qwUserIds).then(res => {
+            this.companyQwUserList = res.data;
+          })
+        }
 
         listSopTemp({id:this.form.tempId}).then(response => {
           this.tempList = response.rows;
@@ -666,6 +731,7 @@ export default {
         type: 2,
         filterType:2,
         qwUserIds: null,
+        autoGroupLevelArray:[],
         corpId: null,
         setting: null,
         createBy: null,