Browse Source

用户登录

cjb 2 weeks ago
parent
commit
efcc9c97cb

+ 3 - 2
entry/src/main/ets/common/util/request/ProcessRequest.ets

@@ -33,8 +33,9 @@ const ProcessRequest = axios.create(
 ProcessRequest.interceptors.request.use((config: InternalAxiosRequestConfig) => {
 
   // 以后登录之后可以在这里传
-  //config.headers.Authorization = CommonConstants.AUTH_TOKEN
-  config.headers.Authorization ="eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOnsiaWQiOjM3LCJsb2dpblR5cGUiOiJhaW8ifSwiZGV2aWNlIjoiYWlvIiwiZWZmIjoxNzE3NTExMjYwODI4LCJyblN0ciI6InRSenNBTGdlZ3lqS0FHeDZTSkdYZTNLbFY3eWh1OG1PIn0.FVAeESiz_PH1NtBFDmGZr0IwtXzubV2d8JTQdGdJnxc"
+  config.headers.Authorization = CommonConstants.AUTH_TOKEN
+   //config.headers.Authorization ="eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOnsic3RhdGlvbkNvZGUiOiJ6aHVhbmd0aWFvMSIsInN0YXRpb25UeXBlIjoiMTgiLCJkZXB0SWQiOjE3LCJpZCI6MTAwMDAsInN0YXRpb25JcCI6IjE5Mi4xNjguMS4xMSIsInVzZXJOYW1lIjoiYWRtaW4iLCJvcmdJZCI6MTcsInN0YXRpb25JZCI6Njh9LCJkZXZpY2UiOiJhaW8iLCJlZmYiOjE3NDgwNTQ4ODg5MzUsInJuU3RyIjoiMmJ5NnJlOVpMa2JZOE1CcjBHSlBENjlXZTNwSjgyREIifQ.nY0PPEjgjW2-PX1TqI_SGxa5Mu4dGOCwbGDitvN_oqA"
+  //config.headers.Authorization ="eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOnsiaWQiOjM3LCJsb2dpblR5cGUiOiJhaW8ifSwiZGV2aWNlIjoiYWlvIiwiZWZmIjoxNzE3NTExMjYwODI4LCJyblN0ciI6InRSenNBTGdlZ3lqS0FHeDZTSkdYZTNLbFY3eWh1OG1PIn0.FVAeESiz_PH1NtBFDmGZr0IwtXzubV2d8JTQdGdJnxc"
   printRequest(config)
   return config;
 }, (error: AxiosError) => {

+ 1 - 1
entry/src/main/ets/pages/Index.ets

@@ -555,4 +555,4 @@ struct Index {
       onClick();
     })
   }
-}
+}

+ 305 - 0
entry/src/main/ets/view/StationInfoDialog.ets

@@ -0,0 +1,305 @@
+import ProcessRequest from '../common/util/request/ProcessRequest'
+import { MessageInfo, MessagePage } from '../viewmodel/MessageInfo'
+import RequestParamModel from '../viewmodel/RequestParamModel'
+
+@CustomDialog
+export struct StationInfoDialog{
+  private scrollerList: Scroller = new Scroller()
+  //当前工位
+  @State currentStation:string = ''
+  //当前用户
+  @State currentUser:string = ''
+  //全部已读按钮缩放
+  @State allReadClick:number = 1
+  //消息列表
+  @State messages: MessageInfo[] = [
+    {
+      readState: "1", // 未读
+      content: "您有新的工单待处理:WX-20230001",
+      created: "2023-08-15 09:30:25"
+    },
+    {
+      readState: "0", // 已读
+      content: "物料ASF-100已入库成功",
+      created: "2023-08-14 14:15:33"
+    },
+    {
+      readState: "1", // 未读
+      content: "警告:料箱V-1024库存不足",
+      created: "2023-08-14 11:05:47"
+    },
+    {
+      readState: "0", // 已读
+      content: "工序OP-20报工完成",
+      created: "2023-08-13 16:45:12"
+    },
+    {
+      readState: "1", // 未读
+      content: "紧急:设备E-05需要维护",
+      created: "2023-08-13 10:20:18"
+    }
+  ];
+
+  controller: CustomDialogController
+  loadStationMessage=async ()=>{
+    let res = await ProcessRequest.post('/api/v1/sys/message/stationMessage', {
+    } as RequestParamModel) as MessagePage;
+    this.messages=res?.records??[]
+    this.messages = [...this.messages].sort((a, b) => {
+      const stateA = a.readState ?? '1';
+      const stateB = b.readState ?? '1';
+      return parseInt(stateA) - parseInt(stateB);
+    });
+  }
+
+  // 标记消息为已读
+  markAsRead = async (item: MessageInfo) => {
+    if (item.readState === '1') return // 已经是已读状态
+    try {
+      await ProcessRequest.post('http://192.168.1.3:20010/api/v1/sys/message/confirmMessage', {
+        ids:[item.id]
+      } as RequestParamModel);
+      //this.loadStationMessage();
+      item.readState = '1'
+      this.messages = [...this.messages].sort((a, b) => {
+        const stateA = a.readState ?? '1';
+        const stateB = b.readState ?? '1';
+        return parseInt(stateA) - parseInt(stateB);
+      });
+    } catch (e) {
+      console.error('标记已读失败:', e)
+    }
+  }
+
+  markAllAsRead = async () => {
+    try {
+      const messageIds = this.messages
+        .filter(item => item.readState === '0' && item.id)
+        .map(item => item.id);
+      if (messageIds.length === 0) return;
+      await ProcessRequest.post('http://192.168.1.3:20010/api/v1/sys/message/confirmMessage', {
+        ids:messageIds as string[]
+      } as RequestParamModel);
+      //this.loadStationMessage();
+      this.messages = this.messages.map(item => {
+        return {
+          readState: '1',
+          content: item.content,
+          created: item.created,
+        } as MessageInfo;
+      });
+      this.messages = this.messages.slice().sort((a, b) => {
+        const stateA = a.readState ?? '1';
+        const stateB = b.readState ?? '1';
+        return parseInt(stateA) - parseInt(stateB);
+      });
+    } catch (e) {
+      console.error('全部已读操作失败:', e);
+    }
+  }
+
+  aboutToAppear(): void {
+    this.loadStationMessage()
+  }
+
+  build() {
+    Column() {
+      Column() {
+        Text("工位信息")
+          .fontColor($r('app.color.FFFFFF'))
+          .fontSize($r('app.float.fontSize_38'))
+      }
+      .height('8%')
+      .width('100%')
+      .justifyContent(FlexAlign.Center)
+
+      Row(){
+        Column(){
+          Text("当前工位")
+            .fontColor($r('app.color.FFFFFF'))
+            .fontSize($r('app.float.fontSize_16'))
+            .margin({left:'2%',bottom:'2%'})
+            .width('60%')
+            .textAlign(TextAlign.Start)
+          Row(){
+            Text("1#装配工位")
+              .fontColor($r('app.color.FFFFFF'))
+              .fontSize($r('app.float.fontSize_24'))
+              .margin({left:'8%'})
+              .width('82%')
+              .textAlign(TextAlign.Start)
+            Text(">")
+              .fontColor($r('app.color.FFFFFF'))
+              .fontSize($r('app.float.fontSize_24'))
+              .textAlign(TextAlign.Start)
+              .width('10%')
+          }
+          .justifyContent(FlexAlign.Start)
+          .borderRadius($r('app.float.virtualSize_16'))
+          .width('60%')
+          .height('10%')
+          .backgroundColor($r('app.color.20FFFFFF'))
+          Text("当前用户")
+            .fontColor($r('app.color.FFFFFF'))
+            .fontSize($r('app.float.fontSize_16'))
+            .margin({left:'2%',bottom:'2%',top:'8%'})
+            .width('60%')
+            .textAlign(TextAlign.Start)
+          Row(){
+            Text("王德发")
+              .fontColor($r('app.color.FFFFFF'))
+              .fontSize($r('app.float.fontSize_24'))
+              .margin({left:'8%'})
+              .width('82%')
+              .textAlign(TextAlign.Start)
+            Text(">")
+              .fontColor($r('app.color.FFFFFF'))
+              .fontSize($r('app.float.fontSize_24'))
+              .textAlign(TextAlign.Start)
+              .width('10%')
+          }
+          .justifyContent(FlexAlign.Center)
+          .borderRadius($r('app.float.virtualSize_16'))
+          .width('60%')
+          .height('10%')
+          .backgroundColor($r('app.color.20FFFFFF'))
+          .margin({bottom:'20%'})
+        }
+        .justifyContent(FlexAlign.Center)
+        .alignItems(HorizontalAlign.Center)
+        .height('100%')
+        .width('46%')
+        Divider()
+          .vertical(true)
+          .strokeWidth(1)
+          .color($r('app.color.15FFFFFF'))
+          .margin({ bottom: '2%'})
+        Column(){
+          Row(){
+            Text('工位通知')
+              .fontColor($r('app.color.FFFFFF'))
+              .fontSize($r('app.float.fontSize_24'))
+              .textAlign(TextAlign.Start)
+              .width('80%')
+            Row(){
+              Text('全部已读')
+                .fontColor($r('app.color.FFFFFF'))
+                .fontSize($r('app.float.fontSize_16'))
+            }
+            .backgroundColor($r('app.color.20FFFFFF'))
+            .width('20%')
+            .height('80%')
+            .borderRadius($r('app.float.virtualSize_16'))
+            .justifyContent(FlexAlign.Center)
+            .scale({ x: this.allReadClick, y: this.allReadClick })
+            .animation({
+              duration: 200,
+              curve: Curve.Linear
+            })
+            .onClick(()=>{
+              this.allReadClick = 0.9;
+              setTimeout(() => {
+                this.allReadClick = 1;
+                this.markAllAsRead()
+              }, 200);
+            })
+          }
+          .width('100%')
+          .height('8%')
+           Column(){
+             List({scroller:this.scrollerList}) {
+               ForEach(this.messages, (item:MessageInfo) => {
+                 ListItem() {
+                   Row() {
+                     Column(){
+                       Text(item.content)
+                         .fontSize($r('app.float.fontSize_16'))
+                         .fontColor($r('app.color.FFFFFF'))
+                         .width('85%')
+                         .textAlign(TextAlign.Start)
+                       Text(item.created)
+                         .fontSize($r('app.float.fontSize_12'))
+                         .fontColor($r('app.color.FFFFFF'))
+                         .width('85%')
+                         .textAlign(TextAlign.Start)
+                         .margin({top:'1%'})
+                         .fontWeight(FontWeight.Lighter)
+                     }
+                     Row(){
+                       Text(item.readState=='1'?`已读`:'已读确认')
+                         .fontSize($r('app.float.fontSize_16'))
+                         .fontColor(item.readState=='1'?$r('app.color.FFFFFF'):$r('app.color.0A84FF'))
+                         .width('15%')
+                         .textAlign(TextAlign.End)
+                         .onClick(() => this.markAsRead(item))
+                     }
+                   }.width('100%').justifyContent(FlexAlign.SpaceEvenly)
+                   .padding(5)
+                 }
+               })
+             }
+             .width('100%')
+             .height('100%')
+             .divider({
+               strokeWidth: 1,
+               color: $r('app.color.20FFFFFF')
+             })
+           }
+          .height('90%')
+
+
+        }
+        .width('46%')
+        .height('100%')
+      }
+      .justifyContent(FlexAlign.SpaceEvenly)
+      .width('100%')
+      .height('81%')
+      .margin({ top: '2%'})
+
+      Column() {
+        Divider()
+          .vertical(false)
+          .strokeWidth(1)
+          .color($r('app.color.15FFFFFF'))
+        Row() {
+          Row() {
+            Text('取消')
+              .fontColor($r('app.color.60FFFFFF'))
+              .fontSize($r('app.float.fontSize_30'))
+          }
+          .justifyContent(FlexAlign.Center)
+          .width('50%')
+          .onClick(() => this.controller.close())
+          Divider()
+            .vertical(true)
+            .strokeWidth(1)
+            .color($r('app.color.15FFFFFF'))
+          Row() {
+            Text('确定')
+              .fontColor($r('app.color.007AFF'))
+              .fontSize($r('app.float.fontSize_30'))
+          }
+          .justifyContent(FlexAlign.Center)
+          .width('50%')
+          .onClick(() => {
+            this.controller.close();
+          })
+        }
+      }
+      .width('100%')
+      .height('8%')
+
+    }
+    .height('71%')
+    .width('62%')
+    .backgroundColor($r('app.color.2A2A2A'))
+    .justifyContent(FlexAlign.End)
+    .alignItems(HorizontalAlign.Start)
+    .borderColor($r('app.color.000000'))
+    .borderWidth(1)
+    .borderRadius($r('app.float.virtualSize_16'))
+  }
+}
+
+

+ 64 - 0
entry/src/main/ets/view/SwitchOrderConfirmDialog.ets

@@ -0,0 +1,64 @@
+// 确认框
+@CustomDialog
+export struct SwitchOrderConfirmDialog {
+  controller: CustomDialogController
+  onConfirm: () => void = () => {}
+
+  build() {
+    Column() {
+      // 标题
+      Column(){
+        Text("切换工单确认")
+          .fontColor($r('app.color.FFFFFF'))
+          .fontSize($r('app.float.fontSize_30'))
+      }.height('25%')
+      .justifyContent(FlexAlign.Center)
+      Column(){
+        Text("扫描的流水号不属于本工单,是否切换工单?")
+          .fontColor($r('app.color.FFFFFF'))
+          .fontSize($r('app.float.fontSize_24'))
+      }.height('50%')
+      .justifyContent(FlexAlign.Center)
+      .margin({bottom:'5%'})
+
+      Column(){
+        Divider()
+          .vertical(false)
+          .strokeWidth(1)
+          .color($r('app.color.15FFFFFF'))
+        Row(){
+          Row(){
+            Text('取消')
+              .fontColor($r('app.color.60FFFFFF'))
+              .fontSize($r('app.float.fontSize_30'))
+          }
+          .justifyContent(FlexAlign.Center)
+          .width('50%')
+          .onClick(() => this.controller.close())
+          Divider()
+            .vertical(true)
+            .strokeWidth(1)
+            .color($r('app.color.15FFFFFF'))
+          Row(){
+            Text('确认')
+              .fontColor($r('app.color.007AFF'))
+              .fontSize($r('app.float.fontSize_30'))
+          }
+          .justifyContent(FlexAlign.Center)
+          .width('50%')
+          .onClick(() => {
+            this.onConfirm();
+            this.controller.close();
+          })
+        }
+      }
+      .width('100%')
+      .height('16%')
+    }
+    .height('34%')
+    .width('30%')
+    .backgroundColor($r('app.color.2A2A2A'))
+    .justifyContent(FlexAlign.End)
+    .borderRadius($r('app.float.virtualSize_16'))
+  }
+}

+ 119 - 0
entry/src/main/ets/view/SwitchingStationDialog.ets

@@ -0,0 +1,119 @@
+import ProcessRequest from '../common/util/request/ProcessRequest'
+import { MessageInfo, MessagePage } from '../viewmodel/MessageInfo'
+import TaskSeqVO from '../viewmodel/process/TaskSeqInfo'
+import RequestParamModel from '../viewmodel/RequestParamModel'
+
+@CustomDialog
+export struct StationInfoDialog{
+  private scrollerList: Scroller = new Scroller()
+  //当前工位
+  @State currentStation:string = ''
+  //选择的按钮索引
+  @State selectedButtonIndex: number = 1
+  //扫描的流水号/序列/铭牌号
+  //@State stations:number = 1
+
+
+  controller: CustomDialogController
+
+  build() {
+    Column() {
+      Column() {
+        Text("切换工位")
+          .fontColor($r('app.color.FFFFFF'))
+          .fontSize($r('app.float.fontSize_38'))
+      }
+      .height('8%')
+      .width('100%')
+      .justifyContent(FlexAlign.Center)
+
+      Column(){
+            // List({scroller:this.scrollerList}) {
+            //   ForEach(this.stations, (item:MessageInfo) => {
+            //     ListItem() {
+            //       Row() {
+            //         Column(){
+            //           Text(item.content)
+            //             .fontSize($r('app.float.fontSize_16'))
+            //             .fontColor($r('app.color.FFFFFF'))
+            //             .width('85%')
+            //             .textAlign(TextAlign.Start)
+            //           Text(item.created)
+            //             .fontSize($r('app.float.fontSize_12'))
+            //             .fontColor($r('app.color.FFFFFF'))
+            //             .width('85%')
+            //             .textAlign(TextAlign.Start)
+            //             .margin({top:'1%'})
+            //             .fontWeight(FontWeight.Lighter)
+            //         }
+            //         Row(){
+            //           Text(item.readState=='1'?`已读`:'已读确认')
+            //             .fontSize($r('app.float.fontSize_16'))
+            //             .fontColor(item.readState=='1'?$r('app.color.FFFFFF'):$r('app.color.0A84FF'))
+            //             .width('15%')
+            //             .textAlign(TextAlign.End)
+            //             .onClick(() => this.markAsRead(item))
+            //         }
+            //       }.width('100%').justifyContent(FlexAlign.SpaceEvenly)
+            //       .padding(5)
+            //     }
+            //   })
+            // }
+            // .width('100%')
+            // .height('100%')
+            // .divider({
+            //   strokeWidth: 1,
+            //   color: $r('app.color.20FFFFFF')
+            // })
+          }
+      .justifyContent(FlexAlign.SpaceEvenly)
+      .width('100%')
+      .height('81%')
+      .margin({ top: '2%'})
+
+      Column() {
+        Divider()
+          .vertical(false)
+          .strokeWidth(1)
+          .color($r('app.color.15FFFFFF'))
+        Row() {
+          Row() {
+            Text('取消')
+              .fontColor($r('app.color.60FFFFFF'))
+              .fontSize($r('app.float.fontSize_30'))
+          }
+          .justifyContent(FlexAlign.Center)
+          .width('50%')
+          .onClick(() => this.controller.close())
+          Divider()
+            .vertical(true)
+            .strokeWidth(1)
+            .color($r('app.color.15FFFFFF'))
+          Row() {
+            Text('确定')
+              .fontColor($r('app.color.007AFF'))
+              .fontSize($r('app.float.fontSize_30'))
+          }
+          .justifyContent(FlexAlign.Center)
+          .width('50%')
+          .onClick(() => {
+            this.controller.close();
+          })
+        }
+      }
+      .width('100%')
+      .height('8%')
+
+    }
+    .height('71%')
+    .width('30%')
+    .backgroundColor($r('app.color.2A2A2A'))
+    .justifyContent(FlexAlign.End)
+    .alignItems(HorizontalAlign.Start)
+    .borderColor($r('app.color.000000'))
+    .borderWidth(1)
+    .borderRadius($r('app.float.virtualSize_16'))
+  }
+}
+
+

+ 152 - 0
entry/src/main/ets/view/SwitchingUserDialog.ets

@@ -0,0 +1,152 @@
+// 确认框
+import CommonConstants from '../common/constants/CommonConstants'
+import ProcessRequest from '../common/util/request/ProcessRequest'
+import { UserInfo } from '../viewmodel/process/UserInfo'
+import RequestParamModel from '../viewmodel/RequestParamModel'
+import promptAction from '@ohos.promptAction'
+
+@CustomDialog
+export struct SwitchingUserDialog {
+  @State username : string = 'admin'
+  @State password : string = '123456'
+  @Prop currentOrgId:number = 17
+  @Prop currentProCode:string = "PL000017"
+  @Prop currentStationId:string = "68"
+
+
+  controller: CustomDialogController
+
+  login=async ()=>{
+    let token:string = await ProcessRequest.post('api/auth/aioLogin', {
+      orgId:this.currentOrgId,
+      password: this.password,
+      userName: this.username,
+      proCode: this.currentProCode,
+      stationId: this.currentStationId
+      } as RequestParamModel) ;
+    if (!token || token.length == 0)  return
+    CommonConstants.AUTH_TOKEN = token
+    // let res:object= await ProcessRequest.post('api/auth', {
+    // } as RequestParamModel) ;
+    this.controller.close()
+}
+
+
+  build() {
+    Column() {
+      Column(){
+        Text("切换用户")
+          .fontColor($r('app.color.FFFFFF'))
+          .fontSize($r('app.float.fontSize_30'))
+      }.height('25%')
+      .justifyContent(FlexAlign.Center)
+
+      Column() {
+        Text("账户")
+          .fontColor($r('app.color.FFFFFF'))
+          .fontSize($r('app.float.fontSize_16'))
+          .width('70%')
+          .textAlign(TextAlign.Start)
+          .margin({left:'2%',bottom:'2%'})
+        Row() {
+          Image($r('app.media.process_user_name'))
+            .width($r('app.float.virtualSize_40'))
+            .height($r('app.float.virtualSize_40'))
+            .fillColor($r('app.color.FFFFFF'))
+            .margin({left:'2%'})
+
+          TextInput({text:this.username,placeholder:"请录入账户"})
+            .width('85%')
+            .height('100%')
+            .backgroundColor('#000000')
+            .fontSize($r('app.float.fontSize_16'))
+            .placeholderFont({size:$r('app.float.fontSize_16')})
+            .placeholderColor($r('app.color.30FFFFFF'))
+            .fontColor($r('app.color.FFFFFF'))
+            .onChange((value: string) => {
+              this.username = value;
+
+            })
+        }
+        .backgroundColor($r('app.color.000000'))
+        .width('70%')
+        .height('30%')
+        .borderRadius($r('app.float.virtualSize_16'))
+        Text("密码")
+          .fontColor($r('app.color.FFFFFF'))
+          .fontSize($r('app.float.fontSize_16'))
+          .width('70%')
+          .textAlign(TextAlign.Start)
+          .margin({left:'2%',bottom:'2%',top:"5%"})
+        Row() {
+          Image($r('app.media.process_password'))
+            .width($r('app.float.virtualSize_40'))
+            .height($r('app.float.virtualSize_40'))
+            .fillColor($r('app.color.FFFFFF'))
+            .margin({left:'2%'})
+          TextInput({text:this.password, placeholder:"请录入密码"} )
+            .width('85%')
+            .height('100%')
+            .placeholderFont({size:$r('app.float.fontSize_16')})
+            .placeholderColor($r('app.color.30FFFFFF'))
+            .backgroundColor('#000000')
+            .fontSize($r('app.float.fontSize_16'))
+            .fontColor($r('app.color.FFFFFF'))
+            .type(InputType.Password)
+            .onChange((value: string) => {
+              this.password = value;
+
+            })
+        }
+        .width('70%')
+        .height('30%')
+        .backgroundColor($r('app.color.000000'))
+        .borderRadius($r('app.float.virtualSize_16'))
+      }
+      .justifyContent(FlexAlign.Start)
+      .height('40%')
+      .width('100%')
+      .margin({bottom:'16%'})
+      // 按钮区域
+      Column(){
+        Divider()
+          .vertical(false)
+          .strokeWidth(1)
+          .color($r('app.color.15FFFFFF'))
+        Row(){
+          Row(){
+            Text('取消')
+              .fontColor($r('app.color.60FFFFFF'))
+              .fontSize($r('app.float.fontSize_30'))
+          }
+          .justifyContent(FlexAlign.Center)
+          .width('50%')
+          .onClick(() => this.controller.close())
+          Divider()
+            .vertical(true)
+            .strokeWidth(1)
+            .color($r('app.color.15FFFFFF'))
+          Row(){
+            Text('确认')
+              .fontColor($r('app.color.007AFF'))
+              .fontSize($r('app.float.fontSize_30'))
+          }
+          .justifyContent(FlexAlign.Center)
+          .width('50%')
+          .onClick(() => {
+            this.login()
+          })
+        }
+      }
+      .width('100%')
+      .height('13%')
+
+    }
+    .height('44%')
+    .width('31%')
+    .backgroundColor($r('app.color.2A2A2A'))
+    .justifyContent(FlexAlign.End)
+    .borderColor($r('app.color.000000'))
+    .borderRadius($r('app.float.virtualSize_16'))
+  }
+}

+ 18 - 0
entry/src/main/ets/viewmodel/MessageInfo.ets

@@ -0,0 +1,18 @@
+export  interface MessageInfo{
+  //状态
+  readState?:string,
+  //消息内容
+  content?:string,
+  //创建时间
+  created?: string,
+  //消息id
+  id?:string
+
+}
+
+export interface MessagePage{
+  pageNo?:string,
+  pageSize?:string,
+  //消息记录
+  records?:MessageInfo[]
+}

+ 4 - 0
entry/src/main/ets/viewmodel/RequestParamModel.ets

@@ -34,6 +34,8 @@ export default class RequestParamModel {
   password?:string
   //部门id
   orgId?:number
+  //生产线id
+  proCode?:string
   //工位id
   stationId?:string
   //工单编号
@@ -68,4 +70,6 @@ export default class RequestParamModel {
   stateList?:Array<number>
   //开工二维码
   qrCode?:string
+  //消息id集合
+  ids?:string[]
 }

+ 51 - 0
entry/src/main/ets/viewmodel/process/UserInfo.ets

@@ -0,0 +1,51 @@
+// 用户信息
+export class UserInfo {
+  // id
+  id?: number;
+  // 仓储id
+  userId?: number;
+  // 用户名
+  userName?: string;
+  // 登录密码
+  password?: string;
+  // 组织id
+  orgId?: number;
+  // 工位id
+  stationId?: number;
+  // 用户头像
+  avatar?: string
+  // 保持登录状态(1:是 2:否)
+  maintainLoginStatus?: number;
+  // 更新时间戳
+  updateTime?: number;
+  stationCode?: string
+  stationIp?: string
+}
+
+// 用户登陆信息
+export  class UserAuthInfo {
+  // id
+  id?: number;
+  // 仓储id
+  userId?: number;
+  // 用户名
+  userName?: string;
+  // 登录密码
+  password?: string;
+  // 组织id
+  orgId?: number;
+  // 工位id
+  stationId?: number;
+  // 工位名称
+  stationName?: string;
+  // 维护站类型
+  stationDictValue?: string;
+  // 保持登录状态(1:是 2:否)
+  maintainLoginStatus?: number;
+  // 更新时间戳
+  updateTime?: number;
+  // 用户头像
+  avatar?: string;
+
+  isLogin?:boolean //是否是登录的状态
+}

+ 5 - 0
entry/src/main/resources/base/media/process_password.svg

@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 24 24">
+  <path d="M4.14 11.48a5.745 5.745 0 0 1 7.819.134l.265.277a5.683 5.683 0 0 1 1.336 4.874l-.086.372a5.711 5.711 0 0 1-3.7 3.935l-.366.11a5.747 5.747 0 0 1-5.265-1.242l-.279-.262-.006-.006a5.682 5.682 0 0 1 .07-7.993l.212-.2Zm6.774 1.211a4.246 4.246 0 0 0-5.771-.096l-.157.147a4.182 4.182 0 0 0-.057 5.879 4.246 4.246 0 0 0 4.095 1.111l.272-.082a4.21 4.21 0 0 0 2.727-2.9l.064-.273a4.183 4.183 0 0 0-1.167-3.78l-.006-.006Z"/>
+  <path d="M19.47 2.97a.75.75 0 1 1 1.06 1.06l-8.5 8.5a.75.75 0 1 1-1.06-1.06l8.5-8.5Z"/>
+  <path d="M17.847 4.717a.75.75 0 0 1 1 .052l2.715 2.699a.75.75 0 0 1 0 1.063l-3.167 3.15a.75.75 0 0 1-1 .051l-.057-.05-2.715-2.7a.75.75 0 0 1 0-1.064l3.167-3.15.057-.051Zm-1.631 3.732 1.65 1.643 2.103-2.093-1.65-1.643-2.103 2.093Z"/>
+</svg>

File diff suppressed because it is too large
+ 3 - 0
entry/src/main/resources/base/media/process_user_name.svg