Explorar el Código

Merge branch 'master' of http://git.cc-lotus.info/service-platform/mobile-official

wuhongyu hace 4 años
padre
commit
f51c253a05

+ 11 - 5
src/layout/myProduct/release.vue

@@ -74,7 +74,8 @@
             <el-input v-model="form.contact_tel" placeholder="请输入联系电话"></el-input>
           </el-form-item>
           <el-form-item>
-            <el-button type="primary" @click="onSubmit">发布</el-button>
+            <el-button type="primary" @click="onSubmitDraft">保存草稿</el-button>
+            <el-button type="primary" @click="onSubmit">信息发布</el-button>
           </el-form-item>
         </el-form>
       </el-col>
@@ -89,13 +90,14 @@ const { mapActions: maarkettype } = createNamespacedHelpers('maarkettype');
 
 export default {
   name: 'release',
-  props: {},
+  props: {
+    form: null,
+  },
   components: {
     upload,
   },
   data: function() {
     return {
-      form: {},
       // 产品类型
       totaltype_list: [
         { name: '技术', value: '0' },
@@ -127,9 +129,13 @@ export default {
   },
   methods: {
     ...maarkettype(['query']),
-    // 提交发布
+    // 保存草稿
+    onSubmitDraft() {
+      this.$emit('onSubmitDraft', { data: this.form });
+    },
+    // 信息发布
     onSubmit() {
-      console.log(this.form);
+      this.$emit('onSubmit', { data: this.form });
     },
     // 查询类型
     async searchType({ category = 54, ...info } = {}) {

+ 41 - 5
src/views/userCenter/myProduct/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>
+          <release :form="form" @onSubmitDraft="onSubmitDraft" @onSubmit="onSubmit"></release>
         </el-col>
       </el-col>
     </el-row>
@@ -16,13 +16,13 @@
 <script>
 import NavBar from '@/layout/common/topInfo.vue';
 import release from '@/layout/myProduct/release.vue';
-
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: mapMarketproduct } = createNamespacedHelpers('marketproduct');
 export default {
   name: 'detail',
   props: {},
   components: {
     NavBar,
-    // footInfo,
     release, //产品发布
   },
   data: () => ({
@@ -32,10 +32,46 @@ export default {
     isleftarrow: '',
     // 返回
     navShow: true,
+    // 发布产品
+    form: {},
   }),
   created() {},
-  computed: {},
-  methods: {},
+  computed: {
+    ...mapState(['user']),
+  },
+  methods: {
+    ...mapMarketproduct({ productFetch: 'fetch', productCreate: 'create', productUpdate: 'update' }),
+    // 保存草稿
+    async onSubmitDraft({ data }) {
+      if (data.id) {
+        let res = await this.productUpdate(data);
+        if (this.$checkRes(res)) {
+          this.$message({
+            message: '草稿修改成功',
+            type: 'success',
+          });
+        } else {
+          this.$message.error('草稿修改失败');
+        }
+      } else {
+        data.status = '3';
+        data.userid = this.user.uid;
+        let res = await this.productCreate(data);
+        if (this.$checkRes(res)) {
+          this.$message({
+            message: '草稿创建成功',
+            type: 'success',
+          });
+        } else {
+          this.$message.error('草稿创建失败');
+        }
+      }
+    },
+    // 信息发布
+    onSubmit({ data }) {
+      console.log(data);
+    },
+  },
   mounted() {
     this.title = this.$route.meta.title;
     this.isleftarrow = this.$route.meta.isleftarrow;

+ 3 - 3
src/views/userCenter/myProduct/index.vue

@@ -11,21 +11,21 @@
               <van-tab>
                 <template #title>
                   <van-icon name="todo-list" />
-                  <p>草稿</p>
+                  <p>待发布</p>
                 </template>
                 <caogaoList></caogaoList>
               </van-tab>
               <van-tab>
                 <template #title>
                   <van-icon name="column" />
-                  <p>审核</p>
+                  <p>审核</p>
                 </template>
                 <noauditList></noauditList>
               </van-tab>
               <van-tab>
                 <template #title>
                   <van-icon name="label" />
-                  <p>审核成功</p>
+                  <p>已发布</p>
                 </template>
                 <auditList></auditList>
               </van-tab>

+ 32 - 40
src/views/userCenter/myProduct/parts/caogaoList.vue

@@ -3,16 +3,31 @@
     <el-row>
       <el-col :span="24" class="info">
         <el-col :span="24" class="list" v-for="(item, index) in list" :key="index">
-          <p class="textOver">
+          <!-- <p class="textOver">
             <span @click="$router.push({ path: '/userCenter/myProduct/detailinfo' })">{{ item.name }}</span>
             <span style="float:right"><van-button type="info" size="small" @click="submit">删除</van-button></span>
           </p>
-
           <p>
             <span class="ptwo"><span>产品类型:</span>{{ item.product_type_name || '暂无' }}</span>
             <span class="ptwo"><span>研发阶段:</span>{{ item.phase == 1 ? '阶段成果' : item.phase == 2 ? '最终成果' : '暂无' }}</span>
           </p>
-          <p class="textOver"><span>应用领域:</span>{{ item.field || '暂无' }}</p>
+          <p class="textOver"><span>应用领域:</span>{{ item.field || '暂无' }}</p> -->
+          <el-col :span="19" class="messag">
+            <p>
+              <span>{{ item.name }}</span>
+              <span>{{ item.status == '2' ? '审核拒绝' : item.status == '3' ? '草稿' : '未识别' }}</span>
+            </p>
+            <p>
+              <span><span>产品类型:</span>{{ item.product_type_name || '暂无' }}</span>
+              <span><span>研发阶段:</span>{{ item.phase == 1 ? '阶段成果' : item.phase == 2 ? '最终成果' : '暂无' }}</span>
+            </p>
+            <p class="textOver"><span>应用领域:</span>{{ item.field || '暂无' }}</p>
+          </el-col>
+          <el-col :span="5" class="btn">
+            <el-button type="primary" size="mini">编辑</el-button>
+            <el-button type="success" size="mini">发布</el-button>
+            <el-button type="danger" size="mini">删除</el-button>
+          </el-col>
         </el-col>
       </el-col>
     </el-row>
@@ -21,39 +36,29 @@
 
 <script>
 import { mapState, createNamespacedHelpers } from 'vuex';
-const { mapActions: product } = createNamespacedHelpers('marketproduct');
+const { mapActions: mapMarketproduct } = createNamespacedHelpers('marketproduct');
 export default {
   name: 'technologyList',
   props: {},
   components: {},
   data: function() {
     return {
-      list: [
-        {
-          name: '技术技术技术技术',
-          product_type_name: '技术',
-          phase: '1',
-          field: '技术技术技术技术',
-        },
-        {
-          name: '技术技术技术技术',
-          product_type_name: '技术',
-          phase: '1',
-          field: '技术技术技术技术',
-        },
-      ],
+      list: [],
     };
   },
   created() {
     this.searchInfo();
   },
   methods: {
-    ...product(['newquery']),
-    async searchInfo() {
-      // let res = await this.newquery({ skip: 0, limit: 6, totaltype: '0', status: '1' });
-      // if (this.$checkRes(res)) {
-      //   this.$set(this, `list`, res.data);
-      // }
+    ...mapMarketproduct({ productList: 'query', columnInfo: 'fetch', marketcerate: 'create', productdeltet: 'delete', upup: 'update' }),
+    async searchInfo({ skip = 0, limit = 10, ...info } = {}) {
+      let userid = this.user.uid;
+      const res = await this.productList({ skip, limit, status: 2, userid, ...info });
+      const resTwo = await this.productList({ skip, limit, status: 3, userid, ...info });
+      var newData = res.data.concat(resTwo.data);
+      if (newData.length != 0) {
+        this.$set(this, `list`, newData);
+      }
     },
     submit() {},
   },
@@ -76,23 +81,10 @@ export default {
     background: #fff;
     padding: 0 10px;
     border-bottom: 1px solid #ccc;
-    p {
-      font-size: 14px;
-      color: #000;
-      padding: 5px 0;
-    }
-    p:first-child {
-      font-size: 16px;
-    }
-    p:nth-child(2) .ptwo {
-      display: inline-block;
-      width: 50%;
-    }
-    p:nth-child(2) .ptwo span:first-child {
-      color: #ccc;
+    .messag {
     }
-    p:last-child span {
-      color: #ccc;
+    .btn {
+      text-align: center;
     }
   }
 }