Explorar el Código

Merge remote-tracking branch 'origin/master'

yfh hace 1 semana
padre
commit
7c3e90f0c5

+ 2 - 2
.env.development

@@ -1,7 +1,7 @@
 # 页面标题
-VUE_APP_TITLE =木易华康SCRM销售端
+VUE_APP_TITLE =测试平台SCRM销售端
 # 公司名称
-VUE_APP_COMPANY_NAME =福州市木易华康医药有限公司
+VUE_APP_COMPANY_NAME =测试有限公司
 # ICP备案号
 VUE_APP_ICP_RECORD =闽ICP备2020016609号-3
 # ICP网站访问地址

+ 2 - 2
.env.prod-test

@@ -1,7 +1,7 @@
 # 页面标题
 VUE_APP_TITLE =互联网医院管理系统
-# 公司名称
-VUE_APP_COMPANY_NAME =银川鑫泰互联网医院有限公司
+# 公司名称 
+VUE_APP_COMPANY_NAME 互联网医院有限公司
 # ICP备案号
 VUE_APP_ICP_RECORD =宁ICP备2022001349号
 # ICP网站访问地址

+ 16 - 0
Dockerfile

@@ -0,0 +1,16 @@
+
+
+#基于官方 NGINX 镜像部署(精简镜像)
+FROM nginx:alpine
+
+# 复制本地打包好的 dist 目录到 NGINX 静态资源目录
+COPY ./dist /usr/share/nginx/html
+
+# 替换 NGINX 默认配置(用我们自定义的 nginx.conf)
+COPY ./nginx.conf /etc/nginx/nginx.conf
+
+# 暴露容器端口(与 nginx.conf 中 listen 一致)
+#EXPOSE 80
+
+# 启动 NGINX(前台运行,避免容器启动后退出)
+CMD ["nginx", "-g", "daemon off;"]

+ 38 - 0
nginx.conf

@@ -0,0 +1,38 @@
+# nginx.conf
+worker_processes  5;
+
+events {
+    worker_connections  1024;
+}
+
+http {
+    include       mime.types;
+    default_type  application/octet-stream;
+    client_max_body_size 200m;
+    sendfile        on;
+    keepalive_timeout  65;
+
+    server {
+        listen       80;  # 容器内端口
+        server_name  localhost;
+
+        # 前端静态资源目录(对应容器内的 /usr/share/nginx/html)
+        root   /usr/share/nginx/html;
+        index  index.html;
+
+        # 关键:处理 VUE Router history 模式(避免刷新 404)
+        location / {
+            try_files $uri $uri/ /index.html;  # 所有路由指向 index.html
+        }
+
+        # 关键:反向代理 API(解决跨域,替换为你的真实后端地址)
+        location /prod-api/ {
+            proxy_pass http://192.168.52.215:7773/;  # 后端 API 地址(末尾加 / 避免路径拼接问题)
+            proxy_set_header Host $host;
+            proxy_set_header X-Real-IP $remote_addr;
+            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+            proxy_set_header X-Forwarded-Proto $scheme;  # 传递 HTTPS 协议
+        }
+
+     }
+}

+ 1 - 1
package.json

@@ -109,7 +109,7 @@
     "normalize.css": "7.0.0",
     "nprogress": "0.2.0",
     "path-to-regexp": "2.4.0",
-    "qrcode.vue": "^3.6.0",
+    "qrcode.vue": "^1.7.0",
     "qrcodejs2": "0.0.2",
     "quill": "1.3.7",
     "screenfull": "4.2.0",

+ 8 - 0
src/api/company/companyUser.js

@@ -360,3 +360,11 @@ export function getBoundUsers(companyUserId) {
     method: 'get'
   })
 }
+
+export function unBind(userId) {
+  return request({
+    url: '/company/user/unBind',
+    method: 'post',
+    data: { userId: userId }
+  })
+}

+ 26 - 2
src/views/company/companyUser/profile/userInfo.vue

@@ -2,7 +2,7 @@
   <el-form ref="form" :model="user" :rules="rules" label-width="80px">
     <el-form-item label="用户昵称" prop="nickName">
       <el-input v-model="user.nickName" />
-    </el-form-item> 
+    </el-form-item>
     <el-form-item label="手机号码" prop="phonenumber">
       <el-input v-model="user.phonenumber" maxlength="11" />
     </el-form-item>
@@ -16,6 +16,7 @@
       </el-radio-group>
     </el-form-item>
     <el-form-item>
+      <el-button type="success" size="mini" @click="unBind">换绑微信</el-button>
       <el-button type="primary" size="mini" @click="submit">保存</el-button>
       <el-button type="danger" size="mini" @click="close">关闭</el-button>
     </el-form-item>
@@ -23,7 +24,7 @@
 </template>
 
 <script>
-import { updateUserProfile } from "@/api/company/companyUser";
+import { updateUserProfile, unBind } from "@/api/company/companyUser";
 
 export default {
   props: {
@@ -58,6 +59,29 @@ export default {
     };
   },
   methods: {
+    unBind() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          this.$confirm(
+            '确定要取消绑定吗?取消绑定后登录需要重新扫码绑定。',
+            '提示',
+            {
+              confirmButtonText: '确定',
+              cancelButtonText: '取消',
+              type: 'warning'
+            }
+          ).then(() => {
+            unBind(this.user.userId).then(response => {
+              if (response.code === 200) {
+                this.msgSuccess("解绑成功");
+              }
+            });
+          }).catch(() => {
+            this.msgInfo("已取消操作");
+          });
+        }
+      });
+    },
     submit() {
       this.$refs["form"].validate(valid => {
         if (valid) {

+ 6 - 0
src/views/components/course/userCourseCatalogDetails.vue

@@ -33,6 +33,12 @@
       <el-table-column label="上传时间" align="center" prop="createTime" />
       <el-table-column label="默认红包" align="center" prop="redPacketMoney" />
       <el-table-column label="公司红包" align="center" prop="companyRedPacketMoney" />
+      <el-table-column label="是否上架" align="center" prop="isOnPut">
+        <template slot-scope="{ row }">
+          <el-tag v-if="row.isOnPut == 0">是</el-tag>
+          <el-tag type="danger" v-if="row.isOnPut == 1">否</el-tag>
+        </template>
+      </el-table-column>
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button

+ 11 - 2
src/views/live/liveOrder/liveOrderDetails.vue

@@ -262,7 +262,16 @@
 
 
 <script>
-import {getLiveOrder, syncExpress, updateLiveOrder, updateErp, getExpress, listOrderitem, tuiOrder} from "@/api/live/liveOrder";
+import {
+  getLiveOrder,
+  syncExpress,
+  updateLiveOrder,
+  updateErp,
+  getExpress,
+  listOrderitem,
+  tuiOrder,
+  getExpressByDeliverId
+} from "@/api/live/liveOrder";
 
 
 export default {
@@ -459,7 +468,7 @@ export default {
 
     showExpress(){
       this.expressDialog.open=true;
-      getExpress(this.item.orderId).then(response => {
+      getExpressByDeliverId({"orderId":this.item.orderId}).then(response => {
         this.express = response.data;
         if(this.express!=null&&this.express.Traces!=null){
           this.traces=this.express.Traces

+ 4 - 4
src/views/qw/externalContact/index.vue

@@ -592,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="getPageListTagGroup()">搜索</el-button>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleSearchTags(queryTagParams.name)">搜索</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"  >
@@ -629,8 +629,8 @@
 
     <el-dialog title="批量添加标签" :visible.sync="tagOpen" width="800px" append-to-body>
       <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="getPageListTagGroup()">搜索</el-button>
+        <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-button type="primary" icon="el-icon-plus" size="mini" @click="cancelSearchTags">重置</el-button>
       </div>
       <el-form ref="form" :model="addTagForm"  label-width="80px">
@@ -1523,7 +1523,7 @@ export default {
 
 
     getPageListTagGroup(){
-      
+
       this.queryTagParams.corpId=this.queryParams.corpId
       allListTagGroupPage(this.queryTagParams).then(response => {
         this.tagGroupList = response.rows;

+ 3 - 2
src/views/qw/externalContactUnassigned/index.vue

@@ -195,7 +195,7 @@
       :total="total"
       :page.sync="queryParams.pageNum"
       :limit.sync="queryParams.pageSize"
-      :page-sizes="[100, 200, 300, 500]"
+      :page-sizes="[10,100, 200, 300, 500]"
       @pagination="getList"
     />
 
@@ -293,7 +293,7 @@ export default {
       // 查询参数
       queryParams: {
         pageNum: 1,
-        pageSize: 500,
+        pageSize: 10,
         userId: null,
         qwUserName: null,
         externalUserId: null,
@@ -441,6 +441,7 @@ export default {
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
+      
       this.ids = selection.map(item => item.id)
       this.single = selection.length!==1
       this.multiple = !selection.length