diff --git a/ant-design-vue-jeecg/src/views/system/LogList.vue b/ant-design-vue-jeecg/src/views/system/LogList.vue index 701e598..be1b8ad 100644 --- a/ant-design-vue-jeecg/src/views/system/LogList.vue +++ b/ant-design-vue-jeecg/src/views/system/LogList.vue @@ -64,7 +64,7 @@ <div style="margin: 0"> <div style="margin-bottom: 5px"> <a-badge status="success" style="vertical-align: middle;"/> - <span style="vertical-align: middle;">请求方法:{{ record.method }}</span></div> + <span style="vertical-align: middle;">请求方法: {{ record.method }}</span></div> <div> <a-badge status="processing" style="vertical-align: middle;"/> <span style="vertical-align: middle;">请求参数:{{ record.requestParam }}</span></div> @@ -72,7 +72,7 @@ </template> <!-- 字符串超长截取省略号显示--> - <span slot="logContent" slot-scope="text, record"> + <span slot="logContent" slot-scope="text"> <j-ellipsis :value="text" :length="40"/> </span> </a-table> diff --git a/ant-design-vue-jeecg/src/views/system/UserList.vue b/ant-design-vue-jeecg/src/views/system/UserList.vue index f1eeacd..124db88 100644 --- a/ant-design-vue-jeecg/src/views/system/UserList.vue +++ b/ant-design-vue-jeecg/src/views/system/UserList.vue @@ -24,8 +24,8 @@ </a-col> <template v-if="toggleSearchStatus"> <a-col :md="6" :sm="8"> - <a-form-item label="真实名字"> - <a-input placeholder="请输入真实名字" v-model="queryParam.realname"></a-input> + <a-form-item label="用户姓名"> + <a-input placeholder="请输入用户姓名" v-model="queryParam.realname"></a-input> </a-form-item> </a-col> @@ -74,22 +74,13 @@ <a-dropdown v-if="selectedRowKeys.length > 0"> <a-menu slot="overlay" @click="handleMenuClick"> <a-menu-item key="1"> - <a-icon type="delete" v-has="'user:deleteBatch'" @click="batchDel"/> - 删除 - </a-menu-item> + <a-icon type="delete" v-has="'user:deleteBatch'" @click="batchDel"/>删除</a-menu-item> <a-menu-item key="2"> - <a-icon type="lock" v-has="'user:frozenBatch'" @click="batchFrozen('2')"/> - 冻结 - </a-menu-item> + <a-icon type="lock" v-has="'user:frozenBatch'" @click="batchFrozen('2')"/>冻结</a-menu-item> <a-menu-item key="3"> - <a-icon v-has="'user:thawBatch'" type="unlock" @click="batchFrozen('1')"/> - 解冻 - </a-menu-item> + <a-icon v-has="'user:thawBatch'" type="unlock" @click="batchFrozen('1')"/>解冻</a-menu-item> </a-menu> - <a-button style="margin-left: 8px"> - 批量操作 - <a-icon type="down"/> - </a-button> + <a-button style="margin-left: 8px">批量操作<a-icon type="down"/></a-button> </a-dropdown> <j-super-query :fieldList="superQueryFieldList" @handleSuperQuery="handleSuperQuery"/> </div> @@ -121,6 +112,12 @@ </a-tag> </span> + <span slot="selectedRoles" slot-scope="selectedRoles" > + <a-tag v-for="selectedRole in selectedRoles" :key="selectedRole" color=pink> + {{ solutionRole(selectedRole) }} + </a-tag> + </span> + <template slot="avatarslot" slot-scope="text, record"> <div class="anty-img-wrap"> <a-avatar shape="square" :src="getAvatarView(record.avatar)" icon="user"/> @@ -192,7 +189,7 @@ import UserModal from './modules/UserModal' import PasswordModal from './modules/PasswordModal' import {putAction, getFileAccessHttpUrl} from '@/api/manage'; -import {frozenBatch, getAllWarehouseList} from '@/api/api' +import {frozenBatch, getAllWarehouseList, queryall} from '@/api/api' import {JeecgListMixin} from '@/mixins/JeecgListMixin' import SysUserAgentModal from "./modules/SysUserAgentModal"; import JInput from '@/components/jeecg/JInput' @@ -218,6 +215,7 @@ export default { queryParam: {}, recycleBinVisible: false, allWarehouseList: [], + rolesOptions: [], columns: [ /*{ title: '#', @@ -233,8 +231,7 @@ export default { title: '用户账号', align: "center", dataIndex: 'username', - width: 120, - sorter: true, + width: 120 }, { title: '用户姓名', @@ -243,26 +240,39 @@ export default { dataIndex: 'realname', }, { - title: '头像', + title: '工号', align: "center", width: 100, - dataIndex: 'avatar', - scopedSlots: {customRender: "avatarslot"} + dataIndex: 'workNo', }, + // { + // title: '头像', + // align: "center", + // width: 100, + // dataIndex: 'avatar', + // scopedSlots: {customRender: "avatarslot"} + // }, { title: '性别', align: "center", width: 80, - dataIndex: 'sex_dictText', - sorter: true + dataIndex: 'sex_dictText' }, { - title: '生日', + title: '角色', align: "center", - width: 100, - dataIndex: 'birthday' + width: 200, + dataIndex: 'selectedRoles', + key: 'selectedRoles', + scopedSlots: {customRender: 'selectedRoles'} }, + // { + // title: '生日', + // align: "center", + // width: 100, + // dataIndex: 'birthday' + // }, { title: '手机号码', align: "center", @@ -270,9 +280,14 @@ export default { dataIndex: 'phone' }, { - title: '所属仓库', + title: '邮箱', align: "center", width: 200, + dataIndex: 'email' + }, + { + title: '所属仓库', + align: "center", dataIndex: 'selectedWarehouses', key: 'selectedWarehouses', scopedSlots: {customRender: 'selectedWarehouses'} @@ -294,13 +309,15 @@ export default { width: 80, dataIndex: 'status_dictText' }, + + { title: '操作', dataIndex: 'action', fixed: 'right', scopedSlots: {customRender: 'action'}, align: "center", - width: 150 + width: 147 } ], @@ -334,6 +351,15 @@ export default { this.allWarehouseList = res.result } }); + queryall().then((res) => { + if (res.success) { + debugger + this.rolesOptions = res.result.map((item, index, arr) => { + return {label: item.id + "", value: item.roleName} + }) + console.info(this.rolesOptions); + } + }); }, solutionWarehouse(value) { var actions = [] @@ -345,6 +371,16 @@ export default { }) return actions.join('') }, + solutionRole(value) { + var actions = [] + Object.keys(this.rolesOptions).some((key) => { + if (this.rolesOptions[key].label == ('' + value)) { + actions.push(this.rolesOptions[key].value) + return true + } + }) + return actions.join('') + }, getAvatarView: function (avatar) { return getFileAccessHttpUrl(avatar) }, diff --git a/ant-design-vue-jeecg/src/views/system/modules/UserModal.vue b/ant-design-vue-jeecg/src/views/system/modules/UserModal.vue index 1754a6e..b92cbd4 100644 --- a/ant-design-vue-jeecg/src/views/system/modules/UserModal.vue +++ b/ant-design-vue-jeecg/src/views/system/modules/UserModal.vue @@ -48,9 +48,9 @@ <a-input placeholder="请输入手机号码" v-model="model.phone"/> </a-form-model-item> - <a-form-model-item label="职务" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <!-- <a-form-model-item label="职务" :labelCol="labelCol" :wrapperCol="wrapperCol"> <j-select-position placeholder="请选择职务" :multiple="false" v-model="model.post"/> - </a-form-model-item> + </a-form-model-item> --> <a-form-model-item label="角色分配" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!roleDisabled" prop="selectedRoles"> <j-multi-select-tag @@ -71,48 +71,49 @@ </a-form-model-item> <!--部门分配--> - <a-form-model-item label="部门分配" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!departDisabled"> + <!-- <a-form-model-item label="部门分配" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!departDisabled"> <j-select-depart v-model="model.selecteddeparts" :multi="true" @back="backDepartInfo" :backDepart="true" :treeOpera="true"> </j-select-depart> - </a-form-model-item> + </a-form-model-item> --> <!--租户分配--> - <a-form-model-item label="租户分配" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!departDisabled"> + <!-- <a-form-model-item label="租户分配" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!departDisabled"> <j-multi-select-tag :disabled="disableSubmit" v-model="model.relTenantIds" :options="tenantsOptions" placeholder="请选择租户"> </j-multi-select-tag> - </a-form-model-item> + </a-form-model-item> --> - <a-form-model-item label="身份" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <!-- <a-form-model-item label="身份" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-radio-group v-model="model.userIdentity" @change="identityChange"> <a-radio :value="1">普通用户</a-radio> <a-radio :value="2">上级</a-radio> </a-radio-group> - </a-form-model-item> - <a-form-model-item label="负责部门" :labelCol="labelCol" :wrapperCol="wrapperCol" v-if="departIdShow==true"> + </a-form-model-item> --> + + <!-- <a-form-model-item label="负责部门" :labelCol="labelCol" :wrapperCol="wrapperCol" v-if="departIdShow==true"> <j-multi-select-tag :disabled="disableSubmit" v-model="model.departIds" :options="nextDepartOptions" placeholder="请选择负责部门"> </j-multi-select-tag> - </a-form-model-item> + </a-form-model-item> --> - <a-form-model-item label="头像" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <!-- <a-form-model-item label="头像" :labelCol="labelCol" :wrapperCol="wrapperCol"> <j-image-upload class="avatar-uploader" text="上传" v-model="model.avatar"></j-image-upload> - </a-form-model-item> + </a-form-model-item> --> - <a-form-model-item label="生日" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <!-- <a-form-model-item label="生日" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-date-picker style="width: 100%" placeholder="请选择生日" v-model="model.birthday" :format="dateFormat" :getCalendarContainer="node => node.parentNode"/> - </a-form-model-item> + </a-form-model-item> --> <a-form-model-item label="性别" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-select v-model="model.sex" placeholder="请选择性别" :getPopupContainer="(target) => target.parentNode"> @@ -125,14 +126,14 @@ <a-input placeholder="请输入邮箱" v-model="model.email"/> </a-form-model-item> - <a-form-model-item label="座机" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="telephone"> + <!-- <a-form-model-item label="座机" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="telephone"> <a-input placeholder="请输入座机" v-model="model.telephone"/> - </a-form-model-item> + </a-form-model-item> --> - <a-form-model-item label="工作流引擎" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <!-- <a-form-model-item label="工作流引擎" :labelCol="labelCol" :wrapperCol="wrapperCol"> <j-dict-select-tag v-model="model.activitiSync" placeholder="请选择是否同步工作流引擎" :type="'radio'" dictCode="activiti_sync"/> - </a-form-model-item> + </a-form-model-item> --> </a-form-model> </a-spin> diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java index 96a55c2..78bd0d7 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/api/wcs/service/WcsServiceImpl.java @@ -629,7 +629,7 @@ public class WcsServiceImpl implements WcsService { // 9. 封装返回的数据格式,包括任务号和重新分配的库位号 TaskReentryEntity taskReentryEntity = new TaskReentryEntity(); taskReentryEntity.setTaskNo(Integer.parseInt(taskNo)); - taskReentryEntity.setRedirectionLocationCode(toLocationCode); + taskReentryEntity.setRedirectionLocationCode(locationCode); LogRecordContext.putVariable("taskHeader", taskHeader);// 操作日志收集 return Result.ok(taskReentryEntity); } diff --git a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/service/impl/LocationServiceImpl.java b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/service/impl/LocationServiceImpl.java index cfe0c6c..86007f8 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/service/impl/LocationServiceImpl.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/modules/wms/config/location/service/impl/LocationServiceImpl.java @@ -99,7 +99,7 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i @Override public Location getLocationByCode(String locationCode, String warehouseCode) { if (StringUtils.isEmpty(locationCode)) { - throw new JeecgBootException("库位不能为空"); + return null; } if (StringUtils.havaLowerCase(locationCode)) { throw new JeecgBootException("库位不能有小字母:" + locationCode); diff --git a/huaheng-wms-core/src/main/java/org/jeecg/utils/OkHttpUtils.java b/huaheng-wms-core/src/main/java/org/jeecg/utils/OkHttpUtils.java index c71e201..4bf7af4 100644 --- a/huaheng-wms-core/src/main/java/org/jeecg/utils/OkHttpUtils.java +++ b/huaheng-wms-core/src/main/java/org/jeecg/utils/OkHttpUtils.java @@ -112,18 +112,18 @@ public class OkHttpUtils { response = HTTP_CLIENT.newCall(request).execute(); result = response.body().string(); } catch (Exception e) { - log.error("执行GET请求异常,url:{},header:{},param:{},errorMessage:{}", url, JSON.toJSONString(headers), param, ExceptionUtil.getMessage(e), e); + String errorString = StrUtil.format("执行GET请求异常,url: {},{}", url, ExceptionUtil.getMessage(e)); + log.error(errorString, e); ApiLoggerAspect.setApiLogException(apiLog, e); - throw ExceptionUtil.convertFromOrSuppressedThrowable(e, JeecgBootException.class); + throw new JeecgBootException(errorString, e); } finally { ApiLoggerAspect.finishApiLog(apiLog, response, result); } // 调用成功 if (response.isSuccessful() && Objects.nonNull(response.body())) { - log.info("执行GET请求成功,url:{},header:{},param:{},result:{}", url, JSON.toJSONString(headers), param, result); + log.info("执行GET请求成功,url: {},result: {}", url, result); } else { - throw new JeecgBootException(StrUtil.format("执行GET请求失败,url:{},header:{},param:{},responseCode:{},responseMessage:{}", url, JSON.toJSONString(headers), - param, response.code(), response.message())); + throw new JeecgBootException(StrUtil.format("执行GET请求失败,url: {},responseCode: {},responseMessage: {}", url, response.code(), response.message())); } return result; } @@ -152,18 +152,19 @@ public class OkHttpUtils { response = HTTP_CLIENT.newCall(request).execute(); result = response.body().string(); } catch (Exception e) { - log.error("执行POST请求异常,url:{},header:{},param:{},errorMessage:{}", url, JSON.toJSONString(headers), jsonString, ExceptionUtil.getMessage(e), e); + String errorString = StrUtil.format("执行POST请求异常,url: {},{}", url, ExceptionUtil.getMessage(e)); + log.error(errorString, e); ApiLoggerAspect.setApiLogException(apiLog, e); - throw ExceptionUtil.convertFromOrSuppressedThrowable(e, JeecgBootException.class); + throw new JeecgBootException(errorString, e); } finally { ApiLoggerAspect.finishApiLog(apiLog, response, result); } // 调用成功 if (response.isSuccessful() && Objects.nonNull(response.body())) { - log.info("执行POST请求成功,url:{},header:{},param:{},result:{}", url, JSON.toJSONString(headers), jsonString, result); + log.info("执行POST请求成功,url: {},result: {}", url, result); } else { - throw new JeecgBootException(StrUtil.format("执行POST请求失败,url:{},header:{},param:{},responseCode:{},responseMessage:{}", url, JSON.toJSONString(headers), - jsonString, response.code(), response.message())); + throw new JeecgBootException(StrUtil.format("执行POST请求失败,url: {},responseCode: {},responseMessage: {}", url, JSON.toJSONString(headers), jsonString, + response.code(), response.message())); } return result; }