task.php 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. <?php
  2. use common\helpers\ComponentHelper;
  3. ComponentHelper::loadComponentView('create-upload', __DIR__);
  4. ComponentHelper::loadComponentView('exec-log', __DIR__);
  5. ?>
  6. <com-list-page :crumbs="crumbs" id="application">
  7. <com-list-table
  8. ref="table"
  9. :api="api"
  10. >
  11. <el-table-column label="ID" prop="id" align="center"></el-table-column>
  12. <el-table-column label="App Id" prop="app_id" align="center"></el-table-column>
  13. <el-table-column label="版本号" prop="version" align="center"></el-table-column>
  14. <el-table-column label="商城签名" prop="mall_sign" align="center"></el-table-column>
  15. <el-table-column label="api域名" prop="api_domain" align="center"></el-table-column>
  16. <el-table-column label="资源域名" prop="static_domain" align="center"></el-table-column>
  17. <el-table-column label="是否发布" :render-header="isReviewLabel" prop="is_review" align="center">
  18. <template slot-scope="scope">
  19. <el-switch
  20. v-model="scope.row.is_review"
  21. :active-value="1"
  22. :inactive-value="0"
  23. @change="changeReview(scope.row)"
  24. ></el-switch>
  25. </template>
  26. </el-table-column>
  27. <el-table-column label="执行状态" prop="status" align="center">
  28. <template slot-scope="scope">
  29. <el-tag effect="plain" type="success" v-if="scope.row.status==1">已处理</el-tag>
  30. <el-tag effect="plain" type="danger" v-if="scope.row.status==2">处理异常</el-tag>
  31. <el-tag effect="plain" type="warning" v-if="scope.row.status==0">待处理</el-tag>
  32. </template>
  33. </el-table-column>
  34. <el-table-column label="修改时间" width="150" prop="updated_at" align="center">
  35. <template slot-scope="scope">
  36. {{ scope.row.updated_at|dateTimeFormat('Y-m-d H:i:s') }}
  37. </template>
  38. </el-table-column>
  39. <el-table-column label="描述" prop="desc" align="center"></el-table-column>
  40. <el-table-column label="操作" align="center">
  41. <template slot-scope="scope">
  42. <el-button type="text" v-if="scope.row.status!=0" @click="seeExecLog(scope.row)">执行日志</el-button>
  43. </template>
  44. </el-table-column>
  45. <template slot="header-left">
  46. <el-button
  47. type="primary"
  48. size="mini"
  49. icon="el-icon-plus"
  50. @click="createUpload()"
  51. >添加</el-button>
  52. </template>
  53. </com-list-table>
  54. <create-upload v-if="dialog.createUpload" ref="createUploadDialog" @success="handleSuccess"></create-upload>
  55. <exec-log v-if="dialog.execLog" ref="execLogDialog"></exec-log>
  56. </com-list-page>
  57. <script>
  58. const application = new Vue({
  59. el: '#application',
  60. data: {
  61. crumbs: [
  62. {
  63. title: '首页',
  64. router: 'mall/overview/index',
  65. },
  66. {
  67. title: '小程序管理',
  68. },
  69. {
  70. title: '小程序上传日志',
  71. }
  72. ],
  73. api: 'mall/mini-program/task',
  74. btnLoad: false,
  75. dialog: {
  76. createUpload: false,
  77. execLog: false,
  78. },
  79. },
  80. methods: {
  81. /**
  82. * 本地更新数据
  83. */
  84. handleSuccess() {
  85. this.dialog.createUpload = false
  86. this.$nextTick(() => {
  87. this.$refs.table.getList()
  88. })
  89. },
  90. createUpload() {
  91. this.dialog.createUpload = true
  92. this.$nextTick(() => {
  93. console.log(this.$refs)
  94. // console.log(this.$refs.createUploadDialog)
  95. this.$refs.createUploadDialog.open('show')
  96. })
  97. },
  98. seeExecLog(row){
  99. this.dialog.execLog = true
  100. let params = {
  101. r: 'mall/mini-program/task-log',
  102. id: row.id
  103. }
  104. request({
  105. params: params,
  106. method: 'get',
  107. }).then(e => {
  108. if (e.data.code == 0) {
  109. // this.dialog.execLog = true
  110. this.$nextTick(() => {
  111. this.$refs.execLogDialog.open(e.data.data)
  112. })
  113. }
  114. }).catch(e => {
  115. self.$message.error(e.data.msg);
  116. this.dialog.execLog = false
  117. })
  118. // this.dialog.execLog = true
  119. // console.log(row);
  120. // this.$nextTick(() => {
  121. // console.log(this.$refs)
  122. // this.$refs.execLogDialog.open(row)
  123. // })
  124. },
  125. changeReview(row) {
  126. let params = {
  127. r: 'mall/mini-program/task-change-review',
  128. id: row.id
  129. }
  130. request({
  131. params: params,
  132. method: 'get',
  133. }).then(e => {
  134. if (e.data.code == 0) {
  135. this.$nextTick(() => {
  136. this.$refs.table.getList()
  137. })
  138. }
  139. }).catch(e => {
  140. self.$message.error(e.data.msg);
  141. self.getConfLoading = false;
  142. })
  143. },
  144. isReviewLabel(h) {
  145. return h('div', {}, [
  146. h('span', '是否发布'),
  147. h('el-tooltip', {
  148. props: {
  149. effect: 'dark',
  150. content: '小程序发布成功后,请将开关打开,否则部分内容可能无法查看',
  151. placement: 'top',
  152. 'popper-class': 'w-200'
  153. }
  154. }, [
  155. h('i', {
  156. class: 'el-icon-info'
  157. })
  158. ])
  159. ])
  160. },
  161. }
  162. })
  163. </script>