xw 1 روز پیش
والد
کامیت
d25167f362

+ 26 - 0
.env.prod-bjjs

@@ -0,0 +1,26 @@
+# 页面标题
+VUE_APP_TITLE =北京云SCRM销售端
+# 公司名称
+VUE_APP_COMPANY_NAME =北京云
+# ICP备案号
+VUE_APP_ICP_RECORD =
+# ICP网站访问地址
+VUE_APP_ICP_URL =https://beian.miit.gov.cn
+# 网站LOG
+VUE_APP_LOG_URL =@/assets/logo/bjjs.png
+
+# 生产环境配置
+ENV = 'production'
+
+# FS管理系统/开发环境
+VUE_APP_BASE_API = '/prod-api'
+
+
+#默认 1、会员 2、企微
+VUE_APP_COURSE_DEFAULT = 1
+
+#项目所属
+VUE_APP_PROJECT_FROM=bjjs
+
+# 路由懒加载
+VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 1 - 0
package.json

@@ -38,6 +38,7 @@
     "build:prod-bly": "vue-cli-service build --mode prod-bly",
     "build:prod-qdtst": "vue-cli-service build --mode prod-qdtst",
     "build:prod-bjczwh": "vue-cli-service build --mode prod-bjczwh",
+    "build:prod-bjjs": "vue-cli-service build --mode prod-bjjs",
     "build:prod-jnlzjk": "vue-cli-service build --mode prod-jnlzjk",
     "build:prod-jkj": "vue-cli-service build --mode prod-jkj",
     "build:prod-hzjs": "vue-cli-service build --mode prod-hzjs",

BIN
src/assets/logo/bjjs.png


+ 1 - 0
src/views/qw/externalContact/deptIndex.vue

@@ -457,6 +457,7 @@
             type="text"
             icon="el-icon-edit-outline"
             @click="handleUpdateUser(scope.row)"
+            v-hasPermi="['qw:externalContact:bindUserId']"
           >
             <span v-if="scope.row.fsUserId">换绑会员</span>
             <span v-else>绑定会员</span>

+ 3 - 0
src/views/qw/externalContact/index.vue

@@ -477,6 +477,8 @@
           <dict-tag :options="statusOptions" :value="scope.row.status"/>
         </template>
       </el-table-column>
+      <el-table-column label="管理状态" align="center" prop="manageStatusName" width="120px" />
+      <el-table-column label="管理备注" align="center" prop="manageRemark" min-width="150px" show-overflow-tooltip />
       <el-table-column label="客户等级" align="center" prop="level" width="120px" >
         <template slot-scope="scope">
           <dict-tag :options="ratingType" :value="scope.row.level"/>
@@ -608,6 +610,7 @@
             type="text"
             icon="el-icon-edit-outline"
             @click="handleUpdateUser(scope.row)"
+            v-hasPermi="['qw:externalContact:bindUserId']"
             >
             <span v-if="scope.row.fsUserId">换绑会员</span>
             <span v-else>绑定会员</span>

+ 3 - 0
src/views/qw/externalContact/myExternalContact.vue

@@ -436,6 +436,8 @@
           <dict-tag :options="statusOptions" :value="scope.row.status"/>
         </template>
       </el-table-column>
+      <el-table-column label="管理状态" align="center" prop="manageStatusName" width="120px" />
+      <el-table-column label="管理备注" align="center" prop="manageRemark" min-width="150px" show-overflow-tooltip />
       <el-table-column label="客户等级" align="center" prop="level" width="120px" >
         <template slot-scope="scope">
           <dict-tag :options="ratingType" :value="scope.row.level"/>
@@ -568,6 +570,7 @@
             type="text"
             icon="el-icon-edit-outline"
             @click="handleUpdateUser(scope.row)"
+            v-hasPermi="['qw:externalContact:bindUserId']"
             >
             <span v-if="scope.row.fsUserId">换绑会员</span>
             <span v-else>绑定会员</span>

+ 42 - 21
src/views/qw/externalContactTransfer/deptTransferIndex.vue

@@ -310,6 +310,7 @@ export default {
       title: "",
       // 是否显示弹出层
       open: false,
+      filter: false,
       // 用户类别字典
       typeOptions: [],
       ratingType: [],
@@ -475,36 +476,56 @@ export default {
 
     handleTransfer(row) {
       this.reset();
-      if(this.ids==null||this.ids==""){
-        return  this.$message('请选择需要分配的客户');
+      const hasSelection = this.ids && this.ids.length > 0;
+      if (hasSelection) {
+        this.filter = false;
+      } else {
+        if (this.total === 0) {
+          return this.$message('无可分配的客户');
+        }
+        this.filter = true;
       }
-
       setTimeout(() => {
-                    this.$refs.qwUserSelectOne.getDetails(this.queryParams.corpId);
-       }, 1);
+        this.$refs.qwUserSelectOne.getDetails(this.queryParams.corpId);
+      }, 1);
       this.open = true;
       this.title = "分配客户";
-
+    },
+    buildTransferParam() {
+      if (this.selectTags && this.selectTags.length) {
+        this.queryParams.tagIds = this.selectTags.join(',');
+      }
+      const obj = JSON.parse(JSON.stringify(this.queryParams));
+      if (obj.tagIds && typeof obj.tagIds === 'string') {
+        obj.tagIds = obj.tagIds.split(',');
+      }
+      if (obj.tagIds === '' || (Array.isArray(obj.tagIds) && obj.tagIds.length === 0)) {
+        obj.tagIds = null;
+      }
+      return obj;
     },
     /** 提交按钮 */
     submitForm() {
       this.$refs["form"].validate(valid => {
-
-
         if (valid) {
-            var form={
-              ids:this.ids,
-              userId:this.form.userId,
-              corpId:this.queryParams.corpId,
-			  content:this.form.content,
-              needClearTag: 0
-            }
-            transfer(form).then(response => {
-              this.msgSuccess(response.msg);
-              this.open = false;
-              this.getList();
-            });
-
+          const form = {
+            filter: this.filter,
+            addType: 2,
+            userId: this.form.userId,
+            corpId: this.queryParams.corpId,
+            content: this.form.content,
+            needClearTag: 0
+          };
+          if (this.filter) {
+            form.param = this.buildTransferParam();
+          } else {
+            form.ids = this.ids;
+          }
+          transfer(form).then(response => {
+            this.msgSuccess(response.msg);
+            this.open = false;
+            this.getList();
+          });
         }
       });
     },

+ 44 - 31
src/views/qw/externalContactTransfer/index.vue

@@ -634,47 +634,60 @@ export default {
 
     handleTransfer(row) {
       this.reset();
-      if(this.ids==null||this.ids==""){
-        return  this.$message('请选择需要分配的客户');
+      const hasSelection = this.ids && this.ids.length > 0;
+      if (hasSelection) {
+        this.filter = false;
+      } else {
+        if (this.total === 0) {
+          return this.$message('无可分配的客户');
+        }
+        this.filter = true;
       }
       setTimeout(() => {
-                    this.$refs.qwUserSelectOne.getDetails(this.queryParams.corpId);
-       }, 1);
+        this.$refs.qwUserSelectOne.getDetails(this.queryParams.corpId);
+      }, 1);
       this.open = true;
-      this.filter = false;
       this.title = "分配客户";
     },
+    buildTransferParam() {
+      if (this.selectTags && this.selectTags.length) {
+        this.queryParams.tagIds = this.selectTags.join(',');
+      }
+      if (this.dateRange) {
+        this.changeTime();
+      }
+      const obj = JSON.parse(JSON.stringify(this.queryParams));
+      if (obj.tagIds && typeof obj.tagIds === 'string') {
+        obj.tagIds = obj.tagIds.split(',');
+      }
+      if (obj.tagIds === '' || (Array.isArray(obj.tagIds) && obj.tagIds.length === 0)) {
+        obj.tagIds = null;
+      }
+      return obj;
+    },
 
     /** 提交按钮 */
     submitForm() {
       this.$refs["form"].validate(valid => {
-
-
-        let obj = JSON.parse(JSON.stringify(this.queryParams))
-        if(obj.tagIds == "" && obj.tagIds.length == 0){
-          obj.tagIds = null;
-        }
-        if(obj.tagIds !== null && obj.tagIds !== undefined){
-          obj.tagIds = obj.tagIds.split(",");
-        }
         if (valid) {
-            var form={
-              ids:this.ids,
-              addType: 0,
-              filter: this.filter,
-              param: obj,
-              userId:this.form.userId,
-              corpId:this.queryParams.corpId,
-			        content:this.form.content,
-              needClearTag: this.form.needClearTag
-            }
-            transfer(form).then(response => {
-              this.msgSuccess(response.msg);
-              this.open = false;
-              this.getList();
-            });
-
-        }
+          const form = {
+            filter: this.filter,
+            addType: 0,
+            userId: this.form.userId,
+            corpId: this.queryParams.corpId,
+            content: this.form.content,
+            needClearTag: this.form.needClearTag
+          };
+          if (this.filter) {
+            form.param = this.buildTransferParam();
+          } else {
+            form.ids = this.ids;
+          }
+          transfer(form).then(response => {
+            this.msgSuccess(response.msg);
+            this.open = false;
+            this.getList();
+          });        }
       });
     },
     /** 删除按钮操作 */

+ 37 - 16
src/views/qw/externalContactUnassigned/deptUnassignedIndex.vue

@@ -272,6 +272,7 @@ export default {
       title: "",
       // 是否显示弹出层
       open: false,
+      filter: false,
       // 用户类别字典
       typeOptions: [],
       myQwCompanyList:[],
@@ -427,33 +428,53 @@ export default {
 
     handleTransfer(row) {
       this.reset();
-      if(this.ids==null||this.ids==""){
-        return  this.$message('请选择需要分配的客户');
+      const hasSelection = this.ids && this.ids.length > 0;
+      if (hasSelection) {
+        this.filter = false;
+      } else {
+        if (this.total === 0) {
+          return this.$message('无可分配的客户');
+        }
+        this.filter = true;
       }
       setTimeout(() => {
-              this.$refs.qwUserSelectOne.getDetails(this.queryParams.corpId);
+        this.$refs.qwUserSelectOne.getDetails(this.queryParams.corpId);
       }, 1);
       this.open = true;
       this.title = "分配客户";
-
+    },
+    buildTransferParam() {
+      const obj = JSON.parse(JSON.stringify(this.queryParams));
+      if (obj.tagIds && typeof obj.tagIds === 'string') {
+        obj.tagIds = obj.tagIds.split(',');
+      }
+      if (obj.tagIds === '' || (Array.isArray(obj.tagIds) && obj.tagIds.length === 0)) {
+        obj.tagIds = null;
+      }
+      return obj;
     },
     /** 提交按钮 */
     submitForm() {
       this.nickName=null;
       this.$refs["form"].validate(valid => {
         if (valid) {
-            var form={
-              ids:this.ids,
-              userId:this.form.userId,
-              corpId:this.queryParams.corpId,
-              needClearTag: this.form.needClearTag
-            }
-            resignedTransfer(form).then(response => {
-              this.msgSuccess(response.msg);
-              this.open = false;
-              this.getList();
-            });
-
+          const form = {
+            filter: this.filter,
+            addType: 2,
+            userId: this.form.userId,
+            corpId: this.queryParams.corpId,
+            needClearTag: this.form.needClearTag
+          };
+          if (this.filter) {
+            form.param = this.buildTransferParam();
+          } else {
+            form.ids = this.ids;
+          }
+          resignedTransfer(form).then(response => {
+            this.msgSuccess(response.msg);
+            this.open = false;
+            this.getList();
+          });
         }
       });
     },

+ 40 - 19
src/views/qw/externalContactUnassigned/index.vue

@@ -276,6 +276,7 @@ export default {
       title: "",
       // 是否显示弹出层
       open: false,
+      filter: false,
       // 用户类别字典
       typeOptions: [],
       myQwCompanyList:[],
@@ -458,16 +459,31 @@ export default {
 
     handleTransfer(row) {
       this.reset();
-      this.type = '0'
-      if(this.ids==null||this.ids==""){
-        return  this.$message('请选择需要分配的客户');
+      this.type = '0';
+      const hasSelection = this.ids && this.ids.length > 0;
+      if (hasSelection) {
+        this.filter = false;
+      } else {
+        if (this.total === 0) {
+          return this.$message('无可分配的客户');
+        }
+        this.filter = true;
       }
       setTimeout(() => {
-              this.$refs.qwUserSelectOne.getDetails(this.queryParams.corpId);
+        this.$refs.qwUserSelectOne.getDetails(this.queryParams.corpId);
       }, 1);
       this.open = true;
       this.title = "分配客户";
-
+    },
+    buildTransferParam() {
+      const obj = JSON.parse(JSON.stringify(this.queryParams));
+      if (obj.tagIds && typeof obj.tagIds === 'string') {
+        obj.tagIds = obj.tagIds.split(',');
+      }
+      if (obj.tagIds === '' || (Array.isArray(obj.tagIds) && obj.tagIds.length === 0)) {
+        obj.tagIds = null;
+      }
+      return obj;
     },
 
 
@@ -487,20 +503,25 @@ export default {
       this.nickName=null;
       this.$refs["form"].validate(valid => {
         if (valid) {
-            var form={
-              qwUserName:this.qwUserName,
-              type:this.type,
-              ids:this.ids,
-              userId:this.form.userId,
-              corpId:this.queryParams.corpId,
-              needClearTag: this.form.needClearTag
-            }
-            resignedTransfer(form).then(response => {
-              this.msgSuccess(response.msg);
-              this.open = false;
-              this.getList();
-            });
-
+          const form = {
+            qwUserName: this.qwUserName,
+            type: this.type,
+            filter: this.filter,
+            addType: 0,
+            userId: this.form.userId,
+            corpId: this.queryParams.corpId,
+            needClearTag: this.form.needClearTag
+          };
+          if (this.filter) {
+            form.param = this.buildTransferParam();
+          } else {
+            form.ids = this.ids;
+          }
+          resignedTransfer(form).then(response => {
+            this.msgSuccess(response.msg);
+            this.open = false;
+            this.getList();
+          });
         }
       });
       this.qwUserName=null;