@@ -1,23 +1,17 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> | |||
<project version="4"> | |||
<component name="deploymentTargetDropDown"> | |||
<value> | |||
<entry key="app"> | |||
<State> | |||
<targetSelectedWithDropDown> | |||
<Target> | |||
<type value="QUICK_BOOT_TARGET" /> | |||
<deviceKey> | |||
<Key> | |||
<type value="VIRTUAL_DEVICE_PATH" /> | |||
<value value="C:\Users\admin\.android\avd\bpa_API_30.avd" /> | |||
</Key> | |||
</deviceKey> | |||
</Target> | |||
</targetSelectedWithDropDown> | |||
<timeTargetWasSelectedWithDropDown value="2024-07-22T08:13:30.759237600Z" /> | |||
</State> | |||
</entry> | |||
</value> | |||
<runningDeviceTargetSelectedWithDropDown> | |||
<Target> | |||
<type value="RUNNING_DEVICE_TARGET" /> | |||
<deviceKey> | |||
<Key> | |||
<type value="SERIAL_NUMBER" /> | |||
<value value="127.0.0.1:7555" /> | |||
</Key> | |||
</deviceKey> | |||
</Target> | |||
</runningDeviceTargetSelectedWithDropDown> | |||
<timeTargetWasSelectedWithDropDown value="2024-08-05T02:04:42.367559500Z" /> | |||
</component> | |||
</project> |
@@ -1205,7 +1205,14 @@ public class ConfigData { | |||
processTS = ConfigName.getInstance().Process_大炒; | |||
} else if (ConfigName.getInstance().versionSelectionEnum.equals("大炒自动投料版本")) { | |||
plcaddresses = ConfigName.getInstance().PlcAddress_大炒自动投料; | |||
processTS = ConfigName.getInstance().Process_大炒自动投料; | |||
switch (ConfigName.getInstance().app.getString(R.string.language)){ | |||
case "en": | |||
processTS = ConfigName.getInstance().Process_大炒自动投料_en; | |||
break; | |||
case "zh": | |||
processTS = ConfigName.getInstance().Process_大炒自动投料; | |||
break; | |||
} | |||
} else if (ConfigName.getInstance().versionSelectionEnum.equals("小炒版本")) { | |||
plcaddresses = ConfigName.getInstance().PlcAddress_小炒; | |||
processTS = ConfigName.getInstance().Process_小炒; | |||
@@ -1251,7 +1258,15 @@ public class ConfigData { | |||
processTS = ConfigName.getInstance().Process_大炒; | |||
} else if (ConfigName.getInstance().versionSelectionEnum.equals("大炒自动投料版本")) { | |||
plcaddresses = ConfigName.getInstance().PlcAddress_大炒自动投料; | |||
processTS = ConfigName.getInstance().Process_大炒自动投料; | |||
switch (ConfigName.getInstance().app.getString(R.string.language)){ | |||
case "en": | |||
processTS = ConfigName.getInstance().Process_大炒自动投料_en; | |||
break; | |||
case "zh": | |||
processTS = ConfigName.getInstance().Process_大炒自动投料; | |||
break; | |||
} | |||
} else if (ConfigName.getInstance().versionSelectionEnum.equals("小炒版本")) { | |||
plcaddresses = ConfigName.getInstance().PlcAddress_小炒; | |||
processTS = ConfigName.getInstance().Process_小炒; | |||
@@ -745,6 +745,21 @@ public class ConfigName { | |||
add(new ProcessT("出菜", Arrays.asList("等待(秒)"))); | |||
add(new ProcessT("清洗", Arrays.asList("清洗方式","抽水量","等待(秒)"))); | |||
}}; | |||
/** | |||
* 大炒自动投料工序模型 | |||
*/ | |||
public List<ProcessT> Process_大炒自动投料_en = new ArrayList<ProcessT>() {{ | |||
add(new ProcessT("Stir", Arrays.asList("Stirring Rate", "Delay(s)"))); | |||
add(new ProcessT("Possition", Arrays.asList("Turn Rate", "Move", "Delay(s)"))); | |||
add(new ProcessT("Heat", Arrays.asList("Heat Power", "Delay(s)"))); | |||
add(new ProcessT("Material", Arrays.asList("Name", "Main Possition", "Weight", "Input Move","Fry Bit","Cook(s)"))); | |||
add(new ProcessT("Liquor", new ArrayList<>())); | |||
add(new ProcessT("Parallel Pour", Arrays.asList("Gram Weight","Delay(s)"))); | |||
add(new ProcessT("Delay", Arrays.asList("Delay(s)"))); | |||
add(new ProcessT("Serve Dishes", Arrays.asList("Delay(s)"))); | |||
add(new ProcessT("Clean", Arrays.asList("Way","Weight","Delay(s)"))); | |||
}}; | |||
/** | |||
* 小炒基础PLC模型 | |||
@@ -1347,24 +1362,49 @@ public class ConfigName { | |||
*/ | |||
public String GetProcessTypeVal(String item) { | |||
String data = ""; | |||
if (item.equals("搅拌动作")) { | |||
data = "正转反转、一直正转、一直反转"; | |||
} else if (item.equals("位置动作")) { | |||
data = "原点位、出餐启动、倒菜位、抽料位、清洗位、炒菜位1、炒菜位2、炒菜位3"; | |||
} else if (item.equals("炒制位置")) { | |||
data = "炒菜位1、炒菜位2、炒菜位3、原点位"; | |||
}else if (item.equals("投料动作")) { | |||
//data = "投出抖动三次、投出等待三秒、直接投出、手动投料"; | |||
data = "投出等待三秒、直接投出、手动投料"; | |||
}else if (item.equals("清洗方式")) { | |||
data = "一般清洗、深度清洗"; | |||
} | |||
else if (item.equals("主料位置")) { | |||
data = "1号位、2号位、3号位、4号位"; | |||
} else if (item.equals("正转速度") || item.equals("反转速度") || item.equals("转动速度") || item.equals("搅拌速度")) { | |||
data = "停止、最低、低速、中速、高速、最高、极高"; | |||
} else if (item.equals("加热功率") || item.equals("热锅功率")) { | |||
data = "停止、一档、二档、三档、四档、五档、六档、七档、八档"; | |||
switch (ConfigName.getInstance().app.getString(R.string.language)){ | |||
case "en": | |||
if (item.equals("FryMove")) { | |||
data = "Positive&negative、Positive、negative"; | |||
} else if (item.equals("Move")) { | |||
data = "Origin、Maintain、Pour、Extract、Clean、Fry1、Fry2、Fry3"; | |||
} else if (item.equals("Fry Bit")) { | |||
data = "Fry1、Fry2、Fry3、Origin"; | |||
}else if (item.equals("Input Move")) { | |||
//data = "投出抖动三次、投出等待三秒、直接投出、手动投料"; | |||
data = "Wait 3s、Direct Throw、Manual Throw"; | |||
}else if (item.equals("Way")) { | |||
data = "Normal、Depth"; | |||
} | |||
else if (item.equals("Main Possition")) { | |||
data = "1Bit、2Bit、3Bit、4Bit"; | |||
} else if (item.equals("Positive") || item.equals("negative") || item.equals("Stirring Rate") || item.equals("Turn Rate")) { | |||
data = "Stop、Lowest、Low、Middle、High、Highest、Extreme"; | |||
} else if (item.equals("Heat Power") || item.equals("热锅功率")) { | |||
data = "Stop、1Gear、2Gear、3Gear、4Gear、5Gear、6Gear、7Gear、8Gear"; | |||
} | |||
break; | |||
case "zh": | |||
if (item.equals("搅拌动作")) { | |||
data = "正转反转、一直正转、一直反转"; | |||
} else if (item.equals("位置动作")) { | |||
data = "原点位、出餐启动、倒菜位、抽料位、清洗位、炒菜位1、炒菜位2、炒菜位3"; | |||
} else if (item.equals("炒制位置")) { | |||
data = "炒菜位1、炒菜位2、炒菜位3、原点位"; | |||
}else if (item.equals("投料动作")) { | |||
//data = "投出抖动三次、投出等待三秒、直接投出、手动投料"; | |||
data = "投出等待三秒、直接投出、手动投料"; | |||
}else if (item.equals("清洗方式")) { | |||
data = "一般清洗、深度清洗"; | |||
} | |||
else if (item.equals("主料位置")) { | |||
data = "1号位、2号位、3号位、4号位"; | |||
} else if (item.equals("正转速度") || item.equals("反转速度") || item.equals("转动速度") || item.equals("搅拌速度")) { | |||
data = "停止、最低、低速、中速、高速、最高、极高"; | |||
} else if (item.equals("加热功率") || item.equals("热锅功率")) { | |||
data = "停止、一档、二档、三档、四档、五档、六档、七档、八档"; | |||
} | |||
break; | |||
} | |||
return data; | |||
} | |||
@@ -7,6 +7,7 @@ import android.widget.TextView; | |||
import androidx.appcompat.app.AppCompatActivity; | |||
import com.bonait.bnframework.R; | |||
import com.bonait.bnframework.common.constant.ConfigName; | |||
import com.bonait.bnframework.ui.util.DisplayManager; | |||
import com.bonait.bnframework.ui.widget.XComDialog; | |||
import com.qmuiteam.qmui.widget.dialog.QMUIDialog; | |||
@@ -175,6 +176,52 @@ public class AlertDialogUtils { | |||
}); | |||
} | |||
public static void showTipDialog(AppCompatActivity activity,String title_zh,String content_zh,String title_en,String content_en,DialogClickListener listener){ | |||
showCancelAndConfirmDialog(activity,R.layout.dialog_with_cancel_confirm, new XComDialog.OnDialogListener(){ | |||
@Override | |||
public void onDialogClick(View layoutView, XComDialog xCom) { | |||
TextView tvTitle = layoutView.findViewById(R.id.tv_title); | |||
TextView tvContent = layoutView.findViewById(R.id.tv_content); | |||
TextView tvCancel = layoutView.findViewById(R.id.tv_cancel); | |||
TextView tvConfirm = layoutView.findViewById(R.id.tv_confirm); | |||
DisplayManager.scaleView(layoutView.findViewById(R.id.rl_btn)); | |||
DisplayManager.scaleView(tvTitle); | |||
DisplayManager.scaleView(tvContent); | |||
DisplayManager.scaleView(tvCancel); | |||
DisplayManager.scaleView(tvConfirm); | |||
switch (ConfigName.getInstance().app.getString(R.string.language)){ | |||
case "en": | |||
tvTitle.setText( title_en+""); | |||
tvContent.setText(content_en+""); | |||
break; | |||
case "zh": | |||
tvTitle.setText( title_zh+""); | |||
tvContent.setText(content_zh+""); | |||
break; | |||
} | |||
tvCancel.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
xCom.dismissX(); | |||
if(listener!=null){ | |||
listener.onCancel(); | |||
} | |||
} | |||
}); | |||
tvConfirm.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
xCom.dismissX(); | |||
if(listener!=null){ | |||
listener.onConfirm(); | |||
} | |||
} | |||
}); | |||
} | |||
}); | |||
} | |||
public interface DialogClickListener{ | |||
void onConfirm(); | |||
void onCancel(); | |||
@@ -590,12 +590,20 @@ public class DiyProcessActivity extends BaseActivity { | |||
public void onDialogClick(View layoutView, XComDialog xCom) { | |||
DialogWithCancelConfirmBinding binding = DialogWithCancelConfirmBinding.bind(layoutView); | |||
DisplayManager.scaleView(binding.getRoot()); | |||
binding.tvTitle.setText("保存并返回"); | |||
binding.tvContent.setText("即将退出页面,是否保存工序?"); | |||
binding.tvCancel.setText("不保存"); | |||
binding.tvConfirm.setText("保存"); | |||
switch (getString(R.string.language)){ | |||
case "en": | |||
binding.tvTitle.setText("Save&Return"); | |||
binding.tvContent.setText("About to exit the page, whether to save the process?"); | |||
binding.tvCancel.setText("Don't save"); | |||
binding.tvConfirm.setText("Save"); | |||
break; | |||
case "zh": | |||
binding.tvTitle.setText("保存并返回"); | |||
binding.tvContent.setText("即将退出页面,是否保存工序?"); | |||
binding.tvCancel.setText("不保存"); | |||
binding.tvConfirm.setText("保存"); | |||
break; | |||
} | |||
binding.tvCancel.setOnClickListener(new View.OnClickListener() { | |||
@Override | |||
public void onClick(View view) { | |||
@@ -97,7 +97,7 @@ public class EditClassifyActivity extends BaseActivity { | |||
attributeList.clear(); | |||
subattributeList.clear(); | |||
classifyList.clear(); | |||
classifyList.put("未选择",""); | |||
classifyList.put(getString(R.string.text_noselect),""); | |||
for(BPA_GOODS_CLASSIFY goodsClassify:GoodsClassifyDBUtil.getAll()){ | |||
classifyList.put(goodsClassify.name,goodsClassify.id); | |||
} | |||
@@ -143,7 +143,7 @@ public class EditClassifyActivity extends BaseActivity { | |||
@Override | |||
public void clickListenerNew(View v, int k, Object data) { | |||
if(ConfigName.getInstance().isFastClick()){ | |||
NewToastUtil.getInstance().showToast("重复点击!"); | |||
NewToastUtil.getInstance().showToast("重复点击!","Repeat click!"); | |||
return; | |||
} | |||
attributePosition = k; | |||
@@ -163,26 +163,26 @@ public class EditClassifyActivity extends BaseActivity { | |||
@Override | |||
public void clickName(View v,int position,BPA_SUBATTRIBUTE data) { | |||
if(ConfigName.getInstance().isFastClick()){ | |||
NewToastUtil.getInstance().showToast("重复点击!"); | |||
NewToastUtil.getInstance().showToast("重复点击!","Repeat click!"); | |||
return; | |||
} | |||
//修改子属性 | |||
AlertDialogUtils.showCancelAndConfirmDialog(EditClassifyActivity.this, R.layout.dialog_add_classify, (layoutView, xCom) -> { | |||
DialogAddClassifyBinding binding = DialogAddClassifyBinding.bind(layoutView); | |||
DisplayManager.scaleViewGroup(binding.getRoot()); | |||
binding.title.setText("修改子属性名称"); | |||
binding.edit.setHint("请输入子属性名称"); | |||
binding.title.setText(getString(R.string.top_revisechildattribute)); | |||
binding.edit.setHint(getString(R.string.info_revisechildattribute)); | |||
binding.edit.setText(data.name); | |||
binding.submit.setOnClickListener(view1 -> { | |||
if(ConfigName.getInstance().isFastClick()){ | |||
NewToastUtil.getInstance().showToast("点击过快!"); | |||
NewToastUtil.getInstance().showToast("点击过快!","Click too fast!"); | |||
return; | |||
} | |||
String input = String.valueOf(binding.edit.getText()); | |||
if(!input.isEmpty()){ | |||
for(BPA_SUBATTRIBUTE bean:subattributeList){ | |||
if(bean.name.equals(input)){ | |||
NewToastUtil.getInstance().showToast("已有该子属性,请换一个名称!"); | |||
NewToastUtil.getInstance().showToast("已有该子属性,请换一个名称!","This subattribute already exists, please change its name!"); | |||
return; | |||
} | |||
} | |||
@@ -201,13 +201,13 @@ public class EditClassifyActivity extends BaseActivity { | |||
} | |||
} | |||
} | |||
NewToastUtil.getInstance().showToast("修改成功"); | |||
NewToastUtil.getInstance().showToast("修改成功","Revise Success!"); | |||
subattributeAdapter.notifyDataSetChanged(); | |||
if(position-1>=0 && !subattributeList.isEmpty()){ | |||
viewBinding.listSubattribute.smoothScrollToPosition(position-1); | |||
} | |||
}else { | |||
NewToastUtil.getInstance().showToast("名称不能为空!"); | |||
NewToastUtil.getInstance().showToast("名称不能为空!","The name cannot be empty!"); | |||
} | |||
}); | |||
}); | |||
@@ -296,18 +296,18 @@ public class EditClassifyActivity extends BaseActivity { | |||
AlertDialogUtils.showCancelAndConfirmDialog(this, R.layout.dialog_add_classify, (layoutView, xCom) -> { | |||
DialogAddClassifyBinding binding = DialogAddClassifyBinding.bind(layoutView); | |||
DisplayManager.scaleViewGroup(binding.getRoot()); | |||
binding.title.setText("新增分类名称"); | |||
binding.edit.setHint("请输入分类名称"); | |||
binding.title.setText(getString(R.string.top_addclass)); | |||
binding.edit.setHint(getString(R.string.info_addclass)); | |||
binding.submit.setOnClickListener(view1 -> { | |||
if(ConfigName.getInstance().isFastClick()){ | |||
NewToastUtil.getInstance().showToast("点击过快!"); | |||
NewToastUtil.getInstance().showToast("点击过快!","Click too fast"); | |||
return; | |||
} | |||
String input = String.valueOf(binding.edit.getText()); | |||
if(!input.isEmpty()){ | |||
for (Map.Entry<String, String> entry : classifyList.entrySet()) { | |||
if(entry.getKey().equals(input)){ | |||
NewToastUtil.getInstance().showToast("已有该分类,请换一个名称!"); | |||
NewToastUtil.getInstance().showToast("已有该分类,请换一个名称!","This class already exists, please change its name!"); | |||
return; | |||
} | |||
} | |||
@@ -321,14 +321,14 @@ public class EditClassifyActivity extends BaseActivity { | |||
spinnerAdapter.notifyDataSetChanged(); | |||
selectClassify(classifyList.size()-1);//更新数据 | |||
NewToastUtil.getInstance().showToast("添加["+input+"]分类成功!"); | |||
NewToastUtil.getInstance().showToast("添加["+input+"]分类成功!","Add ["+input+"] Success!"); | |||
RecordManager.getInstance().addLogRecord("角色操作日志", "添加["+input+"]分类成功!"); | |||
}else { | |||
NewToastUtil.getInstance().showToast("添加["+input+"]分类失败!"); | |||
NewToastUtil.getInstance().showToast("添加["+input+"]分类失败!","Add ["+input+"] Fail!"); | |||
} | |||
xCom.dismissX(); | |||
}else { | |||
NewToastUtil.getInstance().showToast("名称不能为空!"); | |||
NewToastUtil.getInstance().showToast("名称不能为空!","The name cannot be empty!"); | |||
} | |||
}); | |||
}); | |||
@@ -346,18 +346,18 @@ public class EditClassifyActivity extends BaseActivity { | |||
DisplayManager.scaleViewGroup(binding.getRoot()); | |||
String classifyId = classifyList.get(viewBinding.spinnerClassify.getSelectedItem().toString()); | |||
String classifyName = viewBinding.spinnerClassify.getSelectedItem().toString(); | |||
binding.title.setText("修改分类名称"); | |||
binding.title.setText(getString(R.string.top_reviseclass)); | |||
binding.edit.setText(classifyName); | |||
binding.submit.setOnClickListener(view1 -> { | |||
if(ConfigName.getInstance().isFastClick()){ | |||
NewToastUtil.getInstance().showToast("点击过快!"); | |||
NewToastUtil.getInstance().showToast("点击过快!","Click too fast"); | |||
return; | |||
} | |||
String input = String.valueOf(binding.edit.getText()); | |||
if(!input.isEmpty()){ | |||
for (Map.Entry<String, String> entry : classifyList.entrySet()) { | |||
if(entry.getKey().equals(input)){ | |||
NewToastUtil.getInstance().showToast("已有该分类,请换一个名称!"); | |||
NewToastUtil.getInstance().showToast("已有该分类,请换一个名称!","This class already exists, please change its name!"); | |||
return; | |||
} | |||
} | |||
@@ -373,10 +373,10 @@ public class EditClassifyActivity extends BaseActivity { | |||
spinnerAdapter.notifyDataSetChanged(); | |||
selectClassify(classifyList.size()-1);//更新数据 | |||
RecordManager.getInstance().addLogRecord("角色操作日志", "修改["+input+"]分类成功!"); | |||
NewToastUtil.getInstance().showToast("修改["+input+"]分类成功!"); | |||
NewToastUtil.getInstance().showToast("修改["+input+"]分类成功!","Revise ["+input+"] Success!"); | |||
xCom.dismissX(); | |||
}else { | |||
NewToastUtil.getInstance().showToast("名称不能为空!"); | |||
NewToastUtil.getInstance().showToast("名称不能为空!","The name cannot be empty!"); | |||
} | |||
}); | |||
}); | |||
@@ -392,14 +392,22 @@ public class EditClassifyActivity extends BaseActivity { | |||
String classifyId = classifyList.get(viewBinding.spinnerClassify.getSelectedItem().toString()); | |||
String classifyName = viewBinding.spinnerClassify.getSelectedItem().toString(); | |||
DisplayManager.scaleViewGroup(binding.getRoot()); | |||
binding.title.setText("删除分类名称"); | |||
binding.edit.setText("是否删除["+classifyName+"]分类下所有商品及属性?"); | |||
binding.title.setText(getString(R.string.top_deleteclass)); | |||
switch (getString(R.string.language)){ | |||
case "en": | |||
binding.edit.setText("Delete all products&attributes of ["+classifyName+"] ?"); | |||
break; | |||
case "zh": | |||
binding.edit.setText("是否删除["+classifyName+"]分类下所有商品及属性?"); | |||
break; | |||
} | |||
binding.cancel.setOnClickListener(view1 ->{ | |||
xCom.dismissX(); | |||
}); | |||
binding.submit.setOnClickListener(view1 -> { | |||
if(ConfigName.getInstance().isFastClick()){ | |||
NewToastUtil.getInstance().showToast("点击过快!"); | |||
NewToastUtil.getInstance().showToast("点击过快!","Click too fast"); | |||
return; | |||
} | |||
if(GoodsClassifyDBUtil.deleteById(classifyId)){ | |||
@@ -414,11 +422,11 @@ public class EditClassifyActivity extends BaseActivity { | |||
classifyNameList.addAll(classifyList.keySet()); | |||
spinnerAdapter.notifyDataSetChanged(); | |||
selectClassify(classifyPosition-1);//更新数据 | |||
NewToastUtil.getInstance().showToast("删除["+classifyName+"]分类成功!"); | |||
NewToastUtil.getInstance().showToast("删除["+classifyName+"]分类成功!","Delete ["+classifyName+"] Success!"); | |||
RecordManager.getInstance().addLogRecord("角色操作日志", "删除["+classifyName+"]分类成功!"); | |||
xCom.dismissX(); | |||
}else { | |||
NewToastUtil.getInstance().showToast("删除["+classifyName+"]分类失败!"); | |||
NewToastUtil.getInstance().showToast("删除["+classifyName+"]分类失败!","Delete ["+classifyName+"] Fail!"); | |||
} | |||
}); | |||
}); | |||
@@ -431,7 +439,7 @@ public class EditClassifyActivity extends BaseActivity { | |||
*/ | |||
private void addAttribute(){ | |||
if(attributeList.size()>=6){ | |||
NewToastUtil.getInstance().showToast("属性已达到上限"); | |||
NewToastUtil.getInstance().showToast("属性已达到上限","The property has reached its upper limit!"); | |||
return; | |||
} | |||
if(classifyPosition==0){ | |||
@@ -439,7 +447,7 @@ public class EditClassifyActivity extends BaseActivity { | |||
} | |||
String classifyId = classifyList.get(viewBinding.spinnerClassify.getSelectedItem().toString()); | |||
if(GoodsDBUtil.getClassifyId(classifyId)!=null){ | |||
AlertDialogUtils.showTipDialog(this, "注意", "添加属性将会影响当前分类下所有菜品,请确保该分类下没有商品再操作", | |||
AlertDialogUtils.showTipDialog(this, "注意", "添加属性将会影响当前分类下所有菜品,请确保该分类下没有商品再操作","Look!","Adding attributes will affect all dishes in the current category. Please ensure that there are no products in this category!", | |||
new AlertDialogUtils.DialogClickListener() { | |||
@Override | |||
public void onConfirm() { | |||
@@ -454,18 +462,18 @@ public class EditClassifyActivity extends BaseActivity { | |||
AlertDialogUtils.showCancelAndConfirmDialog(this, R.layout.dialog_add_classify, (layoutView, xCom) -> { | |||
DialogAddClassifyBinding binding = DialogAddClassifyBinding.bind(layoutView); | |||
DisplayManager.scaleViewGroup(binding.getRoot()); | |||
binding.title.setText("新增属性名称"); | |||
binding.edit.setHint("请输入属性名称"); | |||
binding.title.setText(getString(R.string.top_addattribute)); | |||
binding.edit.setHint(getString(R.string.info_addattribute)); | |||
binding.submit.setOnClickListener(view1 -> { | |||
if(ConfigName.getInstance().isFastClick()){ | |||
NewToastUtil.getInstance().showToast("点击过快!"); | |||
NewToastUtil.getInstance().showToast("点击过快!","Click too fast"); | |||
return; | |||
} | |||
String input = String.valueOf(binding.edit.getText()); | |||
if(!input.isEmpty()){ | |||
for(BPA_ATTRIBUTE bean:attributeList){ | |||
if(bean.name.equals(input)){ | |||
NewToastUtil.getInstance().showToast("已有该属性,请换一个名称!"); | |||
NewToastUtil.getInstance().showToast("已有该属性,请换一个名称!","This attribute already exists, please change its name!"); | |||
return; | |||
} | |||
} | |||
@@ -483,7 +491,7 @@ public class EditClassifyActivity extends BaseActivity { | |||
subattributeAdapter.notifyDataSetChanged(); | |||
RecordManager.getInstance().addLogRecord("角色操作日志", "新增["+input+"]属性成功!"); | |||
}else { | |||
NewToastUtil.getInstance().showToast("名称不能为空!"); | |||
NewToastUtil.getInstance().showToast("名称不能为空!","The name cannot be empty!"); | |||
} | |||
}); | |||
}); | |||
@@ -498,7 +506,7 @@ public class EditClassifyActivity extends BaseActivity { | |||
} | |||
String classifyId1 = classifyList.get(viewBinding.spinnerClassify.getSelectedItem().toString()); | |||
if(GoodsDBUtil.getClassifyId(classifyId1)!=null){ | |||
AlertDialogUtils.showTipDialog(this, "警告", "删除属性将会影响当前分类下所有菜品,请确保该分类下没有商品再操作", | |||
AlertDialogUtils.showTipDialog(this, "警告", "删除属性将会影响当前分类下所有菜品,请确保该分类下没有商品再操作","Warning","Deleting the attributes will affect all dishes in the current category. Please ensure that no products are operated in this category!", | |||
new AlertDialogUtils.DialogClickListener() { | |||
@Override | |||
public void onConfirm() { | |||
@@ -550,19 +558,19 @@ public class EditClassifyActivity extends BaseActivity { | |||
AlertDialogUtils.showCancelAndConfirmDialog(this, R.layout.dialog_add_classify, (layoutView, xCom) -> { | |||
DialogAddClassifyBinding binding = DialogAddClassifyBinding.bind(layoutView); | |||
DisplayManager.scaleViewGroup(binding.getRoot()); | |||
binding.title.setText("修改属性名称"); | |||
binding.edit.setHint("请输入属性名称"); | |||
binding.title.setText(getString(R.string.top_reviseattribute)); | |||
binding.edit.setHint(getString(R.string.info_addattribute)); | |||
binding.edit.setText(attributeList.get(attributePosition).name); | |||
binding.submit.setOnClickListener(view1 -> { | |||
if(ConfigName.getInstance().isFastClick()){ | |||
NewToastUtil.getInstance().showToast("点击过快!"); | |||
NewToastUtil.getInstance().showToast("点击过快!","Click too fast!"); | |||
return; | |||
} | |||
String input = String.valueOf(binding.edit.getText()); | |||
if(!input.isEmpty()){ | |||
for(BPA_ATTRIBUTE bean:attributeList){ | |||
if(bean.name.equals(input)){ | |||
NewToastUtil.getInstance().showToast("已有该属性,请换一个名称!"); | |||
NewToastUtil.getInstance().showToast("已有该属性,请换一个名称!","This attribute already exists, please change its name!"); | |||
return; | |||
} | |||
} | |||
@@ -573,7 +581,7 @@ public class EditClassifyActivity extends BaseActivity { | |||
attributeAdapter.notifyDataSetChanged(); | |||
xCom.dismissX(); | |||
}else { | |||
NewToastUtil.getInstance().showToast("名称不能为空!"); | |||
NewToastUtil.getInstance().showToast("名称不能为空!","The name cannot be empty!"); | |||
} | |||
}); | |||
}); | |||
@@ -588,17 +596,17 @@ public class EditClassifyActivity extends BaseActivity { | |||
return; | |||
} | |||
if(attributeList.size()<=0){ | |||
NewToastUtil.getInstance().showToast("请先添加属性"); | |||
NewToastUtil.getInstance().showToast("请先添加属性","Add attributes first"); | |||
return; | |||
} | |||
AlertDialogUtils.showCancelAndConfirmDialog(this, R.layout.dialog_add_classify, (layoutView, xCom) -> { | |||
DialogAddClassifyBinding binding = DialogAddClassifyBinding.bind(layoutView); | |||
DisplayManager.scaleViewGroup(binding.getRoot()); | |||
binding.title.setText("新增子属性名称"); | |||
binding.edit.setHint("请输入子属性名称"); | |||
binding.title.setText(getString(R.string.top_addchildattribute)); | |||
binding.edit.setHint(getString(R.string.info_revisechildattribute)); | |||
binding.submit.setOnClickListener(view1 -> { | |||
if(ConfigName.getInstance().isFastClick()){ | |||
NewToastUtil.getInstance().showToast("点击过快!"); | |||
NewToastUtil.getInstance().showToast("点击过快!","Click too fast!"); | |||
return; | |||
} | |||
BPA_ATTRIBUTE attribute = attributeList.get(attributePosition); | |||
@@ -606,7 +614,7 @@ public class EditClassifyActivity extends BaseActivity { | |||
if(!input.isEmpty()){ | |||
for(BPA_SUBATTRIBUTE bean:subattributeList){ | |||
if(bean.name.equals(input)){ | |||
NewToastUtil.getInstance().showToast("已有该子属性,请换一个名称!"); | |||
NewToastUtil.getInstance().showToast("已有该子属性,请换一个名称!","This subattribute already exists, please change its name!"); | |||
return; | |||
} | |||
} | |||
@@ -620,7 +628,7 @@ public class EditClassifyActivity extends BaseActivity { | |||
viewBinding.listSubattribute.smoothScrollToPosition(subattributeList.size()-1); | |||
RecordManager.getInstance().addLogRecord("角色操作日志", "新增["+subattribute.name+"]子属性成功!"); | |||
}else { | |||
NewToastUtil.getInstance().showToast("名称不能为空!"); | |||
NewToastUtil.getInstance().showToast("名称不能为空!","The name cannot be empty!"); | |||
} | |||
}); | |||
}); | |||
@@ -636,7 +644,7 @@ public class EditClassifyActivity extends BaseActivity { | |||
String classifyId = classifyList.get(viewBinding.spinnerClassify.getSelectedItem().toString()); | |||
String goodName = SubAttributeGroupDBUtil.isIncludeByClassify(classifyId,bean.name); | |||
if(!goodName.isEmpty()){ | |||
NewToastUtil.getInstance().showToast("商品["+goodName+"]正在使用["+bean.name+"]属性,请先删除对应商品"); | |||
NewToastUtil.getInstance().showToast("商品["+goodName+"]正在使用["+bean.name+"]属性,请先删除对应商品","Product ["+goodName+"] using ["+bean.name+"] attrbute,Please delete the product first"); | |||
return; | |||
} | |||
SubAttributeDBUtil.delete(bean); | |||
@@ -158,14 +158,14 @@ public class AttributeSelectDialog extends DialogFragment { | |||
public void onClick() { | |||
String hasId = hasGroup(); | |||
if(hasId.isEmpty()){ | |||
viewBinding.tvExist.setText("不存在分组"); | |||
viewBinding.tvExist.setText(getString(R.string.text_haveprocess_2)); | |||
viewBinding.btnSubmit.setBackgroundResource(R.drawable.bg_round25_gray_btn); | |||
}else { | |||
if(groupId.equals(hasId)){ | |||
viewBinding.tvExist.setText("正在编辑分组无法导入"); | |||
viewBinding.tvExist.setText(getString(R.string.text_haveprocess_3)); | |||
viewBinding.btnSubmit.setBackgroundResource(R.drawable.bg_round25_gray_btn); | |||
}else { | |||
viewBinding.tvExist.setText("存在分组"); | |||
viewBinding.tvExist.setText(getString(R.string.text_haveprocess_1)); | |||
viewBinding.btnSubmit.setBackgroundResource(R.drawable.bg_round25_yellow_btn); | |||
} | |||
} | |||
@@ -189,17 +189,17 @@ public class AttributeSelectDialog extends DialogFragment { | |||
viewBinding.btnSubmit.setOnClickListener(view -> { | |||
String hasId = hasGroup(); | |||
if(hasId.isEmpty()){ | |||
NewToastUtil.getInstance().showToast("未找到选中分组,无法导入"); | |||
NewToastUtil.getInstance().showToast("未找到选中分组,无法导入","The selected process cannot be imported because it is not found"); | |||
return; | |||
} | |||
if(groupId.equals(hasId)){ | |||
NewToastUtil.getInstance().showToast("当前正在编辑此组合,无法导入"); | |||
NewToastUtil.getInstance().showToast("当前正在编辑此组合,无法导入","Currently editing process, unable to import"); | |||
return; | |||
} | |||
BPA_GOODS_SUBATTRIBUTE_GROUP group = SubAttributeGroupDBUtil.getById(hasId); | |||
if(group == null){ | |||
NewToastUtil.getInstance().showToast("还未创建该组合,无法导入"); | |||
NewToastUtil.getInstance().showToast("还未创建该组合,无法导入","The process has not been created, unable to import"); | |||
return; | |||
} | |||
@@ -399,7 +399,7 @@ public class EditGoodsDialog extends DialogFragment { | |||
SubAttributeGroupDBUtil.add(subattributeGroup); | |||
groupList.add(subattributeGroup.name); | |||
viewBinding.layoutAttribute.spinnerList.setSelection(groupList.size()-1); | |||
NewToastUtil.getInstance().showToast("创建组合【"+subattributeGroup.name+"】成功"); | |||
NewToastUtil.getInstance().showToast("创建组合【"+subattributeGroup.name+"】成功","Create recipe【\"+subattributeGroup.name+\"】Success!"); | |||
viewBinding.layoutAttribute.groupDesc.setText(getString(R.string.text_haveattr_1)); | |||
RecordManager.getInstance().addLogRecord("角色操作日志", subattributeGroup.name+"-创建配方成功"); | |||
}else { | |||
@@ -633,7 +633,7 @@ public class EditGoodsDialog extends DialogFragment { | |||
if(!isEdit){ | |||
viewBinding.layoutAttribute.btnNext2.setBackgroundResource(R.drawable.bg_round25_gray_btn); | |||
}else { | |||
viewBinding.layoutAttribute.btnNext2.setText("去创建"); | |||
viewBinding.layoutAttribute.btnNext2.setText(getString(R.string.btn_create)); | |||
} | |||
} | |||
} | |||
@@ -45,7 +45,7 @@ | |||
android:layout_alignParentBottom="true" | |||
android:layout_centerHorizontal="true" | |||
android:background="@drawable/bg_round15_yellow_btn" | |||
android:text="新增" | |||
android:text="@string/btn_new" | |||
android:textColor="@color/white" | |||
android:gravity="center" | |||
android:textSize="@dimen/sp_32" | |||
@@ -61,7 +61,7 @@ | |||
android:layout_alignParentBottom="true" | |||
android:layout_centerHorizontal="true" | |||
android:background="@drawable/bg_round15_yellow_btn" | |||
android:text="删除" | |||
android:text="@string/btn_delete" | |||
android:textColor="@color/white" | |||
android:gravity="center" | |||
android:textSize="@dimen/sp_32" | |||
@@ -77,7 +77,7 @@ | |||
android:layout_alignParentBottom="true" | |||
android:layout_centerHorizontal="true" | |||
android:background="@drawable/bg_round15_yellow_btn" | |||
android:text="修改" | |||
android:text="@string/btn_revise" | |||
android:textColor="@color/white" | |||
android:gravity="center" | |||
android:textSize="@dimen/sp_32" | |||
@@ -91,7 +91,7 @@ | |||
android:id="@+id/title" | |||
android:layout_width="@dimen/dp_275" | |||
android:layout_height="@dimen/dp_70" | |||
android:text="属性" | |||
android:text="@string/text_attribute" | |||
android:gravity="center" | |||
app:layout_constraintTop_toBottomOf="@id/desc" | |||
app:layout_constraintLeft_toLeftOf="parent" | |||
@@ -105,7 +105,7 @@ | |||
android:id="@+id/title2" | |||
android:layout_width="0dp" | |||
android:layout_height="@dimen/dp_70" | |||
android:text="子属性" | |||
android:text="@string/text_childattribute" | |||
android:gravity="center" | |||
app:layout_constraintTop_toBottomOf="@id/desc" | |||
app:layout_constraintRight_toRightOf="parent" | |||
@@ -137,7 +137,7 @@ | |||
android:layout_height="@dimen/dp_70" | |||
android:layout_centerHorizontal="true" | |||
android:background="@drawable/bg_round15_yellow_btn" | |||
android:text="+添加属性" | |||
android:text="@string/btn_addattribute" | |||
android:textColor="@color/white" | |||
android:gravity="center" | |||
android:textSize="@dimen/sp_32" | |||
@@ -151,7 +151,7 @@ | |||
android:layout_height="@dimen/dp_70" | |||
android:layout_centerHorizontal="true" | |||
android:background="@drawable/bg_round15_red_btn" | |||
android:text="-删除属性" | |||
android:text="@string/btn_deleteattribute" | |||
android:textColor="@color/white" | |||
android:gravity="center" | |||
android:textSize="@dimen/sp_32" | |||
@@ -165,7 +165,7 @@ | |||
android:layout_height="@dimen/dp_70" | |||
android:layout_centerHorizontal="true" | |||
android:background="@drawable/bg_round15_yellow_btn" | |||
android:text="修改属性" | |||
android:text="@string/btn_reviseattribute" | |||
android:textColor="@color/white" | |||
android:gravity="center" | |||
android:textSize="@dimen/sp_32" | |||
@@ -195,10 +195,10 @@ | |||
/> | |||
<TextView | |||
android:id="@+id/btn_add_subattribute" | |||
android:layout_width="@dimen/dp_235" | |||
android:layout_width="280dp" | |||
android:layout_height="@dimen/dp_70" | |||
android:background="@drawable/bg_round15_yellow_btn" | |||
android:text="+添加子属性" | |||
android:text="@string/btn_addchildattribute" | |||
android:textColor="@color/white" | |||
android:textSize="@dimen/sp_32" | |||
android:gravity="center" | |||
@@ -252,8 +252,8 @@ | |||
android:layout_width="wrap_content" | |||
android:layout_height="match_parent" | |||
android:textColor="@color/white" | |||
android:textSize="@dimen/sp_32" | |||
android:text=" 返 回" | |||
android:textSize="30dp" | |||
android:text="@string/btn_return" | |||
android:paddingRight="@dimen/dp_50" | |||
android:drawableLeft="@mipmap/fanhui" | |||
android:gravity="center" | |||
@@ -263,7 +263,7 @@ | |||
<TextView | |||
android:layout_width="wrap_content" | |||
android:layout_height="match_parent" | |||
android:text="编辑分类" | |||
android:text="@string/top_editclass" | |||
android:textColor="@color/white" | |||
android:textSize="36sp" | |||
android:layout_gravity="center" | |||
@@ -77,7 +77,7 @@ | |||
<TextView | |||
android:id="@+id/tv_2" | |||
android:layout_marginTop="@dimen/dp_10" | |||
android:layout_width="@dimen/dp_160" | |||
android:layout_width="wrap_content" | |||
android:layout_height="@dimen/dp_70" | |||
app:layout_constraintLeft_toRightOf="@id/line2" | |||
app:layout_constraintTop_toBottomOf="@id/line1" | |||
@@ -105,26 +105,24 @@ | |||
app:layoutManager="com.bonait.bnframework.ui.widget.SmoothLayoutManager" | |||
/> | |||
<LinearLayout | |||
android:id="@+id/ll_1" | |||
android:layout_width="@dimen/dp_430" | |||
android:layout_height="@dimen/dp_70" | |||
app:layout_constraintLeft_toRightOf="@id/line2" | |||
app:layout_constraintTop_toBottomOf="@id/line1" | |||
android:layout_marginLeft="@dimen/dp_20" | |||
android:layout_marginTop="@dimen/dp_10" | |||
android:layout_marginTop="8dp" | |||
android:gravity="right" | |||
> | |||
app:layout_constraintLeft_toRightOf="@id/line2" | |||
app:layout_constraintTop_toBottomOf="@id/line1"> | |||
<Spinner | |||
android:id="@+id/spinner_process" | |||
style="@style/commonSpinnerStyle" | |||
android:layout_width="@dimen/dp_200" | |||
android:layout_height="@dimen/dp_70" | |||
/> | |||
android:layout_height="@dimen/dp_70" /> | |||
</LinearLayout> | |||
<ScrollView | |||
android:id="@+id/scrollView" | |||
android:layout_width="@dimen/dp_430" | |||
@@ -20,7 +20,7 @@ | |||
android:paddingBottom="@dimen/dp_25" | |||
android:layout_marginBottom="2dp" | |||
android:ellipsize="middle" | |||
android:textSize="@dimen/sp_32" | |||
android:textSize="25dp" | |||
android:text="@string/btn_addclass" | |||
android:textColor="#823E17" | |||
android:gravity="center" | |||
@@ -46,7 +46,7 @@ | |||
android:layout_height="@dimen/dp_80" | |||
android:textSize="@dimen/sp_32" | |||
android:textColor="@color/white" | |||
android:text="确认" | |||
android:text="@string/tip_save_confirm" | |||
android:background="@drawable/bg_round25_yellow_btn" | |||
android:layout_gravity="bottom" | |||
android:layout_marginBottom="@dimen/dp_20" | |||
@@ -23,7 +23,7 @@ | |||
app:layout_constraintLeft_toLeftOf="parent" | |||
android:background="@drawable/bg_round25_top_yellow" | |||
style="@style/TextView_btn_dialog" | |||
android:text="导入已有组合工序" | |||
android:text="@string/top_importprocess" | |||
/> | |||
<FrameLayout | |||
@@ -53,7 +53,7 @@ | |||
android:layout_marginBottom="@dimen/dp_20" | |||
android:layout_marginTop="@dimen/dp_30" | |||
style="@style/TextView_btn_dialog" | |||
android:text="确定" | |||
android:text="@string/tip_save_confirm" | |||
/> | |||
<TextView | |||
@@ -66,13 +66,13 @@ | |||
android:layout_marginTop="@dimen/dp_30" | |||
android:layout_marginBottom="@dimen/dp_20" | |||
style="@style/TextView_btn_dialog" | |||
android:text="取消" | |||
android:text="@string/btn_cancel" | |||
/> | |||
<TextView | |||
android:id="@+id/tv_exist" | |||
android:layout_width="wrap_content" | |||
android:layout_height="@dimen/dp_80" | |||
android:layout_width="300dp" | |||
android:layout_height="wrap_content" | |||
app:layout_constraintLeft_toLeftOf="parent" | |||
app:layout_constraintRight_toRightOf="parent" | |||
app:layout_constraintBottom_toBottomOf="parent" | |||
@@ -31,7 +31,7 @@ | |||
app:layout_constraintLeft_toRightOf="@id/title" | |||
app:layout_constraintTop_toTopOf="@id/title" | |||
android:textSize="@dimen/sp_36" | |||
android:text="是否删除?" | |||
android:text="@string/text_deleteinfo" | |||
android:gravity="center" | |||
android:paddingLeft="@dimen/dp_10" | |||
android:paddingRight="@dimen/dp_10" | |||
@@ -53,7 +53,7 @@ | |||
android:layout_height="100dp" | |||
android:textSize="@dimen/sp_38" | |||
android:textColor="@color/blue_primary" | |||
android:text="取消" | |||
android:text="@string/btn_cancel" | |||
android:layout_alignParentLeft="true" | |||
android:layout_marginLeft="@dimen/dp_50" | |||
android:gravity="center" | |||
@@ -8,7 +8,7 @@ | |||
android:singleLine="true" | |||
android:textAlignment="inherit" | |||
android:gravity="center_vertical" | |||
android:text="请选择" | |||
android:text="@string/text_noselect" | |||
android:textSize="32sp" | |||
android:textColor="@color/black"> | |||
</TextView> | |||
@@ -22,7 +22,7 @@ | |||
android:layout_width="@dimen/dp_190" | |||
android:layout_height="@dimen/dp_70" | |||
tools:text="液体料液体料液体料" | |||
android:textSize="@dimen/sp_28" | |||
android:textSize="25dp" | |||
android:maxLines="1" | |||
android:maxLength="10" | |||
android:gravity="center_vertical" | |||
@@ -128,6 +128,7 @@ | |||
<string name="btn_upinsert">UpInsert</string> | |||
<string name="btn_Downinsert">DownInsert</string> | |||
<string name="btn_revise">Revise</string> | |||
<string name="btn_create">Create</string> | |||
<string name="text_haveattr_1">There are selection attributes\n(No Process)</string> | |||
<string name="text_haveattr_2">There are selection attributes</string> | |||
<string name="text_haveattr">Null</string> | |||
@@ -135,4 +136,28 @@ | |||
<string name="info_editprocess">This combination has no process, please edit the process first!</string> | |||
<string name="info_selectprocess">Please select the subattribute for each row!</string> | |||
<string name="btn_addclass">Add Class</string> | |||
<string name="text_deleteinfo">Delete or Not?</string> | |||
<string name="top_editclass">Edit Class</string> | |||
<string name="text_noselect">Unselect</string> | |||
<string name="text_attribute">Attribute</string> | |||
<string name="text_childattribute">Subattribute</string> | |||
<string name="btn_addattribute">+AddAttribute</string> | |||
<string name="btn_deleteattribute">-DeleteAttribute</string> | |||
<string name="btn_reviseattribute">ReviseAttribute</string> | |||
<string name="btn_addchildattribute">+AddSubattribute</string> | |||
<string name="top_addattribute">New Attribute Name</string> | |||
<string name="info_addattribute">Please enter a attribute name</string> | |||
<string name="top_revisechildattribute">Revise Subattribute Name</string> | |||
<string name="info_revisechildattribute">Please enter a subattribute name</string> | |||
<string name="top_addchildattribute">New Subattribute Name</string> | |||
<string name="top_reviseattribute">Revise Attribute Name</string> | |||
<string name="btn_new">New</string> | |||
<string name="top_addclass">New Class Name</string> | |||
<string name="info_addclass">Please enter a class name</string> | |||
<string name="top_reviseclass">Revise Class Name</string> | |||
<string name="top_deleteclass">Delete Class Name</string> | |||
<string name="top_importprocess">To Lead Existing Process</string> | |||
<string name="text_haveprocess_1">Existential process</string> | |||
<string name="text_haveprocess_2">Non-existent process</string> | |||
<string name="text_haveprocess_3">Unable to import while editing</string> | |||
</resources> |
@@ -128,6 +128,7 @@ | |||
<string name="btn_upinsert">向上插入</string> | |||
<string name="btn_Downinsert">向下插入</string> | |||
<string name="btn_revise">修改</string> | |||
<string name="btn_create">创建</string> | |||
<string name="text_haveattr_1">存在选择组合\n(没有工序)</string> | |||
<string name="text_haveattr_2">存在选择组合</string> | |||
<string name="text_haveattr">不存在选中组合</string> | |||
@@ -135,4 +136,28 @@ | |||
<string name="info_editprocess">该组合没有工序,请先编辑工序</string> | |||
<string name="info_selectprocess">请选择每行对应的子属性!</string> | |||
<string name="btn_addclass">添加分类</string> | |||
<string name="text_deleteinfo">是否删除?</string> | |||
<string name="top_editclass">编辑分类</string> | |||
<string name="text_noselect">未选择</string> | |||
<string name="text_attribute">属性</string> | |||
<string name="text_childattribute">子属性</string> | |||
<string name="btn_addattribute">+添加属性</string> | |||
<string name="btn_deleteattribute">-删除属性</string> | |||
<string name="btn_reviseattribute">修改属性</string> | |||
<string name="btn_addchildattribute">+添加子属性</string> | |||
<string name="top_addattribute">新增属性名称</string> | |||
<string name="info_addattribute">请输入属性名称</string> | |||
<string name="top_revisechildattribute">修改子属性名称</string> | |||
<string name="info_revisechildattribute">请输入子属性名称</string> | |||
<string name="top_addchildattribute">新增子属性名称</string> | |||
<string name="top_reviseattribute">修改属性名称</string> | |||
<string name="btn_new">新增</string> | |||
<string name="top_addclass">新增分类名称</string> | |||
<string name="info_addclass">请输入分类名称</string> | |||
<string name="top_reviseclass">修改分类名称</string> | |||
<string name="top_deleteclass">删除分类名称</string> | |||
<string name="top_importprocess">导入已有工序组合</string> | |||
<string name="text_haveprocess_1">存在分组</string> | |||
<string name="text_haveprocess_2">不存在分组</string> | |||
<string name="text_haveprocess_3">正在编辑无法导入</string> | |||
</resources> |