<template>
|
<ContentScrollView :paddingH="false">
|
<nut-form :model-value="form" ref="formRef" :rules="rules">
|
<nut-form-item
|
label="资源说明:"
|
class="bole-form-item alignTop"
|
prop="resourceIntros"
|
required
|
>
|
<nut-textarea
|
placeholder="请输入"
|
placeholderClass="bole-input-text-placeholder"
|
autoSize
|
class="bole-input-textarea"
|
v-model="form.resourceIntros"
|
:max-length="200"
|
show-word-limit
|
>
|
</nut-textarea>
|
</nut-form-item>
|
<nut-form-item label="同步发送至行业圈:" class="bole-form-item" prop="isSyncCircleFriend">
|
<nut-checkbox v-model="form.isSyncCircleFriend"></nut-checkbox>
|
</nut-form-item>
|
</nut-form>
|
</ContentScrollView>
|
<PageFooter :isOnlyAction="false">
|
<PageFooterBtn type="primary" plain @click="goToPrevious()">上一步</PageFooterBtn>
|
<PageFooterBtn type="primary" @click="handleSubmit()">发布</PageFooterBtn>
|
</PageFooter>
|
</template>
|
|
<script setup lang="ts">
|
import { usePublishResourceContext } from './context';
|
import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types';
|
import { useParkOrHRCategoryList, useUser } from '@/hooks';
|
import { ResourceStatus, EditorType } from '@12333/constants';
|
import { useAllAreaList } from '@12333/hooks';
|
import * as resourceServices from '@12333/services/api/Resource';
|
import { goBack } from '@/utils';
|
import { Message } from '@12333/utils';
|
|
defineOptions({
|
name: 'PublishResourceStep2',
|
});
|
|
const { userDetail } = useUser();
|
const { findAreaNameFromCode, findAreaItemFromCode } = useAllAreaList();
|
|
const { resourceCategory } = useParkOrHRCategoryList();
|
|
const { goToPrevious, form, resourceId, isEdit } = usePublishResourceContext();
|
|
const rules = reactive<FormRules>({
|
resourceIntros: [{ required: true, message: '请输入资源名称' }],
|
});
|
|
const formRef = ref<any>(null);
|
|
function handleSubmit() {
|
if (!formRef.value) return;
|
formRef.value.validate().then(({ valid, errors }: any) => {
|
if (valid) {
|
handleCreateOrUpdateResource();
|
}
|
});
|
}
|
|
async function handleCreateOrUpdateResource() {
|
try {
|
let params: API.CreateOrEditResourceInput = {
|
categoryId: resourceCategory.value.id ?? '',
|
title: form.title,
|
resourceCount: form.resourceCount,
|
cooperationFee: form.cooperationFee,
|
status: ResourceStatus.WaitAudit,
|
userId: userDetail.value.userId ?? '',
|
intendedDeliveryCity: form.isLimitDeliveryCity
|
? form.intendedDeliveryCity.map((x, index) => ({
|
areaCode: x,
|
areaName: findAreaNameFromCode(x),
|
sequence: index + 1,
|
provinceCode: findAreaItemFromCode(x).parentId,
|
}))
|
: [],
|
cities: form.cities.map((x, index) => ({
|
areaCode: x,
|
areaName: findAreaNameFromCode(x),
|
sequence: index + 1,
|
provinceCode: findAreaItemFromCode(x).parentId,
|
})),
|
resourceIntros: [
|
{
|
type: EditorType.Text,
|
content: form.resourceIntros,
|
},
|
],
|
resourceStyleInfo: [],
|
isSyncCircleFriend: form.isSyncCircleFriend,
|
industryTypeId: form.industryTypeId,
|
isOpenOnlineTrade: form.isOpenOnlineTrade,
|
};
|
if (isEdit.value) {
|
params.id = resourceId;
|
}
|
let res = await resourceServices.createOrEditResource(params);
|
if (res) {
|
Message.success(isEdit.value ? '编辑成功' : '发布成功', {
|
onClosed() {
|
goBack();
|
},
|
});
|
}
|
} catch (error) {}
|
}
|
</script>
|