guhongwei 3 éve
szülő
commit
339e894cbc

+ 8 - 0
src/router/index.js

@@ -475,6 +475,13 @@ const patent = [
     component: () => import('../views/patent/admin/techol/techol_info.vue'),
   },
 ];
+const patentCommon = [
+  {
+    path: '/commonData/transaction/index',
+    meta: { title: '专利转让-添加信息' },
+    component: () => import('../views/commonData/transaction/index.vue'),
+  },
+];
 const web = [
   {
     path: '/',
@@ -486,6 +493,7 @@ const web = [
   ...service,
   ...account,
   ...patent,
+  ...patentCommon,
   {
     path: '/login',
     name: 'login',

+ 126 - 0
src/views/commonData/transaction/index.vue

@@ -0,0 +1,126 @@
+<template>
+  <div id="index">
+    <admin-frame topType="2" :rightArrow="false" :leftArrow="false" :usePage="false" :useNav="false">
+      <template v-slot:info>
+        <van-col :span="24" class="one">
+          <van-form @submit="onSubmit" @reset="onReset">
+            <!-- <van-field v-model="form.user_id" name="user_id" label="用户id" readonly style="display: none" />
+          <van-field v-model="form.patent_id" name="patent_id" label="专利id" readonly style="display: none" /> -->
+            <van-field v-model="form.create_number" name="create_number" label="申请号" :rules="[{ required: true, message: '申请号' }]" />
+            <van-field v-model="form.patent_name" name="patent_name" label="专利名称" :rules="[{ required: true, message: '专利名称' }]" />
+            <van-field v-model="form.contact" name="contact" label="联系人" :rules="[{ required: true, message: '联系人' }]" />
+            <van-field v-model="form.phone" name="phone" label="联系电话" :rules="[{ required: true, message: '联系电话' }]" />
+            <van-field v-model="form.email" name="email" label="电子邮箱" :rules="[{ required: true, message: '电子邮箱' }]" />
+            <van-field v-model="form.budget" name="budget" type="digit" label="投资预算(万元)" :rules="[{ required: true, message: '投资预算' }]" />
+            <van-field name="type" label="交易类型">
+              <template #input>
+                <van-radio-group v-model="form.type" direction="horizontal">
+                  <van-radio name="转让">转让</van-radio>
+                  <van-radio name="合作">合作</van-radio>
+                  <van-radio name="招商">招商</van-radio>
+                  <van-radio name="质押">质押</van-radio>
+                </van-radio-group>
+              </template>
+            </van-field>
+            <van-field name="is_report" label="评估报告">
+              <template #input>
+                <van-radio-group v-model="form.is_report" direction="horizontal">
+                  <van-radio :name="true">有</van-radio>
+                  <van-radio :name="false">无</van-radio>
+                </van-radio-group>
+              </template>
+            </van-field>
+            <van-field name="report" label="评估报告" v-if="form.is_report == true">
+              <template #input>
+                <van-uploader
+                  :fileList="form.report"
+                  :max-count="1"
+                  :after-read="(file) => toUpload(file, 'report')"
+                  @delete="(file) => toDelete(file, 'report')"
+                />
+              </template>
+            </van-field>
+            <van-field v-model="form.requirementdesc" name="requirementdesc" label="技术说明" rows="2" autosize type="textarea" />
+            <van-field v-model="form.expect" name="expect" label="商业预期" rows="2" autosize type="textarea" />
+            <van-field v-model="form.condition" name="condition" label="合作条件及要求" rows="2" autosize type="textarea" />
+            <div class="btn">
+              <van-button type="danger" size="small" native-type="reset">重置信息</van-button>
+              <van-button type="info" size="small" native-type="submit">提交信息</van-button>
+            </div>
+          </van-form>
+        </van-col>
+      </template>
+    </admin-frame>
+  </div>
+</template>
+
+<script>
+import adminFrame from '@frame/src/components/mobile-frame/mobile-main.vue';
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: patenttrans } = createNamespacedHelpers('patenttrans');
+const { mapActions: upload } = createNamespacedHelpers('upload');
+export default {
+  name: 'index',
+  props: {},
+  components: {
+    adminFrame,
+  },
+  data: function () {
+    return {
+      form: {},
+    };
+  },
+  created() {},
+  methods: {
+    ...upload(['upload']),
+    ...patenttrans(['create']),
+    async onSubmit(value) {
+      value.status = '4';
+      let res = await this.create(value);
+      if (this.$checkRes(res)) {
+        this.$toast({ type: `success`, message: `操作成功` });
+      }
+    },
+    onReset() {},
+    async toUpload({ file }, model) {
+      // 上传,赋值
+      const res = await this.upload({ file, dir: 'file' });
+      if (this.$checkRes(res)) {
+        this.$set(this.form, model, [{ name: res.name, url: res.uri }]);
+      }
+    },
+    toDelete(file, model) {
+      const index = this.form[model].findIndex((f) => _.isEqual(f, file));
+      this.form[model].splice(index, 1);
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    test: {
+      deep: true,
+      immediate: true,
+      handler(val) {},
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.one {
+  .btn {
+    text-align: center;
+    margin: 10px 0;
+    .van-button {
+      margin: 0 10px;
+    }
+  }
+  /deep/.van-radio--horizontal {
+    margin-right: 5px;
+  }
+}
+</style>

+ 5 - 1
src/views/market/transfer/parts/info-1.vue

@@ -42,7 +42,11 @@ export default {
     return {};
   },
   created() {},
-  methods: {},
+  methods: {
+    download(data) {
+      window.location.href = `${process.env.VUE_APP_HOST}${data[0].url}`;
+    },
+  },
   computed: {
     ...mapState(['user']),
   },