form.html 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. {extend name="../../admin/view/main"}
  2. {block name='content'}
  3. <style>
  4. .layui-card-body{
  5. background: white;
  6. }
  7. #newForm{
  8. width: 100%;
  9. }
  10. .merMedias{
  11. width: 200px;
  12. height: 200px;
  13. }
  14. .layui-card{
  15. box-shadow: none;
  16. }
  17. </style>
  18. <div id="newForm">
  19. <el-form :model="form" label-width="140px" ref="form" :disabled="audit!==1">
  20. <el-form-item label="申请用户" prop="b_type">
  21. {{form.user.nickname}}
  22. </el-form-item>
  23. <el-form-item label="申请用户ID" prop="b_type">
  24. {{form.uuid}}
  25. </el-form-item>
  26. <el-form-item label="船厂头像" prop="title">
  27. <el-avatar :src="form.head_img"></el-avatar>
  28. </el-form-item>
  29. <el-form-item label="船厂名称" prop="b_type">
  30. {{form.name}}
  31. </el-form-item>
  32. <el-form-item label="船厂地址" prop="b_type">
  33. {{form.address}}
  34. </el-form-item>
  35. <el-form-item label="联系人" prop="b_type">
  36. {{form.contact_name}}
  37. </el-form-item>
  38. <el-form-item label="联系电话" prop="b_type">
  39. {{form.contact_phone}}
  40. </el-form-item>
  41. <el-form-item label="船厂简介" prop="b_type">
  42. <div>
  43. {{form.intro}}
  44. </div>
  45. <div>
  46. <template v-for="(item,idx) in form.environment_imgs" :key="idx">
  47. <el-image class="merMedias" v-if="item.split('.')[1].toLowerCase()!=='mp4'" :src="item" fit="cover" @click="showImg(item)"></el-image>
  48. <video class="merMedias" :src="item" v-else controls></video>
  49. </template>
  50. </div>
  51. </el-form-item>
  52. <el-form-item label="产品简介" prop="b_type">
  53. <div>
  54. {{form.product_intro}}
  55. </div>
  56. </el-form-item>
  57. <el-form-item label="营业执照" prop="b_type">
  58. <el-image class="merMedias" :src="form.business_img" fit="cover" @click="showImg(form.business_img)"></el-image>
  59. </el-form-item>
  60. <el-form-item label="员工人数">
  61. {{form.num_staff}}
  62. </el-form-item>
  63. <el-form-item label="审核结果" prop="audit" :rules="{message:'请选择',required:true}">
  64. <el-radio :label="2" v-model="form.audit">审核通过</el-radio>
  65. <el-radio :label="3" v-model="form.audit">审核不通过</el-radio>
  66. </el-form-item>
  67. <el-form-item label="审核原因" prop="why" :rules="{message:'请输入',required:form.audit===3}">
  68. <template v-if="audit===1">
  69. <el-input v-model="form.why"></el-input>
  70. </template>
  71. <template v-else>
  72. {{form.audit_at}},{{form.why}}
  73. </template>
  74. </el-form-item>
  75. </el-form>
  76. <div class="layui-form-item text-center" v-if="audit===1">
  77. <el-button class="layui-btn" type="primary" @click="save" :loading="saving">保存数据</el-button>
  78. <button class="layui-btn layui-btn-danger" data-close data-confirm1="确定要取消编辑吗?" type='button'>取消编辑</button>
  79. </div>
  80. </div>
  81. <script>
  82. let vo={:json_encode($row?:null,256)};
  83. let audit=vo.audit
  84. if(audit===1){
  85. vo.audit=2
  86. }
  87. require(['ckeditor'], function () {
  88. });
  89. new Vue({
  90. el:'#newForm',
  91. data:()=>({
  92. form:vo||{
  93. },
  94. audit,
  95. saving:false,
  96. }),
  97. methods:{
  98. showImg(src){
  99. $.previewImage(src)
  100. },
  101. save(){
  102. let _this=this,
  103. form=this.form
  104. this.$refs.form.validate(v=>{
  105. if(!v){
  106. return
  107. }
  108. $.ajax("{:url('audit')}",{
  109. data:{
  110. audit:form.audit,
  111. why:form.why,
  112. id:form.id,
  113. },
  114. type:'post',
  115. beforeSend(){
  116. _this.saving=true
  117. },
  118. success({code,info}){
  119. if(code){
  120. layer.msg('保存成功')
  121. $('#NewsTable').trigger('reload');
  122. $('[data-close]').trigger('click')
  123. }else{
  124. layer.alert(info)
  125. }
  126. },
  127. complete(){
  128. _this.saving=false
  129. }
  130. })
  131. })
  132. }
  133. }
  134. })
  135. </script>
  136. {/block}