AddZskRegisteredDrug.vue 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. <template>
  2. <div style="min-height:100%" ref="viewBox">
  3. <crumbs :title="title" :param="$route.params" linkTo="ZskRegisteredDrug"></crumbs>
  4. <div class="contents">
  5. <div class="content">
  6. <el-form
  7. :inline="true"
  8. ref="formInline"
  9. :model="formInline"
  10. class="demo-form-inline"
  11. label-width="100px"
  12. >
  13. <el-form-item label="药品代码:">
  14. <el-input v-model="formInline.drugCode" placeholder="请输入"></el-input>
  15. </el-form-item>
  16. <el-form-item label="最小包装单位:">
  17. <el-input v-model="formInline.minPackUnit" placeholder="请输入"></el-input>
  18. </el-form-item>
  19. <el-form-item label="注册名称:">
  20. <el-input v-model="formInline.name" placeholder="请输入"></el-input>
  21. </el-form-item>
  22. <el-form-item label="药品企业:">
  23. <el-input v-model="formInline.company" placeholder="请输入"></el-input>
  24. </el-form-item>
  25. <el-form-item label="英文名称:">
  26. <el-input v-model="formInline.enName" placeholder="请输入"></el-input>
  27. </el-form-item>
  28. <el-form-item label="批准文号:">
  29. <el-input v-model="formInline.approval" placeholder="请输入"></el-input>
  30. </el-form-item>
  31. <el-form-item label="商品名称:">
  32. <el-input v-model="formInline.tradeName" placeholder="请输入"></el-input>
  33. </el-form-item>
  34. <el-form-item label="药品本位码:">
  35. <el-input v-model="formInline.standardCode" placeholder="请输入"></el-input>
  36. </el-form-item>
  37. <el-form-item label="药品剂型:">
  38. <el-input v-model="formInline.form" placeholder="请输入"></el-input>
  39. </el-form-item>
  40. <el-form-item label="医保类型:">
  41. <el-input v-model="formInline.insuranceType" placeholder="请输入"></el-input>
  42. </el-form-item>
  43. <el-form-item label="注册规格:">
  44. <el-input v-model="formInline.specification" placeholder="请输入"></el-input>
  45. </el-form-item>
  46. <el-form-item label="医保备注:">
  47. <el-input v-model="formInline.insuranceRemrk" placeholder="请输入"></el-input>
  48. </el-form-item>
  49. <el-form-item label="最小包装数量:">
  50. <el-input v-model="formInline.minPackQuantity" placeholder="请输入"></el-input>
  51. </el-form-item>
  52. <el-form-item label="药品类别:">
  53. <el-input v-model="formInline.drugType" placeholder="请输入"></el-input>
  54. </el-form-item>
  55. <el-form-item label="关联通用名:">
  56. <el-select
  57. clearable
  58. remote
  59. filterable
  60. :remote-method="searchConcept"
  61. v-model.trim="value"
  62. >
  63. <el-option
  64. v-for="item in conceptList"
  65. :key="item.conceptId"
  66. :label="item.conceptName"
  67. :value="item.conceptId"
  68. ></el-option>
  69. </el-select>
  70. </el-form-item>
  71. </el-form>
  72. <div class="Butn">
  73. <el-button class="disclButn" size="small" type="primary" @click="confirm">确定</el-button>
  74. </div>
  75. </div>
  76. </div>
  77. </div>
  78. </template>
  79. <script type="text/javascript">
  80. import api from '@api/icss.js';
  81. import config from '@api/config.js';
  82. import utils from '@api/utils.js';
  83. export default {
  84. name: 'AddZskDiagBase',
  85. data() {
  86. return {
  87. formInline: {
  88. drugCode: '', //药品代码
  89. name: '', //注册名称
  90. enName: '', //英文名称
  91. tradeName: '', //商品名称
  92. form: '', //药品剂型
  93. specification: '', //注册规格
  94. minPackQuantity: '', //最小包装数量
  95. minPackUnit: '', //最小包装单位
  96. company: '', //药品企业
  97. approval: '', //批准文号
  98. standardCode: '', //药品本位码
  99. insuranceType: '', //医保类型
  100. insuranceRemrk: '', //医保备注
  101. drugType: '', //药品类别
  102. drugConceptId: '' //药品通用名Id
  103. },
  104. conceptList: [],
  105. value: '',
  106. isEdit: false,
  107. title: '注册药品维护-添加注册药品'
  108. };
  109. },
  110. created() {
  111. console.log(this.$route.params);
  112. let type = this.$route.params.type;
  113. if (type == 2) {
  114. api.getByParam({ id: this.$route.params.id }).then(res => {
  115. if (res.data.code == 0) {
  116. const data = res.data.data;
  117. this.formInline.drugCode = data.drugCode;
  118. this.formInline.name = data.name;
  119. this.formInline.enName = data.enName;
  120. this.formInline.tradeName = data.tradeName;
  121. this.formInline.form = data.form;
  122. this.formInline.specification = data.specification;
  123. this.formInline.minPackQuantity = data.minPackQuantity;
  124. this.formInline.minPackUnit = data.minPackUnit;
  125. this.formInline.company = data.company;
  126. this.formInline.approval = data.approval;
  127. this.formInline.standardCode = data.standardCode;
  128. this.formInline.insuranceType = data.insuranceType;
  129. this.formInline.insuranceRemrk = data.insuranceRemrk;
  130. this.formInline.drugType = data.drugType;
  131. this.formInline.drugConceptId = data.drugConceptId;
  132. this.conceptList = [
  133. { drugConceptId: data.drugConceptId, drugName: data.drugName }
  134. ];
  135. } else {
  136. this.$message({
  137. message: res.data.msg,
  138. type: 'warning'
  139. });
  140. }
  141. });
  142. }
  143. },
  144. methods: {
  145. searchConcept(val) {
  146. api
  147. .getsearchDrug({ name: val })
  148. .then(res => {
  149. if (res.data.code == '0') {
  150. const data = res.data.data;
  151. this.$nextTick(() => {
  152. // dom元素更新后执行,因此这里能正确打印更改之后的值
  153. this.conceptList = data; // 改变了的值
  154. });
  155. }
  156. })
  157. .catch(error => {
  158. console.log(error);
  159. });
  160. },
  161. validateForms(callBack) {
  162. this.$refs['formInline'].validate(valid => {
  163. if (valid) {
  164. callBack();
  165. } else {
  166. return false;
  167. }
  168. });
  169. },
  170. saveOrUpdate(params) {
  171. api.saveOrUpdate(params).then(res => {
  172. if (res.data.code == 0) {
  173. this.$message({
  174. message: '操作成功',
  175. type: 'success'
  176. });
  177. this.$router.push({
  178. name: 'ZskRegisteredDrug',
  179. params: this.$route.params
  180. });
  181. } else {
  182. this.$message({
  183. message: res.data.msg,
  184. type: 'warning'
  185. });
  186. }
  187. });
  188. },
  189. confirm() {
  190. let _this = this;
  191. this.validateForms(function() {
  192. let params = _this.formInline;
  193. _this.saveOrUpdate(params);
  194. });
  195. }
  196. }
  197. };
  198. </script>
  199. <style lang="less" scoped>
  200. @import '../../less/admin.less';
  201. .container {
  202. top: 0;
  203. }
  204. .contents {
  205. height: 100%;
  206. .content {
  207. height: 600px;
  208. background: #fff;
  209. padding: 20px 20px 0;
  210. color: #545455;
  211. min-width: 980px;
  212. position: relative;
  213. /deep/ .el-form-item {
  214. width: 45%;
  215. margin-bottom: 20px;
  216. .el-form-item__label {
  217. margin-right: 20px;
  218. }
  219. .el-input {
  220. .el-input__inner {
  221. width: 300px;
  222. }
  223. }
  224. }
  225. }
  226. }
  227. </style>