dataInfo.vue 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. <template>
  2. <div class="data-info">
  3. <el-card>
  4. <el-form :model="dataForm" label-width="120px">
  5. <el-form-item label="组件类型:">
  6. <el-select v-model="dataForm.type" placeholder="请选择类型" size="large" @change="onChangeStatus" style="width:100%;">
  7. <el-option
  8. v-for="item in typeList"
  9. :key="item.value"
  10. :label="item.text"
  11. :value="item.value"
  12. />
  13. </el-select>
  14. </el-form-item>
  15. <el-form-item label="组件名称:">
  16. <el-input v-model="dataForm.title"></el-input>
  17. </el-form-item>
  18. <el-form-item label="产品状态:">
  19. <el-select v-model="dataForm.statusName" placeholder="请选择状态" size="large" @change="onChangeStatus" style="width:100%;">
  20. <el-option
  21. v-for="item in statusOptions"
  22. :key="item.status"
  23. :label="item.name"
  24. :value="item.status"
  25. />
  26. </el-select>
  27. </el-form-item>
  28. <el-form-item label="说明介绍:">
  29. <el-input type="textarea" v-model="dataForm.title"></el-input>
  30. </el-form-item>
  31. <el-form-item label="组件内容:" v-if="dataForm.type==1">
  32. <Tinymce></Tinymce>
  33. </el-form-item>
  34. </el-form>
  35. </el-card>
  36. <div style="text-align:right; margin-top:20px;">
  37. <el-button type="warning" @click="btnSave">确认保存</el-button>
  38. </div>
  39. </div>
  40. </template>
  41. <script>
  42. import Tinymce from "@/components/Tinymce";
  43. export default{
  44. components:{
  45. Tinymce
  46. },
  47. emits:['onClose'],
  48. props:{
  49. id:{
  50. type:Number,
  51. default:0
  52. },
  53. },
  54. watch:{
  55. id:{
  56. handler(v){
  57. let _this=this;
  58. if(v==null || v<0)return;
  59. _this.getInfo(v);
  60. },
  61. immediate: true,
  62. deep: true
  63. }
  64. },
  65. data(){
  66. return{
  67. activeName:'base',
  68. currentCategory:[],
  69. allCategories:[],
  70. typeList:[
  71. {
  72. value:1,
  73. text:'文本'
  74. },
  75. {
  76. value:2,
  77. text:"二维表"
  78. }
  79. ],
  80. dataForm:{
  81. type:1,
  82. prod:{
  83. items:[],
  84. }
  85. },
  86. statusOptions:[
  87. {
  88. status:5,
  89. name:'启用'
  90. },
  91. {
  92. status:6,
  93. name:'停用'
  94. },
  95. ],
  96. }
  97. },
  98. mounted() {
  99. let _this=this;
  100. _this.initAllCategory();
  101. },
  102. methods:{
  103. //保存更新
  104. btnSave(e){
  105. let _this=this;
  106. if(_this.dataForm.title==''){
  107. _this.$alert("产品标题不能为空");
  108. return;
  109. }
  110. let dataForm={
  111. id:_this.dataForm.id,
  112. title:_this.dataForm.title,
  113. status:_this.dataForm.status,
  114. categoryId:_this.dataForm.categoryId,
  115. sku:_this.dataForm.sku
  116. };
  117. // productUpdate(_this.dataForm).then(res=>{
  118. // if(!res)return;
  119. // _this.$alert("产品审核操作成功");
  120. // _this.$emit("bindUpdate");
  121. // })
  122. },
  123. //产品详情
  124. getInfo(id){
  125. let _this=this;
  126. let par={
  127. id:id,
  128. };
  129. // productInfo(par).then(res=>{
  130. // if(!res)return;
  131. // if(res.status!=200)return;
  132. // _this.dataForm=res.data;
  133. // })
  134. },
  135. onChangeStatus(e){
  136. this.dataForm.status=e;
  137. },
  138. //修改分类信息
  139. onChangeCategory(e){
  140. let _this=this;
  141. _this.dataForm.categoryId=e;
  142. },
  143. //初始化所有分类
  144. initAllCategory(){
  145. let _this=this;
  146. let par={
  147. page:1,
  148. pageSize:9999,
  149. status:1
  150. };
  151. // searchGoodsCategory().then(res=>{
  152. // if(!res)return;
  153. // if(res.status!=200)return;
  154. // _this.allCategories=res.data.data;
  155. // })
  156. }
  157. }
  158. }
  159. </script>
  160. <style lang="scss">
  161. @import './dataInfo.scss'
  162. </style>