AddMedicalRelation.vue 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. <template>
  2. <div>
  3. <crumbs title="医学术语关系-添加" linkTo="/admin/LT-YXSYKWH-YXSYGXWH"></crumbs>
  4. <div class="contents">
  5. <div class="content" @click="closeSearch">
  6. <p>明细</p>
  7. <div class="search">
  8. <span>起始术语搜索:</span>
  9. <el-input size="small" v-model="firstInput" placeholder="输入术语" @input="search(1)"></el-input>
  10. <ul v-if="showFlag==1">
  11. <li>测试</li>
  12. <li v-for="it in searchDatas" :key="it.id" @click.stop="chooseFirst(it)" :title="it.name.length>10?it.name:''">{{it.name}}</li>
  13. </ul>
  14. </div>
  15. <div class="search">
  16. <span>终点术语搜索:</span>
  17. <el-input size="small" v-model="endInput" placeholder="输入术语" @input="search(2)"></el-input>
  18. <ul v-if="showFlag==2">
  19. <li>测试2</li>
  20. <li v-for="it in searchDatas" :key="it.id" @click.stop="chooseEnd(it)" :title="it.name.length>10?it.name:''">{{it.name}}</li>
  21. </ul>
  22. </div>
  23. <table class="deptbox">
  24. <tr>
  25. <td>起始术语</td>
  26. <td>类型</td>
  27. <td>关系</td>
  28. <td>终点术语</td>
  29. <td>类型</td>
  30. </tr>
  31. <tr>
  32. <td>
  33. <span>{{data.start_name}}</span>
  34. </td>
  35. <td>
  36. <span>{{data.start_type}}</span>
  37. </td>
  38. <td>
  39. <el-select v-model="data.relation" clearable placeholder="请选择" size="mini">
  40. <el-option
  41. v-for="item in relationList"
  42. :key="item.key"
  43. :label="item.name"
  44. :value="item.key">
  45. </el-option>
  46. </el-select>
  47. </td>
  48. <td>
  49. <span>{{data.end_name}}</span>
  50. </td>
  51. <td>
  52. <span>{{data.end_type}}</span>
  53. </td>
  54. </tr>
  55. </table>
  56. <div class="btn">
  57. <el-button
  58. type="primary"
  59. @click="comfirn"
  60. >确 定</el-button>
  61. </div>
  62. </div>
  63. </div>
  64. </div>
  65. </template>
  66. <script type="text/javascript">
  67. export default {
  68. name:'AddMedicalRelation',
  69. data(){
  70. return{
  71. data:{
  72. start_name:'',
  73. start_type:'',
  74. relation:'',
  75. end_name:'',
  76. end_type:''
  77. },
  78. relationList:[
  79. {
  80. name:"测试1",
  81. key:1
  82. },{
  83. name:"测试2",
  84. key:2
  85. },{
  86. name:"测试3",
  87. key:3
  88. }
  89. ],
  90. firstInput:'',
  91. endInput:'',
  92. showFlag:0,
  93. searchDatas:[
  94. {
  95. name:"测试1",
  96. id:1,
  97. type:'药品'
  98. },{
  99. name:"测试2",
  100. id:2,
  101. type:'药品'
  102. },{
  103. name:"测试3",
  104. id:3,
  105. type:'药品小类'
  106. }
  107. ],
  108. }
  109. },
  110. methods:{
  111. comfirn(){
  112. console.log(444,this.data);
  113. },
  114. search(type){
  115. let item = type==1?this.firstInput:this.endInput;
  116. if(item){
  117. this.showFlag = type;
  118. /*api.getAllConcept(item).then((res)=>{
  119. const result = res.data;
  120. if(result.code==0){
  121. this.searchDatas = result.data;
  122. this.showFlag = type;
  123. }else{
  124. this.$message({
  125. type:'warning',
  126. message:result.msg
  127. })
  128. }
  129. })*/
  130. }
  131. },
  132. chooseFirst(item){
  133. this.data.start_name = item.name;
  134. this.data.start_type = item.type;
  135. this.closeSearch();
  136. },
  137. chooseEnd(item){
  138. this.data.end_name = item.name;
  139. this.data.end_type = item.type;
  140. this.closeSearch();
  141. },
  142. closeSearch(){
  143. this.showFlag = 0;
  144. // this.searchDatas = [];
  145. }
  146. }
  147. }
  148. </script>
  149. <style lang="less" scoped>
  150. @import "../../less/admin.less";
  151. .content{
  152. background: #fff;
  153. padding: 20px 20px 30px;
  154. color: #545455;
  155. .search{
  156. width: 185px;
  157. display: inline-block;
  158. margin: 20px 255px 25px 0;
  159. .el-input--small{
  160. margin-top: 8px;
  161. }
  162. position: relative;
  163. ul{
  164. width: 183px;
  165. position: absolute;
  166. top: 63px;
  167. border:1px solid #ccc;
  168. background: #fff;
  169. max-height: 291px;
  170. overflow-y: auto;
  171. li{
  172. border:1px solid #fff;
  173. padding-left: 7px;
  174. height: 27px;
  175. line-height: 27px;
  176. overflow: hidden;
  177. white-space: nowrap;
  178. text-overflow: ellipsis;
  179. }
  180. li:hover{
  181. border-color:#22ccc8;
  182. }
  183. }
  184. }
  185. }
  186. .deptbox{
  187. // width: 100%;
  188. background: #fff;
  189. padding: 20px 10px 30px;
  190. font-size: 14px;
  191. text-align: left;
  192. border-collapse: collapse;
  193. >tr{
  194. height: 30px;
  195. text-align: center;
  196. td{
  197. width: 135px;
  198. border: 1px solid #666;
  199. padding:5px;
  200. }
  201. input{
  202. border:none;
  203. width: 100%;
  204. }
  205. }
  206. }
  207. .btn {
  208. text-align: right;
  209. margin-top: 20px;
  210. }
  211. </style>