create.php 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. {include file="public/head"}
  5. <title>{$title}</title>
  6. </head>
  7. <body>
  8. <div id="form-add" class="mp-form" v-cloak="">
  9. <i-Form :model="formData" :label-width="80" >
  10. <Form-Item label="数据组名称">
  11. <i-input v-model="formData.name" placeholder="请输入数据组名称"></i-input>
  12. </Form-Item>
  13. <Form-Item label="数据字段">
  14. <i-input v-model="formData.config_name" placeholder="请输入数据字段例如:site_url"></i-input>
  15. </Form-Item>
  16. <Form-Item label="数据组简介">
  17. <i-input v-model="formData.info" placeholder="请输入数据组简介"></i-input>
  18. </Form-Item>
  19. <Form-Item v-for="(item, index) in formData.typelist" :label="'字段' + (index+1)">
  20. <row ref="typelist">
  21. <i-col span="5">
  22. <Form-Item>
  23. <i-input :placeholder="item.name.placeholder" v-model="item.name.value"></i-input>
  24. </Form-Item>
  25. </i-col>
  26. <i-col span="5">
  27. <Form-Item>
  28. <i-input :placeholder="item.title.placeholder" v-model="item.title.value"></i-input>
  29. </Form-Item>
  30. </i-col>
  31. <i-col span="5">
  32. <Form-Item>
  33. <i-select :placeholder="item.type.placeholder" v-model="item.type.value">
  34. <i-option value="input">文本框</i-option>
  35. <i-option value="textarea">多行文本框</i-option>
  36. <i-option value="radio">单选框</i-option>
  37. <i-option value="checkbox">多选框</i-option>
  38. <i-option value="upload">单文件上传</i-option>
  39. <i-option value="uploads">多文件上传</i-option>
  40. </i-select>
  41. </Form-Item>
  42. </i-col>
  43. <i-col span="7">
  44. <Form-Item>
  45. <i-input :placeholder="item.param.placeholder" v-model="item.param.value"></i-input>
  46. </Form-Item>
  47. </i-col>
  48. <i-col span="2" style="display:inline-block; text-align:right;">
  49. <i-button type="primary" icon="close-round" @click="removeType(index)"></i-button>
  50. </i-col>
  51. </row>
  52. </Form-Item>
  53. <Form-Item><i-button type="primary" @click="addType">添加字段</i-button></Form-Item>
  54. <Form-Item :class="'add-submit-item'">
  55. <i-Button :type="'primary'" :html-type="'submit'" :size="'large'" :long="true" @click.prevent="submit">提交</i-Button>
  56. </Form-Item>
  57. </i-Form>
  58. </div>
  59. <script>
  60. $eb = parent._mpApi;
  61. mpFrame.start(function(Vue){
  62. new Vue({
  63. el:"#form-add",
  64. data:{
  65. formData:{
  66. name: '',
  67. config_name: '',
  68. typelist: [],
  69. info:''
  70. }
  71. },
  72. methods:{
  73. addType: function(){
  74. this.formData.typelist.push({
  75. name: {
  76. placeholder: "字段名称:姓名",
  77. value: ''
  78. },
  79. title: {
  80. placeholder: "字段配置名:name",
  81. value: ''
  82. },
  83. type: {
  84. placeholder: "字段类型",
  85. value: ''
  86. },
  87. param: {
  88. placeholder: "字段参数男-女",
  89. value: ''
  90. }
  91. })
  92. },
  93. removeType: function(index){
  94. this.formData.typelist.splice(index,1);
  95. },
  96. submit: function(){
  97. $eb.axios.post("{$save}",this.formData).then((res)=>{
  98. if(res.status && res.data.code == 200)
  99. return Promise.resolve(res.data);
  100. else
  101. return Promise.reject(res.data.msg || '添加失败,请稍候再试!');
  102. }).then((res)=>{
  103. $eb.message('success',res.msg || '操作成功!');
  104. $eb.closeModalFrame(window.name);
  105. }).catch((err)=>{
  106. this.loading=false;
  107. $eb.message('error',err);
  108. });
  109. }
  110. }
  111. });
  112. });
  113. </script>
  114. </body>