diff --git a/api/app/lib/controllers/data/index.js b/api/app/lib/controllers/data/index.js index eb524973..3ddb0d82 100644 --- a/api/app/lib/controllers/data/index.js +++ b/api/app/lib/controllers/data/index.js @@ -4,13 +4,12 @@ const xlsxDownload = require('../../../../utils/xlsxDownload.js'); const moment = require('moment'); const request = require('superagent'); -async function dataExport (ctx) { +async function dataExport(ctx) { try { const models = ctx.fs.dc.models; const { userId } = ctx.fs.api const { exp, ids, roadLevel, municipalType, patrolType } = ctx.query; - if (!exp) { throw '参数错误'; } @@ -97,7 +96,7 @@ async function dataExport (ctx) { } if (patrolType) { if (patrolType == 'road') { - + } else if (patrolType == 'anomaly') { } else { @@ -133,7 +132,7 @@ async function dataExport (ctx) { } } -async function godTrans (ctx) { +async function godTrans(ctx) { try { const models = ctx.fs.dc.models; const { userId } = ctx.fs.api diff --git a/api/app/lib/controllers/overview/building.js b/api/app/lib/controllers/overview/building.js index a68e32ae..28e00a34 100644 --- a/api/app/lib/controllers/overview/building.js +++ b/api/app/lib/controllers/overview/building.js @@ -27,7 +27,7 @@ const areaCode = { "360121572000": "良种繁殖场", } -async function roadState (ctx) { +async function roadState(ctx) { try { const models = ctx.fs.dc.models; const { userId } = ctx.fs.api; @@ -36,7 +36,6 @@ async function roadState (ctx) { const projectRoadRes = await models.Project.findAll({ type: 'road', }) - const bridgeRes = await models.Bridge.findAll({}) let constructionYear = [] @@ -46,6 +45,8 @@ async function roadState (ctx) { constructionYear.reverse() const roadState = { + //总数 + projectAll: projectRoadRes.length, // 在建数量 buildingRoad: 0, // 已建数量 @@ -191,7 +192,7 @@ async function roadState (ctx) { } } - if (p.buildUnit) { + if (p.buildUnit && p.done) { let townName = p.buildUnit.replace('人民政府', '').replace('南昌县', '').replace('管委会', '') if (roadState.townProject[townName]) { roadState.townProject[townName] += 1 diff --git a/api/app/lib/controllers/report/index.js b/api/app/lib/controllers/report/index.js index 1f8e8c43..2ca58067 100644 --- a/api/app/lib/controllers/report/index.js +++ b/api/app/lib/controllers/report/index.js @@ -43,7 +43,7 @@ async function reportList (ctx) { where: { }, - attributes: ['id', 'road', 'time', 'projectType', 'roadSectionStart', 'performerId', 'roadSectionEnd', 'reportType', 'content', 'longitude', 'latitude', 'projectName', 'handleState'], + attributes: ['id', 'road', 'time', 'projectType', 'roadSectionStart', 'performerId', 'roadSectionEnd', 'reportType', 'content', 'longitude', 'latitude', 'projectName', 'handleState', 'codeRoad'], include: [{ model: models.User, attributes: ['name'] diff --git a/scripts/1.2.3/schema/6.update_resource.sql b/scripts/1.2.3/schema/6.update_resource.sql new file mode 100644 index 00000000..510af464 --- /dev/null +++ b/scripts/1.2.3/schema/6.update_resource.sql @@ -0,0 +1 @@ +UPDATE resource SET code = 'WXTODOANDONE', name = '小程序待办处理' WHERE code LIKE 'WXTODOLIST' ESCAPE '#' \ No newline at end of file diff --git a/weapp/src/packages/patrol/index.jsx b/weapp/src/packages/patrol/index.jsx index 33d25597..267e4e4f 100644 --- a/weapp/src/packages/patrol/index.jsx +++ b/weapp/src/packages/patrol/index.jsx @@ -158,16 +158,19 @@ const Index = () => { Taro.showLoading({ title: '加载中' }) let key = 'ODQBZ-3FZAU-6VIVL-2XXNM-F7CP7-WVFCY' // 写自己申请的key Taro.getLocation({ - type: 'wgs84', + // type: 'wgs84', + type: 'gcj02', isHighAccuracy: true, highAccuracyExpireTime: 1000 * 6, success: function (res) { + console.log(res); setLongitude(res.longitude) setLatitude(res.latitude) Taro.request({ url: `https://apis.map.qq.com/ws/geocoder/v1/?location=${res.latitude},${res.longitude}&key=${key}`, success: function (res) { // 根据自己项目需求获取res内容 + console.log('地址信息:', res); let addresscity = '' addresscity = res.data.result.address_component.province diff --git a/web/client/src/sections/fillion/components/bridgeTable.js b/web/client/src/sections/fillion/components/bridgeTable.js index 64d77eb3..23d74b38 100644 --- a/web/client/src/sections/fillion/components/bridgeTable.js +++ b/web/client/src/sections/fillion/components/bridgeTable.js @@ -1767,13 +1767,13 @@ const BrideTable = (props) => { activeKey, onChange: (key) => setActiveKey(key), items: [ - { - key: 'tab1', - label: { - setWhichofits('qiaoliang') - setDifferentiate('bridge') - }}>桥梁{activeKey === 'tab1'}, - }, + // { + // key: 'tab1', + // label: { + // setWhichofits('qiaoliang') + // setDifferentiate('bridge') + // }}>桥梁{activeKey === 'tab1'}, + // }, // { // key: 'tab2', // label: { diff --git a/web/client/src/sections/fillion/components/buildingTable.js b/web/client/src/sections/fillion/components/buildingTable.js index b4ca4b51..da8bf6d7 100644 --- a/web/client/src/sections/fillion/components/buildingTable.js +++ b/web/client/src/sections/fillion/components/buildingTable.js @@ -26,7 +26,7 @@ const BuildingTable = (props) => { const [grade, setGrade] = useState('project') const [departmentInfo, setDepartment] = useState('') const [editAble, setEditAble] = useState(user?.username !== 'SuperAdmin' && user?.userResources?.find(i => i.resourceId === 'BUILDINGPROJECT')?.isshow === "true" ? true : '') - console.log('user111', user) + //console.log('user111', user) const ref = useRef() const [activeKey, setActiveKey] = useState('tab1'); //打开弹窗 @@ -280,15 +280,15 @@ const BuildingTable = (props) => { activeKey, onChange: (key) => setActiveKey(key), items: [ - { - key: 'tab1', - label: { - setWhichofits('在建项目') - setDifferentiate('project') - setGrade('在建项目') + // { + // key: 'tab1', + // label: { + // setWhichofits('在建项目') + // setDifferentiate('project') + // setGrade('在建项目') - }}>在建项目{activeKey === 'tab1'}, - }, + // }}>在建项目{activeKey === 'tab1'}, + // }, ], }, }} @@ -328,10 +328,10 @@ const BuildingTable = (props) => { optionRender: (searchConfig, formProps, dom) => [ ...dom.reverse(), { props.exports(rowSelected, grade, differentiate) }} - disabled={user?.username !== 'SuperAdmin' && user?.userResources?.filter(i => i.resourceId === 'ROADMANAGE')[0].isshow === "true" ? true : ''} + disabled={user?.username !== 'SuperAdmin' && user?.userResources?.find(i => i.resourceId === 'BUILDINGPROJECT')?.isshow === "true" ? true : ''} > diff --git a/web/client/src/sections/fillion/components/feedback/nominateModal.js b/web/client/src/sections/fillion/components/feedback/nominateModal.js index 9cd0dba8..c14a2ca3 100644 --- a/web/client/src/sections/fillion/components/feedback/nominateModal.js +++ b/web/client/src/sections/fillion/components/feedback/nominateModal.js @@ -65,7 +65,7 @@ const NominateModal = (props) => { visible={visible} onVisibleChange={onVisibleChange} onFinish={handleFinish} - destroyOnClose={true} + destroyOnClose initialValues={{ departmentId: null, name: null }} > @@ -113,10 +113,23 @@ const NominateModal = (props) => { request={async () => { if (depId) { const res = await dispatch(getDepUser(depId)); - const processedUsers = res?.payload.data.map((user) => ({ - label: user.name, // 使用用户的名字作为选项的显示文本 - value: user.id, // 使用用户的id作为选项的值 - })); + const copy = res?.payload.data.filter((user) => { + if (user.isAdmin) { + return { + label: user.name, // 使用用户的名字作为选项的显示文本 + value: user.id, // 使用用户的id作为选项的值 + } + } + } + ) + let processedUsers = copy.map((item) => { + return { + label: item.name, // 使用用户的名字作为选项的显示文本 + value: item.id, // 使用用户的id作为选项的值 + } + }) + console.log('processedUsers', copy) + console.log('processedUsers', processedUsers) return Promise.resolve(processedUsers) } diff --git a/web/client/src/sections/fillion/components/maintenanceTable.js b/web/client/src/sections/fillion/components/maintenanceTable.js index 640f5772..d7377c55 100644 --- a/web/client/src/sections/fillion/components/maintenanceTable.js +++ b/web/client/src/sections/fillion/components/maintenanceTable.js @@ -435,7 +435,7 @@ const PatrolNameList = (props) => { return (
handleSearch(e.target.value)} /> diff --git a/web/client/src/sections/fillion/components/patrolTable.js b/web/client/src/sections/fillion/components/patrolTable.js index 88f63f6e..823f273a 100644 --- a/web/client/src/sections/fillion/components/patrolTable.js +++ b/web/client/src/sections/fillion/components/patrolTable.js @@ -46,7 +46,9 @@ const DetailForm = (props) => { { key: '所在路段', name: 'road', skip: isRoad }, { key: '具体位置', name: 'address' }, { key: '巡查内容', name: 'content' }, + { key: '路线代码', name: 'codeRoad' }, { key: '现场照片', name: 'scenePic' }, + ]; const renderContent = (data) => { @@ -251,10 +253,10 @@ const DetailList = (props) => { , - isAnomaly && record.handleState != '已处理' && record.performerId === null ? + isAnomaly && record.handleState != '已处理' && record.performerId === null && user?.username === 'SuperAdmin' ? : null, - isAnomaly && record.handleState != '已处理' && record.performerId === null ? + isAnomaly && record.handleState != '已处理' && record.performerId === null && user?.username === 'SuperAdmin' ? < Popover content={ [ diff --git a/web/client/src/sections/fillion/components/project/project.js b/web/client/src/sections/fillion/components/project/project.js index 1735405d..c6caac02 100644 --- a/web/client/src/sections/fillion/components/project/project.js +++ b/web/client/src/sections/fillion/components/project/project.js @@ -21,6 +21,7 @@ const ProjectModal = (props) => { const { visible, onVisibleChange, typecard, rewkeys, recortd, dispatch, setRecortd, setDelet, getData } = props //console.log('typecard', newlysay) const [newlys, setNewlys] = useState() //必填数据 + const [newlysay, setNewlysay] = useState() //处理hou const [records, setRecords] = useState()//处理 const [recordsay, setRecordsay] = useState()//必填数据 @@ -202,10 +203,10 @@ const ProjectModal = (props) => { /> })} - - - } + } + + {/* : '' } */} diff --git a/web/client/src/sections/fillion/containers/assess.js b/web/client/src/sections/fillion/containers/assess.js index 1ce77a1a..17ef6f24 100644 --- a/web/client/src/sections/fillion/containers/assess.js +++ b/web/client/src/sections/fillion/containers/assess.js @@ -27,7 +27,7 @@ export const unitList = [ '黄马乡', ] function Assess(props) { - const { dispatch, assess } = props; + const { dispatch, assess, user } = props; const [assessModalVisible, setAssessModalVisible] = useState(false); const [editData, setEditData] = useState(null); const [query, setQuery] = useState({ page: 1, pageSize: 10 }) diff --git a/web/client/src/sections/fillion/nav-item.js b/web/client/src/sections/fillion/nav-item.js index 1a4061ee..0449594f 100644 --- a/web/client/src/sections/fillion/nav-item.js +++ b/web/client/src/sections/fillion/nav-item.js @@ -68,7 +68,7 @@ export function getNavItem(user, dispatch) { 建设上报 : ''} - {user?.username == 'SuperAdmin' || user?.userResources?.filter(i => i.resourceId === 'BUILDINGPROJECT') ? + {user?.username == 'SuperAdmin' || user?.userResources?.some(i => i.resourceId === 'BUILDINGPROJECT') ? 在建项目 : ''} diff --git a/web/client/src/sections/organization/containers/authority.js b/web/client/src/sections/organization/containers/authority.js index a5ec4e51..46900017 100644 --- a/web/client/src/sections/organization/containers/authority.js +++ b/web/client/src/sections/organization/containers/authority.js @@ -14,7 +14,7 @@ const Authority = (props) => { const r1 = ['USERMANAGE', 'AUTHORIMANAGE', 'OVERLOADMANAGE', 'ROADMANAGE', 'BRIDGEMANAGE', 'MAINTENANCEMANAGE', 'TRANSPORTATIONMANAGE', 'CONSERVATIONMANAGE', 'PATROLMANAGE', 'PUBLICTRANSPORTMANAGE', 'FILEMANAGE', 'PUBLICITYVIDEO', 'FEEDBACKMANAGE', 'REPORTMANAGE', 'ASSESSMANAGE', 'VIDEOCENTER', 'BUILDINGPROJECT', 'WXPATROLREPORT', 'WXMAINTENANCEREPORT', 'WXFEEDBACKMANAGE', 'WXBUILDINGROAD', - 'WXTODOLIST', 'WXDONELIST' + 'WXTODOANDONE' ] const [depUserCopy, setDepUserCopy] = useState([])//用于存放除了自己的管理的数组,即自己不能调整自己是否为管理员 const [depSelectedKeys, setDepSelectedKeys] = useState([]) diff --git a/web/client/src/sections/organization/containers/user.js b/web/client/src/sections/organization/containers/user.js index e2c93dd0..2d0bef0f 100644 --- a/web/client/src/sections/organization/containers/user.js +++ b/web/client/src/sections/organization/containers/user.js @@ -320,7 +320,7 @@ const UserManage = (props) => { key="primary" style={{ marginLeft: 10 }} onClick={() => openDepModal('create')} - disabled={editAble} + disabled={user?.username !== 'SuperAdmin'} > 新建部门 diff --git a/web/client/src/sections/quanju/containers/footer/build/index.js b/web/client/src/sections/quanju/containers/footer/build/index.js index 8f3f1326..3573ab62 100644 --- a/web/client/src/sections/quanju/containers/footer/build/index.js +++ b/web/client/src/sections/quanju/containers/footer/build/index.js @@ -46,7 +46,7 @@ const Build = (props) => { // console.log(alltype,'打他啊') setdata(alltype.filter(item => item.name === '县' || item.name === "乡" || item.name === '村')) setbuildingnumber(res.payload.data) - // console.log(res.payload.data,'哈哈哈') + console.log(res.payload.data, '哈哈哈') } @@ -81,11 +81,11 @@ const Build = (props) => { return resValue } let datas = Object.keys(buildingnumber?.townRoad || {}).map((item) => ({ name: item, number: buildingnumber.townRoad[item].roadCount, gongli: Number(keepThreeNum(buildingnumber.townRoad[item].mileage)) })) - - let list = datas.sort((a, b) => { + + let list = datas.sort((a, b) => { return b.number - a.number }) - list=list.filter(item=>item.name!=="其他") + list = list.filter(item => item.name !== "其他") // console.log(list,'红红火') //道路等级数据 @@ -95,7 +95,11 @@ const Build = (props) => { onlineproject = onlineproject.sort((a, b) => { return b.total - a.total }) + //console.log('onlineproject', onlineproject) let sunonlineproject = onlineproject?.reduce((x, y) => x + y.total, 0) + let projectAll = buildingnumber?.projectAll + //console.log('projectAll', projectAll) + //let projectAll= let safetyData = alldengji?.filter(item => item.name === '一级公路' || item.name === '二级公路' || item.name === '三级公路' || item.name === '四级公路' || item.name === '等外公路') let sundata = data?.reduce((x, y) => x + y.value, 0) let sunsafetyData = safetyData?.reduce((x, y) => x + y.value, 0) @@ -104,9 +108,9 @@ const Build = (props) => { requestbuildingnumber(); requestxuanchuanlan() }, []) - useEffect(()=>{ + useEffect(() => { lunbo.current.goTo(lunboindex) - },[lunboindex]) + }, [lunboindex]) const rendercontent = () => { return (
{list.map(({ name, number, gongli }, index) =>
@@ -160,7 +164,7 @@ const Build = (props) => {
*/}
-
{sunonlineproject || 0}
+
{projectAll || 0}
{/* */} {/* */} @@ -222,7 +226,7 @@ const Build = (props) => { height: " 33%" }} customize={true}>
- + {/* */} {/* { @@ -248,36 +252,36 @@ const Build = (props) => { } */} { - xuandata&&xuandata!==null&&xuandata.length!==0?xuandata.filter(i=>i.enable).map((item,index1)=>{ - - if(item.video&&item.video!==null&&item.video.length!==0){ - return item.video.map((i,index)=>{ - // console.log(i,'视频') - console.log(index1,'index1') - if(index1===lunboindex){ - // lunbo.current.goTo(lunboindex) - console.log("自动播放",index1) - return - }else{ - // console.log("不自动播放",index1) - return + // return + + }) + : } - }) - } - // return - - }) - : - } {/* */}

全面建设好农村公路,切实发挥先行官作用

diff --git a/web/client/src/sections/quanju/containers/footer/conserve/left/left-center.js b/web/client/src/sections/quanju/containers/footer/conserve/left/left-center.js index f092903d..d62139a6 100644 --- a/web/client/src/sections/quanju/containers/footer/conserve/left/left-center.js +++ b/web/client/src/sections/quanju/containers/footer/conserve/left/left-center.js @@ -27,27 +27,41 @@ const LeftCenter = (props) => { dispatch(getNearestAssessData({ monthRange: 6 })).then(res => { if (res.success) { let nextChartSeries = [] - let nextXAxis = new Set() + let nextXAxis = [] let data = res.payload.data data.reverse() for (let d of data) { let corUnitSeries = nextChartSeries.find(item => item.name == d.unit) let month = moment(d.month).format('YYYY-MM') - nextXAxis.add(month) + let curMonthIndex = nextXAxis.findIndex(item => item == month) + if (curMonthIndex < 0) { + nextXAxis.push(month) + curMonthIndex = nextXAxis.length - 1 + } if (corUnitSeries) { - corUnitSeries.data.push(d.totalPoints) + corUnitSeries.data[curMonthIndex] = d.totalPoints } else { - nextChartSeries.push({ + let nextnextChartSerie = { type: 'line', smooth: true, - data: [d.totalPoints], + data: [], name: d.unit, - }) + } + nextnextChartSerie.data[curMonthIndex] = d.totalPoints + nextChartSeries.push(nextnextChartSerie) } } + for (let s of nextChartSeries) { + for (let i = 0; i < nextXAxis.length; i++) { + if (!s.data[i] && s.data[i] != 0) { + s.data[i] = undefined + } + } + } + setChartData({ series: nextChartSeries, - xAxis: [...nextXAxis] + xAxis: nextXAxis }) } })