detail - 副本.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. <template>
  2. <view>
  3. <view class="title">检测申请方填写</view>
  4. <view class="form_group">
  5. <view class="label">委托单编号</view>
  6. <view class="tag" @click="qr()">
  7. <text class="icon more">&#xe631;</text>
  8. <text class="icon span code">&#xe621;</text>
  9. <text class="span" style="padding-right: 5px;">{{ item.code }}</text>
  10. </view>
  11. </view>
  12. <view class="form_group">
  13. <view class="label">委托单编号</view>
  14. <view class="tag">
  15. <text class="icon more">&#xe631;</text>
  16. <text class="span">W000003496</text>
  17. </view>
  18. </view>
  19. <view class="form_group">
  20. <view class="label">结果形式</view>
  21. <view class="tag"><u-subsection :list="radio" :current="current" @change="change"></u-subsection></view>
  22. </view>
  23. <view class="title">设置审批人员</view>
  24. <view class="form_group" @click="select()">
  25. <view class="label omit" style="width: 200px;">需求审核-产品经理或主管人员</view>
  26. <view class="tag">
  27. <text class="icon more">&#xe631;</text>
  28. <text class="span"></text>
  29. </view>
  30. </view>
  31. <view class="form_group" @click="select()">
  32. <view class="label omit" style="width: 200px;">试验审核-试验对接人</view>
  33. <view class="tag">
  34. <text class="icon more">&#xe631;</text>
  35. <text class="span"></text>
  36. </view>
  37. </view>
  38. <view class="title">样机</view>
  39. <view class="form_group">
  40. <view class="label">委托单编号</view>
  41. <view class="tag">
  42. <text class="icon more">&#xe631;</text>
  43. <text class="span">W000003496</text>
  44. </view>
  45. </view>
  46. </view>
  47. </template>
  48. <script>
  49. let qrcode = require('@/common/code.js');
  50. export default {
  51. data() {
  52. return {
  53. item: {},
  54. current: 0,
  55. radio: [{ name: '正式报告' }, { name: '仅原始数据' }, { name: '协助试验' }]
  56. };
  57. },
  58. onLoad(e) {
  59. console.log('eeee:' + JSON.stringify(e));
  60. //传过来的id
  61. if (e.id) {
  62. /* this.http.request({
  63. url: this.http.urls.xxxx + e.id,
  64. success: res => {
  65. this.item = res.data.data;
  66. }
  67. }); */
  68. }
  69. //选中审批人员监听函数,其它类型的参考这个
  70. uni.$on('select', res => {
  71. console.log('asd:' + JSON.stringify(res));
  72. });
  73. },
  74. methods: {
  75. qr() {
  76. // 调用uni提供的调用相机api
  77. uni.chooseImage({
  78. sizeType: ['original'],
  79. sourceType:['camera'],
  80. count: 1,
  81. success: res => {
  82. const tempFilePaths = res.tempFilePaths[0]; // 获取到二维码图片的链接
  83. qrcode.decode(tempFilePaths); // 解析二维码图片
  84. qrcode.callback = r => {
  85. this.item.code = r;
  86. console.log("asd:"+r);
  87. this.$forceUpdate();
  88. };
  89. }
  90. });
  91. },
  92. //选择结果形式
  93. change(e) {
  94. this.current = e;
  95. console.log('aa:' + this.radio[this.current].name);
  96. },
  97. //选择审批人员
  98. select() {
  99. uni.navigateTo({
  100. url: '/pages/index/select'
  101. });
  102. },
  103. //提交
  104. add() {
  105. this.http.request({
  106. url: this.http.urls.user_task_add,
  107. data: this.item,
  108. method: 'POST',
  109. success: res => {
  110. uni.showModal({
  111. title: '提示',
  112. content: '提交成功',
  113. showCancel: false,
  114. success: res => {
  115. if (res.confirm) {
  116. uni.navigateBack();
  117. }
  118. }
  119. });
  120. }
  121. });
  122. }
  123. }
  124. };
  125. </script>
  126. <style lang="scss">
  127. .title {
  128. padding: 12px;
  129. font-weight: bold;
  130. font-size: 16px;
  131. }
  132. .tag {
  133. float: right;
  134. margin-top: -18px;
  135. width: 70%;
  136. text-align: left;
  137. .span {
  138. float: right;
  139. color: #545555;
  140. }
  141. .code {
  142. font-size: 25px;
  143. }
  144. .more {
  145. float: right;
  146. margin-top: 2px;
  147. color: darkgray;
  148. }
  149. .uni-label-pointer {
  150. padding: 5px;
  151. }
  152. }
  153. </style>