index.vue 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <template>
  2. <view class="search-image-content zhcx-table">
  3. <text class="head">添加医学影像</text>
  4. <p class="tip">支持各类图片,文件不大于10M</p>
  5. <view class="zhcx-upload" @click="uploadBt">
  6. <div class="icon"></div>
  7. <text class="uploadTitle">点击上传</text>
  8. </view>
  9. <button type="primary" class="submit-BT" @click="submit()">提交</button>
  10. </view>
  11. </template>
  12. <script>
  13. import {upload} from '@/api/index';
  14. import {searchSubmit} from '@/api/patient';
  15. import {parseTime,notEmpty,deepClone} from '@/libs/index';
  16. export default{
  17. data(){
  18. return{
  19. diseaseImgDesc:[]
  20. }
  21. },
  22. methods:{
  23. submit(){
  24. searchSubmit({
  25. diseaseDesc:"",
  26. seekTime:parseTime(new Date()),
  27. site:"[]",
  28. diseaseImgDesc:JSON.stringify(this.diseaseImgDesc)
  29. }).then((res)=>{
  30. if(res.code===0){
  31. /**检索成功返回ai推荐数据 */
  32. uni.setStorageSync('aidiagnoseInfo',res.data)
  33. uni.navigateTo({
  34. url: '/views/patientItems/diagnose/index'
  35. });
  36. }
  37. })
  38. },
  39. uploadBt(){
  40. uni.chooseImage({
  41. success: (chooseImageRes) => {
  42. const tempFilePaths = chooseImageRes.tempFilePaths;
  43. this.uploadSubmit(tempFilePaths[0])
  44. }
  45. });
  46. },
  47. uploadSubmit(filePath){
  48. let diseaseImgDesc=deepClone(this.diseaseImgDesc);
  49. upload({filePath}).then((res)=>{
  50. let cont=JSON.parse(res);
  51. uni.showToast({
  52. title:"上传成功",
  53. icon:'success'
  54. })
  55. diseaseImgDesc.push({
  56. path:cont.data.path
  57. })
  58. this.diseaseImgDesc=diseaseImgDesc;
  59. }).catch((msg)=>{
  60. uni.showToast({
  61. title:"上传失败"
  62. })
  63. })
  64. },
  65. }
  66. }
  67. </script>
  68. <style lang="scss" scoped>
  69. .search-image-content{
  70. padding-top: 100upx;
  71. .head{
  72. padding-left: 59upx;
  73. font-size: 30upx;
  74. color: #333;
  75. }
  76. .tip{
  77. padding: 8upx 0 16upx 59upx;
  78. font-size: 24upx;
  79. color: #3584FF;
  80. }
  81. .submit-BT{
  82. display: block;
  83. width: 702upx;
  84. height: 98upx;
  85. line-height: 98upx;
  86. text-align: center;
  87. color: #fff;
  88. font-size: 32upx;
  89. letter-spacing: 4upx;
  90. margin-top: 240upx;
  91. background-color: #3384FF;
  92. }
  93. }
  94. </style>