zx 2 bulan lalu
induk
melakukan
78b05d3443

+ 2 - 2
.env.development

@@ -1,10 +1,10 @@
 # 页面标题
-VUE_APP_TITLE =九州互联网医院管理系统
+VUE_APP_TITLE =弘珍医药互联网医院管理系统
 
 # 开发环境配置
 ENV = 'development'
 
-# 九州互联网医院管理系统/开发环境
+# 弘珍医药互联网医院管理系统/开发环境
 VUE_APP_BASE_API = '/dev-api'
 
 # 路由懒加载

+ 2 - 2
.env.production

@@ -1,8 +1,8 @@
 # 页面标题
-VUE_APP_TITLE = 九州互联网医院管理系统
+VUE_APP_TITLE = 弘珍医药互联网医院管理系统
 
 # 生产环境配置
 ENV = 'production'
 
-#九州互联网医院管理系统/生产环境
+#弘珍医药互联网医院管理系统/生产环境
 VUE_APP_BASE_API = '/prod-api'

+ 2 - 2
.env.staging

@@ -1,10 +1,10 @@
 # 页面标题
-VUE_APP_TITLE =九州互联网医院管理系统
+VUE_APP_TITLE =弘珍医药互联网医院管理系统
 
 NODE_ENV = production
 
 # 测试环境配置
 ENV = 'staging'
 
-#九州互联网医院管理系统/测试环境
+#弘珍医药互联网医院管理系统/测试环境
 VUE_APP_BASE_API = '/stage-api'

+ 0 - 10
src/api/company/companyVoiceRobotic.js

@@ -42,16 +42,6 @@ export function addRobotic(data) {
   })
 }
 
-
-// 新增机器人外呼任务
-export function addScheme(data) {
-  return request({
-    url: '/company/companyVoiceRobotic/addScheme',
-    method: 'post',
-    data: data
-  })
-}
-
 // 修改机器人外呼任务
 export function updateRobotic(data) {
   return request({

+ 1 - 9
src/api/live/liveVideo.js

@@ -17,14 +17,6 @@ export function getLiveVideo(videoId) {
   })
 }
 
-// 查询直播视频详细
-export function getLiveVideoByLiveId(liveId) {
-  return request({
-    url: '/live/liveVideo/liveVideoByLiveId/' + liveId,
-    method: 'get'
-  })
-}
-
 // 新增直播视频
 export function addLiveVideo(data) {
   return request({
@@ -58,4 +50,4 @@ export function exportLiveVideo(query) {
     method: 'get',
     params: query
   })
-}
+}

+ 0 - 12
src/api/qw/sop.js

@@ -8,18 +8,6 @@ export function listSop(query) {
     params: query
   })
 }
-export function loginQwAll() {
-  return request({
-    url: '/qw/sop/loginQwAll',
-    method: 'get'
-  })
-}
-export function qwLoginOutAll() {
-  return request({
-    url: '/qw/sop/qwLoginOutAll',
-    method: 'get',
-  })
-}
 // 导出企微sop
 export function exportSop(query) {
   return request({

+ 2 - 2
src/api/watch/deviceInfo.js

@@ -71,11 +71,11 @@ export function exportDeviceInfo(query) {
 }
 
   // 查询用户信息
-export function getUser(data) {
+export function getUser(deviceId) {
   return request({
     url: '/watch-api/device/set/up/getUserInfo',
     method: 'get',
-    params:data
+    params: { deviceId } 
   })
 }
 

TEMPAT SAMPAH
src/assets/logo/logo.png


TEMPAT SAMPAH
src/assets/logo/logo2.png


+ 4 - 5
src/components/VideoUpload/index.vue

@@ -57,7 +57,6 @@
       <el-radio-group v-model="localUploadType">
         <el-radio :label="1" >线路一</el-radio>
         <el-radio :label="2" >线路二</el-radio>
-        <!--        <el-radio :label="3" >线路三</el-radio>-->
       </el-radio-group>
     </el-form-item>
   </div>
@@ -201,9 +200,9 @@ export default {
         console.log("isPrivate=======>",this.isPrivate)
         let line_1='' ;
         if (this.isPrivate===0){
-          line_1 = `https://tcpv.ylrzcloud.com${data.urlPath}`;
+          line_1 = `https://hzyytcpv.ylrzcloud.com${data.urlPath}`;
         }else {
-          line_1 = `https://rttcpv.ylrzcloud.com${data.urlPath}`;
+          line_1 = `https://hzyytcpv.ylrzcloud.com${data.urlPath}`;
         }
 
         let urlPathWithoutFirstSlash = data.urlPath.substring(1);
@@ -227,9 +226,9 @@ export default {
         console.log("华为OBS返回========>",data);
         let line_2='' ;
         if (this.isPrivate===0){
-          line_2 = `https://obs.ylrztop.com/${data.urlPath}`;
+          line_2 = `https://hzyyobs.ylrztop.com/${data.urlPath}`;
         }else {
-          line_2 = `https://rtobs.ylrztop.com/${data.urlPath}`;
+          line_2 = `https://hzyyobs.ylrztop.com/${data.urlPath}`;
         }
         // this.$emit("update:videoUrl", data);
         this.$emit("update:line_2", line_2);

+ 1 - 1
src/layout/components/Sidebar/Logo.vue

@@ -35,7 +35,7 @@ export default {
   },
   data() {
     return {
-      title: '九州互联网医院',
+      title: '弘珍医药互联网医院',
       logo: logoImg
     }
   }

+ 0 - 13
src/router/index.js

@@ -190,19 +190,6 @@ export const constantRoutes = [
       }
     ]
   },
-  {
-    path: '/live',
-    component: Layout,
-    hidden: true,
-    children: [
-      {
-        path: 'LiveConsole/:liveId', // 动态路由参数
-        component: () => import('@/views/live/liveConsole'), // 使用 import 动态加载
-        name: 'LiveConsole',
-        meta: { title: '直播中控台', activeMenu: '/live/liveConsole' }
-      }
-    ]
-  },
 ]
 
 export default new Router({

+ 1 - 1
src/utils/cos.js

@@ -3,7 +3,7 @@ import { Message } from 'element-ui';
 import { getTmpSecretKey } from '@/api/common';
 
 const config = {
-    Bucket: 'hylj-1323137866',
+    Bucket: 'hzyy-1323137866',
     Region: 'ap-chongqing',
 };
 

+ 1 - 1
src/utils/obs.js

@@ -29,7 +29,7 @@ export const uploadToOBS = async(file,progressCallback,type) =>  {
         return new Promise((resolve, reject) => {
             //上传对象
             obsClient.putObject({
-                Bucket: 'ylrz-obs2024',//桶名称
+                Bucket: 'hzyy-hw079058881',//桶名称
                 Key: key,//文件名
                 Body: file,
                 ProgressCallback: callback,//进度回调

+ 4 - 26
src/views/ad/adSite/index.vue

@@ -93,13 +93,7 @@
         </template>
       </el-table-column>
       <el-table-column label="账号" align="center" prop="accountName" />
-      <el-table-column label="链接" align="center">
-        <template slot-scope="scope">
-          <el-tooltip class="item" effect="dark" content="复制链接" placement="top-start">
-            <el-link type="primary" @click="copyUrl(scope.row.url)">{{scope.row.url}}</el-link>
-          </el-tooltip>
-        </template>
-      </el-table-column>
+      <el-table-column label="链接" align="center" prop="url" />
       <el-table-column label="备注" align="center" prop="remark" />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
@@ -165,11 +159,6 @@
             <el-option v-for="item in domainList" :value="item.id" :key="item.id" :label="item.domain" />
           </el-select>
         </el-form-item>
-        <el-form-item label="获客链接" prop="workId">
-          <el-select v-model="form.workId" filterable>
-            <el-option v-for="item in workList" :value="item.id" :key="item.id" :label="item.linkName" />
-          </el-select>
-        </el-form-item>
         <el-form-item label="备注" prop="remark">
           <el-input v-model="form.remark" placeholder="请输入备注" />
         </el-form-item>
@@ -184,10 +173,12 @@
 
 <script>
 import { listAdSite, getAdSite, delAdSite, addAdSite, updateAdSite, exportAdSite } from "@/api/ad/adSite";
+import {listAll as bdAccountListAll} from "@/api/baidu/BdAccount";
+import {listAll as youkuAccountListAll} from "@/api/ad/AdYouKuaccount";
+import {listAll as iqiyiAccountListAll} from "@/api/ad/AdIqiyiAccount";
 import {listAll as templateListAll} from "@/api/ad/htmlTemplate";
 import {listAll as domainListAll} from "@/api/ad/adDomain";
 import {listAll as accountListAll} from "@/api/ad/adAccount";
-import {listAll as workUrlListAll} from '@/api/qw/workLink'
 
 export default {
   name: "AdSite",
@@ -230,7 +221,6 @@ export default {
       },
       // 表单参数
       form: {},
-      workList: [],
       // 表单校验
       rules: {
       }
@@ -249,9 +239,6 @@ export default {
     accountListAll().then(e => {
       this.accountAllList = e.data;
     })
-    workUrlListAll().then(e => {
-      this.workList = e.data;
-    })
     this.getList();
   },
   methods: {
@@ -301,15 +288,6 @@ export default {
       this.single = selection.length!==1
       this.multiple = !selection.length
     },
-    copyUrl(url){
-      navigator.clipboard.writeText(url)
-        .then(() => {
-          this.msgSuccess("复制成功");
-        })
-        .catch(err => {
-          this.msgError("复制失败");
-        });
-    },
     /** 新增按钮操作 */
     handleAdd() {
       this.reset();

+ 200 - 270
src/views/company/companyVoiceRobotic/index.vue

@@ -3,34 +3,23 @@
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
       <el-form-item label="任务名称" prop="name">
         <el-input
-            v-model="queryParams.name"
-            placeholder="请输入任务名称"
-            clearable
-            size="small"
-            @keyup.enter.native="handleQuery"
+          v-model="queryParams.name"
+          placeholder="请输入任务名称"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
         />
       </el-form-item>
       <el-form-item label="机器人" prop="robot">
         <el-select v-model="queryParams.robot" filterable clearable>
-          <el-option-group
-              v-for="(v, k) in robotList"
-              :key="k"
-              :label="k">
-            <el-option
-                v-for="item in v"
-                :key="item.robotId"
-                :label="item.robotName"
-                :value="item.robotId">
-            </el-option>
-          </el-option-group>
-          <!--          <el-option v-for="item in robotList" :label="item.name + '('+item.num+')'" :value="item.id"/>-->
+          <el-option v-for="item in robotList" :label="item.name + '('+item.num+')'" :value="item.id"/>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="话术" prop="dialogId">
+        <el-select v-model="queryParams.dialogId" filterable clearable>
+          <el-option v-for="item in dialogList" :label="item.name" :value="item.id"/>
         </el-select>
       </el-form-item>
-      <!--      <el-form-item label="话术" prop="dialogId">-->
-      <!--        <el-select v-model="queryParams.dialogId" filterable clearable>-->
-      <!--          <el-option v-for="item in dialogList" :label="item.name" :value="item.id"/>-->
-      <!--        </el-select>-->
-      <!--      </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>
@@ -40,53 +29,53 @@
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
         <el-button
-            type="primary"
-            icon="el-icon-plus"
-            size="mini"
-            @click="handleAdd"
-            v-hasPermi="['system:companyVoiceRobotic:add']"
+          type="primary"
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:companyVoiceRobotic:add']"
         >新增
         </el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button
-            type="success"
-            icon="el-icon-edit"
-            size="mini"
-            :disabled="single"
-            @click="handleUpdate"
-            v-hasPermi="['system:companyVoiceRobotic:edit']"
+          type="success"
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['system:companyVoiceRobotic:edit']"
         >修改
         </el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button
-            type="danger"
-            icon="el-icon-delete"
-            size="mini"
-            :disabled="multiple"
-            @click="handleDelete"
-            v-hasPermi="['system:companyVoiceRobotic:remove']"
+          type="danger"
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:companyVoiceRobotic:remove']"
         >删除
         </el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button
-            type="warning"
-            icon="el-icon-download"
-            size="mini"
-            @click="handleExport"
-            v-hasPermi="['system:companyVoiceRobotic:export']"
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['system:companyVoiceRobotic:export']"
         >导出
         </el-button>
       </el-col>
       <el-col :span="1.5">
         <el-button
-            type="success"
-            icon="el-icon-refresh"
-            size="mini"
-            @click="updateStatusFun"
-            v-hasPermi="['system:companyVoiceRobotic:list']"
+          type="success"
+          icon="el-icon-refresh"
+          size="mini"
+          @click="updateStatusFun"
+          v-hasPermi="['system:companyVoiceRobotic:list']"
         >更新状态
         </el-button>
       </el-col>
@@ -101,13 +90,12 @@
       <el-table-column label="三方ID" align="center" prop="taskId"/>
       <el-table-column label="机器人" align="center" prop="robot">
         <template slot-scope="scope">
-          <p v-for="(item, index) in robotList" v-if="scope.row.robot && scope.row.robot == item.id">{{ item.name }}</p>
+          <p v-for="(item, index) in robotList"   v-if="scope.row.robot && scope.row.robot == item.id">{{item.name}}</p>
         </template>
       </el-table-column>
       <el-table-column label="话术" align="center" prop="dialogId">
         <template slot-scope="scope">
-          <p v-for="(item, index) in dialogList" v-if="scope.row.dialogId && scope.row.dialogId == item.id">
-            {{ item.name }}</p>
+          <p v-for="(item, index) in dialogList"   v-if="scope.row.dialogId && scope.row.dialogId == item.id">{{item.name}}</p>
         </template>
       </el-table-column>
       <el-table-column label="加微方式" align="center" prop="dialogId">
@@ -118,18 +106,11 @@
       </el-table-column>
       <el-table-column label="工作日" align="center" prop="weekDay1">
         <template slot-scope="scope">
-          <el-tag v-for="(item, index) in weekList"
-                  v-if="scope.row.weekDay1 && scope.row.weekDay1.indexOf(item.value) != -1">{{ item.label }}
-          </el-tag>
+          <el-tag v-for="(item, index) in weekList"   v-if="scope.row.weekDay1 && scope.row.weekDay1.indexOf(item.value) != -1">{{item.label}}</el-tag>
         </template>
       </el-table-column>
       <el-table-column label="开始时间" align="center" prop="startTime1"/>
       <el-table-column label="结束时间" align="center" prop="endTime1"/>
-      <el-table-column label="未分配数量" align="center">
-        <template slot-scope="scope">
-          <el-tag :type="Number(scope.row.num) > 0 ?'danger' : ''">{{ scope.row.num }}个</el-tag>
-        </template>
-      </el-table-column>
       <el-table-column label="当前状态" align="center">
         <template slot-scope="scope">
           <div v-loading="loadingStatus">
@@ -139,57 +120,50 @@
               <el-tag v-if="statusObj[scope.row.taskId].runningStatus == 2">已暂停</el-tag>
               <el-tag v-if="statusObj[scope.row.taskId].runningStatus == 3">已停止</el-tag>
             </p>
-            <p v-if="!statusObj.hasOwnProperty(scope.row.taskId)">
-              <el-tag>空</el-tag>
-            </p>
+            <p v-if="!statusObj.hasOwnProperty(scope.row.taskId)"><el-tag>空</el-tag></p>
           </div>
         </template>
       </el-table-column>
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
-              size="mini"
-              type="text"
-              @click="calleesOpen(scope.row.id)"
-              v-hasPermi="['system:companyVoiceRobotic:list']"
-          >客户列表
-          </el-button>
+            size="mini"
+            type="text"
+            @click="calleesOpen(scope.row.id)"
+            v-hasPermi="['system:companyVoiceRobotic:list']"
+          >客户列表</el-button>
           <el-button
-              size="mini"
-              type="text"
-              @click="wxOpen(scope.row.id)"
-              v-hasPermi="['system:companyVoiceRobotic:list']"
-          >加微统计
-          </el-button>
+            size="mini"
+            type="text"
+            @click="wxOpen(scope.row.id)"
+            v-hasPermi="['system:companyVoiceRobotic:list']"
+          >加微统计</el-button>
           <el-button
-              size="mini"
-              type="text"
-              v-if="statusObj.hasOwnProperty(scope.row.taskId) && (statusObj[scope.row.taskId].runningStatus == 0 || statusObj[scope.row.taskId].runningStatus == 3)"
-              @click="startRoboticFun(scope.row.taskId)"
-              v-hasPermi="['system:companyVoiceRobotic:list']"
-          >启动任务
-          </el-button>
+            size="mini"
+            type="text"
+            v-if="statusObj.hasOwnProperty(scope.row.taskId) && (statusObj[scope.row.taskId].runningStatus == 0 || statusObj[scope.row.taskId].runningStatus == 3)"
+            @click="startRoboticFun(scope.row.taskId)"
+            v-hasPermi="['system:companyVoiceRobotic:list']"
+          >启动任务</el-button>
           <el-button
-              size="mini"
-              type="text"
-              v-if="statusObj.hasOwnProperty(scope.row.taskId) && (statusObj[scope.row.taskId].runningStatus == 1 || statusObj[scope.row.taskId].runningStatus == 2)"
-              @click="stopRoboticFun(scope.row.taskId)"
-              v-hasPermi="['system:companyVoiceRobotic:list']"
-          >停止任务
-          </el-button>
+            size="mini"
+            type="text"
+            v-if="statusObj.hasOwnProperty(scope.row.taskId) && (statusObj[scope.row.taskId].runningStatus == 1 || statusObj[scope.row.taskId].runningStatus == 2)"
+            @click="stopRoboticFun(scope.row.taskId)"
+            v-hasPermi="['system:companyVoiceRobotic:list']"
+          >停止任务</el-button>
           <el-button
-              size="mini"
-              type="text"
-              @click="addRoboticFun(scope.row)"
-              v-hasPermi="['system:companyVoiceRobotic:edit']"
-          >追加个微
-          </el-button>
+            size="mini"
+            type="text"
+            @click="addRoboticFun(scope.row)"
+            v-hasPermi="['system:companyVoiceRobotic:edit']"
+          >追加个微</el-button>
           <el-button
-              size="mini"
-              type="text"
-              icon="el-icon-delete"
-              @click="handleDelete(scope.row)"
-              v-hasPermi="['system:companyVoiceRobotic:remove']"
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:companyVoiceRobotic:remove']"
           >删除
           </el-button>
         </template>
@@ -197,40 +171,30 @@
     </el-table>
 
     <pagination
-        v-show="total>0"
-        :total="total"
-        :page.sync="queryParams.pageNum"
-        :limit.sync="queryParams.pageSize"
-        @pagination="getList"
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
     />
 
     <!-- 添加或修改机器人外呼任务对话框 -->
     <el-drawer size="75%" :title="title" :visible.sync="open" width="500px" append-to-body>
       <div class="app-container">
         <el-form ref="form" :model="form" :rules="rules" label-width="100px">
-          <el-form-item label="任务名称" prop="taskName">
-            <el-input v-model="form.taskName" placeholder="请输入任务名称"/>
+          <el-form-item label="任务名称" prop="name">
+            <el-input v-model="form.name" placeholder="请输入任务名称"/>
+          </el-form-item>
+          <el-form-item label="机器人" prop="robot">
+            <el-select v-model="form.robot" filterable>
+              <el-option v-for="item in robotList" :label="item.name + '('+item.num+')'" :value="item.id"/>
+            </el-select>
           </el-form-item>
-          <el-form-item label="机器人" prop="robotId">
-            <el-select v-model="form.robotId" filterable>
-              <el-option-group
-                  v-for="(v, k) in robotList"
-                  :key="k"
-                  :label="k">
-                <el-option
-                    v-for="item in v"
-                    :key="item.robotId"
-                    :label="item.robotName"
-                    :value="item.robotId">
-                </el-option>
-              </el-option-group>
+          <el-form-item label="话术" prop="dialogId">
+            <el-select v-model="form.dialogId" filterable>
+              <el-option v-for="item in dialogList" :label="item.name" :value="item.id"/>
             </el-select>
           </el-form-item>
-          <!--          <el-form-item label="话术" prop="dialogId">-->
-          <!--            <el-select v-model="form.dialogId" filterable>-->
-          <!--              <el-option v-for="item in dialogList" :label="item.name" :value="item.id"/>-->
-          <!--            </el-select>-->
-          <!--          </el-form-item>-->
           <el-form-item label="拨打客户" prop="userIds">
             <el-button @click="openSelect">选择客户({{ form.userIds ? form.userIds.length : 0 }})</el-button>
           </el-form-item>
@@ -247,9 +211,7 @@
                 </el-select>
               </el-col>
               <el-col :span="4">
-                <el-button @click="openQwUserSelect(index)">
-                  选择个微({{ item.companyUserId ? item.companyUserId.length : 0 }})
-                </el-button>
+                <el-button @click="openQwUserSelect(index)">选择个微({{ item.companyUserId ? item.companyUserId.length : 0 }})</el-button>
               </el-col>
               <el-col :span="5">
                 <el-select v-model="item.wxDialogId" placeholder="话术" filterable>
@@ -261,57 +223,26 @@
               </el-col>
             </el-row>
           </el-form-item>
-
-          <el-form-item label="呼叫开始日期" prop="dialStartDate">
-            <el-date-picker
-                size="small"
-                v-model="form.dialStartDate"
-                type="date"
-                placeholder="选择开始日期"
-                value-format="yyyy-MM-dd"
-            />
-          </el-form-item>
-          <el-form-item label="呼叫截止日期" prop="dialEndDate">
-            <el-date-picker
-                size="small"
-                v-model="form.dialEndDate"
-                type="date"
-                placeholder="选择开始日期"
-                value-format="yyyy-MM-dd"
-            />
-          </el-form-item>
-
-          <el-form-item label="呼叫开始日期" prop="dialStartTime">
-            <el-time-select
-                placeholder="起始时间"
-                v-model="form.dialStartTime"
-                value-format="HH:mm"
-                :picker-options="{
-                  start: '09:00',
-                  step: '01:00',
-                  end: '22:00'
-                }">
-            </el-time-select>
+          <el-form-item label="模式" prop="mode">
+            <el-select v-model="form.mode">
+              <el-option label="呼叫机器人后挂断" :value="7"/>
+            </el-select>
           </el-form-item>
-          <el-form-item label="呼叫截止日期" prop="dialEndTime">
-            <el-time-select
-                placeholder="结束时间"
-                v-model="form.dialEndTime"
-                value-format="HH:mm"
-                :picker-options="{
-                  start: '09:00',
-                  step: '01:00',
-                  end: '22:00',
-                  minTime: form.dialStartTime
-                }">
-            </el-time-select>
+          <el-form-item label="呼叫倍率" prop="multiplier">
+            <el-select v-model="form.multiplier">
+              <el-option :value="1"/>
+              <el-option :value="2"/>
+              <el-option :value="3"/>
+              <el-option :value="4"/>
+              <el-option :value="5"/>
+            </el-select>
           </el-form-item>
-          <el-form-item label="呼叫截止日期" prop="forbidDialDate">
-            <el-checkbox v-for="item in weekList" v-model="form.forbidDialDate" :label="item.value">{{item.label}}</el-checkbox>
+          <el-form-item label="自动重呼" prop="autoRecall">
+            <el-radio v-model="form.autoRecall" label="0">否</el-radio>
+            <el-radio v-model="form.autoRecall" label="1">是</el-radio>
           </el-form-item>
-
-          <el-form-item label="重试次数" prop="retryTimes">
-            <el-select v-model="form.retryTimes">
+          <el-form-item label="重呼次数" prop="recallTimes" v-if="form.autoRecall == 1">
+            <el-select v-model="form.recallTimes">
               <el-option label="不自动重呼" :value="0"/>
               <el-option :value="1"/>
               <el-option :value="2"/>
@@ -320,6 +251,38 @@
               <el-option :value="5"/>
             </el-select>
           </el-form-item>
+          <el-form-item label="工作日" prop="weekDay">
+            <el-select v-model="form.weekDay" multiple style="width: 100%">
+              <el-option v-for="item in weekList" :label="item.label" :value="item.value"/>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="开始时间" prop="startTime1">
+            <el-time-select
+              v-model="form.startTime1"
+              format="HH:mm"
+              value-format="HH:mm:00"
+              :picker-options="{
+                  start: '00:00',
+                  end: '23:59',
+                  step: '00:30',
+                }"
+              placeholder="请选择开始时间">
+            </el-time-select>
+          </el-form-item>
+          <el-form-item label="结束时间" prop="endTime1">
+            <el-time-select
+              v-model="form.endTime1"
+              format="HH:mm"
+              value-format="HH:mm:00"
+              :picker-options="{
+                  start: '00:00',
+                  end: '23:59',
+                  step: '00:30',
+                  minTime: form.startTime1
+                }"
+              placeholder="请选择结束时间">
+            </el-time-select>
+          </el-form-item>
         </el-form>
         <div slot="footer" class="dialog-footer">
           <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -336,31 +299,23 @@
         <el-table-column label="电话号码" align="center" prop="phone"/>
         <el-table-column label="客户名称" align="center" prop="userName"/>
         <el-table-column label="客户ID" align="center" prop="userId"/>
-        <el-table-column label="是否回调" align="center">
-          <template slot-scope="scope">
-            <el-tag v-if="scope.row.result == 0">否</el-tag>
-            <el-tag v-if="scope.row.result == 1">是</el-tag>
-          </template>
-        </el-table-column>
-        <el-table-column label="意向等级" align="center" prop="intention"/>
         <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
           <template slot-scope="scope">
             <el-button
-                size="mini"
-                type="text"
-                @click="openCustomer(scope.row.userId)"
-            >客户信息详情
-            </el-button>
+              size="mini"
+              type="text"
+              @click="openCustomer(scope.row.userId)"
+            >客户信息详情</el-button>
           </template>
         </el-table-column>
       </el-table>
 
       <pagination
-          v-show="callees.total>0"
-          :total="callees.total"
-          :page.sync="callees.queryParams.pageNum"
-          :limit.sync="callees.queryParams.pageSize"
-          @pagination="getCalleesList"
+        v-show="callees.total>0"
+        :total="callees.total"
+        :page.sync="callees.queryParams.pageNum"
+        :limit.sync="callees.queryParams.pageSize"
+        @pagination="getCalleesList"
       />
     </el-drawer>
     <el-drawer title="加微详情" size="60%" :visible.sync="wx.show" append-to-body>
@@ -376,37 +331,39 @@
       </el-table>
 
       <pagination
-          v-show="wx.total>0"
-          :total="wx.total"
-          :page.sync="wx.queryParams.pageNum"
-          :limit.sync="wx.queryParams.pageSize"
-          @pagination="getWxList"
+        v-show="wx.total>0"
+        :total="wx.total"
+        :page.sync="wx.queryParams.pageNum"
+        :limit.sync="wx.queryParams.pageSize"
+        @pagination="getWxList"
       />
     </el-drawer>
     <el-drawer size="75%" title="客户详情" :visible.sync="customerDetailShow" append-to-body>
-      <customer-details ref="customerDetails"/>
+      <customer-details ref="customerDetails" />
     </el-drawer>
 
 
+
+
     <!-- 添加或修改添加个微信账号对话框 -->
     <el-dialog title="追加个微" :visible.sync="openAdd" width="75%" append-to-body>
-      <el-form ref="form" :model="formOpen" label-width="80px">
+      <el-form ref="form" :model="formOpen" :rules="rules" label-width="80px">
         <el-form-item label="分配账号">
           <el-button @click="addQwUserTow">添加</el-button>
           <el-row :gutter="24" v-for="(item, index) in formOpen.qwUser" style="margin-top: 5px">
             <el-col :span="5">
               <el-select v-model="item.intention" placeholder="意向等级" filterable clearable>
-                <el-option v-for="item in levelList" :label="item.dictLabel" :value="item.dictLabel"/>
+                <el-option v-for="item in levelList" :label="item.dictLabel" :value="item.dictValue"/>
               </el-select>
             </el-col>
             <el-col :span="5">
               <el-button @click="openQwUserSelectTow(index)">
-                选择企微({{ item.companyUserId ? item.companyUserId.length : 0 }})
+                选择企微({{ item.qwUserId ? item.qwUserId.length : 0 }})
               </el-button>
             </el-col>
             <el-col :span="5">
               <el-select v-model="item.wxDialogId" placeholder="话术" filterable>
-                <el-option v-for="item in wxDialogList" :label="item.name" :value="item.id"/>
+                <el-option v-for="item in dialogList" :label="item.name" :value="item.id"/>
               </el-select>
             </el-col>
             <el-col :span="3">
@@ -417,8 +374,8 @@
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitFormTow">确 定</el-button>
-        <el-button @click="openAdd = false">取 消</el-button>
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
   </div>
@@ -436,15 +393,12 @@ import {
   statusList,
   startRobotic,
   stopRobotic,
-  addScheme,
   companyUserList,
   wxList,
   getTypes
 } from "@/api/company/companyVoiceRobotic";
-import { listAiobBaiduTask, getAiobBaiduTask, delAiobBaiduTask, addAiobBaiduTask, updateAiobBaiduTask, exportAiobBaiduTask } from "@/api/aiob/AiobBaiduTask";
-import {listAll} from '@/api/company/wxDialog';
+import { listAll } from '@/api/company/wxDialog';
 import customerSelect from '@/views/crm/components/CustomerSelect.vue';
-import {robotList} from '@/api/aiob/AiobBaiduTask';
 import qwUserSelect from '@/views/components/QwUserSelect.vue';
 import customerDetails from "@/views/crm/components/customerDetails.vue";
 import {clearTime} from "element-ui";
@@ -460,14 +414,13 @@ export default {
       // 选中数组
       ids: [],
       weekList: [
-        {label: "节假日", value: "99"},
-        {label: "星期一", value: "1"},
-        {label: "星期二", value: "2"},
-        {label: "星期三", value: "3"},
-        {label: "星期四", value: "4"},
-        {label: "星期五", value: "5"},
-        {label: "星期六", value: "6"},
-        {label: "星期日", value: "0"},
+        {label: "星期一", value: 1},
+        {label: "星期二", value: 2},
+        {label: "星期三", value: 3},
+        {label: "星期四", value: 4},
+        {label: "星期五", value: 5},
+        {label: "星期六", value: 6},
+        {label: "星期日", value: 0},
       ],
       // 非单个禁用
       single: true,
@@ -529,7 +482,7 @@ export default {
         list: [],
         loading: false,
         total: 0,
-        queryParams: {
+        queryParams:{
           id: null,
           pageNum: 1,
           pageSize: 10,
@@ -540,7 +493,7 @@ export default {
         list: [],
         loading: false,
         total: 0,
-        queryParams: {
+        queryParams:{
           id: null,
           pageNum: 1,
           pageSize: 10,
@@ -551,8 +504,9 @@ export default {
     };
   },
   created() {
-    robotList().then(e => {
-      this.robotList = e.data;
+    getTypes().then(e => {
+      this.robotList = e.robot;
+      this.dialogList = e.dialog;
     })
     listAll().then(e => {
       this.wxDialogList = e.data;
@@ -569,19 +523,20 @@ export default {
     /** 查询机器人外呼任务列表 */
     getList() {
       this.loading = true;
-      listAiobBaiduTask(this.queryParams).then(response => {
+      listRobotic(this.queryParams).then(response => {
         this.roboticList = response.rows;
         this.roboticList.forEach(e => {
-          if (e.weekDay1) {
+          if(e.weekDay1){
             e.weekDay = e.weekDay1.split(",")
           }
         })
         this.total = response.total;
         this.loading = false;
+        this.updateStatusFun();
       });
     },
-    updateStatusFun() {
-      if (!this.roboticList) {
+    updateStatusFun(){
+      if(!this.roboticList){
         return;
       }
       this.loadingStatus = true;
@@ -618,7 +573,6 @@ export default {
         endTime2: null,
         createTime: null,
         qwUser: [],
-        forbidDialDate: [],
         createUser: null
       };
       this.resetForm("form");
@@ -649,7 +603,7 @@ export default {
     handleUpdate(row) {
       this.reset();
       const id = row.id || this.ids
-      getAiobBaiduTask(id).then(response => {
+      getRobotic(id).then(response => {
         this.form = response.data;
         this.open = true;
         this.title = "修改机器人外呼任务";
@@ -659,23 +613,20 @@ export default {
     submitForm() {
       this.$refs["form"].validate(valid => {
         if (valid) {
-          // if(this.form.forbidDialDateArr && this.form.forbidDialDateArr.length > 0) {
-          //   this.form.forbidDialDate = this.form.forbidDialDateArr.join();
-          // }
+          if (this.form.weekDay && this.form.weekDay.length > 0) {
+            this.form.weekDay1 = this.form.weekDay.join(",")
+          }
           let list = [];
           this.form.qwUser.forEach(l => {
-            list = list.concat(l.companyUserId.map(e => {
-              return {intention: l.intention, companyUserId: e, wxDialogId: l.wxDialogId}
-            }))
+            list = list.concat(l.companyUserId.map(e => {return {intention: l.intention, companyUserId: e,wxDialogId: l.wxDialogId}}))
           })
           this.form.qwUserList = list;
-          if (!this.form.qwUserList || this.form.qwUserList.length == 0) {
+          if(!this.form.qwUserList || this.form.qwUserList.length == 0){
             this.msgError("请选者加微方案");
             return;
           }
-          console.info(this.form)
           if (this.form.id != null) {
-            updateAiobBaiduTask(this.form).then(response => {
+            updateRobotic(this.form).then(response => {
               if (response.code === 200) {
                 this.msgSuccess("修改成功");
                 this.open = false;
@@ -683,7 +634,7 @@ export default {
               }
             });
           } else {
-            addAiobBaiduTask(this.form).then(response => {
+            addRobotic(this.form).then(response => {
               if (response.code === 200) {
                 this.msgSuccess("新增成功");
                 this.open = false;
@@ -694,27 +645,6 @@ export default {
         }
       });
     },
-    /** 提交按钮 */
-    submitFormTow() {
-      let list = [];
-      this.formOpen.qwUser.forEach(l => {
-        list = list.concat(l.companyUserId.map(e => {
-          return {intention: l.intention, companyUserId: e, wxDialogId: l.wxDialogId}
-        }))
-      })
-      this.formOpen.qwUserList = list;
-      if (!this.formOpen.qwUserList || this.formOpen.qwUserList.length == 0) {
-        this.msgError("请选者加微方案");
-        return;
-      }
-      addScheme(this.formOpen).then(response => {
-        if (response.code === 200) {
-          this.msgSuccess("修改成功");
-          this.open = false;
-          this.getList();
-        }
-      });
-    },
     /** 删除按钮操作 */
     handleDelete(row) {
       const ids = row.id || this.ids;
@@ -766,9 +696,9 @@ export default {
       this.$forceUpdate()
     },
     selectQwUserFunTow(e) {
-      console.info(this.formOpen.qwUser[this.thisQwUserIndex])
+      console.info(e)
+      console.info(this.thisQwUserIndex)
       this.formOpen.qwUser[this.thisQwUserIndex].companyUserId = e.ids;
-      console.info(this.formOpen)
       this.selectQwUserList[this.thisQwUserIndex] = e.rows;
       this.$forceUpdate()
     },
@@ -777,7 +707,7 @@ export default {
       this.selectQwUserList[this.thisQwUserIndex] = e.rows;
       this.$forceUpdate()
     },
-    calleesOpen(id) {
+    calleesOpen(id){
       this.callees.show = true;
       this.callees.queryParams.id = id;
       this.getCalleesList();
@@ -790,7 +720,7 @@ export default {
         this.callees.loading = false;
       });
     },
-    wxOpen(id) {
+    wxOpen(id){
       this.wx.show = true;
       this.wx.queryParams.id = id;
       this.getWxList();
@@ -804,32 +734,32 @@ export default {
       });
     },
     openCustomer(id) {
-      this.customerDetailShow = true;
+      this.customerDetailShow=true;
       this.$nextTick(() => {
         this.$refs.customerDetails.getDetails(id);
       })
     },
-    startRoboticFun(id) {
+    startRoboticFun(id){
       startRobotic(id).then(e => {
         this.updateStatusFun();
       })
     },
-    stopRoboticFun(id) {
+    stopRoboticFun(id){
       stopRobotic(id).then(e => {
         this.updateStatusFun();
       })
     },
-    addQwUserTow(row) {
+    addQwUserTow(row){
       this.formOpen.qwUser.push({});
     },
-    addRoboticFun(row) {
+    addRoboticFun(row){
       this.openAdd = true;
-      this.formOpen = {id: row.id, qwUser: []};
+      this.formOpen = {roboticId: row.id, qwUser: []};
     },
-    addQwUser() {
+    addQwUser(){
       this.form.qwUser.push({});
     },
-    removeQwUser(index) {
+    removeQwUser(index){
       this.form.qwUser.splice(index, 1)
     }
   }

+ 16 - 34
src/views/course/userCourse/index.vue

@@ -136,18 +136,18 @@
           </el-popover>
         </template>
       </el-table-column>
-      <el-table-column label="小封面" align="center" prop="secondImg" width="100">
-        <template slot-scope="scope">
-          <el-popover
-            placement="right"
-            title=""
-            trigger="hover"
-          >
-            <img slot="reference" :src="scope.row.secondImg" width="50">
-            <img :src="scope.row.secondImg" style="max-width: 100px;">
-          </el-popover>
-        </template>
-      </el-table-column>
+<!--      <el-table-column label="小封面" align="center" prop="secondImg" width="100">-->
+<!--        <template slot-scope="scope">-->
+<!--          <el-popover-->
+<!--            placement="right"-->
+<!--            title=""-->
+<!--            trigger="hover"-->
+<!--          >-->
+<!--            <img slot="reference" :src="scope.row.secondImg" width="50">-->
+<!--            <img :src="scope.row.secondImg" style="max-width: 100px;">-->
+<!--          </el-popover>-->
+<!--        </template>-->
+<!--      </el-table-column>-->
       <el-table-column label="课堂名称" align="center" show-overflow-tooltip prop="courseName" />
       <el-table-column label="排序" align="center" prop="sort" />
       <el-table-column label="分类名称" align="center" prop="cateName" />
@@ -270,9 +270,9 @@
         <el-form-item label="课程封面" prop="imgUrl">
           <ImageUpload v-model="form.imgUrl" type="image" :num="10" :width="150" :height="150" />
         </el-form-item>
-        <el-form-item label="小封面" prop="imgUrl">
-          <ImageUpload v-model="form.secondImg" type="image" :num="10" :width="150" :height="150" />
-        </el-form-item>
+<!--        <el-form-item label="小封面" prop="imgUrl">-->
+<!--          <ImageUpload v-model="form.secondImg" type="image" :num="10" :width="150" :height="150" />-->
+<!--        </el-form-item>-->
         <el-row>
           <el-col :span="12">
             <el-form-item label="所属项目" prop="project">
@@ -523,24 +523,12 @@ export default {
       form: {},
       // 表单校验
       rules: {
-        talentId: [
-          { required: true, message: "归属达人不能为空", trigger: "change" }
-        ],
-        cateId: [
-          { required: true, message: "分类不能为空", trigger: "change" }
-        ],
-        subCateId: [
-          { required: true, message: "子分类不能为空", trigger: "change" }
-        ],
         courseName: [
           { required: true, message: "课堂名称不能为空", trigger: "blur" }
         ],
         imgUrl: [
           { required: true, message: "封面图片不能为空", trigger: "blur" }
         ],
-        secondImg: [
-          { required: true, message: "小封面图片不能为空", trigger: "blur" }
-        ],
         isTui: [
           { required: true, message: "是否推荐不能为空", trigger: "blur" }
         ],
@@ -571,12 +559,6 @@ export default {
         isIntegral: [
           { required: true, message: "是否允许积分兑换不能为空", trigger: "blur" }
         ],
-        price: [
-          { required: true, message: "原价不能为空", trigger: "blur" }
-        ],
-        sellPrice: [
-          { required: true, message: "售价不能为空", trigger: "blur" }
-        ],
         isShow: [
           { required: true, message: "上架状态不能为空", trigger: "blur" }
         ],
@@ -710,7 +692,7 @@ export default {
         subCateId:null,
         title: null,
         imgUrl: null,
-        secondImg:null,
+        // secondImg:null,
         userId: null,
         sort: null,
         createTime: null,

+ 16 - 51
src/views/his/statistics/ad.vue

@@ -6,16 +6,6 @@
 
 
       <el-form class="search-form" :inline="true" label-width="90px">
-        <el-form-item label="时间" prop="time">
-          <el-date-picker
-            v-model="queryParams.time"
-            type="daterange"
-            range-separator="至"
-            value-format="yyyy-MM-dd"
-            start-placeholder="开始日期"
-            end-placeholder="结束日期">
-          </el-date-picker>
-        </el-form-item>
         <el-form-item label="定向维度">
           <el-select v-model="queryParams.reportType" placeholder="请选择维度">
             <el-option
@@ -50,6 +40,16 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="时间" prop="time">
+          <el-date-picker
+            v-model="queryParams.time"
+            type="daterange"
+            range-separator="至"
+            value-format="yyyy-MM-dd"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期">
+          </el-date-picker>
+        </el-form-item>
         <el-form-item>
           <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
           <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -61,10 +61,10 @@
 <!--               style="float: right; margin-bottom: 15px; margin-right: 40px;">导出-->
 <!--    </el-button>-->
     <div class="table-box" style="margin: 0 auto">
-      <el-table :data="dataList" border v-loading="loading" style="width: 100%" height="500">
+      <el-table :data="dataList" border style="width: 100%" height="550">
         <el-table-column label="地区" v-if="queryParams.reportType == 2324048">
           <template slot-scope="scope">
-            {{scope.row.prov.provinceName}}
+            {{scope.row.prov.provinceName}} - {{scope.row.city.cityName}}
           </template>
         </el-table-column>
         <el-table-column label="性别" v-if="queryParams.reportType == 2503330">
@@ -82,22 +82,9 @@
             {{scope.row.showWord}} - {{scope.row.feedWord}}
           </template>
         </el-table-column>
-        <el-table-column prop="videoId" label="视频ID" v-if="queryParams.reportType == 114718" />
-        <el-table-column prop="videoNameStatus" label="视频名称" v-if="queryParams.reportType == 114718" />
-        <el-table-column label="视频" v-if="queryParams.reportType == 114718" width="150">
-          <template slot-scope="scope">
-            <a :href="scope.row.videoInfo.videoURL" target="_blank">
-              <el-image :src="scope.row.videoInfo.videoThumbnail" />
-            </a>
-          </template>
-        </el-table-column>
-        <el-table-column prop="imageId" label="图片ID" v-if="queryParams.reportType == 2094817" />
-        <el-table-column label="图片" v-if="queryParams.reportType == 2094817" width="150">
-          <template slot-scope="scope">
-              <el-image :src="scope.row.imageUrl" :preview-src-list="[scope.row.imageUrl]" />
-          </template>
-        </el-table-column>
         <el-table-column prop="date" label="日期" />
+        <el-table-column prop="campaignName" label="计划名称" />
+        <el-table-column prop="adGroupName" label="推广单元" />
         <el-table-column prop="impression" label="展现" />
         <el-table-column prop="click" label="点击" />
         <el-table-column prop="cost" label="消费" />
@@ -108,18 +95,7 @@
         </el-table-column>
         <el-table-column prop="cpc" label="平均点击价格" />
         <el-table-column prop="cpm" label="千次展现消费" />
-        <el-table-column prop="weixinFollowSuccessConversions" label="微信加粉成功" />
-        <el-table-column prop="weixinFollowSuccessConversionsCost" label="微信加粉成本" />
-        <el-table-column prop="feedOCPCConversionsDetail133" label="直播间微信加粉成功" />
-        <el-table-column prop="feedOCPCConversionsDetail133Cost" label="直播间微信加粉成本" />
       </el-table>
-      <pagination
-        v-show="total>0"
-        :total="total"
-        :page.sync="queryParams.page"
-        :limit.sync="queryParams.rowCount"
-        @pagination="getReportData"
-      />
     </div>
   </div>
 
@@ -141,8 +117,6 @@ export default {
   data() {
     return {
       deptOptions: [],
-      loading: false,
-      total: 0,
       exportLoading: false,
       deptId: null,
       queryParams: {
@@ -151,8 +125,6 @@ export default {
         startDate: null,
         endDate: null,
         time: '',
-        page: 0,
-        rowCount: 10,
       },
       accountList: [],
       users: [],
@@ -214,12 +186,6 @@ export default {
       }, {
         value: 2532512,
         label: '意图词'
-      }, {
-        value: 114718,
-        label: '视频报告'
-      }, {
-        value: 2094817,
-        label: '图片报告'
       }],
     };
   },
@@ -303,11 +269,10 @@ export default {
       }
       this.queryParams.startDate = this.queryParams.time[0];
       this.queryParams.endDate = this.queryParams.time[1];
-      this.loading = true;
       getReportData(this.queryParams).then(e => {
+        this.dateList = e.dataList;
+        this.tableList = e.tableList;
         this.dataList = e.data;
-        this.loading = false;
-        this.total = e.total;
       });
     },
 

+ 2 - 2
src/views/his/storeProduct/index.vue

@@ -840,8 +840,8 @@ export default {
        ],
       isDrug: [
          { required: true, message: "不能为空", trigger: "blur" }
-       ],
-
+       ], 
+       
       }
     };
   },

+ 1 - 10
src/views/live/live/index.vue

@@ -103,13 +103,6 @@
             @click="handleDelete(scope.row)"
             v-hasPermi="['live:live:remove']"
           >删除</el-button>
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-monitor"
-            @click="handleManage(scope.row)"
-            v-hasPermi="['live:live:remove']"
-          >管理</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -188,6 +181,7 @@
 <script>
 import { listLive, getLive, delLive, addLive, updateLive, exportLive } from "@/api/live/live";
 import Editor from '@/components/Editor/wang';
+import articleDetails from "@/views/components/his/doctorArticleDetails.vue";
 
 export default {
   name: "Live",
@@ -426,9 +420,6 @@ export default {
           this.msgSuccess("删除成功");
         }).catch(() => {});
     },
-    handleManage(row) {
-      this.$router.push('/live/liveConsole/' + row.liveId)
-    },
     /** 导出按钮操作 */
     handleExport() {
       const queryParams = this.queryParams;

+ 1 - 1
src/views/live/liveData/index.vue

@@ -148,7 +148,7 @@
         top10List: [
           {
             rank: 1,
-            name: "九州年末会员福利专场!",
+            name: "弘珍医药年末会员福利专场!",
             cover:"https://cos.his.cdwjyyh.com/fs/20250304/710ea5b1896749b58438b76baf881d05.jpeg",
             pv: 88332,
             uv: 32674,

+ 3 - 2
src/views/login.vue

@@ -5,7 +5,7 @@
         <img src="../assets/images/login_left.png" alt="">
       </div>
       <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
-        <h3 class="title">九州互联网医院管理系统</h3>
+        <h3 class="title">弘珍医药互联网医院管理系统</h3>
         <el-form-item prop="username">
           <el-input v-model="loginForm.username" type="text" auto-complete="off" placeholder="账号">
             <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
@@ -53,7 +53,8 @@
     </div>
     <!--  底部  -->
     <div class="el-login-footer">
-      <a href="https://beian.miit.gov.cn" target="_bank">蜀ICP备2023036719号-2</a>
+      <span>弘珍医药医药有限公司 </span>
+      <a href="https://beian.miit.gov.cn" target="_bank">蜀ICP备2025130335号-1</a>
     </div>
   </div>
 </template>

+ 2 - 45
src/views/qw/sop/sop.vue

@@ -61,31 +61,13 @@
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
         <el-button
-          type="warning"
+          type="success"
           plain
           icon="el-icon-download"
           size="mini"
           :loading="exportLoading"
           @click="handleExport"
         >导出</el-button>
-
-        <el-button
-          type="success"
-          plain
-          icon="el-icon-top"
-          size="mini"
-          @click="handleLogin"
-          v-hasPermi="['qw:user:loginAll']"
-        >企微全部启动</el-button>
-
-        <el-button
-          type="danger"
-          plain
-          icon="el-icon-bottom"
-          size="mini"
-          @click="handleLoginOut"
-          v-hasPermi="['qw:user:qwLoginOutAll']"
-        >企微全部退出</el-button>
       </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
@@ -168,7 +150,6 @@
 import { listSop, exportSop, } from "@/api/qw/sop";
 
 import sopLogsDetails from '@/views/qw/sopLogs/sopLogsList.vue'
-import {loginQwAll, qwLoginOutAll} from "../../../api/qw/sop";
 export default {
   name: "Sop",
     components: { sopLogsDetails},
@@ -394,31 +375,7 @@ export default {
           this.download(response.msg);
           this.exportLoading = false;
         }).catch(() => {});
-    },
-
-    handleLogin(){
-      this.$confirm('是否确认【登录】所有企微?', "警告", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      }).then(() => {
-        return loginQwAll();
-      }).then(response => {
-        this.$message.success("正在登录...")
-      }).catch(() => {});
-    },
-    handleLoginOut(){
-      this.$confirm('是否确认【退出】所有企微?', "警告", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      }).then(() => {
-        return qwLoginOutAll();
-      }).then(response => {
-        this.$message.success("正在退出..")
-      }).catch(() => {});
-    },
-
+    }
   }
 };
 </script>

+ 31 - 39
src/views/system/config/config.vue

@@ -1,14 +1,14 @@
 <template>
   <div class="app-container">
      <el-tabs v-model="activeName" @tab-click="handleClick" >
-      <el-tab-pane label="OSS配置" name="sys.oss.cloudStorage">
+      <el-tab-pane label="云存储配置" name="sys.oss.cloudStorage">
           <el-form ref="form1" :model="form1" :rules="rules1" label-width="160px">
             <el-form-item label="类型" prop="type">
                <el-radio-group v-model="form1.type">
                 <el-radio :label="1">七牛云</el-radio>
                 <el-radio :label="2">阿里云</el-radio>
                 <el-radio :label="3">腾讯云</el-radio>
-                <el-radio :label="4">华为云</el-radio>
+                 <el-radio :label="4">华为云</el-radio>
               </el-radio-group>
             </el-form-item>
             <el-form-item v-if="form1.type==1" label="七牛绑定的域名" prop="qiniuDomain">
@@ -62,7 +62,6 @@
              <el-form-item v-if="form1.type==3" label="所属地区" prop="qcloudRegion">
                 <el-input  v-model="form1.qcloudRegion" label="所属地区不能为空"></el-input>
             </el-form-item>
-
             <el-form-item v-if="form1.type==4" label="华为云绑定的域名" prop="huaweiDomain">
               <el-input  v-model="form1.huaweiDomain" label="华为云绑定的域名格式不正确"></el-input>
             </el-form-item>
@@ -79,7 +78,6 @@
             <el-form-item v-if="form1.type==4" label="华为云BucketName" prop="huaweiBucketName">
               <el-input  v-model="form1.huaweiBucketName" label="华为云BucketName不能为空"></el-input>
             </el-form-item>
-
              <div   class="footer">
               <el-button type="primary" @click="submitForm1">提  交</el-button>
             </div>
@@ -589,24 +587,6 @@
               </el-form-item>
             </el-col>
           </el-row>
-
-          <el-row>
-            <el-col :span="12">
-              <el-form-item  label="邀请新用户获得积分" prop="integralCourse">
-                <el-tooltip class="item" effect="dark" content="邀请新用户获得积分" placement="top-end">
-                  <el-input-number  v-model="form11.integralInvite"   ></el-input-number>
-                </el-tooltip>
-              </el-form-item>
-            </el-col>
-            <el-col :span="12">
-              <el-form-item  label="填写邀请码获得积分" prop="integralProduct">
-                <el-tooltip class="item" effect="dark" content="填写邀请码获得积分" placement="top-end">
-                  <el-input-number  v-model="form11.integralInvited"   ></el-input-number>
-                </el-tooltip>
-              </el-form-item>
-            </el-col>
-          </el-row>
-
           <el-form-item  label="单日可获总积分" prop="integralByOneDay">
             <el-tooltip class="item" effect="dark" content="每天最多可获得多少积分" placement="top-end">
               <el-input-number  v-model="form11.integralByOneDay"   ></el-input-number>
@@ -781,9 +761,6 @@
        <el-form-item   label="hook地址" prop="hookUrl">
          <el-input   v-model="form13.hookUrl"  label="请输入hook域名"></el-input>
        </el-form-item>
-       <el-form-item   label="AppH5域名" prop="appH5DomainName">
-         <el-input   v-model="form13.appH5DomainName"  label="请输入域名"></el-input>
-       </el-form-item>
       <div   class="footer">
          <el-button type="primary" @click="submitForm13">提  交</el-button>
        </div>
@@ -887,8 +864,8 @@
     </el-tab-pane>
        <el-tab-pane label="点播配置" name="course.config">
          <el-form ref="form18" :model="form18" label-width="120px">
-           <el-form-item label="可答题进度(%)">
-             <el-tooltip class="item" effect="dark" content="课程可答题进度(%)" placement="top-end">
+           <el-form-item label="完课进度(%)">
+             <el-tooltip class="item" effect="dark" content="看多少百分比算完课" placement="top-end">
                <el-input-number  v-model="form18.answerRate" :min="1" :max="100"    ></el-input-number>
              </el-tooltip>
            </el-form-item>
@@ -902,11 +879,6 @@
                <el-input-number  v-model="form18.answerErrorCount" :min="1"     ></el-input-number>
              </el-tooltip>
            </el-form-item>
-           <el-form-item label="最大缓冲时长(秒)">
-             <el-tooltip class="item" effect="dark" content="当前播放时间之后缓冲秒数(秒)" placement="top-end">
-               <el-input-number  v-model="form18.maxBufferLength" :min="1"    ></el-input-number>
-             </el-tooltip>
-           </el-form-item>
            <el-form-item label="每十分钟获取积分">
              <el-tooltip class="item" effect="dark" content="每十分钟获取多少积分" placement="top-end">
                <el-input-number  v-model="form18.videoIntegral" :min="1"    ></el-input-number>
@@ -923,19 +895,19 @@
                <el-radio label="1">线路二</el-radio>
              </el-radio-group>
            </el-form-item>
-           <el-form-item label="真链域名">
+           <el-form-item label="通用看课域名">
              <el-tooltip class="item" effect="dark" content="真链域名" placement="top-end">
                <el-input  v-model="form18.realLinkDomainName"     ></el-input>
              </el-tooltip>
            </el-form-item>
-           <el-form-item label="播放器License URL">
-             <el-tooltip class="item" effect="dark" content="播放器License URL" placement="top-end">
-               <el-input  v-model="form18.licenseURL"  ></el-input>
+           <el-form-item label="网页授权域名">
+             <el-tooltip class="item" effect="dark" content="公众号网页授权域名" placement="top-end">
+               <el-input  v-model="form18.authDomainName"  ></el-input>
              </el-tooltip>
            </el-form-item>
-           <el-form-item label="播放器License Key">
-             <el-tooltip class="item" effect="dark" content="播放器License Key" placement="top-end">
-               <el-input  v-model="form18.licenseKey"  ></el-input>
+           <el-form-item label="公众号appId">
+             <el-tooltip class="item" effect="dark" content="授权公众号appId" placement="top-end">
+               <el-input  v-model="form18.mpAppId"  ></el-input>
              </el-tooltip>
            </el-form-item>
 
@@ -950,6 +922,20 @@
              </el-tooltip>
            </el-form-item>
 
+           <el-form-item label="奖励类型">
+             <el-radio-group v-model="form18.rewardType">
+               <el-radio label="1">红包</el-radio>
+               <el-radio label="2">积分</el-radio>
+             </el-radio-group>
+           </el-form-item>
+
+           <el-form-item label="红包模式" v-if="form18.rewardType==1">
+             <el-radio-group v-model="form18.redPacketMode">
+               <el-radio label="1">总公司</el-radio>
+               <el-radio label="2">分公司</el-radio>
+             </el-radio-group>
+           </el-form-item>
+
            <div class="line"></div>
            <div style="float:right;margin-right:20px">
              <el-button type="primary" @click="submitForm18">提交</el-button>
@@ -958,6 +944,12 @@
        </el-tab-pane>
        <el-tab-pane label="红包商户配置" name="redPacket.config" >
          <el-form ref="form19" :model="form19"  label-width="150px">
+           <el-form-item   label="红包接口类型" prop="isNew">
+             <el-radio-group v-model="form19.isNew">
+               <el-radio label="0">商家转账到零钱(旧)</el-radio>
+               <el-radio label="1">商家转账(新)</el-radio>
+             </el-radio-group>
+           </el-form-item>
            <el-form-item   label="公众号appid" prop="appId">
              <el-input   v-model="form19.appId"  label="请输入appId"></el-input>
            </el-form-item>

+ 2 - 4
src/views/watch/deviceInfo/details.vue

@@ -64,7 +64,7 @@
           </div>
         </div>
         <div class="equipment-day">
-          <!-- 已绑定 <span>400</span> 天, 佩戴 <span>4365</span> 天 -->
+          已绑定 <span>400</span> 天, 佩戴 <span>4365</span> 天
         </div>
         <div class="equipment-btn">
           <el-button type="primary" size="small">一键上传</el-button>
@@ -342,9 +342,7 @@ export default {
      */
     async getUserinfo(deviceId) {
       try {
-        const userId = this.$route.params.userId;
-        const selectType = this.$route.params.selectType;
-        const response = await getUser({deviceId:deviceId,userId:userId,selectType});
+        const response = await getUser(deviceId);
         if (response && response.data) {
           this.userInfo = response.data; // 确保数据被正确赋值
           // console.log("用户信息:", this.userInfo);

+ 36 - 51
src/views/watch/deviceInfo/index.vue

@@ -2,30 +2,30 @@
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
       <el-form-item label="所属公司" prop="companyId" v-if="shouldShowCompanySelect">
-        <el-select v-model="queryParams.companyId" placeholder="请选择所属公司" clearable filterable size="small" @change="getCompanyUserList">
+        <el-select v-model="queryParams.companyId" placeholder="请选择所属公司" clearable size="small" @change="getCompanyUserList">
           <el-option v-for="item in companyList" :key="item.companyId" :label="item.companyName"
             :value="item.companyId">
           </el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="所属员工" prop="companyUserId">
-        <el-select v-model="queryParams.companyUserId" placeholder="请选择所属员工" clearable filterable size="small">
+        <el-select v-model="queryParams.companyUserId" placeholder="请选择所属员工" clearable size="small">
           <el-option v-for="item in companyUserList" :key="item.userId" :label="item.nickName"
             :value="item.userId">
           </el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="所属医生" prop="doctorId">
-        <el-select v-model="queryParams.doctorId" placeholder="请选择所属医生" clearable filterable size="small">
+        <el-select v-model="queryParams.doctorId" placeholder="请选择所属医生" clearable size="small">
           <el-option v-for="item in doctorList" :key="item.doctorId" :label="item.doctorName"
             :value="item.doctorId">
           </el-option>
         </el-select>
       </el-form-item>
-      <!-- <el-form-item label="绑定用户" prop="watchUserName">
+      <el-form-item label="绑定用户" prop="watchUserName">
         <el-input v-model="queryParams.watchUserName" placeholder="请输入绑定用户" clearable size="small"
           @keyup.enter.native="handleQuery" />
-      </el-form-item> -->
+      </el-form-item>
       <el-form-item label="设备编号" prop="deviceNumber">
         <el-input v-model="queryParams.deviceNumber" placeholder="请输入设备编号" clearable size="small"
           @keyup.enter.native="handleQuery" />
@@ -143,17 +143,7 @@
       <el-table-column label="所属公司" align="center" prop="companyName" />
       <el-table-column label="所属员工" align="center" prop="companyUserName" />
       <el-table-column label="所属医生" align="center" prop="doctorName" />
-    
-      <el-table-column  label="绑定用户"  align="center">
-          <template slot-scope="scope">
-              <el-link :underline="false" prop="item.userId" v-for="(item, index) in scope.row.users"  v-if="scope.row.users"  @click="handleDetails(scope.row.deviceId,item.userId)">{{item.nickName}}</el-link>
-          </template>
-      </el-table-column>
-      <el-table-column  label="绑定家人用户"  align="center">
-          <template slot-scope="scope">
-              <el-link :underline="false" prop="item.userId" v-for="(item, index) in scope.row.familyUsers"  v-if="scope.row.familyUsers"  @click="handleDetails(scope.row.deviceId,item.userId)">{{item.nickName}}</el-link>
-          </template>
-      </el-table-column>
+      <el-table-column label="绑定用户" align="center" prop="watchUserName" />
       <el-table-column label="设备编号" align="center" prop="deviceNumber" width="150"/>
       <el-table-column label="电量" align="center" prop="battery" />
       <el-table-column label="信号" align="center" prop="rssi" />
@@ -174,7 +164,7 @@
       </el-table-column>
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
-          <el-button size="mini" type="text" icon="el-icon-view" @click="handleDetails(scope.row.deviceId,null)"
+          <el-button size="mini" type="text" icon="el-icon-view" @click="handleDetails(scope.row.deviceId)"
             v-hasPermi="['watchApi:deviceInfo:query']">查询详情</el-button>
           <el-button size="mini" type="text" icon="el-icon-phone-outline" @click="handleSoSPeople(scope.row.deviceNumber)"
             v-hasPermi="['watchApi:deviceInfo:query']">查看紧急联系人</el-button>
@@ -207,7 +197,24 @@
         <div slot="footer" class="dialog-footer">
           <el-button @click="healthDataDialogVisible = false">关闭</el-button>
         </div>
-    </el-dialog>
+      </el-dialog>
+
+      <!-- 历史数据对话框 -->
+    <!-- <el-dialog :visible.sync="historyDataDialogVisible" title="历史数据" width="50%">
+      <div v-if="historyData">
+        <el-table :data="historyData">
+          <el-table-column prop="type" label="类型" align="center" />
+          <el-table-column prop="data" label="数值" align="center" />
+          <el-table-column prop="date" label="时间" align="center" />
+        </el-table>
+      </div>
+      <div v-else>
+        <p>暂无历史数据</p>
+      </div>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="historyDataDialogVisible = false">关闭</el-button>
+      </div>
+    </el-dialog> -->
       
 
     <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@@ -216,27 +223,17 @@
     <!-- 添加或修改设备信息对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="所属公司">
+        <el-form-item label="所属公司" prop="companyId">
           <template #label>
             <span class="required-label">所属公司</span>
           </template>
-          <el-select
-            v-model="selectedCompanyIds"
-            placeholder="请选择所属公司"
-            clearable
-            filterable
-            multiple
-            size="small"
-          >
-            <el-option
-              v-for="item in companyList"
-              :key="item.companyId"
-              :label="item.companyName"
-              :value="Number(item.companyId)"
-            ></el-option>
+          <el-select v-model="form.companyId" placeholder="请选择所属公司" clearable size="small" @change="getAddCompanyUserList">
+            <el-option v-for="item in companyList" :key="item.companyId" :label="item.companyName"
+              :value="item.companyId">
+            </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="所属员工">
+        <el-form-item label="所属员工" prop="companyUserId">
           <template #label>
             <span class="required-label">所属员工</span>
           </template>
@@ -372,7 +369,7 @@ export default {
       },
       // 表单参数
       form: {
-        companyId: '', //原始的以逗号分隔的字符串
+        companyId: '',
         companyUserId:"",
         doctorId:"",
         deviceNumber: '',
@@ -380,7 +377,6 @@ export default {
         rssi: '',
         status: 1,
       },
-      selectedCompanyIds: [], // 用于绑定选择框的数组
       // 表单校验
       rules: {
         // companyId: [
@@ -588,16 +584,9 @@ export default {
     this.getCompanyUserList();
     this.getDoctorList();
   },
-
   methods: {
-    parseCompanyId() {
-      // 将原始的以逗号分隔的字符串解析为数组
-      if (this.form.companyId) {
-        this.selectedCompanyIds = this.form.companyId.split(',').map(Number);
-      }
-    },
     rowClassName({row}) {
-      if (row.status && (row.status.includes('偏') || row.status.includes('重'))) {
+      if (row.status && row.status.includes('偏')) {
         // console.log("=============================" + JSON.stringify(row.status, null, 2))
         return 'text-red';
         // return true
@@ -705,8 +694,8 @@ export default {
       }
     },
     /** 处理查询详情按钮点击事件 */
-    handleDetails(deviceId,userId) {
-      this.$router.push({ name: 'details', params: { deviceId:deviceId,userId:userId } });
+    handleDetails(deviceId) {
+      this.$router.push({ name: 'details', params: { deviceId } });
     },
 
     /** 查询设备信息列表 */
@@ -737,8 +726,7 @@ export default {
         deviceNumber: null,
         battery: null,
         rssi: null,
-        status: 0,
-        selectedCompanyIds: [],
+        status: 0
       };
       this.resetForm("form");
     },
@@ -771,7 +759,6 @@ export default {
       const deviceId = row.deviceId || this.ids
       getDeviceInfo(deviceId).then(response => {
         this.form = response.data;
-        this.parseCompanyId()
         this.open = true;
         this.title = "修改设备信息";
       });
@@ -780,8 +767,6 @@ export default {
     submitForm() {
       this.$refs["form"].validate(valid => {
         if (valid) {
-          // 将 selectedCompanyIds 数组转换为以逗号分隔的字符串
-          this.form.companyId = this.selectedCompanyIds.join(',');
           if (this.form.deviceId != null) {
             console.log("===============================" + JSON.stringify(this.form, null, 2))
             updateDeviceInfo(this.form).then(response => {

+ 9 - 18
src/views/watch/isBind/index.vue

@@ -2,30 +2,30 @@
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
       <el-form-item label="所属公司" prop="companyId" v-if="shouldShowCompanySelect">
-        <el-select v-model="queryParams.companyId" placeholder="请选择所属公司" clearable filterable size="small" @change="getCompanyUserList">
+        <el-select v-model="queryParams.companyId" placeholder="请选择所属公司" clearable size="small" @change="getCompanyUserList">
           <el-option v-for="item in companyList" :key="item.companyId" :label="item.companyName"
             :value="item.companyId">
           </el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="所属员工" prop="companyUserId">
-        <el-select v-model="queryParams.companyUserId" placeholder="请选择所属员工" clearable filterable size="small">
+        <el-select v-model="queryParams.companyUserId" placeholder="请选择所属员工" clearable size="small">
           <el-option v-for="item in companyUserList" :key="item.userId" :label="item.nickName"
             :value="item.userId">
           </el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="所属医生" prop="doctorId">
-        <el-select v-model="queryParams.doctorId" placeholder="请选择所属医生" clearable filterable size="small">
+        <el-select v-model="queryParams.doctorId" placeholder="请选择所属医生" clearable size="small">
           <el-option v-for="item in doctorList" :key="item.doctorId" :label="item.doctorName"
             :value="item.doctorId">
           </el-option>
         </el-select>
       </el-form-item>
-      <!-- <el-form-item label="绑定用户" prop="watchUserName">
+      <el-form-item label="绑定用户" prop="watchUserName">
         <el-input v-model="queryParams.watchUserName" placeholder="请输入绑定用户" clearable size="small"
           @keyup.enter.native="handleQuery" />
-      </el-form-item> -->
+      </el-form-item>
       <el-form-item label="设备编号" prop="deviceNumber">
         <el-input v-model="queryParams.deviceNumber" placeholder="请输入设备编号" clearable size="small"
           @keyup.enter.native="handleQuery" />
@@ -115,16 +115,7 @@
       <el-table-column label="所属公司" align="center" prop="companyName" />
       <el-table-column label="所属员工" align="center" prop="companyUserName" />
       <el-table-column label="所属医生" align="center" prop="doctorName" />
-      <el-table-column  label="绑定用户"  align="center">
-          <template slot-scope="scope">
-              <el-link :underline="false" prop="item.userId" v-for="(item, index) in scope.row.users"  v-if="scope.row.users"  @click="handleDetails(scope.row.deviceId,item.userId,0)">{{item.nickName}}</el-link>
-          </template>
-      </el-table-column>
-      <el-table-column  label="绑定家人用户"  align="center">
-          <template slot-scope="scope">
-              <el-link :underline="false" prop="item.userId" v-for="(item, index) in scope.row.familyUsers"  v-if="scope.row.familyUsers"  @click="handleDetails(scope.row.deviceId,item.userId,1)">{{item.nickName}}</el-link>
-          </template>
-      </el-table-column>
+      <el-table-column label="绑定用户" align="center" prop="watchUserName" />
       <el-table-column label="设备编号" align="center" prop="deviceNumber" width="150"/>
       <el-table-column label="电量" align="center" prop="battery" />
       <el-table-column label="信号" align="center" prop="rssi" />
@@ -145,7 +136,7 @@
       </el-table-column>
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
-          <el-button size="mini" type="text" icon="el-icon-view" @click="handleDetails(scope.row.deviceId,null,0)"
+          <el-button size="mini" type="text" icon="el-icon-view" @click="handleDetails(scope.row.deviceId)"
             v-hasPermi="['watchApi:deviceInfo:query']">查询详情</el-button>
           <el-button size="mini" type="text" icon="el-icon-phone-outline" @click="handleSoSPeople(scope.row.deviceNumber)"
             v-hasPermi="['watchApi:deviceInfo:query']">查看紧急联系人</el-button>
@@ -614,8 +605,8 @@ export default {
     //   }
     // },
     /** 处理查询详情按钮点击事件 */
-    handleDetails(deviceId,userId,type) {
-      this.$router.push({ name: 'details', params: { deviceId:deviceId,userId:userId,selectType:type } });
+    handleDetails(deviceId) {
+      this.$router.push({ name: 'details', params: { deviceId } });
     },
 
     /** 查询设备信息列表 */

+ 8 - 5
src/views/watch/isSend/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-      <!-- <el-form-item label="所属公司" prop="companyId" v-if="shouldShowCompanySelect">
+      <el-form-item label="所属公司" prop="companyId" v-if="shouldShowCompanySelect">
         <el-select v-model="queryParams.companyId" placeholder="请选择所属公司" clearable size="small" @change="getCompanyUserList">
           <el-option v-for="item in companyList" :key="item.companyId" :label="item.companyName"
             :value="item.companyId">
@@ -21,8 +21,11 @@
             :value="item.doctorId">
           </el-option>
         </el-select>
-      </el-form-item> -->
-      
+      </el-form-item>
+      <el-form-item label="绑定用户" prop="watchUserName">
+        <el-input v-model="queryParams.watchUserName" placeholder="请输入绑定用户" clearable size="small"
+          @keyup.enter.native="handleQuery" />
+      </el-form-item>
       <el-form-item label="设备编号" prop="deviceNumber">
         <el-input v-model="queryParams.deviceNumber" placeholder="请输入设备编号" clearable size="small"
           @keyup.enter.native="handleQuery" />
@@ -96,10 +99,10 @@
     <el-table v-loading="loading" :data="deviceInfoList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="设备id" align="center" prop="deviceId" />
-      <!-- <el-table-column label="所属公司" align="center" prop="companyName" />
+      <el-table-column label="所属公司" align="center" prop="companyName" />
       <el-table-column label="所属员工" align="center" prop="companyUserName" />
       <el-table-column label="所属医生" align="center" prop="doctorName" />
-      <el-table-column label="绑定用户" align="center" prop="watchUserName" /> -->
+      <el-table-column label="绑定用户" align="center" prop="watchUserName" />
       <el-table-column label="设备编号" align="center" prop="deviceNumber" width="150"/>
       <el-table-column label="电量" align="center" prop="battery" />
       <el-table-column label="信号" align="center" prop="rssi" />

+ 1 - 1
vue.config.js

@@ -5,7 +5,7 @@ function resolve(dir) {
   return path.join(__dirname, dir)
 }
 
-const name = process.env.VUE_APP_TITLE || '九州互联网医院管理系统' // 网页标题
+const name = process.env.VUE_APP_TITLE || '弘珍医药互联网医院管理系统' // 网页标题
 
 const port = process.env.port || process.env.npm_config_port || 80 // 端口