miaofuhao преди 1 година
родител
ревизия
5d76635359

+ 1 - 1
CMS1.0/.env.development

@@ -4,7 +4,7 @@ VITE_APP_TITLE = 在线客服管理系统
4 4
 # 开发环境配置
5 5
 VITE_APP_ENV = 'development'
6 6
 
7
-# 若依管理系统/开发环境 http://192.168.150.249:8010   http://192.168.1.15:8010/
7
+# 若依管理系统/开发环境 http://192.168.150.249:8010   http://192.168.1.15:8010/  http://123.56.29.119:8080
8 8
 
9 9
 VITE_APP_BASE_API = 'http://192.168.1.15:8060/'
10 10
 

BIN
CMS1.0/src/assets/images/echarts1.png


BIN
CMS1.0/src/assets/images/echarts2.png


+ 19 - 4
CMS1.0/src/views/main/followUp/addFollowUpPlan/addFollowUpPlan.vue

@@ -26,7 +26,7 @@
26 26
               </el-select>
27 27
             </el-form-item>
28 28
             <el-form-item label="选择模版" label-width="200px" v-if="workBasicData.way === '2'">
29
-              <el-select v-model="message" placeholder="请选择模版" style="width: 240px">
29
+              <el-select v-model="message" placeholder="请选择模版" style="width: 240px" @change="messageChange">
30 30
                 <el-option v-for="item in smsData" :key="item.value" :label="item.title" :value="item.value" />
31 31
               </el-select>
32 32
             </el-form-item>
@@ -356,6 +356,8 @@ watch(getPlanId, (nweProps) => {
356 356
     }
357 357
   }
358 358
 });
359
+
360
+
359 361
 onMounted(() => {
360 362
   initMethod(props);
361 363
 });
@@ -376,6 +378,14 @@ const onAddItem = () => {
376 378
   centerDialogVisibleAddWorkorder.value = true;
377 379
 
378 380
 }
381
+function messageChange(e) {
382
+  console.log(e);
383
+  getPageDetail("/sms/template/"+e).then((res)=>{
384
+    console.log(res.data);
385
+  })
386
+  
387
+}
388
+
379 389
 function handleSeatTrue() {
380 390
   centerDialogVisibleAddWorkorder.value = false;
381 391
   const newAway = []
@@ -460,7 +470,7 @@ const handleConfirmClick = () => {
460 470
       formData.value = workBasicData.value
461 471
       formData.value.beginEffective = moment(workBasicData.value.indate[0]).format('YYYY-MM-DD HH:mm:ss')
462 472
       formData.value.endEffective = moment(workBasicData.value.indate[1]).format('YYYY-MM-DD HH:mm:ss')
463
-      delete formData.value.indate
473
+      
464 474
       formData.value.questionnaire = questionnaire.value
465 475
       formData.value.message = message.value
466 476
       formData.value.messageType = messageType.value
@@ -481,7 +491,10 @@ const handleConfirmClick = () => {
481 491
           // 关闭当前页面
482 492
           useTagsViewStore().delView(userRouter.currentRoute.value);
483 493
           // 返回上一页面
484
-          userRouter.go(-1);
494
+          userRouter.push({
495
+            path: '/followUp/followUpPlan',
496
+          })
497
+         
485 498
         })
486 499
       } else{
487 500
         createPageData('/SfPlan/sfPlan', formData.value).then((data) => {
@@ -489,7 +502,9 @@ const handleConfirmClick = () => {
489 502
             // 关闭当前页面
490 503
             useTagsViewStore().delView(userRouter.currentRoute.value);
491 504
             // 返回上一页面
492
-            userRouter.go(-1);
505
+            userRouter.push({
506
+              path: '/followUp/followUpPlan',
507
+            })
493 508
         })
494 509
       }
495 510
     }

+ 11 - 2
CMS1.0/src/views/main/followUp/addFollowUpPlan/config/modal.config.js

@@ -8,7 +8,11 @@ export const modalConfig = {
8 8
       field: 'name',
9 9
       type: 'input',
10 10
       label: '计划名称',
11
-      placeholder: '请输入计划名称'
11
+      placeholder: '请输入计划名称',
12
+      otherOptions: {
13
+        maxlength:"50",
14
+        showWordLimit:'true'
15
+      }
12 16
     },
13 17
     {
14 18
       required : true ,
@@ -36,6 +40,7 @@ export const modalConfig = {
36 40
     },
37 41
     {
38 42
       field: 'indate', //string
43
+      required : true ,
39 44
       type: 'datepicker',
40 45
       label: '有效期', 
41 46
       otherOptions: {
@@ -49,7 +54,11 @@ export const modalConfig = {
49 54
       type: 'textarea',
50 55
       colLayout: { span: 16 },
51 56
       label: '描述',
52
-      placeholder: '请输入描述内容'
57
+      placeholder: '请输入描述内容',
58
+      otherOptions: {
59
+        maxlength:"100",
60
+        showWordLimit:'true'
61
+      }
53 62
     },
54 63
     // {
55 64
     //   required : true ,

+ 1 - 0
CMS1.0/src/views/main/followUp/followUpPlan/cpns/patientFileList/patientFileList.vue

@@ -137,6 +137,7 @@ function handleSearch() {
137 137
 const handleClick = () => {}
138 138
 watch(props, (nweProps) => {
139 139
   btnFlag.value = nweProps.btnFlag
140
+  console.log(btnFlag.value);
140 141
   initMethod(nweProps);
141 142
 });
142 143
 onMounted(() => {

+ 38 - 5
CMS1.0/src/views/main/followUp/followUpPlan/followUpPlan.vue

@@ -115,7 +115,7 @@
115 115
               </el-tab-pane>
116 116
               <el-tab-pane label="患者列表" name="second">
117 117
                 <div class="tabList"> 
118
-                  <patient-list :planId="planId"></patient-list>
118
+                  <patient-list :planId="planId" :btnFlag="isdetilBtn"></patient-list>
119 119
                 </div>
120 120
               </el-tab-pane>
121 121
               <el-tab-pane label="计划详情" name="third">
@@ -144,13 +144,18 @@ import patientList from './cpns/patientFileList/patientFileList';
144 144
 import projectDetails from '../addFollowUpPlan/addFollowUpPlan';
145 145
 import operationLog from './cpns/operationLog';
146 146
 import { editPageData,getPageListData,getPageDetail } from '@/api/main/system/system';
147
-import { useRouter } from 'vue-router';
147
+import { useRouter} from 'vue-router';
148 148
 import { followType,followWay } from "@/utils/commonDic.js";
149 149
 import moment from 'moment';
150 150
 const { proxy } = getCurrentInstance();
151 151
 
152
+
152 153
 const activeName = ref('first')
153 154
 const router = useRouter();
155
+router.afterEach((to,from)=>{
156
+	// 记录用户的浏览记录
157
+  	console.log(to,from);
158
+})
154 159
 const planParams = ref({
155 160
   pageNum:1,
156 161
   pageSize:10
@@ -164,13 +169,14 @@ const form = ref({
164 169
   endEffective:''
165 170
 })
166 171
 const borderIndex = ref(0)
172
+const isdetilBtn = ref(false)
167 173
 const iconFlag = ref(true)
168 174
 const contentData = ref([])
169 175
 const planData = ref([])
170 176
 const planDetail = ref({})
171 177
 const planId = ref()
172 178
 const seatData = ref([])
173
-
179
+const activatedFlag = ref(false)
174 180
 const handleClick = (tab, event) => {
175 181
   console.log(tab, event)
176 182
 }
@@ -179,7 +185,10 @@ function iconHandle() {
179 185
   iconFlag.value = !iconFlag.value
180 186
 }
181 187
 const cardListRef = ref(null)
182
-
188
+onActivated(() => {
189
+  activatedFlag.value = true
190
+  geFollowUpList();
191
+})
183 192
 onMounted(() => {
184 193
   geFollowUpList()
185 194
 });
@@ -189,6 +198,12 @@ function handleKeyUpEnter() {
189 198
   planData.value = []
190 199
   geFollowUpList()
191 200
 }
201
+// beforeRouteEnter((to, from, next)=> {
202
+//   beforeRouteUpdate((to, from, next) => {
203
+//     console.log(to, from, next);
204
+//   })
205
+// })
206
+
192 207
 function handleSearch() {
193 208
   iconFlag.value = !iconFlag.value
194 209
   console.log('搜索');
@@ -216,8 +231,21 @@ function geFollowUpList() {
216 231
       planDetail.value = res.data[0]
217 232
       getPlanSeatList(planId.value)
218 233
     }
234
+   if (activatedFlag.value) {
235
+    planData.value = []
236
+    console.log(planDetail.value);
237
+    console.log(res.data[0]);
238
+    setTimeout(()=>{
239
+      handleItem(planDetail.value,0)
240
+    },50)
241
+   }
219 242
     contentData.value = res.data
220 243
     planData.value = planData.value.concat(contentData.value);
244
+    if (planData.value.state === 2) {
245
+        isdetilBtn.value = false
246
+      } else{
247
+        isdetilBtn.value = true
248
+      }
221 249
   })
222 250
 }
223 251
 
@@ -279,8 +307,8 @@ function handleClose(planId) {
279 307
 
280 308
 function getPlanDetail(planId) {
281 309
   getPageDetail("/SfPlan/sfPlan/"+planId).then((res)=>{
282
-    console.log(res.data)
283 310
     planDetail.value = res.data
311
+    
284 312
   })
285 313
 }
286 314
 
@@ -290,6 +318,11 @@ function handleItem(item,index) {
290 318
   planDetail.value = item
291 319
   planId.value = item.plId
292 320
   getPlanSeatList(item.plId)
321
+  if (planDetail.value.state === 2) {
322
+    isdetilBtn.value = false
323
+  } else{
324
+    isdetilBtn.value = true
325
+  }
293 326
 }
294 327
 
295 328
 function getPlanState(value) {

+ 8 - 14
CMS1.0/src/views/main/homePage/cpns/followUpReport.vue

@@ -37,7 +37,7 @@
37 37
                             {{followSituationData.SfTask}}
38 38
                         </div>
39 39
                         <div >
40
-                            <el-image style="width: 100%; height: 20px" :src="echarts1Url" :fit="fit" />
40
+                            <el-image style="width: 100%;" :src="echarts1Url" :fit="fit" />
41 41
                         </div>
42 42
                         <template #footer>
43 43
                             今日任务量<span style="margin-left: 15px;">
@@ -51,7 +51,7 @@
51 51
                         <div class="header-text1">已完成量</div>
52 52
                         <div class="header-text2">{{followSituationData.SfTaskComplete}}</div>
53 53
                         <div>
54
-                            <el-image style="width: 100%; height: 20px" :src="echarts2Url" :fit="fit" />
54
+                            <el-image style="width: 100%;" :src="echarts2Url" :fit="fit" />
55 55
                         </div>
56 56
                         <template #footer>
57 57
                             今日完成量<span style="margin-left: 15px;">{{followSituationData.SfTaskDayComplete}}</span>
@@ -282,6 +282,9 @@ function getIcon(value) {
282 282
 
283 283
 function optionData1(xData,yData) {
284 284
     let resultData = {
285
+        tooltip: {
286
+            trigger: 'axis'
287
+        },
285 288
         xAxis: {
286 289
             type: 'category',
287 290
             data: xData
@@ -301,29 +304,19 @@ function optionData1(xData,yData) {
301 304
 }
302 305
 function optionData2() {
303 306
     let resultData = {
304
-
305 307
         tooltip: {
306 308
             trigger: 'axis'
307 309
         },
308 310
         legend: {
309 311
             data: ['接通率']
310 312
         },
311
-        
312
-        toolbox: {
313
-            feature: {
314
-            saveAsImage: {}
315
-            }
316
-        },
317 313
         xAxis: {
318 314
             type: 'category',
319
-            boundaryGap: false,
320 315
             data: optionxData2.value
321 316
         },
322 317
         yAxis: {
323 318
             type: 'value',
324
-            axisLabel: {
325
-                formatter: '{value} %'
326
-            }
319
+
327 320
         },
328 321
         series: [
329 322
             {
@@ -334,6 +327,7 @@ function optionData2() {
334 327
             },
335 328
             
336 329
         ]
330
+
337 331
     }
338 332
     return resultData
339 333
 }
@@ -354,7 +348,7 @@ function optionData2() {
354 348
         }
355 349
 
356 350
         .header-text3 {
357
-            margin-top: 5px;
351
+            margin-top: 23px;
358 352
 
359 353
             span {
360 354
                 margin-right: 30px;