release.vue 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <template>
  2. <div id="release">
  3. <el-row>
  4. <el-col :span="24" class="info">
  5. <van-form @submit="onSubmit">
  6. <van-field name="radio" label="产品类型">
  7. <template #input>
  8. <van-radio-group v-model="form.totaltype" direction="horizontal">
  9. <van-radio name="0">技术</van-radio>
  10. <van-radio name="1">产品</van-radio>
  11. <van-radio name="2">服务</van-radio>
  12. </van-radio-group>
  13. </template>
  14. </van-field>
  15. <van-field v-model="form.name" name="产品名称" label="产品名称" placeholder="产品名称" :rules="[{ required: true, message: '请填写产品名称' }]" />
  16. <van-field readonly clickable name="picker" :value="form.product_type_id" label="类型" placeholder="请选择类型" @click="typePicker = true" />
  17. <van-popup v-model="typePicker" position="bottom">
  18. <van-picker show-toolbar :columns="product_type_List" @confirm="onConfirm" @cancel="typePicker = false" />
  19. </van-popup>
  20. <div style="margin: 16px;">
  21. <van-button round block type="info" native-type="submit">
  22. 提交
  23. </van-button>
  24. </div>
  25. </van-form>
  26. </el-col>
  27. </el-row>
  28. </div>
  29. </template>
  30. <script>
  31. import { mapState, createNamespacedHelpers } from 'vuex';
  32. const { mapActions: markettype } = createNamespacedHelpers('markettype');
  33. export default {
  34. name: 'release',
  35. props: {},
  36. components: {},
  37. data: function() {
  38. return {
  39. form: {
  40. totaltype: '0',
  41. },
  42. product_type_List: [],
  43. typePicker: false,
  44. };
  45. },
  46. created() {
  47. this.searchType();
  48. },
  49. methods: {
  50. ...markettype({ markettypeList: 'query' }),
  51. // 查询类型
  52. async searchType({ category = 54, ...info } = {}) {
  53. console.log(category);
  54. const res = await this.markettypeList({ category, ...info });
  55. if (this.$checkRes(res)) {
  56. // this.$set(this, `product_type_List`, res.data);
  57. console.log(res.data);
  58. }
  59. },
  60. onSubmit(values) {
  61. console.log(values);
  62. },
  63. // 类型
  64. onConfirm(value) {
  65. console.log(value);
  66. // this.$set(this.form, `product_type_id`, product_type_id);
  67. // this.typePicker = false;
  68. },
  69. },
  70. computed: {
  71. ...mapState(['user']),
  72. pageTitle() {
  73. return `${this.$route.meta.title}`;
  74. },
  75. },
  76. metaInfo() {
  77. return { title: this.$route.meta.title };
  78. },
  79. };
  80. </script>
  81. <style lang="less" scoped></style>