index.vue 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365
  1. <template>
  2. <view class="my-application">
  3. <u-navbar :back-text="i18n('Back')" :back-text-style="backStyle" :title-width="350" back-icon-color="#fff"
  4. title-color="#fff" :background="background" :title="i18n('MembershipApplication')">
  5. </u-navbar>
  6. <view class="section">
  7. <view class="title">{{$t('common.Requirements')}}</view>
  8. <view class="cont">{{$t('common.EnterRequirementsFirst')}}</view>
  9. <view class="cont">{{$t('common.EnterRequirementsSecond')}}</view>
  10. <view class="cont">{{$t('common.EnterRequirementsThird')}}</view>
  11. </view>
  12. <view class="section">
  13. <view class="title">{{$t('common.RightsandObligations')}}</view>
  14. <view class="cont">{{$t('common.EnterRequirementsFourth')}}</view>
  15. <view class="cont">{{$t('common.EnterRequirementsFifth')}}</view>
  16. </view>
  17. <view class="section">
  18. <view class="title">{{$t('common.DescriptionofMembershipService')}}</view>
  19. <view class="cont-box">
  20. <u-row gutter="0">
  21. <u-col span="6">
  22. <view class="cont">1、{{$t('common.InformationService')}}</view>
  23. </u-col>
  24. <u-col span="6">
  25. <view class="cont">2、{{$t('common.PublicityService')}}</view>
  26. </u-col>
  27. <u-col span="6">
  28. <view class="cont">3、{{$t('common.ExchangeatConferences')}}</view>
  29. </u-col>
  30. <u-col span="6">
  31. <view class="cont">4、{{$t('common.TrainingandSeminars')}}</view>
  32. </u-col>
  33. <u-col span="6">
  34. <view class="cont">5、{{$t('common.ResourceSharing')}}</view>
  35. </u-col>
  36. <u-col span="6">
  37. <view class="cont">6、{{$t('common.BusinessDevelopment')}}</view>
  38. </u-col>
  39. <u-col span="6">
  40. <view class="cont">7、{{$t('common.ProfessionalAlliancesactivities')}}</view>
  41. </u-col>
  42. <u-col span="6">
  43. <view class="cont">8、{{$t('common.CustomizedService')}}</view>
  44. </u-col>
  45. </u-row>
  46. </view>
  47. </view>
  48. <view class="section">
  49. <view class="guide" @click="guideTable = true">
  50. <u-icon name="order" class="custom-style"></u-icon>
  51. {{$t('common.EnterprisesMembers')}}
  52. </view>
  53. <view class="guide" @click="toPDFView('def/toPDFViewList.pdf')">
  54. <u-icon name="order" class="custom-style"></u-icon>
  55. {{$t('common.2020MembershipServiceGuide')}}
  56. </view>
  57. <view class="reading">
  58. <u-checkbox-group>
  59. <u-checkbox v-model="readingValue">{{$t('common.Ihavereadandagree')}}</u-checkbox>
  60. </u-checkbox-group>
  61. </view>
  62. <view class="button">
  63. <u-button type="primary" :disabled="!readingValue" class="custom-style" @click="toForm">
  64. {{$t('common.Next')}}
  65. </u-button>
  66. </view>
  67. </view>
  68. <u-toast ref="uToast" />
  69. <!-- 会费弹框 -->
  70. <u-popup v-model="guideTable" mode="bottom" height="50%">
  71. <view class="tableBox">
  72. <u-row gutter="0">
  73. <u-col span="8">
  74. <view class="th" :style="locale == 'zh'?'padding:12upx 0':'padding:32upx 0'">
  75. {{$t('common.Membertype')}}
  76. </view>
  77. </u-col>
  78. <u-col span="4">
  79. <view class="th tdr">{{$t('common.Membershipfeestandard')}}</view>
  80. </u-col>
  81. </u-row>
  82. <u-row gutter="0">
  83. <u-col span="4">
  84. <view class="td" :style="locale == 'zh'?'padding: 150upx 0':'padding: 274upx 0'">
  85. {{$t('common.Domestic')}}
  86. </view>
  87. </u-col>
  88. <u-col span="8">
  89. <u-row gutter="0">
  90. <u-col span="6">
  91. <view class="td">{{$t('common.Councilmembers')}}</view>
  92. </u-col>
  93. <u-col span="6">
  94. <view class="td tdr">{{$t('common.RMB800000')}} / {{$t('common.year')}}</view>
  95. </u-col>
  96. </u-row>
  97. <u-row gutter="0">
  98. <u-col span="6">
  99. <view class="td tdb">
  100. <view>{{$t('common.FortuneGlobal500enterprises')}}</view>
  101. <view class="tds">
  102. ({{$i18n.locale=='zh'?'或相应规模企业':'or enterprises of similar size'}})</view>
  103. </view>
  104. </u-col>
  105. <u-col span="6">
  106. <view class="td tdr tdb"
  107. :style="locale == 'zh'?'padding: 26upx 10upx':'padding:42upx 10upx'">
  108. {{$t('common.RMB500000')}} / {{$t('common.year')}}
  109. </view>
  110. </u-col>
  111. </u-row>
  112. <u-row gutter="0">
  113. <u-col span="6">
  114. <view class="td tdb">
  115. <view>{{$i18n.locale=='zh'?'大型企业':"Large enterprises"}}</view>
  116. <view class="tds">
  117. ({{$i18n.locale=='zh'?'中国500强或相应规模企业':'Top 500 Enterprises of China or enterprises of similar size'}})
  118. </view>
  119. </view>
  120. </u-col>
  121. <u-col span="6">
  122. <view class="td tdr tdb"
  123. :style="locale == 'zh'?'padding: 42upx 10upx':'padding:72upx 10upx'">
  124. {{$t('common.RMB300000')}} / {{$t('common.year')}}
  125. </view>
  126. </u-col>
  127. </u-row>
  128. <u-row gutter="0">
  129. <u-col span="6">
  130. <view class="td" :style="locale == 'zh'?'padding:10upx 0':'padding:30upx 0'">
  131. {{$i18n.locale=='zh'?'其他企业':"Other enterprises"}}
  132. </view>
  133. </u-col>
  134. <u-col span="6">
  135. <view class="td tdr">{{$t('common.RMB100000')}} / {{$t('common.year')}}</view>
  136. </u-col>
  137. </u-row>
  138. </u-col>
  139. </u-row>
  140. <u-row gutter="0">
  141. <u-col span="4">
  142. <view class="td" :style="locale=='zh'?'padding: 40upx 0':'padding:60upx 0'">
  143. {{$i18n.locale=='zh'?'国际':'International'}}
  144. </view>
  145. </u-col>
  146. <u-col span="8">
  147. <u-row gutter="0">
  148. <u-col span="6">
  149. <view class="td">{{$i18n.locale=='zh'?'企业理事':'Council members'}}</view>
  150. </u-col>
  151. <u-col span="6">
  152. <view class="td tdr" :style="locale=='zh'?'padding:10upx 0':'padding:32upx 0'">
  153. {{$t('common.$30000')}} / {{$t('common.year')}}
  154. </view>
  155. </u-col>
  156. </u-row>
  157. <u-row gutter="0">
  158. <u-col span="6">
  159. <view class="td">{{$i18n.locale=='zh'?'其他企业':'Other enterprises'}}</view>
  160. </u-col>
  161. <u-col span="6">
  162. <view class="td tdr">{{$t('common.$10000')}} / {{$t('common.year')}}</view>
  163. </u-col>
  164. </u-row>
  165. </u-col>
  166. </u-row>
  167. <u-row gutter="0">
  168. <u-col span="8">
  169. <view class="td">
  170. {{$i18n.locale=='zh'?'个人及非盈利机构':'Individuals and non-profit organizations'}}
  171. </view>
  172. </u-col>
  173. <u-col span="4">
  174. <view class="td tdr" :style="locale=='zh'?'padding:10upx':'padding:32upx 0'">
  175. {{$i18n.locale=='zh'?'免费':'Free'}}
  176. </view>
  177. </u-col>
  178. </u-row>
  179. </view>
  180. </u-popup>
  181. </view>
  182. </template>
  183. <script>
  184. export default {
  185. name: 'MyApplication',
  186. data() {
  187. return {
  188. locale: this.$i18n.locale,
  189. guideTable: false,
  190. background: {
  191. backgroundImage: 'linear-gradient(270deg, #4BC0E2 0%, #538BE7 100%)',
  192. },
  193. backStyle: {
  194. color: '#fff'
  195. },
  196. readingValue: false
  197. }
  198. },
  199. onLoad(e) {
  200. },
  201. methods: {
  202. i18n(data) {
  203. return this.$t('common.' + data);
  204. },
  205. async toForm() {
  206. let user = uni.getStorageSync('user');
  207. let token = uni.getStorageSync('Auth-Token');
  208. if (user && token) {
  209. const res = await this.$myRequest({
  210. url: '/project/baseMemberApplys/getSelfMemberApply'
  211. });
  212. let applyData = res.data.baseMemberApplies;
  213. // console.log(applyData);
  214. if (applyData) {
  215. this.$refs.uToast.show({
  216. title: this.$i18n.locale == 'zh' ? '您已申请!' : 'You have applied!',
  217. type: 'warning'
  218. });
  219. return;
  220. } else {
  221. uni.navigateTo({
  222. url: 'membershipApplication'
  223. })
  224. }
  225. }
  226. else{
  227. uni.setStorageSync('pathReminder', '/pages/service/membership/index')
  228. uni.showToast({
  229. title: '请先登录',
  230. icon: 'none'
  231. })
  232. setTimeout(() => {
  233. uni.navigateTo({
  234. url: "/pages/public/login?back=1&language=zh"
  235. })
  236. }, 1000)
  237. }
  238. },
  239. toPDFView(path, fileName) {
  240. let pdfPath = this.$i18n.locale == 'zh'?'def/toPDFViewList.pdf':'def/toPDFViewListEN.pdf'
  241. uni.downloadFile({
  242. url: 'https://m.geidcp.com/api/file/pub/' + pdfPath, //下载地址接口返回
  243. success: (data) => {
  244. if (data.statusCode === 200) {
  245. //文件保存到本地
  246. uni.saveFile({
  247. tempFilePath: data.tempFilePath, //临时路径
  248. success: function(res) {
  249. uni.showToast({
  250. icon: 'none',
  251. mask: true,
  252. title: '文件已保存:' + res.savedFilePath, //保存路径
  253. duration: 3000,
  254. });
  255. setTimeout(() => {
  256. //打开文档查看
  257. uni.openDocument({
  258. filePath: res.savedFilePath,
  259. success: function(res) {
  260. // console.log('打开文档成功');
  261. }
  262. });
  263. }, 3000)
  264. }
  265. });
  266. }
  267. },
  268. fail: (err) => {
  269. console.log(err);
  270. uni.showToast({
  271. icon: 'none',
  272. mask: true,
  273. title: '失败请重新下载',
  274. });
  275. },
  276. });
  277. console.log('下载成功', 'https://localhost:8080/api/file/pub/' + path);
  278. },
  279. }
  280. }
  281. </script>
  282. <style lang="scss" scoped>
  283. .my-application {
  284. .tableBox {
  285. padding: 30upx;
  286. .th {
  287. border-top: 1px solid rgb(228, 231, 237);
  288. border-left: 1px solid rgb(228, 231, 237);
  289. border-bottom: 1px solid rgb(228, 231, 237);
  290. background-color: #f5f6f8;
  291. padding: 12upx 10upx;
  292. text-align: center;
  293. }
  294. .td {
  295. border-left: 1px solid rgb(228, 231, 237);
  296. border-bottom: 1px solid rgb(228, 231, 237);
  297. padding: 10upx 12upx;
  298. text-align: center;
  299. }
  300. .tdr {
  301. border-right: 1px solid rgb(228, 231, 237);
  302. }
  303. .tds {
  304. font-size: 22upx;
  305. }
  306. }
  307. .section {
  308. margin-top: 20upx;
  309. background-color: #FFFFFF;
  310. padding: 30upx;
  311. .title {
  312. color: #1777FE;
  313. font-size: 32upx;
  314. margin-bottom: 20upx;
  315. }
  316. .cont {
  317. font-size: 30upx;
  318. color: #333333;
  319. }
  320. .tips {
  321. margin-bottom: 20upx;
  322. }
  323. .guide {
  324. font-size: 26upx;
  325. color: #1777FE;
  326. text-decoration: underline;
  327. margin-bottom: 10upx;
  328. .custom-style {
  329. margin-right: 10upx;
  330. }
  331. }
  332. .reading {
  333. margin-top: 20upx;
  334. text-align: center;
  335. }
  336. .button {
  337. margin-top: 20upx;
  338. text-align: center;
  339. .custom-style {
  340. width: 300upx;
  341. height: 70upx;
  342. }
  343. }
  344. }
  345. }
  346. </style>