index.ts 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. import { shallowRef, reactive } from 'vue'
  2. import { useDataTable } from '@/hooks/datatable'
  3. import { queryUserReceiveInfo, queryWrUserReceiptInfo, userReceiveInfo, delUserReceiveInfo, userReceiveIsDefault, userReceiptInfo, delUserReceiptInfo } from '@/services/api/user'
  4. import { useLoginStore } from '@/stores'
  5. import { getCertificateTypeList } from '@/constants/certificate'
  6. export function useAddress() {
  7. const { getUserId } = useLoginStore()
  8. const { dataList, total, pageIndex, pageSize } = useDataTable<Ermcp.UserReceiveInfoRsp>()
  9. const loading = shallowRef(false)
  10. const getUserAddressList = () => {
  11. loading.value = true
  12. return queryUserReceiveInfo({
  13. data: {
  14. userid: getUserId(),
  15. },
  16. success: (res) => {
  17. total.value = res.total
  18. dataList.value = res.data
  19. },
  20. complete: () => {
  21. loading.value = false
  22. }
  23. })
  24. }
  25. return {
  26. loading,
  27. dataList,
  28. total,
  29. pageIndex,
  30. pageSize,
  31. getUserAddressList,
  32. }
  33. }
  34. export function useAddressForm(selectedRow?: Ermcp.UserReceiveInfoRsp) {
  35. const { getUserId } = useLoginStore()
  36. const loading = shallowRef(false)
  37. const certificateTypeList = getCertificateTypeList()
  38. const formData = reactive<Proto.UserReceiveInfoReq>({
  39. ReceiveInfoId: 0,
  40. UserID: getUserId(),
  41. CardTypeID: 0,
  42. ReceiverName: '',
  43. CardNum: '',
  44. PhoneNum: '',
  45. Address: '',
  46. TakeRemark: '',
  47. })
  48. if (selectedRow?.autoid) {
  49. ({
  50. autoid: formData.ReceiveInfoId,
  51. userid: formData.UserID,
  52. receivername: formData.ReceiverName,
  53. cardtypeid: formData.CardTypeID,
  54. cardnum: formData.CardNum,
  55. phonenum: formData.PhoneNum,
  56. countryid: formData.CountryID,
  57. provinceid: formData.ProvinceID,
  58. cityid: formData.CityID,
  59. districtid: formData.DistrictID,
  60. address: formData.Address,
  61. takeremark: formData.TakeRemark,
  62. } = selectedRow)
  63. }
  64. const addOrUpdate = () => {
  65. loading.value = true
  66. return userReceiveInfo({
  67. data: formData,
  68. complete: () => {
  69. loading.value = false
  70. }
  71. })
  72. }
  73. const deleteAddress = () => {
  74. loading.value = true
  75. return delUserReceiveInfo({
  76. data: {
  77. ReceiveInfoId: formData.ReceiveInfoId
  78. },
  79. complete: () => {
  80. loading.value = false
  81. }
  82. })
  83. }
  84. const updateAddressIsDefault = () => {
  85. loading.value = true
  86. return userReceiveIsDefault({
  87. data: {
  88. UserId: getUserId(),
  89. AutoId: formData.ReceiveInfoId
  90. },
  91. complete: () => {
  92. loading.value = false
  93. }
  94. })
  95. }
  96. return {
  97. loading,
  98. certificateTypeList,
  99. formData,
  100. addOrUpdate,
  101. deleteAddress,
  102. updateAddressIsDefault,
  103. }
  104. }
  105. export function useInvoice() {
  106. const { getUserId } = useLoginStore()
  107. const { dataList, total, pageIndex, pageSize } = useDataTable<Ermcp.WrUserReceiptInfoRsp>()
  108. const loading = shallowRef(false)
  109. const getUserInvoiceList = () => {
  110. loading.value = true
  111. return queryWrUserReceiptInfo({
  112. data: {
  113. userid: getUserId(),
  114. },
  115. success: (res) => {
  116. total.value = res.total
  117. dataList.value = res.data
  118. },
  119. complete: () => {
  120. loading.value = false
  121. }
  122. })
  123. }
  124. return {
  125. loading,
  126. dataList,
  127. total,
  128. pageIndex,
  129. pageSize,
  130. getUserInvoiceList,
  131. }
  132. }
  133. export function useInvoiceForm(selectedRow?: Ermcp.WrUserReceiptInfoRsp) {
  134. const { getUserId } = useLoginStore()
  135. const loading = shallowRef(false)
  136. const certificateTypeList = getCertificateTypeList()
  137. const formData = reactive<Proto.UserReceiptInfoReq>({
  138. UserID: getUserId(), // 用户ID
  139. UserName: '', // 发票抬头姓名
  140. ReceiptType: 1, // 发票类型
  141. TaxpayerID: '', // 纳税人识别号
  142. ContactInfo: '', // 联系方式
  143. ReceiptInfoId: 0, // 修改时填用户发票信息id
  144. ReceiptBank: '', // 发票开户行[发票类型:企业]
  145. ReceiptAccount: '', // 发票帐号[发票类型:企业]
  146. Address: '', // 地址[发票类型:企业]
  147. })
  148. if (selectedRow?.autoid) {
  149. ({
  150. autoid: formData.ReceiptInfoId,
  151. userid: formData.UserID,
  152. username: formData.UserName,
  153. receipttype: formData.ReceiptType,
  154. taxpayerid: formData.TaxpayerID,
  155. contactinfo: formData.ContactInfo,
  156. receiptbank: formData.ReceiptBank,
  157. receiptaccount: formData.ReceiptAccount,
  158. address: formData.Address,
  159. idnum: formData.IDNum,
  160. } = selectedRow)
  161. }
  162. const addOrUpdate = () => {
  163. loading.value = true
  164. return userReceiptInfo({
  165. data: formData,
  166. complete: () => {
  167. loading.value = false
  168. }
  169. })
  170. }
  171. const deleteInvoice = () => {
  172. loading.value = true
  173. return delUserReceiptInfo({
  174. data: {
  175. ReceiptInfoId: formData.ReceiptInfoId
  176. },
  177. complete: () => {
  178. loading.value = false
  179. }
  180. })
  181. }
  182. return {
  183. loading,
  184. certificateTypeList,
  185. formData,
  186. addOrUpdate,
  187. deleteInvoice,
  188. }
  189. }