|
|
@@ -160,6 +160,92 @@ function handleLogoUpload(info: any) {
|
|
|
}
|
|
|
|
|
|
async function handleSave() {
|
|
|
+ if (!formData.value.fileId) {
|
|
|
+ message.error($t('salesPartners.modal.uploadLogo'));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!formData.value.account) {
|
|
|
+ message.error($t('salesPartners.modal.enterAccount'));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (props.mode === 'add' && !formData.value.password) {
|
|
|
+ message.error($t('salesPartners.modal.enterPassword'));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!formData.value.nameCn) {
|
|
|
+ message.error($t('salesPartners.modal.enterName'));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!formData.value.nameEn) {
|
|
|
+ message.error($t('salesPartners.modal.enterName'));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!formData.value.expiredTime) {
|
|
|
+ message.error($t('salesPartners.modal.selectExpiredTime'));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (
|
|
|
+ formData.value.number0fEnterprise === undefined ||
|
|
|
+ formData.value.number0fEnterprise === null
|
|
|
+ ) {
|
|
|
+ message.error($t('salesPartners.modal.number0fEnterprise'));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (
|
|
|
+ formData.value.number0fWorkFlow === undefined ||
|
|
|
+ formData.value.number0fWorkFlow === null
|
|
|
+ ) {
|
|
|
+ message.error($t('salesPartners.modal.number0fWorkFlow'));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (
|
|
|
+ formData.value.number0fPages === undefined ||
|
|
|
+ formData.value.number0fPages === null
|
|
|
+ ) {
|
|
|
+ message.error($t('salesPartners.modal.number0fPages'));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (
|
|
|
+ formData.value.number0fTables === undefined ||
|
|
|
+ formData.value.number0fTables === null
|
|
|
+ ) {
|
|
|
+ message.error($t('salesPartners.modal.number0fTables'));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (
|
|
|
+ formData.value.number0fDesigners === undefined ||
|
|
|
+ formData.value.number0fDesigners === null
|
|
|
+ ) {
|
|
|
+ message.error($t('salesPartners.modal.number0fDesigners'));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (
|
|
|
+ formData.value.number0fBusinessScenarios === undefined ||
|
|
|
+ formData.value.number0fBusinessScenarios === null
|
|
|
+ ) {
|
|
|
+ message.error($t('salesPartners.modal.number0fBusinessScenarios'));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (
|
|
|
+ formData.value.number0fCSiteMaxUser === undefined ||
|
|
|
+ formData.value.number0fCSiteMaxUser === null
|
|
|
+ ) {
|
|
|
+ message.error($t('salesPartners.modal.number0fCSiteMaxUser'));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
const data = {
|
|
|
id: formData.value.id,
|
|
|
langNameList: [
|
|
|
@@ -230,9 +316,10 @@ function handleCancel() {
|
|
|
<div class="space-y-4">
|
|
|
<div class="flex items-center gap-4">
|
|
|
<div class="flex flex-col gap-2">
|
|
|
- <label class="text-sm font-medium">{{
|
|
|
- $t('salesPartners.modal.enterpriseLogo')
|
|
|
- }}</label>
|
|
|
+ <label class="text-sm font-medium">
|
|
|
+ {{ $t('salesPartners.modal.enterpriseLogo') }}
|
|
|
+ <span class="text-red-500">*</span>
|
|
|
+ </label>
|
|
|
<Upload
|
|
|
v-model:file-list="formData.fileList"
|
|
|
:action="`/fileApi/File/UploadFiles?Authorization=${token}`"
|
|
|
@@ -257,45 +344,50 @@ function handleCancel() {
|
|
|
|
|
|
<div class="grid grid-cols-2 gap-4">
|
|
|
<div class="flex flex-col gap-2">
|
|
|
- <label class="text-sm font-medium">{{
|
|
|
- $t('salesPartners.modal.account')
|
|
|
- }}</label>
|
|
|
+ <label class="text-sm font-medium">
|
|
|
+ {{ $t('salesPartners.modal.account') }}
|
|
|
+ <span class="text-red-500">*</span>
|
|
|
+ </label>
|
|
|
<Input
|
|
|
v-model:value="formData.account"
|
|
|
:placeholder="$t('salesPartners.modal.enterAccount')"
|
|
|
/>
|
|
|
</div>
|
|
|
<div v-if="mode === 'add'" class="flex flex-col gap-2">
|
|
|
- <label class="text-sm font-medium">{{
|
|
|
- $t('salesPartners.modal.password')
|
|
|
- }}</label>
|
|
|
+ <label class="text-sm font-medium">
|
|
|
+ {{ $t('salesPartners.modal.password') }}
|
|
|
+ <span class="text-red-500">*</span>
|
|
|
+ </label>
|
|
|
<Input
|
|
|
v-model:value="formData.password"
|
|
|
:placeholder="$t('salesPartners.modal.enterPassword')"
|
|
|
/>
|
|
|
</div>
|
|
|
<div class="flex flex-col gap-2">
|
|
|
- <label class="text-sm font-medium">{{
|
|
|
- $t('salesPartners.modal.nameCn')
|
|
|
- }}</label>
|
|
|
+ <label class="text-sm font-medium">
|
|
|
+ {{ $t('salesPartners.modal.nameCn') }}
|
|
|
+ <span class="text-red-500">*</span>
|
|
|
+ </label>
|
|
|
<Input
|
|
|
v-model:value="formData.nameCn"
|
|
|
:placeholder="$t('salesPartners.modal.enterName')"
|
|
|
/>
|
|
|
</div>
|
|
|
<div class="flex flex-col gap-2">
|
|
|
- <label class="text-sm font-medium">{{
|
|
|
- $t('salesPartners.modal.nameEn')
|
|
|
- }}</label>
|
|
|
+ <label class="text-sm font-medium">
|
|
|
+ {{ $t('salesPartners.modal.nameEn') }}
|
|
|
+ <span class="text-red-500">*</span>
|
|
|
+ </label>
|
|
|
<Input
|
|
|
v-model:value="formData.nameEn"
|
|
|
:placeholder="$t('salesPartners.modal.enterName')"
|
|
|
/>
|
|
|
</div>
|
|
|
<div class="flex flex-col gap-2">
|
|
|
- <label class="text-sm font-medium">{{
|
|
|
- $t('salesPartners.modal.expiredTime')
|
|
|
- }}</label>
|
|
|
+ <label class="text-sm font-medium">
|
|
|
+ {{ $t('salesPartners.modal.expiredTime') }}
|
|
|
+ <span class="text-red-500">*</span>
|
|
|
+ </label>
|
|
|
<DatePicker
|
|
|
v-model:value="formData.expiredTime"
|
|
|
:placeholder="$t('salesPartners.modal.selectExpiredTime')"
|
|
|
@@ -310,51 +402,58 @@ function handleCancel() {
|
|
|
<Switch v-model:checked="formData.isEnabled" class="w-[40px]" />
|
|
|
</div>
|
|
|
<div class="flex flex-col gap-2">
|
|
|
- <label class="text-sm font-medium">{{
|
|
|
- $t('salesPartners.modal.number0fEnterprise')
|
|
|
- }}</label>
|
|
|
+ <label class="text-sm font-medium">
|
|
|
+ {{ $t('salesPartners.modal.number0fEnterprise') }}
|
|
|
+ <span class="text-red-500">*</span>
|
|
|
+ </label>
|
|
|
<Input
|
|
|
v-model:value="formData.number0fEnterprise"
|
|
|
type="number"
|
|
|
/>
|
|
|
</div>
|
|
|
<div class="flex flex-col gap-2">
|
|
|
- <label class="text-sm font-medium">{{
|
|
|
- $t('salesPartners.modal.number0fWorkFlow')
|
|
|
- }}</label>
|
|
|
+ <label class="text-sm font-medium">
|
|
|
+ {{ $t('salesPartners.modal.number0fWorkFlow') }}
|
|
|
+ <span class="text-red-500">*</span>
|
|
|
+ </label>
|
|
|
<Input v-model:value="formData.number0fWorkFlow" type="number" />
|
|
|
</div>
|
|
|
<div class="flex flex-col gap-2">
|
|
|
- <label class="text-sm font-medium">{{
|
|
|
- $t('salesPartners.modal.number0fPages')
|
|
|
- }}</label>
|
|
|
+ <label class="text-sm font-medium">
|
|
|
+ {{ $t('salesPartners.modal.number0fPages') }}
|
|
|
+ <span class="text-red-500">*</span>
|
|
|
+ </label>
|
|
|
<Input v-model:value="formData.number0fPages" type="number" />
|
|
|
</div>
|
|
|
<div class="flex flex-col gap-2">
|
|
|
- <label class="text-sm font-medium">{{
|
|
|
- $t('salesPartners.modal.number0fTables')
|
|
|
- }}</label>
|
|
|
+ <label class="text-sm font-medium">
|
|
|
+ {{ $t('salesPartners.modal.number0fTables') }}
|
|
|
+ <span class="text-red-500">*</span>
|
|
|
+ </label>
|
|
|
<Input v-model:value="formData.number0fTables" type="number" />
|
|
|
</div>
|
|
|
<div class="flex flex-col gap-2">
|
|
|
- <label class="text-sm font-medium">{{
|
|
|
- $t('salesPartners.modal.number0fDesigners')
|
|
|
- }}</label>
|
|
|
+ <label class="text-sm font-medium">
|
|
|
+ {{ $t('salesPartners.modal.number0fDesigners') }}
|
|
|
+ <span class="text-red-500">*</span>
|
|
|
+ </label>
|
|
|
<Input v-model:value="formData.number0fDesigners" type="number" />
|
|
|
</div>
|
|
|
<div class="flex flex-col gap-2">
|
|
|
- <label class="text-sm font-medium">{{
|
|
|
- $t('salesPartners.modal.number0fBusinessScenarios')
|
|
|
- }}</label>
|
|
|
+ <label class="text-sm font-medium">
|
|
|
+ {{ $t('salesPartners.modal.number0fBusinessScenarios') }}
|
|
|
+ <span class="text-red-500">*</span>
|
|
|
+ </label>
|
|
|
<Input
|
|
|
v-model:value="formData.number0fBusinessScenarios"
|
|
|
type="number"
|
|
|
/>
|
|
|
</div>
|
|
|
<div class="flex flex-col gap-2">
|
|
|
- <label class="text-sm font-medium">{{
|
|
|
- $t('salesPartners.modal.number0fCSiteMaxUser')
|
|
|
- }}</label>
|
|
|
+ <label class="text-sm font-medium">
|
|
|
+ {{ $t('salesPartners.modal.number0fCSiteMaxUser') }}
|
|
|
+ <span class="text-red-500">*</span>
|
|
|
+ </label>
|
|
|
<Input
|
|
|
v-model:value="formData.number0fCSiteMaxUser"
|
|
|
type="number"
|