addEditionSetting.vue 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. <template>
  2. <div class="addPage">
  3. <div class="formBox">
  4. <a-form :form="form" @submit="handleSubmit">
  5. <a-row>
  6. <a-col :span="24">
  7. <a-form-item
  8. :label-col="formItemLayout.labelCol"
  9. :wrapper-col="formItemLayout.wrapperCol"
  10. label="版本号"
  11. >
  12. <a-input
  13. v-decorator="[
  14. 'formData.version',
  15. { initialValue: formData.version,
  16. rules: [{ required: true, message: '请输入版本号' }]
  17. },
  18. ]"
  19. id="addEditionSetting-version"
  20. placeholder="请输入版本号"
  21. />
  22. </a-form-item>
  23. </a-col>
  24. <a-col :span="24">
  25. <a-form-item
  26. :label-col="formItemLayout.labelCol"
  27. :wrapper-col="formItemLayout.wrapperCol"
  28. label="请选择更新时间"
  29. >
  30. <a-date-picker
  31. show-time
  32. id="addEditionSetting-publicDate"
  33. placeholder="年/月/日 时/分/秒"
  34. v-decorator="[
  35. 'formData.publicDate',
  36. { initialValue: formData.publicDate,
  37. rules: [{required: true, message: '请选择更新时间!' }] },
  38. ]" />
  39. </a-form-item>
  40. </a-col>
  41. <a-col :span="24">
  42. <a-form-item
  43. :label-col="formItemLayout.labelCol"
  44. :wrapper-col="formItemLayout.wrapperCol"
  45. label="强制升级"
  46. >
  47. <a-radio-group
  48. name="radioGroup"
  49. id="addEditionSetting-forceUpgrade"
  50. @change="onChange"
  51. v-decorator="[
  52. 'formData.forceUpgrade',
  53. {
  54. initialValue: formData.forceUpgrade,
  55. rules: [{ required: true, type: 'number', message: '请选择是否强制升级!' }] },
  56. ]"
  57. >
  58. <a-radio :value="1">是</a-radio>
  59. <a-radio :value="0">否</a-radio>
  60. </a-radio-group>
  61. </a-form-item>
  62. </a-col>
  63. <a-col :span="24">
  64. <a-form-item
  65. :label-col="formItemLayout.labelCol"
  66. :wrapper-col="formItemLayout.wrapperCol"
  67. label="下载链接"
  68. >
  69. <a-input
  70. v-decorator="[
  71. 'formData.downloadUrl',
  72. { initialValue: formData.downloadUrl,
  73. rules: [{ message: '请输入下载链接' }]
  74. },
  75. ]"
  76. id="addEditionSetting-downloadUrl"
  77. placeholder="请输入下载链接"
  78. />
  79. </a-form-item>
  80. </a-col>
  81. <a-col :span="24">
  82. <a-form-item
  83. :label-col="formItemLayout.labelCol"
  84. :wrapper-col="formItemLayout.wrapperCol"
  85. label="升级内容"
  86. >
  87. <a-textarea
  88. placeholder="请输入升级内容"
  89. id="addEditionSetting-upgradeContent"
  90. auto-size
  91. v-decorator="[
  92. 'formData.upgradeContent',
  93. { initialValue: formData.upgradeContent,
  94. rules: [{ required: true, message: '请输入升级内容' }]
  95. },
  96. ]"
  97. />
  98. </a-form-item>
  99. </a-col>
  100. </a-row>
  101. <a-row>
  102. <a-col :span="24">
  103. <a-form-item
  104. label="附件"
  105. :label-col="formItemLayout.labelCol"
  106. :wrapper-col="formItemLayout.wrapperCol"
  107. >
  108. <div style="display: block;">
  109. <Upload
  110. ref="upfile"
  111. id="addEditionSetting-attachment"
  112. :maxNums="1"
  113. :fileSize="100"
  114. v-decorator="[
  115. 'formData.attachment',
  116. { initialValue: formData.attachment,
  117. rules: [{ required: true, message: '请上传app安装文件' }]
  118. },
  119. ]"
  120. fileType="application/vnd.android.package-archive"
  121. upText="附件上传">
  122. </Upload>
  123. </div>
  124. <div style="line-height: 16px;clear: both;padding-top: 10px;color: #999;">(上传apk格式文件)</div>
  125. </a-form-item>
  126. </a-col>
  127. </a-row>
  128. <a-form-item :label-col="formTailLayout.labelCol" :wrapper-col="formTailLayout.wrapperCol">
  129. <a-button htmlType="submit" type="primary" id="addEditionSetting-submit">
  130. 保存
  131. </a-button>
  132. <a-button style="margin-left: 20px;" @click="cansel" id="addEditionSetting-cansel">
  133. 返回列表
  134. </a-button>
  135. </a-form-item>
  136. </a-form>
  137. </div>
  138. </div>
  139. </template>
  140. <script>
  141. import { Upload } from '@/components'
  142. import { saveItem, editItem } from '@/api/editionSetting.js'
  143. import moment from 'moment'
  144. const formItemLayout = {
  145. labelCol: { span: 3 },
  146. wrapperCol: { span: 6 }
  147. }
  148. const formTailLayout = {
  149. wrapperCol: { offset: 5 }
  150. }
  151. export default {
  152. name: 'AddeditionSetting',
  153. components: {
  154. Upload
  155. },
  156. data () {
  157. return {
  158. formItemLayout,
  159. formTailLayout,
  160. form: this.$form.createForm(this),
  161. formData: {
  162. version: '',
  163. publicDate: null,
  164. downloadUrl: '',
  165. forceUpgrade: '0',
  166. upgradeContent: '',
  167. attachment: '',
  168. },
  169. applyName: 'IT后台',
  170. applyCode: 'atit',
  171. mode1: 'time'
  172. }
  173. },
  174. methods: {
  175. // 保存
  176. handleSubmit (e) {
  177. e.preventDefault()
  178. const _this = this
  179. this.form.validateFields((err, values) => {
  180. if (!err) {
  181. const query = this.$route.query
  182. const formData = Object.assign({}, this.formData, values.formData, { applyName: 'IT后台' }, { applyCode: 'atit' })
  183. formData.publicDate = formData.publicDate.format('YYYY-MM-DD HH:mm:ss')
  184. saveItem(formData).then(res => {
  185. // console.log(res, 'rrrrrrrrr')
  186. if (res.status == 200) {
  187. _this.$message.success(res.message ? res.message : '保存成功')
  188. _this.$router.push({ name: 'editionSetting_list' })
  189. } else {
  190. _this.$message.error(res.message)
  191. }
  192. })
  193. }
  194. })
  195. },
  196. // 返回列表
  197. cansel () {
  198. this.$router.push({ name: 'editionSetting_list' })
  199. },
  200. // 选择时间
  201. handleOpenChange1 (open) {
  202. console.log(open)
  203. if (open) {
  204. this.mode1 = 'time'
  205. }
  206. },
  207. // 改变默认选项
  208. onChange (e) {
  209. console.log('radio checked', e.target.value)
  210. }
  211. },
  212. beforeRouteEnter (to, from, next) {
  213. next(vm => {
  214. console.log(111)
  215. // vm.loading = false
  216. const params = vm.$route.query
  217. console.log(params.id)
  218. if (params.id) {
  219. editItem({
  220. id: params.id
  221. }).then(res => {
  222. console.log(res)
  223. if (res.status == 200) {
  224. const page = res.data
  225. vm.formData = Object.assign(vm.formData, page)
  226. vm.formData.forceUpgrade = Number(vm.formData.forceUpgrade)
  227. vm.formData.publicDate = moment(vm.formData.publicDate)
  228. vm.$refs.upfile.setFileList(vm.formData.attachment)
  229. }
  230. })
  231. }
  232. })
  233. }
  234. }
  235. </script>
  236. <style lang="less">
  237. .addPage{
  238. .formBox{
  239. padding:34px 0 10px;
  240. flex-grow: 1;
  241. background: #fff;
  242. border-radius: 5px;
  243. }
  244. }
  245. </style>