浏览代码

修复添加设备时找不到科室的问题,优化添加用户时,无需判断手机号码是否正确,优化英文版ui展示情况

vothin 3 年之前
父节点
当前提交
e194b3c012

+ 887 - 86
languages/en.js

@@ -1,100 +1,901 @@
 module.exports = {
   action: {
-    home: 'home',
-    add: 'add',
-    edit: 'edit',
-    more: 'more',
-    delete: 'delete',
-    logout: 'logout',
-    waring: 'waring',
-    yes: 'yes',
-    cancel: 'cancel',
-    deleted: 'deleted!',
-    editSuccess: 'edit success!',
-    addSuccess: 'add success!',
-    createSuccess: 'create success!',
-    saveSuccess: 'save success!',
-    notDevelopedYet: 'not developed yet',
+    wdklCallingSystem: 'Wreadycare Calling System',
+    home: 'Home',
+    add: 'Add',
+    edit: 'Edit',
+    more: 'More',
+    delete: 'Delete',
+    login: 'Login',
+    loginError: 'Your login status has expired, please login again!',
+    permissionError: 'Permission Error',
+    logout: 'Log out',
+    waring: 'Warning',
+    systemPrompt: 'System Prompt',
+    prompt: 'Prompt',
+    yes: 'OK',
+    cancel: 'Cancel',
+    back: 'Return',
+    handle: 'Operation',
+    details: 'Details',
+    sort: 'Sort',
+    submit: 'Submit',
+    settings: 'Settings',
+    setUp: 'Set',
+    systemCreate: 'System Create',
+    cancelHandle: 'Cancel the operation! ',
+    handleSuccess: 'The operation succeeded',
+    saveEdit: 'Save changes',
+    saveSettings: 'Save settings',
+    deleteSettings: 'Delete settings',
+    deleted: 'Already Deleted! ',
+    deleteList: 'Batch delete',
+    sureDelete: 'The data cannot be recovered after the delete operation, are you sure you want to delete?',
+    allDelete: 'Are you sure you want to delete?',
+    allDeleteSuccess: 'Delete successful! ',
+    cancelDelete: 'Delete has been canceled',
+    pleaseChoiceDelete: 'Please select the data to be deleted ',
+    noChoice: 'No records were selected!',
+    fromError: 'The form is filled incorrectly, please check! ',
+    notSpace: ', cannot start with a space',
+    editSuccess: 'Edit is successful! ',
+    addSuccess: 'Add success! ',
+    addSuccess2: 'Add success! ',
+    createSuccess: 'Created successfully! ',
+    settingsSuccess: 'The setting is successful! ',
+    setUpSuccess: 'The setting is successful! ',
+    createTime: 'Create time',
+    updateTime: 'Update time',
+    save: 'Save',
+    saveSuccess: 'Save successfully! ',
+    notDevelopedYet: 'Not yet developed',
     keywords: 'Please enter a search keyword',
-    chooseLang: 'languages',
-    perpetualLicence: 'perpetual license',
-    licenseValidity: 'your license is valid until: ',
-    licenseRemainsValid: 'Your license remains valid: ',
-    getLicense: 'day, Please contact after sales for authorization'
+    chooseLang: 'Choose language',
+    perpetualLicence: 'Perpetual License',
+    licenseValidity: 'The license is valid until: ',
+    licenseRemainsValid: 'The remaining validity period of the license:',
+    getLicense: 'days, please contact after-sales to obtain authorization',
+    name: 'Name',
+    fullName: 'Full name',
+    type: 'Type',
+    alias: 'Alias',
+    tips: 'Tips',
+    time: 'Hour',
+    time2: 'Time',
+    minute: 'Minute',
+    minute2: 'Minute',
+    second: 'Second',
+    millisecond: 'Milliseconds',
+    oneSecond: 'Within 1 second',
+    Monday: 'Monday',
+    Tuesday: 'Tuesday',
+    Wednesday: 'Wednesday',
+    Thursday: 'Thursday',
+    Friday: 'Friday',
+    Saturday: 'Saturday',
+    Sunday: 'Sunday',
+    every: 'Every',
+    times: 'Times',
+    choice: 'Please choose',
+    choiceAll: 'Select all',
+    colour: 'Colour',
+    searchDateRange: 'Search time period',
+    to: 'to',
+    index: 'Serial number',
+    null: 'None',
+    choiceData: 'Choose date and time',
+    startDate: 'Start date',
+    endDate: 'End date',
+    startTime: 'Start time',
+    endTime: 'End time',
+    daily: 'by day',
+    monthly: 'by month',
+    yearly: 'by year',
+    choiceMonth: 'Choose month',
+    choiceHYear: 'Choose year',
+    lastWeek: 'Last week',
+    lastMonth: 'Last month',
+    lastThreeMonths: 'Last three months',
+    getMsg: 'Received message:',
+    sureInitialize: 'Are you sure you want to initialize?',
+    dateNull: 'No data',
+    content: 'Content',
+    inputContent: 'Please enter text content, length 300',
+    uploader: 'Attachment',
+    uploaderDownload: 'Download attachment',
+    uploaderImg: 'Upload attachments can only be in txt,doc,docx,xls,xlsx,jpg,png,jpeg format!',
+    uploaderImg2: 'Upload avatar images can only be in JPG, PNG, GIF format!',
+    uploaderSize: 'The upload attachment size cannot exceed 5MB!',
+    uploaderSize2: 'The size of the uploaded avatar image cannot exceed 2MB!',
+    uploaderImgMsg: 'The width of the image must be between 100 and 500, and the aspect ratio is 1:1! ',
+    uploaderImgMsg2: 'Please upload an image with an aspect ratio of 1:1',
+    uploaderImgMsg3: 'The height of the image must be between 100 and 500! ',
+    uploadFile: 'Upload file',
+    uploadAPK: 'APK file upload',
+    uploadFileMsg: 'Drag file here, or',
+    uploadFileMsg2: 'Click to upload',
+    uploadFileMsg3: 'Only mp3 files can be uploaded',
+    uploadFileMsg4: 'The upload attachment size cannot exceed 5MB!',
+    uploadFileMsg5: 'Only upload APK files',
+    uploadFileName: 'File name',
+    uploadFileNameMsg: 'The file name cannot be empty',
+    uploadFileUrl: 'File path',
+    uploadFileUrlMsg: 'The file path cannot be empty, please upload the file',
+    uploadFileUrlMsg2: 'Please upload the APK file',
+    uploadFileAuthor: 'Uploaded by',
+    uploadFileDate: 'Upload Date',
+    uploadVersionNo: 'Version number',
+    inputUploadVersionNo: 'Please enter the version number',
+    uploadVersionNoMsg: 'The version number cannot be empty',
+    uploadVersionCode: 'Version information',
+    inputUploadVersionCode: 'Please enter the version information',
+    uploadVersionCodeMsg: 'Version information cannot be empty',
+    initialing: 'Initializing, please wait...',
+    deviceFrame: 'Device space',
+    excelFile: 'Excel file will be exported. Continue?',
+    statisticalSubTable: 'statistical sub table',
+    byPerson: 'By Person',
+    byEvent: 'By Event',
+    Export: 'Export'
+  },
+  member: {
+    face: 'Avatar',
+    faceImg: 'Upload avatar images can only be in JPG, PNG, GIF format!',
+    faceSize: 'The size of the uploaded avatar image cannot exceed 2MB!',
+    faceError1: 'The width of the image must be between 100 and 500, and the aspect ratio is 1:1! ',
+    faceError2: 'Please upload an image with an aspect ratio of 1:1',
+    faceError3: 'The image height must be between 100 and 500! ',
+    uname: 'Login name',
+    inputUname: 'Please enter the username',
+    unameInputMsg: 'Length between 2 and 20 characters',
+    unameError: 'User name must be filled in',
+    password: 'Password',
+    inputPassword: 'Please enter your password! ',
+    passwordInputMsg: 'The password format is incorrect, the password can only contain alphanumeric and !#$%^&*.~, characters, the length is 6-20 digits',
+    passwordError: 'Password must be filled in',
+    name: 'Name',
+    nickname: 'Real name',
+    inputNickname: 'Please enter your real name',
+    nicknameInputMsg: 'Length between 2 and 20 characters',
+    mobile: 'Mobile number',
+    inputMobile: 'Please enter a mobile phone number! ',
+    mobileInputMsg: 'The format of the mobile phone is wrong',
+    sex: 'Sex',
+    man: 'Male',
+    woman: 'Female',
+    unknown: 'Unknown',
+    IDCard: 'ID number',
+    birthday: 'Birthday',
+    choiceBirthday: 'Choose a date',
+    birthday2: 'Date of birth',
+    choiceBirthday2: 'Choose the date of birth',
+    address: 'Detailed address',
+    addressInputMsg: 'Maximum 50 characters',
+    homeAddress: 'Home address',
+    inputHomeAddress: 'Please enter your home address',
+    disableClerk: 'Are you sure you want to disable this user?',
+    disabled: 'Disabled!',
+    disableCancel: 'Disabled',
+    deleteMember: 'Are you sure you want to delete this user information?',
+    cannotDeleteAdmin: 'Cannot delete the person in charge of the organization'
   },
   home: {
-    todayTask: 'today task',
-    recentNote: 'recent note',
-    recentInteract: 'recent interact',
-    recentRemarks: 'recent remarks'
+    todayTask: "Today's task",
+    recentNote: 'Recent Notes',
+    recentInteract: 'Recent Interact',
+    recentRemarks: 'Recent user notes'
   },
   frameManage: {
-    frameManage: 'frame manage',
-    numberOfRooms: 'rooms',
-    numberOfBeds: 'beds',
-    occupiedBeds: 'occupied',
-    emptyBeds: 'empty',
+    frameManage: 'Space position',
+    numberOfRooms: 'Number of rooms',
+    numberOfBeds: 'Number of beds',
+    occupiedBeds: 'Number of beds occupied',
+    emptyBeds: 'Number of empty beds',
     keywordsFilter: 'Enter keywords to filter',
-    memberList: 'member list',
-    deviceList: 'device list',
-    clerkList: 'clerk list',
-    quickCreate: 'quick create',
-    quickCreateFrame: 'quick create frame',
-    startRoom: 'start room number',
-    endRoom: 'end room number',
-    bedQuantity: 'number of beds per room',
-    showRoomDigit: 'room number display digits',
-    showBedDigit: 'bed number display digit',
-    example: 'example',
-    inputFrameName: 'please enter frame name!',
-    inputFrameFullName: 'please enter full name!',
-    inputLong: 'the length is between 2 and 10 characters',
-    addBed: 'add bed',
-    addRoom: 'add room',
-    editFrame: 'edit frame',
-    sureDelete: 'are you sure you want to delete',
-    allBad: 'and all the beds?',
-    sureDeleteBed: 'are you sure to delete the bed',
-    room: 'room',
-    bed: 'bed',
-    newOrganization: 'new organization',
-    partName: 'the part name',
-    inputPartName: 'please enter the part name',
-    adminMember: 'administrator account',
-    inputAdminMember: 'please enter the administrator account',
-    adminPassword: 'administrator password',
-    inputAdminPassword: 'please enter the administrator password'
+    memberList: 'User list',
+    deviceList: 'Device List',
+    clerkList: 'Organization member',
+    quickCreate: 'Quick Create',
+    quickCreateFrame: 'Quick build frame',
+    startRoom: 'Start room number',
+    endRoom: 'End room number',
+    bedQuantity: 'Number of beds per room',
+    showRoomDigit: 'Room number display digits',
+    showBedDigit: 'Bed number display digits',
+    example: 'Example',
+    inputFrameName: 'Please enter the frame name! ',
+    inputFrameFullName: 'Please enter the full name!',
+    inputLong: 'Length between 2 and 10 characters',
+    addBed: 'Add a bed',
+    addRoom: 'Add room',
+    editFrame: 'Edit frame',
+    sureDelete: 'Sure to delete',
+    allBad: 'And all the beds in it?',
+    sureDeleteBed: 'Make sure to delete the bed',
+    room: 'Room',
+    bed: 'Bed',
+    newOrganization: 'New Organization',
+    partName: 'Department name',
+    inputPartName: 'Please enter the department name',
+    adminMember: 'Administrator account',
+    inputAdminMember: 'Please enter the administrator account',
+    adminPassword: 'Admin Password',
+    inputAdminPassword: 'Please enter the administrator password'
   },
   deviceManage: {
-    deviceManage: 'device manage',
-    deviceAdd: 'device add',
-    deviceType: 'device type',
-    deviceName: 'device name',
-    status: 'status',
-    statusTure: 'status ture',
-    statusFalse: 'status false',
-    connect: 'connect',
-    connectTrue: 'connect true',
-    connectFalse: 'connect false',
-    frameFullName: 'frame full name',
-    ethMac: 'eth mac',
-    ethIp: 'eth ip',
-    ethIpPort: 'eth ip port',
-    model: 'model',
-    code: 'code',
-    softVer: 'soft ver',
-    hardVer: 'hard ver',
-    wifiMac: 'wifi mac',
-    wifiIp: 'wifi ip',
-    sipId: 'sip id',
-    updateTime: 'update time'
+    deviceManage: 'Device Management',
+    deviceKeywords: 'Please enter the device alias or device identification code',
+    deviceAdd: 'Add device',
+    deviceEdit: 'Modify device',
+    deviceServerChange: 'Modify server address',
+    serverIp: 'Server address',
+    inputServerIp: 'Please enter the server address',
+    serverPort: 'Server port',
+    inputServerPort: 'Please enter the server port',
+    deviceId: 'Device id',
+    deviceType: 'Device type',
+    choiceDeviceType: 'Please select the device type',
+    deviceTypeMsg: 'The device type must be selected',
+    signType: 'Sign device type',
+    choiceSignType: 'Please select the sign device type',
+    deviceName: 'Device alias',
+    inputDeviceName: 'Please enter the device alias',
+    status: 'Device status',
+    deviceStatus: ' Enabled or not',
+    choiceDeviceStatus: 'Enable device',
+    statusTure: 'Enable',
+    statusFalse: 'Not enabled',
+    connect: 'Connection status',
+    connectTrue: 'Online',
+    connectFalse: 'Offline',
+    frameFullName: 'Deployment location',
+    frameName: 'Device location',
+    choiceFrameName: 'Please select the installation location',
+    ethMac: 'Wired MAC address',
+    inputEthMac: 'Please enter the wired MAC address',
+    inputTrueEthMac: 'Please enter the correct MAC address',
+    ethIp: 'Wired IP address',
+    inputEthIp: 'Please enter the IP address',
+    ethIpPort: 'communication port',
+    model: 'Device model',
+    inputModel: 'Please enter the device model',
+    code: 'Factory number',
+    inputCode: 'Please enter the factory code',
+    softVer: 'Software version',
+    inputSoftVer: 'Please enter the software version number',
+    hardVer: 'Hardware version',
+    inputHardVer: 'Please enter the hardware version number',
+    wifiMac: 'Wireless MAC address',
+    inputWifiMac: 'Please enter the wireless MAC address',
+    wifiIp: 'Wireless IP address',
+    inputWifiIp: 'Please enter the wireless IP address',
+    wifiHostname: 'WIFI hotspot',
+    inputWifiHostname: 'Please enter the name of the WIFI hotspot',
+    wifiPassword: 'WIFI password',
+    inputPassword: 'Please enter the WIFI hotspot password',
+    sipId: 'SIP account',
+    updateTime: 'Update time',
+    phoneNumber: 'Device phone number',
+    inputPhoneNumber: 'Please enter the device phone number',
+    priority: 'Device priority',
+    backupId: 'Backup device ID',
+    roleName: 'Applicable role',
+    choiceRoleName: 'Please select the applicable person',
+    transAudio: 'The upper bus conversion box',
+    choiceTransAudio: 'Please select the bus conversion box',
+    transRs485: 'Upper 485 conversion box',
+    re485SipId: '485 address',
+    inputRe485SipId: 'Please enter the 485 address',
+    sosDeviceSettingType: 'Alarm mode',
+    sosDeviceSettingStatusFalse: 'Not enabled',
+    sosDeviceSettingControlModel: 'Epidemic Prevention and Control Mode',
+    sosDeviceSettingElderlyModel: 'Care for the elderly mode',
+    sosDeviceSettingTime: 'Alarm time',
+    sosDeviceSettingUnit: 'Alarm time unit',
+    sosDeviceSettingEdit: 'Modify device alarm',
+    ledResolutionRatio: 'Corridor screen specification',
+    ledVoice: 'Voice playback',
+    ledVoiceStatus: 'Enable voice',
+    ledFontSize: 'Font size',
+    hostDeviceList: 'Nurse host list',
+    webSocketSuccess: 'WebSocket connection is successful',
+    webSocketError: 'An error occurred in the WebSocket connection'
+  },
+  clerkManage: {
+    clerkEdit: 'Edit member information',
+    role: 'Role',
+    choiceRole: 'Please choose a role',
+    clerkList: 'Team members',
+    admin: 'Organization Manager',
+    shop: 'Responsible organizator',
+    choiceShop: 'Choose organizator',
+    shopMsg: 'Please select an organizator'
+  },
+  customerManage: {
+    customerAdd: 'Check-in',
+    customerAdd2: 'Registration',
+    customerQrCode: 'QR code',
+    customerInfo: 'User Information',
+    baseInfo: 'Basic information',
+    named: 'User name',
+    inputNamed: 'Please enter a name',
+    cardNo: 'Check-in number',
+    cardNo2: 'Registration number',
+    inputCardNo: 'Please enter the patient number',
+    inputCardNo2: 'Please enter the registration number',
+    age: 'Age',
+    inputAge: 'Please enter the age',
+    ageUnit: 'Age Unit',
+    choiceAgeUnit: 'Please choose an age unit',
+    year: 'Year',
+    month: 'Month',
+    day: 'Day',
+    inDate: 'Check-in date',
+    outDate: 'Out time',
+    outDate2: 'Exit time',
+    choiceDate: 'Choose date',
+    to: 'to',
+    today: 'to date',
+    idType: 'Document type',
+    id: 'Document',
+    idCard: 'ID',
+    noIdCard: 'No ID Card',
+    null: 'Not currently available',
+    passport: 'Passport',
+    servicemanCard: 'Military card',
+    idNo: 'ID number',
+    inputIdNo: 'Please enter the ID number',
+    nickname: 'Nickname',
+    inputNickname: 'Please enter another name for the user',
+    frame: 'Check in bed',
+    frame2: 'Registration location',
+    choiceFrame: 'Please choose a bed',
+    illnessDesc: "Brief description of the user's situation",
+    illnessDesc2: 'User Profile',
+    illnessDesc3: 'Mode of childbirth',
+    patientIllnessDesc: 'Illness description',
+    inputIllnessDesc: 'Please input text content, length 2~50',
+    choiceIllnessDesc: 'Please choose the delivery method',
+    advice: "Doctor's advice",
+    inputAdvice: 'Please enter text content, length 2~50',
+    doctor: 'Responsible doctor',
+    doctor2: 'Guardian',
+    choiceDoctor: 'Please choose a doctor',
+    choiceDoctor2: 'Please choose a guardian',
+    nurse: 'Responsible nurse',
+    choiceNurse: 'Please choose a nurse',
+    worker: 'Responsible care worker',
+    choiceWorker: 'Please choose a nurse',
+    choiceUser: 'Please select a user',
+    customerRelative: 'User Relative',
+    sureDeleteRelative: "Are you sure you want to delete this patient's relative information?",
+    customerRelativeTrueName: 'Relative name',
+    inputCustomerRelativeTrueName: "Please enter the relative's name",
+    relativeName: 'Relationship',
+    inputRelativeName: 'Please enter relative relationship such as: friend',
+    choiceRelativeName: 'Please choose a relationship',
+    vital: 'Signs',
+    remark: 'Remark',
+    remarks: 'Remarks:',
+    inputRemarks: 'Please enter the remarks',
+    remarkTime: 'Time:',
+    remarkName: 'Remark person:',
+    addRemark: 'Add remark',
+    outBed: 'Log out of bed',
+    outBed2: 'Unregister',
+    outBed3: 'Unregister',
+    sureOutBed: 'Are you sure about log out of bed? ',
+    outBedSuccess: 'Bed out successfully! ',
+    changeBed: 'Change bed',
+    changeBed2: 'Change location',
+    changeBed3: 'change',
+    changeBedSuccess: '',
+    oldBed: 'Current bed',
+    newBed: 'Change to bed',
+    choiceNewBed: 'Please choose a bed',
+    getEmptyBed: 'Get an empty bed:',
+    message: 'message',
+    customerStatus: 'Current status',
+    customerStatusTrue: 'Checking in',
+    customerStatusFalse: 'Left',
+    footprint: 'Footprint'
+  },
+  vital: {
+    customerVital: 'User Log',
+    paramName: 'Physical parameters',
+    value: 'Physical value',
+    logTime: 'Measurement time',
+    company: 'Unit'
+  },
+  watch: {
+    deviceKeywords: 'Please enter the device alias or device identification code',
+    dateKeywords: 'Select a date to search',
+    huanBan: 'Shift shift',
+    binding: 'Binding',
+    noBinding: 'Not bound',
+    ethMac: 'Device ID',
+    initializeDevice: 'Initialize the device',
+    watchFrame: 'Manage space',
+    watchDeviceFrame: 'Manage space for mobile device',
+    place: 'Location',
+    placeInfo: 'Location information',
+    getNewPlace: 'Get the latest location',
+    inputName: 'Please enter a name',
+    deviceMember: 'Binding person',
+    choiceNurse: 'Please choose a nurse',
+    doNothing: 'No changes have been made',
+    nurseManageFrame: 'Nurse management frame',
+    choiceFrame: 'Please choose a bed! ',
+    you: 'You are',
+    in: 'in',
+    nearby: 'nearby',
+    notCovered: 'Not currently in beacon range'
+  },
+  channel: {
+    channelAdd: 'Add channel',
+    channelName: 'Channel name',
+    inputChannelName: 'Please enter the channel name',
+    subscribeManage: 'Subscription Management'
+  },
+  remark: {
+    remarkAdd: 'New note',
+    remarkContent: 'Note content:',
+    remarkCreateTime: 'Create time:',
+    remarkCreateName: 'Created by:'
+  },
+  task: {
+    all: 'All',
+    taskType: 'Task status',
+    notOperated: 'Not Operated',
+    taskFail: 'Task failed',
+    taskSuccess: 'Task succeeded',
+    isTaskSuccess: 'Task completed?',
+    success: 'Success',
+    failed: 'Failed',
+    noticeAndTask: 'Notice/Task',
+    taskPlanTime: 'Scheduled task execution time',
+    taskPlanTime2: 'Plan execution time:',
+    taskToTime: 'Actual task execution time',
+    taskToName: 'Task operator',
+    doTask: 'Operation task',
+    creatName: 'Creator',
+    choiceTaskPlanTime: 'Please select the scheduled task execution time',
+    inputTaskContent: 'Please enter the task content',
+    choiceTaskToTime: 'Please choose the actual task time'
+  },
+  interaction: {
+    interactionKeywords: 'Please enter the initiator or receiver',
+    fromMemberName: 'Originator',
+    toMemberName: 'Receiver',
+    actionType: 'Interaction type',
+    actionEnd: 'Interaction result',
+    actionTime: 'Number of interactions',
+    actionTime2: 'Number of calls',
+    success: 'Success',
+    successInteraction: 'Response to interaction',
+    successInteraction2: 'The call has been connected',
+    unSuccessInteraction: 'Unfinished interaction',
+    unSuccessInteraction2: 'Unconnected call',
+    unSuccessTime: 'Uncompleted times',
+    unSuccessTime2: 'Unconnected times',
+    failedInteraction: 'Failed to hang up the interaction normally',
+    failedInteraction2: 'The call did not hang up normally',
+    notOperated: 'Not responding',
+    data: 'Interaction data',
+    createDate: 'Interaction time',
+    fromDevice: 'Initiating device',
+    toDevice: 'Receive device',
+    interactionRecord: 'Interaction record',
+    interactionRecord2: 'Call record',
+    all: 'All',
+    customerAndClerk: 'Customer and employee',
+    clerkAndClerk: 'Colleague and Colleague',
+    selectData: 'Check periord:',
+    customerCensus: 'User interaction statistics',
+    clerkCensus: 'Employee interaction statistics',
+    dataCensus: 'Time period interaction statistics',
+    unSuccessCensus: 'Uncompleted interaction statistics',
+    interactionCensus: 'Interaction record statistics',
+    quantityCensus: 'Quantity statistics',
+    avgResponseNum: 'Average response time',
+    avgResponseNum2: 'Average On Time',
+    MinNum: 'Minimum response time',
+    MinNum2: 'Minimum on time',
+    MaxNum: 'Maximum response time',
+    MaxNum2: 'Maximum on time',
+    SumNum: 'Total call time',
+    total: 'Total'
+  },
+  frameGroup: {
+    frameGroupAdd: 'New area',
+    frameGroupName: 'Region name',
+    inputFrameGroupName: 'Please enter the area name',
+    frameGroupNameMsg: 'The area name cannot be empty',
+    frameGroupManage: 'Regional control space'
+  },
+  broadcast: {
+    broadcastAdd: 'New broadcast',
+    broadcastName: 'Broadcast name',
+    inputBroadcastName: 'Please enter the broadcast name',
+    broadcastNameMsg: 'Broadcast name cannot be empty',
+    broadcastMode: 'Broadcast Mode',
+    broadcastModeMsg: 'Broadcast mode must be selected',
+    playMode: 'Play Mode',
+    manualMode: 'Manual mode',
+    autoMode: 'Auto Mode',
+    playModeMsg: 'Play mode must be selected',
+    timePlay: 'Timed Play',
+    scheduledPlay: 'Scheduled Play',
+    playStart: 'Autoplay start',
+    playStartMsg: 'Auto mode start time must be selected',
+    anyTime: 'Any point in time',
+    playEnd: 'Timed playback ends',
+    playEndMsg: 'Timed playback end time must be selected',
+    repeatTimes: 'Fixed playback times',
+    repeatTimesMsg: 'Play times must be filled in',
+    repeatTime: 'Play times',
+    broadcastStatus: ' Enabled or not',
+    broadcastStart: 'Start this broadcast',
+    status: 'Start status',
+    statusTrue: 'Enabled',
+    statusFalse: 'Closed',
+    repeatDay: 'Start Day',
+    play: 'Play',
+    stop: 'Stop',
+    playOrder: 'Play order',
+    playOrderMsg: 'Playing order is required',
+    broadcastFrameGroup: 'Broadcast area',
+    otherBroadcastFrameGroup: 'Other broadcast positions',
+    broadcastInfo: 'Broadcast information',
+    broadcastFile: 'Broadcast file'
+  },
+  event: {
+    eventEdit: 'Edit button event',
+    name: 'Name',
+    inputName: 'Please enter a name',
+    desc: 'Description',
+    inputDesc: 'Please enter a description',
+    keyCode: 'Unique identification code',
+    inputKeyCode: 'Please enter a unique identification code',
+    coordinateX: 'x coordinate range',
+    minX: 'Minimum x-axis',
+    manX: 'Maximum x-axis',
+    coordinateY: 'y coordinate range',
+    minY: 'Minimum y-axis',
+    manY: 'Maximum y-axis',
+    deviceType: 'Device type',
+    choiceDeviceType: 'Please choose a type',
+    remoteControl: 'Remote control',
+    emergencyButton: 'SOS emergency button',
+    roleName: 'Applicable role',
+    choiceRoleName: 'Please select the applicable person',
+    icon: 'Icon'
+  },
+  nurseConfig: {
+    configName: 'Nursing name',
+    inputConfigName: 'Please enter the nursing name',
+    configAdd: 'Add nursing parameters',
+    configEdit: 'Modify nursing item',
+    optionAdd: 'Add nursing item',
+    optionName: 'Nursing item name',
+    inputOptionName: 'Please enter the name of the nursing item',
+    optionColor: 'Care lamp color',
+    colorRgb: 'Color ID',
+    basic: 'Basic Nursing Information'
+  },
+  board: {
+    boardSet: 'Set information board',
+    statusTime: 'Screen stay time',
+    statusTimeSet: 'Set the duration of stay',
+    statusTimeSetMsg: 'The duration must be set for each item! ',
+    the: 'the first',
+    screen: 'screen',
+    screenFirst: 'First screen',
+    screenFirstSet: 'The duration of the first screen stay',
+    screenSecond: 'The second screen',
+    screenSecondSet: 'The duration of the second screen stay',
+    screenFixedSet: 'Set the fixed screen display',
+    noFixed: 'Not fixed',
+    name: 'Alias',
+    ethMac: 'Mac address',
+    partId: 'Department ID',
+    setUpThisPart: 'Set to undergraduate room',
+    webSocketSuccess: 'Service is normal, new information boards can be automatically discovered'
+  },
+  guard: {
+    shotPicture: 'Take Photo',
+    openDoor: 'unlock',
+    lockDoor: 'Lock the door',
+    addVisit: 'Issue basic visitor information',
+    addUser: 'Add people'
+  },
+  error: {
+    errorClear: 'Clear log',
+    errorDetails: 'Error details',
+    device: 'Device:',
+    ethMac: 'Identification code',
+    deviceFrame: 'Device position:',
+    deviceFrame2: 'Device position',
+    className: 'Class Name:',
+    className2: 'class name',
+    methodName: 'Method name:',
+    methodName2: 'method name',
+    exceptionName: 'Exception type:',
+    errorTime: 'Error time:',
+    errorTime2: 'Error time',
+    errorMsg: 'Error message:',
+    detailsError: 'Detailed error:'
+  },
+  systemConfig: {
+    add: 'Add parameter configuration',
+    groupName: 'Group name',
+    inputGroupName: 'Please enter the group name',
+    keyCode: 'Reference code',
+    keyCodeMsg: 'The reference code cannot be empty',
+    inputKeyCode: 'Please enter the reference code',
+    keyName: 'Configuration name',
+    inputKeyName: 'Please enter the configuration name',
+    keyVal: 'Configuration value',
+    keyValMsg: 'Configuration value cannot be empty',
+    inputKeyVal: 'Please enter the configuration value',
+    description: 'parameter description',
+    inputDescription: 'Please enter a parameter description'
+  },
+  menu: {
+    add: 'Add',
+    addMsg: 'Max three levels can be add to the menu',
+    addFirst: 'Add top menu',
+    menuEdit: 'Edit menu',
+    menuAdd: 'Add menu',
+    title: 'Menu title',
+    inputTitle: 'Please enter the menu title! ',
+    titleMsg: 'Length between 2 and 6 characters',
+    identifier: 'Menu ID',
+    inputIdentifier: 'Please enter the menu ID! ',
+    identifierMsg: 'Length between 1 and 50 characters',
+    authRegular: 'Menu permissions',
+    inputAuthRegular: 'Please enter menu authority! ',
+    authRegularMsg: 'Length between 1 and 50 characters',
+    MenuDeleteMsg: 'Are you sure you want to delete this menu? If there are submenus, the submenus will also be deleted! '
+  },
+  partInfo: {
+    partInfo: 'System Settings',
+    baseInfo: 'Basic information',
+    shopName: 'Organization Abbreviation',
+    shopNameMsg: 'Organization abbreviation must be filled in',
+    inputShopName: 'Input organization abbreviation',
+    shopFullName: 'Organization full name',
+    shopFullNameMsg: 'The full name of the organization must be filled in',
+    inputShopFullName: 'Enter the full name of the organization',
+    hisCode: 'HIS system ID',
+    inputHisCode: 'Please enter the HIS system ID',
+    shopType: 'Organization type',
+    shopTypeMsg: 'Organization type must be selected',
+    choiceShopType: 'Please select the organization type',
+    hospital: 'Hospital',
+    part: 'Department',
+    shop: 'Institution',
+    organization: 'Organization',
+    shopMemberName: 'Administrator account',
+    shopMemberNameMsg: 'The administrator account must be filled in',
+    inputShopMemberName: 'Please enter the administrator account',
+    shopMemberPassword: 'Admin password',
+    shopMemberPasswordMsg: 'Administrator password must be filled in',
+    inputShopMemberPassword: 'Please enter the administrator password',
+    shopParentName: 'Abbreviation of parent organization',
+    shopParentFullName: 'The full name of the parent organization',
+    shopParentId: 'Organization',
+    choiceShopParentId: 'Please choose a parent organization',
+    dayInfo: 'Daytime parameter settings',
+    dayStart: 'Day start time',
+    nightInfo: 'Night parameter settings',
+    nightStart: 'Night start time',
+    dayOrNightVol: 'Host call volume',
+    dayOrNightDoorVol: 'Outdoor machine call volume',
+    dayOrNightTransferBoxVol: 'Transfer box call volume',
+    dayOrNightLight: 'Extension LCD screen brightness',
+    dayOrNightRingTimes: 'Number of the call rings times',
+    dayOrNightBedVol: 'Extension call volume',
+    dayOrNightRingVol: 'Host system volume',
+    dayOrNightNurseLed: 'Extension Nursing Light Brightness',
+    dayOrNightTransferBoxSystemVol: 'Transfer box system volume',
+    otherInfo: 'Other parameters',
+    sleepSecondsBed: 'Extension screen time off',
+    sleepSecondsDoor: 'Outdoor screen time off',
+    sleepSecondsNurse: 'Nurse host resting time',
+    sipOvertime: 'Voice call timeout',
+    transferDuration: 'Nurse transfer duration',
+    transferDurationLeader: 'The transfer duration of the nurse team leader',
+    nurseKeyVal: 'Nurse host transfer time',
+    autoAccept: 'Extension automatic answering',
+    openAutoAccept: 'Enable automatic answer',
+    eventForward: 'Event forwarding function',
+    openEventForward: 'Open event forwarding',
+    communicationModeBed: 'Extension communication mode',
+    communicationModeNurse: 'Nurse host communication mode',
+    communicationModeMobile: 'Mobile device communication mode',
+    networkCall: 'Internet call',
+    mobileCall: 'Mobile call',
+    fixedCall: 'Fixed call',
+    customizeRoleCallFirst: 'Customerize call role 1',
+    customizeRoleCallSecond: 'Customize call role 2',
+    customizeRoleCallThird: 'Customize call role 3',
+    customizeRoleCallFourth: 'Customize call role 4',
+    customizeRoleCallFifth: 'Customize call role 5',
+    customizeHospitalCallFirst: 'Customize call device 1',
+    customizeHospitalCallFirstName: 'Customize the name of the calling device 1',
+    inputCustomizeHospitalCallFirstName: 'Input device 1 name',
+    customizeHospitalCallSecond: 'Customize call device 2',
+    customizeHospitalCallSecondName: 'Customize the name of the call device 2',
+    inputCustomizeHospitalCallSecondName: 'Input device 2 name',
+    customizeHospitalCallThird: 'Customize call device 3',
+    customizeHospitalCallThirdName: 'Customize the name of the call device 3',
+    inputCustomizeHospitalCallThirdName: 'Input device 3 name',
+    inputName: 'Please enter a name',
+    doctorTitle: 'Analog extension doctor title',
+    nurseTitle: 'Analog extension nurse title',
+    doorNurseTitle: 'Title of door machine call nurse',
+    doorNursingTitle: 'Title of door machine in nursing',
+    display: 'Display',
+    onDisplay: 'Do not display',
+    upSeconds: 'interval of Watch upload positioning ',
+    saveSettings: 'Save settings',
+    initializeSystem: 'Initialize the system',
+    initialize485Device: 'Initialize 485 Device',
+    addTestMemberList: 'Add test users in batches',
+    devicesRef: 'Device batch refresh',
+    bindDevice: 'Bind the voice conversion box',
+    sureBindDevice: 'Are you sure you need to bind the voice conversion box?',
+    sureAddTestMemberList: 'Are you sure you need to add test users in batches?',
+    startAdd: 'Start creating',
+    sureDevicesRef: 'Are you sure you need to refresh devices in batches?',
+    partInfoSetting: 'Department information setting',
+    nurse: 'Nurse host APP update',
+    vnurse: 'Visual version of Nurse host ',
+    znurse: 'The main control nurse host APP is updated',
+    doctor: 'Doctor host',
+    door: 'Door phone APP update',
+    vdoor: 'Visual version of doorway machine',
+    sickbed: '5-inch bed extension APP',
+    sevensickbed: '7 inch bed extension APP',
+    vsickbed: ' Visual version of Bed extension',
+    mobiledevice: 'Mobile device',
+    visitation: 'Visitor',
+    transferDevice: 'Transfer box',
+    lcdDevice: 'LCD corridor screen',
+    organizationAdd: 'New Organization',
+    boardShowEmptyBed: 'The board shows empty beds',
+    nursingColorRgb: 'Nursing door light color',
+    twoColorDoorLightValid: 'Two-color door lights are supported or not',
+    support: 'Support two-color door lights'
+  },
+  role: {
+    roleName: 'Role name',
+    roleNameMsg: 'Length between 1 and 10 characters',
+    inputRoleName: 'Please enter the role name! ',
+    roleDescribe: 'role description',
+    roleDescribeMsg: 'Maximum 200 words',
+    permission: 'Role permission',
+    roleAdd: 'New role',
+    roleEvent: 'Role event',
+    roleDelete: 'Delete role',
+    roleEdit: 'Edit role event',
+    onChoiceRole: 'No role has been selected!'
   },
   tab: {
-    home: 'home',
-    frameManage: 'frame manage',
-    deviceManage: 'device manage',
-    clerkManage: 'clerk manage',
-    memberManage: 'member manage',
-    mobileDeviceManage: 'mobile device manage'
+    home: 'Home',
+    frameManage: 'Space position',
+    deviceManage: 'All devices',
+    clerkManage: 'Employee management',
+    patientManage: 'Patient management',
+    customerManage: 'User Management',
+    customerQrCode: 'User QR code',
+    mobileDeviceManage: 'Mobile Device',
+    userLocationManage: 'User Location',
+    sosDeviceSettingManage: 'Alarm device',
+    channelManage: 'Intercom channel',
+    remarkManage: 'Note management',
+    taskManage: 'Task management',
+    interactionHistory: 'Interaction History',
+    frameGroupManage: 'Region management',
+    frameGroupEdit: 'Edit area information',
+    watchFrameManage: 'Mobile device space',
+    broadcastManage: 'Broadcast settings',
+    broadcastEdit: 'Edit broadcast information',
+    nurseConfig: 'Nursing parameters',
+    boardManage: 'Information board settings',
+    eventManage: 'Button event management',
+    interactionChars: 'Interaction statistics',
+    partSetting: 'Organization settings',
+    allClerk: 'All employees',
+    allCustomer: 'All users',
+    allDevice: 'All devices',
+    errorLog: 'Error log',
+    systemConfig: 'System parameters',
+    shopSetting: 'System settings',
+    menuManage: 'Menu management',
+    organization: 'Organization',
+    roleManage: 'Role management',
+    debugging485: '485 debugging',
+    deviceFrame: 'Device space'
+  },
+  deviceType: {
+    NURSE_HOST: 'Nurse Host',
+    DOCTOR_HOST: 'Doctor Host',
+    DOOR_DEVICE: 'Door Station',
+    DIGIT_BED_DEVICE: 'Bed Extension',
+    LCD_SCREEN: 'LCD Corridor Screen',
+    LED_SCREEN: 'LED Dot Corridor Screen',
+    NURSE_WATCH: 'Nurse Moves',
+    WORKER_WATCH: 'The Carer Moves',
+    USER_WATCH: 'User Move',
+    CELL_PHONE: 'Mobile App',
+    TRANSFER_DEVICE: 'Bus Conversion Box',
+    SIMULATE_BED_DEVICE: 'Analog Extension',
+    SIMULATE_EMERGENCY_BUTTON: 'Analog Emergency Button',
+    SIMULATE_DOOR_LIGHT: 'Analog Door Light',
+    REMOTE_CONTROL: 'Remote Control',
+    BEACON: 'Beacons',
+    INFORMATION_BOARD: 'Information Board',
+    ENTRANCE_GUARD: 'Access Control Device',
+    VISITATION: 'Visiting Machine',
+    RS485_TRANSFER: '485 Conversion Box',
+    EMERGENCY_BUTTON: 'Emergency Button',
+    RS485_DOOR: '485 Door Extension',
+    ALARM_BODY_INDUCTIVE: 'Infrared Alarm',
+    ALARM_WATER_OVERFLOW: 'Water Monitor',
+    ALARM_HOUSEHOLD_GAS: 'Household Fire Alarm',
+    ALARM_HOUSEHOLD_SMOKE: 'Household Smoke Alarm',
+    ALARM_BUTTON_SOS: 'One Button Alarm',
+    VITAL_SIGNS_DEVICE: 'Signs Devices',
+    ALARM_RESTRAINT_BAND: 'Restriction Band Alarm',
+    DOOR_LOCK: 'Door Magnetic Sensor',
+    EMERGENCY_GATEWAY: 'Alarm Gateway',
+    ALARM_433BUTTON: '433 Alarm',
+    OTHER_HOST: 'Other Host'
+  },
+  vitalSignsDeviceType: {
+    BLOOD_SUGAR: 'Blood Pressure Meter',
+    BLOOD_OXYGEN: 'Oximeter',
+    BLOOD_PRESSURE: 'Blood Pressure Monitor',
+    TEMPERATURE: 'Temperature Gun',
+    SHADOW_OF_GUARDIAN: 'Guardian Shadow'
+  },
+  sosDeviceSettingType: {
+    NOT_START: 'Do Not Start',
+    EPIDEMIC_PATTERN: 'Epidemic Prevention Mode',
+    CARING_PATTERN: 'Elderly Care Mode'
+  },
+  tcpType: {
+    CALLBACK: 'TCP Feedback',
+    VOICE: 'Voice',
+    VIDEO: 'Video',
+    SOS: 'Emergency Call',
+    REINFORCE: 'Reinforcements',
+    IM: 'Message',
+    DEVICE: 'Device',
+    DATA: 'Data',
+    EVENT: 'Event',
+    SIDE: 'Outside Information',
+    BROADCAST: 'Broadcast',
+    TIME: 'Time',
+    ENTRACEGUARD: 'Access Control',
+    CHANNELIM: 'Channel Message',
+    LOCATION: 'Location',
+    PHONE: 'Phone',
+    UNKNOWN: 'Unknown'
+  },
+  relativeNameType: {
+    CHILDREN: 'Child',
+    HUSBAND: 'Husband',
+    WIFE: 'Wife',
+    FATHER: 'Father',
+    MOTHER: 'Mother',
+    RELATIVE: 'Relative',
+    FRIEND: 'Friend'
+  },
+  childbirthType: {
+    SPONTANEOUS_LABOR: 'Natrual Birth',
+    CAESAREAN_BIRTH: 'Caesarean Birth'
   }
 }

+ 15 - 4
languages/zh-CN.js

@@ -1,11 +1,15 @@
 const i18n = require('@/utils/i18n')
 module.exports = {
   action: {
+    wdklCallingSystem: '维鼎康联呼叫系统配置中心',
     home: '首页',
     add: '新增',
     edit: '编辑',
     more: '更多',
     delete: '删除',
+    login: '登录',
+    loginError: '您的登录状态已失效,请重新登录!',
+    permissionError: '权限错误',
     logout: '退出登录',
     waring: '警告',
     systemPrompt: '系统提示',
@@ -128,7 +132,12 @@ module.exports = {
     inputUploadVersionCode: '请输入版本信息',
     uploadVersionCodeMsg: '版本信息不能为空',
     initialing: '正在初始化,请稍后...',
-    deviceFrame: '设备空间'
+    deviceFrame: '设备空间',
+    excelFile: '将导出Excel文件,是否继续?',
+    statisticalSubTable: '统计子表',
+    byPerson: '按人',
+    byEvent: '按事件',
+    export: '导出'
   },
   member: {
     face: '头像',
@@ -140,9 +149,11 @@ module.exports = {
     uname: '登录名',
     inputUname: '请输入用户名',
     unameInputMsg: '长度在 2 到 20 个字符',
+    unameError: '用户名必须填写',
     password: '密码',
     inputPassword: '请输入密码!',
     passwordInputMsg: '密码格式有误,密码只能包含字母数字和!#$%^&*.~,字符,长度为6-20位',
+    passwordError: '登录密码必须填写',
     name: '姓名',
     nickname: '真实姓名',
     inputNickname: '请输入真实姓名',
@@ -311,7 +322,7 @@ module.exports = {
     inputNamed: '请输入姓名',
     cardNo: '入住编号',
     cardNo2: '登记号',
-    inputCardNo: '请输入病人编号',
+    inputCardNo: '请输入编号',
     inputCardNo2: '请输入登记号',
     age: '年龄',
     inputAge: '请输入年龄',
@@ -358,7 +369,7 @@ module.exports = {
     choiceWorker: '请选择护工',
     choiceUser: '请选择用户',
     customerRelative: '用户亲属',
-    sureDeleteRelative: '你确定要删除此人亲属信息?',
+    sureDeleteRelative: '你确定要删除此入住人亲属信息?',
     customerRelativeTrueName: '亲属姓名',
     inputCustomerRelativeTrueName: '请输入亲属姓名',
     relativeName: '关系',
@@ -777,7 +788,7 @@ module.exports = {
     frameManage: '空间位置',
     deviceManage: '所有设备',
     clerkManage: '员工管理',
-    patientManage: '病人管理',
+    patientManage: '入住人员管理',
     customerManage: '用户管理',
     customerQrCode: '用户二维码',
     mobileDeviceManage: '移动设备',

+ 4 - 17
src/router/index.js

@@ -155,7 +155,7 @@ export const partRoutes = [
   //       path: 'customer',
   //       component: () => import('@/views/customer/list'),
   //       name: 'customerList',
-  //       meta: { title: '人管理', icon: 'el-icon-s-custom', noCache: true }
+  //       meta: { title: '入住人管理', icon: 'el-icon-s-custom', noCache: true }
   //     }
   //   ]
   // },
@@ -189,7 +189,7 @@ export const partRoutes = [
   //       path: 'index',
   //       component: () => import('@/views/customer/patientManagement'),
   //       name: 'patientManagement',
-  //       meta: { title: '人管理', icon: 'el-icon-s-custom', noCache: true, hidden: uiVersion !== 1 }
+  //       meta: { title: '入住人管理', icon: 'el-icon-s-custom', noCache: true, hidden: uiVersion !== 1 }
   //     }
   //   ]
   // },
@@ -369,19 +369,6 @@ export const partRoutes = [
       }
     ],
     hidden: uiVersion !== 1
-  }, {
-    path: '/calling-board',
-    component: Layout,
-    redirect: '/calling-board/index',
-    children: [
-      {
-        path: 'index',
-        component: () => import('@/views/calling-board/index'),
-        name: 'CallingBoard',
-        meta: { title: i18n.t('tab.boardManage'), icon: 'el-icon-data-board', noCache: true }
-      }
-    ],
-    hidden: uiVersion === 2
   },
   {
     path: '/ncs-event',
@@ -491,7 +478,7 @@ export const hospitalRoutes = [
         meta: { title: i18n.t('tab.customerManage'), icon: 'el-icon-s-custom', noCache: true }
         // component: () => uiVersion === 1 ? import('@/views/customer/patientManagement') : import('@/views/customer/customerManagement'),
         // name: uiVersion === 1 ? 'hospital_patientList' : 'hospital_customerList',
-        // meta: { title: uiVersion === 1 ? '人管理' : '用户管理', icon: 'el-icon-s-custom', noCache: true }
+        // meta: { title: uiVersion === 1 ? '入住人管理' : '用户管理', icon: 'el-icon-s-custom', noCache: true }
       }
     ]
   },
@@ -536,7 +523,7 @@ export const adminRoutes = [
         meta: { title: i18n.t('tab.allCustomer'), icon: 'el-icon-s-custom', noCache: true }
         // component: () => uiVersion === 1 ? import('@/views/customer/patientManagement') : import('@/views/customer/customerManagement'),
         // name: uiVersion === 1 ? 'hospital_patientList' : 'hospital_customerList',
-        // meta: { title: uiVersion === 1 ? '人管理' : '用户管理', icon: 'el-icon-s-custom', noCache: true }
+        // meta: { title: uiVersion === 1 ? '入住人管理' : '用户管理', icon: 'el-icon-s-custom', noCache: true }
       }
     ]
   },

+ 1 - 1
src/utils/checkToken.js

@@ -40,7 +40,7 @@ export default function checkToken(options) {
      * 说明登录已失效、或者cookie有问题,需要重新登录。
      */
     if (!refreshToken || !user) {
-      MessageBox.alert('您的登录状态已失效,请重新登录!', '权限错误', {
+      MessageBox.alert(this.$t('action.loginError'), this.$t('action.permissionError'), {
         type: 'error',
         callback: () => {
           store.dispatch('user/logout').then(() => {

+ 1 - 1
src/utils/device_type.js

@@ -17,7 +17,7 @@ export function returnDeviceType(value) {
     // case 8:
     //   return '护工腕表'
     case 9:
-      return '病人腕表'
+      return '用户腕表'
     case 10:
       return '手机App'
     case 11:

+ 22 - 19
src/views/customer/components/customerManager.vue

@@ -40,11 +40,11 @@
     </ag-grid-layout>
 
     <!-- 用户信息 -->
-    <el-dialog :visible.sync="customerFormVisible" :title="this.$t('customerManage.customerInfo')" class="customer-dialog">
+    <el-dialog :visible.sync="customerFormVisible" :title="this.$t('customerManage.customerInfo')" class="customer-dialog" width="60%">
       <el-tabs v-model="activeName" type="border-card" tab-position="bottom" width="50%" @tab-click="handleClick">
         <el-tab-pane :label="this.$t('customerManage.baseInfo')" name="customerBaseInfo">
           <div>
-            <el-form ref="editForm" :model="formmodel" :rules="rules" label-width="120px">
+            <el-form ref="editForm" :model="formmodel" :rules="rules" label-width="145px">
               <el-row>
                 <el-col :span="12">
                   <el-form-item :label="this.$t('customerManage.named')" prop="named">
@@ -71,9 +71,9 @@
                   <el-form-item :label="this.$t('customerManage.age')" prop="age">
                     <el-input v-model="formmodel.age" clearable :maxlength="4" :placeholder="this.$t('customerManage.inputAge')">
                       <el-select slot="append" v-model="formmodel.age_unit" :placeholder="this.$t('customerManage.choiceAgeUnit')">
-                        <el-option :label="this.$t('customerManage.year')" value="岁" />
-                        <el-option :label="this.$t('customerManage.month')" value="月" />
-                        <el-option :label="this.$t('customerManage.day')" value="天" />
+                        <el-option :label="this.$t('customerManage.year')" :value="this.$t('customerManage.year')" />
+                        <el-option :label="this.$t('customerManage.month')" :value="this.$t('customerManage.month')" />
+                        <el-option :label="this.$t('customerManage.day')" :value="this.$t('customerManage.day')" />
                       </el-select>
                     </el-input>
                   </el-form-item>
@@ -443,9 +443,9 @@
                         :placeholder="this.$t('customerManage.inputAge')">
                 <el-select slot="append" v-model="changeBedFormModel.age_unit" disabled
                            :placeholder="this.$t('customerManage.choiceAgeUnit')">
-                  <el-option :label="this.$t('customerManage.year')" value="岁" />
-                  <el-option :label="this.$t('customerManage.month')" value="月" />
-                  <el-option :label="this.$t('customerManage.day')" value="天" />
+                  <el-option :label="this.$t('customerManage.year')" :value="this.$t('customerManage.year')" />
+                  <el-option :label="this.$t('customerManage.month')" :value="this.$t('customerManage.month')" />
+                  <el-option :label="this.$t('customerManage.day')" :value="this.$t('customerManage.day')" />
                 </el-select>
               </el-input>
             </el-form-item>
@@ -592,7 +592,7 @@ export default {
       formmodel: {
         sex: 0,
         id_type: '身份证',
-        age_unit: '岁',
+        age_unit: this.$t('customerManage.year'),
         in_date: (new Date()).valueOf(),
         mobile: ''
       },
@@ -651,10 +651,10 @@ export default {
                 if (value === null || value === '') { // 手机号可为空
                   callback()
                 }
-              }
-              if (!RegExp.mobile.test(value)) {
-                callback(new Error(this.$t('member.mobileInputMsg')))
-              } else {
+              // }
+              // if (!RegExp.mobile.test(value)) {
+              //   callback(new Error(this.$t('member.mobileInputMsg')))
+              // } else {
                 callback()
               }
             }
@@ -685,11 +685,11 @@ export default {
           this.MixinRequired(this.$t('member.inputMobile')),
           {
             validator: (rule, value, callback) => {
-              if (!RegExp.mobile.test(value)) {
-                callback(new Error(this.$t('member.mobileInputMsg')))
-              } else {
+              // if (!RegExp.mobile.test(value)) {
+              //   callback(new Error(this.$t('member.mobileInputMsg')))
+              // } else {
                 callback()
-              }
+
             }
           }
         ],
@@ -850,7 +850,7 @@ export default {
         filter: false,
         pinned: 'right',
         lockPinned: true,
-        minWidth: 260,
+        minWidth: this.$i18n.locale === 'zh' ? 260 : 380,
         resizable: false,
         sortable: false },
       // { headerName: '退床', field: 'id',
@@ -1042,7 +1042,7 @@ export default {
       this.formmodel = {
         sex: 0,
         id_type: '身份证',
-        age_unit: '岁',
+        age_unit: this.$t('customerManage.year'),
         in_date: (new Date()).valueOf(),
         out_date: (new Date()).valueOf(),
         mobile: '',
@@ -1562,4 +1562,7 @@ export default {
                                    height: 60px;
                                    display: block;
                                  }
+                                 .el-input .el-select {
+                                   width: 120px;
+                                 }
 </style>

+ 11 - 8
src/views/customer/components/elderlyCareManager.vue

@@ -74,9 +74,9 @@
                                     <el-form-item :label="this.$t('customerManage.age')" prop="age">
                                         <el-input v-model="formmodel.age" clearable :maxlength="4" :placeholder="this.$t('customerManage.inputAge')">
                                             <el-select slot="append" v-model="formmodel.age_unit" :placeholder="this.$t('customerManage.choiceAgeUnit')">
-                                                <el-option :label="this.$t('customerManage.year')" value="岁"/>
-                                                <el-option :label="this.$t('customerManage.month')" value="月"/>
-                                                <el-option :label="this.$t('customerManage.day')" value="天"/>
+                                                <el-option :label="this.$t('customerManage.year')" :value="this.$t('customerManage.year')"/>
+                                                <el-option :label="this.$t('customerManage.month')" :value="this.$t('customerManage.month')"/>
+                                                <el-option :label="this.$t('customerManage.day')" :value="this.$t('customerManage.day')"/>
                                             </el-select>
                                         </el-input>
                                     </el-form-item>
@@ -435,9 +435,9 @@
                                       :placeholder="this.$t('customerManage.inputAge')">
                                 <el-select slot="append" v-model="changeBedFormModel.age_unit" disabled
                                            :placeholder="this.$t('customerManage.choiceAgeUnit')">
-                                    <el-option :label="this.$t('customerManage.year')" value="岁"/>
-                                    <el-option :label="this.$t('customerManage.month')" value="月"/>
-                                    <el-option :label="this.$t('customerManage.day')" value="年"/>
+                                    <el-option :label="this.$t('customerManage.year')" :value="this.$t('customerManage.year')"/>
+                                    <el-option :label="this.$t('customerManage.month')" :value="this.$t('customerManage.month')"/>
+                                    <el-option :label="this.$t('customerManage.day')" :value="this.$t('customerManage.day')"/>
                                 </el-select>
                             </el-input>
                         </el-form-item>
@@ -539,7 +539,7 @@
                 formmodel: {
                     sex: 0,
                     id_type: '身份证',
-                    age_unit: '岁',
+                    age_unit: this.$t('customerManage.year'),
                     in_date: (new Date()).valueOf(),
                     mobile: ''
                 },
@@ -1022,7 +1022,7 @@
                 this.formmodel = {
                     sex: 0,
                     id_type: '身份证',
-                    age_unit: '岁',
+                    age_unit: this.$t('customerManage.year'),
                     in_date: (new Date()).valueOf(),
                     mobile: '',
                     part_id: this.$store.getters.partId
@@ -1622,4 +1622,7 @@
     .el-scrollbar__wrap {
         overflow-x: hidden;
     }
+    .el-input .el-select {
+      width: 120px;
+    }
 </style>

+ 48 - 22
src/views/customer/components/patientManager.vue

@@ -40,11 +40,11 @@
         </ag-grid-layout>
 
         <!-- 用户信息 -->
-        <el-dialog :visible.sync="customerFormVisible" :title="this.$t('customerManage.customerInfo')" class="customer-dialog">
+        <el-dialog :visible.sync="customerFormVisible" :title="this.$t('customerManage.customerInfo')" class="customer-dialog" width="60%">
             <el-tabs v-model="activeName" type="border-card" tab-position="bottom" width="50%" @tab-click="handleClick">
                 <el-tab-pane :label="this.$t('customerManage.baseInfo')" name="customerBaseInfo">
                     <div>
-                        <el-form ref="editForm" :model="formmodel" :rules="rules" label-width="120px">
+                        <el-form ref="editForm" :model="formmodel" :rules="rules" :label-width="this.$i18n.locale === 'zh' ? '120px' : '145px'">
                             <el-row>
                                 <el-col :span="12">
                                     <el-form-item :label="this.$t('customerManage.named')" prop="named">
@@ -73,9 +73,9 @@
                                     <el-form-item :label="this.$t('customerManage.age')" prop="age">
                                         <el-input v-model="formmodel.age" clearable :maxlength="4" :placeholder="this.$t('customerManage.inputAge')">
                                             <el-select slot="append" v-model="formmodel.age_unit" :placeholder="this.$t('customerManage.choiceAgeUnit')">
-                                                <el-option :label="this.$t('customerManage.year')" value="岁"/>
-                                                <el-option :label="this.$t('customerManage.month')" value="月"/>
-                                                <el-option :label="this.$t('customerManage.day')" value="天"/>
+                                                <el-option :label="this.$t('customerManage.year')" :value="this.$t('customerManage.year')"/>
+                                                <el-option :label="this.$t('customerManage.month')" :value="this.$t('customerManage.month')"/>
+                                                <el-option :label="this.$t('customerManage.day')" :value="this.$t('customerManage.day')"/>
                                             </el-select>
                                         </el-input>
                                     </el-form-item>
@@ -451,9 +451,9 @@
                                       :placeholder="this.$t('customerManage.inputAge')">
                                 <el-select slot="append" v-model="changeBedFormModel.age_unit" disabled
                                            :placeholder="this.$t('customerManage.choiceAgeUnit')">
-                                    <el-option :label="this.$t('customerManage.year')" value="岁"/>
-                                    <el-option :label="this.$t('customerManage.month')" value="月"/>
-                                    <el-option :label="this.$t('customerManage.day')" value="年"/>
+                                    <el-option :label="this.$t('customerManage.year')" :value="this.$t('customerManage.year')"/>
+                                    <el-option :label="this.$t('customerManage.month')" :value="this.$t('customerManage.month')"/>
+                                    <el-option :label="this.$t('customerManage.day')" :value="this.$t('customerManage.day')"/>
                                 </el-select>
                             </el-input>
                         </el-form-item>
@@ -551,7 +551,7 @@
                 formmodel: {
                     sex: 0,
                     id_type: '身份证',
-                    age_unit: '岁',
+                    age_unit: this.$t('customerManage.year'),
                     in_date: (new Date()).valueOf(),
                     mobile: ''
                 },
@@ -604,10 +604,10 @@
                                     if (value === null || value === '') { // 手机号可为空
                                       callback()
                                     }
-                                }
-                                if (!RegExp.mobile.test(value)) {
-                                    callback(new Error(this.$t('member.mobileInputMsg')))
-                                } else {
+                                // }
+                                // if (!RegExp.mobile.test(value)) {
+                                //     callback(new Error(this.$t('member.mobileInputMsg')))
+                                // } else {
                                     callback()
                                 }
                             }
@@ -635,11 +635,11 @@
                         this.MixinRequired(this.$t('member.inputMobile')),
                         {
                             validator: (rule, value, callback) => {
-                                if (!RegExp.mobile.test(value)) {
-                                    callback(new Error(this.$t('member.mobileInputMsg')))
-                                } else {
+                                // if (!RegExp.mobile.test(value)) {
+                                //     callback(new Error(this.$t('member.mobileInputMsg')))
+                                // } else {
                                     callback()
-                                }
+                                // }
                             }
                         }
                     ],
@@ -751,7 +751,12 @@
                     headerName: this.$t('customerManage.ageUnit'), field: 'age_unit', sortable: true, filter: 'agTextColumnFilter', width: 130
                 },
                 {headerName: this.$t('customerManage.cardNo'), field: 'card_no', sortable: true, filter: 'agTextColumnFilter'},
-                {headerName: this.$t('customerManage.idType'), field: 'id_type', sortable: true, filter: 'agTextColumnFilter'},
+                {headerName: this.$t('customerManage.idType'),
+                  field: 'id_type',
+                  sortable: true,
+                  filter: 'agTextColumnFilter',
+                  valueFormatter: this.idCardFormatter
+                },
                 {headerName: this.$t('customerManage.idNo'), field: 'id_no', sortable: true, filter: 'agNumberColumnFilter', width: 160},
                 {headerName: this.$t('customerManage.frame'), field: 'full_name', sortable: true, filter: 'agTextColumnFilter'},
                 {headerName: this.$t('member.mobile'), field: 'mobile', sortable: true, filter: 'agTextColumnFilter'},
@@ -892,7 +897,7 @@
                 filter: false,
                 pinned: 'right',
                 lockPinned: true,
-                minWidth: 260,
+                minWidth: this.$i18n.locale === 'zh' ? 260 : 380,
                 resizable: false,
                 sortable: false },
             ]
@@ -1048,10 +1053,10 @@
                 this.formmodel = {
                     sex: 0,
                     id_type: '身份证',
-                    age_unit: '岁',
+                    age_unit: this.$t('customerManage.year'),
                     in_date: (new Date()).valueOf(),
                     mobile: '',
-                    part_id: this.frame.part_id
+                    // part_id: this.frame.part_id
                 }
                 if (Object.keys(this.frame).length > 0) {
                     this.$set(this.formmodel, 'frame_id', this.frame.id)
@@ -1082,6 +1087,20 @@
                 if (!param.value) return ''
                 return unix2Date(param.value * 1000)
             },
+          /**
+           * 身份证转换
+           */
+          idCardFormatter(param) {
+            if (param.value === '身份证') {
+              return this.$t('customerManage.idCard');
+            } else if (param.value === '护照') {
+              return this.$t('customerManage.passport');
+            } else if (param.value === '军人证') {
+              return this.$t('customerManage.servicemanCard');
+            } else {
+              return this.$t('customerManage.null');
+            }
+          },
             handleClick() {
 
             },
@@ -1171,6 +1190,7 @@
                 this.$refs[formName].validate(valid => {
                     if (valid) {
                         this.isDisabled = true
+                      this.formmodel.part_id = this.getFrame(this.formmodel.frame_id)[0].part_id
                         if (this.formmodel.in_date) {
                             this.$set(this.formmodel, 'in_date', this.formmodel.in_date / 1000) // 将毫秒数转换成秒
                         }
@@ -1560,7 +1580,10 @@
             API_SystemConfig.cloud().then(r => {
               this.isCloud = r
             })
-          }
+          },
+          getFrame(frame_id) {
+            return this.emptyBeds.filter(item => item.id === frame_id)
+          },
         }
     }
 </script>
@@ -1631,4 +1654,7 @@
     .el-scrollbar__wrap {
         overflow-x: hidden;
     }
+    .el-input .el-select {
+      width: 120px;
+    }
 </style>

+ 3 - 3
src/views/hospital/clerkManager.vue

@@ -43,7 +43,7 @@
       :close-on-click-modal="false"
       :close-on-press-escape="false"
     >
-      <el-form ref="addMemberForm" :model="addMemberForm" :rules="addMemberRules" label-width="110px" class="formwrap">
+      <el-form ref="addMemberForm" :model="addMemberForm" :rules="addMemberRules" label-width="125px" class="formwrap">
         <el-row>
           <el-col :span="12">
             <el-form-item :label="this.$t('member.face')">
@@ -291,8 +291,8 @@ export default {
           {
             validator: (rule, value, callback) => {
               if (!RegExp.mobile.test(value)) {
-                callback(new Error(this.$t('member.mobileInputMsg')))
-              } else {
+              //   callback(new Error(this.$t('member.mobileInputMsg')))
+              // } else {
                 callback()
               }
             },

+ 14 - 14
src/views/hospital/ncs_customer/customerManager.vue

@@ -44,7 +44,7 @@
       <el-tabs v-model="activeName" type="border-card" tab-position="bottom" width="50%" @tab-click="handleClick">
         <el-tab-pane :label="this.$t('customerManage.baseInfo')" name="customerBaseInfo">
           <div style="height: 490px">
-            <el-form ref="editForm" :model="formmodel" :rules="rules" label-width="120px">
+            <el-form ref="editForm" :model="formmodel" :rules="rules" :label-width="this.$i18n.locale === 'zh' ? '120px' : '145px'">
               <el-row>
                 <el-col :span="12">
                   <el-form-item :label="this.$t('customerManage.named')" prop="named">
@@ -71,9 +71,9 @@
                   <el-form-item :label="this.$t('customerManage.age')" prop="age">
                     <el-input v-model="formmodel.age" clearable :maxlength="4" :placeholder="this.$t('customerManage.inputAge')">
                       <el-select slot="append" v-model="formmodel.age_unit" :placeholder="this.$t('customerManage.choiceAgeUnit')">
-                        <el-option :label="this.$t('customerManage.year')" value="岁" />
-                        <el-option :label="this.$t('customerManage.month')" value="月" />
-                        <el-option :label="this.$t('customerManage.day')" value="天" />
+                        <el-option :label="this.$t('customerManage.year')" :value="this.$t('customerManage.year')"/>
+                        <el-option :label="this.$t('customerManage.month')" :value="this.$t('customerManage.month')"/>
+                        <el-option :label="this.$t('customerManage.day')" :value="this.$t('customerManage.day')"/>
                       </el-select>
                     </el-input>
                   </el-form-item>
@@ -404,9 +404,9 @@
                         :placeholder="this.$t('customerManage.inputAge')">
                 <el-select slot="append" v-model="changeBedFormModel.age_unit" disabled
                            :placeholder="this.$t('customerManage.choiceAgeUnit')">
-                  <el-option :label="this.$t('customerManage.year')" value="岁" />
-                  <el-option :label="this.$t('customerManage.month')" value="月" />
-                  <el-option :label="this.$t('customerManage.day')" value="天" />
+                  <el-option :label="this.$t('customerManage.year')" :value="this.$t('customerManage.year')"/>
+                  <el-option :label="this.$t('customerManage.month')" :value="this.$t('customerManage.month')"/>
+                  <el-option :label="this.$t('customerManage.day')" :value="this.$t('customerManage.day')"/>
                 </el-select>
               </el-input>
             </el-form-item>
@@ -501,7 +501,7 @@ export default {
       formmodel: {
         sex: 0,
         id_type: '身份证',
-        age_unit: '岁',
+        age_unit: this.$t('customerManage.year'),
         in_date: (new Date()).valueOf(),
         mobile: ''
       },
@@ -555,8 +555,8 @@ export default {
                 }
               }
               if (!RegExp.mobile.test(value)) {
-                callback(new Error(this.$t('member.mobileInputMsg')))
-              } else {
+              //   callback(new Error(this.$t('member.mobileInputMsg')))
+              // } else {
                 callback()
               }
             }
@@ -588,8 +588,8 @@ export default {
           {
             validator: (rule, value, callback) => {
               if (!RegExp.mobile.test(value)) {
-                callback(new Error(this.$t('member.mobileInputMsg')))
-              } else {
+              //   callback(new Error(this.$t('member.mobileInputMsg')))
+              // } else {
                 callback()
               }
             }
@@ -740,7 +740,7 @@ export default {
         filter: false,
         pinned: 'right',
         lockPinned: true,
-        minWidth: 260,
+        minWidth: this.$i18n.locale === 'zh' ? 260 : 380,
         resizable: false,
         sortable: false },
       // { headerName: this.$t('customerManage.changeBed'), field: 'id',
@@ -909,7 +909,7 @@ export default {
       this.formmodel = {
         sex: 0,
         id_type: '身份证',
-        age_unit: '岁',
+        age_unit: this.$t('customerManage.year'),
         in_date: (new Date()).valueOf(),
         mobile: '',
         // part_id: this.frame.part_id

+ 4 - 6
src/views/hospital/ncs_device/deviceManager.vue

@@ -37,8 +37,8 @@
     </ag-grid-layout>
 
     <!-- 设备编辑弹窗 -->
-    <el-dialog :title="deviceEditTitle" :visible.sync="deviceDialogVisible" width="60%">
-      <el-form ref="deviceEditForm" :rules="deviceRules" label-width="120px" :model="deviceModel">
+    <el-dialog :title="deviceEditTitle" :visible.sync="deviceDialogVisible" :width="this.$i18n.locale === 'zh' ? '60%' : '70%'">
+      <el-form ref="deviceEditForm" :rules="deviceRules" :label-width="this.$i18n.locale === 'zh' ? '120px' : '165px'" :model="deviceModel">
         <el-row>
           <el-col :span="12">
             <el-form-item :label="this.$t('deviceManage.deviceType')" prop="device_type">
@@ -747,10 +747,8 @@ export default {
     /** 设备类型选中对应的空间结构  **/
     deviceTypeChangeToFrameTypeChange(val) {
       if (val === DEVICE_TYPE.NURSE_HOST ||
-          val === DEVICE_TYPE.OTHER_HOST
-      ) {
-        this.getFramesByType(FRAME_TYPE.HOSPITAL)
-      } else if (val === DEVICE_TYPE.DOCTOR_HOST ||
+          val === DEVICE_TYPE.OTHER_HOST  ||
+          val === DEVICE_TYPE.DOCTOR_HOST ||
           val === DEVICE_TYPE.LED_SCREEN ||
           val === DEVICE_TYPE.LCD_SCREEN ||
           val === DEVICE_TYPE.NURSE_WATCH ||

+ 5 - 4
src/views/login/index.vue

@@ -6,7 +6,7 @@
         <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" autocomplete="on" label-position="left">
 
           <div class="title-container">
-            <h3 class="title">维鼎康联呼叫系统配置中心</h3>
+            <h3 class="title">{{ this.$t('action.wdklCallingSystem') }}</h3>
           </div>
 
           <el-form-item prop="username">
@@ -48,7 +48,8 @@
             </el-form-item>
           </el-tooltip>
 
-          <el-button :loading="loading" type="primary" size="midum" style="width:100%;margin-bottom:30px;" @click.native.prevent="handleLogin">登  录</el-button>
+          <el-button :loading="loading" type="primary" size="midum" style="width:100%;margin-bottom:30px;" @click.native.prevent="handleLogin">
+            {{ this.$t('action.login') }}</el-button>
         </el-form>
 
         <el-dialog title="Or connect with" :visible.sync="showDialog">
@@ -81,8 +82,8 @@ export default {
         password: ''
       },
       loginRules: {
-        username: [{ required: true, trigger: 'blur', message: '用户名必须填写' }],
-        password: [{ required: true, trigger: 'blur', message: '登录密码必须填写' }]
+        username: [{ required: true, trigger: 'blur', message: this.$t('member.unameError') }],
+        password: [{ required: true, trigger: 'blur', message: this.$t('member.passwordError') }]
       },
       passwordType: 'password',
       capsTooltip: false,

+ 5 - 5
src/views/ncs-chars/index.vue

@@ -116,10 +116,10 @@
         </el-tab-pane>
       </el-tabs>
       <div style="padding: 10px;margin: 10px;">
-        <el-switch v-if="activeName === 'EVENT'" v-model="sssparams.eventType" active-text="按人" inactive-text="按事件" style="margin-bottom: 10px" @change="Api_getLogTable"></el-switch>
+        <el-switch v-if="activeName === 'EVENT'" v-model="sssparams.eventType" :active-text="this.$t('action.byPerson')" :inactive-text="this.$t('action.byEvent')" style="margin-bottom: 10px" @change="Api_getLogTable"></el-switch>
         <div class="table-wrapper">
           <div style="padding-bottom: 10px;">
-            <el-button type="primary" @click="exportExcel">导出</el-button>
+            <el-button type="primary" @click="exportExcel">{{ this.$t('action.export') }}</el-button>
           </div>
           <el-table :data="userActionList" stripe border :default-sort = "{prop: 'num', order: 'descending'}" style="width: 100%">
             <el-table-column type="index" width="100" :label="this.$t('action.index')" align="center" />
@@ -155,18 +155,18 @@
         </div>
       </div>
     </div>
-    <el-drawer :title="infoName+'统计子表'" :visible.sync="infoVisible" :append-to-body="true" size="70%">
+    <el-drawer :title="infoName + this.$t('action.statisticalSubTable')" :visible.sync="infoVisible" :append-to-body="true" size="70%">
       <my-info :sssparams="sssparams" :uid="uid" :info-name="infoName"></my-info>
     </el-drawer>
   </div>
 </template>
 
 <script>
-import echarts from 'echarts'
 import CountTo from 'vue-count-to'
 import * as API_interaction from '@/api/ncs_interaction'
 import Storage from '@/utils/storage'
 import myInfo from '@/views/ncs-chars/info'
+
 export default {
   name: 'Index',
   components: { CountTo, myInfo },
@@ -557,7 +557,7 @@ export default {
     },
     exportExcel() {
       const _this = this
-      this.$confirm('将导出Excel文件,是否继续?', '提示', {
+      this.$confirm(this.$t('action.excelFile'), this.$t('action.prompt'), {
         type: 'warning'
       }).then(() => {
         _this.loading = false

+ 1 - 1
src/views/ncs-clerk/components/clerkList.vue

@@ -47,7 +47,7 @@
       :close-on-click-modal="false"
       :close-on-press-escape="false"
     >
-      <el-form ref="addMemberForm" :model="addMemberForm" :rules="addMemberRules" label-width="110px" class="formwrap">
+      <el-form ref="addMemberForm" :model="addMemberForm" :rules="addMemberRules" label-width="125px" class="formwrap">
         <el-row>
           <el-col :span="12">
             <el-form-item :label="this.$t('member.face')">

+ 15 - 7
src/views/ncs-device/components/deviceManager.vue

@@ -40,8 +40,8 @@
     </ag-grid-layout>
 
     <!-- 设备编辑弹窗 -->
-    <el-dialog :title="deviceEditTitle" :visible.sync="deviceDialogVisible" width="60%">
-      <el-form ref="deviceEditForm" :rules="deviceRules" label-width="120px" :model="deviceModel">
+    <el-dialog :title="deviceEditTitle" :visible.sync="deviceDialogVisible" :width="this.$i18n.locale === 'zh' ? '60%' : '70%'">
+      <el-form ref="deviceEditForm" :rules="deviceRules" :label-width="this.$i18n.locale === 'zh' ? '120px' : '165px'" :model="deviceModel">
         <el-row>
           <el-col :span="12">
             <el-form-item :label="this.$t('deviceManage.deviceType')" prop="device_type">
@@ -682,7 +682,11 @@ export default {
     /** 将partFrames做分割 */
     getFramesByType(frame_type) {
       if (this.partFrames != null) {
-        this.typeFrames = this.partFrames.filter(item => item.type === frame_type)
+        if (frame_type === FRAME_TYPE.HOSPITAL || frame_type === FRAME_TYPE.PART) {
+          this.typeFrames = this.partFrames.filter(item => item.type === FRAME_TYPE.HOSPITAL || item.type === FRAME_TYPE.PART)
+        } else {
+          this.typeFrames = this.partFrames.filter(item => item.type === frame_type)
+        }
       }
     },
 
@@ -834,9 +838,8 @@ export default {
     /** 设备类型选中对应的空间结构  **/
     deviceTypeChangeToFrameTypeChange(val) {
       if (val === DEVICE_TYPE.NURSE_HOST ||
-          val === DEVICE_TYPE.OTHER_HOST) {
-        this.getFramesByType(FRAME_TYPE.HOSPITAL)
-      } else if (val === DEVICE_TYPE.NURSE_HOST ||
+          val === DEVICE_TYPE.OTHER_HOST ||
+          val === DEVICE_TYPE.NURSE_HOST ||
           val === DEVICE_TYPE.DOCTOR_HOST ||
           val === DEVICE_TYPE.LED_SCREEN ||
           val === DEVICE_TYPE.LCD_SCREEN ||
@@ -872,7 +875,6 @@ export default {
         priority: 1,
         code: 'C' + parseInt(Math.random() * 100000),
         model: 'M' + parseInt(Math.random() * 100000),
-        part_id: this.frame.type === FRAME_TYPE.HOSPITAL ? this.frame.hospital_id : this.frame.part_id,
         status: 1
       }
       this.sosDeviceSetting = {
@@ -924,6 +926,12 @@ export default {
       this.$refs[formName].validate((valid) => {
         if (valid) {
           const _this = this;
+          if (this.frame.type != null) {
+            this.deviceModel.part_id = this.frame.type === FRAME_TYPE.HOSPITAL ? this.frame.hospital_id : this.frame.part_id
+          } else {
+            this.deviceModel.part_id = this.$store.getters.partId
+          }
+          console.log('this.deviceModel', this.deviceModel)
           /** 新增 */
           if (!this.deviceModel.id) {
              API_Device.add(this.deviceModel).then(r => {

+ 1 - 1
src/views/ncs-device/device-edit.vue

@@ -15,7 +15,7 @@
                 <el-option label="LED点阵屏" :value="6" />
                 <el-option label="移动设备" :value="7" />
 <!--                <el-option label="护工腕表" :value="8" />-->
-                <el-option label="病人腕表" :value="9" />
+                <el-option label="用户腕表" :value="9" />
                 <el-option label="手机App" :value="10" />
                 <el-option label="总线转换盒" :value="11" />
                 <el-option label="模拟分机" :value="12" />

+ 1 - 1
src/views/ncs-task/index.vue

@@ -224,7 +224,7 @@ export default {
         filter: false,
         pinned: 'right',
         lockPinned: true,
-        minWidth: 260,
+        minWidth: this.$i18n.locale === 'zh' ? 260 : 380,
         resizable: false,
         sortable: false }
     ]