tangning 2 lat temu
rodzic
commit
2991736720

+ 3 - 0
src/locales/lang/en/code.ts

@@ -2,6 +2,7 @@ export default {
   apiCode: {
     '0': '操作成功',
     '-1': '操作失败',
+    '3014': '账号或密码错误,请重新登录!',
     '4001': '缺少参数',
     '4003': '用户不存在',
     '4004': '用户已添加',
@@ -15,6 +16,8 @@ export default {
     '4015': '权益类型不存在!',
     '4016': '"权益不存在!',
     '4017': '权益数量不足!',
+    '4018': '下载数量不足!',
     '4019': 'sn码不存在!',
+    '4020': '频繁登录失败,请五分钟后再次尝试登录!',
   }
 };

+ 3 - 0
src/locales/lang/zh-CN/code.ts

@@ -2,6 +2,7 @@ export default {
   apiCode: {
     '0': '操作成功',
     '-1': '操作失败',
+    '3014': '账号或密码错误,请重新登录!',
     '4001': '缺少参数',
     '4003': '用户不存在',
     '4004': '用户已添加',
@@ -15,6 +16,8 @@ export default {
     '4015': '权益类型不存在!',
     '4016': '"权益不存在!',
     '4017': '权益数量不足!',
+    '4018': '下载数量不足!',
     '4019': 'sn码不存在!',
+    '4020': '频繁登录失败,请五分钟后再次尝试登录!',
   }
 };

+ 7 - 0
src/locales/lang/zh-CN/routes/equity.ts

@@ -14,6 +14,7 @@ export default {
   expiryTime: '到期日期', 
   newTime:'最新授权时间',
   time:'开始日期',
+  countNumber:'数量',
   Type:'权益类型',
   giveType:'授权方式',
   nickName:'昵称',
@@ -30,12 +31,18 @@ export default {
     2:'高级会员(月)',
   },
   zhTips:'不支持中文字符',
+  syks:'剩余可售',
   listTitle:'销售统计列表',
   exportExcel:'导出excel',
   excelTitle:'确定导出excel?',
   CardMajorNum: '上月销售专业会员(年)',
   CardHighNum: '上月销售高级会员(月)',
   CardDownNum: '上月销售场景下载',
+  rules:{
+    userName:'请输入用户账号',
+    userName1:'请输入正确的手机号',
+    userName2:'该账号不存在',
+  },
   unit:{
     1:'个',
     2:'次',

+ 3 - 3
src/views/equity/DownModal.vue

@@ -67,15 +67,15 @@
                   console.log('value',value)
                   const regPos = /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/; // 非中文
                   if (!value) {
-                    return Promise.reject('请输入用户账号');
+                    return Promise.reject(t('routes.equity.rules.userName'));
                   }
                   if (!regPos.test(value)) {
                     /* eslint-disable-next-line */
-                    return Promise.reject('请输入正确的手机号');
+                    return Promise.reject(t('routes.equity.rules.userName1'));
                   }
                   let res = await checkUserName({userName:value})
                   if(!res){
-                    return Promise.reject('该账号不存在');
+                    return Promise.reject(t('routes.equity.rules.userName2'));
                   }
                   return Promise.resolve();
                 },

+ 6 - 6
src/views/equity/EditModal.vue

@@ -2,7 +2,7 @@
   <BasicModal
     v-bind="$attrs"
     @register="register"
-    title="续费"
+    :title="t('routes.equity.renew')"
     height="500"
     @visible-change="handleVisibleChange"
     @cancel="resetFields"
@@ -48,7 +48,7 @@
           {
             field: 'userName',
             component: 'Input',
-            label: '用户账号',
+            label: t('routes.equity.userName'),
             slot: 'text',
             colProps: {
               span: 24,
@@ -56,7 +56,7 @@
           },{
             field: 'id',
             component: 'Input',
-            label: '权益ID',
+            label: t('routes.equity.id'),
             slot: 'text',
             colProps: {
               span: 24,
@@ -64,11 +64,11 @@
           },{
             field: 'incrementEndTime',
             component: 'DatePicker',
-            label: '到期日期',
+            label: t('routes.equity.expiryTime'),
             required: true,
             defaultValue:dayjs().add(1,'year').format('YYYY-MM-DD'),
             componentProps: {
-              disabled:false,
+              disabled:true,
               valueFormat: 'YYYY-MM-DD',
               format: 'YYYY-MM-DD',
               disabledDate: (current) => {
@@ -101,7 +101,7 @@
         fileFlow.type = data.type
         setFieldsValue({
           ...data,
-          // ...detail,
+          incrementEndTime:dayjs(data.incrementEndTime).add(1,data.validTimeType == 0?'year':'month').format('YYYY-MM-DD')
         });
       }
       const handleSubmit = async () => {

+ 12 - 12
src/views/equity/InvoiceModal.vue

@@ -46,7 +46,7 @@
           {
             field: 'userName',
             component: 'Input',
-            label: '用户账号',
+            label: t('routes.equity.userName'),
             required: true,
             componentProps: {
               autoComplete:'off',
@@ -60,15 +60,15 @@
                   console.log('value',value)
                   const regPos = /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/; // 非中文
                   if (!value) {
-                    return Promise.reject('请输入用户账号');
+                    return Promise.reject(t('routes.equity.rules.userName'));
                   }
                   if (!regPos.test(value)) {
                     /* eslint-disable-next-line */
-                    return Promise.reject('请输入正确的手机号');
+                    return Promise.reject(t('routes.equity.rules.userName1'));
                   }
                   let res = await checkUserName({userName:value})
                   if(!res){
-                    return Promise.reject('该账号不存在');
+                    return Promise.reject(t('routes.equity.rules.userName2'));
                   }
                   return Promise.resolve();
                 },
@@ -81,14 +81,14 @@
         },{
             field: 'incrementTypeId',
             component: 'ApiSelect',
-            label: '权益类型',
+            label: t('routes.equity.Type'),
             required: true,
             componentProps: {
               maxLength: 50,
               api: async function () {
                 const list = await dincrementList();
                 return list.map(ele => {
-                  return {name:ele.name,value:ele.id}
+                  return {name:t(`routes.finance.equityType.${ele.validTimeType}`),value:ele.id}
                 });
               },
               numberToString: true,
@@ -101,10 +101,10 @@
               onChange:(value)=>{
                 updateSchema([{
                   field: 'count',
-                  suffix:`剩余可售 ${value == 3?agent.value.highSubNum:agent.value.majorSubNum} 个`, 
+                  suffix:`${t('routes.equity.syks')} ${value == 3?agent.value.highSubNum:agent.value.majorSubNum} ${t('routes.equity.unit.1')}`, 
                   componentProps: {
                     max:value == 3?agent.value.highSubNum:agent.value.majorSubNum,
-                    min:0,
+                    min:1,
                   },
                 }])
                 setFieldsValue({
@@ -119,9 +119,9 @@
           },{
             field: 'count',
             component: 'InputNumber',
-            label: '数量',
+            label: t('routes.equity.countNumber'),
             required: true,
-            suffix:`剩余可售 ${agent.value.majorSubNum} 个`,
+            suffix:`${t('routes.equity.syks')} ${agent.value.majorSubNum} ${t('routes.equity.unit.1')}`,
             itemProps: {
               validateTrigger: 'onBlur',
             },
@@ -135,7 +135,7 @@
           },{
             field: 'incrementEndTime',
             component: 'DatePicker',
-            label: '到期日期',
+            label: t('routes.equity.expiryTime'),
             required: true,
             defaultValue:dayjs().add(1,'year').format('YYYY-MM-DD'),
             componentProps: {
@@ -173,7 +173,7 @@
           {field: 'shipNum',ifShow:fileFlow.type == 3,},
           {field: 'email',ifShow:fileFlow.type == 2,},
           {field: 'file',ifShow:fileFlow.type == 2,},
-          {field: 'count',suffix:`剩余可售 ${agent.value.majorSubNum} 个`,componentProps:{
+          {field: 'count',suffix:`${t('routes.equity.syks')} ${agent.value.majorSubNum} ${t('routes.equity.unit.1')}`,componentProps:{
               max:agent.value.majorSubNum,
               min:1,
             }},

+ 1 - 1
src/views/equity/data.tsx

@@ -123,7 +123,7 @@ export const searchForm: Partial<FormProps> = {
         api: async function () {
           const list = await dincrementList();
           return list.map(ele => {
-            return {name:t(`routes.finance.equityType.${ele.id}`),value:ele.id}
+            return {name:t(`routes.finance.equityType.${ele.validTimeType}`),value:ele.id}
           });
         },
         numberToString: true,

+ 25 - 4
src/views/finance/data.tsx

@@ -1,10 +1,13 @@
 import { Time } from '/@/components/Time';
 import { FormProps, BasicColumn } from '/@/components/Table';
-import { h } from 'vue';
+import { h, ref } from 'vue';
 import { FormSchema } from '/@/components/Form/index';
 import { useI18n } from '/@/hooks/web/useI18n';
 const { t } = useI18n();
 import { dincrementList } from '/@/api/equity'
+import type { Dayjs } from 'dayjs';
+const selectPriceDate = ref('')
+import dayjs from 'dayjs';
 
 export const columns: BasicColumn[] = [
         
@@ -73,15 +76,17 @@ export const searchForm: Partial<FormProps> = {
         maxLength: 50,
         api: async function () {
           const list = await dincrementList();
+          let optionList = []
           list.map(ele => {
-            return {name:t(`routes.finance.equityType.${ele.id}`),value:ele.id}
+            optionList.push({name:t(`routes.finance.equityType.${ele.validTimeType}`),value:ele.validTimeType,key: ele.validTimeType,})
           });
-          list.push({
+          optionList.push({
             name: t('routes.finance.equityType.2'),
             value: 3,
             key: '3',
           })
-          return list
+          console.log('ele.id',optionList)
+          return optionList
         },
         numberToString: true,
         labelField: 'name',
@@ -129,6 +134,22 @@ export const searchForm: Partial<FormProps> = {
         maxLength: 100,
         valueFormat:'YYYY-MM-DD',
         format: 'YYYY-MM-DD',
+        onCalendarChange:(date)=>{
+          console.log('current',date)
+          selectPriceDate.value = date[0]
+        },
+        onOpenChange:(status)=>{
+          if(!status){
+            selectPriceDate.value = ''
+          }
+        },
+        disabledDate:(current) => {
+          if(selectPriceDate.value){
+              return current >dayjs(selectPriceDate.value).add(3,'year')  || current < dayjs(selectPriceDate.value).subtract(3,'year')
+          }else{
+              return false
+          }
+      }
       },
       colProps: {
         xl: 7,

+ 1 - 1
src/views/finance/index.vue

@@ -67,7 +67,7 @@ export default defineComponent({
         value: lastMajorNum || 0,
         unit: t('routes.equity.unit.1'),
         color: 'green',
-        action: t('routes.equity.unit.-1'),
+        action: t('routes.equity.unit.-2'),
       },
       {
         title:  t('routes.equity.CardHighNum'),