drawer.vue 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  1. <template>
  2. <view class="mainBox">
  3. <uni-nav-bar background-color="#157A2C" color="#fff" fixed="true" statusBar="true" left-icon="back" title="客户详情"
  4. @clickLeft="back">
  5. </uni-nav-bar>
  6. <myCard :item="form" :columns="columns"></myCard>
  7. <view class="item">
  8. <view class="card">
  9. <view>
  10. <view class="lable">销售订单总额</view>
  11. <view>
  12. {{ contactCountData.totalAmountSaleOrder||0 }}
  13. </view>
  14. </view>
  15. <view>
  16. <view class="lable">退货单总额</view>
  17. <view>{{ contactCountData.totalAmountSaleOrderRecord||0 }}</view>
  18. </view>
  19. <view>
  20. <view class="lable">回款总额</view>
  21. <view> {{ contactCountData.totalAmountReturn||0 }}</view>
  22. </view>
  23. <view>
  24. <view class="lable">退款总额</view>
  25. <view>{{ contactCountData.totalAmountRecord||0 }}</view>
  26. </view>
  27. <view>
  28. <view class="lable">待回款总额</view>
  29. <view>{{ contactCountData.totalAmountTreatReturn||0 }}</view>
  30. </view>
  31. </view>
  32. </view>
  33. <!-- <u-sticky bgColor="#fff" :customNavHeight="88"> -->
  34. <u-tabs :list="list1" @change="change" :current="current"></u-tabs>
  35. <!-- </u-sticky> -->
  36. <comment ref="commentRef" :isDrawer="true" v-show="current==1"></comment>
  37. <info ref="infoRef" :isDrawer="true" v-show="current==0"></info>
  38. <followList ref="followListRef" :linkList="linkList" :isDrawer="true" v-show="current==2"></followList>
  39. <bankList ref="bankListRef" :isDrawer="true" v-show="current==3"></bankList>
  40. <linkList ref="linkListRef" :isDrawer="true" v-show="current==4"></linkList>
  41. </view>
  42. </template>
  43. <script>
  44. import bankList from "./bankList.vue"
  45. import linkList from "./linkList.vue"
  46. import followList from "./followList.vue"
  47. import comment from "./comment.vue"
  48. import info from "./info.vue"
  49. import myCard from '../../components/myCard.vue'
  50. import {
  51. contactDetail,
  52. contactSave,
  53. queryContactIdCount
  54. } from '@/api/saleManage/contact/index.js'
  55. export default {
  56. components: {
  57. bankList,
  58. linkList,
  59. followList,
  60. comment,
  61. info,
  62. myCard
  63. },
  64. data() {
  65. return {
  66. columns: [
  67. [{
  68. label: '名称:',
  69. prop: 'name',
  70. type: 'title',
  71. className: 'perce100',
  72. }],
  73. [{
  74. label: '编码:',
  75. prop: 'code'
  76. }, {
  77. label: '代号:',
  78. prop: 'serialNo'
  79. }],
  80. [{
  81. label: '是否指派:',
  82. prop: 'assignStatus',
  83. formatter: (row) => {
  84. return (row.assignStatus == 1 ? '是' : '否') || ''
  85. }
  86. }, {
  87. label: '销售员:',
  88. prop: 'salesmanName'
  89. }],
  90. ],
  91. current: 0,
  92. list1: [{
  93. name: '详细信息',
  94. }, {
  95. name: '动态',
  96. }, {
  97. name: '跟进记录'
  98. }, {
  99. name: '银行信息'
  100. }, {
  101. name: '联系人信息'
  102. }],
  103. form: {
  104. address: '',
  105. addressId: '',
  106. addressName: '',
  107. authorizationLimit: 0,
  108. businessLicenseFiles: [],
  109. businessLicenseFile: [],
  110. businessScope: '',
  111. categoryId: '',
  112. categoryName: '',
  113. companyCategoryId: '',
  114. companyCategoryName: '',
  115. enterpriseTypeId: '',
  116. enterpriseTypeName: '',
  117. legalPerson: '',
  118. registeredCapital: '',
  119. parentId: '',
  120. industry: [],
  121. industryCode: '',
  122. industryFullName: '',
  123. mainProduct: '',
  124. name: '',
  125. officialIndustry: '',
  126. phone: '',
  127. registerDate: '',
  128. remark: '',
  129. serialNo: '',
  130. simpleName: '',
  131. type: 1,
  132. unifiedSocialCreditCode: ''
  133. },
  134. otherForm: {
  135. settlementMode: '',
  136. settlementModeName: '',
  137. taxRate: 0,
  138. address: '',
  139. addressId: '',
  140. deptId: '',
  141. deptName: '',
  142. discount: 0,
  143. salesmanId: '',
  144. salesmanName: '',
  145. sender: '',
  146. senderPhone: ''
  147. },
  148. treeList: [],
  149. bankList: [],
  150. linkList: [],
  151. contactCountData: {
  152. totalAmountSaleOrderRecord: '', //退货单总额:
  153. totalAmountRecord: '', //退款总额
  154. totalAmountTreatReturn: '', //待回款总额
  155. totalAmountSaleOrder: '', //销售订单总额
  156. totalAmountReturn: '' //回款总额
  157. },
  158. }
  159. },
  160. onLoad(data) {
  161. uni.$off('setContact')
  162. uni.$on('setContact', ({
  163. key,
  164. data
  165. }) => {
  166. this[key] = data
  167. this.save()
  168. })
  169. contactDetail(data.id).then(async res => {
  170. this.contactCountData = await queryContactIdCount(data.id)
  171. console.log(this.contactCountData,'this.contactCountData ')
  172. this.form = res.base
  173. this.otherForm = res.other
  174. this.bankList = res.bankList
  175. this.linkList = res.linkList
  176. this.$nextTick(() => {
  177. this.$refs.bankListRef.init(this.bankList)
  178. this.$refs.linkListRef.init(this.linkList)
  179. this.$refs.followListRef.init(res.base)
  180. this.$refs.commentRef.init(res.base)
  181. this.$refs.infoRef.init({
  182. form: res.base,
  183. otherForm: res.other
  184. })
  185. })
  186. })
  187. },
  188. onUnload() {
  189. uni.$off('setContact')
  190. },
  191. methods: {
  192. change(data) {
  193. this.current = data.index
  194. // console.log(data,'current')
  195. },
  196. save() {
  197. try {
  198. const data = {
  199. base: this.form,
  200. other: this.otherForm,
  201. bankList: this.bankList,
  202. linkList: this.linkList,
  203. };
  204. contactSave(data)
  205. } catch (error) {
  206. console.log(error, 'error')
  207. }
  208. },
  209. }
  210. }
  211. </script>
  212. <style lang="scss" scoped>
  213. // .main {
  214. // padding: 16rpx;
  215. // }
  216. // .title {
  217. // font-size: 32rpx;
  218. // font-weight: 800;
  219. // }
  220. .item {
  221. padding: 16rpx 32rpx;
  222. .card {
  223. padding: 16rpx 32rpx;
  224. margin-top: 32rpx;
  225. display: flex;
  226. flex-wrap: wrap;
  227. height: 200rpx;
  228. border-radius: 12rpx;
  229. border: 1px solid #cbcbcb;
  230. >view {
  231. font-size: 26rpx;
  232. width: 33%;
  233. .lable {
  234. color: #999;
  235. margin-bottom: 10rpx;
  236. }
  237. }
  238. }
  239. }
  240. </style>