浏览代码

中英文,经编机设备详情

asd26269546 1 年之前
父节点
当前提交
1ed7e163c3

+ 81 - 2
src/lang/cn.js

@@ -1,7 +1,7 @@
 
 export const lang = {
 	common:{
-		//消息,工作台,物联网,我的,请输入关键词,添加没有更多了,释放即可刷新,下拉即可刷新,加载中,加载失败,加载完成,没有更多了,返回,提交,修改成功,新增成功,删除成功,确定,取消,提示,自动,正常
+		//消息,工作台,物联网,我的,请输入关键词,添加没有更多了,释放即可刷新,下拉即可刷新,加载中,加载失败,加载完成,没有更多了,返回,提交,修改成功,新增成功,删除成功,确定,取消,提示,自动,正常,运行,离线
 		message:'消息',
 		workbench:'工作台',
 		things:'物联网',
@@ -25,6 +25,85 @@ export const lang = {
 		prompt:'提示',
 		auto:'自动',
 		normal:'正常',
+		equipmentStatus:"设备状态",
+		operatingMode:"工作模式",
+		running:"运行",
+		offline:"离线",
+	},
+	warehouse:{
+		//仓库维护,仓库名称,仓库类型
+		name:'仓库维护',
+		warehouseName:'仓库名称',
+		warehouseType:'仓库类型',
+	},
+	user:{
+		//用户管理,姓名,用户名,手机号,普通产线,半自动化产线,自动化产线,添加用户,部门名称,密码,系统用户,是,否,角色,手机号,工号,部门名称不能为空,姓名不能为空,用户名不能为空,密码不能为空,角色不能为空,手机号不能为空
+		name:'用户管理',
+		nickName:'姓名',
+		userName:'用户名',
+		phone:'手机号',
+		ordinaryProductionLine:'普通产线',
+		semiAutomaticProductionLine:'半自动化产线',
+		automaticProductionLine:'自动化产线',
+		addUser:'添加用户',
+		deptName:'部门名称',
+		password:'密码',
+		userType:'系统用户',
+		yes:'是',
+		no:'否',
+		role:'角色',
+		phone:'手机号',
+		jobNumber:'工号',
+		deptNameCanNotBeEmpty:'部门名称不能为空',
+		nameCanNotBeEmpty:'姓名不能为空',
+		userNameCanNotBeEmpty:'用户名不能为空',
+		passwordCanNotBeEmpty:'密码不能为空',
+		roleCanNotBeEmpty:'角色不能为空',
+		phoneCanNotBeEmpty:'手机号不能为空',
+	},
+	dict:{
+		//业务字典,键,值,排序,租户字典,键不能为空,值不能为空,排序不能为空,字典名称,字典编码,备注,启用状态,启用,禁用,状态不能为空,字典名称不能为空,字典编码不能为空
+		name:"业务字典",
+		key:'键',
+		value:'值',
+		sort:'排序',
+		tenantDictionary:'租户字典',
+		keyCanNotBeEmpty:'键不能为空',
+		valueCanNotBeEmpty:'值不能为空',
+		sortCanNotBeEmpty:'排序不能为空',
+		dictionaryName:'字典名称',
+		dictionaryCode:'字典编码',
+		remark:'备注',
+		enableStatus:'启用状态',
+		enable:'启用',
+		disable:'禁用',
+		statusCanNotBeEmpty:'状态不能为空',
+		dictionaryNameCanNotBeEmpty:'字典名称不能为空',
+		dictionaryCodeCanNotBeEmpty:'字典编码不能为空',
+
+	},
+	dept:{
+		//组织架构,添加一级节点,标题,是否确认删除该节点,添加机构,上级机构,机构名称,机构类型,公司,业务中心,部门,组,负责人,总监,部门排序,机构名称不能为空,机构类型不能为空,部门排序不能为空,上级机构不能为空,是否确认删除该分类
+		name:"组织架构",
+		addFirstLevelNode:'添加一级节点',
+		title:'标题',
+		areYouSureYouWantToDeleteThisNode:'是否确认删除该节点',
+		addOrganization:'添加机构',
+		superiorOrganization:'上级机构',
+		organizationName:'机构名称',
+		organizationType:'机构类型',
+		company:'公司',
+		businessCenter:'业务中心',
+		department:'部门',
+		group:'组',
+		principal:'负责人',
+		director:'总监',
+		departmentSort:'部门排序',
+		organizationNameCanNotBeEmpty:'机构名称不能为空',
+		organizationTypeCanNotBeEmpty:'机构类型不能为空',
+		departmentSortCanNotBeEmpty:'部门排序不能为空',
+		superiorOrganizationCanNotBeEmpty:'上级机构不能为空',
+		areYouSureYouWantToDeleteThisClassification:'是否确认删除该分类',
 	},
 	home:{
 		//修改密码,新密码,请输入密码,新密码不能为空,我的反馈,反馈,全部,待回复,已回复
@@ -36,7 +115,7 @@ export const lang = {
 	},
 	userCenter:{
 		//客户画像,修改密码,我的反馈,退出登录,您确定退出本次登录么?,退出成功,退出失败
-		customerPortrait:'客户画像',
+		customerPortrait:'我的',
 		modifyPassword:'修改密码',
 		myFeedback:'我的反馈',
 		logOut:'退出登录',

+ 3 - 3
src/lang/index.js

@@ -11,15 +11,15 @@ const i18n = createI18n({
   fallbackLocale: 'zh-cn',
   
   messages: {
-    // 'zh-cn': require('./cn.js').lang,
+    'zh-cn': require('./cn.js').lang,
     'en-us': require('./en.js').lang,
   }
 })
 console.log(require('./cn.js').lang)
 get('/open/multilingual/getJson',{}).then(res=>{
   console.log(JSON.parse(res.data),'下载')
-  window.localStorage.setItem('lang',res.data)
-  i18n.global.setLocaleMessage('zh-cn', require('./cn.js').lang)
+  // window.localStorage.setItem('lang',res.data)
+  // i18n.global.setLocaleMessage('zh-cn', require('./cn.js').lang)
 })
 
 export default i18n

+ 5 - 0
src/router/index.js

@@ -224,6 +224,11 @@ const routes = [{
 				component: () => import('../views/equipment/assemble.vue')
 			},
 			{
+				path: 'packer/:id',
+				name: '包装机',
+				component: () => import('../views/equipment/packer.vue')
+			},
+			{
 				path: 'process',
 				name: '采购单',
 				component: () => import('../views/process/index.vue')

+ 2 - 2
src/utils/axios.js

@@ -14,8 +14,8 @@ axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
 // 创建axios实例
 const service = axios.create({
   // axios中请求配置有baseURL选项,表示请求URL公共部分
-  baseURL: 'test-api',
-  //baseURL: 'prod-api',
+  //baseURL: 'test-api',
+  baseURL: 'prod-api',
   // 超时
   timeout: 10000
 })

+ 13 - 13
src/views/equipment/assemble.vue

@@ -1,6 +1,6 @@
 <template>
 	<van-nav-bar
-		:title="$t('threadHead.title')"
+		:title="$t('assemblingMachine.name')"
 		left-text=""
 		left-arrow
 		@click-left="onClickLeft"
@@ -15,8 +15,8 @@
                     <img src="../../assets/images/icon_sbzt@2x.png" alt="" />
                 </div>
                 <div class="text">
-                    <div class="label">设备状态</div>
-                    <div class="value" style="color: #3fbf31">正常</div>
+                    <div class="label">{{$t('common.equipmentStatus')}}</div>
+                    <div class="value" style="color: #3fbf31">{{$t('common.normal')}}</div>
                 </div>
             </div>
             <div class="mode">
@@ -24,8 +24,8 @@
                     <img src="../../assets/images/icon_gzms@2x.png" alt="" />
                 </div>
                 <div class="text">
-                    <div class="label">工作模式</div>
-                    <div class="value">自动</div>
+                    <div class="label">{{$t('common.operatingMode')}}</div>
+                    <div class="value">{{$t('common.auto')}}</div>
                 </div>
             </div>
         </div>
@@ -35,28 +35,28 @@
 				<div class="li-icon">
 					<img src="@/assets/images/icon_zdj@2x.png" alt="" />
 				</div>
-				<div class="li-text">主电机</div>
+				<div class="li-text">{{$t('assemblingMachine.mainMotor')}}</div>
 				<div class="li-stat li-stat-bg"></div>
 			</li>
 			<li>
 				<div class="li-icon">
 					<img src="@/assets/images/icon_qf@2x.png" alt="" />
 				</div>
-				<div class="li-text">气阀</div>
+				<div class="li-text">{{$t('assemblingMachine.valve')}}</div>
 				<div class="li-stat li-stat-bg"></div>
 			</li>
 			<li>
 				<div class="li-icon">
 					<img src="@/assets/images/icon_lxj@2x.png" alt="" />
 				</div>
-				<div class="li-text">离心机</div>
+				<div class="li-text">{{$t('assemblingMachine.centrifuge')}}</div>
 				<div class="li-stat li-stat-bg"></div>
 			</li>
 		</ul>
         <div class="speed-warp">
             <div class="big-box">
                 <div class="icon"></div>
-                <div class="text">主电机频率</div>
+                <div class="text">{{$t('assemblingMachine.frequencyOfMainMotor')}}</div>
                 <div class="line">
                     <div></div>
                 </div>
@@ -65,7 +65,7 @@
             <div style="margin:0 12px">
                 <div class="sm-box">
                     <div class="icon"></div>
-                    <div class="text">胶塞速率</div>
+                    <div class="text">{{$t('assemblingMachine.stopperRate')}}</div>
                     <div class="num-or-line">
                         <div class="num">99%</div>
                         <div class="line">
@@ -75,7 +75,7 @@
                 </div>
                 <div class="sm-box">
                     <div class="icon"></div>
-                    <div class="text">针尖速率</div>
+                    <div class="text">{{$t('assemblingMachine.tipVelocity')}}</div>
                     <div class="num-or-line">
                         <div class="num">99%</div>
                         <div class="line">
@@ -85,7 +85,7 @@
                 </div>
                 <div class="sm-box">
                     <div class="icon"></div>
-                    <div class="text">胶塞平送</div>
+                    <div class="text">{{$t('assemblingMachine.rubberStopperSentHorizontally')}}</div>
                     <div class="num-or-line">
                         <div class="num">99%</div>
                         <div class="line">
@@ -95,7 +95,7 @@
                 </div>
                 <div class="sm-box">
                     <div class="icon"></div>
-                    <div class="text">针尖平送</div>
+                    <div class="text">{{$t('assemblingMachine.needleTipFlatFeeding')}}</div>
                     <div class="num-or-line">
                         <div class="num">99%</div>
                         <div class="line">

+ 16 - 16
src/views/equipment/injectionMolding.vue

@@ -1,6 +1,6 @@
 <template>
 	<van-nav-bar
-		:title="$t('threadHead.title')"
+		:title="$t('injection.name')"
 		left-text=""
 		left-arrow
 		@click-left="onClickLeft"
@@ -15,8 +15,8 @@
                     <img src="../../assets/images/icon_sbzt@2x.png" alt="" />
                 </div>
                 <div class="text">
-                    <div class="label">设备状态</div>
-                    <div class="value" style="color: #3fbf31">正常</div>
+                    <div class="label">{{$t('common.equipmentStatus')}}</div>
+                    <div class="value" style="color: #3fbf31">{{$t('common.normal')}}</div>
                 </div>
             </div>
             <div class="mode">
@@ -24,8 +24,8 @@
                     <img src="../../assets/images/icon_gzms@2x.png" alt="" />
                 </div>
                 <div class="text">
-                    <div class="label">工作模式</div>
-                    <div class="value">自动</div>
+                    <div class="label">{{$t('common.operatingMode')}}</div>
+                    <div class="value">{{$t('common.auto')}}</div>
                 </div>
             </div>
         </div>
@@ -35,25 +35,25 @@
 				<div class="li-icon">
 					<img src="@/assets/images/icon_mjzt.png" alt="" />
 				</div>
-				<div class="li-text">模具状态</div>
+				<div class="li-text">{{$t('injection.MoldStatus')}}</div>
 				<div class="li-stat li-stat-bg"></div>
 			</li>
 			<li style="margin-left: 2%">
 				<div class="li-icon">
 					<img src="@/assets/images/icon_yyj.png" alt="" />
 				</div>
-				<div class="li-text">液压机</div>
+				<div class="li-text">{{$t('injection.hydraulicPress')}}</div>
 				<div class="li-stat li-stat-bg"></div>
 			</li>
 			<li>
-				<div class="li-text">液压油温度</div>
+				<div class="li-text">{{$t('injection.hydraulicOilTemperature')}}</div>
 				<div class="li-stat li-stat-img">
 					<img src="@/assets/images/icon_wdj.png" alt="" />
 				</div>
 				<div class="li-num">80℃</div>
 			</li>
 			<li style="margin-left: 2%">
-				<div class="li-text">简体温度</div>
+				<div class="li-text">{{$t('injection.cylinderTemperature')}}</div>
 				<div class="li-stat li-stat-img">
 					<img src="@/assets/images/icon_wdj.png" alt="" />
 				</div>
@@ -62,7 +62,7 @@
 		</ul>
 		<div class="channel">
 			<div class="list-box">
-				<div class="title">通道1</div>
+				<div class="title">{{$t('injection.channel')}}1</div>
 				<div class="pressure-chart">
 					<div
 						class="pressure-zhen"
@@ -73,16 +73,16 @@
 					<div class="pressure-line"></div>
 				</div>
 				<div class="num">15 Bar</div>
-				<div class="text">压力1</div>
+				<div class="text">{{$t('injection.pressure')}}1</div>
 				<div class="line"></div>
-				<div class="text">速度1</div>
+				<div class="text">{{$t('injection.speed')}}1</div>
 				<div class="speed">60%</div>
 				<div class="speed-line">
 					<div></div>
-				</div>
+				</div> 
 			</div>
 			<div class="list-box">
-				<div class="title">通道1</div>
+				<div class="title">{{$t('injection.channel')}}2</div>
 				<div class="pressure-chart">
 					<div
 						class="pressure-zhen"
@@ -102,7 +102,7 @@
 				</div>
 			</div>
 			<div class="list-box">
-				<div class="title">通道1</div>
+				<div class="title">{{$t('injection.channel')}}3</div>
 				<div class="pressure-chart">
 					<div
 						class="pressure-zhen"
@@ -122,7 +122,7 @@
 				</div>
 			</div>
 			<div class="list-box">
-				<div class="title">通道1</div>
+				<div class="title">通{{$t('injection.channel')}}4</div>
 				<div class="pressure-chart">
 					<div
 						class="pressure-zhen"

+ 260 - 0
src/views/equipment/packer.vue

@@ -0,0 +1,260 @@
+<template>
+	<van-nav-bar
+		:title="$t('packer.name')"
+		left-text=""
+		left-arrow
+		@click-left="onClickLeft"
+	>
+	</van-nav-bar>
+	<equipmentTop></equipmentTop>
+	
+	<div class="packer">
+        <div class="fermentator-header">
+            <div class="status">
+                <div class="img">
+                    <img src="../../assets/images/icon_sbzt@2x.png" alt="" />
+                </div>
+                <div class="text">
+                    <div class="label">{{$t('common.equipmentStatus')}}</div>
+                    <div class="value" style="color: #3fbf31">{{$t('common.normal')}}</div>
+                </div>
+            </div>
+            <div class="mode">
+                <div class="img">
+                    <img src="../../assets/images/icon_gzms@2x.png" alt="" />
+                </div>
+                <div class="text">
+                    <div class="label">{{$t('common.operatingMode')}}</div>
+                    <div class="value">{{$t('common.auto')}}</div>
+                </div>
+            </div>
+        </div>
+        <commonCharts></commonCharts>
+		<ul>
+			<li>
+				<div class="li-icon">
+					<img src="@/assets/images/icon_jhcl.png" alt="" />
+				</div>
+				<div class="li-text">
+					5000
+					<p>{{$t('packer.plannedOutput')}}</p>
+				</div>
+			</li>
+			<li style="margin-left: 2%">
+				<div class="li-icon">
+					<img src="@/assets/images/icon_yyj.png" alt="" />
+				</div>
+				<div class="li-text">
+					230
+					<p>{{$t('packer.versionsPerMinute')}}</p>
+				</div>
+				<div class="li-stat li-stat-bg"></div>
+			</li>
+		</ul>
+		<div class="list-warp">
+			<div class="list-box">
+				<div class="num">12</div>
+				<div class="text">{{$t('packer.numberOfModules')}}</div>
+				<div class="li-stat li-stat-img">
+					<img src="@/assets/images/icon_yyj.png" alt="" />
+				</div>
+			</div>
+			<div class="list-box">
+				<div class="num">12</div>
+				<div class="text">{{$t('packer.singleModeDistance')}}</div>
+				<div class="li-stat li-stat-img">
+					<img src="@/assets/images/icon_yyj.png" alt="" />
+				</div>
+			</div>
+			<div class="list-box">
+				<div class="num">12</div>
+				<div class="text">{{$t('packer.alignmentDistance')}}</div>
+				<div class="li-stat li-stat-img">
+					<img src="@/assets/images/icon_yyj.png" alt="" />
+				</div>
+			</div>
+			<div class="list-box">
+				<div class="num">12</div>
+				<div class="text">{{$t('packer.jogSpeed')}}</div>
+				<div class="li-stat li-stat-img">
+					<img src="@/assets/images/icon_yyj.png" alt="" />
+				</div>
+			</div>
+			<div class="list-box">
+				<div class="num">12</div>
+				<div class="text">{{$t('packer.chainSpeed')}}</div>
+				<div class="li-stat li-stat-img">
+					<img src="@/assets/images/icon_yyj.png" alt="" />
+				</div>
+			</div>
+			<div class="list-box">
+				<div class="num">12</div>
+				<div class="text">{{$t('packer.alignmentSpeed')}}</div>
+				<div class="li-stat li-stat-img">
+					<img src="@/assets/images/icon_yyj.png" alt="" />
+				</div>
+			</div>
+		</div>
+	
+	</div>
+</template>
+<script setup>
+import equipmentTop from '@/components/equipment-top.vue'
+import commonCharts from './components/commonCharts.vue'
+import * as echarts from 'echarts'
+import { ref, reactive, onMounted } from 'vue'
+const onClickLeft = () => proxy.$router.push('/main/working')
+
+</script>
+<style lang="scss">
+.fermentator-header {
+	display: flex;
+	justify-content: space-between;
+	margin-top: 12px;
+    padding: 0 12px;
+	.status,
+	.mode {
+		width: 49%;
+		background: #fff;
+		padding: 12px;
+		box-sizing: border-box;
+		display: flex;
+		.label {
+			font-size: 14px;
+			color: #666;
+		}
+		.value {
+			font-weight: bold;
+			font-size: 16px;
+			color: #ff8800;
+			margin-top: 6px;
+		}
+		.img {
+			width: 50px;
+			height: 50px;
+			margin-right: 12px;
+			img {
+				width: 100%;
+				height: 100%;
+			}
+		}
+	}
+}
+.packer {
+	.list-warp{
+		
+		padding-right:12px;
+		margin-top: 12px;
+		.list-box {
+			width: 30.3%;
+			background: #fff;
+			padding: 12px;
+			box-sizing: border-box;
+			margin-left: 3%;
+			margin-bottom:12px;
+			float: left;
+			border-radius: 5px;
+			display: flex;
+			flex-direction: column;
+			justify-content: center;
+			align-items: center;
+			position: relative;
+			.num {
+				font-size: 20px;
+				color: #333;
+				font-weight: bold;
+			}
+			.text {
+				font-size: 14px;
+				color: #666;
+				margin-top: 6px;
+			}
+			.li-stat {
+				position: absolute;
+				height: 16px;
+				width: 16px;
+				right: 8px;
+				top: 8px;
+			}
+			.li-stat-bg {
+				background: #3fbf31;
+				border-radius: 50%;
+				border: 3px solid #d8f2d5;
+				box-sizing: border-box;
+			}
+			.li-stat-img {
+				img {
+					width: 100%;
+					height: 100%;
+				}
+			}
+		}
+	}
+	ul {
+		padding: 0 12px;
+		overflow: hidden;
+		li {
+			width: 49%;
+			float: left;
+			position: relative;
+			display: flex;
+			background: #fff;
+			padding: 12px;
+			box-sizing: border-box;
+			margin-top: 8px;
+			border-radius: 5px;
+			.li-num {
+				color: #333;
+				font-size: 20px;
+				line-height: 50px;
+				margin-left: 12px;
+				font-weight: bold;
+			}
+			.li-icon {
+				height: 50px;
+				width: 50px;
+				border-radius: 5px;
+				overflow: hidden;
+				img {
+					width: 100%;
+					height: 100%;
+				}
+			}
+			.li-text {
+				padding-top:5px;
+				margin-left: 12px;
+				font-size: 16px;
+				color: #333;
+				line-height: 20px;
+				font-weight: bold;
+				p{
+					margin:0;
+					margin-top:5px;
+					font-size: 14px;
+					color: #666;
+					font-weight: 400;
+				}
+			}
+			.li-stat {
+				position: absolute;
+				height: 16px;
+				width: 16px;
+				right: 8px;
+				top: 8px;
+			}
+			.li-stat-bg {
+				background: #3fbf31;
+				border-radius: 50%;
+				border: 3px solid #d8f2d5;
+				box-sizing: border-box;
+			}
+			.li-stat-img {
+				img {
+					width: 100%;
+					height: 100%;
+				}
+			}
+		}
+	}
+}
+</style>

+ 49 - 50
src/views/equipment/warpKnitting.vue

@@ -1,11 +1,11 @@
 <template>
-	<van-nav-bar title="标题" left-arrow @click-left="onClickLeft" />
+	<van-nav-bar title="经编机" left-arrow @click-left="onClickLeft" />
 	<van-pull-refresh v-model="loading" @refresh="onRefresh">
 		<div class="warpKnitting">
 			<div class="stat">
 				<div class="title">
 					<span>设备状态</span>
-					<div class="type">运行</div>
+					<div class="type">{{swichType ? $t('common.running') : $t('common.offline')}}</div>
 				</div>
 				<ul>
 					<li>
@@ -13,21 +13,21 @@
 							<van-icon name="location-o" />
 						</div>
 						<div class="text">EBC</div>
-						<div class="btn">运行</div>
+						<div class="btn">{{swichType ? $t('common.running') : $t('common.offline')}}</div>
 					</li>
 					<li>
 						<div class="icon">
 							<van-icon name="location-o" />
 						</div>
-						<div class="text">EBC</div>
-						<div class="btn">运行</div>
+						<div class="text">贾卡</div>
+						<div class="btn">{{swichType ? $t('common.running') : $t('common.offline')}}</div>
 					</li>
 					<li>
 						<div class="icon">
 							<van-icon name="location-o" />
 						</div>
-						<div class="text">EBC</div>
-						<div class="btn">运行</div>
+						<div class="text">横移</div>
+						<div class="btn">{{swichType ? $t('common.running') : $t('common.offline')}}</div>
 					</li>
 				</ul>
 			</div>
@@ -38,15 +38,15 @@
 					</div>
 					<div class="text">主轴转速</div>
 				</div>
-				<div class="num">400 RPM</div>
+				<div class="num">{{deviceData.status.main_speed / 2}} RPM</div>
 			</div>
-			<div class="commons-title">产量数据</div>
+			<!-- <div class="commons-title">产量数据</div>
             <div class="chart-warp">
                 <div class="chart-box" id="myCharts" ref="myCharts"></div>
                 <div class="label-box">
                     
                 </div>
-            </div>
+            </div> -->
 			<div class="commons-title">EBC</div>
 			<ul class="buchang">
 				<li>
@@ -54,21 +54,21 @@
 						<van-icon size="20px" name="location-o" />
 					</div>
 					<div class="text">当前布长</div>
-					<div class="btn">200M</div>
+					<div class="btn">{{deviceData.status.bu_len / 100}} M</div>
 				</li>
 				<li>
 					<div class="icon">
 						<van-icon size="20px" name="location-o" />
 					</div>
 					<div class="text">设定布长</div>
-					<div class="btn">300M</div>
+					<div class="btn">{{deviceData.parameter.max_bulen / 100}} M</div>
 				</li>
 				<li>
 					<div class="icon">
 						<van-icon size="20px" name="location-o" />
 					</div>
 					<div class="text">密度</div>
-					<div class="btn">50</div>
+					<div class="btn">{{deviceData.parameter.bumi / 100}} Row/cm</div>
 				</li>
 			</ul>
 			<ul class="qianla">
@@ -86,46 +86,18 @@
 				</li>
 			</ul>
 			<ul class="songjin">
-				<li>
-					<div style="display: flex">
-						<div class="icon">
-							<van-icon name="location-o" />
-						</div>
-						<div class="text" style="margin-left: 8px">
-							主轴转速
-						</div>
-					</div>
-					<div class="num">
-						<p>剩余圈数: <span>35 N</span></p>
-						<p>剩余圈数: <span>35 N</span></p>
-					</div>
-				</li>
-				<li>
-					<div style="display: flex">
-						<div class="icon">
-							<van-icon name="location-o" />
-						</div>
-						<div class="text" style="margin-left: 8px">
-							主轴转速
-						</div>
-					</div>
-					<div class="num">
-						<p>剩余圈数: <span>35 N</span></p>
-						<p>剩余圈数: <span>35 N</span></p>
-					</div>
-				</li>
-				<li>
+				<li  v-for="i in axisData" :key="i.index">
 					<div style="display: flex">
 						<div class="icon">
 							<van-icon name="location-o" />
 						</div>
 						<div class="text" style="margin-left: 8px">
-							主轴转速
+							送经轴
 						</div>
 					</div>
 					<div class="num">
-						<p>剩余圈数: <span>35 N</span></p>
-						<p>剩余圈数: <span>35 N</span></p>
+						<p>剩余圈数: <span>{{i.curr}} N</span></p>
+						<p>剩余时间: <span>{{i.time}} H</span></p>
 					</div>
 				</li>
 			</ul>
@@ -139,16 +111,44 @@ import { useRouter } from 'vue-router'
 const proxy = getCurrentInstance().proxy
 const loading = ref(false)
 const onRefresh = () => {
+	getDtl()
 	setTimeout(() => {
 		loading.value = false
 	}, 500)
 }
+const swichType = ref(false)
 const router = useRouter()
-
+let deviceData = ref({
+	status:{},
+	parameter:{},
+})
+let axisData = ref([])
 const getDtl = () => {
 	proxy.post('/tdaDevice/data', { deviceId: router.currentRoute.value.params.id }).then(
 		(res) => {
-			console.log(res)
+			for (let key in res.data.parameter) {
+				if(key.substring(0,11) === 'axis_allnum'){
+					axisData.value.push({
+						axis:res.data.parameter[key],
+						index:key.substring(12,13),
+						curr:res.data.status['curr_num_' + key.substring(12,13)] || 0,
+						time:res.data.status['left_time_' + key.substring(12,13)] || 0,
+					})
+				}
+			}
+			function up(x,y){
+				return x.index -y.index;
+			} 
+			axisData.value.sort(up)
+			const time1 = new Date(res.data.eventTime).getTime()
+			const time2 = new Date().getTime()
+			if(time1 + 600000 > time2){
+				swichType.value = true
+			}else{
+				swichType.value = false
+			}
+			console.log(swichType.value)
+			deviceData.value = res.data
 		}
 	)
 	
@@ -156,7 +156,7 @@ const getDtl = () => {
 const onClickLeft = () => history.back();
 getDtl()
 onMounted(() => {
-	const myChart = echarts.init(document.getElementById('myCharts'))
+	// const myChart = echarts.init(document.getElementById('myCharts'))
 	const option = {
 		grid: {
 			top: '8%',
@@ -172,7 +172,6 @@ onMounted(() => {
 				label: {
 					backgroundColor: '#6a7985',
 				},
-				
 			},
 		},
 
@@ -221,7 +220,7 @@ onMounted(() => {
 			},
 		],
 	}
-	myChart.setOption(option)
+	//myChart.setOption(option)
 })
 </script>
 <style lang="scss" scoped>

+ 7 - 7
src/views/purchase-sales/inventory-management/inventoryQuery/index.vue

@@ -1,6 +1,6 @@
 <template>
   <van-nav-bar
-    title="库存查询"
+    :title="$t('inventoryQuery.name')"
     left-text=""
     left-arrow
     @click-left="onClickLeft"
@@ -8,11 +8,11 @@
   </van-nav-bar>
   <van-search
     v-model="req.keyword"
-    placeholder="请输入关键词"
+    :placeholder="$t('common.pleaseEnterKeywords')"
     @search="onRefresh"
   />
   <van-tabs v-model:active="active" @change="handleChangeTab">
-    <van-tab title="全部" name="all"></van-tab>
+    <van-tab :title="$t('common.all')" name="all"></van-tab>
     <van-tab
       v-for="(item, index) in warehouseData"
       :title="item.name"
@@ -25,7 +25,7 @@
       <van-list
         v-model:loading="loading"
         :finished="finished"
-        finished-text="没有更多了"
+        :finished-text="$t('common.noMore')"
         @load="onLoad"
         style="margin-bottom: 60px"
       >
@@ -57,15 +57,15 @@ const warehouseData = ref([]);
 const active = ref("all");
 const listConfig = ref([
   {
-    label: "物品分类",
+    label: porxy.t('inventoryQuery.itemClassification'),
     prop: "productClassifyName",
   },
   {
-    label: "物品名称",
+    label: porxy.t('inventoryQuery.itemName'),
     prop: "productName",
   },
   {
-    label: "库存数量",
+    label: porxy.t('inventoryQuery.inventoryQuantity'),
     prop: "quantity",
   },
 ]);

+ 13 - 13
src/views/purchase-sales/inventory-management/outInList/index.vue

@@ -1,6 +1,6 @@
 <template>
   <van-nav-bar
-    title="出入库流水"
+    :title="$t('inventoryQuery.inOutFlow')"
     left-text=""
     left-arrow
     @click-left="onClickLeft"
@@ -12,9 +12,9 @@
     @search="onRefresh"
   />
   <van-tabs v-model:active="active" @change="handleChangeTab">
-    <van-tab title="全部" name="all"></van-tab>
-    <van-tab title="入库" name="1"></van-tab>
-    <van-tab title="出库" name="2"></van-tab>
+    <van-tab :title="$t('inventoryQuery.all')" name="all"></van-tab>
+    <van-tab :title="$t('inventoryQuery.warehousing')" name="1"></van-tab>
+    <van-tab :title="$t('inventoryQuery.outbound')" name="2"></van-tab>
 
     <!-- <van-tab
       v-for="(item, index) in warehouseData"
@@ -28,14 +28,14 @@
       <van-list
         v-model:loading="loading"
         :finished="finished"
-        finished-text="没有更多了"
+        :finished-text="$t('common.noMore')"
         @load="onLoad"
         style="margin-bottom: 60px"
       >
         <div style="margin-top: 10px">
           <div v-for="(item, index) in listData" :key="item.id" class="item">
             <div class="row">
-              <div class="left">操作类型</div>
+              <div class="left">{{$t('inventoryQuery.operationType')}}</div>
               <div class="center">
                 {{ item.type }}
               </div>
@@ -44,19 +44,19 @@
               </div>
             </div>
             <div class="row">
-              <div class="left">仓库名称</div>
+              <div class="left">{{$t('inventoryQuery.warehouseName')}}</div>
               <div class="center">
                 {{ item.warehouseName }}
               </div>
             </div>
             <div class="row">
-              <div class="left">物品名称</div>
+              <div class="left">{{$t('inventoryQuery.itemName')}}</div>
               <div class="center">
                 {{ item.productName }}
               </div>
             </div>
             <div class="row">
-              <div class="left">操作数量</div>
+              <div class="left">{{$t('inventoryQuery.operationQuantity')}}</div>
               <div class="center">
                 {{ item.quantity }}
               </div>
@@ -89,15 +89,15 @@ const warehouseData = ref([]);
 const active = ref("all");
 const listConfig = ref([
   {
-    label: "物品类型",
+    label: proxy.t('inventoryQuery.itemType'),
     prop: "type",
   },
   {
-    label: "物品名称",
+    label: proxy.t('inventoryQuery.itemName'),
     prop: "productName",
   },
   {
-    label: "库存数量",
+    label: proxy.t('inventoryQuery.inventoryQuantity'),
     prop: "quantity",
   },
 ]);
@@ -137,7 +137,7 @@ const getList = (type) => {
     .post("/stockJournalDetails/page", req.value)
     .then((res) => {
       res.data.rows.map(item => {
-        item.type = item.type === 1 ? '入库' : '出库'
+        item.type = item.type === 1 ? proxy.t('inventoryQuery.warehousing') : proxy.t('inventoryQuery.outbound')
       })
       listData.value =
         type === "refresh"

+ 17 - 17
src/views/system/dept/add.vue

@@ -1,8 +1,8 @@
 <template>
   <div class="form">
     <van-nav-bar
-      title="添加机构"
-      left-text="返回"
+      :title="$t('dept.addOrganization')"
+      :left-text="$t('common.back')"
       left-arrow
       @click-left="onClickLeft"
     >
@@ -47,7 +47,7 @@ const formOption = reactive({
 const formConfig = ref([
   {
     type: "cascader",
-    label: "上级机构",
+    label: proxy.t('dept.superiorOrganization'),
     prop: "parentId",
     itemType: "common",
     showPicker: false,
@@ -69,13 +69,13 @@ const formConfig = ref([
   {
     type: "input",
     itemType: "text",
-    label: "机构名称",
+    label: proxy.t('dept.organizationName'),
     prop: "deptName",
     clearable: true,
   },
   {
     type: "picker",
-    label: "机构类型",
+    label: proxy.t('dept.organizationType'),
     prop: "type",
     itemType: "onePicker",
     showPicker: false,
@@ -85,19 +85,19 @@ const formConfig = ref([
     },
     data: [
       {
-        label: "公司",
+        label: proxy.t('dept.company'),
         value: "0",
       },
       {
-        label: "业务中心",
+        label: proxy.t('dept.businessCenter'),
         value: "1",
       },
       {
-        label: "部门",
+        label: proxy.t('dept.department'),
         value: "2",
       },
       {
-        label: "组",
+        label: proxy.t('dept.group'),
         value: "3",
       },
     ],
@@ -105,7 +105,7 @@ const formConfig = ref([
 
   {
     type: "picker",
-    label: "负责人",
+    label: proxy.t('dept.principal'),
     prop: "leaderId",
     itemType: "onePicker",
     showPicker: false,
@@ -117,7 +117,7 @@ const formConfig = ref([
   },
   {
     type: "picker",
-    label: "总监",
+    label: proxy.t('dept.director'),
     prop: "directorId",
     itemType: "onePicker",
     showPicker: false,
@@ -130,15 +130,15 @@ const formConfig = ref([
   {
     type: "input",
     itemType: "digit",
-    label: "部门排序",
+    label: proxy.t('dept.departmentSort'),
     prop: "orderNum",
   },
 ]);
 const rules = {
-  deptName: [{ required: true, message: "机构名称不能为空" }],
-  type: [{ required: true, message: "机构类型不能为空" }],
-  orderNum: [{ required: true, message: "部门排序不能为空" }],
-  parentId: [{ required: true, message: "上级机构不能为空" }],
+  deptName: [{ required: true, message: proxy.t('dept.organizationNameCanNotBeEmpty') }],
+  type: [{ required: true, message: proxy.t('dept.organizationTypeCanNotBeEmpty') }],
+  orderNum: [{ required: true, message: proxy.t('dept.departmentSortCanNotBeEmpty') }],
+  parentId: [{ required: true, message: proxy.t('dept.superiorOrganizationCanNotBeEmpty') }],
 };
 const unitList = ref([]);
 
@@ -172,7 +172,7 @@ const onSubmit = () => {
   proxy
     .post("/tenantDept", formData.data, route.query.id ? "PUT" : "post")
     .then(() => {
-      showSuccessToast(route.query.id ? "修改成功" : "添加成功");
+      showSuccessToast(route.query.id ? proxy.t('common.modifySuccess') : proxy.t('common.addSuccess'));
       setTimeout(() => {
         history.back();
       }, 500);

+ 5 - 5
src/views/system/dept/index.vue

@@ -1,7 +1,7 @@
 <template>
 	<div style="padding-bottom: 60px">
 		<van-nav-bar
-			title="组织架构"
+			:title="$t('dept.name')"
 			left-text=""
 			left-arrow
 			@click-left="onClickLeft"
@@ -30,7 +30,7 @@
 							block
 							type="primary"
 							@click="clickAdd({ id: '' })"
-							>添加一级节点</van-button
+							>{{$t('dept.addFirstLevelNode')}}</van-button
 						>
 					</div>
 				</van-list>
@@ -113,8 +113,8 @@ const clickUpdate = (row) => {
 }
 const clickDelete = (row) => {
 	showConfirmDialog({
-		title: '标题',
-		message: '是否确认删除该分类',
+		title: proxy.t('dept.title'),
+		message:  proxy.t('dept.areYouSureYouWantToDeleteThisClassification'),
 	})
 		.then(() => {
 			proxy
@@ -122,7 +122,7 @@ const clickDelete = (row) => {
 					id: row.deptId,
 				},'DELETE')
 				.then((res) => {
-					showSuccessToast('删除成功')
+					showSuccessToast(proxy.t('common.deleteSuccess'))
 					getList()
 				})
 		})

+ 12 - 12
src/views/system/dict/businessAdd.vue

@@ -1,8 +1,8 @@
 <template>
 	<div class="form">
 		<van-nav-bar
-			title="业务字典"
-			left-text="返回"
+			:title="$t('dict.name')"
+			:left-text="$t('common.back')"
 			left-arrow
 			@click-left="onClickLeft"
 		>
@@ -50,21 +50,21 @@ const formConfig = ref([
 	{
 		type: 'input',
 		itemType: 'text',
-		label: '字典编码',
+		label: proxy.t('dict.dictionaryCode'),
 		prop: 'code',
 		clearable: true,
 	},
 	{
 		type: 'input',
 		itemType: 'text',
-		label: '字典名称',
+		label: proxy.t('dict.dictionaryName'),
 		prop: 'name',
 		clearable: true,
 	},
 
 	{
 		type: 'radio',
-		label: '启用状态',
+		label: proxy.t('dict.enableStatus'),
 		prop: 'status',
 		itemType: 'onePicker',
 		fieldNames: {
@@ -73,11 +73,11 @@ const formConfig = ref([
 		},
 		data: [
 			{
-				label: '启用',
+				label: proxy.t('dict.enable'),
 				id: 1,
 			},
 			{
-				label: '禁用',
+				label: proxy.t('dict.disable'),
 				id: 0,
 			},
 		],
@@ -85,15 +85,15 @@ const formConfig = ref([
 	{
 		type: 'input',
 		itemType: 'textarea',
-		label: '备注',
+		label: proxy.t('dict.remark'),
 		prop: 'remark',
 		clearable: true,
 	},
 ])
 const rules = {
-	status: [{ required: true, message: '状态不能为空' }],
-	name: [{ required: true, message: '字典名称不能为空' }],
-    code: [{ required: true, message: '字典编码不能为空' }],
+	status: [{ required: true, message: proxy.t('dict.statusCanNotBeEmpty') }],
+	name: [{ required: true, message: proxy.t('dict.dictionaryNameCanNotBeEmpty') }],
+    code: [{ required: true, message: proxy.t('dict.dictionaryCodeCanNotBeEmpty') }],
 }
 const unitList = ref([])
 
@@ -107,7 +107,7 @@ const onSubmit = () => {
 	proxy
 		.post('dictTenantType/add', formData.data)
 		.then(() => {
-			showSuccessToast(route.query.id ? '修改成功' : '添加成功')
+			showSuccessToast(route.query.id ? proxy.t('common.modifySuccess') : proxy.t('common.addSuccess'))
 			setTimeout(() => {
 				history.back()
 			}, 500)

+ 8 - 10
src/views/system/dict/businessDict.vue

@@ -1,23 +1,21 @@
 <template>
 	<van-nav-bar
-		title="业务字典"
+		:title="$t('dict.name')"
 		left-text=""
 		left-arrow
 		@click-left="onClickLeft"
 		@click-right="onClickRight"
 	>
-		<template #right>
-			添加
-		</template>
+		<template #right> {{$t('common.add')}} </template>
 	</van-nav-bar>
-	<van-search v-model="req.keyword"  placeholder="请输入关键词" @search="onRefresh" />
+	<van-search v-model="req.keyword" :placeholder="$t('common.pleaseEnterKeywords')" @search="onRefresh" />
 	<van-pull-refresh v-model="loading" @refresh="onRefresh" >
 		
 		<div class="list">
 			<van-list
 				v-model:loading="loading"
 				:finished="finished"
-				finished-text="没有更多了"
+				:finished-text="$t('common.noMore')"
 				@load="onLoad"
 				style="margin-bottom:60px"
 			>
@@ -45,15 +43,15 @@ const listData = ref([])
 
 const listConfig = ref([
 	{
-		label: '字典名称',
+		label: proxy.t('dict.dictionaryName'),
 		prop: 'name',
 	},
 	{
-		label: '字典编码',
+		label: proxy.t('dict.dictionaryCode'),
 		prop: 'code',
 	},
 	{
-		label: '备注',
+		label: proxy.t('dict.remark'),
 		prop: 'remark',
 	}
 ])
@@ -71,7 +69,7 @@ const onClickLeft = () => proxy.$router.push('/main/working')
 const onClickRight = () => {
 	proxy.$router.push('/main/businessAdd')
 }
-proxy.uploadDdRightBtn(onClickRight,'添加')
+proxy.uploadDdRightBtn(onClickRight,proxy.t('common.add'))
 const toDtl = (row) => {
 	console.log(row)
 	proxy.$router.push({

+ 9 - 9
src/views/system/dict/tenantAdd.vue

@@ -1,8 +1,8 @@
 <template>
 	<div class="form">
 		<van-nav-bar
-			title="租户字典"
-			left-text="返回"
+			:title="$t('dict.tenantDictionary')"
+			:left-text="$t('common.back')"
 			left-arrow
 			@click-left="onClickLeft"
 		>
@@ -50,29 +50,29 @@ const formConfig = ref([
 	{
 		type: 'input',
 		itemType: 'text',
-		label: '键',
+		label: proxy.t('dict.key'),
 		prop: 'dictKey',
 		clearable: true,
 	},
 	{
 		type: 'input',
 		itemType: 'text',
-		label: '值',
+		label: proxy.t('dict.value'),
 		prop: 'dictValue',
 		clearable: true,
 	},
 	{
 		type: 'input',
 		itemType: 'number',
-		label: '排序',
+		label: proxy.t('dict.sort'),
 		prop: 'sort',
 		clearable: true,
 	},
 ])
 const rules = {
-	dictKey: [{ required: true, message: '键不能为空' }],
-    dictValue: [{ required: true, message: '值不能为空' }],
-    sort: [{ required: true, message: '排序不能为空' }],
+	dictKey: [{ required: true, message: proxy.t('dict.keyCanNotBeEmpty') }],
+    dictValue: [{ required: true, message: proxy.t('dict.valueCanNotBeEmpty') }],
+    sort: [{ required: true, message: proxy.t('dict.sortCanNotBeEmpty') }],
 }
 const unitList = ref([])
 
@@ -86,7 +86,7 @@ const onSubmit = () => {
 	proxy
 		.post('dictTenantData/'+  (!route.query.id ? "add" : "edit"), formData.data)
 		.then(() => {
-			showSuccessToast(route.query.id ? '修改成功' : '添加成功')
+			showSuccessToast(route.query.id ? proxy.t('common.modifySuccess') : proxy.t('common.addSuccess'))
 			setTimeout(() => {
 				history.back()
 			}, 500)

+ 8 - 8
src/views/system/dict/tenantDict.vue

@@ -1,16 +1,16 @@
 <template>
 	<van-nav-bar
-		title="业务字典"
+		:title="$t('dict.name')"
 		left-text=""
 		left-arrow
 		@click-left="onClickLeft"
 		@click-right="onClickRight"
 	>
-		<template #right> 添加 </template>
+		<template #right> {{$t('common.add')}} </template>
 	</van-nav-bar>
 	<van-search
 		v-model="req.keyword"
-		placeholder="请输入关键词"
+		:placeholder="$t('common.pleaseEnterKeywords')"
 		@search="onRefresh"
 	/>
 	<van-pull-refresh v-model="loading" @refresh="onRefresh">
@@ -18,7 +18,7 @@
 			<van-list
 				v-model:loading="loading"
 				:finished="finished"
-				finished-text="没有更多了"
+				:finished-text="$t('common.noMore')"
 				@load="onLoad"
 				style="margin-bottom: 60px"
 			>
@@ -51,15 +51,15 @@ const listData = ref([])
 
 const listConfig = ref([
 	{
-		label: '键',
+		label: proxy.t('dict.key'),
 		prop: 'dictKey',
 	},
 	{
-		label: '值',
+		label: proxy.t('dict.value'),
 		prop: 'dictValue',
 	},
 	{
-		label: '排序',
+		label: proxy.t('dict.sort'),
 		prop: 'sort',
 	},
 ])
@@ -82,7 +82,7 @@ const onClickRight = () => {
         },
 	})
 }
-proxy.uploadDdRightBtn(onClickRight,'添加')
+proxy.uploadDdRightBtn(onClickRight,proxy.t('common.add'))
 const toDtl = (row) => {
 	console.log(row)
 	proxy.$router.push({

+ 19 - 19
src/views/system/user/add.vue

@@ -1,8 +1,8 @@
 <template>
   <div class="form">
     <van-nav-bar
-      title="添加用户"
-      left-text="返回"
+      :title="$t('common.addUser')"
+      :left-text="$t('common.back')"
       left-arrow
       @click-left="onClickLeft"
     >
@@ -49,7 +49,7 @@ const formOption = reactive({
 const formConfig = ref([
   {
     type: "cascader",
-    label: "部门名称",
+    label: proxy.t('user.deptName'),
     prop: "deptId",
     itemType: "common",
     showPicker: false,
@@ -63,27 +63,27 @@ const formConfig = ref([
   {
     type: "input",
     itemType: "text",
-    label: "姓名",
+    label: proxy.t('user.nickName'),
     prop: "nickName",
     clearable: true,
   },
   {
     type: "input",
     itemType: "text",
-    label: "用户名",
+    label: proxy.t('user.userName'),
     prop: "userName",
     clearable: true,
   },
   {
     type: "input",
     itemType: "text",
-    label: "密码",
+    label: proxy.t('user.password'),
     prop: "password",
     clearable: true,
   },
   {
     type: "radio",
-    label: "系统用户",
+    label: proxy.t('user.userType'),
     prop: "userType",
     itemType: "onePicker",
     showPicker: false,
@@ -93,11 +93,11 @@ const formConfig = ref([
     },
     data: [
       {
-        label: "是",
+        label: proxy.t('user.yes'),
         id: 1,
       },
       {
-        label: "否",
+        label: proxy.t('user.no'),
         id: 0,
       },
       
@@ -106,7 +106,7 @@ const formConfig = ref([
 
   {
     type: "checkbox",
-    label: "角色",
+    label: proxy.t('user.role'),
     prop: "roleIds",
     itemType: "onePicker",
     showPicker: false,
@@ -119,25 +119,25 @@ const formConfig = ref([
   {
     type: "input",
     itemType: "text",
-    label: "手机号",
+    label: proxy.t('user.phone'),
     prop: "phonenumber",
     clearable: true,
   },
   {
     type: "input",
     itemType: "number",
-    label: "工号",
+    label: proxy.t('user.jobNumber'),
     prop: "jobNumber",
     clearable: true,
   },
 ]);
 const rules = {
-  deptId: [{ required: true, message: "部门名称不能为空" }],
-  nickName: [{ required: true, message: "姓名不能为空" }],
-  userName: [{ required: true, message: "用户名不能为空" }],
-  password: [{ required: true, message: "密码不能为空" }],
-  roleIds: [{ required: true, message: "角色不能为空" }],
-  phonenumber: [{ required: true, message: "手机号不能为空" }],
+  deptId: [{ required: true, message: proxy.t('user.deptNameCanNotBeEmpty'), }],
+  nickName: [{ required: true, message: proxy.t('user.nameCanNotBeEmpty'), }],
+  userName: [{ required: true, message: proxy.t('user.userNameCanNotBeEmpty'), }],
+  password: [{ required: true, message: proxy.t('user.passwordCanNotBeEmpty'), }],
+  roleIds: [{ required: true, message: proxy.t('user.roleCanNotBeEmpty'),}],
+  phonenumber: [{ required: true, message: proxy.t('user.phoneCanNotBeEmpty'), }],
 };
 const unitList = ref([]);
 
@@ -169,7 +169,7 @@ const onSubmit = () => {
   proxy
     .post("/tenantUser", formData.data, route.query.id ? "PUT" : "post")
     .then(() => {
-      showSuccessToast(route.query.id ? "修改成功" : "添加成功");
+      showSuccessToast(route.query.id ? proxy.t('common.modifySuccess') : proxy.t('common.addSuccess'))
       setTimeout(() => {
         history.back();
       }, 500);

+ 11 - 11
src/views/system/user/index.vue

@@ -1,16 +1,16 @@
 <template>
 	<van-nav-bar
-		title="用户管理"
+		:title="$t('user.name')"
 		left-text=""
 		left-arrow
 		@click-left="onClickLeft"
 		@click-right="onClickRight"
 	>
-		<template #right> 添加 </template>
+		<template #right> {{$t('common.add')}} </template>
 	</van-nav-bar>
 	<van-search
 		v-model="req.keyword"
-		placeholder="请输入关键词"
+		:placeholder="$t('common.pleaseEnterKeywords')"
 		@search="onRefresh"
 	/>
 	<van-pull-refresh v-model="loading" @refresh="onRefresh">
@@ -18,7 +18,7 @@
 			<van-list
 				v-model:loading="loading"
 				:finished="finished"
-				finished-text="没有更多了"
+				:finished-text="$t('common.noMore')"
 				@load="onLoad"
 				style="margin-bottom: 60px"
 			>
@@ -49,30 +49,30 @@ const proxy = getCurrentInstance().proxy
 const listData = ref([])
 const listConfig = ref([
 	{
-		label: '姓名',
+		label: proxy.t('user.nickName'),
 		prop: 'nickName',
 	},
 	{
-		label: '用户名',
+		label: proxy.t('user.userName'),
 		prop: 'userName',
 	},
 	{
-		label: '手机号',
+		label: proxy.t('user.phone'),
 		prop: 'phonenumber',
 	},
 ])
 //车间类型
 const typeList = ref([
 	{
-		label: '普通产线',
+		label: proxy.t('user.ordinaryProductionLine'),
 		value: '1',
 	},
 	{
-		label: '半自动化产线',
+		label: proxy.t('user.semiAutomaticProductionLine'),
 		value: '2',
 	},
 	{
-		label: '自动化产线',
+		label: proxy.t('user.automaticProductionLine'),
 		value: '3',
 	},
 ])
@@ -93,7 +93,7 @@ const onClickRight = () => {
 		},
 	})
 }
-proxy.uploadDdRightBtn(onClickRight,'添加')
+proxy.uploadDdRightBtn(onClickRight,proxy.t('common.add'))
 const toDtl = (row) => {
 	proxy.$router.push({
 		path: 'userAdd',

+ 8 - 8
src/views/warehouse/warehouseConfig/add.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="form">
-    <van-nav-bar title="仓库维护" left-text="返回" left-arrow @click-left="onClickLeft"> </van-nav-bar>
+    <van-nav-bar :title="$t('warehouse.name')" :left-text="$t('common.back')" left-arrow @click-left="onClickLeft"> </van-nav-bar>
     <testForm v-model="formData.data" :formOption="formOption" :formConfig="formConfig" :rules="rules" @onSubmit="onSubmit" ref="formDom"></testForm>
   </div>
 </template>
@@ -24,8 +24,8 @@ const formData = reactive({
   },
 });
 const rules = {
-  type: [{ required: true, message: "仓库类型不能为空" }],
-  name: [{ required: true, message: "仓库名称不能为空" }],
+  type: [{ required: true, message: proxy.t('warehouse.warehouseTypeCanNotBeEmpty') }],
+  name: [{ required: true, message: proxy.t('warehouse.warehouseNameCanNotBeEmpty') }],
 };
 const formOption = reactive({
   readonly: false, //用于控制整个表单是否只读
@@ -37,7 +37,7 @@ const formOption = reactive({
 const formConfig = reactive([
   {
     type: "picker",
-    label: "仓库类型",
+    label: proxy.t('warehouse.warehouseType'),
     prop: "type",
     itemType: "onePicker",
     showPicker: false,
@@ -49,7 +49,7 @@ const formConfig = reactive([
   },
   {
     type: "picker",
-    label: "仓库管理员",
+    label: proxy.t('warehouse.warehouseAdministrator'),
     prop: "keeperId",
     itemType: "onePicker",
     showPicker: false,
@@ -62,14 +62,14 @@ const formConfig = reactive([
   {
     type: "input",
     itemType: "text",
-    label: "仓库名称",
+    label: proxy.t('warehouse.warehouseName'),
     prop: "name",
     clearable: true,
   },
   {
     type: "input",
     itemType: "textarea",
-    label: "备注",
+    label: proxy.t('warehouse.remark'),
     prop: "remark",
     clearable: true,
   },
@@ -85,7 +85,7 @@ const getDict = async () => {
 const onClickLeft = () => history.back();
 const onSubmit = () => {
   proxy.post("/warehouse/" + (!route.query.id ? "add" : "edit"), formData.data).then(() => {
-    showSuccessToast(!route.query.id ? "添加成功" : "编辑成功");
+    showSuccessToast(route.query.id ? proxy.t('common.modifySuccess') : proxy.t('common.addSuccess'))
     setTimeout(() => {
       onClickLeft();
     }, 500);

+ 7 - 9
src/views/warehouse/warehouseConfig/index.vue

@@ -1,23 +1,21 @@
 <template>
 	<van-nav-bar
-		title="仓库维护"
+		:title="$t('warehouse.name')"
 		left-text=""
 		left-arrow
 		@click-left="onClickLeft"
 		@click-right="onClickRight"
 	>
-		<template #right>
-			添加
-		</template>
+		<template #right> {{$t('common.add')}} </template>
 	</van-nav-bar>
-	<van-search v-model="req.keyword"  placeholder="请输入关键词" @search="onRefresh" />
+	<van-search v-model="req.keyword"  :placeholder="$t('common.pleaseEnterKeywords')" @search="onRefresh" />
 	<van-pull-refresh v-model="loading" @refresh="onRefresh" >
 		
 		<div class="list">
 			<van-list
 				v-model:loading="loading"
 				:finished="finished"
-				finished-text="没有更多了"
+				:finished-text="$t('common.noMore')"
 				@load="onLoad"
 				style="margin-bottom:60px"
 			>
@@ -44,11 +42,11 @@ const listData = ref([])
 
 const listConfig = ref([
 	{
-		label: '仓库名称',
+		label: proxy.t('warehouse.warehouseName'),
 		prop: 'name',
 	},
 	{
-		label: '仓库类型',
+		label: proxy.t('warehouse.warehouseType'),
 		prop: 'typeName',
 	}
 ])
@@ -66,7 +64,7 @@ const onClickLeft = () => proxy.$router.push('/main/working')
 const onClickRight = () => {
 	proxy.$router.push('/main/warehouseConfigAdd')
 }
-proxy.uploadDdRightBtn(onClickRight,'添加')
+proxy.uploadDdRightBtn(onClickRight,proxy.t('common.add'))
 const toDtl = (row) => {
 	console.log(row)
 	proxy.$router.push({

+ 3 - 3
vue.config.js

@@ -30,10 +30,10 @@ module.exports = defineConfig({
 				rewrite: (p) => p.replace(/^\/dev-api/, '')
 			},
 			'/prod-api': {
-				target: 'http://116.205.247.33:82',
+				target: 'http://139.159.251.109:82',
 				changeOrigin: true,
-				rewrite: (p) => p.replace(/^\/dev-api/, '')
+				rewrite: (p) => p.replace(/^\/prod-api/, '')
 			}
 		}
 	},
-})
+})