Commit 92e9b1e6 authored by 李成龙's avatar 李成龙

Merge branch 'develop' into 'master'

Develop See merge request !1
parents 2530bcb4 91e763fb
node_modules/
\ No newline at end of file
......@@ -9,22 +9,18 @@
// 普通http
httpURI: {
// 根url
baseURI: 'http://39.100.239.237:10005/',
// baseURI: 'http://localhost:9000/',
baseURI: 'http://172.16.11.20:10005/',
// 安全模块api地址
//securityBaseURI: 'http://39.100.239.237:7800/',
securityBaseURI: 'http://47.108.89.109:10005/',
//预控系统
// preControl: 'http://172.16.10.91:8083/',
securityBaseURI: 'http://172.16.10.72:10005/',
//APP图片
picURI: 'http://39.100.239.237:9999/',
picURI: 'http://172.16.11.20:8080',
//业务表导出地址
ureportURI: ' http://172.16.11.41:8099/renren-admin/ureport/excel',
//loginURI: 'http://39.100.239.237:3000/'//基础平台
// loginURI: 'http://47.108.89.109:5000/'//基础平台
},
// websocket 地址
wsURI: {
securityBaseURI: 'ws://47.103.14.66:10600/'
securityBaseURI: 'ws://172.16.11.20:10600/'
},
// 外部链接地址
outterURI: {
......
......@@ -53,8 +53,9 @@
"ray-eventpool": "^1.0.0",
"ray-mediaquery": "^1.0.0",
"ray-progress": "^1.0.0",
"react": "~16.0.0",
"react-dom": "~16.0.0"
"react": "~16.7.0",
"react-dom": "~16.7.0",
"react-transition-group": "^4.4.1"
},
"devDependencies": {
"amos-build": "^3.x",
......
......@@ -12,6 +12,7 @@ const mockURI = AmosConfig.httpURI.baseURI;
const fileURI = AmosConfig.httpURI.fileURI;
const baseURI = AmosConfig.httpURI.baseURI;
const picURI = AmosConfig.httpURI.picURI;
const ureportURI = AmosConfig.httpURI.ureportURI;
const preControl = AmosConfig.httpURI.baseURI;
const secExVerson = 'v1';
......@@ -21,15 +22,15 @@ export const SecurityUrl = completeSecurityUrl(securityBaseURI);
export const SecurityWsUrl = completeSecurityWsUrl(securityBaseWsURI);
export const XJBaseURI = baseURI;
export const PICURI = picURI;
export const UREPORTURI = ureportURI;
export const secExtUrl = {
//*************************************
// op 内置接口url
//*************************************
opMenusUrl: completePrefix(securityBaseURI, 'permissionItem/allPermission-tree'),
opSearchMenusUrl: completePrefix(securityBaseURI,'permissionItem/searchPermission-tree?nodeName={nodeName}&type={type}'),
orgManageTreeUrl: completePrefix(securityBaseURI,'company/manage-tree'),//组织机构树
allRoleUrl: completePrefix(securityBaseURI,'role/all-roles'),//所有角色
opSearchMenusUrl: completePrefix(securityBaseURI, 'permissionItem/searchPermission-tree?nodeName={nodeName}&type={type}'),
orgManageTreeUrl: completePrefix(securityBaseURI, 'company/manage-tree'), //组织机构树
allRoleUrl: completePrefix(securityBaseURI, 'role/all-roles'), //所有角色
// 新权限接口
......@@ -48,28 +49,26 @@ export const secExtUrl = {
loginOutUrl: completePrefix(securityBaseURI, `${secExVerson}/system/loginOutr`), // 登陆用户系统权限菜单
curUserMenusUrl: completePrefix(securityBaseURI,'privilege/v1/permission/tree/me'),//查询当前用户菜单
curRoleMenusUrl: completePrefix(securityBaseURI,'privilege/v1/permission/tree/role?roleSeq={roleSeq}'),//查询当前角色菜单树
curUserInfoUrl: completePrefix(securityBaseURI,'privilege/v1/agencyuser/me'),//查询当前用户信息
curUserMenusUrl: completePrefix(securityBaseURI, 'privilege/v1/permission/tree/me'), //查询当前用户菜单
curRoleMenusUrl: completePrefix(securityBaseURI, 'privilege/v1/permission/tree/role?roleSeq={roleSeq}'), //查询当前角色菜单树
curUserInfoUrl: completePrefix(securityBaseURI, 'privilege/v1/agencyuser/me'), //查询当前用户信息
//searchCompanysUrl: completePrefix(securityBaseURI,'/privilege/v1/company/tree'),//查询公司
searchCompanysUrl: completePrefix(securityBaseURI, `${secExVerson}/user/me`), // 获取当前登陆用户信息
searchDepartmentUrl: completePrefix(securityBaseURI,'/privilege/v1/department/tree?companySeq={companySeq}'),//查询部门
searchRolesUrl: completePrefix(securityBaseURI,'privilege/v1/role/list'),//查询角色
searchDepartmentUrl: completePrefix(securityBaseURI, '/privilege/v1/department/tree?companySeq={companySeq}'), //查询部门
searchRolesUrl: completePrefix(securityBaseURI, 'privilege/v1/role/list'), //查询角色
//currentUserUrl: completePrefix(securityBaseURI, `${secExVerson}/user/me`), // 获取当前登陆用户信息
currentUserUrl: completePrefix(securityBaseURI, `privilege/${secExVerson}/agencyuser/me`), // 获取当前登陆用户信息(新)
currentUserUrl: completePrefix(securityBaseURI, `privilege/${secExVerson}/agencyuser/me`) // 获取当前登陆用户信息(新)
};
export const filePrifixUrl = (url) => completePrefix(fileURI,url);
export const filePrifixUrl = url => completePrefix(fileURI, url);
export const fileSystemUrl = (url, defaultUrl) => {
return url ? completePrefix(fileURI, url) : defaultUrl;
};
export const patrolUrls = {
regionSelectUrl: completePrefix(baseURI, 'safe/save/curCompany'), //保存登录用户信息
inputItemTablesUrl: completePrefix(baseURI, 'api/inputItem/queryItemByPage?pageNumber={page}&pageSize={size}'),
......@@ -123,7 +122,7 @@ export const patrolUrls = {
pointQueryByIdUrl: completePrefix(baseURI, 'api/point/queryPointById/{pointId}'),
planInfoNoPageUrl: completePrefix(baseURI, 'api/plan/queryPlanByOrgCode'),
taskPrintUrl: completePrefix(baseURI, 'api/task/printTask?taskID={taskID}'),
// pointInputItemQueryUrl: completePrefix(baseURI, 'api/point/queryPointInputItem?pointId={pointId}'), // pointInputItemUrl
// pointInputItemQueryUrl: completePrefix(baseURI, 'api/point/queryPointInputItem?pointId={pointId}'), // pointInputItemUrl
pointClassifyWithInputItemQueryUrl: completePrefix(baseURI, 'api/point/queryPointClassifyWithInputItem?pointId={pointId}'),
routePointInputItemUrl: completePrefix(baseURI, 'api/route/listRoutePointInputItem'),
routePointInputItemUpdateUrl: completePrefix(baseURI, '/api/route/updateRoutePointInputItem?routeId={routeId}&pointId={pointId}&inputItemIds={inputItemIds}'),
......@@ -155,34 +154,40 @@ export const patrolUrls = {
itemNoQueryUrl: completePrefix(baseURI, 'api/inputItem/queryItemNo/{itemId}'),
exchangeOrderNumberUrl: completePrefix(baseURI, '/api/route/exchangeOrderNumber?src={src}&target={target}'),
//消息提醒
getNewsListUrl: completePrefix(baseURI, 'api/msgSubscribe/list?pageNumber={page}&pageSize={size}'),//分页获取消息提醒集合
sendNewsUrl: completePrefix(baseURI, 'api/msgSubscribe/noticePublish'),//发送消息通知
repeatNewsUrl: completePrefix(baseURI, ''),//重发消息
deleteNewsUrl: completePrefix(baseURI, ''),//删除消息提醒
newsTypeListUrl: completePrefix(baseURI, 'api/msgSubscribe/MsgType'),//获取消息类型集合
newsPersonDataUrl: completePrefix(baseURI, 'api/user/queryDeptUserTree'),//获取消息接受人员
newsPersonDataUrl2: completePrefix(baseURI, 'api/user/queryDeptUserTree1'),//获取消息接受人员
newsPersonDataUrl3: completePrefix(baseURI, 'api/user/queryDeptUserTree2'),//获取消息接受人员
getNewsListUrl: completePrefix(baseURI, 'api/msgSubscribe/list?pageNumber={page}&pageSize={size}'), //分页获取消息提醒集合
sendNewsUrl: completePrefix(baseURI, 'api/msgSubscribe/noticePublish'), //发送消息通知
repeatNewsUrl: completePrefix(baseURI, ''), //重发消息
deleteNewsUrl: completePrefix(baseURI, ''), //删除消息提醒
newsTypeListUrl: completePrefix(baseURI, 'api/msgSubscribe/MsgType'), //获取消息类型集合
newsPersonDataUrl: completePrefix(baseURI, 'api/user/queryDeptUserTree'), //获取消息接受人员
newsPersonDataUrl2: completePrefix(baseURI, 'api/user/queryDeptUserTree1'), //获取消息接受人员
newsPersonDataUrl3: completePrefix(baseURI, 'api/user/queryDeptUserTree2'), //获取消息接受人员
//查询统计
completionSituationUrl: completePrefix(baseURI, 'api/task/report/{statistical}?startDate={startDate}&endDate={endDate}&planId={planId}&routeId={routeId}'),
completionSituationExportUrl: completePrefix(baseURI, 'api/excel/task/{statistical}?startDate={startDate}&endDate={endDate}&planId={planId}&routeId={routeId}'),//巡检完成情况月报表-表格导出
caliberListUrl: completePrefix(baseURI, 'api/common/checkStatisticsType'),//巡检完成情况月报表-获取统计口径集合
planListUrl: completePrefix(baseURI, 'api/plan/queryPlanList'),//巡检完成情况月报表-获取所属计划集合
lineListUrl: completePrefix(baseURI, 'api/route/routeList'),//巡检完成情况月报表-所属线路集合
executeStateListUrl: completePrefix(baseURI, 'api/common/planTaskExecution'),//巡检情况统计分析-执行情况集合
inspectionSituationListUrl: completePrefix(baseURI, 'api/check/statisticalAnalysis'),//巡检情况统计分析-表格
inspectionSituationExportUrl: completePrefix(baseURI, 'api/check/exportStatisticalAnalysis'),//巡检情况统计分析-表格导出
taskArrangementListUrl: completePrefix(baseURI, 'api/task/getStatisticsData'),//任务安排统计分析-表格
taskArrangementExportUrl: completePrefix(baseURI, 'api/task/exportStatisticsData'),//任务安排统计分析-表格导出
taskCaliberListUrl: completePrefix(baseURI, 'api/common/taskgetStatisticsType'),//任务安排统计分析-获取任务统计口径集合
personStatisticsUrl: completePrefix(baseURI, 'api/task/report/comprehensive/user?startTime={startTime}&endTime={endTime}'),//人员综合统计分析-表格
personStatisticsExportUrl: completePrefix(baseURI, 'api/excel/comprehensive/user?startTime={startTime}&endTime={endTime}'),//人员综合统计分析-表格导出
homeNumberUrl: completePrefix(baseURI, 'api/home/overviewData'),//巡检首页-获取公司名、巡检点数、完成/计划、累计巡检次数、未完/已完任务数和巡检点数
homeChartUrl: completePrefix(baseURI, 'api/home/getCheckData'),//巡检首页-获取12日内 实际巡检、计划巡检和漏检次数每天的数值
currentCompanyUrl: completePrefix(baseURI, 'api/user/queryLoginUserAndCompany'),//当前系统公司信息
SpecCheckDetailUrl: completePrefix(baseURI, 'api/spc/check-detail'),//查询检查项详情
completionSituationExportUrl: completePrefix(
baseURI,
'api/excel/task/{statistical}?startDate={startDate}&endDate={endDate}&planId={planId}&routeId={routeId}'
), //巡检完成情况月报表-表格导出
caliberListUrl: completePrefix(baseURI, 'api/common/checkStatisticsType'), //巡检完成情况月报表-获取统计口径集合
planListUrl: completePrefix(baseURI, 'api/plan/queryPlanList'), //巡检完成情况月报表-获取所属计划集合
lineListUrl: completePrefix(baseURI, 'api/route/routeList'), //巡检完成情况月报表-所属线路集合
executeStateListUrl: completePrefix(baseURI, 'api/common/planTaskExecution'), //巡检情况统计分析-执行情况集合
inspectionSituationListUrl: completePrefix(baseURI, 'api/check/statisticalAnalysis'), //巡检情况统计分析-表格
inspectionSituationExportUrl: completePrefix(baseURI, 'api/check/exportStatisticalAnalysis'), //巡检情况统计分析-表格导出
taskArrangementListUrl: completePrefix(baseURI, 'api/task/getStatisticsData'), //任务安排统计分析-表格
taskArrangementExportUrl: completePrefix(baseURI, 'api/task/exportStatisticsData'), //任务安排统计分析-表格导出
taskCaliberListUrl: completePrefix(baseURI, 'api/common/taskgetStatisticsType'), //任务安排统计分析-获取任务统计口径集合
personStatisticsUrl: completePrefix(baseURI, 'api/task/report/comprehensive/user?startTime={startTime}&endTime={endTime}'), //人员综合统计分析-表格
personStatisticsExportUrl: completePrefix(baseURI, 'api/excel/comprehensive/user?startTime={startTime}&endTime={endTime}'), //人员综合统计分析-表格导出
monthSituationUrl: completePrefix(baseURI, 'api/check/statisticalByMonth'), //月度巡检情况-表格
monthSituationExportUrl: completePrefix(baseURI, 'api/check/exportStatisticalByMonth'), //月度巡检情况-表格导出
daySituationExportUrl: completePrefix(baseURI, 'api/check/exportByDept'), //每日巡检情况-表格导出
homeNumberUrl: completePrefix(baseURI, 'api/home/overviewData'), //巡检首页-获取公司名、巡检点数、完成/计划、累计巡检次数、未完/已完任务数和巡检点数
homeChartUrl: completePrefix(baseURI, 'api/home/getCheckData'), //巡检首页-获取12日内 实际巡检、计划巡检和漏检次数每天的数值
currentCompanyUrl: completePrefix(baseURI, 'api/user/queryLoginUserAndCompany'), //当前系统公司信息
SpecCheckDetailUrl: completePrefix(baseURI, 'api/spc/check-detail'), //查询检查项详情
SpecCheckInputById: completePrefix(baseURI, 'api/spc/check-input'), //根据ID查询巡检记录项
searchCheckShortUrl: completePrefix(baseURI, 'api/check/getCheckPic?checkId={checkId}&checkInputId={checkInputId}&classifyId={classifyId}'), //根据检查项ID和检查项输入ID查询图片
riskLevelUrl: completePrefix(baseURI, 'api/user/listDictionaryByDictCode/FXDJ_TYPE')
......@@ -194,4 +199,3 @@ export const patrolUrls = {
export const preControlUrls = {
riskSourceSecondLevelUrl: completePrefix(preControl, 'api/risksource/riskSourceSecondLevel') //获取二级风险源信息(用户巡检点风险区域选择)
};
......@@ -36,6 +36,7 @@ import CompletionSituation from './../view/patrol/statistics/completionSituation
import InspectionSituation from './../view/patrol/statistics/inspectionSituation';
import TaskArrangement from './../view/patrol/statistics/taskArrangement';
import PersonStatistics from './../view/patrol/statistics/personstatistics';
import MonthSituation from './../view/patrol/statistics/monthSituation';
import CheckDetail from './../view/patrol/check/checkDetail';
/**
......@@ -74,6 +75,7 @@ const customRoutes = [
{ path: 'inspectionSituation', parent: 'patrol', component: InspectionSituation },
{ path: 'taskArrangement', parent: 'patrol', component: TaskArrangement },
{ path: 'personStatistics', parent: 'patrol', component: PersonStatistics },
{ path: 'monthSituation', parent: 'patrol', component: MonthSituation },
{ path: '/main/patrol/checkDetail', parent: 'patrol', component: CheckDetail }
];
......@@ -129,6 +131,7 @@ export const pathMapping = {
inspectionSituation: '/main/patrol/inspectionSituation',
taskArrangement: '/main/patrol/taskArrangement',
personStatistics: '/main/patrol/personStatistics',
monthSituation: '/main/patrol/monthSituation',
checkDetail: '/main/patrol/checkDetail'
};
/**
......
import formatUrl from 'amos-processor/lib/utils/urlFormat';
import { patrolUrls, secExtUrl } from './../consts/urlConsts';
import { commonGet, commonPost, commonDelete, commonPut } from './../utils/request';
import { Store } from 'amos-tool';
const selectedRole = Store.lsTool.read('selectedRole');
const lsTool = Store.lsTool;
export const queryInputItemAction = (filter, page, size) => {
return commonPost(formatUrl(patrolUrls.inputItemTablesUrl, { page, size }), filter);
};
export const batchDelInputItemAction = (ids) => {
export const batchDelInputItemAction = ids => {
return commonDelete(formatUrl(patrolUrls.inputItemBatchDelUrl, { ids }));
};
export const saveAsInputItemAction = (ids) => {
export const saveAsInputItemAction = ids => {
return commonGet(formatUrl(patrolUrls.inputItemSaveAsUrl, { ids }));
};
export const saveInputItemAction = (body) => {
export const saveInputItemAction = body => {
return commonPost(patrolUrls.inputItemSaveUrl, body);
};
......@@ -25,22 +25,22 @@ export const queryPlanInfoAction = (filter, page, size) => {
return commonPost(formatUrl(patrolUrls.planInfoTablesUrl, { page, size }), filter);
};
export const queryInputItemDetailAction = (itemID) => {
export const queryInputItemDetailAction = itemID => {
return commonGet(formatUrl(patrolUrls.inputItemDetailUrl, { itemID }));
};
export const btnAuthAction = routePath => {
const menuAgent = 'WEB';
const url = formatUrl(secExtUrl.buttonAuthUrl, { menuAgent, path: routePath,roleSeq:selectedRole});
const selectedRole = lsTool.read('selectedRole');
const url = formatUrl(secExtUrl.buttonAuthUrl, { menuAgent, path: routePath, roleSeq: selectedRole });
return commonGet(url);
};
/**
*
* @param {*巡检计划新增} body
*/
export const createPlanAction = (body) => {
export const createPlanAction = body => {
return commonPost(patrolUrls.planSaveUrl, body);
};
......@@ -54,8 +54,7 @@ export const queryDeptByOrgCodeAction2 = () => {
return commonGet(formatUrl(patrolUrls.deptByOrgCodeUrl2, {}));
};
export const queryUserByDeptIdAction = (deptId) => {
export const queryUserByDeptIdAction = deptId => {
return commonGet(formatUrl(patrolUrls.userInfoByDeptIdUrl, { deptId }));
};
......@@ -63,19 +62,19 @@ export const queryTaskAction = (filter, page, size) => {
return commonPost(formatUrl(patrolUrls.taskPageUrl, { page, size }), filter);
};
export const batchDelTaskAction = (ids) => {
export const batchDelTaskAction = ids => {
return commonDelete(formatUrl(patrolUrls.taskBatchDelUrl, { ids }));
};
export const queryTaskDetailAction = ( id ) => {
export const queryTaskDetailAction = id => {
return commonGet(formatUrl(patrolUrls.taskDetailUrl, { id }));
};
export const handleTaskAction = (ids, status) => {
return commonPut(formatUrl(patrolUrls.taskHandleUrl, { ids , status }));
return commonPut(formatUrl(patrolUrls.taskHandleUrl, { ids, status }));
};
export const saveTaskAction = (body) => {
export const saveTaskAction = body => {
return commonPost(patrolUrls.taskAddUrl, body);
};
......@@ -83,7 +82,7 @@ export const queryDeptUserTree = () => {
return commonGet(patrolUrls.deptUserTreeUrl2);
};
export const feedbackTaskAction = (body) => {
export const feedbackTaskAction = body => {
return commonPost(patrolUrls.taskFeedbackTaskUrl, body);
};
......@@ -91,19 +90,19 @@ export const queryRouteAction = (filter, page, size) => {
return commonPost(formatUrl(patrolUrls.routePageUrl, { page, size }), filter);
};
export const batchDelRouteAction = (ids) => {
export const batchDelRouteAction = ids => {
return commonDelete(formatUrl(patrolUrls.routeBatchDelUrl, { ids }));
};
export const saveRouteAction = (body) => {
export const saveRouteAction = body => {
return commonPost(patrolUrls.routeAddUrl, body);
};
export const queryRouteDetailAction = (id) => {
export const queryRouteDetailAction = id => {
return commonGet(formatUrl(patrolUrls.routeDetailUrl, { id }));
};
export const updateRouteAction = (body) => {
export const updateRouteAction = body => {
return commonPut(patrolUrls.routeUpdateUrl, body);
};
......@@ -111,7 +110,7 @@ export const queryRoutePointAction = (filter, page, size, id) => {
return commonPost(formatUrl(patrolUrls.routePointPageUrl, { id, page, size }), filter);
};
export const queryPlanDetByIdAction = (planId) => {
export const queryPlanDetByIdAction = planId => {
return commonGet(formatUrl(patrolUrls.planDetByPlanIdUrl, { planId }));
};
......@@ -127,11 +126,11 @@ export const queryAllRouteAction = () => {
return commonGet(patrolUrls.routeUrl);
};
export const queryInputItemByConditionAction = (searchParams) => {
export const queryInputItemByConditionAction = searchParams => {
return commonPost(formatUrl(patrolUrls.inputItemQueryByConditionUrl, {}), searchParams);
};
export const queryInputItemByConditionAction1 = (searchParams) => {
export const queryInputItemByConditionAction1 = searchParams => {
return commonPost(formatUrl(patrolUrls.inputItemQueryByConditionUrl1, {}), searchParams);
};
......@@ -139,50 +138,47 @@ export const queryAuthPointAction = (code = '', name = '') => {
return commonGet(formatUrl(patrolUrls.routePointsAuthUrl, { code, name }));
};
export const addRoutePointAction = (routeId, pointIds) => {
return commonPost(formatUrl(patrolUrls.routePointAddUrl, { routeId, pointIds }));
};
export const queryPointInputItemAction = (pointId,body) => {
return commonPost(formatUrl(patrolUrls.pointInputItemUrl, { pointId }),body);
export const queryPointInputItemAction = (pointId, body) => {
return commonPost(formatUrl(patrolUrls.pointInputItemUrl, { pointId }), body);
};
export const saveAsPlanAction = (body) => {
export const saveAsPlanAction = body => {
return commonPost(patrolUrls.planSaveAsUrl, body);
};
export const batchDetPlanAction = (body) => {
export const batchDetPlanAction = body => {
return commonPost(patrolUrls.planBatchDetUrl, body);
};
export const endplanAction = (body) => {
export const endplanAction = body => {
return commonPost(patrolUrls.endplan, body);
};
export const startplanAction = (body) => {
export const startplanAction = body => {
return commonPost(patrolUrls.startplan, body);
};
export const queryPlanTaskInfoAction = (filter, page, size) => {
return commonPost(formatUrl(patrolUrls.planTaskTablesUrl, { page, size }), filter);
};
export const reGenPlanTaskAction = (body) => {
var params = {timeout: 40000}//设置超时时间
export const reGenPlanTaskAction = body => {
var params = { timeout: 40000 }; //设置超时时间
return commonPost(patrolUrls.reGenplanTaskUrl, body, params);
};
export const deleteplanTaskAction = (body) => {
export const deleteplanTaskAction = body => {
return commonPost(patrolUrls.deleteplanTaskUrl, body);
};
export const queryPlanByOrgNoPageAction = (body) => {
export const queryPlanByOrgNoPageAction = body => {
return commonPost(patrolUrls.planInfoNoPageUrl, body);
};
export const printTaskDetailAction = (taskID) => {
export const printTaskDetailAction = taskID => {
return commonGet(formatUrl(patrolUrls.taskPrintUrl, { taskID }));
};
......@@ -190,7 +186,7 @@ export const queryCheckInfoAction = (filter, page, size) => {
return commonPost(formatUrl(patrolUrls.checkTablesUrl, { page, size }), filter);
};
export const batchDeCheckAction = (body) => {
export const batchDeCheckAction = body => {
return commonPost(patrolUrls.checkBatchDetUrl, body);
};
......@@ -198,11 +194,11 @@ export const queryCatalogTreeAction = () => {
return commonGet(formatUrl(patrolUrls.catalogTreeUrl, {}));
};
export const addCatalogTreeAction = (body) => {
export const addCatalogTreeAction = body => {
return commonPost(patrolUrls.catalogTreeSaveUrl, body);
};
export const batDelCatalogTreeAction = (body) => {
export const batDelCatalogTreeAction = body => {
return commonPost(patrolUrls.catalogTreeBatDelUrl, body);
};
......@@ -210,23 +206,20 @@ export const queryCatalogTreePageAction = (filter, page, size) => {
return commonPost(formatUrl(patrolUrls.catalogTreeListUrl, { page, size }), filter);
};
export const queryCatalogTreeByIdAction = ( id ) => {
export const queryCatalogTreeByIdAction = id => {
return commonGet(formatUrl(patrolUrls.catalogTreeDetByIdUrl, { id }));
};
export const forwardTaskAction = ( userId, taskID ) => {
export const forwardTaskAction = (userId, taskID) => {
return commonGet(formatUrl(patrolUrls.forwardTaskUrl, { userId, taskID }));
};
export const queryCheckDetailAction = (checkId) => {
export const queryCheckDetailAction = checkId => {
return commonGet(formatUrl(patrolUrls.checkDetailUrl, { checkId }));
};
export const exportCheckRecordAction = (filter) => {
export const exportCheckRecordAction = filter => {
return commonPost(formatUrl(patrolUrls.exportCheckRecordUrl), filter);
};
export const seachPermissionAction = () => {
......@@ -237,21 +230,18 @@ export const exchangeOrderNumberAction = (src, target) => {
return commonPut(formatUrl(patrolUrls.exchangeOrderNumberUrl, { src, target }));
};
export const fetchCheckDetailById = (data) => {
export const fetchCheckDetailById = data => {
return commonPost(patrolUrls.SpecCheckDetailUrl, data);
};
export const fetchCheckInputById = (data) => {
export const fetchCheckInputById = data => {
return commonPost(patrolUrls.SpecCheckInputById, data);
};
export const fetchShortByCheckIdAndCheckInputId = (checkId, checkInputId, classifyId) => {
return commonGet(formatUrl(patrolUrls.searchCheckShortUrl, { checkId, checkInputId, classifyId}));
return commonGet(formatUrl(patrolUrls.searchCheckShortUrl, { checkId, checkInputId, classifyId }));
};
export const queryAllItemNoAction = (itemId) => {
export const queryAllItemNoAction = itemId => {
return commonGet(formatUrl(patrolUrls.itemNoQueryUrl, { itemId }));
};
......@@ -62,6 +62,13 @@ export const personStatisticsAction = (data) => {
};
/**
* 月度巡检情况-表格
*/
export const monthSituationAction = (body) => {
return commonPost(patrolUrls.monthSituationUrl, body);
};
/**
* 巡检首页-获取公司名、巡检点数、完成/计划、累计巡检次数、未完/已完任务数和巡检点数
*/
export const homeNumberAction = () => {
......
......@@ -55,6 +55,22 @@
height: 100%;
overflow: auto;
.right-btn {
position: absolute;
z-index: 1;
right: 320px;
margin-top: -30px;
display: flex;
.row-btn {
padding-left: 25px;
img {
cursor: pointer;
}
}
}
.grid-content {
height: calc(100% - 40px);
......
......@@ -2,7 +2,6 @@ export default function(data, delRequest){
window.setLoading && window.setLoading(false);
return new Promise((resolve, reject) => {
if (data) {
debugger
if (data.dataList || data.dataList === null){
if(data.result==='SUCCESS'){
resolve(data.dataList);
......
......@@ -242,8 +242,6 @@ export const exportExcel = ({ url, method, body }, fileName) => {
'token': window.localStorage.getItem(token),
'appKey': 'YH-PATROL',
'product': 'YH-PATROL_WEB'
},
body: body ? JSON.stringify(body) : undefined
}).then((e) => {
......
......@@ -9,20 +9,19 @@ import { seachPermissionAction } from './../../../services/checkService';
* @class ToolBar
* @extends {Component}
*/
class ToolBar extends Component{
class ToolBar extends Component {
constructor(props) {
super(props);
this.state = {
navs: [],
isWriteable: false,
dropnavs:[]
dropnavs: []
};
}
componentWillReceiveProps(nextProps) {
const { dropnavs } = nextProps;
if(dropnavs&&dropnavs.length>0){
if (dropnavs && dropnavs.length > 0) {
this.setState({ dropnavs: dropnavs });
const permissionsMenus = window.localStorage.getItem('permissionsMenus');
let data = [];
......@@ -32,26 +31,20 @@ class ToolBar extends Component{
let children = [];
if (data && dropnavs) {
data.find(item => {
if(item.permissionName === '巡检业务'){
if (item.permissionName === '巡检业务') {
children = item.children;
let menu = children.find(item => {
if(dropnavs&&dropnavs.length>0){
if (dropnavs && dropnavs.length > 0) {
if (void 0 === dropnavs[0].frontComponent) {
return true;
}
return dropnavs[0].frontComponent === item.permissionCode;
}
});
if (!menu) {
this.setState({ navs: [], isWriteable: false });
return;
}
let navs = dropnavs.filter(item => {
if (!item.isWriteable) {
return true;
......@@ -64,14 +57,9 @@ class ToolBar extends Component{
}
});
}
}
}
componentWillMount() {
const { dropnavs } = this.state;
const permissionsMenus = window.localStorage.getItem('permissionsMenus');
......@@ -82,26 +70,20 @@ class ToolBar extends Component{
let children = [];
if (data && dropnavs) {
data.find(item => {
if(item.permissionName === '巡检业务'){
if (item.permissionName === '巡检业务') {
children = item.children;
let menu = children.find(item => {
if(dropnavs&&dropnavs.length>0){
if (dropnavs && dropnavs.length > 0) {
if (void 0 === dropnavs[0].frontComponent) {
return true;
}
return dropnavs[0].frontComponent === item.permissionCode;
}
});
if (!menu) {
this.setState({ navs: [], isWriteable: false });
return;
}
let navs = dropnavs.filter(item => {
if (!item.isWriteable) {
return true;
......@@ -146,7 +128,7 @@ class ToolBar extends Component{
getMenuItems = (subSys) => {
let { callBack } = this.props;
let items = new Array();
for ( let i = 0; i < subSys.length; i++) {
for (let i = 0; i < subSys.length; i++) {
let sub = subSys[i];
items.push(<Menu.Item onClick={() => callBack(sub.key)}>{sub.text}</Menu.Item>);
}
......@@ -159,12 +141,12 @@ class ToolBar extends Component{
return (<DropNav navs={arr} theme="light" />);
}
handlerOnClick = (navItem, e) =>{
handlerOnClick = (navItem, e) => {
let { callBack } = this.props;
if (!navItem.href.startsWith('jacascript::void(0)')) {
return true;
}
callBack(navItem.key,navItem.href);
callBack(navItem.key, navItem.href);
return false;
}
......@@ -178,7 +160,7 @@ class ToolBar extends Component{
render() {
const { navs } = this.state;
let context = navs.map( item => {
let context = navs.map(item => {
if (item.subSys) {
return this.getNavMenu(item);
} else if (!item.href.startsWith('jacascript::void(0)')) {
......
......@@ -247,7 +247,7 @@ class RootView extends Component {
!isSub ? (
<header className="patrol-view-header" >
{/* <Icon icon="logo" /> */}
<img src='/src/assets/auth/logs.jpg'></img>
{/* <img src='/src/assets/auth/logs.jpg'></img> */}
<span>{company +depname|| ''}</span>
{window.isDisplayQR ? <div className="patrol-view-header-img">
<Icon prefix='amosicon' icon="shouji" style={{ display: 'inline-block',fontSize: 15, color: 'white' }} />
......
......@@ -52,8 +52,8 @@ class CatalogTreeInput extends Component {
queryCatalogTree = () => {
queryCatalogTreeAction().then(data => {
let treeData = data;
data.push({key: '0',value: '0',label: '',children: []});
console.log('queryCatalogTree',data);
data.push({ key: '0', value: '0', label: '', children: [] });
console.log('queryCatalogTree', data);
this.setState({ treeData });
});
};
......@@ -64,8 +64,7 @@ class CatalogTreeInput extends Component {
let { form } = this.state;
addCatalogTreeAction(form).then(
data => {
debugger
if(data===null){
if (data === null) {
AmosAlert.success('提示', '保存成功');
} else {
AmosAlert.error('提示', '添加分类失败:目录名称已存在');
......@@ -88,7 +87,7 @@ class CatalogTreeInput extends Component {
render() {
const { form, treeData, rules } = this.state;
console.log('form',form);
console.log('form', form);
const formItemLayout = {
labelCol: {
xs: { span: 24 },
......
......@@ -6,13 +6,13 @@ import { browserHistory } from 'amos-react-router';
import PropTypes from 'prop-types';
import { pathMapping } from './../../../routes/customRoutes';
import ToolBar from './../../component/toolbar';
import { batDelCatalogTreeAction,btnAuthAction } from '../../../services/checkService';
import { batDelCatalogTreeAction, btnAuthAction } from '../../../services/checkService';
const inputUrl = () => pathMapping.catalogTreeInput;
const dropnavs1 = { key: '1', text: '添加', icon: 'add', href: 'jacascript::void(0)', permissionCode: 'catalogtree', isWriteable: true };
const dropnavs2 = { key: '2', text: '修改', icon: 'edit', href: 'jacascript::void(0)', permissionCode: 'catalogtree', isWriteable: true };
const dropnavs3 = { key: '3', text: '删除', icon: 'delete', href: 'jacascript::void(0)', permissionCode: 'catalogtree', isWriteable: true };
const dropnavs1 = { key: '1', text: '添加', icon: 'add', href: 'jacascript::void(0)', permissionCode: 'catalogtree', isWriteable: true };
const dropnavs2 = { key: '2', text: '修改', icon: 'edit', href: 'jacascript::void(0)', permissionCode: 'catalogtree', isWriteable: true };
const dropnavs3 = { key: '3', text: '删除', icon: 'delete', href: 'jacascript::void(0)', permissionCode: 'catalogtree', isWriteable: true };
const getColumns = () => {
return [
......@@ -80,7 +80,7 @@ class CheckTable extends Component {
selectedRows: [],
selectedRowKeys: [],
data: [],
dropnavs:[]
dropnavs: []
};
}
......@@ -89,34 +89,26 @@ class CheckTable extends Component {
*/
componentWillMount = () => {
this.reloadButtonAuth();
};
reloadButtonAuth = () => {
// const _path = this.calcRoutes();
btnAuthAction('/main/patrol/catalogtree').then(data => {
let { dropnavs } = this.state;
if(data){
if("tj" in data&&data.tj.hasPermission){
dropnavs.push( dropnavs1);
if (data) {
if ('tj' in data && data.tj.hasPermission) {
dropnavs.push(dropnavs1);
}
if("xg" in data&&data.xg.hasPermission){
dropnavs.push( dropnavs2);
if ('xg' in data && data.xg.hasPermission) {
dropnavs.push(dropnavs2);
}
if("sc" in data&&data.sc.hasPermission){
dropnavs.push( dropnavs3);
if ('sc' in data && data.sc.hasPermission) {
dropnavs.push(dropnavs3);
}
}
this.setState({ dropnavs});
this.setState({ dropnavs });
});
}
};
/**
* 分页设置参数
*/
......@@ -182,8 +174,7 @@ class CheckTable extends Component {
// 确定删除
batDelCatalogTreeAction(ids).then(
data => {
debugger
if(data===null){
if (data === null) {
AmosAlert.success('提示', '删除成功');
} else {
AmosAlert.error('提示', '删除分类失败:请先删除子节点');
......@@ -238,7 +229,7 @@ class CheckTable extends Component {
};
render() {
let { pagination, isChecked, modal, selectedRowKeys,dropnavs } = this.state;
let { pagination, isChecked, modal, selectedRowKeys, dropnavs } = this.state;
let { dataList, fetchData, count } = this.props;
let defaultPageConfig = this.pageConfig;
return (
......
......@@ -9,9 +9,7 @@ import { pathMapping } from './../../../routes/customRoutes';
import AmosGridTable from '../../component/table/table/AmosGridTable';
import { patrolUrls } from './../../../consts/urlConsts';
import ToolBar from './../../component/toolbar';
import { batchDeCheckAction, queryCheckDetailAction ,btnAuthAction} from '../../../services/checkService';
import { batchDeCheckAction, queryCheckDetailAction, btnAuthAction } from '../../../services/checkService';
const ls = _amosTool.Store.lsTool;
const apiKey = SysConsts.api_key;
......@@ -22,9 +20,9 @@ const checkDetail = pathMapping.checkDetail;
const okStatusEnum = { '1': '正常', '2': '异常', '3': '漏检' };
const statusDataEnum = { '0': '计划外完成', '1': '按时完成', '2': '未执行' };
const dropnavs1={ key: '1', text: '查看明细', icon: 'jiancha', href: 'jacascript::void(0)', permissionCode: 'check', isWriteable: false };
const dropnavs2={ key: '2', text: '删除记录', icon: 'delete', href: 'jacascript::void(0)', permissionCode: 'check', isWriteable: true };
const dropnavs3= {
const dropnavs1 = { key: '1', text: '查看明细', icon: 'jiancha', href: 'jacascript::void(0)', permissionCode: 'check', isWriteable: false };
const dropnavs2 = { key: '2', text: '删除记录', icon: 'delete', href: 'jacascript::void(0)', permissionCode: 'check', isWriteable: true };
const dropnavs3 = {
key: '3',
text: '导出记录',
icon: 'user',
......@@ -35,8 +33,8 @@ const dropnavs3= {
{ key: '3-3', text: '导出选中图片', href: 'jacascript::void(0)', permissionCode: 'check', isWriteable: false },
{ key: '3-4', text: '导出全部图片', href: 'jacascript::void(0)', permissionCode: 'check', isWriteable: false }
]
};
};
const dropnavs4 = { key: '4', text: '业务报表', icon: 'file', href: 'jacascript::void(0)', permissionCode: 'check', isWriteable: true };
const getColumns = () => {
return [
......@@ -156,11 +154,11 @@ const getHeaders = () => {
'Content-Type': 'application/json; charset=utf-8',
'X-Api-Key': _amosTool.Store.getCookieByName(apiKey),
'X-Access-Token': ls.read(token),
'token': ls.read(token),
'appKey': 'YH-PATROL',
'product': 'YH-PATROL_WEB'
}
}
token: ls.read(token),
appKey: 'YH-PATROL',
product: 'YH-PATROL_WEB'
};
};
/**
* 计划执行
......@@ -187,7 +185,8 @@ class CheckTable extends Component {
selectedRows: [],
selectedRowKeys: [],
data: [],
dropnavs:[]
dropnavs: [],
showType: ''
};
}
......@@ -202,41 +201,30 @@ class CheckTable extends Component {
this.reloadButtonAuth();
};
/****按钮权限 */
/****按钮权限 */
reloadButtonAuth = () => {
reloadButtonAuth = () => {
// const _path = this.calcRoutes();
btnAuthAction('/main/patrol/check').then(data => {
let { dropnavs } = this.state;
if(data){
if("jiancha" in data&&data.jiancha.hasPermission){
dropnavs.push( dropnavs1);
if (data) {
if ('jiancha' in data && data.jiancha.hasPermission) {
dropnavs.push(dropnavs1);
}
if("delete" in data&&data.delete.hasPermission){
dropnavs.push( dropnavs2);
if ('delete' in data && data.delete.hasPermission) {
dropnavs.push(dropnavs2);
}
if("user" in data&&data.user.hasPermission){
dropnavs.push( dropnavs3);
if ('user' in data && data.user.hasPermission) {
dropnavs.push(dropnavs3);
}
if ('ureport' in data && data.ureport.hasPermission) {
dropnavs.push(dropnavs4);
}
}
this.setState({ dropnavs});
this.setState({ dropnavs });
});
}
};
/**
* 分页设置参数
......@@ -329,6 +317,8 @@ reloadButtonAuth = () => {
this.exportSelectImgs();
} else if (type === '3-4') {
this.exportAllDataImgs();
} else if (type === '4') {
this.onClickIcon('check');
}
window.setLoading && window.setLoading(false);
};
......@@ -344,7 +334,8 @@ reloadButtonAuth = () => {
fetch(url, {
method: 'get',
headers: getHeaders()
}).then(e => {
})
.then(e => {
e.blob().then(blob => {
const a = window.document.createElement('a');
const downUrl = window.URL.createObjectURL(blob);
......@@ -372,7 +363,8 @@ reloadButtonAuth = () => {
fetch(url, {
method: 'get',
headers: getHeaders()
}).then(e => {
})
.then(e => {
e.blob().then(blob => {
const a = window.document.createElement('a');
const downUrl = window.URL.createObjectURL(blob);
......@@ -447,8 +439,6 @@ reloadButtonAuth = () => {
});
};
getDetCheckInfo = () => {
let { selectedRows } = this.state;
if (selectedRows === undefined || selectedRows.length <= 0) {
......@@ -459,7 +449,7 @@ reloadButtonAuth = () => {
AmosAlert.warning('提示', '至多可以选择一条巡检记录');
return;
}
// for (let i = 0; i < selectedRows.length; i++) {
// for (let i = 0; i < selectedRows.length; i++) {
let id = selectedRows[0].id;
let path = {
pathname: checkDetail,
......@@ -491,14 +481,37 @@ reloadButtonAuth = () => {
// });
};
onClickIcon = value => {
const { showType } = this.state;
if (showType === value) {
value = '';
}
this.props.setShowType(value);
this.setState({ showType: value });
};
render() {
let { pagination,dropnavs, isChecked, selectedRowKeys } = this.state;
let { pagination, dropnavs, isChecked, selectedRowKeys } = this.state;
let { dataList, fetchData, count } = this.props;
let defaultPageConfig = this.pageConfig;
return (
<div className="patrol-page-table">
<ToolBar dropnavs={dropnavs} callBack={this.onClickBootBar} />
<div className="right-btn">
{/* <div className="row-btn">
<img src="/src/assets/fsc/check/export.png" onClick={() => this.onClickIcon('check')} />
<span>&nbsp;&nbsp;业务报表</span>
</div> */}
<div className="row-btn">
<img src="/src/assets/fsc/check/export.png" onClick={() => this.onClickIcon('export')} />
<span>&nbsp;&nbsp;报表生成</span>
</div>
<div className="row-btn">
<img src="/src/assets/fsc/check/filter.png" onClick={() => this.onClickIcon('search')} />
<span>&nbsp;&nbsp;筛选条件</span>
</div>
</div>
<AmosGridTable
rowKey="id"
columns={getColumns()}
......@@ -520,6 +533,8 @@ reloadButtonAuth = () => {
}
}
CheckTable.propTypes = {};
CheckTable.propTypes = {
setShowType: PropTypes.func
};
export default CheckTable;
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { DatePicker } from 'amos-antd';
import moment from 'moment';
import { Form, Button, Select } from 'amos-framework';
import { queryDeptByOrgCodeAction1 } from '../../../services/checkService';
import { exportExcel } from 'UTILS/tools';
import { patrolUrls } from 'CONSTS/urlConsts';
const FormItem = Form.Item;
const Option = Select.Option;
/**
* 生成报表条件
*
* @class ExportSearch
* @extends {Component}
*/
class ExportSearch extends Component {
constructor(props) {
super(props);
this.state = {
form: {
deptId: {
name: 'deptId',
value: ''
},
beginDate: {
name: 'beginDate',
value: moment()
.startOf('day')
.format('YYYY-MM-DD HH:mm:ss')
},
endDate: {
name: 'endDate',
value: moment()
.endOf('day')
.format('YYYY-MM-DD HH:mm:ss')
},
statement: { name: 'statement', value: 'technology' }
},
rules: {
deptId: [
{ required: true, message: '巡检部门不能为空!' }
],
statement: [
{ required: true, message: '报表模板不能为空!' }
],
beginDate: [
{ required: true, message: '开始时间不能为空!' }
],
endDate: [
{ required: true, message: '结束时间不能为空!' }
]
},
deptData: [],
statementList: [
{ name: '技术', value: 'technology' },
{ name: '业务', value: 'business' }
]
};
}
componentWillMount = () => {
this.queryDeptByOrgCode(); // 查询部门
};
queryDeptByOrgCode = () => {
queryDeptByOrgCodeAction1().then(data => {
this.setState({ deptData: data });
});
};
onExportExcel = () => {
let { form } = this.state;
let quest = [];
if (form) {
for (let key in form) {
let obj = form[key];
quest.push(obj);
}
}
const millisecond = moment().format('YYYYMMDDHHmmss');
exportExcel({ url: patrolUrls.daySituationExportUrl, method: 'post', body: quest }, '每日巡检情况报表' + millisecond);
}
onChange = (key, e) => {
let { form } = this.state;
form[key].value = e.target.value;
this.setState(form);
};
onDateChange = (key, date) => {
const { form } = this.state;
form[key].value = moment(date).format('YYYY-MM-DD HH:mm:ss');
this.setState({ form });
};
onSelectChange = (key, value) => {
let { form } = this.state;
form[key].value = value;
this.setState(form);
};
onDeptChange = (key, value) => {
const { form } = this.state;
form[key].value = value;
this.setState({ form });
};
render() {
const { form, rules, deptData, statementList } = this.state;
const formItemLayout = {
labelCol: {
xs: { span: 24 },
sm: { span: 4 },
className: 'colspanlab'
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 14 },
className: 'colspan'
}
};
return (
<Form style={{ padding: '30px 0 0 0' }} className="basic-demo" model={form} rules={rules}>
<FormItem label="巡检部门" field="deptId" {...formItemLayout} >
<Select
className="search_Input"
data={deptData ? deptData : []}
style={{ height: 30 }}
renderOption={item => item && <Option value={item.sequenceNbr}>{item.departmentName}</Option>}
defaultOption={<Option>全部</Option>}
value={form.deptId.value}
onChange={(e) => this.onDeptChange('deptId', e)}
/>
</FormItem>
<FormItem label={<span>报表模板</span>} field="statement" {...formItemLayout}>
<Select
data={statementList}
renderOption={item => <Option value={item.value}>{item.name}</Option>}
value={form.statement.value}
className="search_Input"
onChange={e => this.onSelectChange('statement', e)}
/>
</FormItem>
<FormItem label={<span>开始日期</span>} field="beginDate" {...formItemLayout}>
<DatePicker
style={{ width: 178 }}
className="search_Input"
value={moment(form.beginDate.value)}
allowClear={false}
format="YYYY-MM-DD HH:mm:ss"
onChange={e => this.onDateChange('beginDate', e)}
//允许选择时间
showTime={{ defaultValue: moment('00:00:00', 'HH:mm:ss') }}
/>
</FormItem>
<FormItem label={<span>结束日期</span>} field="endDate" {...formItemLayout}>
<DatePicker
style={{ width: 178 }}
className="search_Input"
value={moment(form.endDate.value)}
allowClear={false}
format="YYYY-MM-DD HH:mm:ss"
onChange={e => this.onDateChange('endDate', e)}
showTime={{ defaultValue: moment('00:00:00', 'HH:mm:ss') }}
/>
</FormItem>
<FormItem className="search-btn">
<Button onClick={this.onExportExcel}>生成报表</Button>
<Button onClick={this.onResetFields}>重置</Button>
</FormItem>
</Form>
);
}
}
ExportSearch.propTypes = {
};
export default ExportSearch;
import { Icon, Button } from 'amos-framework';
import React, { Component } from 'react';
import '../../../styles/view/component/drawer.scss';
import PropTypes from 'prop-types';
/**
* 巡检项
*
* @class InputItemSearch
* @extends {Component}
*/
class SplitLayout extends Component{
state = {
content: {
right: '0px',
display: 'block'
},
client: {
right: '300px',
display: 'none'
}
};
changeStatus = (e) => {
const { content } = this.state;
if (content.right !== '0px') {
let ClientContent = {
right: '0px',
display: 'block'
};
let newClient = {
right: '300px',
display: 'none'
};
this.setState({ content: ClientContent, client: newClient });
} else {
let ClientContent = {
right: '-250px',
opacity: 'block'
};
let newClient = {
right: '0px',
opacity: 'show',
display: 'block'
};
this.setState({ content: ClientContent, client: newClient });
}
}
render() {
const { content, client } = this.state;
const { title } = this.props;
return (
<div className="qq-client-body">
<div style={client} className="qq-client">
<a onClick={this.changeStatus} className="qq-client-open" style={client} >
<Icon size="1x" prefix="amosicon" icon="gengduo2" />
</a>
</div>
<div className="qq-client-content" style={content}>
<h2>
{title}
</h2>
<div className="qq-client-open-content">
{this.props.children}
</div>
</div>
</div>
);
}
}
SplitLayout.propTypes = {
children: PropTypes.node,
title: PropTypes.string
};
export default SplitLayout;
......@@ -2,8 +2,11 @@ import React, { Component } from 'react';
import moment from 'moment';
import CheckTable from './CheckTable';
import CheckSearch from './CheckSearch';
import ExportSearch from './ExportSearch';
import ExportCheckSearch from './ExportCheckSearch';
import { queryCheckInfoAction } from '../../../services/checkService';
import SplitterLayout from '../../component/SplitLayout';
import SplitterLayout from './SplitLayout';
/**
* 巡检记录
......@@ -19,7 +22,8 @@ class Check extends Component {
statisticsData: [],
totalCount: 0,
planId: '',
pointNo: ''
pointNo: '',
showType: ''
};
}
componentWillMount = () => {
......@@ -73,14 +77,38 @@ class Check extends Component {
});
}
setShowType = value => {
this.setState({ showType: value });
};
render() {
let { statisticsData, totalCount, planId, pointNo, searchParam } = this.state;
let { statisticsData, totalCount, planId, pointNo, searchParam, showType } = this.state;
console.log(showType);
return (
<div className="patrol-page-content">
<SplitterLayout>
{showType === 'search' && (
<SplitterLayout title="查询条件">
<CheckSearch search={this.onSearchDataSyn} planId={planId} pointNo={pointNo} />
</SplitterLayout>
<CheckTable count={totalCount} fetchData={this.questStatistiscData} searchParam={searchParam} dataList={statisticsData} planId={planId} />
)}
{showType === 'export' && (
<SplitterLayout title="报表生成">
<ExportSearch search={this.onSearchDataSyn} planId={planId} pointNo={pointNo} />
</SplitterLayout>
)}
{showType === 'check' && (
<SplitterLayout title="业务报表">
<ExportCheckSearch />
</SplitterLayout>
)}
<CheckTable
count={totalCount}
fetchData={this.questStatistiscData}
searchParam={searchParam}
dataList={statisticsData}
planId={planId}
setShowType={this.setShowType}
/>
</div>
);
}
......
......@@ -22,7 +22,7 @@ class PatrolChart extends Component {
right: '30px',
left: '70px',
top: '25px',
bottom: '60px'
bottom: '30px'
},
tooltip: {
trigger: 'axis',
......
import React, { Component } from 'react';
import { DatePicker } from 'amos-antd';
import { DatePicker,TimePicker } from 'amos-antd';
import moment from 'moment';
import { browserHistory } from 'amos-react-router';
import { Form, AmosAlert, MultiSelect, Input, Radio, Button, Select, Checkbox, InputNumber } from 'amos-framework';
......@@ -16,7 +16,8 @@ import YearPicker from '../../common/YearPicker';
import { Store } from 'amos-tool';
const lsTool = Store.lsTool;
const format = 'HH:mm';
const formatValue = 'HH:mm:ss';
const { WeekPicker, MonthPicker } = DatePicker;
......@@ -128,10 +129,9 @@ class PlanInput extends Component {
this.setState({ form });
};
onTimeChange = (key, e) => {
onTimeChange = (key, date) => {
const { form } = this.state;
const value = e.target.value + ':00';
form[key] = value;
form[key] = date ? moment(date).format(formatValue) : null;
this.dynamicCreatRemark(form);
};
......@@ -233,10 +233,13 @@ class PlanInput extends Component {
let tempArry = htmlArray;
let { dayRate } = this.state.form;
let { form } = this.state;
console.log(moment(form.dayTime, 'HH:mm'));
//value={moment(form.dayTime).format('HH:mm')}
if (dayRate === 0) {
tempArry.push(
<FormItem label={<span>时间为</span>} field="dayTime" {...formItemLayout}>
<Input className="plan_info_input" type="time" required value={form.dayTime} onChange={e => this.onTimeChange('dayTime', e)} />
<TimePicker value={moment(form.dayTime, 'HH:mm')} format={format} className="plan_info_input" required onChange={e => this.onTimeChange('dayTime', e)} />
</FormItem>
);
} else if (dayRate === 1) {
......@@ -258,10 +261,10 @@ class PlanInput extends Component {
/>
</FormItem>
<FormItem label={<span>开始时间</span>} field="dayBegin" {...formItemLayout}>
<Input className="plan_info_input" type="time" required value={form.dayBegin} onChange={e => this.onTimeChange('dayBegin', e)} />
<TimePicker value={moment(form.dayBegin, 'HH:mm')} format={format} className="plan_info_input" required onChange={e => this.onTimeChange('dayBegin', e)} />
</FormItem>
<FormItem label={<span>结束时间</span>} field="dayEnd" {...formItemLayout}>
<Input className="plan_info_input" value={form.dayEnd} required type="time" onChange={e => this.onTimeChange('dayEnd', e)} />
<TimePicker value={moment(form.dayEnd, 'HH:mm')} format={format} className="plan_info_input" required onChange={e => this.onTimeChange('dayEnd', e)} />
</FormItem>
</div>
);
......@@ -637,6 +640,7 @@ class PlanInput extends Component {
onChange={e => this.onDateChange('planEnd', e)}
/> : <DatePicker
format="YYYY-MM-DD"
value={form.planEnd}
className="plan_task_gen_select"
onChange={e => this.onDateChange('planEnd', e)}
/>;
......@@ -648,6 +652,7 @@ class PlanInput extends Component {
onChange={e => this.onWeekDateChange('planEnd', e)}
/> : <WeekPicker
className="plan_task_gen_select"
value={form.planEnd}
onChange={e => this.onWeekDateChange('planEnd', e)}
/>;
case '3':
......@@ -660,6 +665,7 @@ class PlanInput extends Component {
/> : <MonthPicker
className="plan_task_gen_select"
format="YYYY-MM"
value={form.planEnd}
onChange={e => this.onMonthDateChange('planEnd', e)}
/>;
case '4':
......@@ -670,6 +676,7 @@ class PlanInput extends Component {
onChange={e => this.onYearDateChange('planEnd', e)}
/> : <YearPicker
isEmpty
value={form.planEnd}
onChange={e => this.onYearDateChange('planEnd', e)}
/>;
}
......
......@@ -209,31 +209,28 @@ class PointBasicInfo extends Component {
let { form } = this.state;
if('chargePersonId' == key){
if ('chargePersonId' == key) {
let str;
for(var i=0;i<value.length;i++){
if(i === 0 ){
str=value[i];
}else{
str=str+','+value[i];
for (var i = 0; i < value.length; i++) {
if (i === 0) {
str = value[i];
} else {
str = str + ',' + value[i];
}
}
form[key] = str;
console.log('chargePersonId',str);
}else{
console.log('chargePersonId', str);
} else {
form[key] = value;
}
console.log('chargePersonId',value);
console.log('chargePersonId', value);
this.setState(form);
};
onTreeExpand = expandedKeys => {
console.log('onExpand', arguments);
// if not set autoExpandParent to false, if children expanded, parent can not collapse.
// or, you can remove all expanded children keys.
this.setState({
treeConfig: {
expandedKeys,
......@@ -346,7 +343,7 @@ class PointBasicInfo extends Component {
queryUserByDept = deptId => {
queryUserByDeptIdAction(deptId).then(data => {
console.log('pointInfo queryUserByDept',data);
console.log('pointInfo queryUserByDept', data);
this.setState({ userData: data });
});
};
......@@ -400,12 +397,12 @@ class PointBasicInfo extends Component {
/**
* 查询风险等级
*/
querryRiskLevel=()=>{
querryRiskLevel = () => {
gerRiskLevel().then(res=>{
console.log('pointBasicInfos',res);
const riskLevelList=res;
this.setState({riskLevelList});
gerRiskLevel().then(res => {
console.log('pointBasicInfos', res);
const riskLevelList = res;
this.setState({ riskLevelList });
})
}
......@@ -414,8 +411,8 @@ class PointBasicInfo extends Component {
* 渲染风险等级
*/
rendRiskLevel = () => {
const {riskLevelList}=this.state;
console.log('pointBasicInfos pointBasicInfos',riskLevelList);
const { riskLevelList } = this.state;
console.log('pointBasicInfos pointBasicInfos', riskLevelList);
if (!utils.isEmpty(riskLevelList) && utils.isArray(riskLevelList)) {
return (<div>
{
......@@ -429,25 +426,25 @@ class PointBasicInfo extends Component {
/**
* 渲染默认责任人
*/
renderCurrentPersonData=(data)=>{
console.log('arrayData1',data)
if(!utils.isEmpty(data) ){
let array=[];
let arrayData=data.split(',');
arrayData.map(e=>{
renderCurrentPersonData = (data) => {
console.log('arrayData1', data)
if (!utils.isEmpty(data)) {
let array = [];
let arrayData = data.split(',');
arrayData.map(e => {
array.push(e)
})
console.log('arrayData',arrayData)
console.log('array',array)
console.log('arrayData', arrayData)
console.log('array', array)
return array;
}else{
} else {
return [];
}
}
render() {
const { form, rules, catalogData, deptData, userData, riskLevelList,currentPersonData } = this.state;
console.log('form.chargePersonId',form.chargePersonId);
console.log('form.userData',userData);
const { form, rules, catalogData, deptData, userData, riskLevelList, currentPersonData } = this.state;
console.log('form.chargePersonId', form.chargePersonId);
console.log('form.userData', userData);
const formItemLayout = {
labelCol: {
......@@ -592,7 +589,7 @@ class PointBasicInfo extends Component {
//defaultValues={["1569413","1533588","1559667"]}
data={userData}
renderOption={item => <Option key={item.id} value={item.id}>{item.name }</Option>}
renderOption={item => <Option key={item.id} value={item.id}>{item.name}</Option>}
onChange={e => this.onSelectChange('chargePersonId', e)}
values={this.renderCurrentPersonData(form.chargePersonId)}
/>
......
......@@ -209,31 +209,28 @@ class PointBasicInfoxq extends Component {
let { form } = this.state;
if('chargePersonId' == key){
if ('chargePersonId' == key) {
let str;
for(var i=0;i<value.length;i++){
if(i === 0 ){
str=value[i];
}else{
str=str+','+value[i];
for (var i = 0; i < value.length; i++) {
if (i === 0) {
str = value[i];
} else {
str = str + ',' + value[i];
}
}
form[key] = str;
console.log('chargePersonId',str);
}else{
console.log('chargePersonId', str);
} else {
form[key] = value;
}
console.log('chargePersonId',value);
console.log('chargePersonId', value);
this.setState(form);
};
onTreeExpand = expandedKeys => {
console.log('onExpand', arguments);
// if not set autoExpandParent to false, if children expanded, parent can not collapse.
// or, you can remove all expanded children keys.
this.setState({
treeConfig: {
expandedKeys,
......@@ -346,7 +343,7 @@ class PointBasicInfoxq extends Component {
queryUserByDept = deptId => {
queryUserByDeptIdAction(deptId).then(data => {
console.log('pointInfo queryUserByDept',data);
console.log('pointInfo queryUserByDept', data);
this.setState({ userData: data });
});
};
......@@ -400,12 +397,12 @@ class PointBasicInfoxq extends Component {
/**
* 查询风险等级
*/
querryRiskLevel=()=>{
querryRiskLevel = () => {
gerRiskLevel().then(res=>{
console.log('pointBasicInfos',res);
const riskLevelList=res;
this.setState({riskLevelList});
gerRiskLevel().then(res => {
console.log('pointBasicInfos', res);
const riskLevelList = res;
this.setState({ riskLevelList });
})
}
......@@ -414,8 +411,8 @@ class PointBasicInfoxq extends Component {
* 渲染风险等级
*/
rendRiskLevel = () => {
const {riskLevelList}=this.state;
console.log('pointBasicInfos pointBasicInfos',riskLevelList);
const { riskLevelList } = this.state;
console.log('pointBasicInfos pointBasicInfos', riskLevelList);
if (!utils.isEmpty(riskLevelList) && utils.isArray(riskLevelList)) {
return (<div>
{
......@@ -429,25 +426,25 @@ class PointBasicInfoxq extends Component {
/**
* 渲染默认责任人
*/
renderCurrentPersonData=(data)=>{
console.log('arrayData1',data)
if(!utils.isEmpty(data) ){
let array=[];
let arrayData=data.split(',');
arrayData.map(e=>{
renderCurrentPersonData = (data) => {
console.log('arrayData1', data)
if (!utils.isEmpty(data)) {
let array = [];
let arrayData = data.split(',');
arrayData.map(e => {
array.push(e)
})
console.log('arrayData',arrayData)
console.log('array',array)
console.log('arrayData', arrayData)
console.log('array', array)
return array;
}else{
} else {
return [];
}
}
render() {
const { form, rules, catalogData, deptData, userData, riskLevelList,currentPersonData } = this.state;
console.log('form.chargePersonId',form.chargePersonId);
console.log('form.userData',userData);
const { form, rules, catalogData, deptData, userData, riskLevelList, currentPersonData } = this.state;
console.log('form.chargePersonId', form.chargePersonId);
console.log('form.userData', userData);
const formItemLayout = {
labelCol: {
......@@ -592,7 +589,7 @@ class PointBasicInfoxq extends Component {
//defaultValues={["1569413","1533588","1559667"]}
data={userData}
renderOption={item => <Option key={item.id} value={item.id}>{item.name }</Option>}
renderOption={item => <Option key={item.id} value={item.id}>{item.name}</Option>}
onChange={e => this.onSelectChange('chargePersonId', e)}
values={this.renderCurrentPersonData(form.chargePersonId)}
/>
......
......@@ -55,7 +55,6 @@ class NewRoute extends Component {
};
onDeptChange = (key, value) => {
debugger
const { form } = this.state;
form[key] = value;
this.queryUserByDept(value);
......
......@@ -37,7 +37,6 @@ class RouteInfo extends Component {
onClickBootBar = (type) => {
debugger
if (type === '1') {
browserHistory.goBack();
} else if (type === '2') {
......
......@@ -34,7 +34,6 @@ class RouteInfoxq extends Component {
onClickBootBar = (type) => {
debugger
if (type === '1') {
browserHistory.goBack();
} else if (type === '2') {
......
......@@ -78,12 +78,11 @@ class RouteMain extends Component {
};
onDeptChange = (key, value) => {
let keyd= lsTool.read('departmentdate');
let keyd = lsTool.read('departmentdate');
const { form } = this.state;
debugger
// if(keyd!='null'){
// if(value!=keyd){
......@@ -149,7 +148,7 @@ debugger
<Form model={form} rules={rules} ref={component => this.form = component}>
<div className="input-item-div-left">
<FormItem label={<span>路线名称</span>} field="name" {...formItemLayout}>
<Input className="input-item-input" value={form.name} maxLength = "50" onChange={e => this.onChange('name', e.target.value)} />
<Input className="input-item-input" value={form.name} maxLength="50" onChange={e => this.onChange('name', e.target.value)} />
</FormItem>
<FormItem label={<span>责任人</span>} field="boss" {...formItemLayout}>
<Select
......
......@@ -87,7 +87,6 @@ class TableContent extends Component {
return col;
});
const columns = [titleCol, ...cols];
console.log(columns, JSON.stringify(columns));
return columns;
}
......
......@@ -9,7 +9,7 @@ import Table from './Table';
const ten = 10;
const mouth = 12;
/**
* 巡检完成情况月报表
* 年度巡检情况报表
*
* @class CompletionSituation
* @extends {Component}
......
......@@ -16,9 +16,10 @@ class Statistics extends Component {
{ key: '2', name: '任务安排统计分析', href: pathMapping.taskArrangement },
// { key: '3', name: '检查项目查询', href: '' },
// { key: '4', name: '检查项目统计分析', href: '' },
{ key: '5', name: '巡检完成情况月报表', href: pathMapping.completionsituation },
{ key: '5', name: '年度巡检情况报表', href: pathMapping.completionsituation },
// { key: '6', name: '巡检评分情况月报表', href: '' },
{ key: '7', name: '人员综合统计分析', href: pathMapping.personStatistics }
{ key: '7', name: '人员综合统计分析', href: pathMapping.personStatistics },
{ key: '8', name: '月度巡检情况报表', href: pathMapping.monthSituation }
// { key: '8', name: '计划执行情况查询', href: '' },
// { key: '9', name: '数字检查项日报表', href: '' },
// { key: '10', name: '数字检查项统计分析', href: '' }
......
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { DatePicker } from 'amos-antd';
import moment from 'moment';
import { Form, Button, Select, Input } from 'amos-framework';
import {
planListAction,
lineListAction,
executeStateListAction
} from './../../../../services/statisticsService';
const { MonthPicker } = DatePicker;
const FormItem = Form.Item;
const Option = Select.Option;
const FORMAT = 'YYYY-MM-DD HH:mm:ss';
/**
* 巡检情况统计分析-查询
*
* @class NewsSearch
* @extends {Component}
*/
class NewsSearch extends Component {
constructor(props) {
super(props);
this.state = {
form: {
startTime: {
name: 'startTime',
value: moment()
.startOf('month')
.format(FORMAT)
},
queryMonth: {
name: 'queryMonth',
value: moment()
.endOf('month')
.format('YYYY-MM')
},
endTime: {
name: 'endTime',
value: moment()
.endOf('month')
.format(FORMAT)
},
statisticsTyle: { name: 'statisticsTyle', value: '2' }
},
caliberList: [
{ name: '巡检计划', value: '0' },
{ name: '巡检点', value: '2' }
]
};
}
componentWillMount() {
this.handleSubmit();
}
onChange = (key, e) => {
let { form } = this.state;
form[key].value = e.target.value;
this.setState(form);
}
onDateChange = (key, date) => {
const { form } = this.state;
form[key].value = moment(date).format(FORMAT);
if (key === 'queryMonth'){
form.startTime.value = moment(date).startOf('month').format(FORMAT);
form.endTime.value = moment(date).endOf('month').format(FORMAT);
}
this.setState({ form });
}
onSelectChange = (key, value) => {
let { form } = this.state;
form[key].value = value;
this.setState(form);
}
handleSubmit = () => {
let { form } = this.state;
const obj = {};
Object.keys(form).map(e => {
obj[e] = form[e].value;
});
this.props.search(obj);
}
onResetFields = () => {
let { form } = this.state;
form.queryMonth.value = moment().format(FORMAT);
form.startTime.value = moment().startOf('month').format(FORMAT);
form.endTime.value = moment().endOf('month').format(FORMAT);
const obj = {};
Object.keys(form).map(e => {
obj[e] = form[e].value;
});
this.props.search(obj);
}
render() {
const { form, caliberList } = this.state;
const formItemLayout = {
labelCol: {
xs: { span: 24 },
sm: { span: 4 },
className: 'colspanlab'
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 14 },
className: 'colspan'
}
};
return (
<Form style={{ padding: '30px 0 0 0' }} className="basic-demo" model={form}>
<FormItem label={<span>统计口径</span>} field="statisticsTyle" {...formItemLayout}>
<Select
data={caliberList}
renderOption={item => <Option value={item.value}>{item.name}</Option>}
value={form.statisticsTyle.value}
className="search_Input"
onChange={e => this.onSelectChange('statisticsTyle', e)}
/>
</FormItem>
<FormItem label={<span>月份</span>} field="queryMonth" {...formItemLayout}>
<MonthPicker
className="search_Input"
value={moment(form.queryMonth.value)}
allowClear={false}
format="YYYY-MM"
onChange={e => this.onDateChange('queryMonth', e)}
/>
</FormItem>
<FormItem label={<span>开始日期</span>} field="startTime" {...formItemLayout}>
<DatePicker
className="search_Input"
value={moment(form.startTime.value)}
allowClear={false}
format={FORMAT}
onChange={e => this.onDateChange('startTime', e)}
/>
</FormItem>
<FormItem label={<span>结束日期</span>} field="endTime" {...formItemLayout}>
<DatePicker
className="search_Input"
value={moment(form.endTime.value)}
allowClear={false}
format={FORMAT}
onChange={e => this.onDateChange('endTime', e)}
/>
</FormItem>
<FormItem className="search-btn">
<Button icon="search" onClick={this.handleSubmit}>查询</Button>
<Button onClick={this.onResetFields}>重置</Button>
</FormItem>
</Form>
);
}
}
NewsSearch.propTypes = {
search: PropTypes.func
};
export default NewsSearch;
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import formatUrl from 'amos-processor/lib/utils/urlFormat';
import { Table } from 'amos-antd';
import { exportExcel } from 'UTILS/tools';
import { patrolUrls } from 'CONSTS/urlConsts';
import ToolBar from './../../../component/toolbar';
import './../../../../styles/view/patrol/statistics.scss';
import { utils } from 'amos-tool';
import moment from 'moment';
const dropnavs = [
{
key: '1',
text: '导出Excel',
icon: 'user',
href: 'jacascript::void(0)'
}
];
/**
* 月度巡检情况报表-表格
*
* @class TableContent
* @extends {Component}
*/
class MonthSituationTable extends Component {
constructor(props) {
super(props);
this.state = {
};
}
onExportExcel = () => {
const { searchParam } = this.props;
const millisecond = moment().format('YYYYMMDDHHmmss');
exportExcel({ url: patrolUrls.monthSituationExportUrl, method: 'post', body: searchParam }, '月度巡检情况报表' + millisecond);
}
onClickBootBar = type => {
if (type === '1') {
this.onExportExcel();
}
};
renderTitle = (titles) => {
let titleCol = {
title: '巡检日期',
dataIndex: '0',
key: 'month',
className: 'uant-table-thead',
width: 25,
render: (text, record)=><strong>{record.month}</strong>
};
let index = 0;
let cols = titles && titles.map( e => {
let children = new Array();
index = index + 1;
children.push({
title: '计划巡检次数',
dataIndex: index,
key: `planTaskCount${e.key}`,
width: 20,
render: (text, record) => {
let num = utils.isEmpty(record[`planTaskCount${e.key}`]) ? 0 : record[`planTaskCount${e.key}`];
return <strong>{num}</strong>;
}
});
index = index + 1;
children.push({
title: '实际巡检次数',
dataIndex: index,
key: `checkCount${e.key}`,
width: 20,
render: (text, record) => {
let num = utils.isEmpty(record[`checkCount${e.key}`]) ? 0 : record[`checkCount${e.key}`];
return <strong>{num}</strong>;
}
});
index = index + 1;
children.push({
title: '漏检次数',
dataIndex: index,
key: `missed${e.key}`,
width: 20,
render: (text, record) => {
let num = utils.isEmpty(record[`missed${e.key}`]) ? 0 : record[`missed${e.key}`];
return <strong>{num}</strong>;
}
});
index = index + 1;
children.push({
title: '异常次数',
dataIndex: index,
key: `faild${e.key}`,
width: 20,
render: (text, record) => {
let num = utils.isEmpty(record[`faild${e.key}`]) ? 0 : record[`faild${e.key}`];
return <strong>{num}</strong>;
}
});
let col = {
title: `${e.label}`,
children
};
return col;
});
const columns = [titleCol, ...cols];
return columns;
}
render() {
const { data, titles } = this.props;
const _pagination_ = false;
return (
<div className="patrol-page-table">
<ToolBar dropnavs={dropnavs} callBack={this.onClickBootBar} />
<div className="completion-situation-table">
<Table
rowKey={(record, index) => record.index}
columns={this.renderTitle(titles)}
pagination={_pagination_}
bordered
dataSource={data}
scroll={{ x: true, y: 500 }}
/>
</div>
</div>
);
}
}
MonthSituationTable.propTypes = {
searchParam: PropTypes.array,
data: PropTypes.any,
titles: PropTypes.array
};
export default MonthSituationTable;
import React, { Component } from 'react';
import SplitterLayout from './../../../component/SplitLayout';
import {
monthSituationAction
} from './../../../../services/statisticsService';
import Search from './Search';
import Table from './Table';
/**
* 巡检情况统计分析
*
* @class InspectionSituation
* @extends {Component}
*/
class MonthSituation extends Component {
constructor(props) {
super(props);
this.state = {
tableData: [],
searchParam: [],
titles: []
};
}
onQueryTableData = () => {
const { searchParam } = this.state;
monthSituationAction(searchParam).then(d => {
this.setState({ tableData: d.content, titles: d.titles });
});
}
onSearchDataSyn = (searchParam) => {
this.setState({ searchParam }, this.onQueryTableData);
};
render() {
const { tableData, searchParam, titles } = this.state;
return (
<div className="patrol-page-content">
<SplitterLayout>
<Search search={this.onSearchDataSyn} />
</SplitterLayout>
<Table data={tableData} searchParam={searchParam} titles={titles} />
</div>
);
}
}
export default MonthSituation;
import React, { Component } from 'react';
import moment from 'moment';
import { Form, Input, AmosAlert, Button, Checkbox, InputNumber , Select} from 'amos-framework';
import { Form, Input, AmosAlert, Button, Checkbox, InputNumber, Select } from 'amos-framework';
import { TreeSelect, DatePicker } from 'amos-antd';
import PropTypes from 'prop-types';
import { browserHistory } from 'amos-react-router';
......@@ -134,7 +134,7 @@ class NewTask extends Component {
onSelectChange = (value, item) => {
const { form } = this.state;
form.executor =item.name;
form.executor = item.name;
form.executorId = parseInt(value);
this.setState({ form });
......@@ -180,12 +180,12 @@ class NewTask extends Component {
// obj.name = item.name;
// return obj;
// });
taskInfo.finishTime = moment(taskInfo.finishTime).format('YYYY-MM-DD HH:mm:ss') ;
if (taskInfo.warnTime !== ''){
taskInfo.warnTime = moment(taskInfo.warnTime).format('YYYY-MM-DD HH:mm:ss') ;
taskInfo.finishTime = moment(taskInfo.finishTime).format('YYYY-MM-DD HH:mm:ss');
if (taskInfo.warnTime !== '') {
taskInfo.warnTime = moment(taskInfo.warnTime).format('YYYY-MM-DD HH:mm:ss');
}
let pic = new Object();
let config =new Array();
let config = new Array();
pic.start = form.shotMinNumber;
pic.end = form.shotMaxNumber;
if (form.isPicture === true) {
......@@ -202,17 +202,16 @@ class NewTask extends Component {
saveTaskAction(requestBody).then(
data => {
if(data===null){
if (data === null) {
AmosAlert.success('提示', '保存成功');
}else{
if(data.result==="FAILURE"){
AmosAlert.error('提示', data.message );
} else {
if (data.result === "FAILURE") {
AmosAlert.error('提示', data.message);
} else {
AmosAlert.success('提示', '保存成功');
}
}
debugger
browserHistory.goBack('/main/patrol/task');
},
......@@ -263,7 +262,7 @@ class NewTask extends Component {
<div className="input_item_div">
<Form model={form} rules={rules} ref={component => this.form = component}>
<FormItem label={<span>任务标题</span>} field="title" {...formItemLayout}>
<Input className="input_item_Input" value={form.title} maxLength = "50" placeholder="请输入任务标题" onChange={e => this.onChange('title', e.target.value)} />
<Input className="input_item_Input" value={form.title} maxLength="50" placeholder="请输入任务标题" onChange={e => this.onChange('title', e.target.value)} />
</FormItem>
<FormItem label={<span>说明</span>} field="remark" {...formItemLayout}>
<TextArea className="input_item_Input" rows={6} disableResize onChange={e => this.onChange('remark', e.target.value)} />
......
......@@ -4,7 +4,7 @@ import PropTypes from 'prop-types';
import { browserHistory } from 'amos-react-router';
import { Select, Form, Button } from 'amos-framework';
import { Store } from 'amos-tool';
import { getCurrentUser, regionSelectAction} from './../../services/securityService';
import { getCurrentUser, regionSelectAction } from './../../services/securityService';
const lsTool = Store.lsTool;
const FormItem = Form.Item;
......@@ -36,20 +36,15 @@ class RegionSelect extends Component {
const { sequenceNbr } = reginParams.role || {};
lsTool.write('selectedRole', sequenceNbr);
lsTool.write('curCompanyName', reginParams.company.companyName);
debugger
if('department' in reginParams&&reginParams.department!=null ){
if ('department' in reginParams && reginParams.department != null) {
lsTool.write('departmentdate', reginParams.department.sequenceNbr);
lsTool.write('departmentname', reginParams.department.departmentName);
}else{
} else {
lsTool.write('departmentdate', null);
lsTool.write('departmentname', null);
}
regionSelectAction(reginParams).then(
data => {
browserHistory.push('/main/patrol');
......@@ -64,25 +59,18 @@ class RegionSelect extends Component {
let { departments = [], roles = [] } = this.state;
if (key === 'company') {
reginParams.company = companys.find(item => item.sequenceNbr === value);
departments = companyDepartments[value];
roles = orgRoles[value];
}
if (key === 'department') {
debugger
if(value){
if (value) {
reginParams.department = departments.find(item =>
item!=null&&item.sequenceNbr === value
item != null && item.sequenceNbr === value
);
roles = orgRoles[value];
}else{
} else {
roles = orgRoles[reginParams.company.sequenceNbr];
}
}
if (key === 'role') {
reginParams.role = roles.find(item => item.sequenceNbr === value);
......@@ -90,23 +78,23 @@ class RegionSelect extends Component {
this.setState({ reginParams, departments, roles });
}
getCurrentUser =()=>{
getCurrentUser = () => {
getCurrentUser().then(data => {
const { reginParams } = this.state;
const { companys = [], companyDepartments = {}, orgRoles = {} } = data;
if (companys.length === 1) {
let company = companys[0];
let departments = companyDepartments[company.sequenceNbr] || [];
if (departments.length === 1 && ((orgRoles[company.sequenceNbr] || orgRoles[departments[0].sequenceNbr]) || []).length === 1 ) {
if (departments.length === 1 && ((orgRoles[company.sequenceNbr] || orgRoles[departments[0].sequenceNbr]) || []).length === 1) {
reginParams.company = company;
reginParams.department = departments[0];
reginParams.role = orgRoles[company.sequenceNbr] ? orgRoles[company.sequenceNbr][0] : orgRoles[departments[0].sequenceNbr] ? orgRoles[departments[0].sequenceNbr][0] : {};
this.setState({ reginParams },()=>this.onClick());
} else if (departments.length === 0 && (orgRoles[company.sequenceNbr] || []).length === 1){
this.setState({ reginParams }, () => this.onClick());
} else if (departments.length === 0 && (orgRoles[company.sequenceNbr] || []).length === 1) {
reginParams.company = company;
reginParams.department = {};
reginParams.role = orgRoles[company.sequenceNbr][0];
this.setState({ reginParams },()=>this.onClick());
this.setState({ reginParams }, () => this.onClick());
} else {
this.setState({ userInfo: data });
}
......@@ -117,29 +105,24 @@ class RegionSelect extends Component {
}
uniq=(array)=>{
debugger
if(array&&array.length>0){
uniq = (array) => {
if (array && array.length > 0) {
array.sort();
var temp=[array[0]];
for(var i = 1; i < array.length; i++){
if( array[i].sequenceNbr !== temp[temp.length-1].sequenceNbr){
var temp = [array[0]];
for (var i = 1; i < array.length; i++) {
if (array[i].sequenceNbr !== temp[temp.length - 1].sequenceNbr) {
temp.push(array[i]);
}
}
return temp;
}else{
} else {
return [];
}
}
}
renderItem = (item) => {
const { userId, companys = [] } = item;
let { departments = [], roles = [] } = this.state;
let newDepartments = departments.filter(d => d != null && void 0 !== d);
const formItemLayout = {
......
......@@ -169,7 +169,6 @@
-webkit-box-flex: 1; }
.checkDetail-root .amos-layout-content {
-webkit-box-flex: 2;
-ms-flex: 2 0 70%;
flex: 2 0 70%;
padding-top: 5px;
background: #333;
......@@ -300,14 +299,12 @@
line-height: 40px; }
.check-detail-table .check-detail-table-row1 {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
border: 1px solid #deddde;
border-bottom: 0;
border-left: 0; }
.check-detail-table .check-detail-table-row2 {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
border: 1px solid #deddde;
border-top: 0;
......@@ -321,17 +318,14 @@
background: #f2f2f2;
border-bottom: 1px solid #deddde;
border-left: 1px solid #deddde;
-webkit-box-sizing: border-box;
box-sizing: border-box;
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1; }
.check-detail-table .colValue {
float: left;
width: 131px;
height: 40px;
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
background: white;
border-bottom: 1px solid #deddde;
......@@ -376,7 +370,6 @@
position: absolute;
bottom: 10px;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
height: 60px;
-webkit-transition: left 0.5s;
......
......@@ -167,7 +167,6 @@
-webkit-box-flex: 1; }
.checkDetail-root .amos-layout-content {
-webkit-box-flex: 2;
-ms-flex: 2 0 70%;
flex: 2 0 70%;
padding-top: 5px;
background: #333;
......@@ -298,14 +297,12 @@
line-height: 40px; }
.check-detail-table .check-detail-table-row1 {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
border: 1px solid #deddde;
border-bottom: 0;
border-left: 0; }
.check-detail-table .check-detail-table-row2 {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
border: 1px solid #deddde;
border-top: 0;
......@@ -319,17 +316,14 @@
background: #f2f2f2;
border-bottom: 1px solid #deddde;
border-left: 1px solid #deddde;
-webkit-box-sizing: border-box;
box-sizing: border-box;
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1; }
.check-detail-table .colValue {
float: left;
width: 131px;
height: 40px;
-webkit-box-flex: 1;
-ms-flex: 1;
flex: 1;
background: white;
border-bottom: 1px solid #deddde;
......@@ -374,7 +368,6 @@
position: absolute;
bottom: 10px;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
height: 60px;
-webkit-transition: left 0.5s;
......
......@@ -30,7 +30,7 @@ var alias = {
// 入口点
// ------------------------------------
const prodEntry = {
app: './src/entry/index.prod.js'
app: './src/entry/index.js'
};
const devEntry = {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment