فهرست منبع

Merge remote-tracking branch 'origin/master'

xgb 1 روز پیش
والد
کامیت
ba402a0ccf
51فایلهای تغییر یافته به همراه314 افزوده شده و 34 حذف شده
  1. 3 0
      .env.development
  2. 3 0
      .env.prod-bjczwh
  3. 3 0
      .env.prod-bjyjb
  4. 3 0
      .env.prod-bly
  5. 3 0
      .env.prod-bnkc
  6. 3 0
      .env.prod-cqtyt
  7. 3 0
      .env.prod-cqxzt
  8. 3 0
      .env.prod-czt
  9. 3 0
      .env.prod-ddgy
  10. 4 0
      .env.prod-drk
  11. 4 0
      .env.prod-fby
  12. 4 0
      .env.prod-hat
  13. 3 0
      .env.prod-hcl
  14. 4 0
      .env.prod-hdt
  15. 22 0
      .env.prod-heyantang
  16. 3 0
      .env.prod-hst
  17. 4 0
      .env.prod-hyt
  18. 3 0
      .env.prod-hzyy
  19. 4 0
      .env.prod-jkj
  20. 4 1
      .env.prod-jnlzjk
  21. 3 0
      .env.prod-jnmy
  22. 4 0
      .env.prod-jzzx
  23. 4 0
      .env.prod-knt
  24. 3 0
      .env.prod-kyt
  25. 4 0
      .env.prod-lmjy
  26. 3 0
      .env.prod-myhk
  27. 3 0
      .env.prod-nmgyt
  28. 4 0
      .env.prod-qdtst
  29. 4 0
      .env.prod-sft
  30. 3 0
      .env.prod-sxjz
  31. 4 0
      .env.prod-syysy
  32. 3 0
      .env.prod-test
  33. 4 0
      .env.prod-whhm
  34. 3 0
      .env.prod-xfk
  35. 4 0
      .env.prod-ylrz
  36. 4 0
      .env.prod-yzt
  37. 3 0
      .env.prod-zkzh
  38. 3 0
      .env.prod-zsjk
  39. 3 0
      .env.production
  40. 1 0
      package.json
  41. BIN
      src/assets/logo/cdhyt.jpg
  42. 39 16
      src/views/company/companyUser/index.vue
  43. 7 2
      src/views/course/courseWatchLog/index.vue
  44. 6 2
      src/views/course/courseWatchLog/qw/statistics.vue
  45. 10 10
      src/views/crm/components/customerAssignList.vue
  46. 1 0
      src/views/qw/friendWelcome/indexNew.vue
  47. 2 2
      src/views/qw/qwUserVoiceLog/index.vue
  48. 23 0
      src/views/qw/sopTemp/updateSopTemp.vue
  49. 21 0
      src/views/qw/sopUserLogsInfo/sendMsgOpenTool.vue
  50. 23 0
      src/views/qw/sopUserLogsInfo/sendMsgSopOpenTool.vue
  51. 29 1
      src/views/qw/sopUserLogsInfo/sopUserLogsInfoDetails.vue

+ 3 - 0
.env.development

@@ -26,5 +26,8 @@ VUE_APP_PATIENT_INFO = '客户信息'
 # 添加病人
 VUE_APP_ADD_PATIENT = '添加信息'
 
+#项目所属
+VUE_APP_PROJECT_FROM=dev
+
 #1、正常搜索下拉框 2、查询出200条数据,然后搜索这200条以内的
 VUE_APP_COURSE_COMPANY_NAME = 2

+ 3 - 0
.env.prod-bjczwh

@@ -19,5 +19,8 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 1
 
+#项目所属
+VUE_APP_PROJECT_FROM=bjczwh
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 3 - 0
.env.prod-bjyjb

@@ -18,5 +18,8 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 1
 
+#项目所属
+VUE_APP_PROJECT_FROM=bjyjb
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 3 - 0
.env.prod-bly

@@ -15,5 +15,8 @@ ENV = 'production'
 #FS管理系统/生产环境
 VUE_APP_BASE_API = '/prod-api'
 
+#项目所属
+VUE_APP_PROJECT_FROM=bly
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 3 - 0
.env.prod-bnkc

@@ -19,5 +19,8 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 1
 
+#项目所属
+VUE_APP_PROJECT_FROM=bnkc
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 3 - 0
.env.prod-cqtyt

@@ -18,5 +18,8 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 1
 
+#项目所属
+VUE_APP_PROJECT_FROM=cqtyt
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 3 - 0
.env.prod-cqxzt

@@ -18,5 +18,8 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 1
 
+#项目所属
+VUE_APP_PROJECT_FROM=cqxzt
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 3 - 0
.env.prod-czt

@@ -18,5 +18,8 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 2
 
+#项目所属
+VUE_APP_PROJECT_FROM=czt
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 3 - 0
.env.prod-ddgy

@@ -18,5 +18,8 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 1
 
+#项目所属
+VUE_APP_PROJECT_FROM=ddgy
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 4 - 0
.env.prod-drk

@@ -18,5 +18,9 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 1
 
+
+#项目所属
+VUE_APP_PROJECT_FROM=drk
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 4 - 0
.env.prod-fby

@@ -18,6 +18,10 @@ VUE_APP_BASE_API = '/prod-api'
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true
 
+
+#项目所属
+VUE_APP_PROJECT_FROM=fby
+
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 2
 

+ 4 - 0
.env.prod-hat

@@ -18,5 +18,9 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 2
 
+
+#项目所属
+VUE_APP_PROJECT_FROM=hat
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 3 - 0
.env.prod-hcl

@@ -18,5 +18,8 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 1
 
+#项目所属
+VUE_APP_PROJECT_FROM=hcl
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 4 - 0
.env.prod-hdt

@@ -18,5 +18,9 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 1
 
+
+#项目所属
+VUE_APP_PROJECT_FROM=hat
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 22 - 0
.env.prod-heyantang

@@ -0,0 +1,22 @@
+# 页面标题
+VUE_APP_TITLE =成都鹤颜堂健康管理
+# 公司名称
+VUE_APP_COMPANY_NAME =成都御养堂健康管理有限公司
+# ICP备案号
+VUE_APP_ICP_RECORD =蜀ICP备2024054506号-51
+# ICP网站访问地址
+VUE_APP_ICP_URL =https://beian.miit.gov.cn
+# 网站LOG
+VUE_APP_LOG_URL =@/assets/logo/cdhyt.jpg
+
+# 生产环境配置
+ENV = 'production'
+
+# FS管理系统/开发环境
+VUE_APP_BASE_API = '/prod-api'
+
+#默认 1、会员 2、企微
+VUE_APP_COURSE_DEFAULT = 2
+
+# 路由懒加载
+VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 3 - 0
.env.prod-hst

@@ -18,5 +18,8 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 2
 
+#项目所属
+VUE_APP_PROJECT_FROM=hst
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 4 - 0
.env.prod-hyt

@@ -18,5 +18,9 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 1
 
+
+#项目所属
+VUE_APP_PROJECT_FROM=hyt
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 3 - 0
.env.prod-hzyy

@@ -18,5 +18,8 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 2
 
+#项目所属
+VUE_APP_PROJECT_FROM=hzyy
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 4 - 0
.env.prod-jkj

@@ -15,5 +15,9 @@ ENV = 'production'
 # FS管理系统/开发环境
 VUE_APP_BASE_API = '/prod-api'
 
+
+#项目所属
+VUE_APP_PROJECT_FROM=jkj
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 4 - 1
.env.prod-jnlzjk

@@ -17,7 +17,10 @@ VUE_APP_BASE_API = '/prod-api'
 
 
 #默认 1、会员 2、企微
-VUE_APP_COURSE_DEFAULT = 1
+VUE_APP_COURSE_DEFAULT = 2
+
+#项目所属
+VUE_APP_PROJECT_FROM=jnlzjk
 
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 3 - 0
.env.prod-jnmy

@@ -18,5 +18,8 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 2
 
+#项目所属
+VUE_APP_PROJECT_FROM=jnmy
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 4 - 0
.env.prod-jzzx

@@ -18,5 +18,9 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 2
 
+
+#项目所属
+VUE_APP_PROJECT_FROM=jzzx
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 4 - 0
.env.prod-knt

@@ -18,5 +18,9 @@ VUE_APP_BASE_API = '/prod-api'
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true
 
+
+#项目所属
+VUE_APP_PROJECT_FROM=knt
+
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 1

+ 3 - 0
.env.prod-kyt

@@ -18,5 +18,8 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 2
 
+#项目所属
+VUE_APP_PROJECT_FROM=kyt
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 4 - 0
.env.prod-lmjy

@@ -18,5 +18,9 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 1
 
+
+#项目所属
+VUE_APP_PROJECT_FROM=lmjy
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 3 - 0
.env.prod-myhk

@@ -18,5 +18,8 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 2
 
+#项目所属
+VUE_APP_PROJECT_FROM=myhk
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 3 - 0
.env.prod-nmgyt

@@ -18,5 +18,8 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 2
 
+#项目所属
+VUE_APP_PROJECT_FROM=nmgyt
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 4 - 0
.env.prod-qdtst

@@ -18,5 +18,9 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 1
 
+
+#项目所属
+VUE_APP_PROJECT_FROM=qdtst
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 4 - 0
.env.prod-sft

@@ -21,5 +21,9 @@ VUE_APP_COURSE_DEFAULT = 1
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true
 
+
+#项目所属
+VUE_APP_PROJECT_FROM=sft
+
 #1、正常搜索下拉框 2、查询出200条数据,然后搜索这200条以内的
 VUE_APP_COURSE_COMPANY_NAME = 2

+ 3 - 0
.env.prod-sxjz

@@ -18,5 +18,8 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 1
 
+#项目所属
+VUE_APP_PROJECT_FROM=sxjz
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 4 - 0
.env.prod-syysy

@@ -18,5 +18,9 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 1
 
+
+#项目所属
+VUE_APP_PROJECT_FROM=syysy
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 3 - 0
.env.prod-test

@@ -18,5 +18,8 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 1
 
+#项目所属
+VUE_APP_PROJECT_FROM=test
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 4 - 0
.env.prod-whhm

@@ -18,5 +18,9 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 1
 
+
+#项目所属
+VUE_APP_PROJECT_FROM=whhm
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 3 - 0
.env.prod-xfk

@@ -18,5 +18,8 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 2
 
+#项目所属
+VUE_APP_PROJECT_FROM=xfk
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 4 - 0
.env.prod-ylrz

@@ -15,5 +15,9 @@ ENV = 'production'
 # FS管理系统/开发环境
 VUE_APP_BASE_API = '/prod-api'
 
+
+#项目所属
+VUE_APP_PROJECT_FROM=ylrz
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 4 - 0
.env.prod-yzt

@@ -18,5 +18,9 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 2
 
+
+#项目所属
+VUE_APP_PROJECT_FROM=yzt
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 3 - 0
.env.prod-zkzh

@@ -18,5 +18,8 @@ VUE_APP_BASE_API = '/prod-api'
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true
 
+#项目所属
+VUE_APP_PROJECT_FROM=zkzh
+
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 1

+ 3 - 0
.env.prod-zsjk

@@ -18,5 +18,8 @@ VUE_APP_BASE_API = '/prod-api'
 #默认 1、会员 2、企微
 VUE_APP_COURSE_DEFAULT = 2
 
+#项目所属
+VUE_APP_PROJECT_FROM=zsjk
+
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 3 - 0
.env.production

@@ -9,3 +9,6 @@ ENV = 'production'
 
 #FS管理系统/生产环境
 VUE_APP_BASE_API = '/prod-api'
+
+#项目所属
+VUE_APP_PROJECT_FROM=production

+ 1 - 0
package.json

@@ -31,6 +31,7 @@
     "build:prod-zkzh": "vue-cli-service build --mode prod-zkzh",
     "build:prod-nmgyt": "vue-cli-service build --mode prod-nmgyt",
     "build:prod-cqtyt": "vue-cli-service build --mode prod-cqtyt",
+    "build:prod-heyantang": "vue-cli-service build --mode prod-heyantang",
     "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",

BIN
src/assets/logo/cdhyt.jpg


+ 39 - 16
src/views/company/companyUser/index.vue

@@ -547,29 +547,34 @@
     </el-dialog>
 
     <!-- 设置单独注册会员弹窗 -->
+    <!-- 设置单独注册会员 -->
     <el-dialog title="设置单独注册会员" :visible.sync="registerOpen" width="400px" append-to-body>
-      <el-form ref="registerForm" :model="registerForm" label-width="180px">
-        <el-form-item label="是否需要开启单独注册">
-          <el-switch v-model="registerForm.status" active-value="true" inactive-value="false"></el-switch>
+      <el-form ref="registerForm" :model="registerForm" label-width="160px">
+        <el-form-item label="是否开启单独注册">
+          <el-switch v-model="registerForm.status" :active-value="true" :inactive-value="false"></el-switch>
         </el-form-item>
       </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitRegisterForm">确 定</el-button>
-        <el-button @click="registerOpen = false">取 消</el-button>
-      </div>
+      <template #footer>
+        <div class="dialog-footer">
+          <el-button type="primary" @click="submitRegisterForm">确 定</el-button>
+          <el-button @click="registerOpen = false">取 消</el-button>
+        </div>
+      </template>
     </el-dialog>
 
-    <!-- 是否允许所有方式注册会员弹窗 -->
+    <!-- 允许注册会员 -->
     <el-dialog title="允许注册会员" :visible.sync="allowedAllRegisterOpen" width="400px" append-to-body>
-      <el-form ref="registerForm" :model="allowedAllRegisterForm" label-width="180px">
+      <el-form ref="allowedAllRegisterForm" :model="allowedAllRegisterForm" label-width="160px">
         <el-form-item label="是否允许注册会员">
-          <el-switch v-model="allowedAllRegisterForm.status" active-value="true" inactive-value="false"></el-switch>
+          <el-switch v-model="allowedAllRegisterForm.status" :active-value="true" :inactive-value="false"></el-switch>
         </el-form-item>
       </el-form>
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitAllowedAllRegisterForm">确 定</el-button>
-        <el-button @click="allowedAllRegisterOpen = false">取 消</el-button>
-      </div>
+      <template #footer>
+        <div class="dialog-footer">
+          <el-button type="primary" @click="submitAllowedAllRegisterForm">确 定</el-button>
+          <el-button @click="allowedAllRegisterOpen = false">取 消</el-button>
+        </div>
+      </template>
     </el-dialog>
 
     <el-dialog :title="bindCompanyUrl.title" v-if="bindCompanyUrl.open"  :visible.sync="bindCompanyUrl.open" width="450px"  append-to-body>
@@ -671,6 +676,12 @@ export default {
       },
       // 选中数组
       ids: [],
+
+      //允许注册会员
+      isAllowedAllRegister: [],
+
+      //是否单独注册
+      isNeedRegisterMember: [],
       synform:{corpId:null},
       synOpen:false,
       synNameform:{corpId:null},
@@ -765,7 +776,7 @@ export default {
       qwStatusOptions:[],
       registerOpen: false,
       registerForm: {
-        status: false
+        status: false,
       },
       // 表单校验
       rules: {
@@ -1117,6 +1128,8 @@ export default {
     // 多选框选中数据
     handleSelectionChange(selection) {
       this.ids = selection.map((item) => item.userId);
+      this.isNeedRegisterMember = selection.map((item) => item.isNeedRegisterMember);
+      this.isAllowedAllRegister = selection.map((item) => item.isAllowedAllRegister);
       this.single = selection.length != 1;
       this.multiple = !selection.length;
     },
@@ -1407,7 +1420,12 @@ export default {
     /** 设置单独注册会员按钮操作 */
     handleSetRegister() {
       this.registerOpen = true;
-      this.registerForm.status = false;
+
+      if (this.isNeedRegisterMember && this.isNeedRegisterMember.some(item => item === 0)) {
+        this.registerForm.status = false;
+      } else {
+        this.registerForm.status = true;
+      }
     },
     /** 提交设置单独注册会员 */
     submitRegisterForm() {
@@ -1423,6 +1441,11 @@ export default {
     /** 开关是否允许所有方式注册会员 */
     handleAllowedAllRegister() {
       this.allowedAllRegisterOpen = true;
+      if (this.isAllowedAllRegister && this.isAllowedAllRegister.some(item => item === 0)) {
+        this.allowedAllRegisterForm.status = false;
+      } else {
+        this.allowedAllRegisterForm.status = true;
+      }
       // this.allowedAllRegisterForm.status = true;
     },
     // 提交

+ 7 - 2
src/views/course/courseWatchLog/index.vue

@@ -2,7 +2,7 @@
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px">
       <el-form-item label="看课方式" prop="sendType">
-        <el-select v-model="queryParams.sendType" placeholder="选择看课方式"  clearable size="small" @change="handleSendTypeChange">
+        <el-select v-model="queryParams.sendType" placeholder="选择看课方式" size="small" @change="handleSendTypeChange">
           <el-option
             v-for="dict in sendTypeOptions"
             :key="dict.dictValue"
@@ -99,7 +99,7 @@
           </el-option>
         </el-select>
       </el-form-item>
-      <el-form-item label="所属企微" prop="qwUserName" v-if="queryParams.companyUserId">
+      <el-form-item label="所属企微" prop="qwUserName" v-if="queryParams.companyUserId && (queryParams.sendType == 2)">
         <el-select v-model="queryParams.qwUserName"
                    clearable filterable
                    placeholder="请输入关键词"
@@ -1332,6 +1332,11 @@ export default {
     },
 
     handleSendTypeChange() {
+
+      // 如果是会员,清除一下选中的企微
+      if(this.queryParams.sendType == 1) {
+        this.queryParams.qwUserName = null;
+      }
       this.handleQuery(); // 重新查询列表
     },
 

+ 6 - 2
src/views/course/courseWatchLog/qw/statistics.vue

@@ -64,8 +64,12 @@
       <el-table-column label="看课中" align="center" prop="type1" />
       <el-table-column label="已完课" align="center" prop="type2" />
       <el-table-column label="看课中断" align="center" prop="type4" />
-
-
+      <el-table-column label="发课数" align="center" prop="sendNumber" />
+      <el-table-column label="注册用户待看课数" align="center" prop="isUserWaitNumber" />
+      <el-table-column label="未注册用户待看课数" align="center" prop="noUserWaitNumber" />
+      <el-table-column label="上线率" align="center" prop="onLineRate" />
+      <el-table-column label="完课率" align="center" prop="finishedRate" />
+      <el-table-column label="消耗红包金额" align="center" prop="redAmount" />
     </el-table>
 
     <pagination

+ 10 - 10
src/views/crm/components/customerAssignList.vue

@@ -19,7 +19,7 @@
            >
         </el-date-picker>
       </el-form-item>
-        
+
         <el-form-item>
           <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
           <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -41,7 +41,7 @@
         <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
-           
+
             size="mini"
             type="text"
             @click="handleShow(scope.row)"
@@ -72,9 +72,9 @@
       </el-dialog>
     </div>
   </template>
-  
+
   <script>
-  
+
   import { listCustomerAssign,   cancelCustomerAssign } from "@/api/crm/customerAssign";
   import { getCustomerListByIds } from "@/api/crm/customer";
   export default {
@@ -115,7 +115,7 @@
           sysUserId: null,
           assignType: null,
         },
-        
+
       };
     },
     created() {
@@ -143,7 +143,7 @@
             this.loading = false;
             });
         },
-         
+
         /** 搜索按钮操作 */
         handleQuery() {
             this.queryParams.pageNum = 1;
@@ -151,8 +151,9 @@
         },
         /** 重置按钮操作 */
         resetQuery() {
-            this.resetForm("queryForm");
-            this.handleQuery();
+          this.dateRange = [];
+          this.resetForm("queryForm");
+          this.handleQuery();
         },
         // 多选框选中数据
         handleSelectionChange(selection) {
@@ -173,8 +174,7 @@
                 this.msgSuccess("操作成功");
             }).catch(function() {});
         },
-         
+
     }
   };
   </script>
-  

+ 1 - 0
src/views/qw/friendWelcome/indexNew.vue

@@ -1132,6 +1132,7 @@ export default {
     },
     /** 重置按钮操作 */
     resetQuery() {
+      this.queryParams.createTime = null;
       this.resetForm("queryForm");
       this.queryParams.corpId= this.myQwCompanyList[0].dictValue
       getQwAllUserList(this.queryParams.corpId).then(response => {

+ 2 - 2
src/views/qw/qwUserVoiceLog/index.vue

@@ -573,8 +573,8 @@ export default {
       }
       this.selectTags=[];
       this.createTime=null;
-      this.queryParams.sTime=null;
-      this.queryParams.eTime=null;
+      this.queryParams.beginTime=null;
+      this.queryParams.endTime=null;
       this.queryParams.tagIds=null;
       this.$forceUpdate();
       this.handleQuery();

+ 23 - 0
src/views/qw/sopTemp/updateSopTemp.vue

@@ -708,6 +708,7 @@ export default {
   components: {ImageUpload, userVideo, draggable},
   data() {
     return {
+      projectFrom:process.env.VUE_APP_PROJECT_FROM,
       addTag: [{
         addTag: [],
         inputVisible: false,
@@ -1567,6 +1568,7 @@ export default {
       //如果是链接的才上
       if (content.courseId != null && content.type == 2) {
         const selectedCourse = this.courseList.find(course => parseInt(course.dictValue) === content.courseId);
+
         for (let i = 0; i < content.setting.length; i++) {
           //响应式直接给链接的标题/封面上值
           if (selectedCourse && content.type == 2 && content.courseId != null) {
@@ -1593,9 +1595,19 @@ export default {
 
             if (content.setting[i].contentType == 3 || content.setting[i].contentType == 9) {
               this.$set(content.setting[i], 'linkDescribe', selectedVideo.dictLabel);
+
+              if (this.projectFrom == 'sxjz' && selectedVideo.dictImgUrl) {
+                this.$set(content.setting[i], 'linkImageUrl', selectedVideo.dictImgUrl);
+              }
+
             }
             if (content.setting[i].contentType == 4 || content.setting[i].contentType == 10 ) {
               this.$set(content.setting[i], 'miniprogramTitle', this.truncateTextByByteLength(selectedVideo.dictLabel, 60));
+
+              if (this.projectFrom == 'sxjz' && selectedVideo.dictImgUrl) {
+                this.$set(content.setting[i], 'miniprogramPicUrl', selectedVideo.dictImgUrl);
+              }
+
             }
           }
         }
@@ -1627,9 +1639,20 @@ export default {
 
           if (content.setting[i].contentType == 3 || content.setting[i].contentType == 9) {
             this.$set(content.setting[i], 'linkDescribe', selectedVideo.dictLabel);
+
+            if (this.projectFrom == 'sxjz' && selectedVideo.dictImgUrl) {
+              this.$set(content.setting[i], 'linkImageUrl', selectedVideo.dictImgUrl);
+            }
+
           }
+
           if (content.setting[i].contentType == 4 || content.setting[i].contentType == 10) {
             this.$set(content.setting[i], 'miniprogramTitle', this.truncateTextByByteLength(selectedVideo.dictLabel, 60));
+
+            if (this.projectFrom == 'sxjz' && selectedVideo.dictImgUrl) {
+              this.$set(content.setting[i], 'miniprogramPicUrl', selectedVideo.dictImgUrl);
+            }
+
           }
 
 

+ 21 - 0
src/views/qw/sopUserLogsInfo/sendMsgOpenTool.vue

@@ -281,6 +281,7 @@ export default {
   components: {ImageUpload,userVideo},
   data() {
     return {
+      projectFrom:process.env.VUE_APP_PROJECT_FROM,
       videoNumOptions: {
         title: '选择视频号',
         open: false,
@@ -448,10 +449,21 @@ export default {
           if (selectedVideo && this.msgForm.videoId != null) {
             if (this.setting[i].contentType == 3 || this.setting[i].contentType == 9 ){
               this.$set(this.setting[i], 'linkDescribe', selectedVideo.dictLabel);
+
+              if (this.projectFrom == 'sxjz' && selectedVideo.dictImgUrl) {
+                this.$set(this.setting[i], 'linkImageUrl', selectedVideo.dictImgUrl);
+              }
+
             }
 
             if (this.setting[i].contentType == 4 || this.setting[i].contentType == 10 ){
               this.$set(this.setting[i], 'miniprogramTitle', selectedVideo.dictLabel);
+
+              if (this.projectFrom == 'sxjz' && selectedVideo.dictImgUrl) {
+                this.$set(this.setting[i], 'miniprogramPicUrl', selectedVideo.dictImgUrl);
+
+              }
+
             }
 
 
@@ -691,9 +703,18 @@ export default {
 
             if (this.setting[i].contentType == 3 || this.setting[i].contentType == 9){
               this.$set(this.setting[i], 'linkDescribe', selectedVideo.dictLabel);
+
+              if (this.projectFrom == 'sxjz' && selectedVideo.dictImgUrl) {
+                this.$set(this.setting[i], 'linkImageUrl', selectedVideo.dictImgUrl);
+              }
             }
             if (this.setting[i].contentType == 4 || this.setting[i].contentType == 10){
               this.$set(this.setting[i], 'miniprogramTitle', selectedVideo.dictLabel);
+
+              if (this.projectFrom == 'sxjz' && selectedVideo.dictImgUrl) {
+                this.$set(this.setting[i], 'miniprogramPicUrl', selectedVideo.dictImgUrl);
+              }
+
             }
 
           }

+ 23 - 0
src/views/qw/sopUserLogsInfo/sendMsgSopOpenTool.vue

@@ -281,6 +281,7 @@ export default {
   components: {ImageUpload,userVideo},
   data() {
     return {
+      projectFrom:process.env.VUE_APP_PROJECT_FROM,
       videoNumOptions: {
         title: '选择视频号',
         open: false,
@@ -449,13 +450,23 @@ export default {
           if (selectedVideo && this.msgForm.videoId != null) {
             if (this.setting[i].contentType == 3 || this.setting[i].contentType == 9 ){
               this.$set(this.setting[i], 'linkDescribe', selectedVideo.dictLabel);
+
+              if (this.projectFrom == 'sxjz' && selectedVideo.dictImgUrl) {
+                this.$set(this.setting[i], 'linkImageUrl', selectedVideo.dictImgUrl);
+              }
             }
 
             if (this.setting[i].contentType == 4 || this.setting[i].contentType == 10 ){
               this.$set(this.setting[i], 'miniprogramTitle', selectedVideo.dictLabel);
+
+              if (this.projectFrom == 'sxjz' && selectedVideo.dictImgUrl) {
+                this.$set(this.setting[i], 'miniprogramPicUrl', selectedVideo.dictImgUrl);
+              }
+
             }
 
 
+
           }
         }
       }
@@ -671,9 +682,11 @@ export default {
             if (this.setting[i].contentType == 3 || this.setting[i].contentType == 9){
               this.$set(this.setting[i], 'linkTitle', selectedCourse.dictLabel);
               this.$set(this.setting[i], 'linkImageUrl', selectedCourse.dictImgUrl);
+
             }
             if (this.setting[i].contentType == 4 || this.setting[i].contentType == 10){
               this.$set(this.setting[i], 'miniprogramPicUrl', selectedCourse.dictImgUrl);
+
             }
 
 
@@ -692,9 +705,19 @@ export default {
 
             if (this.setting[i].contentType == 3 || this.setting[i].contentType == 9){
               this.$set(this.setting[i], 'linkDescribe', selectedVideo.dictLabel);
+
+              if (this.projectFrom == 'sxjz' && selectedVideo.dictImgUrl) {
+                this.$set(this.setting[i], 'linkImageUrl', selectedVideo.dictImgUrl);
+              }
+
             }
             if (this.setting[i].contentType == 4 || this.setting[i].contentType == 10){
               this.$set(this.setting[i], 'miniprogramTitle', selectedVideo.dictLabel);
+
+              if (this.projectFrom == 'sxjz' && selectedVideo.dictImgUrl) {
+                this.$set(this.setting[i], 'miniprogramPicUrl', selectedVideo.dictImgUrl);
+              }
+
             }
 
           }

+ 29 - 1
src/views/qw/sopUserLogsInfo/sopUserLogsInfoDetails.vue

@@ -559,6 +559,9 @@ export default {
   components: {PaginationMore, userVideo, ImageUpload},
   data() {
     return {
+
+      projectFrom:process.env.VUE_APP_PROJECT_FROM,
+
       statusOptions:[],
       //上传语音的遮罩层
       voiceLoading :false,
@@ -888,10 +891,19 @@ export default {
           if (selectedVideo && this.msgForm.videoId != null) {
             if (this.setting[i].contentType == 3 || this.setting[i].contentType == 9 ){
               this.$set(this.setting[i], 'linkDescribe', selectedVideo.dictLabel);
+
+              if (this.projectFrom == 'sxjz' && selectedVideo.dictImgUrl) {
+                this.$set(this.setting[i], 'linkImageUrl', selectedVideo.dictImgUrl);
+              }
             }
 
             if (this.setting[i].contentType == 4){
               this.$set(this.setting[i], 'miniprogramTitle', selectedVideo.dictLabel);
+
+              if (this.projectFrom == 'sxjz' && selectedVideo.dictImgUrl) {
+                this.$set(this.setting[i], 'miniprogramPicUrl', selectedVideo.dictImgUrl);
+
+              }
             }
 
 
@@ -1109,7 +1121,6 @@ export default {
               this.$set(this.setting[i], 'miniprogramPicUrl', selectedCourse.dictImgUrl);
             }
 
-
           }
 
         }
@@ -1125,9 +1136,26 @@ export default {
 
             if (this.setting[i].contentType == 3 || this.setting[i].contentType == 9){
               this.$set(this.setting[i], 'linkDescribe', selectedVideo.dictLabel);
+
+              if (this.msgForm.videoId != null) {
+                const  selectedVideo = this.videoList.find(course => parseInt(course.dictValue) === this.msgForm.videoId);
+
+                if (this.projectFrom == 'sxjz' && selectedVideo.dictImgUrl) {
+                  this.$set(this.setting[i], 'linkImageUrl', selectedVideo.dictImgUrl);
+                }
+
+              }
             }
             if (this.setting[i].contentType == 4){
               this.$set(this.setting[i], 'miniprogramTitle', selectedVideo.dictLabel);
+              if (this.msgForm.videoId != null) {
+                const  selectedVideo = this.videoList.find(course => parseInt(course.dictValue) === this.msgForm.videoId);
+
+                if (this.projectFrom == 'sxjz' && selectedVideo.dictImgUrl) {
+                  this.$set(this.setting[i], 'miniprogramPicUrl', selectedVideo.dictImgUrl);
+                }
+
+              }
             }
 
           }