Quellcode durchsuchen

fix(bugs): 修改问题

tangning vor 3 Jahren
Ursprung
Commit
a8134fd6b3

BIN
public/resource/img/logo.png


BIN
public/resource/img/logo1 (2).png


BIN
src/assets/images/logo.png


+ 1 - 1
src/views/advertisement/pads.vue

@@ -51,7 +51,7 @@
       const [registerDrawer, { openDrawer }] = useDrawer();
       const route = useRoute();
       console.log('searchForm', route, route.fullPath);
-      const type = route.fullPath.charAt(route.fullPath.length - 1) || '1';
+      const type = route.fullPath.split('/').pop(); //charAt(route.fullPath.length - 2) || '1';
       const columns: BasicColumn[] = [
         {
           title: '序号',

+ 28 - 6
src/views/corporation/SubaccountModal.vue

@@ -18,7 +18,7 @@
         <template #addeduser="{ model, field }">
           {{ model[field] || 0 }}
           <a-button
-            :disabled="model.subNum == 0"
+            :disabled="model[field] >= modelRef.subNum"
             @click="openTargetModal()"
             type="primary"
             preIcon="ic:outline-person-add"
@@ -135,6 +135,21 @@
           component: 'InputNumber',
           label: `${t('routes.devices.subNum')} :`,
           labelWidth: 200,
+          rules: [
+            {
+              required: false,
+              // @ts-ignore
+              validator: async (rule, value) => {
+                let { addeduser } = getFieldsValue();
+                console.log('validator', value, addeduser);
+                if (value < addeduser) {
+                  return Promise.reject('可添加数量必须大于已添加数量');
+                }
+                return Promise.resolve();
+              },
+              trigger: 'change',
+            },
+          ],
           componentProps: () => {
             return {
               // xxxx props schema, tableAction, formModel  checkDevice
@@ -157,6 +172,7 @@
           setFieldsValue,
           resetFields,
           getFieldsValue,
+          validate,
           // setProps,
         },
       ] = useForm({
@@ -254,13 +270,14 @@
       }
       async function saveTable() {
         // let tableData = tableRef.value.getDataSource() || [];
+        let fromData = await validate();
         let tableData = getDataSource();
         let res = await saveSubUsers({
           id: modelRef.id,
           subNum: modelRef.subNum,
           subUsers: tableData,
         });
-        console.log('saveTable', res);
+        console.log('saveTable', res, fromData);
         createMessage.success(t('common.optSuccess'));
         // reload();
         emit('update');
@@ -270,11 +287,11 @@
         console.log('addTabledata', val);
       }
       function getTableList(callback) {
-        let data = getFieldsValue();
+        // let data = getFieldsValue();
         let tableList = unref(getDataSource());
-        setFieldsValue({
-          subNum: Number(data.subNum) - 1,
-        });
+        // setFieldsValue({
+        //   subNum: Number(data.subNum) - 1,
+        // });
         callback(tableList);
       }
       function handleAddUser(newUser) {
@@ -283,6 +300,11 @@
           userName: newUser.phone,
           phone: newUser.phone,
         });
+        const total = getDataSource()?.length;
+        setFieldsValue({
+          addeduser: total || 0,
+        });
+        // modelRef.subNum = total
       }
       return {
         register,

+ 2 - 0
src/views/corporation/chargeModal.vue

@@ -22,6 +22,7 @@
   import { defineComponent, ref, nextTick, inject } from 'vue';
   import { BasicModal, useModalInner } from '/@/components/Modal';
   import { BasicForm, FormSchema, useForm } from '/@/components/Form/index';
+  import { useI18n } from '/@/hooks/web/useI18n';
   import { addPoint } from '/@/api/corporation/modal';
   import { useMessage } from '/@/hooks/web/useMessage';
   const schemas: FormSchema[] = [
@@ -66,6 +67,7 @@
     },
     emits: ['register', 'update'],
     setup(props, { emit }) {
+      const { t } = useI18n();
       const { createConfirm, createMessage } = useMessage();
       const reload = inject('tablereload');
       const modelRef = ref({

+ 3 - 2
src/views/corporation/deviceModal.vue

@@ -59,8 +59,8 @@
     props: {
       userData: { type: Object },
     },
-    emits: ['register'],
-    setup(props) {
+    emits: ['register', 'reload'],
+    setup(props, { emit }) {
       const modelRef = ref({
         mappingLength: 0,
       });
@@ -213,6 +213,7 @@
           });
           success(t('common.optSuccess'));
           closeModal();
+          emit('reload');
         } catch (error) {}
       }
 

+ 4 - 10
src/views/corporation/index.vue

@@ -85,15 +85,15 @@
         />
       </template>
     </BasicTable>
-    <chargeModal @register="registerChargeModal" />
-    <deviceModal @register="registerDeviceModal" />
-    <SubaccountModal @reload="tablereload" @register="registerSubaccountModal" />
+    <chargeModal @register="registerChargeModal" @update="reload" />
+    <deviceModal @register="registerDeviceModal" @reload="reload" />
+    <SubaccountModal @register="registerSubaccountModal" @update="reload" />
     <cameraModal @register="registerCameraModal" @ok="reload" />
   </div>
 </template>
 <script lang="ts">
   import { useI18n } from '/@/hooks/web/useI18n';
-  import { defineComponent, provide, nextTick } from 'vue';
+  import { defineComponent, nextTick } from 'vue';
   import { BasicTable, useTable, BasicColumn, FormProps, TableAction } from '/@/components/Table';
   // import { CollapseContainer } from '/@/components/Container';
   import { CropperAvatar } from '/@/components/Cropper';
@@ -228,7 +228,6 @@
         ],
       };
       // { getForm }
-      provide('tablereload', tablereload);
       const [registerTable, { reload }] = useTable({
         title: t('routes.corporation.enterpriseId'),
         api: ListApi,
@@ -253,10 +252,6 @@
           slots: { customRender: 'action' },
         },
       });
-      function tablereload() {
-        console.log('tablereload');
-        reload();
-      }
       function handleOpenModal(val, record: Recordable) {
         let listKey = {
           charge: openChargeModal,
@@ -311,7 +306,6 @@
         registerSubaccountModal,
         handleOpenModal,
         uploadLogoApi: uploadLogoApi as any,
-        tablereload,
         handleMusicUpload,
         updateSceneLogo,
         updateFloorLogo,

+ 3 - 3
src/views/member/list.vue

@@ -94,7 +94,7 @@ weixinOpenid: "oeADe5U9uLeMYsNigq98zdu8J96A"
         {
           title: '名称',
           dataIndex: 'username',
-          sorter: true,
+          // sorter: true,
           width: 160,
         },
         {
@@ -107,7 +107,7 @@ weixinOpenid: "oeADe5U9uLeMYsNigq98zdu8J96A"
           title: '性别',
           dataIndex: 'gender',
           slots: { customRender: 'gender' },
-          sorter: true,
+          // sorter: true,
           width: 120,
         },
         {
@@ -120,7 +120,7 @@ weixinOpenid: "oeADe5U9uLeMYsNigq98zdu8J96A"
           title: '最后登录时间',
           dataIndex: 'lastLoginTime',
           slots: { customRender: 'lastLoginTime' },
-          sorter: true,
+          // sorter: true,
           width: 120,
         },
         {

+ 13 - 0
src/views/product/addModal.vue

@@ -30,6 +30,19 @@
       component: 'InputNumber',
       label: '排序',
       defaultValue: 1,
+      rules: [
+        {
+          required: false,
+          // @ts-ignore
+          validator: async (rule, value) => {
+            if (value && (value < 0 || value > 1000)) {
+              return Promise.reject('请输入正确的排序');
+            }
+            return Promise.resolve();
+          },
+          trigger: 'change',
+        },
+      ],
       colProps: {
         span: 24,
       },

+ 36 - 4
src/views/product/productDrawer.vue

@@ -26,10 +26,42 @@
             <tr v-for="item in editData.productList" :key="item.uuidLink">
               <template v-if="editData.productList">
                 <td>{{ item.uuidLink }}</td>
-                <td><input type="text" id="name" v-model="item.goodsNumber" /></td>
-                <td><input type="text" id="age" v-model="item.goodsSn" /></td>
-                <td><input type="text" id="school" v-model="item.marketPrice" /></td>
-                <td><input type="text" id="school" v-model="item.retailPrice" /></td>
+                <td
+                  ><input
+                    type="number"
+                    id="name"
+                    maxlength="8"
+                    max="100000000"
+                    min="0"
+                    v-model="item.goodsNumber"
+                /></td>
+                <td
+                  ><input
+                    type="number"
+                    id="age"
+                    maxlength="8"
+                    max="100000000"
+                    min="0"
+                    v-model="item.goodsSn"
+                /></td>
+                <td
+                  ><input
+                    type="number"
+                    id="school"
+                    maxlength="8"
+                    max="100000000"
+                    min="0"
+                    v-model="item.marketPrice"
+                /></td>
+                <td
+                  ><input
+                    type="number"
+                    id="school"
+                    maxlength="8"
+                    max="100000000"
+                    min="0"
+                    v-model="item.retailPrice"
+                /></td>
               </template>
             </tr>
           </tbody>

+ 1 - 1
src/views/system/account/AccountModal.vue

@@ -53,7 +53,7 @@
           if (!unref(isUpdate)) {
             await saveAccountUserApi(values);
           } else {
-            await updateAccountUserApi(values);
+            await updateAccountUserApi({ ...values, id: rowId.value });
           }
 
           closeModal();

+ 13 - 7
src/views/system/account/account.data.ts

@@ -70,7 +70,7 @@ export const searchFormSchema: FormSchema[] = [
 
 export const accountFormSchema: FormSchema[] = [
   {
-    field: 'userName',
+    field: 'nickName',
     label: '用户名',
     component: 'Input',
     required: true,
@@ -101,6 +101,12 @@ export const accountFormSchema: FormSchema[] = [
   //   ifShow: false,
   // },
   {
+    field: 'id',
+    label: 'id',
+    component: 'Input',
+    ifShow: false,
+  },
+  {
     label: '角色',
     field: 'roleId',
     component: 'ApiSelect',
@@ -130,12 +136,12 @@ export const accountFormSchema: FormSchema[] = [
   //   required: true,
   // },
 
-  {
-    field: 'nickName',
-    label: '昵称',
-    component: 'Input',
-    required: true,
-  },
+  // {
+  //   field: 'nickName',
+  //   label: '昵称',
+  //   component: 'Input',
+  //   required: true,
+  // },
   {
     field: 'phone',
     label: '手机号',