update.vue 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  1. <template>
  2. <view>
  3. <cu-custom bgColor="bg-blue" :isBack="true">
  4. <block slot="backText">基本资料</block>
  5. <block slot="content"></block>
  6. <block slot="right">
  7. <view class="flex justify-center">
  8. <button @click="save()" class="cu-btn round line-blue text-white" style="width: 160rpx;height: 66rpx;padding: 0;">保存</button>
  9. </view>
  10. </block>
  11. </cu-custom>
  12. <form class="cu-list menu shadow-lg">
  13. <view class="cu-form-group_top">
  14. <view style="font-size: 30rpx;color: #101010;">
  15. 头像
  16. </view>
  17. <view class="cu-form-group_top_right">
  18. <view v-for="(item,index) in imgList" :key="index" @tap="ChooseImage" :data-url="imgList[index]">
  19. <image style="width: 120rpx;height: 120rpx;border-radius: 50%;" :src="imgList[index]" mode="aspectFill"></image>
  20. <!-- <view class="cu-tag bg-red" :data-index="index">
  21. <text class='cuIcon-close'></text>
  22. </view> -->
  23. </view>
  24. <view @tap="ChooseImage" v-if="imgList.length<1">
  25. <image mode="aspectFill" style="width: 120rpx;height: 120rpx;border-radius: 50%;" src="/static/information/defaultAvatar.png"></image>
  26. </view>
  27. <view>
  28. <image style="height: 44rpx;width: 44rpx;margin-left: 20rpx;" src="/static/user/show-gray.png"></image>
  29. </view>
  30. </view>
  31. </view>
  32. <view class="cu-form-group_1" style="margin-top: 20rpx;">
  33. <view class="title">登录账户</view>
  34. <input placeholder="登录账户" placeholder-style="color:#AEAEAE;font-size:30rpx" disabled="true" v-model="userInfo.account"
  35. name="input"></input>
  36. </view>
  37. <view class="cu-form-group_1">
  38. <view class="title">用户姓名</view>
  39. <input placeholder="用户姓名" placeholder-style="color:#AEAEAE;font-size:30rpx" disabled="true" v-model="userInfo.userName"
  40. name="input"></input>
  41. </view>
  42. <view class="cu-form-group_1">
  43. <view class="title">用户类型</view>
  44. <input placeholder="用户类型" placeholder-style="color:#AEAEAE;font-size:30rpx" v-model="role" name="input" disabled=""></input>
  45. </view>
  46. <view class="cu-form-group_1" style="margin-top: 20rpx;">
  47. <view class="title">邮箱</view>
  48. <input placeholder="邮箱" placeholder-style="color:#AEAEAE;font-size:30rpx" v-model="userInfo.email" name="input"></input>
  49. </view>
  50. <view class="cu-form-group_2">
  51. <view class="title">通讯地址</view>
  52. <textarea maxlength="-1" placeholder-style="color:#AEAEAE;font-size:30rpx" v-model="userInfo.address"></textarea>
  53. </view>
  54. <!-- <view class="cu-form-group_1" @tap="$refs.popup1.open();" style="margin-top: 20rpx;">
  55. <view class="title">隐私政策</view>
  56. </view> -->
  57. <uni-popup ref="popup1" type="dialog">
  58. <scroll-view scroll-y class="padding-top radius bg-white" style="width: 660rpx;height: 800rpx;padding: 20rpx;white-space: pre-wrap;">
  59. 本应用app为工程大数据,是广西华正创展信息技术有限公司开发的一款专业的工程档案管理软件。本应用非常重视用户隐私政策并严格遵守相关的法律规定。请您仔细阅读《隐私政策》后再继续使用。如果您继续使用我们的服务,表示您已经充分阅读和理解我们协议的全部内容。
  60. 本app尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更优质的服务,本应用会按照本隐私权政策的规定使用和披露您的个人信息。除本隐私权政策另有规定外,在未征得您事先许可的情况下,本应用不会将这些信息对外披露或向第三方提供。本应用会不时更新本隐私权政策。 您在同意本应用服务使用协议之时,即视为您已经同意本隐私权政策全部内容。
  61. 1. 适用范围
  62. (a) 在您注册本应用app帐号时,您根据app要求提供的个人注册信息;
  63. (b) 在您使用本应用网络服务,或访问本应用平台网页时,本应用自动接收并记录的您的浏览器和计算机上的信息,包括但不限于您的IP地址、浏览器的类型、使用的语言、访问日期和时间、软硬件特征信息及您需求的网页记录等数据;
  64. (c) 本应用通过合法途径从商业伙伴处取得的用户个人数据。
  65. (d)本应用严禁用户发布不良信息,如裸露、色情和亵渎内容,发布的内容我们会进行审核,一经发现不良信息,会禁用该用户的所有权限,予以封号处理。
  66. 2. 信息使用
  67. (a)本应用不会向任何无关第三方提供、出售、出租、分享或交易您的个人登录信息。如果我们存储发生维修或升级,我们会事先发出推送消息来通知您,请您提前允许本应用消息通知。
  68. (b) 本应用亦不允许任何第三方以任何手段收集、编辑、出售或者无偿传播您的个人信息。任何本应用平台用户如从事上述活动,一经发现,本应用有权立即终止与该用户的服务协议。
  69. (c) 为服务用户的目的,本应用可能通过使用您的个人信息,向您提供您感兴趣的信息,包括但不限于向您发出产品和服务信息,或者与本应用合作伙伴共享信息以便他们向您发送有关其产品和服务的信息(后者需要您的事先同意)。
  70. 3. 信息披露
  71. 在如下情况下,本应用将依据您的个人意愿或法律的规定全部或部分的披露您的个人信息:
  72. (a) 未经您事先同意,我们不会向第三方披露;
  73. (b)为提供您所要求的产品和服务,而必须和第三方分享您的个人信息;
  74. (c) 根据法律的有关规定,或者行政或司法机构的要求,向第三方或者行政、司法机构披露;
  75. (d) 如您出现违反中国有关法律、法规或者本应用服务协议或相关规则的情况,需要向第三方披露;
  76. (e) 如您是适格的知识产权投诉人并已提起投诉,应被投诉人要求,向被投诉人披露,以便双方处理可能的权利纠纷;
  77. 4. 信息存储和交换
  78. 本应用收集的有关您的信息和资料将保存在本应用及(或)其关联公司的服务器上,这些信息和资料可能传送至您所在国家、地区或本应用收集信息和资料所在地的境外并在境外被访问、存储和展示。
  79. 5. Cookie的使用
  80. (a) 在您未拒绝接受cookies的情况下,本应用会在您的计算机上设定或取用cookies ,以便您能登录或使用依赖于cookies的本应用平台服务或功能。本应用使用cookies可为您提供更加周到的个性化服务,包括推广服务。
  81. (b) 您有权选择接受或拒绝接受cookies。您可以通过修改浏览器设置的方式拒绝接受cookies。但如果您选择拒绝接受cookies,则您可能无法登录或使用依赖于cookies的本应用网络服务或功能。
  82. (c) 通过本应用所设cookies所取得的有关信息,将适用本政策。
  83. 6.本隐私政策的更改
  84. (a)如果决定更改隐私政策,我们会在本政策中、本公司网站中以及我们认为适当的位置发布这些更改,以便您了解我们如何收集、使用您的个人信息,哪些人可以访问这些信息,以及在什么情况下我们会透露这些信息。
  85. (b)本公司保留随时修改本政策的权利,因此请经常查看。如对本政策作出重大更改,本公司会通过网站通知的形式告知。
  86. 方披露自己的个人信息,如联络方式或者邮政地址。请您妥善保护自己的个人信息,仅在必要的情形下向他人提供。如您发现自己的个人信息泄密,尤其是本应用用户名及密码发生泄露,请您立即联络本应用客服,以便本应用采取相应措施。
  87. 感谢您花时间了解我们的隐私政策!我们将尽全力保护您的个人信息和合法权益,再次感谢您的信任!
  88. </scroll-view>
  89. </uni-popup>
  90. </form>
  91. </view>
  92. </template>
  93. <script>
  94. import config from "../../../core/api.js"
  95. export default {
  96. data() {
  97. return {
  98. imgList: [],
  99. userInfo: "",
  100. role: "",
  101. rules: [{
  102. name: 'email',
  103. required: false,
  104. type: 'email',
  105. errmsg: '请输入正确的邮箱'
  106. },
  107. {
  108. name: 'account',
  109. required: true,
  110. type: 'required',
  111. errmsg: '请输入登录账户'
  112. }
  113. ]
  114. };
  115. },
  116. onLoad() {
  117. var userInfo = uni.getStorageSync("userInfo")
  118. this.role = uni.getStorageSync("porject"+"_"+uni.getStorageSync("userInfo").id).roleName;
  119. if (userInfo != null) {
  120. if (userInfo.portrait != 'null' && userInfo.portrait != null) {
  121. this.imgList.push(userInfo.portrait)
  122. }
  123. if (userInfo.address == 'null' || userInfo.address == null) {
  124. userInfo.address = ""
  125. }
  126. if (userInfo.email == 'null' || userInfo.email == null) {
  127. userInfo.email = ""
  128. }
  129. this.userInfo = userInfo;
  130. }
  131. },
  132. methods: {
  133. save() {
  134. let result = this.$formValidate.validate(this.userInfo, this.rules) //表单验证
  135. var that = this;
  136. if (result.isOk) {
  137. if (this.imgList.length != 0 && this.imgList[0] != this.userInfo.portrait) {
  138. var url = config.api;
  139. var token = uni.getStorageSync("token");
  140. uni.uploadFile({
  141. url: url + '/app/updateUserHaveportrait',
  142. filePath: this.imgList[0],
  143. name: 'file',
  144. header: {
  145. "Authorization": token
  146. },
  147. formData: {
  148. "userId": this.userInfo.id,
  149. "account": this.userInfo.account,
  150. "userName": this.userInfo.userName,
  151. "email": this.userInfo.email,
  152. "address": this.userInfo.address
  153. },
  154. success: function(uploadFileRes) {
  155. var data = JSON.parse(uploadFileRes.data);
  156. if (data.result == "1") {
  157. uni.setStorageSync("userInfo", data.data);
  158. that.$prompt.none(data.msg)
  159. }
  160. }
  161. });
  162. } else {
  163. this.userInfo.portrait = this.imgList[0];
  164. that.http.request('/app/updateUser', this.userInfo, 'json').then((result) => {
  165. if (result.result == "1") {
  166. uni.setStorageSync("userInfo", result.data);
  167. that.$prompt.none(result.msg)
  168. }
  169. })
  170. }
  171. } else {
  172. that.$prompt.none(result.errmsg)
  173. return false
  174. }
  175. },
  176. ChooseImage() {
  177. uni.chooseImage({
  178. count: 1, //默认9
  179. sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
  180. sourceType: ['album'], //从相册选择
  181. success: (res) => {
  182. if (this.imgList.length != 0) {
  183. this.imgList = [];
  184. this.imgList = this.imgList.concat(res.tempFilePaths)
  185. } else {
  186. this.imgList = [];
  187. this.imgList = res.tempFilePaths
  188. }
  189. }
  190. });
  191. },
  192. ViewImage(e) {
  193. uni.previewImage({
  194. urls: this.imgList,
  195. current: e.currentTarget.dataset.url
  196. });
  197. },
  198. DelImg(e) {
  199. uni.showModal({
  200. title: '提示',
  201. content: '确定要删除吗',
  202. cancelText: '取消',
  203. confirmText: '确定',
  204. success: res => {
  205. if (res.confirm) {
  206. this.imgList.splice(e.currentTarget.dataset.index, 1)
  207. }
  208. }
  209. })
  210. },
  211. }
  212. }
  213. </script>
  214. <style>
  215. .cu-form-group .title {
  216. min-width: calc(4em + 15px);
  217. }
  218. .cont {
  219. display: flex;
  220. flex-direction: row;
  221. align-items: center;
  222. justify-content: flex-end;
  223. }
  224. .login-img {
  225. width: 60rpx;
  226. height: 60rpx;
  227. }
  228. .text-black {
  229. color: #101010;
  230. }
  231. .cu-form-group_top{background-color: #fff;display: flex;align-items: center;justify-content: space-between;padding: 30rpx 24rpx;}
  232. .cu-form-group_top_right{display: flex;align-items: center;}
  233. .cu-form-group_1 {
  234. display: flex;
  235. align-items: center;
  236. padding: 0 24rpx;
  237. border-bottom: 2rpx solid #E3E1E1;
  238. height: 88rpx;
  239. background-color: #fff;
  240. }
  241. .cu-form-group_1 .title {
  242. width: 148rpx;
  243. font-size: 30rpx;
  244. color: #101010;
  245. }
  246. .cu-form-group_1 input {
  247. width: 554rpx;
  248. color: #8a8a8a;
  249. font-size: 30rpx;
  250. }
  251. .cu-form-group_2 {
  252. display: flex;
  253. background-color: #fff;
  254. padding: 22rpx 24rpx;
  255. }
  256. .cu-form-group_2 .title {
  257. width: 148rpx;
  258. font-size: 30rpx;
  259. color: #101010;
  260. }
  261. .cu-form-group_2 textarea {
  262. width: 554rpx;
  263. color: #8a8a8a;
  264. font-size: 30rpx;
  265. height: 130rpx;
  266. }
  267. </style>