Browse Source

fix(bugs): 修改编辑

tangning 4 years ago
parent
commit
bba8f48c14

+ 1 - 1
src/locales/lang/zh-CN/routes/scenes.ts

@@ -21,7 +21,7 @@ export default {
   editor: '打开编辑器',
   cancelDownload: '取消下载',
   own: '主播选择',
-  userName: '员工名称:',
+  userName: '员工名称',
   canShow: '是否同时开通一起逛',
   bindTime: '绑定时间',
   anchorList: '主播列表',

+ 3 - 2
src/views/devices/list.vue

@@ -161,11 +161,12 @@
           // },
           {
             field: 'searchKey',
-            label: '手机号(用户名)',
-            labelWidth: 160,
+            label: '关键字',
+            labelWidth: 80,
             component: 'Input',
             componentProps: {
               maxLength: 100,
+              placeholder: '可输入 设备ID、手机号',
             },
             colProps: {
               span: 12,

+ 37 - 3
src/views/product/drawer.data.ts

@@ -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',
   },

+ 5 - 0
src/views/product/productDrawer.vue

@@ -194,6 +194,7 @@
           console.log('setFieldsValueres', res);
           setFieldsValue({
             ...res,
+            isOnSale: res.isOnSale === 1,
             listPicUrl: [encodeURI(res.listPicUrl.split('?')[0])],
             primaryPicUrl: [encodeURI(res.primaryPicUrl.split('?')[0])],
             steamRoom: data.record?.steamRoom?.name,
@@ -205,6 +206,9 @@
           ...editData.value,
           ...value,
         };
+        setFieldsValue({
+          productList: value.goodsSpecificationList,
+        });
         console.log('setEditData', value);
       }
       const getTitle = computed(() => (!unref(isUpdate) ? '新增商品' : '编辑商品'));
@@ -217,6 +221,7 @@
           let apiData = {
             ...editData.value,
             ...values,
+            isOnSale: values.isOnSale ? 1 : 0,
           };
           let requresApi = isUpdate.value ? UpdateSaleApi : SaveSaleApi;
           if (!isUpdate.value) {

+ 1 - 1
src/views/product/ref.vue

@@ -178,7 +178,7 @@
           return [
             {
               label: '编辑',
-              icon: 'mdi:information-outline',
+              icon: 'clarity:note-edit-line',
               disabled: currentEditKeyRef.value ? currentEditKeyRef.value !== record.key : false,
               onClick: handleEdit.bind(null, record),
             },

+ 1 - 1
src/views/scenes/bindModal.vue

@@ -70,7 +70,7 @@
     },
     {
       title: t('routes.scenes.userName'),
-      dataIndex: 'userName',
+      dataIndex: 'nickName',
       width: 100,
     },
     {