铝交易,微信公众号
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

388 lines
10 KiB

4 months ago
  1. <template>
  2. <view class="registerShop">
  3. <navbar :title="$t('other.domesticCustomsClearanceApplication')" leftClick @leftClick="$utils.navigateBack"/>
  4. <view class="frame">
  5. <!--基本信息-->
  6. <view class="basicInfo">
  7. <!--用户名-->
  8. <view class="item">
  9. <view>{{ $t('components.username') }}</view>
  10. <view>
  11. <input v-model="form.userName" :placeholder="$t('components.enterUserName')" clearable></input>
  12. </view>
  13. </view>
  14. <!--密码-->
  15. <view class="item">
  16. <view>{{ $t('components.password') }}</view>
  17. <view>
  18. <input v-model="form.password" password clearable :placeholder="$t('components.enterYourPassword')"
  19. clearable></input>
  20. </view>
  21. </view>
  22. <!--公司名称-->
  23. <view class="item">
  24. <view>{{ $t('other.companyName') }}</view>
  25. <view>
  26. <input v-model="form.companyName" type="number" :placeholder="$t('other.enterCompanyName')"
  27. clearable></input>
  28. </view>
  29. </view>
  30. <!--税收编码-->
  31. <view class="item">
  32. <view>{{ $t('other.taxCode') }}</view>
  33. <view>
  34. <input v-model="form.taxCode" :placeholder="$t('other.enterTaxCode')" clearable></input>
  35. </view>
  36. </view>
  37. <!--公司地址-->
  38. <view class="item">
  39. <view>{{ $t('other.companyAddress') }}</view>
  40. <view>
  41. <input v-model="form.address" :placeholder="$t('other.enterCompanyAddress')" clearable></input>
  42. </view>
  43. </view>
  44. <!--dian-->
  45. <view class="item">
  46. <view>{{ $t('components.lxPhone') }}</view>
  47. <view>
  48. <input v-model="form.phone" :placeholder="$t('components.plePhoneNumber')" clearable></input>
  49. </view>
  50. </view>
  51. <view class="item">
  52. <view>{{ $t('other.companyAccount') }}</view>
  53. <view>
  54. <input v-model="form.bankAccount" :placeholder="$t('other.enterCompanyAccount')" clearable></input>
  55. </view>
  56. </view>
  57. <view class="item">
  58. <view>{{ $t('components.bankName') }}</view>
  59. <view>
  60. <input v-model="form.bankNama" :placeholder="$t('components.enterBankName')" clearable></input>
  61. </view>
  62. </view>
  63. </view>
  64. <!--证件信息-->
  65. <view class="certificateInfo">
  66. <!--营业执照-->
  67. <view class="certificateInfoItem">
  68. <view class="title">
  69. <span
  70. style="width: 10rpx;height: 40rpx;background-color: #f78142;border-radius: 10rpx;overflow: hidden;"></span>
  71. <span>{{ $t('components.businessLicense') }}</span>
  72. </view>
  73. <view class="upload">
  74. <uv-upload
  75. :fileList="yyzzfileList"
  76. :maxCount="4"
  77. multiple
  78. width="150rpx"
  79. height="150rpx"
  80. @delete="(file) => deleteImage(0, file)"
  81. @afterRead="(file) => afterRead(0, file)"
  82. :previewFullImage="true"></uv-upload>
  83. </view>
  84. </view>
  85. <!--基本户信息-->
  86. <view class="certificateInfoItem">
  87. <view class="title">
  88. <span
  89. style="width: 10rpx;height: 40rpx;background-color: #f78142;border-radius: 10rpx;overflow: hidden;"></span>
  90. <span>{{ $t('components.basicAccountInfo') }}</span>
  91. </view>
  92. <view class="upload">
  93. <uv-upload
  94. :fileList="jbhxxfileList"
  95. :maxCount="4"
  96. multiple
  97. width="150rpx"
  98. height="150rpx"
  99. @delete="(file) => deleteImage(1, file)"
  100. @afterRead="(file) => afterRead(1, file)"
  101. :previewFullImage="true"></uv-upload>
  102. </view>
  103. </view>
  104. <!--收款银行-->
  105. <view class="certificateInfoItem">
  106. <view class="title">
  107. <span
  108. style="width: 10rpx;height: 40rpx;background-color: #f78142;border-radius: 10rpx;overflow: hidden;"></span>
  109. <span>{{ $t('components.receivingBank') }}</span>
  110. </view>
  111. <view class="upload">
  112. <uv-upload
  113. :fileList="skyhfileList"
  114. :maxCount="4"
  115. multiple
  116. width="150rpx"
  117. height="150rpx"
  118. @delete="(file) => deleteImage(2, file)"
  119. @afterRead="(file) => afterRead(2, file)"
  120. :previewFullImage="true"></uv-upload>
  121. </view>
  122. </view>
  123. </view>
  124. </view>
  125. <view class="bottom">
  126. <view class="btns">
  127. <span @click="applyReview" class="sqsh">
  128. {{ $t('components.submitReview') }}
  129. </span>
  130. <span @click="contactUs" class="lxwm">
  131. {{ $t('components.contactUs') }}
  132. </span>
  133. </view>
  134. <view class="others">
  135. <span @click="applyReview" class="zcxz">
  136. {{ $t('components.registrationNotice') }}
  137. </span>
  138. <span @click="contactUs" class="kjhtyl">
  139. {{ $t('other.frameworkContractPreview') }}
  140. </span>
  141. </view>
  142. </view>
  143. </view>
  144. </template>
  145. <script>
  146. export default {
  147. // onLoad(option) {
  148. // this.titleIndex = option.identity
  149. // },
  150. data() {
  151. return {
  152. // titleIndex: 0,
  153. // titleList: [
  154. // // 采购商注册 供应商注册 国内清关申请
  155. // this.$t('other.buyerRegistration'),
  156. // this.$t('other.supplierRegistration'),
  157. // this.$t('other.domesticCustomsClearanceApplication')
  158. // ],
  159. form: {
  160. "address": "",
  161. "bankAccount": "",
  162. "bankInfo": "",
  163. "bankNama": "",
  164. "basicAccount": "",
  165. "businessLicense": "",
  166. "companyName": "",
  167. "id": "",
  168. "password": "",
  169. "phone": "",
  170. "role": 0,
  171. "taxCode": "",
  172. "userName": ""
  173. },
  174. yyzzfileList: [],
  175. jbhxxfileList: [],
  176. skyhfileList: [],
  177. }
  178. },
  179. methods: {
  180. // 申请审核
  181. applyReview() {
  182. this.form.basicAccount = this.jbhxxfileList.join(",") //基本户信息照片上传
  183. this.form.bankInfo = this.skyhfileList.join(",") //收款银行照片上传
  184. this.form.businessLicense =this.yyzzfileList.join(",") //营业执照上传
  185. this.$api('addCustoms',this.form, res => {
  186. if (res.code == 200) {
  187. uni.redirectTo({
  188. url: '/pages/index/clearanceService'
  189. })
  190. }
  191. })
  192. },
  193. // 联系我们
  194. contactUs() {
  195. },
  196. // 上传图片
  197. afterRead(type, e) {
  198. let self = this
  199. e.file.forEach(file => {
  200. self.$Oss.ossUpload(file.url).then(url => {
  201. if (type == 0) {
  202. self.yyzzfileList.push({url})
  203. } else if (type == 1) {
  204. self.jbhxxfileList.push({url})
  205. } else if (type == 2) {
  206. self.skyhfileList.push({url})
  207. }
  208. })
  209. })
  210. },
  211. // 删除图片
  212. deleteImage(type, e) {
  213. console.log(e, type, "===========")
  214. if (type == 0) {
  215. this.yyzzfileList.splice(e.index, 1)
  216. } else if (type == 1) {
  217. this.jbhxxfileList.splice(e.index, 1)
  218. } else if (type == 2) {
  219. this.skyhfileList.splice(e.index, 1)
  220. }
  221. },
  222. }
  223. }
  224. </script>
  225. <style scoped lang="scss">
  226. .registerShop {
  227. .frame {
  228. height: 79vh;
  229. overflow: auto;
  230. .basicInfo {
  231. display: flex;
  232. flex-direction: column;
  233. gap: 5rpx;
  234. background-color: #FFF;
  235. margin-top: 20rpx;
  236. padding: 20rpx;
  237. .item {
  238. display: flex;
  239. align-items: center;
  240. background-color: #FFF;
  241. height: 80rpx;
  242. // margin: 10rpx 0 0 0;
  243. padding: 10rpx 0 0 20rpx;
  244. > view:nth-of-type(1) {
  245. width: 30%;
  246. // font-weight: 700;
  247. }
  248. > view:nth-of-type(2) {
  249. width: 70%;
  250. border-radius: 10rpx;
  251. overflow: hidden;
  252. input {
  253. background-color: #f5f5f5;
  254. font-size: 28rpx;
  255. padding: 16rpx 8rpx 16rpx 15rpx;
  256. }
  257. }
  258. }
  259. }
  260. .certificateInfo {
  261. display: flex;
  262. flex-direction: column;
  263. gap: 20rpx;
  264. background-color: #FFF;
  265. margin-top: 20rpx;
  266. padding: 20rpx;
  267. .certificateInfoItem {
  268. .title {
  269. display: flex;
  270. // padding-top: 40rpx;
  271. font-size: 30rpx;
  272. font-weight: 700;
  273. padding: 0 0 0 20rpx;
  274. > span:nth-of-type(1) {
  275. margin: 4rpx 0 0 8rpx;
  276. background-color: #FFF;
  277. }
  278. > span:nth-of-type(2) {
  279. margin: 0 0 0 8rpx;
  280. background-color: #FFF;
  281. }
  282. }
  283. .upload {
  284. margin: 5rpx 0 0 40rpx;
  285. }
  286. }
  287. }
  288. }
  289. .bottom {
  290. position: fixed;
  291. bottom: 10rpx;
  292. left: 0;
  293. right: 0;
  294. background-color: #FFF;
  295. .btns {
  296. display: flex;
  297. justify-content: center;
  298. align-items: center;
  299. gap: 40rpx;
  300. .sqsh {
  301. display: flex;
  302. align-items: center;
  303. justify-content: center;
  304. width: 40%;
  305. height: 70rpx;
  306. border-radius: 40rpx;
  307. color: white;
  308. font-size: 28rpx;
  309. margin: 20rpx 10rpx 0 0;
  310. background: #293143;
  311. //margin-top: 20rpx;
  312. border-radius: 40rpx;
  313. }
  314. .lxwm {
  315. display: flex;
  316. align-items: center;
  317. justify-content: center;
  318. width: 40%;
  319. height: 70rpx;
  320. border-radius: 40rpx;
  321. color: #000000;
  322. font-size: 28rpx;
  323. margin: 20rpx 10rpx 0 0;
  324. background: #f2f2f2;
  325. //margin-top: 20rpx;
  326. border-radius: 40rpx;
  327. }
  328. }
  329. .others {
  330. display: flex;
  331. justify-content: center;
  332. align-items: center;
  333. gap: 200rpx;
  334. color: #707070;
  335. font-size: 24rpx;
  336. .zcxz {
  337. text-decoration: underline;
  338. }
  339. .kjhtyl {
  340. text-decoration: underline;
  341. }
  342. }
  343. }
  344. }
  345. </style>