index.vue 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <template>
  2. <view class="main">
  3. <view class="message _info" v-if="item.state == 0 && item.updateTime">
  4. <text class="icon">&#xe642;</text>
  5. <text>后台审核信息中...</text>
  6. </view>
  7. <view class="message _success" v-if="item.state == 1">
  8. <text class="icon">&#xe612;</text>
  9. <text>审核信息通过</text>
  10. </view>
  11. <view class="message _error" v-if="item.state == 2">
  12. <view>信息审核失败:</view>
  13. <view class="msg">{{ item.msg }}</view>
  14. </view>
  15. <view class="bos">
  16. <view class="form_group">
  17. <view class="lable re">企业名称</view>
  18. <input type="text" placeholder="请输入企业名称" v-model="item.name" :disabled="item.state == 1" />
  19. </view>
  20. <view class="form_group">
  21. <view class="lable re">法定代表人</view>
  22. <input type="text" placeholder="请输入法定代表人" v-model="item.legalPerson" :disabled="item.state == 1" />
  23. </view>
  24. <view class="form_group">
  25. <view class="lable re">电话</view>
  26. <input type="number" placeholder="请输入电话" v-model="item.phone" :disabled="item.state == 1" />
  27. </view>
  28. <view class="form_group">
  29. <view class="lable re">邮箱</view>
  30. <input type="text" placeholder="请输入邮箱" v-model="item.email" :disabled="item.state == 1" />
  31. </view>
  32. <view class="form_group">
  33. <view class="lable re">注册资本(万)</view>
  34. <input type="number" placeholder="请输入注册资本" v-model="item.capital" :disabled="item.state == 1" />
  35. </view>
  36. <view class="form_group">
  37. <view class="lable re">企业地址</view>
  38. <view class="bgm">
  39. <input type="text" placeholder="请输入详细地址" v-model="item.address" :disabled="item.state == 1" class="input" />
  40. <view class="msg" @click="select()">选择</view>
  41. </view>
  42. </view>
  43. <view class="form_group" style="border: 0px">
  44. <view class="lable re">企业简介</view>
  45. <textarea cols="30" rows="10" placeholder="请输入企业简介" v-model="item.contents" :disabled="item.state == 1"></textarea>
  46. </view>
  47. <view class="form_group" style="border: 0px">
  48. <view class="lable re">营业执照</view>
  49. <card v-model="item.p1" :read="item.state == 1"></card>
  50. </view>
  51. </view>
  52. <button class="btn" @click="save()" v-if="item.state != 1">{{ item.id ? '编辑' : '提交' }}</button>
  53. </view>
  54. </template>
  55. <script>
  56. export default {
  57. data() {
  58. return {
  59. ip: this.http.ip,
  60. item: {}
  61. };
  62. },
  63. onLoad() {
  64. this.http.request({
  65. url: '/app/enterprise/index',
  66. success: (res) => {
  67. if (res.data.data) {
  68. this.item = res.data.data;
  69. }
  70. }
  71. });
  72. },
  73. methods: {
  74. select() {
  75. uni.chooseLocation({
  76. success: (res) => {
  77. this.item.address = res.address;
  78. this.item.longitude = res.longitude;
  79. this.item.latitude = res.latitude;
  80. this.$forceUpdate();
  81. }
  82. });
  83. },
  84. save() {
  85. let rule = [
  86. { name: 'name', checkType: 'notnull', errorMsg: '请输入企业名称' },
  87. { name: 'legalPerson', checkType: 'notnull', errorMsg: '请输入法定代表人' },
  88. { name: 'phone', checkType: 'notnull', errorMsg: '请输入电话' },
  89. { name: 'email', checkType: 'email', errorMsg: '请输入邮箱' },
  90. { name: 'address', checkType: 'notnull', errorMsg: '请输地址' },
  91. { name: 'contents', checkType: 'notnull', errorMsg: '请输入企业简介' },
  92. { name: 'p1', checkType: 'notnull', errorMsg: '请上传营业执照' }
  93. ];
  94. if (!this.verify.check(this.item, rule)) {
  95. uni.showModal({ content: this.verify.error, showCancel: false });
  96. return false;
  97. }
  98. this.http.request({
  99. url: '/app/enterprise/edit',
  100. data: this.item,
  101. method: 'POST',
  102. success: (res) => {
  103. uni.showModal({
  104. title: '提示',
  105. content: '提交成功,等待后台审核。',
  106. showCancel: false,
  107. success: (res) => {
  108. uni.navigateBack();
  109. }
  110. });
  111. }
  112. });
  113. }
  114. }
  115. };
  116. </script>
  117. <style lang="scss"></style>