guhongwei 4 vuotta sitten
vanhempi
commit
1a4ea10eff
5 muutettua tiedostoa jossa 94 lisäystä ja 1 poistoa
  1. 1 0
      package.json
  2. 83 0
      src/layout/market/release.vue
  3. 2 0
      src/store/index.js
  4. 4 1
      src/views/market/detail.vue
  5. 4 0
      vue.config.js

+ 1 - 0
package.json

@@ -12,6 +12,7 @@
     "core-js": "^3.6.4",
     "element-ui": "^2.13.2",
     "lodash": "^4.17.15",
+    "moment": "^2.26.0",
     "naf-core": "^0.1.2",
     "vant": "^2.8.2",
     "vue": "^2.6.11",

+ 83 - 0
src/layout/market/release.vue

@@ -0,0 +1,83 @@
+<template>
+  <div id="release">
+    <el-row>
+      <el-col :span="24" class="info">
+        <van-form @submit="onSubmit">
+          <van-field name="radio" label="产品类型">
+            <template #input>
+              <van-radio-group v-model="form.totaltype" direction="horizontal">
+                <van-radio name="0">技术</van-radio>
+                <van-radio name="1">产品</van-radio>
+                <van-radio name="2">服务</van-radio>
+              </van-radio-group>
+            </template>
+          </van-field>
+          <van-field v-model="form.name" name="产品名称" label="产品名称" placeholder="产品名称" :rules="[{ required: true, message: '请填写产品名称' }]" />
+          <van-field readonly clickable name="picker" :value="form.product_type_id" label="类型" placeholder="请选择类型" @click="typePicker = true" />
+          <van-popup v-model="typePicker" position="bottom">
+            <van-picker show-toolbar :columns="product_type_List" @confirm="onConfirm" @cancel="typePicker = false" />
+          </van-popup>
+          <div style="margin: 16px;">
+            <van-button round block type="info" native-type="submit">
+              提交
+            </van-button>
+          </div>
+        </van-form>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: markettype } = createNamespacedHelpers('markettype');
+export default {
+  name: 'release',
+  props: {},
+  components: {},
+  data: function() {
+    return {
+      form: {
+        totaltype: '0',
+      },
+      product_type_List: [],
+      typePicker: false,
+    };
+  },
+  created() {
+    this.searchType();
+  },
+  methods: {
+    ...markettype({ markettypeList: 'query' }),
+    // 查询类型
+    async searchType({ category = 54, ...info } = {}) {
+      console.log(category);
+      const res = await this.markettypeList({ category, ...info });
+      if (this.$checkRes(res)) {
+        // this.$set(this, `product_type_List`, res.data);
+        console.log(res.data);
+      }
+    },
+    onSubmit(values) {
+      console.log(values);
+    },
+    // 类型
+    onConfirm(value) {
+      console.log(value);
+      // this.$set(this.form, `product_type_id`, product_type_id);
+      // this.typePicker = false;
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</script>
+
+<style lang="less" scoped></style>

+ 2 - 0
src/store/index.js

@@ -2,6 +2,7 @@ import Vue from 'vue';
 import Vuex from 'vuex';
 import marketproduct from '@common/store/market/marketproduct';
 import expertsuser from '@common/store/market/exportuser';
+import markettype from '@common/store/market/markettype';
 Vue.use(Vuex);
 
 export default new Vuex.Store({
@@ -11,5 +12,6 @@ export default new Vuex.Store({
   modules: {
     marketproduct,
     expertsuser,
+    markettype,
   },
 });

+ 4 - 1
src/views/market/detail.vue

@@ -6,7 +6,7 @@
           <NavBar v-show="navShow" :title="title" :isleftarrow="isleftarrow"> </NavBar>
         </el-col>
         <el-col :span="24" class="main">
-          发布
+          <release></release>
         </el-col>
         <el-col :span="24" class="foot">
           <footInfo></footInfo>
@@ -19,12 +19,15 @@
 <script>
 import NavBar from '@/layout/common/topInfo.vue';
 import footInfo from '@/layout/common/footInfo.vue';
+import release from '@/layout/market/release.vue';
+
 export default {
   name: 'detail',
   props: {},
   components: {
     NavBar,
     footInfo,
+    release, //产品发布
   },
   data: () => ({
     // 头部标题

+ 4 - 0
vue.config.js

@@ -32,6 +32,10 @@ module.exports = {
         changeOrigin: true,
         ws: true,
       },
+      '/ws': {
+        target: 'http://free.liaoningdoupo.com',
+        ws: true,
+      },
     },
   },
 };