ApplyReceiptDetail.vue 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. <template>
  2. <view class="detail-view">
  3. <u-form label-width="150" :model="form" ref="uForm">
  4. <view class="form-model-view">
  5. <u-form-item label="单据编号">
  6. <view class="form-value">{{ detail_data.no }}</view>
  7. </u-form-item>
  8. <u-form-item label="收款单位">
  9. <view class="form-value">{{ detail_data.customerName }}</view>
  10. </u-form-item>
  11. <u-form-item label="当前应收">
  12. <view class="form-value">{{ $utils.formattedNumber(detail_data.receivable) }}</view>
  13. </u-form-item>
  14. <u-form-item label="收款人">
  15. <view class="form-value">{{ detail_data.operatorName }}</view>
  16. </u-form-item>
  17. <u-form-item label="收款时间">
  18. <view class="form-value">{{ $u.timeFormat(detail_data.createTime, 'yyyy-mm-dd') }}</view>
  19. </u-form-item>
  20. <u-form-item label="所属店铺">
  21. <view class="form-value">{{ detail_data.shopName }}</view>
  22. </u-form-item>
  23. <u-form-item label="单据状态">
  24. <view class="form-value">
  25. <text class="success-status" v-if="detail_data.auditStatus === 2">已审核</text>
  26. <text class="warning-status" v-else>待审核</text>
  27. </view>
  28. </u-form-item>
  29. </view>
  30. <view class="detail-ul">
  31. <view class="detail-li" v-for="(item, index) in detail_data.receiptRequisitionAccountDate" :key="index">
  32. <view class="title">{{ statusText(item.settlementMethod) }}</view>
  33. <view class="other-ul">
  34. <view class="other-li">收款:{{ $utils.formattedNumber(item.collectionAmount) }}</view>
  35. <view class="other-li">优惠:{{ $utils.formattedNumber(item.preferentialAmount) }}</view>
  36. <view class="other-li">
  37. 实收:
  38. <text class="money">{{ $utils.formattedNumber(item.actualAmount) }}</text>
  39. </view>
  40. </view>
  41. <view class="remark">备注:{{ item.remark || '无' }}</view>
  42. </view>
  43. </view>
  44. </u-form>
  45. <view class="detail-bottom" v-if="detail_data.auditStatus !== 2">
  46. <view class="handel-btn" v-if="$accessCheck($Access.auditApplyReceipt)" @click="openModel('确定要审核通过该收款申请单吗?', '审核')">审核</view>
  47. <view class="handel-btn" v-if="$accessCheck($Access.editApplyReceipt)" @click="goPage(`/pagesT/Finance/AddApplyReceipt?id=${id}`)">编辑</view>
  48. </view>
  49. <u-modal v-model="model_show" :show-cancel-button="true" :content="model_content" @confirm="modelConfirm" @cancel="modelCancel"></u-modal>
  50. </view>
  51. </template>
  52. <script>
  53. export default {
  54. data() {
  55. return {
  56. model_tag: '',
  57. model_show: false,
  58. model_content: '',
  59. pay_type_list: [
  60. {
  61. value: 1,
  62. label: '当面现金'
  63. },
  64. {
  65. value: 2,
  66. label: '私人微信'
  67. },
  68. {
  69. value: 3,
  70. label: '私人支付宝'
  71. },
  72. {
  73. value: 4,
  74. label: '私人银行卡'
  75. },
  76. {
  77. value: 5,
  78. label: '公司公户'
  79. },
  80. {
  81. value: 6,
  82. label: '公司微信'
  83. },
  84. {
  85. value: 7,
  86. label: '公司支付宝'
  87. },
  88. {
  89. value: 8,
  90. label: '公司银行卡'
  91. }
  92. ],
  93. add_form: {
  94. title: '',
  95. provinceCode: '',
  96. cityCode: '',
  97. districtCode: '',
  98. address: '',
  99. realName: '',
  100. mobile: '',
  101. enableStatus: 5,
  102. sex: 0,
  103. phone: '',
  104. position: '',
  105. email: '',
  106. remark: '',
  107. accountName: '',
  108. bankName: '',
  109. bankCard: ''
  110. },
  111. id: '',
  112. detail_data: []
  113. };
  114. },
  115. onLoad(options) {
  116. this.id = options.id;
  117. },
  118. onShow() {
  119. this.getReceiptRequisitionInfo();
  120. },
  121. onPullDownRefresh() {
  122. this.getReceiptRequisitionInfo();
  123. },
  124. methods: {
  125. getReceiptRequisitionInfo() {
  126. this.$u.api.getReceiptRequisitionInfo(this.id).then(res => {
  127. this.detail_data = res.data;
  128. });
  129. },
  130. statusText(val) {
  131. const data = this.pay_type_list.find(item => item.value === val);
  132. if (data) {
  133. return data.label;
  134. } else {
  135. return '其他';
  136. }
  137. },
  138. // 打开提示框
  139. openModel(content, tag) {
  140. this.model_content = content;
  141. this.model_show = true;
  142. this.model_tag = tag;
  143. },
  144. modelConfirm() {
  145. switch (this.model_tag) {
  146. case '审核':
  147. this.updateReceiptRequisitionStatus();
  148. break;
  149. }
  150. },
  151. updateReceiptRequisitionStatus() {
  152. this.$u.api
  153. .updateReceiptRequisitionStatus({
  154. id: this.id,
  155. createTime: this.detail_data.createTime
  156. })
  157. .then(res => {
  158. this.$u.toast('操作成功');
  159. this.getReceiptRequisitionInfo();
  160. });
  161. }
  162. }
  163. };
  164. </script>
  165. <style lang="scss">
  166. .detail-ul {
  167. .detail-li {
  168. width: 710rpx;
  169. margin: 20rpx auto;
  170. background-color: #ffffff;
  171. border-radius: 20rpx;
  172. padding: 30rpx 24rpx;
  173. .title {
  174. font-weight: bold;
  175. }
  176. .other-ul {
  177. display: flex;
  178. padding-top: 20rpx;
  179. .other-li {
  180. flex: 3;
  181. font-size: 24rpx;
  182. text-align: center;
  183. .money {
  184. font-size: 28rpx;
  185. font-weight: bold;
  186. color: $uni-color-error;
  187. }
  188. &:first-child {
  189. text-align: left;
  190. }
  191. &:last-child {
  192. text-align: right;
  193. }
  194. }
  195. }
  196. .remark {
  197. border-top: 1px solid #eeeeee;
  198. padding-top: 20rpx;
  199. margin-top: 20rpx;
  200. }
  201. }
  202. }
  203. </style>