移动端
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.
 
 

294 lines
9.9 KiB

  1. <template>
  2. <div class="app-container">
  3. <van-nav-bar
  4. title="资料修改"
  5. left-arrow
  6. fixed
  7. placeholder
  8. @click-left="onClickLeft"
  9. />
  10. <van-form @submit="submitForm">
  11. <van-field v-model="tel" readonly type="tel" label="手机号" placeholder="请输入手机号" required :rules="[{ required:true }]" >
  12. <template #extra >
  13. <p style="color: #007e72">修改手机号</p>
  14. </template>
  15. </van-field>
  16. <!-- <van-field value="15314031621" label="密码" placeholder="请输入密码" required :rules="[{ required:true }]"/>-->
  17. <van-field v-model="userForm.companyName" label="公司名称" placeholder="请输入公司名称" required :rules="[{ required:true }]"/>
  18. <van-field v-model="userForm.companyCode" label="社会信用代码" placeholder="请输入公司的社会信用代码" required :rules="[{ required:true }]"/>
  19. <van-field
  20. readonly
  21. clickable
  22. label="企业性质"
  23. :value="companyNameValue"
  24. placeholder="选择企业性质"
  25. @click="showPickerPiker = true"
  26. required :rules="[{ required:true }]"
  27. />
  28. <van-popup v-model="showPickerPiker" round position="bottom">
  29. <van-picker
  30. show-toolbar
  31. :columns="companyNameList"
  32. @cancel="showPickerPiker = false"
  33. @confirm="onConfirmCompany"
  34. />
  35. </van-popup>
  36. <!-- <van-field v-model="userForm.companyNature" label="企业性质" placeholder="请输入企业性质" required :rules="[{ required:true }]" />-->
  37. <van-field v-model="userForm.companyScope" label="经营范围" placeholder="请输入经营范围" required :rules="[{ required:true }]" />
  38. <van-field v-model="userForm.companyTimeLimit" label="经营期限" placeholder="请输入经营期限" required :rules="[{ required:true }]" />
  39. <van-field
  40. readonly
  41. clickable
  42. label="成立时间"
  43. :value="userForm.companySetupTime"
  44. placeholder="选择成立时间"
  45. @click="showPicker = true"
  46. required :rules="[{ required:true }]"
  47. />
  48. <van-popup v-model="showPicker" round position="bottom">
  49. <van-datetime-picker
  50. v-model="currentDate"
  51. type="date"
  52. title="选择年月日"
  53. :min-date="minDate"
  54. :max-date="maxDate"
  55. @cancel="showPicker = false"
  56. @confirm="onConfirm"
  57. />
  58. </van-popup>
  59. <!-- <van-field v-model="userForm.companySetupTime" label="成立时间" placeholder="请输入成立时间" required :rules="[{ required:true }]" />-->
  60. <van-field v-model="userForm.companyCapital" label="注册资金" placeholder="请输入注册资金" required :rules="[{ required:true }]" />
  61. <van-field v-model="userForm.companyLicense" label="营业执照号" placeholder="请输入公司的营业执照号" required :rules="[{ required:true }]"/>
  62. <van-field v-model="userForm.address" label="联系地址" placeholder="请输入联系地址" required :rules="[{ required:true }]" />
  63. <van-field v-model="form.realname" label="法人姓名" placeholder="请输入法人姓名" required :rules="[{ required:true }]"/>
  64. <van-field v-model="form.idCardNum" label="法人身份证号" placeholder="请输入法人身份证号" required :rules="[{ required:true }]"/>
  65. <van-field name="uploader" label="法人证件照" required>
  66. <template #input>
  67. <van-uploader :after-read="afterReadFRZJZ" :before-delete="deleteFileFRZJZ" v-model="fileListFRZJZ" multiple :max-count="1" />
  68. </template>
  69. </van-field>
  70. <van-field name="uploader" label="附件上传" required>
  71. <template #input>
  72. <van-uploader :after-read="afterReadKHZM" :before-delete="deleteFileKHZM" v-model="fileListKHZM" multiple :max-count="1" />
  73. </template>
  74. </van-field>
  75. <div class="submit">
  76. <van-button round block type="info" color="#007E72" native-type="submit" style="width: 90%;margin: 0 auto;">保存</van-button>
  77. </div>
  78. </van-form>
  79. </div>
  80. </template>
  81. <script>
  82. import { getInfo } from "@/api/login/index";
  83. import { getMember , base64Attach , userUpdate , showUserImg , deleteUserImg} from "@/api/user/index";
  84. import {Dialog} from "vant";
  85. import {base64Upload} from "@/api/register";
  86. export default {
  87. name: "companyInformation",
  88. data() {
  89. return {
  90. height:0,
  91. tel:'',
  92. showPicker: false,
  93. showPickerPiker: false,
  94. minDate: new Date(1900, 0, 1),
  95. maxDate: new Date(),
  96. currentDate: new Date(),
  97. value:'',
  98. companyNameValue:'',
  99. fileList:[],
  100. companyNameList:[],
  101. fileListKHZM:[],
  102. fileListFRZJZ:[],
  103. form: {
  104. files:[],
  105. fileType:'',
  106. bizPath:'transaction',
  107. tableName:'t_transaction_member',
  108. tableId:''
  109. },
  110. userForm:{
  111. companyName:'',
  112. idCardNum:'',
  113. realname:'',
  114. companyCode:'',
  115. companyNature:'',
  116. companyScope:'',
  117. companyTimeLimit:'',
  118. companySetupTime:'',
  119. companyCapital:'',
  120. companyLicense:'',
  121. address:'',
  122. accountOpenCert:'',
  123. },
  124. userInfo:[],
  125. upLoadList:[]
  126. };
  127. },
  128. created() {
  129. this.height = document.body.clientHeight
  130. this.getInfo()
  131. this.getDicts("company_nature").then(res => {
  132. console.log(res);
  133. for (var i = 0 ; i < res.data.length ; i++ ){
  134. this.companyNameList.push(res.data[i].dictLabel)
  135. }
  136. //this.value = this.selectDictLabel(res.data,response.data.supplyDemandType);
  137. });
  138. },
  139. methods: {
  140. onConfirmCompany(value,index){
  141. console.log(value)
  142. this.companyNameValue = value;
  143. this.showPickerPiker = false;
  144. this.userForm.companyNature = index+1
  145. console.log(this.userForm.companyName)
  146. },
  147. onConfirm(value) {
  148. this.userForm.companySetupTime = this.getNowFormatDate(value).substr(0,10);
  149. console.log(new Date())
  150. this.showPicker = false;
  151. },
  152. getInfo(){
  153. getInfo().then(response => {
  154. getMember(response.user.userId).then(response => {
  155. console.log(response)
  156. this.userForm.companyName = response.data.companyName;
  157. this.userForm.idCardNum = response.data.idCardNum;
  158. this.userForm.realname = response.data.realname;
  159. this.userForm.companyCode = response.data.companyCode;
  160. this.userForm.companyName = response.data.companyName;
  161. this.userForm.companyNature = response.data.companyNature;
  162. this.userForm.companyScope = response.data.companyScope;
  163. this.userForm.companyTimeLimit = response.data.companyTimeLimit;
  164. this.userForm.companySetupTime = response.data.companySetupTime;
  165. this.userForm.companyCapital = response.data.companyCapital;
  166. this.userForm.companyLicense = response.data.companyLicense;
  167. this.userForm.address = response.data.address;
  168. if (response.data.accountOpenCert!=''){
  169. this.fileListKHZM = [{
  170. url:'/api'+response.data.accountOpenCert,
  171. isImage: true
  172. }];
  173. }
  174. if (response.data.idCardPic!=''){
  175. this.fileListFRZJZ = [{
  176. url:'/api'+response.data.idCardPic,
  177. isImage: true
  178. }];
  179. }
  180. this.tel = response.data.phone
  181. this.getDicts("company_nature").then(res => {
  182. console.log(res);
  183. this.companyNameValue = this.selectDictLabel(res.data,response.data.companyNature);
  184. });
  185. this.userForm.id = response.data.id;
  186. this.form.tableId = response.data.id;
  187. showUserImg(response.data.id).then(responseSecond => {
  188. console.log(responseSecond)
  189. this.form.files = responseSecond.data
  190. for (var i = 0 ; i < responseSecond.data.length ; i++){
  191. this.fileList.push({url:this.global.severApi+responseSecond.data[i].fileUrl,id:responseSecond.data[i].id})
  192. }
  193. });
  194. });
  195. });
  196. },
  197. afterReadFRZJZ(file) {
  198. // 此时可以自行将文件上传至服务器
  199. this.$toast.loading({
  200. message: "上传中...",
  201. forbidClick: true,
  202. duration: 0,
  203. });
  204. let params1 = {
  205. file:file.content
  206. }
  207. base64Upload(params1).then((r1) => {
  208. this.userForm.idCardPic = r1.fileName;
  209. })
  210. },
  211. deleteFileFRZJZ(elIndex){
  212. return (file, name) => {
  213. let fileIndex = name.index
  214. this.fileListFRZJZ[elIndex].splice(fileIndex, 1)
  215. this.userForm.idCardPic = '';
  216. }
  217. },
  218. afterReadKHZM(file) {
  219. // 此时可以自行将文件上传至服务器
  220. let params1 = new FormData();
  221. params1.append("file", file.content);
  222. base64Upload(params1).then((r1) => {
  223. this.userForm.accountOpenCert = r1.fileName;
  224. })
  225. },
  226. deleteFileKHZM(elIndex){
  227. return (file, name) => {
  228. let fileIndex = name.index
  229. this.fileListKHZM[elIndex].splice(fileIndex, 1)
  230. this.userForm.accountOpenCert = '';
  231. }
  232. },
  233. submitForm(){
  234. if (this.userForm.accountOpenCert == ''){
  235. this.$toast({
  236. icon: 'error', // 找到自己需要的图标
  237. message: '请上传开户证明',
  238. duration:"2000",
  239. onClose:function(){
  240. }
  241. })
  242. return;
  243. }
  244. userUpdate(this.userForm).then(response => {
  245. if(response.code == 200) {
  246. Dialog.confirm({
  247. title: '系统提示',
  248. message: '修改成功',
  249. confirmButtonText: '确定',
  250. })
  251. .then(() => {
  252. this.onClickLeft()
  253. })
  254. }
  255. });
  256. }
  257. },
  258. };
  259. </script>
  260. <style scoped lang="scss">
  261. .app-container {
  262. background-color: #FFF;
  263. padding-bottom: 3rem;
  264. }
  265. .submit{
  266. position: fixed;
  267. bottom: 0;
  268. width: 100%;
  269. padding: 5% 0;
  270. background-color: #F9F9F9;
  271. p{
  272. text-align: center;
  273. margin-bottom: 0.2rem;
  274. span{
  275. color: #007E72;
  276. }
  277. }
  278. }
  279. </style>