Jelajahi Sumber

病患历史功能完成

nanMing 1 tahun lalu
induk
melakukan
9710dede66
2 mengubah file dengan 185 tambahan dan 105 penghapusan
  1. 148 77
      pages/lr/bhAdd.vue
  2. 37 28
      pages/lr/index.vue

+ 148 - 77
pages/lr/bhAdd.vue

@@ -1,89 +1,160 @@
 <template>
-	<view>
-		<uni-section padding>
-			<uni-forms ref="bhForms" :modelValue="forms" :rules="rules">
-				<uni-forms-item label="病患描述" name="bhms">
-					<uni-easyinput v-model="forms.bhms" placeholder="请输入病患描述" />
-				</uni-forms-item>
-				<uni-forms-item label="病患类别" name="bhlb">
-					<uni-data-select v-model="forms.bhlb" placeholder="请选择病患类别" :localdata="bhlbData" />
-				</uni-forms-item>
-				<uni-forms-item label="患病时间" name="bhsj">
-					<uni-easyinput v-model="forms.bhsj" placeholder="请输入患病时间段" />
-				</uni-forms-item>
-				<uni-forms-item label="使用药物" name="syyw">
-					<uni-easyinput type="textarea" v-model="forms.syyw" placeholder="请输入使用药物" />
-				</uni-forms-item>
-				<uni-forms-item label="处置手段">
-					<uni-easyinput type="textarea" v-model="forms.czsd" placeholder="请输入处置手段" />
-				</uni-forms-item>
-				<uni-forms-item label="愈后情况">
-					<uni-easyinput type="textarea" v-model="forms.yhqk" placeholder="请输入愈后情况" />
-				</uni-forms-item>
-				<uni-forms-item label="康复措施">
-					<uni-easyinput type="textarea" v-model="forms.kfcs" placeholder="请输入康复措施" />
-				</uni-forms-item>
+  <view>
+    <uni-section padding>
+      <uni-forms ref="bhForms" :model="forms" :rules="rules">
+        <uni-forms-item label="病患描述" name="bhms">
+          <uni-easyinput v-model="forms.bhms" placeholder="请输入病患描述" />
+        </uni-forms-item>
+        <uni-forms-item label="病患类别" name="bhlb">
+          <uni-data-select v-model="forms.bhlb" placeholder="请选择病患类别" :localdata="dicts.KH004" />
+        </uni-forms-item>
+        <uni-forms-item label="患病时间" name="bhsj">
+          <uni-easyinput v-model="forms.bhsj" placeholder="请输入患病时间段" />
+        </uni-forms-item>
+        <uni-forms-item label="使用药物" name="syyw">
+          <uni-easyinput type="textarea" v-model="forms.syyw" placeholder="请输入使用药物" />
+        </uni-forms-item>
+        <uni-forms-item label="处置手段">
+          <uni-easyinput type="textarea" v-model="forms.czsd" placeholder="请输入处置手段" />
+        </uni-forms-item>
+        <uni-forms-item label="愈后情况">
+          <uni-easyinput type="textarea" v-model="forms.yhqk" placeholder="请输入愈后情况" />
+        </uni-forms-item>
+        <uni-forms-item label="康复措施">
+          <uni-easyinput type="textarea" v-model="forms.kfcs" placeholder="请输入康复措施" />
+        </uni-forms-item>
 
-				<button type="primary" v-if="active==0" @click="add('bhForms')">保存</button>
-			</uni-forms>
-		</uni-section>
-	</view>
+        <view class="bottomButton">
+          <button type="primary" size="mini" @click="submitForm">保存</button>
+        </view>
+      </uni-forms>
+    </uni-section>
+  </view>
 </template>
 
 <script>
-	export default {
-		data() {
-			return {
-				forms: [],
-				rules: {
-					bhms: {
-						rules: [{
-							required: true,
-							errorMessage: '病患描述不能为空'
+  import { addKhbhls, updateKhbhls } from '@/api/lr.js'
+
+  export default {
+    data() {
+      return {
+        dicts: {
+          KH004: [],
+        },
+
+        khId: null,
+        forms: {
+          bhms: null,
+          bhlb: null,
+          bhsj: null,
+          syyw: null,
+          czsd: null,
+          yhqk: null,
+          kfcs: null,
+        },
+        rules: {
+          bhms: {
+            rules: [{
+              required: true,
+              errorMessage: '病患描述不能为空'
 						}]
-					},
-					bhlb: {
-						rules: [{
-							required: true,
-							errorMessage: '请选择病患类别'
+          },
+          bhlb: {
+            rules: [{
+              required: true,
+              errorMessage: '请选择病患类别'
 						}]
-					},
-					bhsj: {
-						rules: [{
-							required: true,
-							errorMessage: '患病时间段不能为空'
+          },
+          bhsj: {
+            rules: [{
+              required: true,
+              errorMessage: '患病时间段不能为空'
 						}]
-					},
-					syyw: {
-						rules: [{
-							required: true,
-							errorMessage: '使用药物不能为空'
+          },
+          syyw: {
+            rules: [{
+              required: true,
+              errorMessage: '使用药物不能为空'
 						}]
-					},
-				},
-				bhlbData: [{
-					value: '0',
-					text: "急性病"
-				}, {
-					value: '1',
-					text: "慢性病"
-				}, ]
-			}
-		},
-		methods: {
-			add(ref) {
-				this.$refs[ref].validate().then(res => {
-					console.log('success', res);
-					uni.showToast({
-						title: `校验通过`
-					})
-				}).catch(err => {
-					console.log('err', err);
-				})
-			}
-		}
-	}
+          },
+        },
+      }
+    },
+    created() {
+      this.getDictList(Object.keys(this.dicts), this.dicts)
+    },
+    onLoad(option) {
+      if (option.item) {
+        this.forms = JSON.parse(option.item)
+        uni.setNavigationBarTitle({
+          title: '修改病史记录'
+        });
+      }
+      this.khId = option.id
+      this.xm = option.xm
+    },
+    methods: {
+      submitForm() {
+        this.$refs['bhForms'].validate().then(res => {
+          const submitForm = {
+            ...this.forms,
+            khId: this.khId,
+            xm: this.xm,
+          };
+          if (this.forms.id) {
+            updateKhbhls(submitForm).then(res => {
+              if (res.code !== 200) return
+              // 关闭窗口后,恢复默认内容
+              uni.showToast({
+                title: `修改成功!`,
+                duration: 2000,
+                success: (res) => {
+                  uni.$emit('changeBhls', 'bhls')
+                  setTimeout(function() {
+                    uni.navigateBack({ delta: 1 });
+                  }, 1000)
+
+                }
+              })
+            })
+          } else {
+            addKhbhls(submitForm).then(res => {
+              if (res.code !== 200) return
+              // 关闭窗口后,恢复默认内容
+              uni.showToast({
+                title: `新增成功!`,
+                duration: 2000,
+                success: (res) => {
+                  uni.$emit('changeBhls', 'bhls')
+                  setTimeout(function() {
+                    uni.navigateBack({ delta: 1 });
+                  }, 1000)
+
+                }
+              })
+            })
+          }
+        }).catch(err => {
+          console.log('err', err);
+        })
+      }
+    }
+  }
 </script>
 
-<style>
+<style lang="scss" scoped>
+  .bottomButton {
+    height: 140rpx;
+    width: 60%;
+    margin: 0 auto;
+    text-align: center;
+
+    button {
+      width: 40%;
+    }
+
+    button+button {
+      margin-left: 15px;
+    }
+  }
 </style>

+ 37 - 28
pages/lr/index.vue

@@ -156,33 +156,17 @@
 
           </view>
           <view v-else-if="active==3">
-            <navigator url="/pages/lr/bhAdd">
+            <navigator :url="'/pages/lr/bhAdd?id=' + baseFormData.id + '&xm=' + baseFormData.xm">
               <button type="primary" size="mini" style="width: 100rpx;padding: 0 5px;line-height: 2;">新增</button>
             </navigator>
-            <uni-table>
-              <uni-tr>
-                <uni-th width="80" align="center">病患类别</uni-th>
-                <uni-th width="80" align="center">患病时间</uni-th>
-                <uni-th width="48" align="center">设置</uni-th>
-              </uni-tr>
-              <uni-tr v-for="(item, index) in bhList" :key="index">
-                <uni-td align="center">{{ item.bhlb }}</uni-td>
-                <uni-td align="center">{{ item.bhsj }}</uni-td>
-                <uni-td>
-                  <view class="uni-group">
-                    <button class="uni-button" size="mini" type="primary">修改</button>
-                    <button class="uni-button" size="mini" type="warn">删除</button>
-                  </view>
-                </uni-td>
-              </uni-tr>
-            </uni-table>
+            <uni-list>
+              <uni-list-item ellipsis="1" :title="item.bhms" :note="item.bhsj"
+                :rightText="transDictLabel(dicts.KH004,item.bhlb)" v-for="(item,idx) in bhlsList" :key="idx" showArrow
+                clickable @click="editBhls(item)" />
+            </uni-list>
           </view>
         </uni-forms>
-
       </uni-section>
-
-
-
     </view>
 
     <!-- <button type="primary" size="mini" style="margin: 30px 10px; width: 100px;" @click="change">改变状态</button> -->
@@ -193,7 +177,7 @@
   import amapFile from "@/libs/amap-wx.130.js";
   import config from "../../config.js";
   import { UploadOne } from '@/api/upload.js';
-  import { addKhjbxx, updateKhjbxx, listJtxx, addJtxx, updateJtxx, } from '@/api/lr.js'
+  import { addKhjbxx, updateKhjbxx, listJtxx, addJtxx, updateJtxx, listKhbhls } from '@/api/lr.js'
   import { decryptRowData_ECB } from '@/common/sm4.js'
   import { decimalToBinary } from '@/common/num.js'
 
@@ -577,6 +561,14 @@
         		]
           },
         },
+
+        // 病患记录列表请求参数
+        bhlsParams: {
+          pageNum: 1,
+          pageSize: 10,
+          khId: null,
+        },
+        bhlsList: [],
       }
 
     },
@@ -584,11 +576,13 @@
       this.getDictList(Object.keys(this.dicts), this.dicts)
     },
     onLoad(option) {
-      if (Object.keys(option).length !== 0) {
+      if (option.item) {
         this.baseFormData = JSON.parse(option.item)
         if (this.baseFormData.xm) {
           this.familyParams.khId = this.baseFormData.id
+          this.bhlsParams.khId = this.baseFormData.id
           this.getFamilyList()
+          this.getBhlsList()
           uni.setNavigationBarTitle({
             title: '修改客户信息'
           });
@@ -598,6 +592,11 @@
       this.myAmapFunT = new amapFile.AMapWX({
         key: config.gaodeKey
       })
+      uni.$on('changeBhls', data => {
+        if (data === 'bhls') {
+          this.getBhlsList()
+        }
+      })
     },
     methods: {
       // 获取上传状态
@@ -605,9 +604,7 @@
         let ossfilePath = await UploadOne(e.tempFilePaths[0], {})
         this.baseFormData.tx = ossfilePath.data.url
       },
-      addbhxx() {
 
-      },
       getFamilyList() {
         listJtxx(this.familyParams).then(res => {
           if (res.code !== 200) return
@@ -654,10 +651,8 @@
                   this.$refs.inputDialog.close()
                 }
               })
-
             })
           }
-
         }).catch(err => {
           console.log('err', err);
         })
@@ -667,6 +662,20 @@
         this.$refs.familyForm.clearValidate()
         this.$refs.inputDialog.close()
       },
+
+      getBhlsList() {
+        listKhbhls(this.bhlsParams).then(res => {
+          if (res.code !== 200) return
+          this.bhlsList = res.rows
+        })
+      },
+      editBhls(data) {
+        uni.navigateTo({
+          url: `/pages/lr/bhAdd?item=${JSON.stringify(data)}&id=${this.baseFormData.id}&xm=${this.baseFormData.xm}`,
+        })
+      },
+
+
       // tab切换
       changeTab(e) {
         this.active = this.list.indexOf(e.tab)