watchInfo-detail.vue 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. <style scoped>
  2. .user-panel {
  3. margin: 10px auto;
  4. }
  5. </style>
  6. <template>
  7. <el-dialog
  8. :visible.sync="showDialog"
  9. :title="title"
  10. :modal-append-to-body="true"
  11. append-to-body
  12. :close-on-click-modal="false"
  13. style="text-align: left"
  14. width="80%"
  15. @close="closeDialog"
  16. >
  17. <div class="user-panel" v-loading="loading">
  18. <el-form
  19. ref="form"
  20. :model="formModel"
  21. :rules="ruleValidate"
  22. :label-width="'150px'"
  23. inline
  24. >
  25. <el-form-item label="设备编号" prop="deviceNo">
  26. <el-input
  27. v-model="formModel.deviceNo"
  28. placeholder="请输入设备编号"
  29. style="width: 300px"
  30. ></el-input>
  31. </el-form-item>
  32. <el-form-item label="设备别名" prop="aliasName">
  33. <el-input
  34. v-model="formModel.aliasName"
  35. placeholder="请输入设备别名"
  36. style="width: 300px"
  37. ></el-input>
  38. </el-form-item>
  39. <el-form-item label="绑定人员" prop="personId">
  40. <el-input
  41. v-model="formModel.personId"
  42. placeholder="请输入绑定人员编号"
  43. style="width: 300px"
  44. ></el-input>
  45. </el-form-item>
  46. <el-form-item label="紧急联系人号码" prop="sos1">
  47. <el-input
  48. v-model="formModel.sos1"
  49. placeholder="请输入紧急联系人号码"
  50. style="width: 300px"
  51. ></el-input>
  52. </el-form-item>
  53. <el-form-item label="紧急联系人号码" prop="sos2">
  54. <el-input
  55. v-model="formModel.sos2"
  56. placeholder="请输入紧急联系人号码"
  57. style="width: 300px"
  58. ></el-input>
  59. </el-form-item>
  60. <el-form-item label="紧急联系人号码" prop="sos3">
  61. <el-input
  62. v-model="formModel.sos3"
  63. placeholder="请输入紧急联系人号码"
  64. style="width: 300px"
  65. ></el-input>
  66. </el-form-item>
  67. <el-form-item label="计步器开关" prop="stepSwitch">
  68. <div style="width:300px;">
  69. <el-switch
  70. v-model="formModel.stepSwitch"
  71. active-color="#13ce66"
  72. active-text="开"
  73. inactive-color="#ff4949"
  74. inactive-text="关"
  75. ></el-switch>
  76. </div>
  77. </el-form-item>
  78. <el-form-item label="定位间隔时间" prop="locationTimeInterval">
  79. <el-input
  80. v-model="formModel.locationTimeInterval"
  81. placeholder="请输入定位间隔时间"
  82. style="width: 300px"
  83. >
  84. <template slot="append">秒</template>
  85. </el-input>
  86. </el-form-item>
  87. <el-form-item label="心率间隔时间" prop="heartRateTimeInterval">
  88. <el-input
  89. v-model="formModel.heartRateTimeInterval"
  90. placeholder="请输入心率间隔时间"
  91. style="width: 300px"
  92. >
  93. <template slot="append">秒</template>
  94. </el-input>
  95. </el-form-item>
  96. <el-form-item label="血压间隔时间" prop="bpi">
  97. <el-input
  98. v-model="formModel.bpi"
  99. placeholder="请输入血压间隔时间"
  100. style="width: 300px"
  101. >
  102. <template slot="append">秒</template>
  103. </el-input>
  104. </el-form-item>
  105. <el-form-item label="服务号码" prop="num1">
  106. <el-input
  107. v-model="formModel.num1"
  108. placeholder="请输入服务号码"
  109. style="width: 300px"
  110. ></el-input>
  111. </el-form-item>
  112. </el-form>
  113. </div>
  114. <span slot="footer" class="dialog-footer">
  115. <el-button @click="closeDialog">取 消</el-button>
  116. <el-button type="primary" @click="handleSubmit" :loading="submitting"
  117. >确 定</el-button
  118. >
  119. </span>
  120. </el-dialog>
  121. </template>
  122. <script>
  123. import Constant from "@/constant";
  124. import baseWatchInfoApi from "@/api/base/watchInfo";
  125. export default {
  126. props: ["businessKey", "title"],
  127. data() {
  128. return {
  129. ruleValidate: {
  130. deviceNo: [
  131. { required: true, message: "设备编号不能为空", trigger: "blur" },
  132. ],
  133. aliasName: [
  134. { required: true, message: "设备别名不能为空", trigger: "blur" },
  135. ],
  136. personId: [
  137. { required: true, message: "绑定人员不能为空", trigger: "blur" },
  138. ]
  139. },
  140. showDialog: true,
  141. loading: false,
  142. submitting: false,
  143. formModel: {}
  144. };
  145. },
  146. methods: {
  147. closeDialog() {
  148. this.$emit("close", false);
  149. },
  150. handleSubmit() {
  151. var self = this;
  152. this.$refs["form"].validate((valid) => {
  153. if (valid) {
  154. (function () {
  155. var id = self.formModel.id;
  156. if (id == null || id.length == 0) {
  157. return baseWatchInfoApi.add(self.formModel);
  158. } else {
  159. return baseWatchInfoApi.update(self.formModel);
  160. }
  161. })().then(function (response) {
  162. var jsonData = response.data;
  163. if (jsonData.result) {
  164. self.$message({
  165. message: "保存成功!",
  166. type: "success",
  167. });
  168. self.$emit("close", true);
  169. } else {
  170. self.$message({
  171. message: jsonData.message + "",
  172. type: "warning",
  173. });
  174. self.$emit("close", false);
  175. }
  176. });
  177. }
  178. });
  179. },
  180. },
  181. mounted: function () {
  182. var self = this;
  183. (function () {
  184. if (self.businessKey.length == 0) {
  185. return baseWatchInfoApi.create();
  186. } else {
  187. return baseWatchInfoApi.edit(self.businessKey);
  188. }
  189. })()
  190. .then((response) => {
  191. var jsonData = response.data;
  192. self.loading = false;
  193. if (jsonData.result) {
  194. self.formModel = jsonData.data;
  195. } else {
  196. self.$message.error(jsonData.message + "");
  197. }
  198. })
  199. .catch((error) => {
  200. self.$message.error(error + "");
  201. });
  202. },
  203. };
  204. </script>