|
@@ -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>
|