Jelajahi Sumber

更新版本

Shan9312 2 hari lalu
induk
melakukan
b1437613c7

TEMPAT SAMPAH
dist-多语言tmr-20250312.zip


TEMPAT SAMPAH
src/assets/images/logo-bg-icon.jpg


TEMPAT SAMPAH
src/assets/images/logo-icon.jpg


TEMPAT SAMPAH
src/assets/images/logoBg.jpg


+ 26 - 28
src/lang/en/langModule/auth.js

@@ -1,28 +1,26 @@
-export default{
-    useTestAccount: 'Click here to use test account',
-    signIn: 'User Login',
-    signUp: 'SIGN UP',
-    toSignUp: 'Sign up',
-    toSignIn: 'Already have an account? Sign In',
-    passwordPla: 'Please enter your password',
-    emailPlaceholder: 'Please enter your email',
-    usernames: 'Please enter your username',
-    logout: 'Log Out',
-    signUpSuccess: 'Sign up success, please sign in',
-    logo: require('../../../assets/images/logo-en.png'),
-    userBtn: 'Login',
-    userTname: 'Please enter correct username',
-    userTpassword: 'Please enter correct password',
-    password: 'Password',
-    username: 'Username',
-    rePassword: 'Remember Password',
-    passwordTest:'The password must be at least 6 characters long',
-    logpMsg:'You have been logged out. You can cancel or log in again',
-   relogo:'Log in again',
-   conLogo:'Confirm logout',
-   company:" Beijing Jingpeng Huanyu Animal Husbandry TechnologyCo., Ltd",
-   companyTit:"All Rights Reserved",
-   mgs:"TMR MANAGEMENT AND MONITORING SYSTEM"
-
-
-  }
+export default {
+  useTestAccount: "Click here to use test account",
+  signIn: "User Login",
+  signUp: "SIGN UP",
+  toSignUp: "Sign up",
+  toSignIn: "Already have an account? Sign In",
+  passwordPla: "Please enter your password",
+  emailPlaceholder: "Please enter your email",
+  usernames: "Please enter your username",
+  logout: "Log Out",
+  signUpSuccess: "Sign up success, please sign in",
+  logo: require("../../../assets/images/logo-bg-icon.jpg"),
+  userBtn: "Login",
+  userTname: "Please enter correct username",
+  userTpassword: "Please enter correct password",
+  password: "Password",
+  username: "Username",
+  rePassword: "Remember Password",
+  passwordTest: "The password must be at least 6 characters long",
+  logpMsg: "You have been logged out. You can cancel or log in again",
+  relogo: "Log in again",
+  conLogo: "Confirm logout",
+  company: " Beijing Jingpeng Huanyu Animal Husbandry TechnologyCo., Ltd",
+  companyTit: "All Rights Reserved",
+  mgs: "TMR MANAGEMENT AND MONITORING SYSTEM",
+};

+ 42 - 43
src/lang/en/langModule/common.js

@@ -1,43 +1,42 @@
-export default{
-    dashboard: 'Dashbord',
-    chart: 'Chart',
-    dataSource: 'Data Source',
-    share: 'Share',
-    add: 'Add',
-    edit: 'Edit',
-    delete: 'Delete',
-    cancel: 'Cancel',
-    confirm: 'Confirm',
-    name: 'Name',
-    desc: 'Description',
-    close: 'Close',
-    operation: 'Operation',
-    back: 'Back',
-    save: 'Save',
-    open: 'Open',
-    closed: 'Closed',
-    saveSuccess: 'Success saved',
-    deleteSuccess: 'Deleted',
-    openGuide: 'Show tutorial',
-    requestMsg:'Request Timeout',
-    logoIcon: require('../../../assets/images/logo-en-i.png'),
-    logoM: require('../../../assets/images/logo-en-m.png'),
-    relogo:'Log in again',//重新登陆
-     conLogo:'Confirm logout',
-     watchMore:'see more', //   确认注销
-     startTime:'Start Date',
-    endTime:'End Date',
-    to:'to',
-    reset:'Reset',
-    query:'Query',
-    tableMsg:"Give me a moment",
-    noMsg:"No data available",
-    delMsg:'Are you sure you want to delete this information?',
-    cancelMsg:'Deletion canceled',
-    delSuccess:"Delete successful",
-    delfail:"Delete failed",
-    succes:'Success',
-    please:"Please Select",
-     sum:"Sum"
-
-}
+export default {
+  dashboard: "Dashbord",
+  chart: "Chart",
+  dataSource: "Data Source",
+  share: "Share",
+  add: "Add",
+  edit: "Edit",
+  delete: "Delete",
+  cancel: "Cancel",
+  confirm: "Confirm",
+  name: "Name",
+  desc: "Description",
+  close: "Close",
+  operation: "Operation",
+  back: "Back",
+  save: "Save",
+  open: "Open",
+  closed: "Closed",
+  saveSuccess: "Success saved",
+  deleteSuccess: "Deleted",
+  openGuide: "Show tutorial",
+  requestMsg: "Request Timeout",
+  logoIcon: require("../../../assets/images/logo-icon.jpg"),
+  logoM: require("../../../assets/images/logo-en-m.png"),
+  relogo: "Log in again", //重新登陆
+  conLogo: "Confirm logout",
+  watchMore: "see more", //   确认注销
+  startTime: "Start Date",
+  endTime: "End Date",
+  to: "to",
+  reset: "Reset",
+  query: "Query",
+  tableMsg: "Give me a moment",
+  noMsg: "No data available",
+  delMsg: "Are you sure you want to delete this information?",
+  cancelMsg: "Deletion canceled",
+  delSuccess: "Delete successful",
+  delfail: "Delete failed",
+  succes: "Success",
+  please: "Please Select",
+  sum: "Sum",
+};

+ 85 - 79
src/lang/en/langModule/dailyExecutionPlan.js

@@ -1,79 +1,85 @@
-export default{
-  title:"Daily Execution Plan",
-  xzrq:"Select Date",
-  dylx:"Print Type",
-  jhwd:"Plan Dimension",
-  dclx:"Export Type",
-  zxzt:"Execution Status",
-  scjl:"Delete Record",
-xsc:"Newly Generated",
-xgjh:"Modify Plan",
-fzjh:"Copy Plan",
-scjh:"Upload Plan",
-sjtb:"Data Synchronization",
-sjsc:"Data Upload",
-spasc:"SAP Upload",
-jbsjsc:"Mixing Data Upload",
-slsc:' Leftover Material Upload',
-salsc:"Spread Feed Upload",
-kswc:"Complete Quickly",
-jhmc:"Plan Name",
-jhlx:"Plan Type",
-yzx:"Executed",
-lhl:"Theoretical Quantity",
-qy:"Enable",
-flw:"Material Issue Point",
-jhxq:"Plan Details",
-czxh:"Operation Sequence Number",
-sjzl:"Designed Weight(KG)",
-xj:"Subtotal",
-dy:"Print",
-lsxq:"Pen Details",
-qlls:"Feeding Stall",
-clfs:"Processing Method",
-sjfw:"Time Range",
-note:"Note: There are stalls in the spreading plan that have not been fully allocated, as shown below; it is recommended to allocate them in a timely manner.",
-dyBan1:"First Shift:",
-dyBan2:"Second Shift:",
-dyBan3:"Third Shift:",
-dyBan4:"Fourth Shift:",
-zztb:"Synchronizing",
-
-bcbl:"Shift Ratio(%)",
-dcczzd:"Single Vehicle Operating Weight",
-planTypeList: [{ lable: 'Premix Plan', value: '4' }, { lable: 'Feed Spreading Plan', value: '0' }, { lable: 'Leftover Feed Plan', value: '3' }, { lable: ' Feed Spreading Plan - Mixing', value: '1' }, { lable: 'Feed Spreading Plan - Spreading', value: '2' }, { lable: 'Pre-weighing Plan', value: '5' }],
-
-printingTypeList: [{ lable: 'Concentrate Feed', value: '1' }, { lable: 'Forklift', value: '2' }],
-
-planningDimensionList: [{ lable: 'Material Issuance Order', value: '0' }, { lable: 'TMR', value: '1' }],
-
-exportTypeList: [{ lable: 'Simple Feeding ', value: '0' }, { lable: 'Cumulative Feeding ', value: '1' }, { lable: 'Simple Spreading ', value: '2' }, { lable: 'Simple Feed and Spread', value: '3' }, { lable: 'Cumulative Feed and Spread', value: '4' }, { lable: 'Simple Packaging ', value: '5' }, { lable: 'Actual Dispatch', value: '6' }],
-
-iscompletedList: [{ lable: 'Yes', value: '1' },{ lable: 'No', value: '0' }  ],
-
-lspf: "Pen Formula",
-sljh: "Feed Distribution Plan",
-yhjh: "Pre-mixed Feed Plan",
-sljh: "Leftover Feed Plan",
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
+export default {
+  title: "Daily Execution Plan",
+  xzrq: "Select Date",
+  dylx: "Print Type",
+  jhwd: "Plan Dimension",
+  dclx: "Export Type",
+  zxzt: "Execution Status",
+  scjl: "Delete Record",
+  xsc: "Newly Generated",
+  xgjh: "Modify Plan",
+  fzjh: "Copy Plan",
+  scjh: "Upload Plan",
+  sjtb: "Data Synchronization",
+  sjsc: "Data Upload",
+  spasc: "SAP Upload",
+  jbsjsc: "Mixing Data Upload",
+  slsc: " Leftover Material Upload",
+  salsc: "Spread Feed Upload",
+  kswc: "Complete Quickly",
+  jhmc: "Plan Name",
+  jhlx: "Plan Type",
+  yzx: "Executed",
+  lhl: "Theoretical Quantity",
+  qy: "Enable",
+  flw: "Material Issue Point",
+  jhxq: "Plan Details",
+  czxh: "Operation Sequence Number",
+  sjzl: "Designed Weight(KG)",
+  xj: "Subtotal",
+  dy: "Print",
+  lsxq: "Pen Details",
+  qlls: "Feeding Stall",
+  clfs: "Processing Method",
+  sjfw: "Time Range",
+  note: "Note: There are stalls in the spreading plan that have not been fully allocated, as shown below; it is recommended to allocate them in a timely manner.",
+  dyBan1: "First Shift:",
+  dyBan2: "Second Shift:",
+  dyBan3: "Third Shift:",
+  dyBan4: "Fourth Shift:",
+  zztb: "Synchronizing",
+
+  bcbl: "Shift Ratio(%)",
+  dcczzd: "Single Vehicle Operating Weight",
+  planTypeList: [
+    { lable: "Premix Plan", value: "4" },
+    { lable: "Feed Spreading Plan", value: "0" },
+    { lable: "Leftover Feed Plan", value: "3" },
+    { lable: " Feed Spreading Plan - Mixing", value: "1" },
+    { lable: "Feed Spreading Plan - Spreading", value: "2" },
+    { lable: "Pre-weighing Plan", value: "5" },
+  ],
+
+  printingTypeList: [
+    { lable: "Concentrate Feed", value: "1" },
+    { lable: "Forklift", value: "2" },
+  ],
+
+  planningDimensionList: [
+    { lable: "Material Issuance Order", value: "0" },
+    { lable: "TMR", value: "1" },
+  ],
+
+  exportTypeList: [
+    { lable: "Simple Feeding ", value: "0" },
+    { lable: "Cumulative Feeding ", value: "1" },
+    { lable: "Simple Spreading ", value: "2" },
+    { lable: "Simple Feed and Spread", value: "3" },
+    { lable: "Cumulative Feed and Spread", value: "4" },
+    { lable: "Simple Packaging ", value: "5" },
+    { lable: "Actual Dispatch", value: "6" },
+  ],
+
+  iscompletedList: [
+    { lable: "Yes", value: "1" },
+    { lable: "No", value: "0" },
+  ],
+
+  lspf: "Pen Formula",
+  sljh: "Feed Distribution Plan",
+  yhjh: "Pre-mixed Feed Plan",
+  sljh2: "Leftover Feed Plan",
+  yhcz: "Pre-weighing Plan",
+  sljhhl: "Feed Spreading  Plan-mixing",
+  sljhsl: "Feed Spreading  Plan-Spreading Feed",
+};

+ 69 - 60
src/lang/en/langModule/processAnalysis.js

@@ -1,70 +1,79 @@
 export default {
-  planType:"Plan Type",
-  tmrName:"TMR Name",
-  errorRange:'Error Filtering Range',
-  workStatus:'Working Status',
-  hlwc:'Mixing Tolerance Value',
-  hlzq:'Mixing Accuracy Rate',
-  hlzql:"Mixing Correctness Rate",
-slzql:"Feed Spreading Correctness Rate",
-  fclassid:"Mixing Category",
-  slwc:'Spreading Tolerance Value',
-  slzq:"Feed Spreading Accuracy Rate",
-  minproesstime:"Process Time",
-  oName:"Only Look at Data That Exceeds the Preset Values",
-  tmrName1:"TMR Equipment List",
+  planType: "Plan Type",
+  tmrName: "TMR Name",
+  errorRange: "Error Filtering Range",
+  workStatus: "Working Status",
+  hlwc: "Mixing Tolerance Value",
+  hlzq: "Mixing Accuracy Rate",
+  hlzql: "Mixing Correctness Rate",
+  slzql: "Feed Spreading Correctness Rate",
+  fclassid: "Mixing Category",
+  slwc: "Spreading Tolerance Value",
+  slzq: "Feed Spreading Accuracy Rate",
+  minproesstime: "Process Time",
+  oName: "Only Look at Data That Exceeds the Preset Values",
+  tmrName1: "TMR Equipment List",
   //
-  startDate:"Start Date",
-  remark:'Description',
-
-  processdel:'Process Details',
-  proesstime:'Process Time',
-  proesstime1:'Mixing Time',
-  hlxq:'Mixture Details',
-  slxq:"Feed Spreading Details",
+  startDate: "Start Date",
+  remark: "Description",
+  processdel: "Process Details",
+  proesstime: "Process Time",
+  proesstime1: "Mixing Time",
+  hlxq: "Mixture Details",
+  slxq: "Feed Spreading Details",
   //
-  sort:'Operation Number',
-  fname:"Feed Name",
-  lweight:"Planned Weight",
-  actualweightminus:"Actual Weight",
-  diff:"Error Value",
-  diffRate:"Accuracy Rate",
-  intime:"Completion Time",
-  proesstime:"Process Time",
-  buttontype:"Transition Method",
-  lastactualweight:"Starting Weight",
-  actualweight:"Ending Weight",
-
-  watchPlan:"Monitoring Chart",
-
-  planTypeList: [{ lable: 'Pre-mixed Plan', value: '4' }, { lable: 'Feed Distribution Plan', value: '0' }, { lable: 'Leftover Feed Plan ', value: '3' }, { lable: 'Feed Spreading  Plan-mixing', value: '1' }, { lable: 'Feed Spreading  Plan-Spreading Feed', value: '2' }, { lable: 'Pre-weighing Plan', value: '5' }],
-
-  workingConditionList: [{ id: '0', name: 'In Progress' }, { id: '1', name: 'Completed' }],
+  sort: "Operation Number",
+  fname: "Feed Name",
+  lweight: "Planned Weight",
+  actualweightminus: "Actual Weight",
+  diff: "Error Value",
+  diffRate: "Accuracy Rate",
+  intime: "Completion Time",
+  proesstime: "Process Time",
+  buttontype: "Transition Method",
+  lastactualweight: "Starting Weight",
+  actualweight: "Ending Weight",
 
-  errorList:[{ value: '有误差', label: 'There are errors' }, { value: '无误差', label: 'There are no errors' }],
-    粗料:'Forage',
-    精料:'Concentrate',
-    其他:'Other',
-    饲料:'Feed',
-    剩料:'Leftover Feed',
+  watchPlan: "Monitoring Chart",
 
+  planTypeList: [
+    { lable: "Pre-mixed Plan", value: "4" },
+    { lable: "Feed Distribution Plan", value: "0" },
+    { lable: "Leftover Feed Plan ", value: "3" },
+    { lable: "Feed Spreading  Plan-mixing", value: "1" },
+    { lable: "Feed Spreading  Plan-Spreading Feed", value: "2" },
+    { lable: "Pre-weighing Plan", value: "5" },
+  ],
 
-    designName:'Designed Weight',
-    actureName:'Actual Weight',
-    startWright:'Starting Weight',
-    endWright:"Ending Weight",
+  workingConditionList: [
+    { id: "0", name: "In Progress" },
+    { id: "1", name: "Completed" },
+  ],
 
-    pastureName:'Ranch',
-    total:'Total of',
-    tiao:'Items',
-    slcl:'Feed Spreader Truck',
+  errorList: [
+    { value: "有误差", label: "There are errors" },
+    { value: "无误差", label: "There are no errors" },
+  ],
+  粗料: "Forage",
+  精料: "Concentrate",
+  其他: "Other",
+  饲料: "Feed",
+  剩料: "Leftover Feed",
 
-    slsjxq: 'Remaining Material Collection Details',
-    lsmc: "Pens Name",
-    slcjzl: "Remaining Material Collection Weight (kg)",
-    yxfpsl: "Allowable Distribution of Remaining Material",
-    sjfpzl: "Actual Distribution Weight (kg)",
-    fqslzl: "Waste Remaining Material Weight",
+  designName: "Designed Weight",
+  actureName: "Actual Weight",
+  startWright: "Starting Weight",
+  endWright: "Ending Weight",
 
+  pastureName: "Ranch",
+  total: "Total of",
+  tiao: "Items",
+  slcl: "Feed Spreader Truck",
 
-  }
+  slsjxq: "Remaining Material Collection Details",
+  lsmc: "Pens Name",
+  slcjzl: "Remaining Material Collection Weight (kg)",
+  yxfpsl: "Allowable Distribution of Remaining Material",
+  sjfpzl: "Actual Distribution Weight (kg)",
+  fqslzl: "Waste Remaining Material Weight",
+};

+ 26 - 27
src/lang/zn/langModule/auth.js

@@ -1,27 +1,26 @@
-export default{
-  useTestAccount: '不想注册?点我使用测试账号',
-  signIn: '用户登录',
-  signUp: '注册',
-  toSignUp: '没有账号?去注册',
-  toSignIn: '已有账号? 去登录',
-  passwordPla: '请输入密码',
-  emailPlaceholder: '请输入邮箱',
-  usernames: '请输入用户名',
-  logout: '登出',
-  signUpSuccess: '注册成功,请登录',
-  logo:require('../../../assets/images/logo-en.png'),
-  userBtn: '登录',
-  userTname: '请输入正确的用户名',
-  userTpassword: '请输入正确的密码',
-  password: '密码',
-  username: '用户名',
-  rePassword: '记住密码',
-   passwordTest:'密码不少于6位',
-   logpMsg:'您已注销。您可以取消或重新登录',
-   relogo:'重新登陆',
-   conLogo:'确认注销',
-   company:"北京京鹏环宇畜牧科技股份有限公司",
-   companyTit:"版权所有",
-   mgs:"TMRWatch全混合日粮监管系统"
-
-}
+export default {
+  useTestAccount: "不想注册?点我使用测试账号",
+  signIn: "用户登录",
+  signUp: "注册",
+  toSignUp: "没有账号?去注册",
+  toSignIn: "已有账号? 去登录",
+  passwordPla: "请输入密码",
+  emailPlaceholder: "请输入邮箱",
+  usernames: "请输入用户名",
+  logout: "登出",
+  signUpSuccess: "注册成功,请登录",
+  logo: require("../../../assets/images/logo-bg-icon.jpg"),
+  userBtn: "登录",
+  userTname: "请输入正确的用户名",
+  userTpassword: "请输入正确的密码",
+  password: "密码",
+  username: "用户名",
+  rePassword: "记住密码",
+  passwordTest: "密码不少于6位",
+  logpMsg: "您已注销。您可以取消或重新登录",
+  relogo: "重新登陆",
+  conLogo: "确认注销",
+  company: "北京京鹏环宇畜牧科技股份有限公司",
+  companyTit: "版权所有",
+  mgs: "TMRWatch全混合日粮监管系统",
+};

+ 44 - 46
src/lang/zn/langModule/common.js

@@ -1,47 +1,45 @@
 export default {
-    dashboard: '看板',
-    chart: '图表',
-    dataSource: '数据源',
-    share: '分享',
-    add: '添加',
-    edit: '编辑',
-    delete: '删除',
-    cancel: '取消',
-    confirm: '确认',
-    name: '名称',
-    desc: '描述',
-    close: '关闭',
-    operation: '操作',
-    back: '后退',
-    save: '保存',
-    open: '开启',
-    closed: '关闭',
-    saveSuccess: '保存成功',
-    deleteSuccess: '删除成功',
-    openGuide: '开启新手引导',
-    requestMsg:'请求超时',
-    // logoIcon: require('../../../assets/images/logo1.png'),
-    // logoM: require('../../../assets/images/logo_u3.png'),
-    logoIcon: require('../../../assets/images/logo-en-i.png'),
-    logoM: require('../../../assets/images/logo-en-m.png'),
-    relogo:'重新登陆',//重新登陆
-     conLogo:'确认注销',
-    watchMore:'查看更多',
-    startTime:'开始时间',
-    endTime:'结束时间',
-    to:'至',
-    reset:'重置',
-    query:'查询',
-    //
-    tableMsg:"给我一点时间",
-    noMsg:"暂无数据",
-    delMsg:'是否确认删除此信息?',
-    cancelMsg:"已取消删除",
-    delSuccess:"删除成功",
-    delfail:"删除失败",
-    succes: "成功",
-    please:"请选择",
-    sum:"合计"
-
-  }
-
+  dashboard: "看板",
+  chart: "图表",
+  dataSource: "数据源",
+  share: "分享",
+  add: "添加",
+  edit: "编辑",
+  delete: "删除",
+  cancel: "取消",
+  confirm: "确认",
+  name: "名称",
+  desc: "描述",
+  close: "关闭",
+  operation: "操作",
+  back: "后退",
+  save: "保存",
+  open: "开启",
+  closed: "关闭",
+  saveSuccess: "保存成功",
+  deleteSuccess: "删除成功",
+  openGuide: "开启新手引导",
+  requestMsg: "请求超时",
+  // logoIcon: require('../../../assets/images/logo1.png'),
+  // logoM: require('../../../assets/images/logo_u3.png'),
+  logoIcon: require("../../../assets/images/logo-icon.jpg"),
+  logoM: require("../../../assets/images/logo-en-m.png"),
+  relogo: "重新登陆", //重新登陆
+  conLogo: "确认注销",
+  watchMore: "查看更多",
+  startTime: "开始时间",
+  endTime: "结束时间",
+  to: "至",
+  reset: "重置",
+  query: "查询",
+  //
+  tableMsg: "给我一点时间",
+  noMsg: "暂无数据",
+  delMsg: "是否确认删除此信息?",
+  cancelMsg: "已取消删除",
+  delSuccess: "删除成功",
+  delfail: "删除失败",
+  succes: "成功",
+  please: "请选择",
+  sum: "合计",
+};

+ 84 - 73
src/lang/zn/langModule/dailyExecutionPlan.js

@@ -1,73 +1,84 @@
-export default{
-  title:"日执行计划",
-  xzrq:"选择日期",
-  dylx:"打印类型",
-  jhwd:"计划维度",
-  dclx:"导出类型",
-  zxzt:"执行状态",
-  scjl:"删除记录",
-xsc:"新生成",
-xgjh:"修改计划",
-fzjh:"复制计划",
-scjh:"上传计划",
-sjtb:"数据同步",
-sjsc:"数据上传",
-spasc:"SAP上传",
-jbsjsc:"搅拌数据上传",
-slsc:'剩料上传',
-salsc:"撒料上传",
-kswc:"快速完成",
-jhmc:"计划名称",
-jhlx:"计划类型",
-yzx:"已执行",
-lhl:"理论量",
-qy:"启用",
-flw:"发料位",
-jhxq:"计划详情",
-czxh:"操作序号",
-sjzl:"设计重量(KG)",
-xj:"小计",
-dy:"打印",
-lsxq:"栏舍详情",
-qlls:"取料栏舍",
-clfs:"处理方式",
-sjfw:"时间范围:",
-note:"注:撒料计划中存在未分配完栏舍,如下所示;建议及时进行分配",
-dyBan1:"第一班:",
-dyBan2:"第二班:",
-dyBan3:"第三班:",
-dyBan4:"第四班:",
-zztb:"正在同步",
-bcbl:"班次比例(%)",
-dcczzd:"单车操作重量",
-planTypeList: [{ lable: '预混计划', value: '4' }, { lable: '撒料计划', value: '0' }, { lable: '剩料计划', value: '3' }, { lable: '撒料计划-混料', value: '1' }, { lable: '撒料计划-撒料', value: '2' }, { lable: '预称重计划', value: '5' }],
-
-printingTypeList: [{ lable: '精料', value: '1' }, { lable: '铲车', value: '2' }],
-
-planningDimensionList: [{ lable: '发料顺序', value: '0' }, { lable: 'TMR', value: '1' }],
-
-exportTypeList: [{ lable: '投料简打', value: '0' }, { lable: '累加投料', value: '1' }, { lable: '撒料简打', value: '2' }, { lable: '投撒料简打', value: '3' }, { lable: '投撒料累加', value: '4' }, { lable: '包装简打', value: '5' }, { lable: '实发简打', value: '6' }], 
-
-iscompletedList: [{ lable: '是', value: '1' },{ lable: '否', value: '0' }  ],
-
-lspf:"栏舍配方",
-sljh:"撒料计划",
-yhjh:"预混计划",
-sljh:"剩料计划",
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
+export default {
+  title: "日执行计划",
+  xzrq: "选择日期",
+  dylx: "打印类型",
+  jhwd: "计划维度",
+  dclx: "导出类型",
+  zxzt: "执行状态",
+  scjl: "删除记录",
+  xsc: "新生成",
+  xgjh: "修改计划",
+  fzjh: "复制计划",
+  scjh: "上传计划",
+  sjtb: "数据同步",
+  sjsc: "数据上传",
+  spasc: "SAP上传",
+  jbsjsc: "搅拌数据上传",
+  slsc: "剩料上传",
+  salsc: "撒料上传",
+  kswc: "快速完成",
+  jhmc: "计划名称",
+  jhlx: "计划类型",
+  yzx: "已执行",
+  lhl: "理论量",
+  qy: "启用",
+  flw: "发料位",
+  jhxq: "计划详情",
+  czxh: "操作序号",
+  sjzl: "设计重量(KG)",
+  xj: "小计",
+  dy: "打印",
+  lsxq: "栏舍详情",
+  qlls: "取料栏舍",
+  clfs: "处理方式",
+  sjfw: "时间范围:",
+  note: "注:撒料计划中存在未分配完栏舍,如下所示;建议及时进行分配",
+  dyBan1: "第一班:",
+  dyBan2: "第二班:",
+  dyBan3: "第三班:",
+  dyBan4: "第四班:",
+  zztb: "正在同步",
+  bcbl: "班次比例(%)",
+  dcczzd: "单车操作重量",
+  planTypeList: [
+    { lable: "预混计划", value: "4" },
+    { lable: "撒料计划", value: "0" },
+    { lable: "剩料计划", value: "3" },
+    { lable: "撒料计划-混料", value: "1" },
+    { lable: "撒料计划-撒料", value: "2" },
+    { lable: "预称重计划", value: "5" },
+  ],
+
+  printingTypeList: [
+    { lable: "精料", value: "1" },
+    { lable: "铲车", value: "2" },
+  ],
+
+  planningDimensionList: [
+    { lable: "发料顺序", value: "0" },
+    { lable: "TMR", value: "1" },
+  ],
+
+  exportTypeList: [
+    { lable: "投料简打", value: "0" },
+    { lable: "累加投料", value: "1" },
+    { lable: "撒料简打", value: "2" },
+    { lable: "投撒料简打", value: "3" },
+    { lable: "投撒料累加", value: "4" },
+    { lable: "包装简打", value: "5" },
+    { lable: "实发简打", value: "6" },
+  ],
+
+  iscompletedList: [
+    { lable: "是", value: "1" },
+    { lable: "否", value: "0" },
+  ],
+
+  lspf: "栏舍配方",
+  sljh: "撒料计划",
+  yhjh: "预混计划",
+  sljh2: "剩料计划",
+  yhcz: "预称重计划",
+  sljhhl: "撒料计划-混料",
+  sljhsl: "撒料计划-撒料",
+};

+ 110 - 102
src/lang/zn/langModule/defaultParameter.js

@@ -1,110 +1,118 @@
+export default {
+  name1: "功能参数",
+  name2: "预警参数",
+  //
+  sfkqqytjh: "是否可取前一天计划:",
+  sfkqqytjh1: "是否可取后一天计划:",
+  bcsl: "班次数量:",
+  zlxsdws: "重量小数点位数:",
+  blxsdws: "比例小数点位数:",
+  sfqyslht: "是否启用饲料合同:",
+  qyslsdnts: "启用饲料锁定牛头数:",
+  clzzcszltxbl: "车辆载重超出重量提醒比例(%):",
+  clzdzczlzzbl: "车辆载重超出重量禁止比例(%):",
+  sfqybl: "是否启用补料:",
+  sfqysl: "是否启用剩料:",
+  slclxx: "剩料处理选项:",
+  slfbfs: "剩料分配方式:",
+  slfbzbyl: "剩料分配占比原料(%):",
+  xlsfcz: "小料是否称量:",
+  sfqysjtb: "是否启用数据同步:",
+  rycsl: "任意车数量:",
+  hlzql: "混料准确率",
+  yxslsjwc: "允许撒料时间误差(分钟):",
+  jtymip: "集团端域名或IP",
+  tmrrl: "tmr容量上限(%):",
+  tmrrl1: "tmr容量下限(%):",
+  yhlyxwc: "预混料允许误差",
+  yhtzys: "预混跳转延时",
+  hfmr: "恢复默认",
+  msg1: "1、是否可取前一天计划:若选择是,代表在当天过了凌晨12点仍可以取到昨天的料。",
+  msg2: "2、是否可取后一天计划:若当天做完全部的料需要预备第二天的料的时候可以选择是。",
+  msg3: "3、班次数量:控制栏舍配方,计划等页面班次数量。",
+  msg4: " 4、重量小数点位数:控制栏舍配方、撒料计划等页面重量小数位数。",
+  msg5: "  5、是否启用饲料合同:若选择是,则开启库存管理中饲料合同页面。",
+  msg6: "  6、启用饲料锁定牛头数:开启后则配方模板中饲料表显示此字段。",
+  msg7: "   7、车辆载重超出重量提醒比例:撒料计划中车次分配栏舍重量,当分配的合计重量超出车辆最大重量*此比例时,进行提示。限制输入正整数。",
+  msg8: " 8、车辆载重超出重量禁止比例:撒料计划中车次分配栏舍重量,当分配的合计重量超出车辆最大重量*此比例时,禁止分配。限制输入正整数。",
+  msg9: "9、是否启用补料:若选择是,则栏舍配方中启用此字段。",
+  msg10: "10、是否启用剩料:若选择否则剩料计划不可用,剩料量不影响原计划。",
+  msg11:
+    " 11、剩料处理选项:①若选择转为饲料,按饲料配方整体替换扣减;②如果选择替换某饲料,则此剩料替换待饲喂中的对应饲料量,扣完为止;③不处理:不做剩料计算处理。",
+  msg12:
+    " 12、剩料分配方式:①顶额分配:按栏舍原撒料量的百分比进行计算,剩料分配为此值,依次计算分配满栏舍,若剩料量未分配完,则剩余剩料不计入内;",
+  msg121:
+    " ②平均分配,按收集的总剩料量平均分配值,若分配值超出栏舍原料量的百分比,剩余值累加到未分配满的栏舍中,最终剩余剩料不计入内。",
+  msg13:
+    "13、剩料分配占比原料:剩料应分配量不超出此比例计算出的值,与剩料分配方式关联使用。限制输入正整数。",
+  msg14:
+    " 14、小料是否称量:若选择是,则饲料表中饲料可选小料称,撒料计划中可设置是否提前称量。",
+  msg15:
+    " 15、是否启用数据同步:启用后日执行页面开启数据同步按钮,用于与第三方系统数据对接。",
 
-export default{
-
-name1:"功能参数",
-name2:"预警参数",
-//
-sfkqqytjh:"是否可取前一天计划:",
-sfkqqytjh1:"是否可取后一天计划:",
-bcsl:"班次数量:",
-zlxsdws:"重量小数点位数:",
-blxsdws:"比例小数点位数:",
-sfqyslht:"是否启用饲料合同:",
-qyslsdnts:"启用饲料锁定牛头数:",
-clzzcszltxbl:"车辆载重超出重量提醒比例(%):",
-clzdzczlzzbl:"车辆载重超出重量禁止比例(%):",
-sfqybl:"是否启用补料:",
-sfqysl:"是否启用剩料:",
-slclxx:"剩料处理选项:",
-slfbfs:"剩料分配方式:",
-slfbzbyl:"剩料分配占比原料(%):",
-xlsfcz:"小料是否称量:",
-sfqysjtb:"是否启用数据同步:",
-rycsl:"任意车数量:",
-hlzql:"混料准确率",
-yxslsjwc:'允许撒料时间误差(分钟):',
-jtymip:"集团端域名或IP",
-tmrrl:"tmr容量上限(%):",
-tmrrl1:"tmr容量下限(%):",
-yhlyxwc:"预混料允许误差",
-yhtzys:"预混跳转延时",
-hfmr:"恢复默认",
-msg1:"1、是否可取前一天计划:若选择是,代表在当天过了凌晨12点仍可以取到昨天的料。",
-msg2:"2、是否可取后一天计划:若当天做完全部的料需要预备第二天的料的时候可以选择是。",
-msg3:"3、班次数量:控制栏舍配方,计划等页面班次数量。",
-msg4:" 4、重量小数点位数:控制栏舍配方、撒料计划等页面重量小数位数。",
-msg5:"  5、是否启用饲料合同:若选择是,则开启库存管理中饲料合同页面。",
-msg6:"  6、启用饲料锁定牛头数:开启后则配方模板中饲料表显示此字段。",
-msg7:"   7、车辆载重超出重量提醒比例:撒料计划中车次分配栏舍重量,当分配的合计重量超出车辆最大重量*此比例时,进行提示。限制输入正整数。",
-msg8:" 8、车辆载重超出重量禁止比例:撒料计划中车次分配栏舍重量,当分配的合计重量超出车辆最大重量*此比例时,禁止分配。限制输入正整数。",
-msg9:"9、是否启用补料:若选择是,则栏舍配方中启用此字段。",
-msg10:"10、是否启用剩料:若选择否则剩料计划不可用,剩料量不影响原计划。",
-msg11:" 11、剩料处理选项:①若选择转为饲料,按饲料配方整体替换扣减;②如果选择替换某饲料,则此剩料替换待饲喂中的对应饲料量,扣完为止;③不处理:不做剩料计算处理。",
-msg12:" 12、剩料分配方式:①顶额分配:按栏舍原撒料量的百分比进行计算,剩料分配为此值,依次计算分配满栏舍,若剩料量未分配完,则剩余剩料不计入内;",
-msg121:" ②平均分配,按收集的总剩料量平均分配值,若分配值超出栏舍原料量的百分比,剩余值累加到未分配满的栏舍中,最终剩余剩料不计入内。",
-msg13:"13、剩料分配占比原料:剩料应分配量不超出此比例计算出的值,与剩料分配方式关联使用。限制输入正整数。",
-msg14:" 14、小料是否称量:若选择是,则饲料表中饲料可选小料称,撒料计划中可设置是否提前称量。",
-msg15:" 15、是否启用数据同步:启用后日执行页面开启数据同步按钮,用于与第三方系统数据对接。",
-
-//
+  //
 
-jhzqlyjz:"计划准确率预警值(%):",
-slfpzb:"剩料分配占比原混料",
-pfzqlyjz:"配方准确率预警值(%):",
-nqzqlyjz:"牛群准确率预警值(%):",
-cczqlyjz:"车次准确率预警值(%):",
-hlzdtzzqlyj:"混料自动跳转准确率预警值(%):",
-hlzdtzzqlyj1:"混料手动跳转准确率预警值(%):",
-mrcapjz:"泌乳牛采食量平均值偏差预警值(kg):",
-mrcayjz:"泌乳牛产奶量平均值偏差预警值(kg):",
-slsjpccyjz:"撒料时间偏差预警值(min):",
-ccpjhlyjz:"超出平均混料时间预警值(min):",
-ccpjzhlyjz:"超出平均转化率预警值(%)",
-ccpjgjnslcb:"超出平均公斤奶饲料成本(%)",
-nlsllccyjz:"牛栏剩料率超出预警值(%):",
-kcyjts:"库存预警天数:",
-tit1:"   1、计划准确率预警值:计划准确率低于此预警值则统计在统计报告中。",
-tit2:"2、配方准确率预警值:配方准确率低于此预警值则统计在统计报告中。",
-tit3:"3、牛群准确率预警值:牛群准确率低于此预警值则统计在统计报告中。",
-tit4:"4、车次准确率预警值:车次准确率低于此预警值则统计在统计报告中。",
-tit5:"5、混料自动跳转准确率预警值:混料自动跳转准确率低于此预警值则统计在统计报告中。",
-tit6:"6、混料手动跳转准确率预警值:混料手动跳转准确率低于此预警值则统计在统计报告中。",
-tit7:"7、泌乳牛采食量平均值偏差预警值:泌乳牛采食量平均值偏差高于此预警值则统计在统计报告中。",
-tit8:"8、泌乳牛产奶量平均值偏差预警值:泌乳牛产奶量平均值偏差高于此预警值则统计在统计报告中。",
-tit9:"9、撒料时间偏差预警值:撒料时间偏差高于此预警值则统计在统计报告中。",
-tit10:" 10、超出平均混料时间预警值:平均混料时间高于此预警值则统计在统计报告中。",
-tit11:"11、超出平均转化率预警值:平均转换率高于此预警值则统计在统计报告中。",
-tit12:" 12、超出平均公斤奶饲料成本:平均公斤奶饲料成本高于此预警值则统计在统计报告中。",
-tit13:" 13、牛栏剩料率超出预警值:牛栏剩料率高于此预警值则统计在统计报告中。",
-tit14:"14、库存预警天数:库存预警模块根据设置天数进行统计。限制正整数。",
+  jhzqlyjz: "计划准确率预警值(%):",
+  slfpzb: "剩料分配占比原混料",
+  pfzqlyjz: "配方名称预警值(%):",
+  nqzqlyjz: "牛群准确率预警值(%):",
+  cczqlyjz: "车次准确率预警值(%):",
+  hlzdtzzqlyj: "混料自动跳转准确率预警值(%):",
+  hlzdtzzqlyj1: "混料手动跳转准确率预警值(%):",
+  mrcapjz: "泌乳牛采食量平均值偏差预警值(kg):",
+  mrcayjz: "泌乳牛产奶量平均值偏差预警值(kg):",
+  slsjpccyjz: "撒料时间偏差预警值(min):",
+  ccpjhlyjz: "超出平均混料时间预警值(min):",
+  ccpjzhlyjz: "超出平均转化率预警值(%)",
+  ccpjgjnslcb: "超出平均公斤奶饲料成本(%)",
+  nlsllccyjz: "牛栏剩料率超出预警值(%):",
+  kcyjts: "库存预警天数:",
+  tit1: "   1、计划准确率预警值:计划准确率低于此预警值则统计在统计报告中。",
+  tit2: "2、配方名称预警值:配方名称低于此预警值则统计在统计报告中。",
+  tit3: "3、牛群准确率预警值:牛群准确率低于此预警值则统计在统计报告中。",
+  tit4: "4、车次准确率预警值:车次准确率低于此预警值则统计在统计报告中。",
+  tit5: "5、混料自动跳转准确率预警值:混料自动跳转准确率低于此预警值则统计在统计报告中。",
+  tit6: "6、混料手动跳转准确率预警值:混料手动跳转准确率低于此预警值则统计在统计报告中。",
+  tit7: "7、泌乳牛采食量平均值偏差预警值:泌乳牛采食量平均值偏差高于此预警值则统计在统计报告中。",
+  tit8: "8、泌乳牛产奶量平均值偏差预警值:泌乳牛产奶量平均值偏差高于此预警值则统计在统计报告中。",
+  tit9: "9、撒料时间偏差预警值:撒料时间偏差高于此预警值则统计在统计报告中。",
+  tit10:
+    " 10、超出平均混料时间预警值:平均混料时间高于此预警值则统计在统计报告中。",
+  tit11: "11、超出平均转化率预警值:平均转换率高于此预警值则统计在统计报告中。",
+  tit12:
+    " 12、超出平均公斤奶饲料成本:平均公斤奶饲料成本高于此预警值则统计在统计报告中。",
+  tit13:
+    " 13、牛栏剩料率超出预警值:牛栏剩料率高于此预警值则统计在统计报告中。",
+  tit14: "14、库存预警天数:库存预警模块根据设置天数进行统计。限制正整数。",
 
-//
+  //
 
-qz:"青贮",
-zrlwl:"总日粮饲喂量",
-bcl:"不处理",
+  qz: "青贮",
+  zrlwl: "总日粮饲喂量",
+  bcl: "不处理",
 
   //
-emsg1: "1、计划准确率预警值:计划准确率低于此预警值则统计在统计报告中。",
-emsg2:"2、配方准确率预警值:配方准确率低于此预警值则统计在统计报告中。",
-emsg3:" 3、牛群准确率预警值:牛群准确率低于此预警值则统计在统计报告中。",
-emsg4:"  4、车次准确率预警值:车次准确率低于此预警值则统计在统计报告中。",
-emsg5:"  5、混料自动跳转准确率预警值:混料自动跳转准确率低于此预警值则统计在统计报告中。",
-emsg6:" 6、混料手动跳转准确率预警值:混料手动跳转准确率低于此预警值则统计在统计报告中。",
-emsg7:" 7、泌乳牛采食量平均值偏差预警值:泌乳牛采食量平均值偏差高于此预警值则统计在统计报告中。",
-emsg8:"8、泌乳牛产奶量平均值偏差预警值:泌乳牛产奶量平均值偏差高于此预警值则统计在统计报告中。",
-emsg9:"9、撒料时间偏差预警值:撒料时间偏差高于此预警值则统计在统计报告中。",
-emsg10:"10、超出平均混料时间预警值:平均混料时间高于此预警值则统计在统计报告中",
-emsg11:"11、超出平均转化率预警值:平均转换率高于此预警值则统计在统计报告中。",
-emsg12:"12、超出平均公斤奶饲料成本:平均公斤奶饲料成本高于此预警值则统计在统计报告中",
-emsg13:" 13、牛栏剩料率超出预警值:牛栏剩料率高于此预警值则统计在统计报告中",
+  emsg1: "1、计划准确率预警值:计划准确率低于此预警值则统计在统计报告中。",
+  emsg2: "2、配方名称预警值:配方名称低于此预警值则统计在统计报告中。",
+  emsg3: " 3、牛群准确率预警值:牛群准确率低于此预警值则统计在统计报告中。",
+  emsg4: "  4、车次准确率预警值:车次准确率低于此预警值则统计在统计报告中。",
+  emsg5:
+    "  5、混料自动跳转准确率预警值:混料自动跳转准确率低于此预警值则统计在统计报告中。",
+  emsg6:
+    " 6、混料手动跳转准确率预警值:混料手动跳转准确率低于此预警值则统计在统计报告中。",
+  emsg7:
+    " 7、泌乳牛采食量平均值偏差预警值:泌乳牛采食量平均值偏差高于此预警值则统计在统计报告中。",
+  emsg8:
+    "8、泌乳牛产奶量平均值偏差预警值:泌乳牛产奶量平均值偏差高于此预警值则统计在统计报告中。",
+  emsg9: "9、撒料时间偏差预警值:撒料时间偏差高于此预警值则统计在统计报告中。",
+  emsg10:
+    "10、超出平均混料时间预警值:平均混料时间高于此预警值则统计在统计报告中",
+  emsg11:
+    "11、超出平均转化率预警值:平均转换率高于此预警值则统计在统计报告中。",
+  emsg12:
+    "12、超出平均公斤奶饲料成本:平均公斤奶饲料成本高于此预警值则统计在统计报告中",
+  emsg13: " 13、牛栏剩料率超出预警值:牛栏剩料率高于此预警值则统计在统计报告中",
   emsg14: "14、库存预警天数:库存预警模块根据设置天数进行统计。限制正整数。",
 
-  config:'是否确认恢复默认设置?'
-
-
-
-
-
-
-}
+  config: "是否确认恢复默认设置?",
+};

+ 178 - 201
src/lang/zn/langModule/errorAnalysis.js

@@ -1,201 +1,178 @@
-export default{
-   sumName:"汇总统计",
-   hltj:'混料统计',
-   sltj:"撒料统计",
-   accName:"准确性分析",
-   typeName:'统计类型',
-   tjlx:'统计类型',
-   tjBydate:'按日期统计',
-
-   Driver:'驾驶员',
-  feedName:'配方名称',
-   isHouseName:"栏舍名称",
-   animelName:"牲畜名称",
-   projname:'车次',
-   isFeed:"饲料",
-   isTrainNumber:"班次",
-   tmrName:"TMR设备",
-
-
-   hlStartTime:'混料开始时间',
-   hlEndTime:'混料结束时间',
-   hl:'混料',
-   sl:"撒料",
-
-   date:'日期',
-   drivername:'车辆名称',
-   stratJl:'开始加料时间',
-   endJl:"结束加料时间",
-   llzl:"理论重量",
-   acWeight:'实际重量',
-   sljhczs:'计划撒料操作数',
-   slczl:"撒料操作率",
-   slsj:"撒料时间",
-   flstartTime:"发料开始时间",
-   waitTime:'等待时间',
-   slzdtzcs:'撒料自动跳转次数' ,
-   slsdzdtzcs:'撒料手动跳转次数',
-   qxcs:'取消次数',
-   slzqs:'撒料正确数',
-   qcqxzql:"去除取消正确率",
-   bzc:'标准差',
-   cz:"操作",
-   sxlb:'牲畜类别',
-   jshlczs:'计划混料操作数',
-   yhlczs:'已混料操作数',
-   hlczl:'混料操作率',
-   hlzdtzcs:'混料自动跳转次数' ,
-   hlsdzdtzcs:'混料手动跳转次数',
-   hlzqs:'混料正确数',
-   yclczs:'已撒料操作数',
-
-   statisticalTypeList: [{ id: '7', name: '无分类' }, { id: '0', name: '驾驶员' }, { id: '1', name: '配方名称' }, { id: '2', name:'栏舍名称' }, { id: '3', name: '牲畜类别' }, { id: '4', name: "车次" }, { id: '5', name: 'TMR名称' }, { id: '6', name: '饲料' }],
-
-   planName:"计划统计",
-   day:"日",
-   month:"月",
-   confirm:"确认",
-   feedName:'配方准确率',
-   changeTable:'切换表格',
-   qxznf:'请选择年份',
-   qxzz:"请选择周",
-   nf:'年份',
-   xztjcs:"请选择统计参数",
-   qxz:"请选择",
-   nqName:"牛群准确率",
-   jhzql:'计划准确率',
-   jhzql1:"计划正确率",
-   jhzqll:"计划准确率(去除取消重量)",
-   bfb:'百分比',
-   jhzxzl:'计划执行重量(kg)',
-   pfllzl:'配方理论重量(kg)',
-   jhqxzl:'计划取消重量(kg)',
-   jhs:"计划数",
-   clzql:'车辆准确率(重量)',
-   jhzl:"计划重量(kg)",
-   skzl:'实际重量(kg)',
-   zql:"准确率",
-   hlqxcs:"混料计划取消次数",
-   lsslsjtj:"栏舍撒料时间统计",
-   tmrnames:'TMR名称',
-   zdtzcs:"自动跳转次数",
-   sdtzcs:'手动跳转次数',
-   zdtzsjzl:'自动跳转实际重量',
-   zdtzzql:"自动跳转准确率",
-   sdtzllzl:"手动跳转理论重量",
-   sdtzsjzl:"手动跳转实际重量",
-   sdtzzql:"手动跳转准确率",
-   zdtzllzl:'自动跳转理论重量',
-    time:'时间',
-    pen:'栏舍',
-    czNum:"操作编号",
-    wcz:"误差值",
-    planTime:"计划时间",
-    startTime:"开始时间",
-    endTime:'结束时间',
-    jsTime:'搅拌时间',
-    stWeight:'开始重量',
-    edWeight:'结束重量',
-    isOK:'是否达标',
-    area:'区域',
-    tzfs:'跳转方式',
-    ccms:'车次描述',
-    sfytj:'是否预统计',
-    one:'第一班',
-    two:"第二班",
-    three:"第三班",
-    four:"第四班",
-    five:"第五班",
-    six:"第六班",
-
-    sdtz:'手动跳转',
-    zdtz:"自动跳转",
-    qxtz:"取消跳转",
-    //
-    hlwczs:"混料误差值",
-    hlzqls:"混料准确率",
-    hlzql:"混料正确率",
-    slwcz:"撒料误差值",
-    slzql:'撒料准确率',
-    hlsj:"'混料时间'",
-    hztjjsy:'汇总统计—驾驶员',
-    hztjpfmc:'汇总统计—配方名称',
-    hztjwfl:'汇总统计-无分类',
-    hztjlsmz:'汇总统计-栏舍名称',
-    hztjxslb:'汇总统计-牲畜类别',
-    hztjcc:'汇总统计-车次',
-    hztjtmr:'汇总统计-TMR名称',
-    hztjsl:'汇总统计-饲料',
-    not:'次数',
-    tzcs:'跳转次数',
-
-
-//
-ccxx:"车次信息",
-zdrq:"制定日期",
-hlxx:"混料信息",
-jhzl:"计划重量",
-wcsj:"完成时间",
-gcsj:"过程时间",
-ksdqzl:"开始读取重量",
-zhdqzl:"最后读取重量",
-qlfs:"取料方式",
-slxx:"撒料信息",
-kzt:"监控图",
-
-sjzl:"设计重量",
-sjzl1:"实际重量",
-
-zqxxq:"准确性详情",
-pfxgjl:"配方修改记录",
-pfmbxgjl:"配方模板修改记录",
-
-zwsj:"暂无数据",
-
-msg1:"是否调整以下所有图表查询时间?",
-msg2:"请输入年",
-msg3:"请输入查询开始周跟结束周",
-msg4:"请输入月",
-wwc:"未完成",
-bfwc:"部分完成",
-qbwc:"全部完成",
-sfyhjh:"是否预混计划",
-yh:"预混",
-fyh:"非预混",
-export:"导出",
-
-xs:"系数(%)",
-bl:"比例(%)",
-cczl:"车次重量",
-slzls:"饲料重量(KG)"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-}
+export default {
+  sumName: "汇总统计",
+  hltj: "混料统计",
+  sltj: "撒料统计",
+  accName: "准确性分析",
+  typeName: "统计类型",
+  tjlx: "统计类型",
+  tjBydate: "按日期统计",
+
+  Driver: "驾驶员",
+  feedName: "配方名称",
+  isHouseName: "栏舍名称",
+  animelName: "牲畜名称",
+  projname: "车次",
+  isFeed: "饲料",
+  isTrainNumber: "班次",
+  tmrName: "TMR设备",
+
+  hlStartTime: "混料开始时间",
+  hlEndTime: "混料结束时间",
+  hl: "混料",
+  sl: "撒料",
+
+  date: "日期",
+  drivername: "车辆名称",
+  stratJl: "开始加料时间",
+  endJl: "结束加料时间",
+  llzl: "理论重量",
+  acWeight: "实际重量",
+  sljhczs: "计划撒料操作数",
+  slczl: "撒料操作率",
+  slsj: "撒料时间",
+  flstartTime: "发料开始时间",
+  waitTime: "等待时间",
+  slzdtzcs: "撒料自动跳转次数",
+  slsdzdtzcs: "撒料手动跳转次数",
+  qxcs: "取消次数",
+  slzqs: "撒料正确数",
+  qcqxzql: "去除取消正确率",
+  bzc: "标准差",
+  cz: "操作",
+  sxlb: "牲畜类别",
+  jshlczs: "计划混料操作数",
+  yhlczs: "已混料操作数",
+  hlczl: "混料操作率",
+  hlzdtzcs: "混料自动跳转次数",
+  hlsdzdtzcs: "混料手动跳转次数",
+  hlzqs: "混料正确数",
+  yclczs: "已撒料操作数",
+
+  statisticalTypeList: [
+    { id: "7", name: "无分类" },
+    { id: "0", name: "驾驶员" },
+    { id: "1", name: "配方名称" },
+    { id: "2", name: "栏舍名称" },
+    { id: "3", name: "牲畜类别" },
+    { id: "4", name: "车次" },
+    { id: "5", name: "TMR名称" },
+    { id: "6", name: "饲料" },
+  ],
+
+  planName: "计划统计",
+  day: "日",
+  month: "月",
+  confirm: "确认",
+  feedName: "配方名称",
+  changeTable: "切换表格",
+  qxznf: "请选择年份",
+  qxzz: "请选择周",
+  nf: "年份",
+  xztjcs: "请选择统计参数",
+  qxz: "请选择",
+  nqName: "牛群准确率",
+  jhzql: "计划准确率",
+  jhzql1: "计划正确率",
+  jhzqll: "计划准确率(去除取消重量)",
+  bfb: "百分比",
+  jhzxzl: "计划执行重量(kg)",
+  pfllzl: "配方理论重量(kg)",
+  jhqxzl: "计划取消重量(kg)",
+  jhs: "计划数",
+  clzql: "车辆准确率(重量)",
+  jhzl: "计划重量(kg)",
+  skzl: "实际重量(kg)",
+  zql: "准确率",
+  hlqxcs: "混料计划取消次数",
+  lsslsjtj: "栏舍撒料时间统计",
+  tmrnames: "TMR名称",
+  zdtzcs: "自动跳转次数",
+  sdtzcs: "手动跳转次数",
+  zdtzsjzl: "自动跳转实际重量",
+  zdtzzql: "自动跳转准确率",
+  sdtzllzl: "手动跳转理论重量",
+  sdtzsjzl: "手动跳转实际重量",
+  sdtzzql: "手动跳转准确率",
+  zdtzllzl: "自动跳转理论重量",
+  time: "时间",
+  pen: "栏舍",
+  czNum: "操作编号",
+  wcz: "误差值",
+  planTime: "计划时间",
+  startTime: "开始时间",
+  endTime: "结束时间",
+  jsTime: "搅拌时间",
+  stWeight: "开始重量",
+  edWeight: "结束重量",
+  isOK: "是否达标",
+  area: "区域",
+  tzfs: "跳转方式",
+  ccms: "车次描述",
+  sfytj: "是否预统计",
+  one: "第一班",
+  two: "第二班",
+  three: "第三班",
+  four: "第四班",
+  five: "第五班",
+  six: "第六班",
+
+  sdtz: "手动跳转",
+  zdtz: "自动跳转",
+  qxtz: "取消跳转",
+  //
+  hlwczs: "混料误差值",
+  hlzqls: "混料准确率",
+  hlzql: "混料正确率",
+  slwcz: "撒料误差值",
+  slzql: "撒料准确率",
+  hlsj: "'混料时间'",
+  hztjjsy: "汇总统计—驾驶员",
+  hztjpfmc: "汇总统计—配方名称",
+  hztjwfl: "汇总统计-无分类",
+  hztjlsmz: "汇总统计-栏舍名称",
+  hztjxslb: "汇总统计-牲畜类别",
+  hztjcc: "汇总统计-车次",
+  hztjtmr: "汇总统计-TMR名称",
+  hztjsl: "汇总统计-饲料",
+  not: "次数",
+  tzcs: "跳转次数",
+
+  //
+  ccxx: "车次信息",
+  zdrq: "制定日期",
+  hlxx: "混料信息",
+  jhzl: "计划重量",
+  wcsj: "完成时间",
+  gcsj: "过程时间",
+  ksdqzl: "开始读取重量",
+  zhdqzl: "最后读取重量",
+  qlfs: "取料方式",
+  slxx: "撒料信息",
+  kzt: "监控图",
+
+  sjzl: "设计重量",
+  sjzl1: "实际重量",
+
+  zqxxq: "准确性详情",
+  pfxgjl: "配方修改记录",
+  pfmbxgjl: "配方模板修改记录",
+
+  zwsj: "暂无数据",
+
+  msg1: "是否调整以下所有图表查询时间?",
+  msg2: "请输入年",
+  msg3: "请输入查询开始周跟结束周",
+  msg4: "请输入月",
+  wwc: "未完成",
+  bfwc: "部分完成",
+  qbwc: "全部完成",
+  sfyhjh: "是否预混计划",
+  yh: "预混",
+  fyh: "非预混",
+  export: "导出",
+
+  xs: "系数(%)",
+  bl: "比例(%)",
+  cczl: "车次重量",
+  slzls: "饲料重量(KG)",
+};

+ 71 - 64
src/lang/zn/langModule/processAnalysis.js

@@ -1,73 +1,80 @@
-
 export default {
-planType:"计划类型",
-tmrName:"TMR名称",
-errorRange:'误差筛选范围',
-workStatus:'工作状态',
-hlwc:'混料误差值',
-hlzq:'混料准确率',
-hlzql:"混料正确率",
-slzql:"撒料正确率",
-fclassid:"混料类别",
-slwc:'撒料误差值',
-slzq:"撒料准确率",
-minproesstime:"过程时间",
-oName:'只看超出预设值数据',
-tmrName1:"TMR设备列表",
-//
-startDate:"开始时间",
-remark:'描述',
-processdel:'过程详情',
-proesstime:'过程时间',
-proesstime1:'混料时间',
-hlxq:'混料详情',
-slxq:"撒料详情",
-//
-sort:'操作编号',
-fname:"饲料名称",
-lweight:"计划重量",
-actualweightminus:"实际重量",
-diff:"误差值",
-diffRate:"准确率",
-intime:"完成时间",
-proesstime:"过程时间",
-buttontype:"跳转方式",
-lastactualweight:"开始重量",
-actualweight:"结束重量",
-
-watchPlan:"监控图",
+  planType: "计划类型",
+  tmrName: "TMR名称",
+  errorRange: "误差筛选范围",
+  workStatus: "工作状态",
+  hlwc: "混料误差值",
+  hlzq: "混料准确率",
+  hlzql: "混料正确率",
+  slzql: "撒料正确率",
+  fclassid: "混料类别",
+  slwc: "撒料误差值",
+  slzq: "撒料准确率",
+  minproesstime: "过程时间",
+  oName: "只看超出预设值数据",
+  tmrName1: "TMR设备列表",
+  //
+  startDate: "开始时间",
+  remark: "描述",
+  processdel: "过程详情",
+  proesstime: "过程时间",
+  proesstime1: "混料时间",
+  hlxq: "混料详情",
+  slxq: "撒料详情",
+  //
+  sort: "操作编号",
+  fname: "饲料名称",
+  lweight: "计划重量",
+  actualweightminus: "实际重量",
+  diff: "误差值",
+  diffRate: "准确率",
+  intime: "完成时间",
+  proesstime: "过程时间",
+  buttontype: "跳转方式",
+  lastactualweight: "开始重量",
+  actualweight: "结束重量",
 
-planTypeList: [{ lable: '预混计划', value: '4' }, { lable: '撒料计划', value: '0' }, { lable: '剩料计划', value: '3' }, { lable: '撒料计划-混料', value: '1' }, { lable: '撒料计划-撒料', value: '2' }, { lable: '预称重计划', value: '5' }],
+  watchPlan: "监控图",
 
-workingConditionList: [{ id: '0', name: '进行中' }, { id: '1', name: '已完成' }],
+  planTypeList: [
+    { lable: "预混计划", value: "4" },
+    { lable: "撒料计划", value: "0" },
+    { lable: "剩料计划", value: "3" },
+    { lable: "撒料计划-混料", value: "1" },
+    { lable: "撒料计划-撒料", value: "2" },
+    { lable: "预称重计划", value: "5" },
+  ],
 
-errorList:[{ value: '有误差', label: '有误差' }, { value: '无误差', label: '无误差' }],
+  workingConditionList: [
+    { id: "0", name: "进行中" },
+    { id: "1", name: "已完成" },
+  ],
 
-  粗料:'粗料',
-  精料:'精料',
-  其他:'其他',
-  饲料:'饲料',
-  剩料:'剩料',
+  errorList: [
+    { value: "有误差", label: "有误差" },
+    { value: "无误差", label: "无误差" },
+  ],
+  粗料: "粗料",
+  精料: "精料",
+  其他: "其他",
+  饲料: "饲料",
+  剩料: "剩料",
 
-  designName:'设计重量',
-  actureName:'实际重量',
-  startWright:'开始重量',
-  endWright:"结束重量",
+  designName: "设计重量",
+  actureName: "实际重量",
+  startWright: "开始重量",
+  endWright: "结束重量",
 
-  pastureName:'牧场',
-  total:'共',
-  tiao:'条',
-  slcl:'撒料车量',
+  pastureName: "牧场",
+  total: "共",
+  tiao: "条",
+  slcl: "撒料车量",
 
   //
-slsjxq:'剩料收集详情',
-lsmc:"栏舍名称",
-slcjzl:"剩料采集重量(kg)",
-yxfpsl:"允许分配剩料量",
-sjfpzl:"实际分配重量(kg)",
-fqslzl:"废弃剩料重量",
-
-
-
-
-}
+  slsjxq: "剩料收集详情",
+  lsmc: "栏舍名称",
+  slcjzl: "剩料采集重量(kg)",
+  yxfpsl: "允许分配剩料量",
+  sjfpzl: "实际分配重量(kg)",
+  fqslzl: "废弃剩料重量",
+};

+ 21 - 12
src/layout/components/Sidebar/Logo.vue

@@ -1,12 +1,21 @@
 <template>
-  <div class="sidebar-logo-container" :class="{'collapse':collapse}">
+  <div class="sidebar-logo-container" :class="{ collapse: collapse }">
     <transition name="sidebarLogoFade">
-      <router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/" style="background:#fff;">
-        <img :src="$t('common.logoIcon')" class="sidebar-logo">
+      <router-link
+        v-if="collapse"
+        key="collapse"
+        class="sidebar-logo-link"
+        to="/"
+        style="background: #fff"
+      >
+        <img :src="$t('common.logoIcon')" class="sidebar-logo" />
         <!-- <h1 v-else class="sidebar-title">{{ title }} </h1> -->
       </router-link>
       <router-link v-else key="expand" class="sidebar-logo-link" to="/">
-        <img :src="$t('common.logoM')" style="max-height:100%;max-width:100%;">
+        <img
+          :src="$t('common.logoM')"
+          style="max-height: 100%; max-width: 100%"
+        />
         <!-- <h1 class="sidebar-title">{{ title }} </h1> -->
       </router-link>
     </transition>
@@ -15,20 +24,20 @@
 
 <script>
 export default {
-  name: 'SidebarLogo',
+  name: "SidebarLogo",
   props: {
     collapse: {
       type: Boolean,
-      required: true
-    }
+      required: true,
+    },
   },
   data() {
     return {
       // title: 'Vue Admin Template',
       // logo: '../../../assets/images/logo_u3.png'
-    }
-  }
-}
+    };
+  },
+};
 </script>
 
 <style lang="scss" scoped>
@@ -55,8 +64,8 @@ export default {
     width: 100%;
 
     & .sidebar-logo {
-      width: 32px;
-      height: 32px;
+      width: 42px;
+      height: 42px;
       vertical-align: middle;
       margin-right: 12px;
     }

+ 74 - 71
src/utils/request.js

@@ -1,145 +1,148 @@
-import axios from 'axios'
-import { MessageBox, Message } from 'element-ui'
-import store from '@/store'
-import { getToken } from '@/utils/auth'
-import Cookies from 'js-cookie';
+import axios from "axios";
+import { MessageBox, Message } from "element-ui";
+import store from "@/store";
+import { getToken } from "@/utils/auth";
+import Cookies from "js-cookie";
+import Vue from "vue";
 
 //获取当前url
 const DoMainString = document.querySelector("html").getAttribute("domain");
-var URL = process.env.VUE_APP_BASE_API
+var URL = process.env.VUE_APP_BASE_API;
 if (DoMainString) {
-  URL = DoMainString
+  URL = DoMainString;
 }
 
-var reg =  /(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)/;
-var browserUrl = window.location.hostname
-console.log("========url===",reg.test(browserUrl))
+var reg =
+  /(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)/;
+var browserUrl = window.location.hostname;
+console.log("========url===", reg.test(browserUrl));
 // if (reg.test(browserUrl)){
 //   URL = window.location.protocol +"//"+ browserUrl + ":8082"
 // }
 
-Cookies.set('url',URL)
-console.log(process.env.VUE_APP_BASE_API,'===========URL1111')
-console.log(URL,'===========URL')
+Cookies.set("url", URL);
+console.log(process.env.VUE_APP_BASE_API, "===========URL1111");
+console.log(URL, "===========URL");
 
 const service = axios.create({
   baseURL: URL, // url = base url + request url
   withCredentials: true, // send cookies when cross-domain requests
-  timeout: 60000 ,// request timeout
-})
+  timeout: 60000, // request timeout
+});
 // request interceptor
 service.interceptors.request.use(
-  config => {
+  (config) => {
     // en-US zh-CN
     // config.headers['lang']=localStorage.getItem('lang') || navigator.language
     // do something before request is sent
     // config.headers['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'  //此处是增加的代码,设置请求头的类型
-    if (process.env.VUE_APP_BASE_API !== '/dev-api') {
-      config.headers['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'
-      config.withCredentials = false
+    if (process.env.VUE_APP_BASE_API !== "/dev-api") {
+      config.headers["Content-Type"] =
+        "application/x-www-form-urlencoded;charset=UTF-8";
+      config.withCredentials = false;
     }
 
-
     if (store.getters.token) {
       // let each request carry token
       // ['Authorization'] is a custom headers key
       // please modify it according to the actual situation
-      if (process.env.VUE_APP_BASE_API === '/dev-api') {
-        config.headers['X-Token'] = getToken()
+      if (process.env.VUE_APP_BASE_API === "/dev-api") {
+        config.headers["X-Token"] = getToken();
       } else {
-        config.headers['token'] = getToken()
+        config.headers["token"] = getToken();
       }
-
-
     }
-    console.log(config.headers,'hss')
-    return config
-
+    console.log(config.headers, "hss");
+    return config;
   },
-  error => {
+  (error) => {
     // do something with request error
-    console.log(error) // for debug
-    return Promise.reject(error)
+    console.log(error); // for debug
+    return Promise.reject(error);
   }
-)
+);
 
 // response interceptor
 service.interceptors.response.use(
   /**
    * If you want to get http information such as headers or status
    * Please return  response => response
-  */
+   */
 
   /**
    * Determine the request status by custom code
    * Here is just an example
    * You can also judge the status by HTTP Status Code
    */
-  response => {
-    const res = response.data
+  (response) => {
+    const res = response.data;
 
     // if the custom code is not 20000, it is judged as an error.
     if (res.code !== 200) {
       Message({
         // message: res.msg + res.code,
-        message: this.$t('common.requestMsg'),
-        type: 'error',
-        duration: 5 * 1000
-      })
+        message: Vue.$t("common.requestMsg"),
+        type: "error",
+        duration: 5 * 1000,
+      });
 
       // 50008: Illegal token; 50012: Other clients logged in; 50014: Token expired;
       if (res.code === 50008 || res.code === 50012 || res.code === 50014) {
         // to re-login
-        MessageBox.confirm('你已经注销登陆,你可以取消或重新登陆', '确认注销', {
-          confirmButtonText: '重新登陆',
-          cancelButtonText: this.$t('common.cancel'),
-          type: 'warning'
+        MessageBox.confirm("你已经注销登陆,你可以取消或重新登陆", "确认注销", {
+          confirmButtonText: "重新登陆",
+          cancelButtonText: Vue.$t("common.cancel"),
+          type: "warning",
         }).then(() => {
-          store.dispatch('user/resetToken').then(() => {
-            location.reload()
-          })
-        })
+          store.dispatch("user/resetToken").then(() => {
+            location.reload();
+          });
+        });
       }
       if (res.code === 20002) {
-        store.dispatch('user/resetToken').then(() => {
-          location.reload()
-        })
+        store.dispatch("user/resetToken").then(() => {
+          location.reload();
+        });
       }
       if (res.code === undefined) {
-        return res
+        return res;
       } else {
-        return Promise.reject(new Error(res.message || 'Error'))
+        return Promise.reject(new Error(res.message || "Error"));
       }
     } else {
-      return res
+      return res;
     }
   },
-  error => {
-    console.log('err' + error) // for debug
-    let config = error.config
+  (error) => {
+    console.log("err" + error); // for debug
+    let config = error.config;
     if (!config) {
-      Message({ message: error.message, type: 'error', duration: 5 * 1000 })
-      return Promise.reject(error)
+      Message({ message: error.message, type: "error", duration: 5 * 1000 });
+      return Promise.reject(error);
     }
-    console.log('config==>', config) // for debug
-    console.log('config.__retryCount==>', config.__retryCount) // for debug
+    console.log("config==>", config); // for debug
+    console.log("config.__retryCount==>", config.__retryCount); // for debug
     // 设置请求超时次数
-    config.__retryCount = config.__retryCount || 0
+    config.__retryCount = config.__retryCount || 0;
     if (config.__retryCount >= 3) {
       // Message({ message:error.message, type: 'error', duration: 5 * 1000 })
-      Message({ message:this.$t('common.requestMsg'), type: 'error', duration: 5 * 1000 })
+      Message({
+        message: Vue.$t("common.requestMsg"),
+        type: "error",
+        duration: 5 * 1000,
+      });
       // Message.error((error && error.data && error.data.msg) || '请求超时')
-      return Promise.reject(error)
+      return Promise.reject(error);
     }
-    config.__retryCount += 1
+    config.__retryCount += 1;
     let backoff = new Promise((resolve) => {
       setTimeout(() => {
-        resolve()
-      }, config.retryDelay || 1000)
-    })
+        resolve();
+      }, config.retryDelay || 1000);
+    });
     return backoff.then(() => {
-      return service(config)
-    })
+      return service(config);
+    });
     // Message({
     //   message: error.message,
     //   type: 'error',
@@ -147,6 +150,6 @@ service.interceptors.response.use(
     // })
     // return Promise.reject(error)
   }
-)
+);
 
-export default service
+export default service;

File diff ditekan karena terlalu besar
+ 262 - 255
src/views/formulationPlan/dailyExecutionPlan/index.vue


+ 7 - 7
src/views/login/index.vue

@@ -21,7 +21,7 @@
       <div class="new-login-l">
         <div class="imgs">
           <img :src="$t('auth.logo')" alt="" :lang="$i18n.locale">
-         <div class="img-text" >{{$t('auth.mgs')}}</div>
+         <!-- <div class="img-text" >{{$t('auth.mgs')}}</div> -->
 
         </div>
       </div>
@@ -57,11 +57,11 @@
       </div>
     </div>
     <div style="position: absolute;bottom: 0;left: 0;right:0;color: #000;background: #fee; opacity: .7; font-size: 14px;">
-      <p style="text-align:center;line-height:16px;">
+      <!-- <p style="text-align:center;line-height:16px;">
         {{$t('auth.companyTit')}}
         <a href="http://www.dairyinfo.com.cn" target="_blank"> {{$t('auth.company')}}</a>
-        <!-- <a style="margin-left: 20px;" href="https://beian.miit.gov.cn/" target="_blank">沪ICP备11008303号-3 </a> -->
-      </p>
+        <a style="margin-left: 20px;" href="https://beian.miit.gov.cn/" target="_blank">沪ICP备11008303号-3 </a>
+      </p> -->
 
     </div>
   </div>
@@ -494,7 +494,7 @@ $cursor: #000;
   position: relative;
   height: 100%;
   width: 100%;
-  background: url('../../assets/images/nlogin-bg1.jpg') no-repeat;
+  background: url('../../assets/images/logoBg.jpg') no-repeat;
   background-size: cover;
   .new-login {
     width: 50%;
@@ -520,8 +520,8 @@ $cursor: #000;
         bottom: 0;
         top: 0;
         margin: auto;
-        height: 26%;
-        width: 100%;
+        height: 45%;
+        width: 70%;
       }
       img {
         width: 60%;

File diff ditekan karena terlalu besar
+ 737 - 134
src/views/statisticalAnalysis/errorAnalysis/group/tab1.vue


+ 15 - 15
src/views/statisticalAnalysis/errorAnalysis/pasture/index.vue

@@ -1546,7 +1546,7 @@ export default {
           temp: {}
         },
         chartDate: [],
-        // 配方准确率
+        // 配方名称
         chart1: {
           chartLine: null,
           chartLine_data: {},
@@ -2700,8 +2700,8 @@ export default {
             this.tab.chart1.getdataListParm.parammaps.inputDatetime[1],
             '{y}-{m}-{d}'
           )
-          console.log('配方准确率开始日期==>', startDate)
-          console.log('配方准确率结束日期==>', endDate)
+          console.log('配方名称开始日期==>', startDate)
+          console.log('配方名称结束日期==>', endDate)
           this.tab.chart1.getdataListParm.parammaps.status = 0
         } else if (
           this.tab.chart1.getdataListParm.parammaps.specificDate == '2'
@@ -2746,8 +2746,8 @@ export default {
             whichWeek(this.tab.chart1.getdataListParm.parammaps.selectYear)[
               this.tab.chart1.getdataListParm.parammaps.selectWeek[1]
             ].last.date
-          console.log('配方准确率开始周日期==>', startDate)
-          console.log('配方准确率结束周日期==>', endDate)
+          console.log('配方名称开始周日期==>', startDate)
+          console.log('配方名称结束周日期==>', endDate)
           this.tab.chart1.getdataListParm.parammaps.status = 1
         } else if (
           this.tab.chart1.getdataListParm.parammaps.specificDate == '3'
@@ -2758,8 +2758,8 @@ export default {
               0,
               8
             ) + '31'
-          console.log('配方准确率开始月日期==>', startDate)
-          console.log('配方准确率结束月日期==>', endDate)
+          console.log('配方名称开始月日期==>', startDate)
+          console.log('配方名称结束月日期==>', endDate)
           this.tab.chart1.getdataListParm.parammaps.status = 2
         }
         this.tab.chart1.getdataListParm.parammaps.startTime = startDate
@@ -5648,7 +5648,7 @@ export default {
     handleQuickJumpTop() {
       window.scrollTo(0, 0)
     },
-    // 配方准确率
+    // 配方名称
     changeStatisticChart1(arr) {
       var arr1 = []
       if (arr !== null) {
@@ -5685,7 +5685,7 @@ export default {
         this.tab.chart1.getdataListParm.parammaps.statisticsList
       this.roadChartLine1(this.tab.chart1.chartLine_data)
     },
-    // 配方准确率
+    // 配方名称
     getChart1() {
       this.tab.chart1.listLoading = true
       const url = 'authdata/chart/accuracyAllFT'
@@ -5761,11 +5761,11 @@ export default {
             }
           }
 
-          console.log(this.tab.chart1.statisticsList, '配方准确率下拉内容')
+          console.log(this.tab.chart1.statisticsList, '配方名称下拉内容')
           this.tab.chart1.chart1Data3 = response.data.list.data3
           this.tab.chart1.total = response.data.total
-          console.log('配方准确率表数据', this.tab.chart1.table.list)
-          console.log('配方准确率图数据', this.tab.chart1.chartLine_data)
+          console.log('配方名称表数据', this.tab.chart1.table.list)
+          console.log('配方名称图数据', this.tab.chart1.chartLine_data)
           var arrData3 = []
           if (
             this.tab.chart1.getdataListParm.parammaps.statisticsList !== null
@@ -7092,7 +7092,7 @@ export default {
     // 导出
     handleExport(item) {
       if (item == 'chart1') {
-        console.log('配方准确率导出')
+        console.log('配方名称导出')
         var excelDatasTabChart1 = [
           {
             tHeader: [
@@ -7268,7 +7268,7 @@ export default {
     handleTable(item) {
       // 显示切换表格
       if (item == 'chart1') {
-        console.log('配方准确率表格')
+        console.log('配方名称表格')
         this.tab.chart1.isTable = true
         this.tab.chart1.isChart = false
       } else if (item == 'chart2') {
@@ -7301,7 +7301,7 @@ export default {
     handleChart(item) {
       // 显示切换图表
       if (item == 'chart1') {
-        console.log('配方准确率图表')
+        console.log('配方名称图表')
         this.tab.chart1.isTable = false
         this.tab.chart1.isChart = true
         this.getChart1()

+ 177 - 172
src/views/statisticalAnalysis/pushingplan/index.vue

@@ -1,4 +1,4 @@
- <template>
+<template>
   <div class="app-container">
     <div class="search">
       <el-date-picker
@@ -6,7 +6,7 @@
         type="daterange"
         class="inputDatetime filter-item"
         :range-separator="$t('common.to')"
-         :start-placeholder="$t('common.startTime')"
+        :start-placeholder="$t('common.startTime')"
         :end-placeholder="$t('common.endTime')"
       >
       </el-date-picker>
@@ -17,8 +17,12 @@
         class="filter-item"
         clearable
       />
-      <el-button class="successBorder" @click="handleRefresh">{{$t('common.reset')}}</el-button>
-      <el-button class="successBorder" @click="form_search">{{$t('common.query')}}</el-button>
+      <el-button class="successBorder" @click="handleRefresh">{{
+        $t("common.reset")
+      }}</el-button>
+      <el-button class="successBorder" @click="form_search">{{
+        $t("common.query")
+      }}</el-button>
     </div>
     <div class="table">
       <el-table
@@ -43,43 +47,43 @@
           width="110px"
         />
         <el-table-column
-        :label="$t('pushingplan.tname')"
+          :label="$t('pushingplan.tname')"
           min-width="100px"
           align="center"
           prop="tname"
         />
         <el-table-column
-        :label="$t('pushingplan.remark')"
+          :label="$t('pushingplan.remark')"
           min-width="100px"
           align="center"
           prop="remark"
         />
         <el-table-column
-        :label="$t('pushingplan.planDate')"
+          :label="$t('pushingplan.planDate')"
           min-width="100px"
           align="center"
           prop="plandate"
         />
         <el-table-column
-        :label="$t('pushingplan.startDate')"
+          :label="$t('pushingplan.startDate')"
           min-width="100px"
           align="center"
           prop="startdate"
         />
         <el-table-column
-        :label="$t('pushingplan.deviation')"
+          :label="$t('pushingplan.deviation')"
           min-width="100px"
           align="center"
           prop="deviation"
         />
         <el-table-column
-        :label="$t('pushingplan.endDate')"
+          :label="$t('pushingplan.endDate')"
           min-width="100px"
           align="center"
           prop="enddate"
         />
         <el-table-column
-        :label="$t('pushingplan.date')"
+          :label="$t('pushingplan.date')"
           min-width="100px"
           align="center"
           prop="dates"
@@ -141,7 +145,7 @@
                 margin-top: 2px;
               "
             />
-            {{$t('pushingplan.name')}}
+            {{ $t("pushingplan.name") }}
           </span>
           <div
             class="avue-crud__dialog__menu"
@@ -153,47 +157,49 @@
         </div>
       </template>
       <!-- <div style="margin-bottom: 20px;background-image: url('http://niu305.cn:8091/uploads/image/headphoto1.png');background-position: top right;"> -->
-        <div>
-          <h3>{{$t('pushingplan.detail')}}</h3>
-          <div class="run-box-rg">
-            <div>
-              <span>{{$t('pushingplan.tname')}}:</span>{{runDate?.tname || $t('pushingplan.none')}}
-            </div>
-            <div>
-              <span>{{$t('pushingplan.remark')}}:</span>{{runDate?.remark || $t('pushingplan.none')}}
-            </div>
-            <div>
-              <span>{{$t('pushingplan.planDate')}}:</span>{{runDate?.plandate || $t('pushingplan.none')}}
-            </div>
-            <div>
-              <span>{{$t('pushingplan.startDate')}}:</span>{{runDate?.startdate || $t('pushingplan.none')}}
-            </div>
-            <div>
-              <span>{{$t('pushingplan.deviation')}}:</span>{{runDate?.deviation || $t('pushingplan.none')}}
-            </div>
-            <div>
-              <span>{{$t('pushingplan.endDate')}}:</span>{{runDate?.enddate || $t('pushingplan.none')}}
-            </div>
-            <div>
-              <span>{{$t('pushingplan.date')}}:</span>{{runDate?.dates || $t('pushingplan.none')}}
-            </div>
+      <div>
+        <h3>{{ $t("pushingplan.detail") }}</h3>
+        <div class="run-box-rg">
+          <div>
+            <span>{{ $t("pushingplan.tname") }}:</span>{{ runDate.tname }}
+          </div>
+          <div>
+            <span>{{ $t("pushingplan.remark") }}:</span>{{ runDate.remark }}
+          </div>
+          <div>
+            <span>{{ $t("pushingplan.planDate") }}:</span>{{ runDate.plandate }}
+          </div>
+          <div>
+            <span>{{ $t("pushingplan.startDate") }}:</span
+            >{{ runDate.startdate }}
+          </div>
+          <div>
+            <span>{{ $t("pushingplan.deviation") }}:</span
+            >{{ runDate.deviation }}
+          </div>
+          <div>
+            <span>{{ $t("pushingplan.endDate") }}:</span>{{ runDate.enddate }}
+          </div>
+          <div>
+            <span>{{ $t("pushingplan.date") }}:</span>{{ runDate.dates }}
+          </div>
 
-            <div>
-              <span>{{$t('pushingplan.bname')}}:</span>{{ runDate?.bname || $t('pushingplan.none') }}
-            </div>
+          <div>
+            <span>{{ $t("pushingplan.bname") }}:</span>{{ runDate.bname }}
           </div>
-          <div ref="map" class="map-container"></div>
         </div>
+        <div ref="map" class="map-container"></div>
+      </div>
 
       <!-- </div> -->
       <div slot="footer" class="dialog-footer">
         <el-button
           class="cancelClose1"
           @click="
-            run.dialogFormVisible = false
-            getList()
+            run.dialogFormVisible = false;
+            getList();
           "
-          >{{$t('common.closed')}}</el-button
+          >{{ $t("common.closed") }}</el-button
         >
       </div>
     </el-dialog>
@@ -206,40 +212,40 @@ import {
   postJson,
   getJson,
   formatNum,
-  checkButtons
-} from '@/api/common'
-import { parseTime } from '@/utils/index.js'
-import { MessageBox } from 'element-ui'
-import Cookies from 'js-cookie'
-import axios from 'axios'
-import { getToken } from '@/utils/auth'
-import { createApp } from 'vue'
-import AMapLoader from '@amap/amap-jsapi-loader'
+  checkButtons,
+} from "@/api/common";
+import { parseTime } from "@/utils/index.js";
+import { MessageBox } from "element-ui";
+import Cookies from "js-cookie";
+import axios from "axios";
+import { getToken } from "@/utils/auth";
+import { createApp } from "vue";
+import AMapLoader from "@amap/amap-jsapi-loader";
 // import vLoUrl from '../../../assets/images/tet.png'
-import vLoUrl from '../../../assets/images/guiji2.jpeg'
+import vLoUrl from "../../../assets/images/guiji2.jpeg";
 window._AMapSecurityConfig = {
-  securityJsCode: '0133db0118e961029dc45a2d5039cbb1' // '「申请的安全密钥」',
-}
+  securityJsCode: "0133db0118e961029dc45a2d5039cbb1", // '「申请的安全密钥」',
+};
 export default {
-  name: 'Pushingplan',
+  name: "Pushingplan",
   data() {
     return {
-      runDate:{},
+      runDate: {},
       currentPage: 1,
       table: {
         offset: 1,
-        name: 'getTmrEqipmemtList',
+        name: "getTmrEqipmemtList",
         pagecount: 50,
         parammaps: {
           // pastureid: Cookies.get('pastureid'),
-          tname: '',
-          startdate: '',
-          enddate: '',
-          inputDatetime: null
+          tname: "",
+          startdate: "",
+          enddate: "",
+          inputDatetime: null,
           // startdate: parseTime(new Date(), '{y}-{m}-{d}'),
           // enddate: parseTime(new Date(), '{y}-{m}-{d}'),
           // inputDatetime: [new Date(), new Date()],
-        }
+        },
       },
       tableKey: 0,
       list: [],
@@ -248,14 +254,14 @@ export default {
 
       run: {
         dialogFormVisible: false,
-        dialogStatus: '',
-        temp: {}
+        dialogStatus: "",
+        temp: {},
       },
       dialogFull: false,
       isRoleEdit: [],
       isokDisable: false,
-      rowStyle: { maxHeight: 30 + 'px', height: 30 + 'px' },
-      cellStyle: { padding: 0 + 'px' },
+      rowStyle: { maxHeight: 30 + "px", height: 30 + "px" },
+      cellStyle: { padding: 0 + "px" },
       myHeight: document.documentElement.clientHeight - 85 - 150,
       map: null,
       path: [],
@@ -269,126 +275,126 @@ export default {
       latitude: 40.87873, // 实景图所在位置的纬度
       longitude: 113.216553, // 实景图所在位置的经度
       zoom: 17, // 实景
-      apiKey: 'fb6a0e88dbad4931d96a121bcf7c4442',
-      vLoUrl
-    }
+      apiKey: "fb6a0e88dbad4931d96a121bcf7c4442",
+      vLoUrl,
+    };
   },
 
   mounted() {
     // this.initMap();
   },
   created() {
-    this.getButtons()
-    this.getList()
-    var totalTimeInMinutes = this.timeStringToMinutes('12:20:27');
-     console.log(totalTimeInMinutes);
+    this.getButtons();
+    this.getList();
+    var totalTimeInMinutes = this.timeStringToMinutes("12:20:27");
+    console.log(totalTimeInMinutes);
   },
 
   methods: {
     // 点击查看的时候获取 推车的数据并去获取推料的原计划
     timeStringToMinutes(timeString) {
-    var timeParts = timeString.split(':');
-    var hours = parseInt(timeParts[0]);
-    var minutes = parseInt(timeParts[1]);
-    var seconds = parseInt(timeParts[2]);
-    return (hours * 60 + minutes + seconds / 60).toFixed(2) ;
-},
+      var timeParts = timeString.split(":");
+      var hours = parseInt(timeParts[0]);
+      var minutes = parseInt(timeParts[1]);
+      var seconds = parseInt(timeParts[2]);
+      return (hours * 60 + minutes + seconds / 60).toFixed(2);
+    },
     // 分页
     handleSizeChange(val) {
-      console.log(`每页 ${val} 条`)
-      this.table.pagecount = val
-      this.table.offset = 1
-      this.currentPage = 1
-      this.getList()
+      console.log(`每页 ${val} 条`);
+      this.table.pagecount = val;
+      this.table.offset = 1;
+      this.currentPage = 1;
+      this.getList();
     },
     handleCurrentChange(val) {
-      console.log(`当前页: ${val}`)
-      this.currentPage = val
-      this.table.offset = val
-      this.getList()
+      console.log(`当前页: ${val}`);
+      this.currentPage = val;
+      this.table.offset = val;
+      this.getList();
     },
     getButtons() {
-      const Edit = 'Pushingplan'
+      const Edit = "Pushingplan";
       const isRoleEdit = checkButtons(
-        JSON.parse(sessionStorage.getItem('buttons')),
+        JSON.parse(sessionStorage.getItem("buttons")),
         Edit
-      )
-      this.isRoleEdit = isRoleEdit
+      );
+      this.isRoleEdit = isRoleEdit;
     },
 
     getList() {
-      this.listLoading = true
-      let url = '/authdata/GetDataByName'
-      let data = this.table
+      this.listLoading = true;
+      let url = "/authdata/GetDataByName";
+      let data = this.table;
 
       if (this.table.parammaps.inputDatetime !== null) {
         data.parammaps.startdate = parseTime(
           this.table.parammaps.inputDatetime[0],
-          '{y}-{m}-{d}'
-        )
+          "{y}-{m}-{d}"
+        );
         data.parammaps.enddate = parseTime(
           this.table.parammaps.inputDatetime[1],
-          '{y}-{m}-{d}'
-        )
+          "{y}-{m}-{d}"
+        );
       } else {
-        data.parammaps.startdate = ''
-        data.parammaps.enddate = ''
+        data.parammaps.startdate = "";
+        data.parammaps.enddate = "";
       }
       postJson(url, data).then((response) => {
         if (response.data.list !== null) {
-          let arr = JSON.parse(JSON.stringify(response.data.list))
-          arr.forEach((item)=>{
-             item.dates = this.timeStringToMinutes(item.date) || item.date;
-             item.deviation = this.timeStringToMinutes(item.deviation) || item.deviation;
-          })
-          this.list = arr
-
+          let arr = JSON.parse(JSON.stringify(response.data.list));
+          arr.forEach((item) => {
+            item.dates = this.timeStringToMinutes(item.date) || item.date;
+            item.deviation =
+              this.timeStringToMinutes(item.deviation) || item.deviation;
+          });
+          this.list = arr;
         } else {
-          this.list = []
+          this.list = [];
         }
-        this.total = response.data.total
+        this.total = response.data.total;
         setTimeout(() => {
-          this.listLoading = false
-        }, 100)
-      })
+          this.listLoading = false;
+        }, 100);
+      });
     },
 
     form_search() {
-      console.log('点击了查询')
-      this.getList()
+      console.log("点击了查询");
+      this.getList();
     },
     handleRefresh() {
-      this.table.parammaps.tname = ''
-      this.table.parammaps.inputDatetime = null
-      this.getList()
+      this.table.parammaps.tname = "";
+      this.table.parammaps.inputDatetime = null;
+      this.getList();
     },
     handleRunning_trajectory(row) {
       this.runDate = row;
-      console.log('点击了运行轨迹',this.runDate );
+      console.log("点击了运行轨迹", this.runDate);
 
-      this.run.dialogStatus = 'run'
-      this.run.dialogFormVisible = true
-      this.run.temp = Object.assign({}, row)
-      this.getRuningList()
+      this.run.dialogStatus = "run";
+      this.run.dialogFormVisible = true;
+      this.run.temp = Object.assign({}, row);
+      this.getRuningList();
     },
 
     getRuningList() {
-      let url = '/authdata/equipment/muster'
-      let data = '?id=' + this.run.temp.id
+      let url = "/authdata/equipment/muster";
+      let data = "?id=" + this.run.temp.id;
       getJson(url, data).then((response) => {
         // path
         // console.log('table数据', response.data.list)
         if (response.data !== null) {
-          let arrList = []
+          let arrList = [];
           for (let i = 0; i < response.data.length; i++) {
-            let list = []
+            let list = [];
             // let str= `${parseFloat(response.data[i].N)} ${parseFloat(response.data[i].A)} `
             list.push(
               parseFloat(response.data[i].N),
               parseFloat(response.data[i].A)
-            )
+            );
 
-            arrList.push(list)
+            arrList.push(list);
             ////////
             // let testArr =[];
             // testArr.push(parseFloat(response.data[i].A),parseFloat(response.data[i].N));
@@ -396,7 +402,7 @@ export default {
             //////
           }
 
-          this.path = arrList //真实数据
+          this.path = arrList; //真实数据
           //  console.log(JSON.stringify(arrList),'arrList')
           //  console.log(arrList.join('\n'),'9999999');
           // 测试数据
@@ -426,19 +432,19 @@ export default {
           // this.latitude = this.path[0][1] // 实景图所在位置的纬度
           // zoom: 15, // 实景
         } else {
-          this.path = []
+          this.path = [];
         }
-        this.initMap()
-      })
+        this.initMap();
+      });
     },
     async initMap() {
       await AMapLoader.load({
-        key: 'fb6a0e88dbad4931d96a121bcf7c4442', // 替换为你的高德地图API Key
-        version: '2.0',
-        plugins: []
-      }).then(() => {})
+        key: "fb6a0e88dbad4931d96a121bcf7c4442", // 替换为你的高德地图API Key
+        version: "2.0",
+        plugins: [],
+      }).then(() => {});
       // 后续牧场栏舍图
-      var backgroundImageUrl = this.vLoUrl // 示例图片链接
+      var backgroundImageUrl = this.vLoUrl; // 示例图片链接
       var imageLayer = new AMap.ImageLayer({
         url: backgroundImageUrl,
         bounds: new AMap.Bounds(
@@ -449,74 +455,73 @@ export default {
           [113.21478078, 40.87649131], //左下角;
           [113.23067741, 40.88588863] // 右上角
         ), //图片范围大小的经纬度,传入西南和东北的经纬度坐标
-        zooms: [15, 20]
-      })
+        zooms: [15, 20],
+      });
       this.map = new window.AMap.Map(this.$refs.map, {
         zoom: 18,
         // zIndex:2,
         center: [113.21549472999999, 40.879621060000005],
-        layers: [AMap.createDefaultLayer(), imageLayer]
-      })
+        layers: [AMap.createDefaultLayer(), imageLayer],
+      });
       const startMarker = new window.AMap.Marker({
         position: this.path[this.path.length - 1], // 起始点位置
         map: this.map,
-        icon: 'https://webapi.amap.com/theme/v1.3/markers/n/start.png' // 起始点图标
-      })
+        icon: "https://webapi.amap.com/theme/v1.3/markers/n/start.png", // 起始点图标
+      });
       const endMarker = new window.AMap.Marker({
         position: this.path[0],
         map: this.map,
-        icon: 'https://webapi.amap.com/theme/v1.3/markers/n/end.png' // 终点图标
-      })
+        icon: "https://webapi.amap.com/theme/v1.3/markers/n/end.png", // 终点图标
+      });
 
-      this.drawPath()
+      this.drawPath();
     },
     drawPath() {
       const polyline = new window.AMap.Polyline({
         path: this.path,
-        strokeStyle: 'red',
-        strokeColor: '#F9423A',
+        strokeStyle: "red",
+        strokeColor: "#F9423A",
         strokeOpacity: 1,
         strokeWeight: 3,
         map: this.map,
-        dirArrowStyle: true
-      })
+        dirArrowStyle: true,
+      });
 
       // 调整地图视图以适应轨迹
 
-      this.map.setFitView()
-      this.map.setZoom(18)
-    }
-  }
-}
+      this.map.setFitView();
+      this.map.setZoom(18);
+    },
+  },
+};
 </script>
 <style lang="scss" scoped>
-.run-box{
+.run-box {
   height: 600px;
 }
-.run-box-rg{
+.run-box-rg {
   display: flex;
-  justify-content:left;
+  justify-content: left;
   flex-direction: row;
   flex-wrap: wrap;
-  padding:  0px 20px;
-  font-size:16px;
-  border-bottom:1px dotted #eee;
+  padding: 0px 20px;
+  font-size: 16px;
+  border-bottom: 1px dotted #eee;
 }
-.run-box-rg div{
-  margin-bottom:10px;
-  margin-right:15px;
+.run-box-rg div {
+  margin-bottom: 10px;
+  margin-right: 15px;
+}
+.run-box-rg div > span {
+  font-size: 16px !important;
+  font-weight: 600;
 }
-.run-box-rg div>span{
-    font-size: 16px!important;
-    font-weight: 600;
-
-  }
 
 .map-container {
   height: 600px;
   // width: 840px;
   // border-right:1px dotted #eee;
-  padding:0 10px;
+  padding: 0 10px;
 }
 .search {
   clear: both;

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini