distrDetail.vue 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397
  1. <!--
  2. * @Author: liuzhenlin 461480418@qq.ocm
  3. * @Date: 2023-02-15 16:25:58
  4. * @LastEditors: liuzhenlin
  5. * @LastEditTime: 2023-05-22 16:10:29
  6. * @Description: file content
  7. * @FilePath: \oms\pages\distributor\components\distrDetail.vue
  8. -->
  9. <template>
  10. <view>
  11. <!-- 经销商 -->
  12. <view v-if="detail.distType == '10'">
  13. <view class="info-item">
  14. <u-row justify="space-between" gutter="10">
  15. <u-col span="12">
  16. <view class="flex_l">
  17. <view class="label">经销商名称:</view>
  18. <view class="desc">{{ detail.distName }}</view>
  19. </view>
  20. </u-col>
  21. </u-row>
  22. </view>
  23. <view class="info-item">
  24. <u-row>
  25. <u-col span="12">
  26. <view class="flex_l">
  27. <view class="label">助记名称:</view>
  28. <view class="desc">{{ detail.abbrName }}</view>
  29. </view>
  30. </u-col>
  31. </u-row>
  32. </view>
  33. <view class="info-item">
  34. <u-row>
  35. <u-col span="12">
  36. <view class="flex_l">
  37. <view class="label">业务范围:</view>
  38. <view class="desc">{{ detail.businessScope }}</view>
  39. </view>
  40. </u-col>
  41. </u-row>
  42. </view>
  43. <view class="info-item">
  44. <u-row justify="space-between" gutter="10">
  45. <u-col span="12">
  46. <view class="flex_l">
  47. <view class="label">注册资金:</view>
  48. <view class="desc">{{ detail.capital }}万元</view>
  49. </view>
  50. </u-col>
  51. </u-row>
  52. </view>
  53. <view class="info-item">
  54. <u-row justify="space-between" gutter="10">
  55. <u-col span="12">
  56. <view class="flex_l">
  57. <view class="label">注册地:</view>
  58. <view class="desc">{{ detail.registerDistrict }}</view>
  59. </view>
  60. </u-col>
  61. </u-row>
  62. </view>
  63. <view class="info-item">
  64. <u-row justify="space-between" gutter="10">
  65. <u-col span="12">
  66. <view class="flex_l">
  67. <view class="label">授权客户类型:</view>
  68. <view class="desc">{{ setCustomerType(detail.customerType) }}</view>
  69. </view>
  70. </u-col>
  71. </u-row>
  72. </view>
  73. <view class="info-item">
  74. <u-row justify="space-between" gutter="10">
  75. <u-col span="12">
  76. <view class="flex_l">
  77. <view class="label">ABC项目出货总金额:</view>
  78. <view class="desc"><u-text mode="price" :text="detail.allProductAmount"></u-text></view>
  79. </view>
  80. </u-col>
  81. </u-row>
  82. </view>
  83. <view class="info-item">
  84. <u-row justify="space-between" gutter="10">
  85. <u-col span="12">
  86. <view class="flex_l">
  87. <view class="label">未回款金额:</view>
  88. <view class="desc"><u-text mode="price" :text="detail.unpaidAmount"></u-text></view>
  89. </view>
  90. </u-col>
  91. </u-row>
  92. </view>
  93. <view class="info-item">
  94. <u-row justify="space-between" gutter="10">
  95. <u-col span="12">
  96. <view class="flex_l">
  97. <view class="label">已有代理品牌和产品:</view>
  98. <view class="desc">{{ detail.existedProduct }}</view>
  99. </view>
  100. </u-col>
  101. </u-row>
  102. </view>
  103. <view class="info-item">
  104. <u-row justify="space-between" gutter="10">
  105. <u-col span="12">
  106. <view class="flex_l">
  107. <view class="label">历史合作终端客户名称:</view>
  108. <view class="desc">{{ detail.historyCustomer }}</view>
  109. </view>
  110. </u-col>
  111. </u-row>
  112. </view>
  113. <view class="info-item">
  114. <u-row justify="space-between" gutter="10">
  115. <u-col span="12">
  116. <view class="flex_l">
  117. <view class="label">归属销售:</view>
  118. <view class="desc">{{ detail.belongSale }}</view>
  119. </view>
  120. </u-col>
  121. </u-row>
  122. </view>
  123. <view class="info-item">
  124. <u-row justify="space-between" gutter="10">
  125. <u-col span="12">
  126. <view class="flex_l">
  127. <view class="label">销售人数:</view>
  128. <view class="desc">{{ detail.saleNum }}</view>
  129. </view>
  130. </u-col>
  131. </u-row>
  132. </view>
  133. <view class="info-item">
  134. <u-row justify="space-between" gutter="10">
  135. <u-col span="12">
  136. <view class="flex_l">
  137. <view class="label">创建时间:</view>
  138. <view class="desc">{{ parseTime(detail.createdTime, '{y}-{m}-{d}') }}</view>
  139. </view>
  140. </u-col>
  141. </u-row>
  142. </view>
  143. <view class="info-item">
  144. <u-row justify="space-between" gutter="10">
  145. <u-col span="12">
  146. <view class="flex_l">
  147. <view class="label">更新时间:</view>
  148. <view class="desc">{{ parseTime(detail.updatedTime, '{y}-{m}-{d}') }}</view>
  149. </view>
  150. </u-col>
  151. </u-row>
  152. </view>
  153. </view>
  154. <!-- 代理商 -->
  155. <view v-if="detail.distType == '20'">
  156. <view class="info-item">
  157. <u-row justify="space-between" gutter="10">
  158. <u-col span="12">
  159. <view class="flex_l">
  160. <view class="label">代理商名称:</view>
  161. <view class="desc">{{ detail.distName }}</view>
  162. </view>
  163. </u-col>
  164. </u-row>
  165. </view>
  166. <view class="info-item">
  167. <u-row justify="space-between" gutter="10">
  168. <u-col span="12">
  169. <view class="flex_l">
  170. <view class="label">助记名称:</view>
  171. <view class="desc">{{ detail.abbrName }}</view>
  172. </view>
  173. </u-col>
  174. </u-row>
  175. </view>
  176. <view class="info-item">
  177. <u-row justify="space-between" gutter="10">
  178. <u-col span="12">
  179. <view class="flex_l">
  180. <view class="label">所在省份:</view>
  181. <view class="desc">{{ detail.provinceDesc }}</view>
  182. </view>
  183. </u-col>
  184. </u-row>
  185. </view>
  186. <view class="info-item">
  187. <u-row justify="space-between" gutter="10">
  188. <u-col span="12">
  189. <view class="flex_l">
  190. <view class="label">业务范围:</view>
  191. <view class="desc">{{ detail.businessScope }}</view>
  192. </view>
  193. </u-col>
  194. </u-row>
  195. </view>
  196. <view class="info-item">
  197. <u-row justify="space-between" gutter="10">
  198. <u-col span="12">
  199. <view class="flex_l">
  200. <view class="label">注册资金:</view>
  201. <view class="desc">{{ detail.capital }}万元</view>
  202. </view>
  203. </u-col>
  204. </u-row>
  205. </view>
  206. <view class="info-item">
  207. <u-row justify="space-between" gutter="10">
  208. <u-col span="12">
  209. <view class="flex_l">
  210. <view class="label">注册地:</view>
  211. <view class="desc">{{ detail.registerDistrict }}</view>
  212. </view>
  213. </u-col>
  214. </u-row>
  215. </view>
  216. <view class="info-item">
  217. <u-row justify="space-between" gutter="10">
  218. <u-col span="12">
  219. <view class="flex_l">
  220. <view class="label">现有销售人数::</view>
  221. <view class="desc">{{ detail.saleNum }}</view>
  222. </view>
  223. </u-col>
  224. </u-row>
  225. </view>
  226. <view class="info-item">
  227. <u-row justify="space-between" gutter="10">
  228. <u-col span="12">
  229. <view class="flex_l">
  230. <view class="label">授权客户类型:</view>
  231. <view class="desc">{{ setCustomerType(detail.customerType) }}</view>
  232. </view>
  233. </u-col>
  234. </u-row>
  235. </view>
  236. <view class="info-item">
  237. <u-row justify="space-between" gutter="10">
  238. <u-col span="12">
  239. <view class="flex_l">
  240. <view class="label">授权区域代理:</view>
  241. <view class="desc">{{ detail.proxyDistrict }}</view>
  242. </view>
  243. </u-col>
  244. </u-row>
  245. </view>
  246. <view class="info-item">
  247. <u-row justify="space-between" gutter="10">
  248. <u-col span="12">
  249. <view class="flex_l">
  250. <view class="label">代理合同:</view>
  251. <view class="desc" @click="downloadFile(detail.contractUrl)">
  252. <u-text type="primary" text="附件"></u-text>
  253. </view>
  254. </view>
  255. </u-col>
  256. </u-row>
  257. </view>
  258. <view class="info-item">
  259. <u-row justify="space-between" gutter="10">
  260. <u-col span="12">
  261. <view class="flex_l">
  262. <view class="label">ABC项目出货总金额:</view>
  263. <view class="desc"><u-text mode="price" :text="allProductAmount"></u-text></view>
  264. </view>
  265. </u-col>
  266. </u-row>
  267. </view>
  268. <view class="info-item">
  269. <u-row justify="space-between" gutter="10">
  270. <u-col span="12">
  271. <view class="flex_l">
  272. <view class="label">未回款金额:</view>
  273. <view class="desc"><u-text mode="price" :text="unpaidAmount"></u-text></view>
  274. </view>
  275. </u-col>
  276. </u-row>
  277. </view>
  278. <view class="info-item">
  279. <u-row justify="space-between" gutter="10">
  280. <u-col span="12">
  281. <view class="flex_l">
  282. <view class="label">已有代理品牌和产品:</view>
  283. <view class="desc">{{ detail.existedProduct }}</view>
  284. </view>
  285. </u-col>
  286. </u-row>
  287. </view>
  288. <view class="info-item">
  289. <u-row justify="space-between" gutter="10">
  290. <u-col span="12">
  291. <view class="flex_l">
  292. <view class="label">历史合作终端客户名称:</view>
  293. <view class="desc">{{ detail.historyCustomer }}</view>
  294. </view>
  295. </u-col>
  296. </u-row>
  297. </view>
  298. </view>
  299. </view>
  300. </template>
  301. <script>
  302. export default {
  303. name: 'OmsCustomerDetail',
  304. props: {
  305. detail: {
  306. type: [Object],
  307. default: {},
  308. },
  309. },
  310. data() {
  311. return {
  312. customerOptions: [],
  313. }
  314. },
  315. mounted() {
  316. this.getOptions()
  317. },
  318. methods: {
  319. //通用下载文件方法
  320. downloadFile(attachLink) {
  321. uni.downloadFile({
  322. url: attachLink, //下载地址,后端接口获取的链接
  323. success: (data) => {
  324. if (data.statusCode === 200) {
  325. uni.saveFile({
  326. //文件保存到本地
  327. tempFilePath: data.tempFilePath, //临时路径
  328. success: function (res) {
  329. uni.showToast({
  330. icon: 'none',
  331. mask: true,
  332. title: '文件已保存!',
  333. duration: 3000,
  334. })
  335. uni.openDocument({
  336. //fileType: 'docx',
  337. showMenu: true, //关键点,可以转发到微信
  338. filePath: res.savedFilePath,
  339. success: function (res) {
  340. console.log('打开文档成功')
  341. },
  342. })
  343. },
  344. })
  345. }
  346. },
  347. fail: (err) => {
  348. console.log(err)
  349. uni.showToast({
  350. icon: 'none',
  351. mask: true,
  352. title: '失败请重新下载',
  353. })
  354. },
  355. })
  356. },
  357. setCustomerType(type) {
  358. if (this.customerOptions.length == 0) return
  359. if (!type) return
  360. let arr = []
  361. let typeArr = type.split(',')
  362. typeArr.map((item) => {
  363. arr.push(this.customerOptions.find((e) => e.key == item).value)
  364. })
  365. return arr.join(',')
  366. },
  367. getOptions() {
  368. Promise.all([this.getDicts('cust_idy')])
  369. .then(([data]) => {
  370. this.customerOptions = data.data.values
  371. // data.data.values.filter((i) => {
  372. // this.customerOptions[i.key] = i.value
  373. // })
  374. })
  375. .catch((err) => console.log(err))
  376. },
  377. },
  378. }
  379. </script>
  380. <style lang="scss" scoped>
  381. .info-item {
  382. padding: 20rpx;
  383. .label {
  384. width: 160rpx;
  385. color: #646464;
  386. font-size: 26rpx;
  387. }
  388. .desc {
  389. font-size: 26rpx;
  390. margin-left: 20rpx;
  391. }
  392. }
  393. </style>