Browse Source

feat:小程序权限的修改

dev
zhaobing 2 years ago
parent
commit
879ecc8cb3
  1. 7
      api/app/lib/controllers/data/index.js
  2. 7
      api/app/lib/controllers/overview/building.js
  3. 2
      api/app/lib/controllers/report/index.js
  4. 1
      scripts/1.2.3/schema/6.update_resource.sql
  5. 6
      web/client/src/sections/fillion/components/buildingTable.js
  6. 2
      web/client/src/sections/fillion/components/patrolTable.js
  7. 2
      web/client/src/sections/fillion/containers/assess.js
  8. 2
      web/client/src/sections/organization/containers/authority.js
  9. 2
      web/client/src/sections/organization/containers/user.js
  10. 76
      web/client/src/sections/quanju/containers/footer/build/index.js

7
api/app/lib/controllers/data/index.js

@ -4,13 +4,12 @@ const xlsxDownload = require('../../../../utils/xlsxDownload.js');
const moment = require('moment'); const moment = require('moment');
const request = require('superagent'); const request = require('superagent');
async function dataExport (ctx) { async function dataExport(ctx) {
try { try {
const models = ctx.fs.dc.models; const models = ctx.fs.dc.models;
const { userId } = ctx.fs.api const { userId } = ctx.fs.api
const { exp, ids, roadLevel, municipalType, const { exp, ids, roadLevel, municipalType,
patrolType } = ctx.query; patrolType } = ctx.query;
if (!exp) { if (!exp) {
throw '参数错误'; throw '参数错误';
} }
@ -97,7 +96,7 @@ async function dataExport (ctx) {
} }
if (patrolType) { if (patrolType) {
if (patrolType == 'road') { if (patrolType == 'road') {
} else if (patrolType == 'anomaly') { } else if (patrolType == 'anomaly') {
} else { } else {
@ -133,7 +132,7 @@ async function dataExport (ctx) {
} }
} }
async function godTrans (ctx) { async function godTrans(ctx) {
try { try {
const models = ctx.fs.dc.models; const models = ctx.fs.dc.models;
const { userId } = ctx.fs.api const { userId } = ctx.fs.api

7
api/app/lib/controllers/overview/building.js

@ -27,7 +27,7 @@ const areaCode = {
"360121572000": "良种繁殖场", "360121572000": "良种繁殖场",
} }
async function roadState (ctx) { async function roadState(ctx) {
try { try {
const models = ctx.fs.dc.models; const models = ctx.fs.dc.models;
const { userId } = ctx.fs.api; const { userId } = ctx.fs.api;
@ -36,7 +36,6 @@ async function roadState (ctx) {
const projectRoadRes = await models.Project.findAll({ const projectRoadRes = await models.Project.findAll({
type: 'road', type: 'road',
}) })
const bridgeRes = await models.Bridge.findAll({}) const bridgeRes = await models.Bridge.findAll({})
let constructionYear = [] let constructionYear = []
@ -46,6 +45,8 @@ async function roadState (ctx) {
constructionYear.reverse() constructionYear.reverse()
const roadState = { const roadState = {
//总数
projectAll: projectRoadRes.length,
// 在建数量 // 在建数量
buildingRoad: 0, 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('管委会', '') let townName = p.buildUnit.replace('人民政府', '').replace('南昌县', '').replace('管委会', '')
if (roadState.townProject[townName]) { if (roadState.townProject[townName]) {
roadState.townProject[townName] += 1 roadState.townProject[townName] += 1

2
api/app/lib/controllers/report/index.js

@ -43,7 +43,7 @@ async function reportList (ctx) {
where: { 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: [{ include: [{
model: models.User, model: models.User,
attributes: ['name'] attributes: ['name']

1
scripts/1.2.3/schema/6.update_resource.sql

@ -0,0 +1 @@
UPDATE resource SET code = 'WXTODOANDONE', name = '小程序待办处理' WHERE code LIKE 'WXTODOLIST' ESCAPE '#'

6
web/client/src/sections/fillion/components/buildingTable.js

@ -26,7 +26,7 @@ const BuildingTable = (props) => {
const [grade, setGrade] = useState('project') const [grade, setGrade] = useState('project')
const [departmentInfo, setDepartment] = useState('') const [departmentInfo, setDepartment] = useState('')
const [editAble, setEditAble] = useState(user?.username !== 'SuperAdmin' && user?.userResources?.find(i => i.resourceId === 'BUILDINGPROJECT')?.isshow === "true" ? true : '') 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 ref = useRef()
const [activeKey, setActiveKey] = useState('tab1'); const [activeKey, setActiveKey] = useState('tab1');
//打开弹窗 //打开弹窗
@ -328,10 +328,10 @@ const BuildingTable = (props) => {
optionRender: (searchConfig, formProps, dom) => [ optionRender: (searchConfig, formProps, dom) => [
...dom.reverse(), ...dom.reverse(),
<Popconfirm title="确认导出?" onConfirm={() => { props.exports(rowSelected, grade, differentiate) }} <Popconfirm title="确认导出?" onConfirm={() => { 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 : ''}
> >
<Button <Button
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 : ''}
> >
导出 导出
</Button> </Button>

2
web/client/src/sections/fillion/components/patrolTable.js

@ -46,7 +46,9 @@ const DetailForm = (props) => {
{ key: '所在路段', name: 'road', skip: isRoad }, { key: '所在路段', name: 'road', skip: isRoad },
{ key: '具体位置', name: 'address' }, { key: '具体位置', name: 'address' },
{ key: '巡查内容', name: 'content' }, { key: '巡查内容', name: 'content' },
{ key: '路线代码', name: 'codeRoad' },
{ key: '现场照片', name: 'scenePic' }, { key: '现场照片', name: 'scenePic' },
]; ];
const renderContent = (data) => { const renderContent = (data) => {

2
web/client/src/sections/fillion/containers/assess.js

@ -27,7 +27,7 @@ export const unitList = [
'黄马乡', '黄马乡',
] ]
function Assess(props) { function Assess(props) {
const { dispatch, assess } = props; const { dispatch, assess, user } = props;
const [assessModalVisible, setAssessModalVisible] = useState(false); const [assessModalVisible, setAssessModalVisible] = useState(false);
const [editData, setEditData] = useState(null); const [editData, setEditData] = useState(null);
const [query, setQuery] = useState({ page: 1, pageSize: 10 }) const [query, setQuery] = useState({ page: 1, pageSize: 10 })

2
web/client/src/sections/organization/containers/authority.js

@ -14,7 +14,7 @@ const Authority = (props) => {
const r1 = ['USERMANAGE', 'AUTHORIMANAGE', 'OVERLOADMANAGE', 'ROADMANAGE', 'BRIDGEMANAGE', 'MAINTENANCEMANAGE', 'TRANSPORTATIONMANAGE', const r1 = ['USERMANAGE', 'AUTHORIMANAGE', 'OVERLOADMANAGE', 'ROADMANAGE', 'BRIDGEMANAGE', 'MAINTENANCEMANAGE', 'TRANSPORTATIONMANAGE',
'CONSERVATIONMANAGE', 'PATROLMANAGE', 'PUBLICTRANSPORTMANAGE', 'FILEMANAGE', 'PUBLICITYVIDEO', 'FEEDBACKMANAGE', 'REPORTMANAGE', 'CONSERVATIONMANAGE', 'PATROLMANAGE', 'PUBLICTRANSPORTMANAGE', 'FILEMANAGE', 'PUBLICITYVIDEO', 'FEEDBACKMANAGE', 'REPORTMANAGE',
'ASSESSMANAGE', 'VIDEOCENTER', 'BUILDINGPROJECT', 'WXPATROLREPORT', 'WXMAINTENANCEREPORT', 'WXFEEDBACKMANAGE', 'WXBUILDINGROAD', 'ASSESSMANAGE', 'VIDEOCENTER', 'BUILDINGPROJECT', 'WXPATROLREPORT', 'WXMAINTENANCEREPORT', 'WXFEEDBACKMANAGE', 'WXBUILDINGROAD',
'WXTODOLIST', 'WXDONELIST' 'WXTODOANDONE'
] ]
const [depUserCopy, setDepUserCopy] = useState([])//用于存放除了自己的管理的数组,即自己不能调整自己是否为管理员 const [depUserCopy, setDepUserCopy] = useState([])//用于存放除了自己的管理的数组,即自己不能调整自己是否为管理员
const [depSelectedKeys, setDepSelectedKeys] = useState([]) const [depSelectedKeys, setDepSelectedKeys] = useState([])

2
web/client/src/sections/organization/containers/user.js

@ -320,7 +320,7 @@ const UserManage = (props) => {
key="primary" key="primary"
style={{ marginLeft: 10 }} style={{ marginLeft: 10 }}
onClick={() => openDepModal('create')} onClick={() => openDepModal('create')}
disabled={editAble} disabled={user?.username !== 'SuperAdmin'}
> >
新建部门</Button> 新建部门</Button>

76
web/client/src/sections/quanju/containers/footer/build/index.js

@ -46,7 +46,7 @@ const Build = (props) => {
// console.log(alltype,'打他啊') // console.log(alltype,'打他啊')
setdata(alltype.filter(item => item.name === '县' || item.name === "乡" || item.name === '村')) setdata(alltype.filter(item => item.name === '县' || item.name === "乡" || item.name === '村'))
setbuildingnumber(res.payload.data) setbuildingnumber(res.payload.data)
// console.log(res.payload.data,'哈哈哈') console.log(res.payload.data, '哈哈哈')
} }
@ -81,11 +81,11 @@ const Build = (props) => {
return resValue 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 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 return b.number - a.number
}) })
list=list.filter(item=>item.name!=="其他") list = list.filter(item => item.name !== "其他")
// console.log(list,'红红火') // console.log(list,'红红火')
//道路等级数据 //道路等级数据
@ -95,7 +95,11 @@ const Build = (props) => {
onlineproject = onlineproject.sort((a, b) => { onlineproject = onlineproject.sort((a, b) => {
return b.total - a.total return b.total - a.total
}) })
//console.log('onlineproject', onlineproject)
let sunonlineproject = onlineproject?.reduce((x, y) => x + y.total, 0) 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 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 sundata = data?.reduce((x, y) => x + y.value, 0)
let sunsafetyData = safetyData?.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(); requestbuildingnumber();
requestxuanchuanlan() requestxuanchuanlan()
}, []) }, [])
useEffect(()=>{ useEffect(() => {
lunbo.current.goTo(lunboindex) lunbo.current.goTo(lunboindex)
},[lunboindex]) }, [lunboindex])
const rendercontent = () => { const rendercontent = () => {
return (<div className='build-left-center-content'> return (<div className='build-left-center-content'>
{list.map(({ name, number, gongli }, index) => <div className='build-left-center-item' key={index}> {list.map(({ name, number, gongli }, index) => <div className='build-left-center-item' key={index}>
@ -160,7 +164,7 @@ const Build = (props) => {
</div> */} </div> */}
<img src='/assets/images/quanju/yuanhuan.webp' className='build-left-top-center' /> <img src='/assets/images/quanju/yuanhuan.webp' className='build-left-top-center' />
<div className='build-left-top-item'> <div className='build-left-top-item'>
<div>{sunonlineproject || 0}</div> <div>{projectAll || 0}</div>
<div> <div>
{/* <i>&#9658;</i> */} {/* <i>&#9658;</i> */}
{/* <span /> */} {/* <span /> */}
@ -222,7 +226,7 @@ const Build = (props) => {
height: " 33%" height: " 33%"
}} customize={true}> }} customize={true}>
<div className='build-right-top'> <div className='build-right-top'>
{/* <img src='/assets/images/quanju/xuanchuanlan.jpg'></img> */} {/* <img src='/assets/images/quanju/xuanchuanlan.jpg'></img> */}
<Carousel dots={false} ref={lunbo} key={lunboindex}> <Carousel dots={false} ref={lunbo} key={lunboindex}>
{/* { {/* {
@ -248,36 +252,36 @@ const Build = (props) => {
} */} } */}
{ {
xuandata&&xuandata!==null&&xuandata.length!==0?xuandata.filter(i=>i.enable).map((item,index1)=>{ xuandata && xuandata !== null && xuandata.length !== 0 ? xuandata.filter(i => i.enable).map((item, index1) => {
if(item.video&&item.video!==null&&item.video.length!==0){ if (item.video && item.video !== null && item.video.length !== 0) {
return item.video.map((i,index)=>{ return item.video.map((i, index) => {
// console.log(i,'视频') // console.log(i,'视频')
console.log(index1,'index1') console.log(index1, 'index1')
if(index1===lunboindex){ if (index1 === lunboindex) {
// lunbo.current.goTo(lunboindex) // lunbo.current.goTo(lunboindex)
console.log("自动播放",index1) console.log("自动播放", index1)
return <video src={`${localStorage.getItem("qndmn")}/${i}`} autoPlay={true} ref={lunbovideo} onEnded={()=>{ return <video src={`${localStorage.getItem("qndmn")}/${i}`} autoPlay={true} ref={lunbovideo} onEnded={() => {
if(index1<xuandata.filter(i=>i.enable).length-1){ if (index1 < xuandata.filter(i => i.enable).length - 1) {
// console.log(index1,xuandata,'触发了') // console.log(index1,xuandata,'触发了')
setlunboindex(lunboindex+1) setlunboindex(lunboindex + 1)
}else{ } else {
// console.log(index1,xuandata,'触发了') // console.log(index1,xuandata,'触发了')
setlunboindex(0) setlunboindex(0)
}
}}></video>
} else {
// console.log("不自动播放",index1)
return <video src={`${localStorage.getItem("qndmn")}/${i}`} autoPlay={false} ></video>
}
})
} }
// return <video src={`${localStorage.getItem("qndmn")}/${item.video!==null&&item.video.length!==0?item.video[0]:""}`} autoPlay="autoplay" loop></video>
}}></video>
}else{ })
// console.log("不自动播放",index1) : <video src='#'></video>
return <video src={`${localStorage.getItem("qndmn")}/${i}`} autoPlay={false} ></video>
} }
})
}
// return <video src={`${localStorage.getItem("qndmn")}/${item.video!==null&&item.video.length!==0?item.video[0]:""}`} autoPlay="autoplay" loop></video>
})
:<video src='#'></video>
}
{/* <video src={xuandata&&xuandata!==null&&xuandata.length!==0?`${localStorage.getItem("qndmn")}/${xuandata[0].video!==null&&xuandata[0].video?xuandata[0].video[0]:""}`:"#"} autoPlay="autoplay" loop></video> */} {/* <video src={xuandata&&xuandata!==null&&xuandata.length!==0?`${localStorage.getItem("qndmn")}/${xuandata[0].video!==null&&xuandata[0].video?xuandata[0].video[0]:""}`:"#"} autoPlay="autoplay" loop></video> */}
</Carousel> </Carousel>
<h2>全面建设好农村公路切实发挥先行官作用</h2> <h2>全面建设好农村公路切实发挥先行官作用</h2>

Loading…
Cancel
Save