|
|
@@ -16,7 +16,7 @@
|
|
|
</div>
|
|
|
<div class="gap5">
|
|
|
<img :src="shiyongIcon" alt="员工" style="width: 16px; height: 16px;">
|
|
|
- <span class="font_size14">{{ruleForm.downCount ?? ''}} 使用</span>
|
|
|
+ <span class="font_size14">{{ruleForm.downCount ?? ''}} {{t('common.use')}}</span>
|
|
|
</div>
|
|
|
<div class="gap5">
|
|
|
<img :src="yunIcon" alt="员工" style="width: 16px; height: 16px;">
|
|
|
@@ -34,10 +34,10 @@
|
|
|
<div class="padding16 bg_color_fff border_radius_10 mt10">
|
|
|
<div class="gap10">
|
|
|
<div class="line_vertical"></div>
|
|
|
- <div class="font_size20 bold">工作流预览</div>
|
|
|
+ <div class="font_size20 bold">{{$t('common.workflowPreview')}}</div>
|
|
|
</div>
|
|
|
<div class="mt20">
|
|
|
- <img :src="item || ''" alt="工作流预览" v-for="(item, index) in coverImage" :key="index"
|
|
|
+ <img :src="item || ''" alt="" v-for="(item, index) in coverImage" :key="index"
|
|
|
style="width: 100%; height: auto;" />
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -45,7 +45,7 @@
|
|
|
<div class="padding16 bg_color_fff border_radius_10 mt10">
|
|
|
<div class="gap10">
|
|
|
<div class="line_vertical"></div>
|
|
|
- <div class="font_size20 bold">详情</div>
|
|
|
+ <div class="font_size20 bold">{{$t('common.Detail')}}</div>
|
|
|
</div>
|
|
|
<BlockNoteEditor v-model="editorContent" :editable="false" class="mt20"/>
|
|
|
</div>
|
|
|
@@ -56,13 +56,13 @@
|
|
|
<div class="padding16 bg_color_fff border_radius_16 box_shadow_card">
|
|
|
<div class="flex-center-between">
|
|
|
<div class="flex-column">
|
|
|
- <div class="font_size16">当前价格</div>
|
|
|
+ <div class="font_size16">{{$t('common.currentPrice')}}</div>
|
|
|
<div class="color_price">
|
|
|
<span class="font_size32">{{ruleForm.workflowPrice || 0}}</span>
|
|
|
- <span>{{$t('common.mibi')}}</span>
|
|
|
+ <span>{{$t('common.baomibi')}}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <el-button type="success" plain size="mini" v-if="ruleForm.workflowPrice === 0">免费</el-button>
|
|
|
+ <el-button type="success" plain size="mini" v-if="ruleForm.workflowPrice === 0">{{$t('common.free')}}</el-button>
|
|
|
</div>
|
|
|
<div class="mt20">
|
|
|
<el-button type="primary" class="font_size16" size="large" style="width: 100%;">
|
|
|
@@ -80,13 +80,13 @@
|
|
|
<!-- 工作流作者 -->
|
|
|
<div class="padding16 bg_color_fff border_radius_16 box_shadow_card mt20">
|
|
|
<div class="flex-center-between">
|
|
|
- <div class="flex-between flex_1">
|
|
|
- <el-avatar :size="50" :src=" ruleForm.userAvatar || appStore.avatarDefault " />
|
|
|
+ <div class="flex-center-between flex_1">
|
|
|
+ <el-avatar :size="50" :src=" ruleForm.userAvatar || appStore.avatarDefault"/>
|
|
|
<div class="ml10 flex_1">
|
|
|
<div class="font_size18 bold">{{ruleForm.nickName || ''}}</div>
|
|
|
- <div class="gap5 mt5">
|
|
|
+ <!-- <div class="gap5 mt5">
|
|
|
<el-tag type="primary" v-for="item in 5" :key="item" >技能标签</el-tag>
|
|
|
- </div>
|
|
|
+ </div> -->
|
|
|
</div>
|
|
|
</div>
|
|
|
<div>
|
|
|
@@ -147,12 +147,16 @@ import yiguanzhuIcon from '@/assets/imgs/yiguanzhu.png'
|
|
|
import geshiIcon from '@/assets/imgs/geshi.png'
|
|
|
import neicunIcon from '@/assets/imgs/neicun.png'
|
|
|
import banbenIcon from '@/assets/imgs/banben.png'
|
|
|
-import { downloadFile } from '@/utils/util'
|
|
|
+import { downloadFile, confirmBuy } from '@/utils/util'
|
|
|
|
|
|
import { getPublishDetail } from '@/api/publish.js'
|
|
|
+import { purchase } from '@/api/common.js'
|
|
|
|
|
|
import BlockNoteEditor from '@/components/BlockNoteEditor.vue';
|
|
|
-import { useRoute } from 'vue-router'
|
|
|
+import { useI18n } from 'vue-i18n'
|
|
|
+const { t } = useI18n()
|
|
|
+import { useRouter, useRoute } from 'vue-router'
|
|
|
+const router = useRouter()
|
|
|
const route = useRoute()
|
|
|
import { useAppStore } from '@/pinia/appStore'
|
|
|
const appStore = useAppStore()
|
|
|
@@ -179,7 +183,6 @@ const ruleForm = ref({
|
|
|
|
|
|
onMounted(() => {
|
|
|
getPublishDetail({id:publishId.value}).then(res => {
|
|
|
- console.log(res)
|
|
|
ruleForm.value = res.data || {};
|
|
|
nextTick(() => {
|
|
|
if(ruleForm.value.coverImage){
|
|
|
@@ -195,7 +198,29 @@ onMounted(() => {
|
|
|
});
|
|
|
// 下载工作流
|
|
|
const downloadWorkflow = () => {
|
|
|
- downloadFile(ruleForm.value.workflowFile, ruleForm.value.workflowTitle + '.json');
|
|
|
+ purchase({
|
|
|
+ buyType: 1,
|
|
|
+ publishId: publishId.value,
|
|
|
+ }).then(res => {
|
|
|
+ if(res.code === 200){
|
|
|
+ if(res.data?.buyFlag == 1){
|
|
|
+ if(res.data?.contentUrl){
|
|
|
+ downloadFile({url:res.data?.contentUrl,t});
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ confirmBuy({
|
|
|
+ callback:downloadWorkflow,
|
|
|
+ appStore,
|
|
|
+ router,
|
|
|
+ price:ruleForm.value.workflowPrice,
|
|
|
+ t,
|
|
|
+ productId:publishId.value,
|
|
|
+ orderType:'workflow_purchase',
|
|
|
+ payMethod:'BMI'
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
};
|
|
|
</script>
|
|
|
|