|
|
@@ -13,6 +13,7 @@ export const formSchema: FormSchema[] = [
|
|
|
field: 'categoryId',
|
|
|
label: '商品分类',
|
|
|
component: 'ApiTreeSelect',
|
|
|
+ required: true,
|
|
|
componentProps: {
|
|
|
api: async () => {
|
|
|
const res = await categoryApi();
|
|
|
@@ -93,7 +94,7 @@ export const formSchema: FormSchema[] = [
|
|
|
}
|
|
|
const reg =
|
|
|
/(((^https?:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+(?::\d+)?|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)$/;
|
|
|
- if (reg.test(value) && value.includes('item.jd.com')) {
|
|
|
+ if (reg.test(value)) {
|
|
|
resolve();
|
|
|
} else {
|
|
|
reject('不是京东链接!!');
|
|
|
@@ -110,13 +111,46 @@ export const formSchema: FormSchema[] = [
|
|
|
component: 'Input',
|
|
|
},
|
|
|
{
|
|
|
- field: 'detailed',
|
|
|
+ field: 'productList',
|
|
|
label: '规格明细',
|
|
|
slot: 'detailed',
|
|
|
+ rules: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ validator: async (_, value) => {
|
|
|
+ console.log('validator', value);
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ if (!value) {
|
|
|
+ return resolve();
|
|
|
+ }
|
|
|
+ const check =
|
|
|
+ value &&
|
|
|
+ value.map((ele) => {
|
|
|
+ const { goodsNumber, goodsSn, marketPrice, retailPrice } = ele;
|
|
|
+ if (
|
|
|
+ goodsNumber != undefined &&
|
|
|
+ retailPrice != undefined &&
|
|
|
+ goodsSn != undefined &&
|
|
|
+ marketPrice != undefined
|
|
|
+ ) {
|
|
|
+ return true;
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if (check) {
|
|
|
+ resolve();
|
|
|
+ } else {
|
|
|
+ reject('请输入商品明细!!');
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ],
|
|
|
component: 'Input',
|
|
|
},
|
|
|
{
|
|
|
- field: 'isLaunched',
|
|
|
+ field: 'isOnSale',
|
|
|
label: '是否上架',
|
|
|
component: 'Switch',
|
|
|
},
|