opt: 部分逻辑
This commit is contained in:
Binary file not shown.
@@ -44,6 +44,13 @@
|
||||
<version>3.0.13</version>
|
||||
<type>pom</type>
|
||||
</dependency>
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.nl</groupId>-->
|
||||
<!-- <artifactId>nl-verify-check-sdk</artifactId>-->
|
||||
<!-- <version>1.0-SNAPSHOT</version>-->
|
||||
<!-- <scope>system</scope>-->
|
||||
<!-- <systemPath>${project.basedir}/lib/nl-verify-check-sdk-1.0-SNAPSHOT.jar</systemPath>-->
|
||||
<!-- </dependency>-->
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
|
||||
@@ -648,7 +648,7 @@ public class PdaJBServiceImpl implements PdaJBService {
|
||||
public PdaResponse jbGetLtInfo(JSONObject param) {
|
||||
String vehicleCode = param.getString("vehicle_code");
|
||||
String struct_code = param.getString("struct_code");
|
||||
List<GroupInfoPdaVo> groups = pdaJBMapper.getGroupInfoByVehicle(vehicleCode, "01");
|
||||
List<GroupInfoPdaVo> groups = pdaJBMapper.getGroupInfoByVehicle(vehicleCode, "02");
|
||||
if (groups.size() > 1) {
|
||||
throw new BadRequestException("组盘信息错误!");
|
||||
}
|
||||
@@ -833,9 +833,7 @@ public class PdaJBServiceImpl implements PdaJBService {
|
||||
}
|
||||
// 类型转换
|
||||
ArrayList<LinkedHashMap> tables = new ArrayList<>();
|
||||
ioStorInvDis.forEach(item -> {
|
||||
tables.add(JSONObject.parseObject(JSONObject.toJSONString(item), LinkedHashMap.class));
|
||||
});
|
||||
ioStorInvDis.forEach(item -> tables.add(JSONObject.parseObject(JSONObject.toJSONString(item), LinkedHashMap.class)));
|
||||
divObj.put("tableMater", tables);
|
||||
return divObj;
|
||||
}
|
||||
|
||||
@@ -35,7 +35,8 @@
|
||||
mg.*,
|
||||
ss.struct_code,
|
||||
mm.material_code,
|
||||
mm.material_name
|
||||
mm.material_name,
|
||||
mm.material_spec
|
||||
FROM
|
||||
`md_pb_groupplate` mg
|
||||
LEFT JOIN st_ivt_structattr ss ON ss.storagevehicle_code = mg.storagevehicle_code
|
||||
|
||||
@@ -124,6 +124,7 @@ public interface ISchBasePointService extends IService<SchBasePoint> {
|
||||
pointType, String pointCode, String vehicleIsNull, boolean isFourPoint);
|
||||
|
||||
SchBasePoint getNotTaskByRegionAndType(String regionCode, String s);
|
||||
SchBasePoint getNotTaskByDeviceAndType(String regionCode, String s);
|
||||
|
||||
/**
|
||||
* 获取可用的没任务的点位
|
||||
|
||||
@@ -48,4 +48,6 @@ public interface SchBasePointMapper extends BaseMapper<SchBasePoint> {
|
||||
SchBasePoint getNotTaskByRegionAndType(String regionCode, String type);
|
||||
|
||||
List<SchBasePoint> getCanUseCFGJs(SchBasePoint parentPoint, String pointStatus);
|
||||
|
||||
SchBasePoint getNotTaskByDeviceAndType(String device, String type);
|
||||
}
|
||||
|
||||
@@ -72,21 +72,14 @@
|
||||
ORDER BY p.region_code, p.point_code, p.point_type
|
||||
</select>
|
||||
<select id="getNotTaskByRegionAndType" resultType="org.nl.wms.sch_manage.service.dao.SchBasePoint">
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
`sch_base_point` p
|
||||
WHERE
|
||||
p.point_type = #{type}
|
||||
SELECT *
|
||||
FROM `sch_base_point` p
|
||||
WHERE p.point_type = #{type}
|
||||
AND p.region_code = #{regionCode}
|
||||
AND p.is_used = true
|
||||
AND 0 = (
|
||||
SELECT
|
||||
COUNT(*)
|
||||
FROM
|
||||
sch_base_task t
|
||||
WHERE
|
||||
t.is_delete = '0'
|
||||
AND 0 = (SELECT COUNT(*)
|
||||
FROM sch_base_task t
|
||||
WHERE t.is_delete = '0'
|
||||
AND t.task_status <![CDATA[ < ]]> '5'
|
||||
AND (
|
||||
t.point_code1 = p.point_code
|
||||
@@ -119,4 +112,21 @@
|
||||
OR t.point_code4 = p.point_code
|
||||
))
|
||||
</select>
|
||||
<select id="getNotTaskByDeviceAndType" resultType="org.nl.wms.sch_manage.service.dao.SchBasePoint">
|
||||
SELECT *
|
||||
FROM `sch_base_point` p
|
||||
WHERE p.point_type = #{type}
|
||||
AND p.parent_point_code = #{device}
|
||||
AND p.is_used = true
|
||||
AND 0 = (SELECT COUNT(*)
|
||||
FROM sch_base_task t
|
||||
WHERE t.is_delete = '0'
|
||||
AND t.task_status <![CDATA[ < ]]> '5'
|
||||
AND (
|
||||
t.point_code1 = p.point_code
|
||||
AND t.point_code2 = p.point_code
|
||||
AND t.point_code3 = p.point_code
|
||||
AND t.point_code4 = p.point_code
|
||||
))
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -320,6 +320,10 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
|
||||
public SchBasePoint getNotTaskByRegionAndType(String regionCode, String type) {
|
||||
return this.baseMapper.getNotTaskByRegionAndType(regionCode, type);
|
||||
}
|
||||
@Override
|
||||
public SchBasePoint getNotTaskByDeviceAndType(String device, String type) {
|
||||
return this.baseMapper.getNotTaskByDeviceAndType(device, type);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SchBasePoint> getCanUseCFGJs(SchBasePoint parentPoint, String pointStatus) {
|
||||
|
||||
@@ -89,7 +89,7 @@ public abstract class AbstractTask {
|
||||
(existing, replacement) -> existing
|
||||
))
|
||||
.values());
|
||||
if (distinctRunningTasks.size() < 2) {
|
||||
if (distinctRunningTasks.size() >= 2) {
|
||||
return;
|
||||
}
|
||||
// 获取一组下发
|
||||
|
||||
@@ -74,6 +74,8 @@ public class JbBackAgvTask extends AbstractTask {
|
||||
task.setGroup_id(json.getString("group_id"));
|
||||
task.setRequest_param(json.toString());
|
||||
task.setPriority(priority);
|
||||
task.setTask_group_id(json.getString("task_group_id"));
|
||||
task.setTask_group_seq(json.getBigDecimal("task_group_seq"));
|
||||
task.setCreate_id(SecurityUtils.getCurrentUserId());
|
||||
task.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
task.setCreate_time(DateUtil.now());
|
||||
|
||||
@@ -196,19 +196,20 @@ public class JbDownAgvTask extends AbstractTask {
|
||||
mhcPoint.setVehicle_type(null);
|
||||
mhcPoint.setUpdate_time(DateUtil.now());
|
||||
pointService.updateBatchById(Arrays.asList(khgPoint, mhcPoint));
|
||||
|
||||
taskObj.setRemark("任务执行完毕");
|
||||
// 3条任务完成
|
||||
SchBaseTask task = new SchBaseTask();
|
||||
task.setTask_status(TaskStatus.FINISHED.getCode());
|
||||
TaskUtils.setUpdateByType(task, taskFinishedType);
|
||||
task.setRemark("任务执行完毕");
|
||||
task.setFinished_type(taskFinishedType.getCode());
|
||||
taskService.update(task, new LambdaQueryWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_group_id, taskObj.getTask_group_id()));
|
||||
// SchBaseTask task = new SchBaseTask();
|
||||
// task.setTask_status(TaskStatus.FINISHED.getCode());
|
||||
// TaskUtils.setUpdateByType(task, taskFinishedType);
|
||||
// task.setRemark("任务执行完毕");
|
||||
// task.setFinished_type(taskFinishedType.getCode());
|
||||
// taskService.update(task, new LambdaQueryWrapper<SchBaseTask>()
|
||||
// .eq(SchBaseTask::getTask_group_id, taskObj.getTask_group_id()));
|
||||
// 出库完成
|
||||
inBillService.taskFinish(taskObj);
|
||||
return;
|
||||
// return;
|
||||
}
|
||||
taskObj.setTask_status(TaskStatus.FINISHED.getCode());
|
||||
TaskUtils.setUpdateByType(taskObj, taskFinishedType);
|
||||
taskService.updateById(taskObj);
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@ import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 解包上料AGV任务
|
||||
@@ -66,7 +67,7 @@ public class JbUpAgvTask extends AbstractTask {
|
||||
SchBaseTask task = new SchBaseTask();
|
||||
task.setTask_id(IdUtil.getStringId());
|
||||
task.setTask_code(json.getString("TaskCode"));
|
||||
task.setTask_status(TaskStatus.CREATE.getCode());
|
||||
task.setTask_status(TaskStatus.CREATED.getCode());
|
||||
task.setConfig_code(json.getString("task_type"));
|
||||
task.setPoint_code1(json.getString("point_code1"));
|
||||
task.setPoint_code2(json.getString("point_code2"));
|
||||
@@ -76,7 +77,9 @@ public class JbUpAgvTask extends AbstractTask {
|
||||
task.setVehicle_code2(json.getString("vehicle_code2"));
|
||||
task.setGroup_id(json.getString("group_id"));
|
||||
task.setRequest_param(json.toString());
|
||||
task.setPriority(json.getString("Priority"));
|
||||
task.setPriority(ObjectUtil.isNotEmpty(json.getString("Priority")) ? json.getString("Priority") : "1");
|
||||
task.setTask_group_id(IdUtil.getStringId());
|
||||
task.setTask_group_seq(BigDecimal.valueOf(1));
|
||||
task.setCreate_id(SecurityUtils.getCurrentUserId());
|
||||
task.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||
task.setCreate_time(DateUtil.now());
|
||||
|
||||
@@ -5,7 +5,6 @@ import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
@@ -39,19 +38,19 @@ import org.nl.wms.sch_manage.service.util.tasks.jb.JbDownAgvTask;
|
||||
import org.nl.wms.sch_manage.service.util.tasks.zw.InBillTask;
|
||||
import org.nl.wms.warehouse_manage.enums.IOSConstant;
|
||||
import org.nl.wms.warehouse_manage.enums.IOSEnum;
|
||||
import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService;
|
||||
import org.nl.wms.warehouse_manage.service.impl.MdPbGroupplateServiceImpl;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.IInBillService;
|
||||
import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInv;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDis;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDtl;
|
||||
import org.nl.wms.warehouse_manage.service.dto.GroupPlateDto;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDisMapper;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDtlMapper;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvMapper;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDisDto;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDtlDto;
|
||||
import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService;
|
||||
import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
|
||||
import org.nl.wms.warehouse_manage.service.dto.GroupPlateDto;
|
||||
import org.nl.wms.warehouse_manage.service.impl.MdPbGroupplateServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.Assert;
|
||||
@@ -568,7 +567,6 @@ public class InBillServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv> i
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 根据库区策略获取仓位
|
||||
* ioType 出入库类型
|
||||
@@ -684,9 +682,9 @@ public class InBillServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv> i
|
||||
SchBasePoint parentPoint = pointService.getById(rkPoint.getParent_point_code());
|
||||
// 2、创建任务(4条任务、优先级需要获取所有的任务中的最小值并且-1,默认8)
|
||||
// 获取工单对应的区域的出入点
|
||||
SchBasePoint intoPoint = pointService.getNotTaskByRegionAndType(parentPoint.getRegion_code(), "2");
|
||||
SchBasePoint emptyPoint = pointService.getNotTaskByRegionAndType(parentPoint.getRegion_code(), "5");
|
||||
SchBasePoint fullPoint = pointService.getNotTaskByRegionAndType(parentPoint.getRegion_code(), "6");
|
||||
SchBasePoint intoPoint = pointService.getNotTaskByDeviceAndType(parentPoint.getPoint_code(), "2");
|
||||
SchBasePoint emptyPoint = pointService.getNotTaskByDeviceAndType(parentPoint.getPoint_code(), "5");
|
||||
SchBasePoint fullPoint = pointService.getNotTaskByDeviceAndType(parentPoint.getPoint_code(), "6");
|
||||
// 获取无盖子的对应的点位
|
||||
List<SchBasePoint> canUseCFGJs = pointService.getCanUseCFGJs(parentPoint, "1");
|
||||
if (canUseCFGJs.size() == 0) {
|
||||
@@ -769,8 +767,8 @@ public class InBillServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv> i
|
||||
SchBasePoint rkPoint = pointService.getById(point_code);
|
||||
// 父点位
|
||||
SchBasePoint parentPoint = pointService.getById(rkPoint.getParent_point_code());
|
||||
SchBasePoint fullPoint = pointService.getNotTaskByRegionAndType(parentPoint.getRegion_code(), "3");
|
||||
SchBasePoint emptyPoint = pointService.getNotTaskByRegionAndType(parentPoint.getRegion_code(), "4");
|
||||
SchBasePoint fullPoint = pointService.getNotTaskByDeviceAndType(parentPoint.getPoint_code(), "3");
|
||||
SchBasePoint emptyPoint = pointService.getNotTaskByDeviceAndType(parentPoint.getPoint_code(), "4");
|
||||
JSONObject task = new JSONObject();
|
||||
task.put("task_type", "JbBackAgvTask");
|
||||
task.put("group_id", groupPlate.getGroup_id());
|
||||
@@ -780,6 +778,8 @@ public class InBillServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv> i
|
||||
task.put("point_code2", emptyPoint.getPoint_code());
|
||||
task.put("point_code3", fullPoint.getPoint_code());
|
||||
task.put("point_code4", structCode);
|
||||
task.put("task_group_seq", whereJson.get("task_group_seq"));
|
||||
task.put("task_group_id", whereJson.get("task_group_id"));
|
||||
task.put("vehicle_code", fullPoint.getVehicle_code());
|
||||
task.put("vehicle_code2", structattr.getStoragevehicle_code());
|
||||
task_id = jbBackAgvTask.create(task);
|
||||
|
||||
@@ -975,8 +975,8 @@ public class OutBillServiceImpl extends ServiceImpl<IOStorInvMapper,IOStorInv> i
|
||||
// 解包需要单独操作
|
||||
SchBasePoint ckPoint = pointService.getById(point_code);
|
||||
SchBasePoint outPointP = pointService.getById(ckPoint.getParent_point_code());
|
||||
SchBasePoint inPoint = pointService.getNotTaskByRegionAndType(outPointP.getRegion_code(), "3");
|
||||
SchBasePoint outPoint = pointService.getNotTaskByRegionAndType(outPointP.getRegion_code(), "4");
|
||||
SchBasePoint inPoint = pointService.getNotTaskByDeviceAndType(outPointP.getPoint_code(), "3");
|
||||
SchBasePoint outPoint = pointService.getNotTaskByDeviceAndType(outPointP.getPoint_code(), "4");
|
||||
if (ObjectUtil.isEmpty(inPoint) || ObjectUtil.isEmpty(outPoint)) {
|
||||
throw new BadRequestException("解包机输送线点位不存在或者存在任务!");
|
||||
}
|
||||
|
||||
@@ -123,5 +123,7 @@ public class GroupPlate implements Serializable {
|
||||
private String material_code;
|
||||
@TableField(exist = false)
|
||||
private String material_name;
|
||||
@TableField(exist = false)
|
||||
private String material_spec;
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCBbWQ38mZdmOX379myX/NFn/qFIeP3kbogDiWlGtc1JNt6eDSsOEShUNj3o8Jo5Qaepyo6j4stP4WpmCAUFsdyOodzU0R60P7gFOR1OIdKyyQ2OS9J1MdNXRRuksfD1WVG+azoB+huQo2D52bcXSjnu1UDRDrXN3XXZgh1L2V/aDg+Gi9QAIsMDHtN62zKsHs4tlClHt0KORSdAxN9RjPzUFNYXfxW3dNTM9zfltoM2bgeUfG61F5EMipkAEVjDb4+Pu2BsNUamjy85eKDWA8NxDU6uuDkxLNiLx5KipLxOR+EM4/cOqRwHdEj8matpGlqBSOfOxXd6Sh5XmVStBjtAgMBAAECggEAQCbcme6IVrRGqJI2MXfluQkGv56AxGFzBBh/CEs5iJnwP8/9K6/oNJ1CLdz5q8x5b4IkKEqmDZOCyQEiRVLVIQVpxfvr4YReEOvKIWAXjzcJh+boTYwuDWapjfUrFyJaxMdUsN3ak2xhgJPeJDP45oOwK6JSGALhYhas8oi/olptl3leZs/5Z3h9UE69u80XRdhjtGyfS3AOOtT6dVcfKw6H8tmoKmx43ZfPvoV+a7hcwHO587mI1epAhYGOn81e5QoNBegiCEv9KutuZtauJuGHKcsvNh/FK8QujRJ1TFxOsMtxsJWZfxQxUuvJ0PulCpGpmkuHFNGDmV3ukJO1AQKBgQC8eiTaWgq8eCrIOi5fYtXQUmzv2e5BOhMrRyUWoB30N7GmKcdNGT5HJVXztidcBj53cNd8T6t5yTwYFrdZ5Lll7ItPAub25CSnGQU2nmceHK+46PNlQfLZRrlyeUuGYJTHVZanV+6Pneqn+6XifTa969HzpejpiJuG8iYVmcztfQKBgQCvy5ha6tBS+sIrjXL8/lrxXMDm4xT3CnCLmBqInppLwfFOgcQFzYWL6SQSJ7k3uC+xFT++VgsRLz/pQrVLsQzkY6mUF8sI7F0kevy/jAFzl9cgFn9BXu1ATyWloQIAX/UdSbzSWxIH3BW3BNOWZ0x91HUqBDAFzyLBkIns8LZ0MQKBgQCyg9oN+kS69/JFjV3IuLsdQkSt9LNGknP/hLYrNOLKIkofwOhlLOigyEsdt0SWU8+sn3Np6afXhPNnOXTWLt4vHJlh77TE2ZehsQAQGH5Athj1waZvHMSgaO1S8HHJSAcCuh0kSRPKcV8FVkNrPv+vaQGFjXoKX3o3mXja8r53nQKBgQCElQVj1GKnoo1csYJ+wgqurCikObFvG8WD0oR4cz2lUzD956qCQd2thnj45FKxbk0xvffkQhp4rG0ELJZ07qPtgCi+Ey/CnBknUUZb5GiX2HWbsrvo/oHqlYasIwFSbQx9OUaaU6sGmHscHBzD+0ZaRCjVNnFNgEoTOEJ9m5HPkQKBgQC0Kd29rQMIm5wXhIyW+bVdwmEyB/Xuq6Ch7lVVfZ6WMSoDbQZdYH3Mxw+yzjYpcS8jf/7x7mYH9Z0ggXwX7CAcRqhpjtKU800KzwQ2Cnd7Jmgq56Mn/e70J4btH73EZB6sm7vmhIuBZZlvc3oYGeJN/t/9vLwomFqrlXVw318J2A==
|
||||
@@ -22,6 +22,12 @@ export const constantRouterMap = [
|
||||
component: (resolve) => require(['@/views/features/401'], resolve),
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: '/999',
|
||||
meta: { title: '无授权码', noCache: true },
|
||||
component: (resolve) => require(['@/views/features/licenseTip'], resolve),
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: '/redirect',
|
||||
component: Layout,
|
||||
|
||||
@@ -22,6 +22,7 @@ service.interceptors.request.use(
|
||||
}
|
||||
config.headers['Content-Type'] = 'application/json'
|
||||
config.headers['Accept-Language'] = window.localStorage.getItem('lang')
|
||||
config.headers['cdk'] = window.localStorage.getItem('cdk')
|
||||
return config
|
||||
},
|
||||
error => {
|
||||
@@ -35,6 +36,7 @@ service.interceptors.response.use(
|
||||
return response.data
|
||||
},
|
||||
error => {
|
||||
console.log(error)
|
||||
// 兼容blob下载出错json提示
|
||||
if (error.response.data instanceof Blob && error.response.data.type.toLowerCase().indexOf('json') !== -1) {
|
||||
const reader = new FileReader()
|
||||
@@ -47,6 +49,7 @@ service.interceptors.response.use(
|
||||
})
|
||||
}
|
||||
} else {
|
||||
console.log('Error response:', error.response)
|
||||
let code = 0
|
||||
try {
|
||||
code = error.response.status
|
||||
@@ -68,6 +71,13 @@ service.interceptors.response.use(
|
||||
})
|
||||
} else if (code === 403) {
|
||||
router.push({ path: '/401' })
|
||||
} else if (code === 402) {
|
||||
console.log('License expired or not activated, redirecting to license page.')
|
||||
router.push({ path: '/999',
|
||||
query: {
|
||||
message: error.response.data.message
|
||||
}
|
||||
})
|
||||
} else {
|
||||
const errorMsg = error.response.data.message
|
||||
if (errorMsg !== undefined) {
|
||||
|
||||
111
lms/nladmin-ui/src/views/features/licenseTip.vue
Normal file
111
lms/nladmin-ui/src/views/features/licenseTip.vue
Normal file
@@ -0,0 +1,111 @@
|
||||
<template>
|
||||
<div class="activation-container">
|
||||
<div class="activation-card">
|
||||
<h1 class="title">请输入授权码激活</h1>
|
||||
<p class="description">{{ tip ? tip + ',' : '' }}请输入您的授权码以激活功能。</p>
|
||||
<input
|
||||
v-model="activationCode"
|
||||
type="text"
|
||||
placeholder="请输入授权码"
|
||||
class="input-field"
|
||||
>
|
||||
<button class="activate-button" @click="handleActivate">激活</button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'LicenseTip',
|
||||
data() {
|
||||
return {
|
||||
activationCode: '',
|
||||
tip: ''
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.tip = this.$route.query.message
|
||||
const savedCdk = localStorage.getItem('cdk')
|
||||
if (savedCdk) {
|
||||
this.activationCode = savedCdk
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleActivate() {
|
||||
if (this.activationCode.trim() === '') {
|
||||
alert('请输入授权码')
|
||||
return
|
||||
}
|
||||
// 暂时不对接API,这里模拟激活成功
|
||||
console.log('授权码:', this.activationCode)
|
||||
localStorage.setItem('cdk', this.activationCode.trim())
|
||||
this.$router.push({ path: '/' })
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.activation-container {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100vh;
|
||||
background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%);
|
||||
font-family: 'Arial', sans-serif;
|
||||
}
|
||||
|
||||
.activation-card {
|
||||
background: white;
|
||||
padding: 40px;
|
||||
border-radius: 15px;
|
||||
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
|
||||
text-align: center;
|
||||
width: 400px;
|
||||
max-width: 90%;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 24px;
|
||||
margin-bottom: 10px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.description {
|
||||
font-size: 16px;
|
||||
margin-bottom: 20px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.input-field {
|
||||
width: 100%;
|
||||
padding: 12px;
|
||||
margin-bottom: 20px;
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 8px;
|
||||
font-size: 16px;
|
||||
box-sizing: border-box;
|
||||
transition: border-color 0.3s;
|
||||
}
|
||||
|
||||
.input-field:focus {
|
||||
border-color: #2575fc;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.activate-button {
|
||||
width: 100%;
|
||||
padding: 12px;
|
||||
background: #2575fc;
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 8px;
|
||||
font-size: 16px;
|
||||
cursor: pointer;
|
||||
transition: background 0.3s;
|
||||
}
|
||||
|
||||
.activate-button:hover {
|
||||
background: #1a5bb8;
|
||||
}
|
||||
</style>
|
||||
@@ -91,7 +91,7 @@
|
||||
<el-table-column prop="qty_unit_name" label="单位" width="160" />
|
||||
<el-table-column prop="supp_name" label="供应商" width="160" />
|
||||
<!-- <el-table-column prop="raw_material_code" label="泥料编码" width="160" />-->
|
||||
<!-- <el-table-column prop="material_spec" label="物料规格" width="140" />-->
|
||||
<el-table-column prop="material_spec" label="物料规格" width="140" />
|
||||
<!-- <el-table-column prop="material_model" label="物料型号" width="140" />-->
|
||||
<!-- <el-table-column prop="pack_method" label="包装方式" width="140" />-->
|
||||
<!-- <el-table-column prop="pack_palletspec" label="包装规则" width="140" />-->
|
||||
|
||||
Reference in New Issue
Block a user