移动端
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 

152 linhas
4.4 KiB

  1. <template>
  2. <div class="home_wrapper">
  3. <!-- 头部开始 -->
  4. <van-nav-bar
  5. title="编辑机构信息"
  6. fixed
  7. placeholder
  8. left-arrow
  9. @click-left="onClickLeft"
  10. />
  11. <!-- 头部结束 -->
  12. <!-- 内容开始 -->
  13. <div class="main">
  14. <van-field label="*机构名称" v-model="serviceForm.financialName" input-align="right" placeholder="请输入机构名称" />
  15. <van-field label="*联系人" v-model="serviceForm.linker" input-align="right" placeholder="请输入联系人" />
  16. <van-field label="*电话" v-model="serviceForm.phone" input-align="right" placeholder="请输入电话" />
  17. <van-field label="地址" v-model="serviceForm.address" input-align="right" placeholder="请输入地址" />
  18. <van-field label="传真" v-model="serviceForm.fax" input-align="right" placeholder="请输入传真" />
  19. <van-field label="简要描述" v-model="serviceForm.description" input-align="right" placeholder="请输入简要描述" />
  20. <van-field label="场所图片:" :border="false" input-align="right" readonly />
  21. <div style="padding: 0 4% 2vh;">
  22. <van-uploader v-model="serviceForm.mainImgList" :after-read="afterReadEvidenceForm" :before-delete="deleteFileEvidenceForm" />
  23. </div>
  24. </div>
  25. <div class="main_btn">
  26. <p @click="submitForm">保存修改</p>
  27. </div>
  28. <!-- 内容结束 -->
  29. </div>
  30. </template>
  31. <script>
  32. import Cookies from "js-cookie";
  33. import {commonUpload, serviceEdit, serviceGet} from "@/api/agriculturalTrusteeship";
  34. export default {
  35. name: "agriculturalTrusteeshipShopAdd",
  36. data() {
  37. return {
  38. activeKey: 0,
  39. active: 0,
  40. loading: false,
  41. finished: false,
  42. center: { lng: 122.089726, lat: 37.540728 }, //经纬度
  43. zoom: 15, //地图展示级别
  44. showDialog:false,
  45. product:{
  46. releaseDate:this.format(new Date(),'yyyy-MM-dd')
  47. },
  48. mainImgArr:[],
  49. productTypeOptions:[],
  50. showProductType:false,
  51. productType:'',
  52. serviceForm:{}
  53. };
  54. },
  55. created() {
  56. this.getDetail();
  57. },
  58. methods: {
  59. getDetail(){
  60. serviceGet(Cookies.get('ACCESS-SESSION-ID')).then(response => {
  61. if (response.data.mainImg){
  62. response.data.mainImgList = [];
  63. var attachement = response.data.mainImg.split( "," );
  64. this.mainImgArr = response.data.mainImg.split( "," );
  65. attachement.forEach(responseAttach=>{
  66. response.data.mainImgList.push({
  67. url:'/api' + responseAttach,
  68. isImage: true
  69. });
  70. })
  71. }
  72. this.serviceForm = response.data;
  73. });
  74. },
  75. submitForm(){
  76. console.log(this.mainImgArr)
  77. this.serviceForm.mainImg = this.mainImgArr.join(',')
  78. serviceEdit(this.serviceForm).then((res) => {
  79. if(res.code=="200"){
  80. this.$notify({ type: 'success', message: '提交成功' });
  81. setTimeout(function(){
  82. history.back(-1);
  83. },2000)
  84. }
  85. })
  86. },
  87. afterReadEvidenceForm(file){
  88. let params1 = new FormData();
  89. params1.append("file", file.file);
  90. commonUpload(params1).then((r1) => {
  91. // this.tEnforceSamplingGoodsList[index].attachement.push(r1.fileName);
  92. console.log(r1)
  93. this.mainImgArr.push(r1.fileName)
  94. })
  95. },
  96. deleteFileEvidenceForm(file,detail) {
  97. this.mainImgArr.splice(detail.index,1);
  98. this.serviceForm.mainImgList.splice(detail.index,1);
  99. },
  100. onConfirmProductType(data){
  101. this.product.productType = data.text;
  102. this.productType = data.text;
  103. this.showProductType = false;
  104. }
  105. },
  106. }
  107. </script>
  108. <style scoped lang="scss">
  109. .home_wrapper{
  110. background: #F6F6F6;
  111. min-height: 100vh;
  112. }
  113. .main{
  114. width: 92%;
  115. margin: 0 auto;
  116. margin-top: 2vh;
  117. border-radius: 10PX;
  118. overflow: hidden;
  119. background-color: #FFF;
  120. }
  121. .main_btn{
  122. display: flex;
  123. justify-content: space-around;
  124. padding: 4vh 0;
  125. p{
  126. font-size: .4rem;
  127. width: 35%;
  128. text-align: center;
  129. padding: 10PX 0;
  130. border-radius: 5rem;
  131. box-shadow: 0px 3PX 6PX 0px rgba(0,0,0,0.16);
  132. &:nth-child(1){
  133. background: #334281;
  134. color: #ffffff;
  135. }
  136. &:nth-child(2){
  137. background: #D1D5E4;
  138. color: #334281;
  139. }
  140. }
  141. }
  142. </style>