XMLWAN 4 years ago
parent
commit
0a4d297edb

+ 1 - 0
src/api/data.js View File

10
 }
10
 }
11
 
11
 
12
 export function createChildConfig(params) {
12
 export function createChildConfig(params) {
13
+  console.log("parasms22222",params)
13
   return request({
14
   return request({
14
     url: '/api/createchildconfig',
15
     url: '/api/createchildconfig',
15
     method: 'post',
16
     method: 'post',

+ 7 - 7
src/api/manage.js View File

97
 }
97
 }
98
 
98
 
99
 export function savePlan(data, id) {
99
 export function savePlan(data, id) {
100
-  console.log('data====', data)
100
+ 
101
   return request({
101
   return request({
102
     url: '/api/management/saveplan?id=' + id,
102
     url: '/api/management/saveplan?id=' + id,
103
     method: 'Post',
103
     method: 'Post',
150
 }
150
 }
151
 
151
 
152
 export function UpdatePlanInfo(data) {
152
 export function UpdatePlanInfo(data) {
153
-  console.log('data', data)
153
+  
154
   return request({
154
   return request({
155
     url: '/api/manage/updateplaninfo',
155
     url: '/api/manage/updateplaninfo',
156
     method: 'Post',
156
     method: 'Post',
167
 }
167
 }
168
 
168
 
169
 export function SaveInformation(eid, data) {
169
 export function SaveInformation(eid, data) {
170
-  console.log('data--', data)
170
+
171
   return request({
171
   return request({
172
     url: '/api/manage/saveinformation?eid=' + eid,
172
     url: '/api/manage/saveinformation?eid=' + eid,
173
     method: 'Post',
173
     method: 'Post',
393
 }
393
 }
394
 
394
 
395
 export function UpdateRepair(data) {
395
 export function UpdateRepair(data) {
396
-  console.log('data-----', data)
396
+  
397
   return request({
397
   return request({
398
     url: '/api/manage/updaterepair',
398
     url: '/api/manage/updaterepair',
399
     method: 'Post',
399
     method: 'Post',
460
     limit: limit,
460
     limit: limit,
461
     page: page
461
     page: page
462
   }
462
   }
463
-  console.log('params', params)
463
+
464
   return request({
464
   return request({
465
     url: '/api/manage/queryinfo',
465
     url: '/api/manage/queryinfo',
466
     method: 'Get',
466
     method: 'Get',
538
 }
538
 }
539
 
539
 
540
 export function SaveManageInfoTwo(data, beds) {
540
 export function SaveManageInfoTwo(data, beds) {
541
-  console.log('data', beds)
541
+
542
   return request({
542
   return request({
543
     url: '/api/manage/savemanageinfotwo?beds=' + beds,
543
     url: '/api/manage/savemanageinfotwo?beds=' + beds,
544
     method: 'post',
544
     method: 'post',
730
   const params = {
730
   const params = {
731
     id: id
731
     id: id
732
   }
732
   }
733
-  console.log('params', params)
734
   return request({
733
   return request({
735
     url: '/api/manage/deletemanagement',
734
     url: '/api/manage/deletemanagement',
736
     method: 'get',
735
     method: 'get',
737
     params: params
736
     params: params
738
   })
737
   })
739
 }
738
 }
739
+

+ 3 - 0
src/xt_pages/data/components/table.vue View File

57
           </el-input>
57
           </el-input>
58
         </el-form-item>
58
         </el-form-item>
59
       </el-form>
59
       </el-form>
60
+
61
+      
60
       <div slot="footer" class="dialog-footer">
62
       <div slot="footer" class="dialog-footer">
61
         <el-button @click="dialogFormVisible = false">{{
63
         <el-button @click="dialogFormVisible = false">{{
62
           $t("table.cancel")
64
           $t("table.cancel")
201
       if (currentRow != undefined) {
203
       if (currentRow != undefined) {
202
         this.currentId = currentRow.id;
204
         this.currentId = currentRow.id;
203
         bus.$emit("parentChangeId", currentRow);
205
         bus.$emit("parentChangeId", currentRow);
206
+        
204
       }
207
       }
205
     },
208
     },
206
     getList() {
209
     getList() {

+ 40 - 10
src/xt_pages/data/components/tableson.vue View File

68
         label-position="right"
68
         label-position="right"
69
         label-width="70px"
69
         label-width="70px"
70
       >
70
       >
71
+        <el-row v-if="showType"> 
72
+           <el-col :span="12">
73
+            <el-form-item label="血管通路类型" label-width="150">
74
+              <el-radio v-model="temp.field_type" label="1">内瘘</el-radio>
75
+               <el-radio v-model="temp.field_type" label="2">导管</el-radio>
76
+            </el-form-item>
77
+          </el-col>
78
+        </el-row>
71
         <el-row>
79
         <el-row>
72
           <el-col :span="12">
80
           <el-col :span="12">
73
             <el-form-item :label="$t('data_config.config_name')" prop="name">
81
             <el-form-item :label="$t('data_config.config_name')" prop="name">
203
         field_name: undefined,
211
         field_name: undefined,
204
         value: "",
212
         value: "",
205
         remark: "",
213
         remark: "",
206
-        orders: 0
214
+        orders: 0,
215
+        field_type:""
207
       },
216
       },
208
       dialogFormVisible: false,
217
       dialogFormVisible: false,
209
       dialogStatus: "",
218
       dialogStatus: "",
223
       },
232
       },
224
       downloadLoading: false,
233
       downloadLoading: false,
225
       parentConfig: undefined,
234
       parentConfig: undefined,
226
-      addState: true
235
+      addState: true,
236
+      showType:false,
237
+      typeName:"",
238
+      showName:""
227
     };
239
     };
228
   },
240
   },
229
   computed: {
241
   computed: {
255
     }
267
     }
256
   },
268
   },
257
   created() {
269
   created() {
258
-    // this.getList()
270
+  
259
   },
271
   },
260
   mounted() {
272
   mounted() {
261
     var _this = this;
273
     var _this = this;
262
     bus.$on("parentChangeId", function(parentData) {
274
     bus.$on("parentChangeId", function(parentData) {
275
+       console.log("parentData",parentData)
276
+      _this.showName = parentData.name
277
+      console.log("22222",_this.showName)
278
+      if(parentData.name == "血管通路" || parentData.name == "血管通路部位"){
279
+        
280
+        _this.showType = true
281
+
282
+      }else{
283
+        _this.showType = false
284
+      }
263
       _this.parentConfig = parentData;
285
       _this.parentConfig = parentData;
264
       // _this.list = parentData.childs
286
       // _this.list = parentData.childs
265
       _this.temp = {
287
       _this.temp = {
271
         field_name: undefined,
293
         field_name: undefined,
272
         value: "",
294
         value: "",
273
         remark: "",
295
         remark: "",
274
-        orders: ""
296
+        orders: "",
297
+        field_type:parentData.field_type
275
       };
298
       };
276
     });
299
     });
277
   },
300
   },
351
         field_name: undefined,
374
         field_name: undefined,
352
         value: "",
375
         value: "",
353
         remark: "",
376
         remark: "",
354
-        orders: 0
377
+        orders: 0,
378
+        field_type:this.parentConfig.field_type
355
       };
379
       };
356
     },
380
     },
357
     handleCreate() {
381
     handleCreate() {
370
       //    return false;
394
       //    return false;
371
       //  }
395
       //  }
372
       // }
396
       // }
373
-
397
+      
374
       this.dialogFormVisible = true;
398
       this.dialogFormVisible = true;
375
       this.$nextTick(() => {
399
       this.$nextTick(() => {
376
         this.$refs["dataForm"].clearValidate();
400
         this.$refs["dataForm"].clearValidate();
377
       });
401
       });
378
     },
402
     },
379
     createData() {
403
     createData() {
404
+       
380
       this.$refs["dataForm"].validate(valid => {
405
       this.$refs["dataForm"].validate(valid => {
381
         if (valid) {
406
         if (valid) {
407
+          this.temp.field_type = parseInt(this.temp.field_type)
408
+          console.log("2222",this.temp.field_name)
382
           createChildConfig(this.temp).then(response => {
409
           createChildConfig(this.temp).then(response => {
383
             if (!response.data) {
410
             if (!response.data) {
384
               // 由于mockjs 不支持自定义状态码只能这样hack
411
               // 由于mockjs 不支持自定义状态码只能这样hack
391
 
418
 
392
             // this.list.unshift(tempval)
419
             // this.list.unshift(tempval)
393
             // 更新store
420
             // 更新store
394
-            store
395
-              .dispatch("updateChildConfigList", [result, "create"])
396
-              .then(() => {});
397
-
421
+            store.dispatch("updateChildConfigList", [result, "create"]).then(() => {});
398
             this.dialogFormVisible = false;
422
             this.dialogFormVisible = false;
399
             this.$message.success("创建成功");
423
             this.$message.success("创建成功");
400
           });
424
           });
402
       });
426
       });
403
     },
427
     },
404
     handleUpdate(row) {
428
     handleUpdate(row) {
429
+      console.log("3333333334",this.showType)
430
+      console.log("rwo222222",row)
431
+      console.log("showname,",this.showName)
432
+      row.field_type = row.field_type.toString()
433
+    
405
       if (
434
       if (
406
         row.name == "无肝素" ||
435
         row.name == "无肝素" ||
407
         row.name == "普通肝素" ||
436
         row.name == "普通肝素" ||
425
       this.$refs["dataForm"].validate(valid => {
454
       this.$refs["dataForm"].validate(valid => {
426
         if (valid) {
455
         if (valid) {
427
           const tempData = Object.assign({}, this.temp);
456
           const tempData = Object.assign({}, this.temp);
457
+          tempData.field_type = parseInt(tempData.field_type)
428
           console.log("tempData", tempData);
458
           console.log("tempData", tempData);
429
           updateChildConfig(tempData).then(response => {
459
           updateChildConfig(tempData).then(response => {
430
             if (!response.data) {
460
             if (!response.data) {

+ 361 - 119
src/xt_pages/device/airDisinfect.vue View File

6
     <div class="app-container">
6
     <div class="app-container">
7
         <div style="float:right;margin-bottom:10px;">
7
         <div style="float:right;margin-bottom:10px;">
8
             <el-button type="primary" @click="dialogFormVisible = true">新增</el-button>
8
             <el-button type="primary" @click="dialogFormVisible = true">新增</el-button>
9
-            <el-button type="danger">删除</el-button>
9
+            <!-- <el-button type="danger">删除</el-button> -->
10
         </div>
10
         </div>
11
-        <el-table :data="tableData" border style="width: 100%" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}">
11
+        <el-table :data="tableData" border style="width: 100%" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" >
12
             <el-table-column type="selection" width="55" align="center"></el-table-column>
12
             <el-table-column type="selection" width="55" align="center"></el-table-column>
13
-            <el-table-column label="时间" width="120"></el-table-column>
14
-            <el-table-column label="班次" width="120"></el-table-column>
15
-            <el-table-column label="创建日期" width="120"></el-table-column>
16
-            <el-table-column label="消毒方式" width="120"></el-table-column>
17
-            <el-table-column label="消毒液" width="120"></el-table-column>
18
-            <el-table-column label="顺序号" width="80"></el-table-column>
19
-            <el-table-column label="创建人" width="80"></el-table-column>
20
-            <el-table-column label="检查结果" width="180"></el-table-column>
21
-            <el-table-column label="检查时间" width="120"></el-table-column>
22
-            <el-table-column label="数据上传时间" width="120"></el-table-column>
23
-            <el-table-column label="修改标志" width="90"></el-table-column>
13
+            <el-table-column label="时间" width="120">
14
+               <template slot-scope="scope">
15
+                   {{getTime(scope.row.start_time)}}
16
+               </template>
17
+            </el-table-column>
18
+            <el-table-column label="班次" width="120">
19
+                <template slot-scope="scope">
20
+                   <span v-if="scope.row.class == 1">上午</span>
21
+                   <span v-if="scope.row.class == 2">中午</span>
22
+                   <span v-if="scope.row.class == 3">下午</span>
23
+                </template>
24
+            </el-table-column>
25
+            <el-table-column label="创建日期" width="120">
26
+                <template slot-scope="scope">
27
+                  {{getTime(scope.row.created_ime)}}
28
+                </template>
29
+            </el-table-column>
30
+            <el-table-column label="消毒方式" width="120">
31
+                <template slot-scope="scope">
32
+                  {{scope.row.disinfection_methods}}
33
+                </template>
34
+            </el-table-column>
35
+            <el-table-column label="消毒液" width="120">
36
+                <template slot-scope="scope">
37
+                   {{scope.row.disinfection_fluid}}
38
+                </template>
39
+            </el-table-column>
40
+            <el-table-column label="顺序号" width="80">
41
+               <template slot-scope="scope">
42
+                  {{scope.row.sort}}
43
+                </template>
44
+            </el-table-column>
45
+            <el-table-column label="创建人" width="80">
46
+               <template slot-scope="scope">
47
+                  {{getName(scope.row.creator)}}
48
+                </template>
49
+            </el-table-column>
50
+            <el-table-column label="检查结果" width="180">
51
+                <template slot-scope="scope">
52
+                   {{scope.row.detection_result}}
53
+                </template>
54
+            </el-table-column>
55
+            <el-table-column label="检查时间" width="120">
56
+                <template slot-scope="scope">
57
+                   {{getTime(scope.row.detection_time)}}
58
+                </template>
59
+            </el-table-column>
60
+            <el-table-column label="数据上传时间" width="120">
61
+                <template slot-scope="scope">
62
+                   {{getTime(scope.row.upload_time)}}
63
+                </template>
64
+            </el-table-column>
65
+            <el-table-column label="修改标志" width="90">
66
+               <template slot-scope="scope">
67
+                   <span v-if="scope.row.modifications == 1">正常</span>
68
+                   <span v-if="scope.row.modifications == 2">撤消</span>
69
+                </template>
70
+            </el-table-column>
24
             <el-table-column label="操作" align="center">
71
             <el-table-column label="操作" align="center">
25
                 <template slot-scope="scope">
72
                 <template slot-scope="scope">
26
                     <el-button
73
                     <el-button
27
                     size="mini"
74
                     size="mini"
28
                     type="primary"
75
                     type="primary"
29
-                    @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
76
+                    @click="handleEdit(scope.row.id)">编辑</el-button>
30
                     <el-button
77
                     <el-button
31
                     size="mini"
78
                     size="mini"
32
                     type="danger"
79
                     type="danger"
33
-                    @click="handleDelete(scope.$index, scope.row)">删除</el-button>
80
+                    @click="handleDelete(scope.row.id)">删除</el-button>
34
                 </template>
81
                 </template>
35
             </el-table-column>
82
             </el-table-column>
36
         </el-table>
83
         </el-table>
51
         width="1000px"
98
         width="1000px"
52
         title="新增空气消毒表"
99
         title="新增空气消毒表"
53
         :visible.sync="dialogFormVisible">
100
         :visible.sync="dialogFormVisible">
54
-            <el-form :model="form" class="airForm">
55
-                <el-form-item label="时间" label-width="110px">
101
+            <el-form :model="form" ref="form" class="airForm" :rules="airRules">
102
+                <el-form-item label="时间" label-width="110px" required prop="start_time">
56
                     <el-date-picker
103
                     <el-date-picker
57
-                    v-model="value1"
58
-                    type="datetime"
104
+                     value-format="yyyy-MM-dd"
105
+                    v-model="form.start_time"
106
+                    type="date"
59
                     placeholder="选择日期时间">
107
                     placeholder="选择日期时间">
60
                     </el-date-picker>
108
                     </el-date-picker>
61
                 </el-form-item>
109
                 </el-form-item>
62
-                <el-form-item label="班次" label-width="110px">
63
-                    <el-select v-model="form.region" placeholder="请选择活动区域">
64
-                        <el-option label="区域一" value="shanghai"></el-option>
65
-                        <el-option label="区域二" value="beijing"></el-option>
110
+                <el-form-item label="班次" label-width="110px" required prop="class">
111
+                    <el-select v-model="form.class" placeholder="请选择活动区域">
112
+                        <el-option label="上午" value="1"></el-option>
113
+                        <el-option label="下午" value="2"></el-option>
114
+                        <el-option label="晚上" value="3"></el-option>
66
                     </el-select>
115
                     </el-select>
67
                 </el-form-item>
116
                 </el-form-item>
68
-                <el-form-item label="创建日期" label-width="110px">
69
-                    <el-date-picker
70
-                    v-model="value1"
71
-                    type="datetime"
117
+                <el-form-item label="创建日期" label-width="110px" required prop="created_time">
118
+                  <el-date-picker
119
+                    value-format="yyyy-MM-dd"
120
+                    v-model="form.created_time"
121
+                    type="date"
72
                     placeholder="选择日期时间">
122
                     placeholder="选择日期时间">
73
                     </el-date-picker>
123
                     </el-date-picker>
74
                 </el-form-item>
124
                 </el-form-item>
75
                 <el-form-item label="消毒方式" label-width="110px">
125
                 <el-form-item label="消毒方式" label-width="110px">
76
-                    <el-input v-model="form.name"></el-input>
126
+                    <el-input v-model="form.disinfection_methods"></el-input>
77
                 </el-form-item>
127
                 </el-form-item>
78
                 <el-form-item label="消毒液" label-width="110px">
128
                 <el-form-item label="消毒液" label-width="110px">
79
-                    <el-input v-model="form.name"></el-input>
129
+                    <el-input v-model="form.disinfection_fluid"></el-input>
80
                 </el-form-item>
130
                 </el-form-item>
81
-                <el-form-item label="顺序号" label-width="110px">
82
-                    <el-input v-model="form.name"></el-input>
131
+                <el-form-item label="顺序号" label-width="110px" required prop="sort">
132
+                    <el-input v-model="form.sort"></el-input>
83
                 </el-form-item>
133
                 </el-form-item>
84
-                <el-form-item label="创建人" label-width="110px">
85
-                    <el-select v-model="value" placeholder="请选择">
134
+                <el-form-item label="创建人" label-width="110px" required prop="creator">
135
+                    <el-select v-model="form.creator" placeholder="请选择">
86
                         <el-option
136
                         <el-option
87
-                        v-for="item in options"
88
-                        :key="item.value"
89
-                        :label="item.label"
90
-                        :value="item.value">
137
+                        v-for="(item,index) in docList"
138
+                        :key="index"
139
+                        :label="item.user_name"
140
+                        :value="item.admin_user_id">
91
                         </el-option>
141
                         </el-option>
92
                     </el-select>
142
                     </el-select>
93
                 </el-form-item>
143
                 </el-form-item>
94
-                <el-form-item label="检测时间" label-width="110px">
95
-                    <el-date-picker
96
-                    v-model="value1"
97
-                    type="datetime"
144
+                <el-form-item label="检测时间" label-width="110px" required prop="detection_time">
145
+                   <el-date-picker
146
+                    value-format="yyyy-MM-dd"
147
+                    v-model="form.detection_time"
148
+                    type="date"
98
                     placeholder="选择日期时间">
149
                     placeholder="选择日期时间">
99
                     </el-date-picker>
150
                     </el-date-picker>
100
                 </el-form-item>
151
                 </el-form-item>
101
                 <el-form-item label="检测结果" label-width="110px">
152
                 <el-form-item label="检测结果" label-width="110px">
102
-                    <el-input v-model="form.name"></el-input>
153
+                    <el-input v-model="form.detection_result"></el-input>
103
                 </el-form-item>
154
                 </el-form-item>
104
                 <el-form-item label="上传时间" label-width="110px">
155
                 <el-form-item label="上传时间" label-width="110px">
105
                     <el-date-picker
156
                     <el-date-picker
106
-                    v-model="value1"
107
-                    type="datetime"
157
+                    value-format="yyyy-MM-dd"
158
+                    v-model="form.upload_time"
159
+                    type="date"
108
                     placeholder="选择日期时间">
160
                     placeholder="选择日期时间">
109
                     </el-date-picker>
161
                     </el-date-picker>
110
                 </el-form-item>
162
                 </el-form-item>
111
-                <el-form-item label="检测合格" label-width="110px">
163
+                <el-form-item label="检测合格" label-width="110px" required prop="check_out">
112
                     <div>
164
                     <div>
113
-                        <el-radio v-model="radio" label="1">备选项</el-radio>
114
-                        <el-radio v-model="radio" label="2">备选项</el-radio>
165
+                        <el-radio v-model="form.check_out" label="1">是</el-radio>
166
+                        <el-radio v-model="form.check_out" label="2">否</el-radio>
115
                     </div>
167
                     </div>
116
                 </el-form-item>
168
                 </el-form-item>
117
-                <el-form-item label="修改标志" label-width="110px">
118
-                    <el-select v-model="value" placeholder="请选择">
169
+                <el-form-item label="修改标志" label-width="110px" required prop="modifications">
170
+                    <el-select v-model="form.modifications" placeholder="请选择">
119
                         <el-option
171
                         <el-option
120
-                        v-for="item in options"
121
-                        :key="item.value"
122
-                        :label="item.label"
123
-                        :value="item.value">
172
+                        v-for="(item,index) in options"
173
+                        :key="index"
174
+                        :label="item.name"
175
+                        :value="item.id">
124
                         </el-option>
176
                         </el-option>
125
                     </el-select>
177
                     </el-select>
126
                 </el-form-item> 
178
                 </el-form-item> 
127
             </el-form>
179
             </el-form>
128
             <div slot="footer" class="dialog-footer">
180
             <div slot="footer" class="dialog-footer">
129
                 <el-button @click="dialogFormVisible = false">取 消</el-button>
181
                 <el-button @click="dialogFormVisible = false">取 消</el-button>
130
-                <el-button type="primary" @click="dialogFormVisible = false">确 定</el-button>
182
+                <el-button type="primary" @click="saveAirDisinfect('form')">保 存</el-button>
131
             </div>
183
             </div>
132
         </el-dialog>
184
         </el-dialog>
133
 
185
 
134
-
135
-        <el-dialog
186
+       
187
+      <el-dialog
136
         class="centerDialog"
188
         class="centerDialog"
137
         width="1000px"
189
         width="1000px"
138
         title="编辑空气消毒表"
190
         title="编辑空气消毒表"
139
         :visible.sync="editDialogFormVisible">
191
         :visible.sync="editDialogFormVisible">
140
-            <el-form :model="form" class="airForm">
141
-                <el-form-item label="时间" label-width="110px">
192
+            <el-form :model="form" ref="form" class="airForm" :rules="airRules">
193
+                <el-form-item label="时间" label-width="110px" required prop="start_time">
142
                     <el-date-picker
194
                     <el-date-picker
143
-                    v-model="value1"
144
-                    type="datetime"
195
+                     value-format="yyyy-MM-dd"
196
+                    v-model="form.start_time"
197
+                    type="date"
145
                     placeholder="选择日期时间">
198
                     placeholder="选择日期时间">
146
                     </el-date-picker>
199
                     </el-date-picker>
147
                 </el-form-item>
200
                 </el-form-item>
148
-                <el-form-item label="班次" label-width="110px">
149
-                    <el-select v-model="form.region" placeholder="请选择活动区域">
150
-                        <el-option label="区域一" value="shanghai"></el-option>
151
-                        <el-option label="区域二" value="beijing"></el-option>
201
+                <el-form-item label="班次" label-width="110px" required prop="class">
202
+                    <el-select v-model="form.class" placeholder="请选择活动区域">
203
+                        <el-option label="上午" value="1"></el-option>
204
+                        <el-option label="下午" value="2"></el-option>
205
+                        <el-option label="晚上" value="3"></el-option>
152
                     </el-select>
206
                     </el-select>
153
                 </el-form-item>
207
                 </el-form-item>
154
-                <el-form-item label="创建日期" label-width="110px">
155
-                    <el-date-picker
156
-                    v-model="value1"
157
-                    type="datetime"
208
+                <el-form-item label="创建日期" label-width="110px" required prop="created_time">
209
+                  <el-date-picker
210
+                    value-format="yyyy-MM-dd"
211
+                    v-model="form.created_time"
212
+                    type="date"
158
                     placeholder="选择日期时间">
213
                     placeholder="选择日期时间">
159
                     </el-date-picker>
214
                     </el-date-picker>
160
                 </el-form-item>
215
                 </el-form-item>
161
                 <el-form-item label="消毒方式" label-width="110px">
216
                 <el-form-item label="消毒方式" label-width="110px">
162
-                    <el-input v-model="form.name"></el-input>
217
+                    <el-input v-model="form.disinfection_methods"></el-input>
163
                 </el-form-item>
218
                 </el-form-item>
164
                 <el-form-item label="消毒液" label-width="110px">
219
                 <el-form-item label="消毒液" label-width="110px">
165
-                    <el-input v-model="form.name"></el-input>
220
+                    <el-input v-model="form.disinfection_fluid"></el-input>
166
                 </el-form-item>
221
                 </el-form-item>
167
-                <el-form-item label="顺序号" label-width="110px">
168
-                    <el-input v-model="form.name"></el-input>
222
+                <el-form-item label="顺序号" label-width="110px" required prop="sort">
223
+                    <el-input v-model="form.sort"></el-input>
169
                 </el-form-item>
224
                 </el-form-item>
170
-                <el-form-item label="创建人" label-width="110px">
171
-                    <el-select v-model="value" placeholder="请选择">
225
+                <el-form-item label="创建人" label-width="110px" required prop="creator">
226
+                    <el-select v-model="form.creator" placeholder="请选择">
172
                         <el-option
227
                         <el-option
173
-                        v-for="item in options"
174
-                        :key="item.value"
175
-                        :label="item.label"
176
-                        :value="item.value">
228
+                        v-for="(item,index) in docList"
229
+                        :key="index"
230
+                        :label="item.user_name"
231
+                        :value="item.admin_user_id">
177
                         </el-option>
232
                         </el-option>
178
                     </el-select>
233
                     </el-select>
179
                 </el-form-item>
234
                 </el-form-item>
180
-                <el-form-item label="检测时间" label-width="110px">
181
-                    <el-date-picker
182
-                    v-model="value1"
183
-                    type="datetime"
235
+                <el-form-item label="检测时间" label-width="110px" required prop="detection_time">
236
+                   <el-date-picker
237
+                    value-format="yyyy-MM-dd"
238
+                    v-model="form.detection_time"
239
+                    type="date"
184
                     placeholder="选择日期时间">
240
                     placeholder="选择日期时间">
185
                     </el-date-picker>
241
                     </el-date-picker>
186
                 </el-form-item>
242
                 </el-form-item>
187
                 <el-form-item label="检测结果" label-width="110px">
243
                 <el-form-item label="检测结果" label-width="110px">
188
-                    <el-input v-model="form.name"></el-input>
244
+                    <el-input v-model="form.detection_result"></el-input>
189
                 </el-form-item>
245
                 </el-form-item>
190
                 <el-form-item label="上传时间" label-width="110px">
246
                 <el-form-item label="上传时间" label-width="110px">
191
                     <el-date-picker
247
                     <el-date-picker
192
-                    v-model="value1"
193
-                    type="datetime"
248
+                    value-format="yyyy-MM-dd"
249
+                    v-model="form.upload_time"
250
+                    type="date"
194
                     placeholder="选择日期时间">
251
                     placeholder="选择日期时间">
195
                     </el-date-picker>
252
                     </el-date-picker>
196
                 </el-form-item>
253
                 </el-form-item>
197
-                <el-form-item label="检测合格" label-width="110px">
254
+                <el-form-item label="检测合格" label-width="110px" required prop="check_out">
198
                     <div>
255
                     <div>
199
-                        <el-radio v-model="radio" label="1">备选项</el-radio>
200
-                        <el-radio v-model="radio" label="2">备选项</el-radio>
256
+                        <el-radio v-model="form.check_out" label="1">是</el-radio>
257
+                        <el-radio v-model="form.check_out" label="2">否</el-radio>
201
                     </div>
258
                     </div>
202
                 </el-form-item>
259
                 </el-form-item>
203
-                <el-form-item label="修改标志" label-width="110px">
204
-                    <el-select v-model="value" placeholder="请选择">
260
+                <el-form-item label="修改标志" label-width="110px" required prop="modifications">
261
+                    <el-select v-model="form.modifications" placeholder="请选择">
205
                         <el-option
262
                         <el-option
206
-                        v-for="item in options"
207
-                        :key="item.value"
208
-                        :label="item.label"
209
-                        :value="item.value">
263
+                        v-for="(item,index) in options"
264
+                        :key="index"
265
+                        :label="item.name"
266
+                        :value="item.id">
210
                         </el-option>
267
                         </el-option>
211
                     </el-select>
268
                     </el-select>
212
                 </el-form-item> 
269
                 </el-form-item> 
213
             </el-form>
270
             </el-form>
214
             <div slot="footer" class="dialog-footer">
271
             <div slot="footer" class="dialog-footer">
215
-                <el-button @click="editDialogFormVisible = false">取 消</el-button>
216
-                <el-button type="primary" @click="editDialogFormVisible = false">确 定</el-button>
272
+                <el-button @click="dialogFormVisible = false">取 消</el-button>
273
+                <el-button type="primary" @click="updateAirDisinfect('form')">保 存</el-button>
217
             </div>
274
             </div>
218
         </el-dialog>
275
         </el-dialog>
276
+       
219
     </div>
277
     </div>
220
   </div>
278
   </div>
221
 
279
 
223
 
281
 
224
 <script>
282
 <script>
225
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
283
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
226
-
284
+  import { getAllDoctorList,saveAirDisinfect,getAirList,getAirDisinfectDetail,updateAirDisinfect,deleteAirDisinfect } from "@/api/device"
285
+  import { uParseTime } from '@/utils/tools'
227
   export default {
286
   export default {
228
     name: 'airDisinfect',
287
     name: 'airDisinfect',
229
     components: {
288
     components: {
237
         ],
296
         ],
238
         dialogFormVisible:false,
297
         dialogFormVisible:false,
239
         editDialogFormVisible:false,
298
         editDialogFormVisible:false,
240
-        tableData: [{
241
-            date: '2016-05-02',
242
-            name: '王小虎',
243
-            address: '上海市普陀区金沙江路 1518 弄'
244
-            }, {
245
-            date: '2016-05-04',
246
-            name: '王小虎',
247
-            address: '上海市普陀区金沙江路 1517 弄'
248
-            }, {
249
-            date: '2016-05-01',
250
-            name: '王小虎',
251
-            address: '上海市普陀区金沙江路 1519 弄'
252
-            }, {
253
-            date: '2016-05-03',
254
-            name: '王小虎',
255
-            address: '上海市普陀区金沙江路 1516 弄'
256
-        }],
257
-        form: {},
258
-        value1:''
299
+        tableData: [],
300
+        form: {
301
+          id:0,
302
+          start_time:"", 
303
+          created_time:"",
304
+          class:"",
305
+          disinfection_methods:"",
306
+          disinfection_fluid:"",
307
+          sort:"",
308
+          creator:"",
309
+          detection_time:"",
310
+          detection_result:"",
311
+          upload_time:"",
312
+          check_out:"1",
313
+          modifications:"",  
314
+        },
315
+        value1:'',
316
+        docList:[],
317
+        options:[
318
+          {id:1,name:"正常"},
319
+          {id:2,name:"撤销"}  
320
+        ],
321
+       airRules: {
322
+        start_time: [{ required: true, message: "请选择时间", trigger: "blur" }],
323
+        class:[{required:true,message:"请选择班次",trigger:"blur"}],
324
+        created_time:[{required:true,message:"请选择创建时间",trigger:"blur"}],
325
+        sort:[{required:true,message:"请填写顺序号",trigger:"blur"}],
326
+        detection_time:[{required:true,message:"请选择检测时间",trigger:"blur"}],
327
+        check_out:[{required:true,message:"请选择检验合格",trigger:"blur"}],
328
+        modifications:[{required:true,message:"请选择修改标志",trigger:"blur"}],
329
+        creator:[{required:true,message:"请选择创建人",trigger:"blur"}]
330
+       },
331
+       limit:20,
332
+       page:1,
333
+       total:0,
334
+
259
       }
335
       }
260
     },
336
     },
261
     created(){
337
     created(){
262
-
338
+      this.getlist()
339
+      this.getAirList()
263
     },
340
     },
264
     methods: {
341
     methods: {
265
-        handleEdit(){
266
-            this.editDialogFormVisible = true
342
+      
343
+        getlist(){
344
+          getAllDoctorList().then(response=>{
345
+            if(response.data.state == 1){
346
+               var list = response.data.data.list
347
+               console.log("list222222",list)
348
+               this.docList = list
349
+            }
350
+          })  
351
+        },
352
+        saveAirDisinfect(formName){
353
+           this.$refs[formName].validate(valid=>{
354
+             if(valid){
355
+                 var params = {
356
+                   start_time:this.form.start_time,
357
+                   class:parseInt(this.form.class),
358
+                   created_time:this.form.created_time,
359
+                   disinfection_methods:this.form.disinfection_methods,
360
+                   disinfection_fluid:this.form.disinfection_fluid,
361
+                   sort:this.form.sort,
362
+                   creator:this.form.creator,
363
+                   detection_time:this.form.detection_time,
364
+                   detection_result:this.form.detection_result,
365
+                   upload_time:this.form.upload_time,
366
+                   check_out:parseInt(this.form.check_out),
367
+                   modifications:parseInt(this.form.modifications),
368
+                 }
369
+                 console.log("params",params)
370
+               saveAirDisinfect(params).then(response=>{
371
+                  if(response.data.state == 1){
372
+                     var list = response.data.data.list
373
+                     console.log("list",list)
374
+                     this.$message.success("保存成功!")
375
+                     this.dialogFormVisible = false
376
+                     this.getAirList()
377
+                     this.form.class = ""
378
+                     this.form.start_time = ""
379
+                     this.form.created_ime = ""
380
+                     this.form.disinfection_fluid = ""
381
+                     this.form.disinfection_methods = ""
382
+                     this.form.sort = ""
383
+                     this.form.creator = ""
384
+                     this.form.detection_time = ""
385
+                     this.form.detection_result = ""
386
+                     this.form.upload_time = ""
387
+                  }
388
+               })
389
+             }
390
+           })  
391
+        },
392
+
393
+        getAirList(){
394
+            var params = {
395
+               limit:this.limit,
396
+               page:this.page,
397
+            }
398
+          getAirList(params).then(response=>{
399
+             if(response.data.state == 1){
400
+               var list = response.data.data.list
401
+               var total = response.data.data.total
402
+               this.tableData = list
403
+               this.total = total
404
+               console.log("list222",list)
405
+               console.log("total",total)
406
+             }
407
+          })
408
+        },
409
+      getTime(val) {
410
+         if(val == ""){
411
+          return ""
412
+         }else {
413
+          return uParseTime(val, '{y}-{m}-{d}')
414
+         }
415
+      },
416
+      getName(id){
417
+        var name = ""
418
+        for(let i=0;i<this.docList.length;i++){
419
+           if(id == this.docList[i].admin_user_id){
420
+               name = this.docList[i].user_name
421
+           }
267
         }
422
         }
423
+        return name
424
+      },
425
+     handleCurrentChange(val) {
426
+       this.page = val
427
+       this.getAirList()
428
+     },
429
+     handleSizeChange(val){
430
+        this.limit =val
431
+        this.getAirList()
432
+     },
433
+     
434
+     handleEdit(id){
435
+       this.editDialogFormVisible = true
436
+        getAirDisinfectDetail(id).then(response=>{
437
+            if(response.data.state ==1){
438
+               var detail =  response.data.data.detail
439
+               console.log("detail",detail)
440
+               this.form.id = detail.id
441
+               this.form.start_time = this.getTime(detail.start_time)
442
+               this.form.class = detail.class.toString()
443
+               this.form.created_ime = this.getTime(detail.created_time)
444
+               this.form.disinfection_methods = detail.disinfection_methods
445
+               this.form.disinfection_fluid = detail.disinfection_fluid
446
+               this.form.sort = detail.sort
447
+               this.form.creator = detail.creator
448
+               this.form.detection_time = this.getTime(detail.detection_time)
449
+               this.form.detection_result = detail.detection_result
450
+               this.form.upload_time = this.getTime(detail.upload_time)
451
+               this.form.check_out = detail.check_out.toString()
452
+               this.form.modifications = detail.modifications
453
+
454
+            }
455
+        })
456
+      },
457
+
458
+      updateAirDisinfect(formName){
459
+          
460
+        this.$refs[formName].validate(valid=>{
461
+          if(valid){
462
+                var params = {
463
+                   id:this.form.id,
464
+                   start_time:this.form.start_time,
465
+                   class:parseInt(this.form.class),
466
+                   created_time:this.form.created_time,
467
+                   disinfection_methods:this.form.disinfection_methods,
468
+                   disinfection_fluid:this.form.disinfection_fluid,
469
+                   sort:this.form.sort,
470
+                   creator:this.form.creator,
471
+                   detection_time:this.form.detection_time,
472
+                   detection_result:this.form.detection_result,
473
+                   upload_time:this.form.upload_time,
474
+                   check_out:parseInt(this.form.check_out),
475
+                   modifications:parseInt(this.form.modifications),
476
+                 }
477
+               console.log("params",params)
478
+              updateAirDisinfect(params).then(response=>{
479
+                  if(response.data.state ==1){
480
+                    var detection = response.data.data.detection
481
+                    this.editDialogFormVisible = false
482
+                    this.$message.success("修改成功!")
483
+                    this.getAirList()
484
+                  }
485
+              })
486
+            }
487
+        })
488
+      },
489
+
490
+       handleDelete(id,index) {
491
+        this.$confirm('确认删除这条记录?', '删除记录', {
492
+          confirmButtonText: '确定',
493
+          cancelButtonText: '取消',
494
+          type: 'warning'
495
+        })
496
+          .then(() => {
497
+            deleteAirDisinfect(id).then(response => {
498
+              if (response.data.state == 0) {
499
+                this.$message.error(response.data.msg)
500
+                return false
501
+              } else {
502
+                this.tableData.splice(index, 1)
503
+                this.$message.success('厂家已经删除')
504
+              }
505
+            })
506
+          })
507
+          .catch(() => {
508
+          })
509
+      },
268
     }
510
     }
269
   }
511
   }
270
 </script>
512
 </script>

+ 364 - 122
src/xt_pages/device/objectTableDisinfect.vue View File

6
     <div class="app-container">
6
     <div class="app-container">
7
         <div style="float:right;margin-bottom:10px;">
7
         <div style="float:right;margin-bottom:10px;">
8
             <el-button type="primary" @click="dialogFormVisible = true">新增</el-button>
8
             <el-button type="primary" @click="dialogFormVisible = true">新增</el-button>
9
-            <el-button type="danger">删除</el-button>
9
+            <!-- <el-button type="danger">删除</el-button> -->
10
         </div>
10
         </div>
11
-        <el-table :data="tableData" border style="width: 100%" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}">
11
+        <el-table :data="tableData" border style="width: 100%" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" >
12
             <el-table-column type="selection" width="55" align="center"></el-table-column>
12
             <el-table-column type="selection" width="55" align="center"></el-table-column>
13
-            <el-table-column label="时间" width="120"></el-table-column>
14
-            <el-table-column label="班次" width="120"></el-table-column>
15
-            <el-table-column label="创建日期" width="120"></el-table-column>
16
-            <el-table-column label="消毒方式" width="120"></el-table-column>
17
-            <el-table-column label="消毒液" width="120"></el-table-column>
18
-            <el-table-column label="顺序号" width="80"></el-table-column>
19
-            <el-table-column label="创建人" width="80"></el-table-column>
20
-            <el-table-column label="检查结果" width="180"></el-table-column>
21
-            <el-table-column label="检查时间" width="120"></el-table-column>
22
-            <el-table-column label="数据上传时间" width="120"></el-table-column>
23
-            <el-table-column label="修改标志" width="90"></el-table-column>
13
+            <el-table-column label="时间" width="120">
14
+               <template slot-scope="scope">
15
+                   {{getTime(scope.row.start_time)}}
16
+               </template>
17
+            </el-table-column>
18
+            <el-table-column label="班次" width="120">
19
+                <template slot-scope="scope">
20
+                   <span v-if="scope.row.class == 1">上午</span>
21
+                   <span v-if="scope.row.class == 2">中午</span>
22
+                   <span v-if="scope.row.class == 3">下午</span>
23
+                </template>
24
+            </el-table-column>
25
+            <el-table-column label="创建日期" width="120">
26
+                <template slot-scope="scope">
27
+                  {{getTime(scope.row.created_ime)}}
28
+                </template>
29
+            </el-table-column>
30
+            <el-table-column label="消毒方式" width="120">
31
+                <template slot-scope="scope">
32
+                  {{scope.row.disinfection_methods}}
33
+                </template>
34
+            </el-table-column>
35
+            <el-table-column label="消毒液" width="120">
36
+                <template slot-scope="scope">
37
+                   {{scope.row.disinfection_fluid}}
38
+                </template>
39
+            </el-table-column>
40
+            <el-table-column label="顺序号" width="80">
41
+               <template slot-scope="scope">
42
+                  {{scope.row.sort}}
43
+                </template>
44
+            </el-table-column>
45
+            <el-table-column label="创建人" width="80">
46
+               <template slot-scope="scope">
47
+                  {{getName(scope.row.creator)}}
48
+                </template>
49
+            </el-table-column>
50
+            <el-table-column label="检查结果" width="180">
51
+                <template slot-scope="scope">
52
+                   {{scope.row.detection_result}}
53
+                </template>
54
+            </el-table-column>
55
+            <el-table-column label="检查时间" width="120">
56
+                <template slot-scope="scope">
57
+                   {{getTime(scope.row.detection_time)}}
58
+                </template>
59
+            </el-table-column>
60
+            <el-table-column label="数据上传时间" width="120">
61
+                <template slot-scope="scope">
62
+                   {{getTime(scope.row.upload_time)}}
63
+                </template>
64
+            </el-table-column>
65
+            <el-table-column label="修改标志" width="90">
66
+               <template slot-scope="scope">
67
+                   <span v-if="scope.row.modifications == 1">正常</span>
68
+                   <span v-if="scope.row.modifications == 2">撤消</span>
69
+                </template>
70
+            </el-table-column>
24
             <el-table-column label="操作" align="center">
71
             <el-table-column label="操作" align="center">
25
                 <template slot-scope="scope">
72
                 <template slot-scope="scope">
26
                     <el-button
73
                     <el-button
27
                     size="mini"
74
                     size="mini"
28
                     type="primary"
75
                     type="primary"
29
-                    @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
76
+                    @click="handleEdit(scope.row.id,scope.$index)">编辑</el-button>
30
                     <el-button
77
                     <el-button
31
                     size="mini"
78
                     size="mini"
32
                     type="danger"
79
                     type="danger"
33
-                    @click="handleDelete(scope.$index, scope.row)">删除</el-button>
80
+                    @click="handleDelete(scope.row.id,scope.$index)">删除</el-button>
34
                 </template>
81
                 </template>
35
             </el-table-column>
82
             </el-table-column>
36
         </el-table>
83
         </el-table>
49
         <el-dialog
96
         <el-dialog
50
         class="centerDialog"
97
         class="centerDialog"
51
         width="1000px"
98
         width="1000px"
52
-        title="新增空气消毒表"
99
+        title="新增物表消毒表"
53
         :visible.sync="dialogFormVisible">
100
         :visible.sync="dialogFormVisible">
54
-            <el-form :model="form" class="airForm">
55
-                <el-form-item label="时间" label-width="110px">
101
+            <el-form :model="form" ref="form" class="airForm" :rules="airRules">
102
+                <el-form-item label="时间" label-width="110px" required prop="start_time">
56
                     <el-date-picker
103
                     <el-date-picker
57
-                    v-model="value1"
58
-                    type="datetime"
104
+                     value-format="yyyy-MM-dd"
105
+                    v-model="form.start_time"
106
+                    type="date"
59
                     placeholder="选择日期时间">
107
                     placeholder="选择日期时间">
60
                     </el-date-picker>
108
                     </el-date-picker>
61
                 </el-form-item>
109
                 </el-form-item>
62
-                <el-form-item label="班次" label-width="110px">
63
-                    <el-select v-model="form.region" placeholder="请选择活动区域">
64
-                        <el-option label="区域一" value="shanghai"></el-option>
65
-                        <el-option label="区域二" value="beijing"></el-option>
110
+                <el-form-item label="班次" label-width="110px" required prop="class">
111
+                    <el-select v-model="form.class" placeholder="请选择活动区域">
112
+                        <el-option label="上午" value="1"></el-option>
113
+                        <el-option label="下午" value="2"></el-option>
114
+                        <el-option label="晚上" value="3"></el-option>
66
                     </el-select>
115
                     </el-select>
67
                 </el-form-item>
116
                 </el-form-item>
68
-                <el-form-item label="创建日期" label-width="110px">
69
-                    <el-date-picker
70
-                    v-model="value1"
71
-                    type="datetime"
117
+                <el-form-item label="创建日期" label-width="110px" required prop="created_time">
118
+                  <el-date-picker
119
+                    value-format="yyyy-MM-dd"
120
+                    v-model="form.created_time"
121
+                    type="date"
72
                     placeholder="选择日期时间">
122
                     placeholder="选择日期时间">
73
                     </el-date-picker>
123
                     </el-date-picker>
74
                 </el-form-item>
124
                 </el-form-item>
75
                 <el-form-item label="消毒方式" label-width="110px">
125
                 <el-form-item label="消毒方式" label-width="110px">
76
-                    <el-input v-model="form.name"></el-input>
126
+                    <el-input v-model="form.disinfection_methods"></el-input>
77
                 </el-form-item>
127
                 </el-form-item>
78
                 <el-form-item label="消毒液" label-width="110px">
128
                 <el-form-item label="消毒液" label-width="110px">
79
-                    <el-input v-model="form.name"></el-input>
129
+                    <el-input v-model="form.disinfection_fluid"></el-input>
80
                 </el-form-item>
130
                 </el-form-item>
81
-                <el-form-item label="顺序号" label-width="110px">
82
-                    <el-input v-model="form.name"></el-input>
131
+                <el-form-item label="顺序号" label-width="110px" required prop="sort">
132
+                    <el-input v-model="form.sort"></el-input>
83
                 </el-form-item>
133
                 </el-form-item>
84
-                <el-form-item label="创建人" label-width="110px">
85
-                    <el-select v-model="value" placeholder="请选择">
134
+                <el-form-item label="创建人" label-width="110px" required prop="creator">
135
+                    <el-select v-model="form.creator" placeholder="请选择">
86
                         <el-option
136
                         <el-option
87
-                        v-for="item in options"
88
-                        :key="item.value"
89
-                        :label="item.label"
90
-                        :value="item.value">
137
+                        v-for="(item,index) in docList"
138
+                        :key="index"
139
+                        :label="item.user_name"
140
+                        :value="item.admin_user_id">
91
                         </el-option>
141
                         </el-option>
92
                     </el-select>
142
                     </el-select>
93
                 </el-form-item>
143
                 </el-form-item>
94
-                <el-form-item label="检测时间" label-width="110px">
95
-                    <el-date-picker
96
-                    v-model="value1"
97
-                    type="datetime"
144
+                <el-form-item label="检测时间" label-width="110px" required prop="detection_time">
145
+                   <el-date-picker
146
+                    value-format="yyyy-MM-dd"
147
+                    v-model="form.detection_time"
148
+                    type="date"
98
                     placeholder="选择日期时间">
149
                     placeholder="选择日期时间">
99
                     </el-date-picker>
150
                     </el-date-picker>
100
                 </el-form-item>
151
                 </el-form-item>
101
                 <el-form-item label="检测结果" label-width="110px">
152
                 <el-form-item label="检测结果" label-width="110px">
102
-                    <el-input v-model="form.name"></el-input>
153
+                    <el-input v-model="form.detection_result"></el-input>
103
                 </el-form-item>
154
                 </el-form-item>
104
                 <el-form-item label="上传时间" label-width="110px">
155
                 <el-form-item label="上传时间" label-width="110px">
105
                     <el-date-picker
156
                     <el-date-picker
106
-                    v-model="value1"
107
-                    type="datetime"
157
+                    value-format="yyyy-MM-dd"
158
+                    v-model="form.upload_time"
159
+                    type="date"
108
                     placeholder="选择日期时间">
160
                     placeholder="选择日期时间">
109
                     </el-date-picker>
161
                     </el-date-picker>
110
                 </el-form-item>
162
                 </el-form-item>
111
-                <el-form-item label="检测合格" label-width="110px">
163
+                <el-form-item label="检测合格" label-width="110px" required prop="check_out">
112
                     <div>
164
                     <div>
113
-                        <el-radio v-model="radio" label="1">备选项</el-radio>
114
-                        <el-radio v-model="radio" label="2">备选项</el-radio>
165
+                        <el-radio v-model="form.check_out" label="1">是</el-radio>
166
+                        <el-radio v-model="form.check_out" label="2">否</el-radio>
115
                     </div>
167
                     </div>
116
                 </el-form-item>
168
                 </el-form-item>
117
-                <el-form-item label="修改标志" label-width="110px">
118
-                    <el-select v-model="value" placeholder="请选择">
169
+                <el-form-item label="修改标志" label-width="110px" required prop="modifications">
170
+                    <el-select v-model="form.modifications" placeholder="请选择">
119
                         <el-option
171
                         <el-option
120
-                        v-for="item in options"
121
-                        :key="item.value"
122
-                        :label="item.label"
123
-                        :value="item.value">
172
+                        v-for="(item,index) in options"
173
+                        :key="index"
174
+                        :label="item.name"
175
+                        :value="item.id">
124
                         </el-option>
176
                         </el-option>
125
                     </el-select>
177
                     </el-select>
126
                 </el-form-item> 
178
                 </el-form-item> 
127
             </el-form>
179
             </el-form>
128
             <div slot="footer" class="dialog-footer">
180
             <div slot="footer" class="dialog-footer">
129
                 <el-button @click="dialogFormVisible = false">取 消</el-button>
181
                 <el-button @click="dialogFormVisible = false">取 消</el-button>
130
-                <el-button type="primary" @click="dialogFormVisible = false">确 定</el-button>
182
+                <el-button type="primary" @click="saveBodyDisinfect('form')">保 存</el-button>
131
             </div>
183
             </div>
132
         </el-dialog>
184
         </el-dialog>
133
 
185
 
134
-
135
-        <el-dialog
186
+       
187
+      <el-dialog
136
         class="centerDialog"
188
         class="centerDialog"
137
         width="1000px"
189
         width="1000px"
138
-        title="编辑空气消毒表"
190
+        title="编辑物表消毒表"
139
         :visible.sync="editDialogFormVisible">
191
         :visible.sync="editDialogFormVisible">
140
-            <el-form :model="form" class="airForm">
141
-                <el-form-item label="时间" label-width="110px">
192
+            <el-form :model="form" ref="form" class="airForm" :rules="airRules">
193
+                <el-form-item label="时间" label-width="110px" required prop="start_time">
142
                     <el-date-picker
194
                     <el-date-picker
143
-                    v-model="value1"
144
-                    type="datetime"
195
+                     value-format="yyyy-MM-dd"
196
+                    v-model="form.start_time"
197
+                    type="date"
145
                     placeholder="选择日期时间">
198
                     placeholder="选择日期时间">
146
                     </el-date-picker>
199
                     </el-date-picker>
147
                 </el-form-item>
200
                 </el-form-item>
148
-                <el-form-item label="班次" label-width="110px">
149
-                    <el-select v-model="form.region" placeholder="请选择活动区域">
150
-                        <el-option label="区域一" value="shanghai"></el-option>
151
-                        <el-option label="区域二" value="beijing"></el-option>
201
+                <el-form-item label="班次" label-width="110px" required prop="class">
202
+                    <el-select v-model="form.class" placeholder="请选择活动区域">
203
+                        <el-option label="上午" value="1"></el-option>
204
+                        <el-option label="下午" value="2"></el-option>
205
+                        <el-option label="晚上" value="3"></el-option>
152
                     </el-select>
206
                     </el-select>
153
                 </el-form-item>
207
                 </el-form-item>
154
-                <el-form-item label="创建日期" label-width="110px">
155
-                    <el-date-picker
156
-                    v-model="value1"
157
-                    type="datetime"
208
+                <el-form-item label="创建日期" label-width="110px" required prop="created_time">
209
+                  <el-date-picker
210
+                    value-format="yyyy-MM-dd"
211
+                    v-model="form.created_time"
212
+                    type="date"
158
                     placeholder="选择日期时间">
213
                     placeholder="选择日期时间">
159
                     </el-date-picker>
214
                     </el-date-picker>
160
                 </el-form-item>
215
                 </el-form-item>
161
                 <el-form-item label="消毒方式" label-width="110px">
216
                 <el-form-item label="消毒方式" label-width="110px">
162
-                    <el-input v-model="form.name"></el-input>
217
+                    <el-input v-model="form.disinfection_methods"></el-input>
163
                 </el-form-item>
218
                 </el-form-item>
164
                 <el-form-item label="消毒液" label-width="110px">
219
                 <el-form-item label="消毒液" label-width="110px">
165
-                    <el-input v-model="form.name"></el-input>
220
+                    <el-input v-model="form.disinfection_fluid"></el-input>
166
                 </el-form-item>
221
                 </el-form-item>
167
-                <el-form-item label="顺序号" label-width="110px">
168
-                    <el-input v-model="form.name"></el-input>
222
+                <el-form-item label="顺序号" label-width="110px" required prop="sort">
223
+                    <el-input v-model="form.sort"></el-input>
169
                 </el-form-item>
224
                 </el-form-item>
170
-                <el-form-item label="创建人" label-width="110px">
171
-                    <el-select v-model="value" placeholder="请选择">
225
+                <el-form-item label="创建人" label-width="110px" required prop="creator">
226
+                    <el-select v-model="form.creator" placeholder="请选择">
172
                         <el-option
227
                         <el-option
173
-                        v-for="item in options"
174
-                        :key="item.value"
175
-                        :label="item.label"
176
-                        :value="item.value">
228
+                        v-for="(item,index) in docList"
229
+                        :key="index"
230
+                        :label="item.user_name"
231
+                        :value="item.admin_user_id">
177
                         </el-option>
232
                         </el-option>
178
                     </el-select>
233
                     </el-select>
179
                 </el-form-item>
234
                 </el-form-item>
180
-                <el-form-item label="检测时间" label-width="110px">
181
-                    <el-date-picker
182
-                    v-model="value1"
183
-                    type="datetime"
235
+                <el-form-item label="检测时间" label-width="110px" required prop="detection_time">
236
+                   <el-date-picker
237
+                    value-format="yyyy-MM-dd"
238
+                    v-model="form.detection_time"
239
+                    type="date"
184
                     placeholder="选择日期时间">
240
                     placeholder="选择日期时间">
185
                     </el-date-picker>
241
                     </el-date-picker>
186
                 </el-form-item>
242
                 </el-form-item>
187
                 <el-form-item label="检测结果" label-width="110px">
243
                 <el-form-item label="检测结果" label-width="110px">
188
-                    <el-input v-model="form.name"></el-input>
244
+                    <el-input v-model="form.detection_result"></el-input>
189
                 </el-form-item>
245
                 </el-form-item>
190
                 <el-form-item label="上传时间" label-width="110px">
246
                 <el-form-item label="上传时间" label-width="110px">
191
                     <el-date-picker
247
                     <el-date-picker
192
-                    v-model="value1"
193
-                    type="datetime"
248
+                    value-format="yyyy-MM-dd"
249
+                    v-model="form.upload_time"
250
+                    type="date"
194
                     placeholder="选择日期时间">
251
                     placeholder="选择日期时间">
195
                     </el-date-picker>
252
                     </el-date-picker>
196
                 </el-form-item>
253
                 </el-form-item>
197
-                <el-form-item label="检测合格" label-width="110px">
254
+                <el-form-item label="检测合格" label-width="110px" required prop="check_out">
198
                     <div>
255
                     <div>
199
-                        <el-radio v-model="radio" label="1">备选项</el-radio>
200
-                        <el-radio v-model="radio" label="2">备选项</el-radio>
256
+                        <el-radio v-model="form.check_out" label="1">是</el-radio>
257
+                        <el-radio v-model="form.check_out" label="2">否</el-radio>
201
                     </div>
258
                     </div>
202
                 </el-form-item>
259
                 </el-form-item>
203
-                <el-form-item label="修改标志" label-width="110px">
204
-                    <el-select v-model="value" placeholder="请选择">
260
+                <el-form-item label="修改标志" label-width="110px" required prop="modifications">
261
+                    <el-select v-model="form.modifications" placeholder="请选择">
205
                         <el-option
262
                         <el-option
206
-                        v-for="item in options"
207
-                        :key="item.value"
208
-                        :label="item.label"
209
-                        :value="item.value">
263
+                        v-for="(item,index) in options"
264
+                        :key="index"
265
+                        :label="item.name"
266
+                        :value="item.id">
210
                         </el-option>
267
                         </el-option>
211
                     </el-select>
268
                     </el-select>
212
                 </el-form-item> 
269
                 </el-form-item> 
213
             </el-form>
270
             </el-form>
214
             <div slot="footer" class="dialog-footer">
271
             <div slot="footer" class="dialog-footer">
215
-                <el-button @click="editDialogFormVisible = false">取 消</el-button>
216
-                <el-button type="primary" @click="editDialogFormVisible = false">确 定</el-button>
272
+                <el-button @click="dialogFormVisible = false">取 消</el-button>
273
+                <el-button type="primary" @click="updateBodyDisinfect('form')">保 存</el-button>
217
             </div>
274
             </div>
218
         </el-dialog>
275
         </el-dialog>
276
+       
219
     </div>
277
     </div>
220
   </div>
278
   </div>
221
 
279
 
223
 
281
 
224
 <script>
282
 <script>
225
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
283
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
226
-
284
+  import { getAllDoctorList,saveBodyDisinfect,getBodyList,getBodyDisinfectDetail,updateBodyDisinfect,deleteBodyDisinfect } from "@/api/device"
285
+  import { uParseTime } from '@/utils/tools'
227
   export default {
286
   export default {
228
     name: 'airDisinfect',
287
     name: 'airDisinfect',
229
     components: {
288
     components: {
233
       return {
292
       return {
234
         crumbs: [
293
         crumbs: [
235
           { path: false, name: '院感管理' },
294
           { path: false, name: '院感管理' },
236
-          { path: false, name: '透析室空气消毒记录表' }
295
+          { path: false, name: '透析室物表记录表' }
237
         ],
296
         ],
238
         dialogFormVisible:false,
297
         dialogFormVisible:false,
239
         editDialogFormVisible:false,
298
         editDialogFormVisible:false,
240
-        tableData: [{
241
-            date: '2016-05-02',
242
-            name: '王小虎',
243
-            address: '上海市普陀区金沙江路 1518 弄'
244
-            }, {
245
-            date: '2016-05-04',
246
-            name: '王小虎',
247
-            address: '上海市普陀区金沙江路 1517 弄'
248
-            }, {
249
-            date: '2016-05-01',
250
-            name: '王小虎',
251
-            address: '上海市普陀区金沙江路 1519 弄'
252
-            }, {
253
-            date: '2016-05-03',
254
-            name: '王小虎',
255
-            address: '上海市普陀区金沙江路 1516 弄'
256
-        }],
257
-        form: {},
258
-        value1:''
299
+        tableData: [],
300
+        form: {
301
+          id:0,
302
+          start_time:"", 
303
+          created_time:"",
304
+          class:"",
305
+          disinfection_methods:"",
306
+          disinfection_fluid:"",
307
+          sort:"",
308
+          creator:"",
309
+          detection_time:"",
310
+          detection_result:"",
311
+          upload_time:"",
312
+          check_out:"1",
313
+          modifications:"",  
314
+        },
315
+        value1:'',
316
+        docList:[],
317
+        options:[
318
+          {id:1,name:"正常"},
319
+          {id:2,name:"撤销"}  
320
+        ],
321
+       airRules: {
322
+        start_time: [{ required: true, message: "请选择时间", trigger: "blur" }],
323
+        class:[{required:true,message:"请选择班次",trigger:"blur"}],
324
+        created_time:[{required:true,message:"请选择创建时间",trigger:"blur"}],
325
+        sort:[{required:true,message:"请填写顺序号",trigger:"blur"}],
326
+        detection_time:[{required:true,message:"请选择检测时间",trigger:"blur"}],
327
+        check_out:[{required:true,message:"请选择检验合格",trigger:"blur"}],
328
+        modifications:[{required:true,message:"请选择修改标志",trigger:"blur"}],
329
+        creator:[{required:true,message:"请选择创建人",trigger:"blur"}]
330
+       },
331
+       limit:20,
332
+       page:1,
333
+       total:0,
334
+
259
       }
335
       }
260
     },
336
     },
261
     created(){
337
     created(){
262
-
338
+      this.getlist()
339
+      this.getBodyList()
263
     },
340
     },
264
     methods: {
341
     methods: {
265
-        handleEdit(){
266
-            this.editDialogFormVisible = true
342
+      
343
+        getlist(){
344
+          getAllDoctorList().then(response=>{
345
+            if(response.data.state == 1){
346
+               var list = response.data.data.list
347
+               console.log("list222222",list)
348
+               this.docList = list
349
+            }
350
+          })  
351
+        },
352
+        saveBodyDisinfect(formName){
353
+           this.$refs[formName].validate(valid=>{
354
+             if(valid){
355
+                 var params = {
356
+                   start_time:this.form.start_time,
357
+                   class:parseInt(this.form.class),
358
+                   created_time:this.form.created_time,
359
+                   disinfection_methods:this.form.disinfection_methods,
360
+                   disinfection_fluid:this.form.disinfection_fluid,
361
+                   sort:this.form.sort,
362
+                   creator:this.form.creator,
363
+                   detection_time:this.form.detection_time,
364
+                   detection_result:this.form.detection_result,
365
+                   upload_time:this.form.upload_time,
366
+                   check_out:parseInt(this.form.check_out),
367
+                   modifications:parseInt(this.form.modifications),
368
+                 }
369
+                 console.log("params",params)
370
+               saveBodyDisinfect(params).then(response=>{
371
+                  if(response.data.state == 1){
372
+                     var list = response.data.data.list
373
+                     console.log("list",list)
374
+                     this.$message.success("保存成功!")
375
+                     this.dialogFormVisible = false
376
+                     this.getBodyList()
377
+                     this.form.class = ""
378
+                     this.form.start_time = ""
379
+                     this.form.created_ime = ""
380
+                     this.form.disinfection_fluid = ""
381
+                     this.form.disinfection_methods = ""
382
+                     this.form.sort = ""
383
+                     this.form.creator = ""
384
+                     this.form.detection_time = ""
385
+                     this.form.detection_result = ""
386
+                     this.form.upload_time = ""
387
+                  }
388
+               })
389
+             }
390
+           })  
391
+        },
392
+
393
+        getBodyList(){
394
+            var params = {
395
+               limit:this.limit,
396
+               page:this.page,
397
+            }
398
+          getBodyList(params).then(response=>{
399
+             if(response.data.state == 1){
400
+               var list = response.data.data.list
401
+               var total = response.data.data.total
402
+               this.tableData = list
403
+               this.total = total
404
+               console.log("list222",list)
405
+               console.log("total",total)
406
+             }
407
+          })
408
+        },
409
+      getTime(val) {
410
+         if(val == ""){
411
+          return ""
412
+         }else {
413
+          return uParseTime(val, '{y}-{m}-{d}')
414
+         }
415
+      },
416
+      getName(id){
417
+        var name = ""
418
+        for(let i=0;i<this.docList.length;i++){
419
+           if(id == this.docList[i].admin_user_id){
420
+               name = this.docList[i].user_name
421
+           }
267
         }
422
         }
423
+        return name
424
+      },
425
+     handleCurrentChange(val) {
426
+       this.page = val
427
+       this.getBodyList()
428
+     },
429
+     handleSizeChange(val){
430
+        this.limit =val
431
+        this.getBodyList()
432
+     },
433
+     
434
+     handleEdit(id){
435
+       this.editDialogFormVisible = true
436
+        getBodyDisinfectDetail(id).then(response=>{
437
+            if(response.data.state ==1){
438
+               var detail =  response.data.data.detail
439
+               console.log("detail",detail)
440
+               this.form.id = detail.id
441
+               this.form.start_time = this.getTime(detail.start_time)
442
+               this.form.class = detail.class.toString()
443
+               this.form.created_ime = this.getTime(detail.created_time)
444
+               this.form.disinfection_methods = detail.disinfection_methods
445
+               this.form.disinfection_fluid = detail.disinfection_fluid
446
+               this.form.sort = detail.sort
447
+               this.form.creator = detail.creator
448
+               this.form.detection_time = this.getTime(detail.detection_time)
449
+               this.form.detection_result = detail.detection_result
450
+               this.form.upload_time = this.getTime(detail.upload_time)
451
+               this.form.check_out = detail.check_out.toString()
452
+               this.form.modifications = detail.modifications
453
+
454
+            }
455
+        })
456
+      },
457
+
458
+      updateBodyDisinfect(formName){
459
+          
460
+        this.$refs[formName].validate(valid=>{
461
+          if(valid){
462
+                var params = {
463
+                   id:this.form.id,
464
+                   start_time:this.form.start_time,
465
+                   class:parseInt(this.form.class),
466
+                   created_time:this.form.created_time,
467
+                   disinfection_methods:this.form.disinfection_methods,
468
+                   disinfection_fluid:this.form.disinfection_fluid,
469
+                   sort:this.form.sort,
470
+                   creator:this.form.creator,
471
+                   detection_time:this.form.detection_time,
472
+                   detection_result:this.form.detection_result,
473
+                   upload_time:this.form.upload_time,
474
+                   check_out:parseInt(this.form.check_out),
475
+                   modifications:parseInt(this.form.modifications),
476
+                 }
477
+               console.log("params",params)
478
+              updateBodyDisinfect(params).then(response=>{
479
+                  if(response.data.state ==1){
480
+                    var detection = response.data.data.detection
481
+                    this.editDialogFormVisible = false
482
+                    this.$message.success("修改成功!")
483
+                    this.getBodyList()
484
+                  }
485
+              })
486
+            }
487
+        })
488
+      },
489
+
490
+       handleDelete(id,index) {
491
+        this.$confirm('确认删除这条记录?', '删除记录', {
492
+          confirmButtonText: '确定',
493
+          cancelButtonText: '取消',
494
+          type: 'warning'
495
+        })
496
+          .then(() => {
497
+            deleteBodyDisinfect(id).then(response => {
498
+              if (response.data.state == 0) {
499
+                this.$message.error(response.data.msg)
500
+                return false
501
+              } else {
502
+                this.tableData.splice(index, 1)
503
+                this.$message.success('厂家已经删除')
504
+              }
505
+            })
506
+          })
507
+          .catch(() => {
508
+          })
509
+      },
268
     }
510
     }
269
   }
511
   }
270
 </script>
512
 </script>

File diff suppressed because it is too large
+ 1921 - 236
src/xt_pages/management/components/QualityForm.vue


File diff suppressed because it is too large
+ 873 - 92
src/xt_pages/management/home.vue


+ 2 - 1
src/xt_pages/outpatientDoctorStation/doctorDesk.vue View File

112
           label="处方编号"
112
           label="处方编号"
113
           width="120">
113
           width="120">
114
           <template slot-scope="scope">
114
           <template slot-scope="scope">
115
-            <span>处方编号</span>
115
+            <span>处方 {{scope.$index + 1}}</span>
116
           </template>
116
           </template>
117
         </el-table-column>
117
         </el-table-column>
118
         <el-table-column label="处方号">
118
         <el-table-column label="处方号">
1363
           if (response.data.state == 1) {
1363
           if (response.data.state == 1) {
1364
             this.centerDialogVisible = true
1364
             this.centerDialogVisible = true
1365
             var list = response.data.data.list
1365
             var list = response.data.data.list
1366
+           
1366
             this.tableData = list
1367
             this.tableData = list
1367
           }
1368
           }
1368
         })
1369
         })

+ 25 - 19
src/xt_pages/outpatientDoctorStation/pastInquiries.vue View File

35
           <template slot-scope="scope">{{scope.row.info?scope.row.info.doctor:''}}</template>
35
           <template slot-scope="scope">{{scope.row.info?scope.row.info.doctor:''}}</template>
36
         </el-table-column>
36
         </el-table-column>
37
         <el-table-column align="center" prop="name" label="诊断">
37
         <el-table-column align="center" prop="name" label="诊断">
38
-          <template slot-scope="scope">{{ scope.row.info?scope.row.info.diagnosis :''}}</template>
38
+          <template slot-scope="scope">{{getDiagnosis(scope.row.info.diagnosis)}}</template>
39
         </el-table-column>
39
         </el-table-column>
40
         <el-table-column align="center" prop="name" label="状态" width="100">
40
         <el-table-column align="center" prop="name" label="状态" width="100">
41
           <template slot-scope="scope">
41
           <template slot-scope="scope">
71
   import inquiriesDetail from './components/inquiriesDetail'
71
   import inquiriesDetail from './components/inquiriesDetail'
72
   import { getHisPrescriptionList } from '@/api/his/his'
72
   import { getHisPrescriptionList } from '@/api/his/his'
73
   import { uParseTime } from '@/utils/tools'
73
   import { uParseTime } from '@/utils/tools'
74
-
74
+  import { getInitData} from '@/api/his/his'
75
   export default {
75
   export default {
76
     components: {
76
     components: {
77
       BreadCrumb,
77
       BreadCrumb,
88
           { path: false, name: '门诊医生站' },
88
           { path: false, name: '门诊医生站' },
89
           { path: false, name: '既往查询' }
89
           { path: false, name: '既往查询' }
90
         ],
90
         ],
91
-        tableData: [{
92
-          date: '2016-05-02',
93
-          name: '王小虎',
94
-          address: '上海市普陀区金沙江路 1518 弄'
95
-        }, {
96
-          date: '2016-05-04',
97
-          name: '王小虎',
98
-          address: '上海市普陀区金沙江路 1517 弄'
99
-        }, {
100
-          date: '2016-05-01',
101
-          name: '王小虎',
102
-          address: '上海市普陀区金沙江路 1519 弄'
103
-        }, {
104
-          date: '2016-05-03',
105
-          name: '王小虎',
106
-          address: '上海市普陀区金沙江路 1516 弄'
107
-        }]
91
+        tableData: [],
92
+        diagnoses:[]
108
       }
93
       }
109
     },
94
     },
110
     methods: {
95
     methods: {
161
           }
146
           }
162
         })
147
         })
163
 
148
 
149
+      },
150
+       getInitData() {
151
+        getInitData().then(response => {
152
+          if (response.data.state == 0) {
153
+            this.$message.error(response.data.msg)
154
+            return false
155
+          } else {
156
+            this.diagnoses = response.data.data.diagnose
157
+            console.log("诊断列表",this.diagnoses)
158
+          }
159
+        })
160
+      },
161
+      getDiagnosis(id){
162
+        var name = ""
163
+        for(let i=0;i<this.diagnoses.length;i++){
164
+           if(id == this.diagnoses[i].id){
165
+              name = this.diagnoses[i].class_name
166
+           }
167
+        }
168
+        return name
164
       }
169
       }
165
     }, created() {
170
     }, created() {
166
       var nowDate = new Date()
171
       var nowDate = new Date()
176
 
181
 
177
 
182
 
178
       this.getHisPrescriptionList()
183
       this.getHisPrescriptionList()
184
+      this.getInitData()
179
 
185
 
180
     }
186
     }
181
   }
187
   }

+ 5 - 3
src/xt_pages/outpatientDoctorStation/template/printOne.vue View File

2
   <div id='prescriptionPrint'>
2
   <div id='prescriptionPrint'>
3
     <div v-for="(item,index) in advicePrint" :key="index">
3
     <div v-for="(item,index) in advicePrint" :key="index">
4
       <div id='prescription-print' class="prescription-print" style="page-break-after: always;">
4
       <div id='prescription-print' class="prescription-print" style="page-break-after: always;">
5
-          <div class="printTitle">血液透析中心处方笺</div>
5
+          <div class="printTitle">{{orgname}}处方笺</div>
6
           <div class="infoTitle">
6
           <div class="infoTitle">
7
               <p>姓名:{{item.patient.name?item.patient.name:""}}</p>
7
               <p>姓名:{{item.patient.name?item.patient.name:""}}</p>
8
               <p>性别:
8
               <p>性别:
84
         hisPatient:{},
84
         hisPatient:{},
85
         department:[],
85
         department:[],
86
         prescriptions:[],
86
         prescriptions:[],
87
-        projectList:[]
87
+        projectList:[],
88
+        orgname:""
88
       }
89
       }
89
     },
90
     },
90
    methods:{
91
    methods:{
227
       this.getInitData()
228
       this.getInitData()
228
       this.getPrescriptionPrint()
229
       this.getPrescriptionPrint()
229
       this.getHisPatientDetail()
230
       this.getHisPatientDetail()
230
-
231
+      var xtuser = this.$store.getters.xt_user;
232
+      this.orgname = xtuser.org.org_name;
231
      
233
      
232
    },
234
    },
233
    watch:{
235
    watch:{

+ 5 - 2
src/xt_pages/outpatientDoctorStation/template/printTwo.vue View File

1
 <template>
1
 <template>
2
     <div id='prescription-print' class="prescription-print">
2
     <div id='prescription-print' class="prescription-print">
3
-        <div class="printTitle">血液透析中心处方笺</div>
3
+        <div class="printTitle">{{orgname}}处方笺</div>
4
         <div class="infoTitle">
4
         <div class="infoTitle">
5
             <p>姓名:{{patient.name}}</p>
5
             <p>姓名:{{patient.name}}</p>
6
             <p>性别:
6
             <p>性别:
57
         tableData:[],
57
         tableData:[],
58
         prescriptionInfo:[],
58
         prescriptionInfo:[],
59
         hisPatient:{},
59
         hisPatient:{},
60
-        department:[]
60
+        department:[],
61
+        orgname:""
61
       }
62
       }
62
     },
63
     },
63
    methods:{
64
    methods:{
150
    created(){
151
    created(){
151
       this.getAllDoctorList()
152
       this.getAllDoctorList()
152
       this.getInitData()
153
       this.getInitData()
154
+      var xtuser = this.$store.getters.xt_user;
155
+      this.orgname = xtuser.org.org_name;
153
    },
156
    },
154
    watch:{
157
    watch:{
155
      patient_id:function(val){
158
      patient_id:function(val){

+ 8 - 1
src/xt_pages/user/components/PatientDetail.vue View File

244
 
244
 
245
             <el-col :span="24">
245
             <el-col :span="24">
246
               <el-form-item label="传染病 : " required prop="is_infectious">
246
               <el-form-item label="传染病 : " required prop="is_infectious">
247
-                <el-radio-group v-model="form.is_infectious" disabled>
247
+                <el-radio-group v-model="form.is_infectious" disabled >
248
                   <el-radio :label="1">阴性</el-radio>
248
                   <el-radio :label="1">阴性</el-radio>
249
                   <el-radio :label="2">阳性</el-radio>
249
                   <el-radio :label="2">阳性</el-radio>
250
                 </el-radio-group>
250
                 </el-radio-group>
1238
           if (response.data.state === 1) {
1238
           if (response.data.state === 1) {
1239
             this.$emit("tran-patient-info", response.data.data.patient);
1239
             this.$emit("tran-patient-info", response.data.data.patient);
1240
             var patietInfo = response.data.data.patient;
1240
             var patietInfo = response.data.data.patient;
1241
+            console.log("触发了吗无222222",patietInfo)
1241
             this.form.avatar = patietInfo.avatar;
1242
             this.form.avatar = patietInfo.avatar;
1242
             this.form.name = patietInfo.name;
1243
             this.form.name = patietInfo.name;
1243
             this.form.alias = patietInfo.alias;
1244
             this.form.alias = patietInfo.alias;
1246
             this.form.dialysisNo = patietInfo.dialysis_no;
1247
             this.form.dialysisNo = patietInfo.dialysis_no;
1247
             this.form.gender = patietInfo.gender;
1248
             this.form.gender = patietInfo.gender;
1248
             this.form.is_infectious = patietInfo.is_infectious;
1249
             this.form.is_infectious = patietInfo.is_infectious;
1250
+           
1249
             // this.form.record_date = patietInfo.is_infectious
1251
             // this.form.record_date = patietInfo.is_infectious
1250
             this.form.response_result = patietInfo.response_result;
1252
             this.form.response_result = patietInfo.response_result;
1251
             this.form.remind_cycle = patietInfo.remind_cycle;
1253
             this.form.remind_cycle = patietInfo.remind_cycle;
1254
+            if(patietInfo.is_infectious == 1){
1255
+               this.form.remind_cycle = 0 
1256
+
1257
+            }
1258
+            console.log("222222",this.form.remind_cycle)
1252
             this.form.user_sys_before_count = patietInfo.user_sys_before_count;
1259
             this.form.user_sys_before_count = patietInfo.user_sys_before_count;
1253
 
1260
 
1254
             this.infections = response.data.data.infections;
1261
             this.infections = response.data.data.infections;

+ 3 - 1
src/xt_pages/user/components/PatientForm.vue View File

1698
             this.form.response_result = patietInfo.response_result;
1698
             this.form.response_result = patietInfo.response_result;
1699
             this.form.remind_cycle = patietInfo.remind_cycle;
1699
             this.form.remind_cycle = patietInfo.remind_cycle;
1700
             this.form.is_infectious = patietInfo.is_infectious;
1700
             this.form.is_infectious = patietInfo.is_infectious;
1701
-
1701
+            if(this.form.is_infectious == 1){
1702
+              this.form.remind_cycle = 0
1703
+            }
1702
             this.form.tell_phone = patietInfo.tell_phone;
1704
             this.form.tell_phone = patietInfo.tell_phone;
1703
             this.form.dialysis_age = patietInfo.dialysis_age;
1705
             this.form.dialysis_age = patietInfo.dialysis_age;
1704
             this.form.contact_name = patietInfo.contact_name;
1706
             this.form.contact_name = patietInfo.contact_name;

+ 5 - 5
src/xt_pages/user/inspectionInfectious.vue View File

40
           <div class="filter-container">
40
           <div class="filter-container">
41
             <el-button class="filter-item" type="text" style="color:#000"
41
             <el-button class="filter-item" type="text" style="color:#000"
42
               >{{ itemName }}
42
               >{{ itemName }}
43
-              <span v-if="itemDate"
44
-                >(检查日期:{{ itemDate }})</span
45
-              ></el-button
46
-            >
43
+              <span v-if="itemDate">(检查日期:{{ itemDate }})</span></el-button>
44
+              <span style="color:red">次数:{{total}}</span>
47
           </div>
45
           </div>
48
           <el-table
46
           <el-table
49
             :header-cell-style="{
47
             :header-cell-style="{
264
         patient: 0,
262
         patient: 0,
265
         project_id: 0,
263
         project_id: 0,
266
         page: 1
264
         page: 1
267
-      }
265
+      },
266
+      total:""
268
     }
267
     }
269
   },
268
   },
270
   methods: {
269
   methods: {
436
                     }
435
                     }
437
                   }
436
                   }
438
                   this.items.push(item)
437
                   this.items.push(item)
438
+                  this.total = this.items.length
439
                 }
439
                 }
440
               }
440
               }
441
 
441
 

+ 146 - 30
src/xt_pages/user/vascularAccess.vue View File

27
            <span>{{scope.row.blood_access_part_id}}</span>  
27
            <span>{{scope.row.blood_access_part_id}}</span>  
28
         </template>
28
         </template>
29
      </el-table-column>
29
      </el-table-column>
30
-      <el-table-column prop="inflow_pass" label="流入-流出道" width="100" align="center">
30
+      <el-table-column prop="inflow_pass" label="血管通路部位(其他)" width="100" align="center">
31
          <template slot-scope="scope">
31
          <template slot-scope="scope">
32
-            <span>{{scope.row.inflow_pass}}</span>
32
+            <span>{{scope.row.other_vascular}}</span>
33
          </template>
33
          </template>
34
       </el-table-column>
34
       </el-table-column>
35
       <el-table-column prop="date" label="首次启用日期" width="120" align="center">
35
       <el-table-column prop="date" label="首次启用日期" width="120" align="center">
108
      <el-dialog
108
      <el-dialog
109
          title="新增通路"
109
          title="新增通路"
110
          :visible.sync="dialogVisible"
110
          :visible.sync="dialogVisible"
111
-         width="60%"
111
+         width="65%"
112
          center>
112
          center>
113
       <el-form label-width="120px" :model="form" ref="form" :rules="rules" >
113
       <el-form label-width="120px" :model="form" ref="form" :rules="rules" >
114
          <el-row :gutter="24">
114
          <el-row :gutter="24">
115
             <el-col :span="24">
115
             <el-col :span="24">
116
-                <el-form-item label="通路项目:" :required="true" prop="access_project">
117
-                    <el-radio v-model="form.access_project" label="1">内瘘</el-radio>
118
-                    <el-radio v-model="form.access_project" label="2">导管</el-radio>
116
+                <el-form-item label="通路项目:" :required="true" prop="access_project"  > 
117
+                    <el-radio-group style="padding: 10px;" v-model="form.access_project" @change="changeRadio">
118
+                        <el-radio  label="1">内瘘</el-radio>
119
+                        <el-radio  label="2">导管</el-radio>
120
+                   </el-radio-group>
119
                 </el-form-item>
121
                 </el-form-item>
120
             </el-col>
122
             </el-col>
121
          </el-row>
123
          </el-row>
153
          </el-row>
155
          </el-row>
154
           <el-row :gutter="24">
156
           <el-row :gutter="24">
155
             <el-col :span="8">
157
             <el-col :span="8">
156
-               <el-form-item label="流入-流出道:" :required="true" prop="inflow_pass">
157
-                 <el-select v-model="form.inflow_pass" placeholder="请选择" style="width:150px">
158
+               <el-form-item label="血管通路部位(其他):"  prop="inflow_pass">
159
+                 <!-- <el-select v-model="form.inflow_pass" placeholder="请选择" style="width:150px">
158
                     <el-option
160
                     <el-option
159
                         v-for="item in optionsPass"
161
                         v-for="item in optionsPass"
160
                         :key="item.id"
162
                         :key="item.id"
161
                         :label="item.name"
163
                         :label="item.name"
162
                         :value="item.id">
164
                         :value="item.id">
163
                     </el-option>
165
                     </el-option>
164
-                  </el-select>
166
+                  </el-select> -->
167
+                  <el-input v-model="form.other_vascular" style="width:200"></el-input>
165
                </el-form-item>
168
                </el-form-item>
166
             </el-col>
169
             </el-col>
167
              <el-col :span="8">
170
              <el-col :span="8">
236
          <el-row :gutter="24">
239
          <el-row :gutter="24">
237
             <el-col :span="24">
240
             <el-col :span="24">
238
                 <el-form-item label="通路项目:" :required="true" prop="access_project">
241
                 <el-form-item label="通路项目:" :required="true" prop="access_project">
239
-                    <el-radio v-model="form.access_project" label="1">内瘘</el-radio>
240
-                    <el-radio v-model="form.access_project" label="2">导管</el-radio>
242
+                  <el-radio-group style="padding: 10px;" v-model="form.access_project" @change="changeRadio">
243
+                        <el-radio  label="1">内瘘</el-radio>
244
+                        <el-radio  label="2">导管</el-radio>
245
+                  </el-radio-group>
241
                 </el-form-item>
246
                 </el-form-item>
242
             </el-col>
247
             </el-col>
243
          </el-row>
248
          </el-row>
284
          </el-row>
289
          </el-row>
285
           <el-row :gutter="24">
290
           <el-row :gutter="24">
286
             <el-col :span="8">
291
             <el-col :span="8">
287
-               <el-form-item label="流入-流出道:" :required="true" prop="inflow_pass">
288
-                 <el-select v-model="form.inflow_pass" placeholder="请选择" style="width:150px">
292
+               <el-form-item label="血管通路部位(其他):" :required="true" prop="inflow_pass">
293
+                 <!-- <el-select v-model="form.inflow_pass" placeholder="请选择" style="width:150px">
289
                     <el-option
294
                     <el-option
290
                         v-for="item in optionsPass"
295
                         v-for="item in optionsPass"
291
                         :key="item.id"
296
                         :key="item.id"
292
                         :label="item.name"
297
                         :label="item.name"
293
                         :value="item.id">
298
                         :value="item.id">
294
                     </el-option>
299
                     </el-option>
295
-                  </el-select>
300
+                  </el-select> -->
301
+                  <el-input v-model="form.other_vascular"></el-input>
296
                </el-form-item>
302
                </el-form-item>
297
             </el-col>
303
             </el-col>
298
              <el-col :span="8">
304
              <el-col :span="8">
369
   const moment = require('moment')
375
   const moment = require('moment')
370
   import PatientSidebar from './components/PatientSidebar'
376
   import PatientSidebar from './components/PatientSidebar'
371
   import { fetchAllAdminUsers, fetchAllDoctorAndNurse } from '@/api/doctor'
377
   import { fetchAllAdminUsers, fetchAllDoctorAndNurse } from '@/api/doctor'
372
-  import { saveVasularAccess,getAllVascularAccessList,getVascularAccessByDetail,updatedVasularAccess,DeleteVascularAccess } from '@/api/patient'
378
+  import { saveVasularAccess,getAllVascularAccessList,getVascularAccessByDetail,updatedVasularAccess,DeleteVascularAccess,getAccessList } from '@/api/patient'
373
 
379
 
374
   import { jsGetAge, uParseTime } from '@/utils/tools'
380
   import { jsGetAge, uParseTime } from '@/utils/tools'
375
   import { getDataConfig } from '@/utils/data'
381
   import { getDataConfig } from '@/utils/data'
393
           access_project: [{ required: true, message: '请选择通路项目' }],
399
           access_project: [{ required: true, message: '请选择通路项目' }],
394
           blood_access_part_opera_id:[{required:true,message:'请选择血管通路类型'}],
400
           blood_access_part_opera_id:[{required:true,message:'请选择血管通路类型'}],
395
           blood_access_part_id:[{required:true,message:"请选择血管通路"}],
401
           blood_access_part_id:[{required:true,message:"请选择血管通路"}],
396
-          inflow_pass:[{required:true,message:"请选择流入-流出道"}],
397
           first_start_time:[{required:true,message:"请选择首次启用日期"}],
402
           first_start_time:[{required:true,message:"请选择首次启用日期"}],
398
           user_status:[{required:true,message:"请选择使用状态"}]
403
           user_status:[{required:true,message:"请选择使用状态"}]
399
         },
404
         },
411
          user_status:1,
416
          user_status:1,
412
          remark:"",
417
          remark:"",
413
          stop_time:"",
418
          stop_time:"",
419
+         other_vascular:""
414
         },
420
         },
415
         options:[
421
         options:[
416
          {id:1,name:"启用"},
422
          {id:1,name:"启用"},
432
           titles: '',
438
           titles: '',
433
           type: '' // 不同弹框类型,用来匹配数据
439
           type: '' // 不同弹框类型,用来匹配数据
434
         },
440
         },
441
+        new_blood_access_part_opera:[],
442
+        new_blood_access_part:[],
435
       }
443
       }
436
     },
444
     },
437
     methods: {
445
     methods: {
492
                 user_status:this.form.user_status,
500
                 user_status:this.form.user_status,
493
                 stop_reason:this.form.stop_reason,
501
                 stop_reason:this.form.stop_reason,
494
                 remark:this.form.remark,
502
                 remark:this.form.remark,
495
-                stop_time:this.form.stop_time
503
+                stop_time:this.form.stop_time,
504
+                other_vascular:this.form.other_vascular,
496
               }
505
               }
497
               console.log("params",params)
506
               console.log("params",params)
498
              saveVasularAccess(params).then(response=>{
507
              saveVasularAccess(params).then(response=>{
548
              console.log("accessDetail",accessDetail)
557
              console.log("accessDetail",accessDetail)
549
              this.form.id = accessDetail.id
558
              this.form.id = accessDetail.id
550
              this.form.access_project = accessDetail.access_project.toString()
559
              this.form.access_project = accessDetail.access_project.toString()
551
-             
552
-            
560
+             var arr = []
561
+             var arrOne = []
562
+             var arrThree = []
563
+             var arrFour = []
564
+
565
+              if(accessDetail.access_project == "1"){
566
+               for(let i=0;i<this.new_blood_access_part_opera.length;i++){ 
567
+                 if(this.new_blood_access_part_opera[i].field_type == 1){
568
+                     arr.push(this.new_blood_access_part_opera[i])     
569
+                 }
570
+                }
571
+                this.blood_access_part_opera = arr
572
+
553
 
573
 
574
+              for(let j=0;j<this.new_blood_access_part.length;j++){
575
+                 if(this.new_blood_access_part[j].field_type == 1){
576
+                     arrThree.push(this.new_blood_access_part[j])
577
+                 }
578
+                 
579
+                }
580
+                this.blood_access_part = arrThree
581
+              }
582
+
583
+              if(accessDetail.access_project == "2"){
584
+               for(let i=0;i<this.new_blood_access_part_opera.length;i++){ 
585
+                  if(this.new_blood_access_part_opera[i].field_type == 2){
586
+                     arrOne.push(this.new_blood_access_part_opera[i])  
587
+                  }
588
+                
589
+                }
590
+                this.blood_access_part_opera = arrOne
591
+
592
+                for(let j=0;j<this.new_blood_access_part.length;j++){
593
+                   if(this.new_blood_access_part[j].field_type == 2){
594
+                     arrFour.push(this.new_blood_access_part[j])
595
+                   }    
596
+                }
597
+                this.blood_access_part = arrFour
598
+              } 
599
+            
600
+           
554
              this.form.blood_access_part_id = accessDetail.blood_access_part_id
601
              this.form.blood_access_part_id = accessDetail.blood_access_part_id
555
              
602
              
603
+
556
               var blood_part = 0
604
               var blood_part = 0
557
               for(let i=0;i<this.blood_access_part_opera.length;i++){
605
               for(let i=0;i<this.blood_access_part_opera.length;i++){
558
                  if(accessDetail.blood_access_part_opera_id == this.blood_access_part_opera[i].name){
606
                  if(accessDetail.blood_access_part_opera_id == this.blood_access_part_opera[i].name){
560
                  }
608
                  }
561
               }
609
               }
562
              this.form.blood_access_part_opera_id = blood_part
610
              this.form.blood_access_part_opera_id = blood_part
611
+
563
              this.form.first_start_time = this.getTime(accessDetail.first_start_time,"{y}-{m}-{d}")
612
              this.form.first_start_time = this.getTime(accessDetail.first_start_time,"{y}-{m}-{d}")
564
 
613
 
565
              var inflow_id = 0
614
              var inflow_id = 0
573
              this.form.start_time = this.getTime(accessDetail.start_time,"{y}-{m}-{d}")
622
              this.form.start_time = this.getTime(accessDetail.start_time,"{y}-{m}-{d}")
574
              this.form.stop_reason = accessDetail.stop_reason
623
              this.form.stop_reason = accessDetail.stop_reason
575
              this.form.stop_time = this.getTime(accessDetail.stop_time,"{y}-{m}-{d}")
624
              this.form.stop_time = this.getTime(accessDetail.stop_time,"{y}-{m}-{d}")
576
-
625
+ 
577
              this.form.user_status = accessDetail.user_status
626
              this.form.user_status = accessDetail.user_status
627
+             this.form.other_vascular = accessDetail.other_vascular
578
              if(accessDetail.user_status == 1){
628
              if(accessDetail.user_status == 1){
579
                this.show = false
629
                this.show = false
580
              }
630
              }
647
                 stop_reason:this.form.stop_reason,
697
                 stop_reason:this.form.stop_reason,
648
                 remark:this.form.remark,
698
                 remark:this.form.remark,
649
                 stop_time:this.form.stop_time,
699
                 stop_time:this.form.stop_time,
650
-                patient_id:this.patientID
700
+                patient_id:this.patientID,
701
+                other_vascular:this.form.other_vascular
651
               }
702
               }
652
               console.log("编辑",params)
703
               console.log("编辑",params)
653
               updatedVasularAccess(params).then(response=>{
704
               updatedVasularAccess(params).then(response=>{
694
       innerDialogCancle: function() {
745
       innerDialogCancle: function() {
695
         this.InnerDialogProps.visibility = false
746
         this.InnerDialogProps.visibility = false
696
       },
747
       },
748
+      getAccessList(){
749
+        getAccessList().then(response=>{
750
+           if(response.data.state == 1){
751
+             var blood_access_part_opera = response.data.data.blood_access_part_opera
752
+             console.log("blood_access_part_operahhahs",blood_access_part_opera)
753
+             this.new_blood_access_part_opera = blood_access_part_opera
754
+             var blood_access_part = response.data.data.blood_access_part
755
+             console.log("blood_access",blood_access_part)
756
+             this.new_blood_access_part = blood_access_part
757
+
758
+             console.log("通路项目",this.form.access_project)
759
+             
760
+             var arr = []
761
+             var arrOne = []
762
+             if(this.form.access_project == 1 ){
763
+               for(let i=0;i<this.new_blood_access_part_opera.length;i++){
764
+                  if(this.new_blood_access_part_opera[i].field_type == 1){
765
+                     arr.push(this.new_blood_access_part_opera[i])
766
+                  }
767
+
768
+               }
769
+  
770
+               for(let i=0;i<this.new_blood_access_part.length;i++){
771
+                  if(this.new_blood_access_part[i].field_type == 1){
772
+                     arrOne.push(this.new_blood_access_part[i])
773
+                  }
774
+               }
775
+             }
776
+            this.blood_access_part_opera = arr
777
+            this.blood_access_part = arrOne
778
+           }
779
+        })
780
+      },
781
+      changeRadio(val){
782
+        console.log("val",val)
783
+        var arr = []
784
+        var arrOne = []
785
+        var arrTwo = []
786
+        var arrThree = []
787
+        for(let i=0;i<this.new_blood_access_part_opera.length;i++){
788
+           if(this.new_blood_access_part_opera[i].field_type == 1){
789
+              arr.push(this.new_blood_access_part_opera[i])
790
+           }
791
+           if(this.new_blood_access_part_opera[i].field_type == 2){
792
+             arrOne.push(this.new_blood_access_part_opera[i])
793
+           }
794
+        } 
795
+
796
+        for(let i=0;i<this.new_blood_access_part.length;i++){
797
+          if(this.new_blood_access_part[i].field_type == 1){
798
+             arrTwo.push(this.new_blood_access_part[i])
799
+          }
800
+          if(this.new_blood_access_part[i].field_type == 2){
801
+             arrThree.push(this.new_blood_access_part[i])
802
+          }
803
+        }
804
+
805
+        if(val == 1){
806
+           this.blood_access_part_opera = arr
807
+           this.blood_access_part = arrTwo
808
+          
809
+        }
810
+        if(val == 2){
811
+          this.blood_access_part_opera = arrOne
812
+          this.blood_access_part = arrThree
813
+        }
814
+        
815
+        console.log("arr",arr)
816
+        console.log("arrOne",arrOne)
817
+      }
697
     },
818
     },
698
     created() {
819
     created() {
699
       const id = this.$route.params && this.$route.params.id
820
       const id = this.$route.params && this.$route.params.id
700
-      console.log('id是设么', id)
701
       this.patientID = parseInt(id)
821
       this.patientID = parseInt(id)
702
-      
703
-      //血管通路
704
-      this.blood_access_part_opera = getDataConfig('hemodialysis', 'vascular_access_desc')
705
-      console.log("血管通路",this.blood_access_part_opera)
706
-      //血管通路部位
707
-      this.blood_access_part = getDataConfig('hemodialysis', 'vascular_access')
708
-      console.log("血管通路部位",this.blood_access_part)
709
       this.getlist()
822
       this.getlist()
710
-    }
823
+      //获取血管通路
824
+      this.getAccessList()
825
+    },
826
+   
711
   }
827
   }
712
 </script>
828
 </script>
713
 
829