diff --git a/api/.vscode/launch.json b/api/.vscode/launch.json index 3b6039f..e0d3400 100644 --- a/api/.vscode/launch.json +++ b/api/.vscode/launch.json @@ -16,8 +16,8 @@ "-p 4600", "-f http://localhost:4600", // 研发 - // "-g postgres://postgres:123@10.8.30.32:5432/orational_service", - "-g postgres://postgres:123@10.8.30.166:5432/POMS_2306", + "-g postgres://postgres:123@10.8.30.32:5432/orational_service", + // "-g postgres://postgres:123@10.8.30.166:5432/POMS_2306", // 测试 // "-g postgres://FashionAdmin:123456@10.8.30.156:5432/POMS", "-k 10.8.30.72:29092,10.8.30.73:29092,10.8.30.74:29092", @@ -26,9 +26,9 @@ "--redisPort 6379", "--apMergeDeVeAnxinProjectId 1,2,3", "--axyApiUrl http://127.0.0.1:4100", - // "--apiEmisUrl http://10.8.30.112:14000", + "--apiEmisUrl http://10.8.30.112:14000", // 测试 - "--apiEmisUrl http://10.8.30.161:1111", + // "--apiEmisUrl http://10.8.30.161:1111", "--apiVcmpUrl http://localhost:4000", "--apiIotAuth http://localhost:4200", "--godUrl https://restapi.amap.com/v3", @@ -48,8 +48,8 @@ // "--clickHousePort 30123", // "--clickHouseUrl https://clickhouse01.anxinyun.cn/play", // click 测试 - "--clickHouseUrl http://10.8.30.156", - "--clickHousePort 8123", + "--clickHouseUrl http://10.8.30.161", + "--clickHousePort 30123", // 似乎不能传空 先注释 * 2 // "--clickHouseUser ", // "--clickHousePassword ", @@ -61,8 +61,8 @@ // "--clickHouseDataAlarm default", // "--clickHouseIot iot", // 测试 - "--clickHouseAnxincloud Anxinyun101", - "--clickHousePepEmis pepca10", + "--clickHouseAnxincloud anxinyun1", + "--clickHousePepEmis pepca9", "--clickHouseProjectManage peppm8", "--clickHouseVcmp video_access_dev", "--clickHouseDataAlarm default", diff --git a/api/app/lib/controllers/means/index.js b/api/app/lib/controllers/means/index.js index b01692e..9a96528 100644 --- a/api/app/lib/controllers/means/index.js +++ b/api/app/lib/controllers/means/index.js @@ -48,9 +48,9 @@ async function fileList (ctx, next) { const { projectId, type } = ctx.query; let options = { where: {}, } - if (projectId) { - options.where.projectId = projectId - } + + options.where.projectId = projectId || null + if (type) { options.where.type = type } diff --git a/api/app/lib/models/project_folder.js b/api/app/lib/models/project_folder.js index 000cf4a..8a18f6f 100644 --- a/api/app/lib/models/project_folder.js +++ b/api/app/lib/models/project_folder.js @@ -17,7 +17,7 @@ module.exports = dc => { }, projectId: { type: DataTypes.INTEGER, - allowNull: false, + allowNull: true, defaultValue: null, comment: null, primaryKey: false, diff --git a/script/0.26/schema/updata_project_folder.sql b/script/0.26/schema/updata_project_folder.sql new file mode 100644 index 0000000..8cd1c15 --- /dev/null +++ b/script/0.26/schema/updata_project_folder.sql @@ -0,0 +1 @@ +alter table project_folder alter column project_id drop not null; \ No newline at end of file diff --git a/web/client/src/sections/means/containers/devOpsStandard.jsx b/web/client/src/sections/means/containers/devOpsStandard.jsx index 8dc6966..29c79e4 100644 --- a/web/client/src/sections/means/containers/devOpsStandard.jsx +++ b/web/client/src/sections/means/containers/devOpsStandard.jsx @@ -39,11 +39,11 @@ const Rest = (props) => { let data = res.payload.data?.rows?.filter(v => v.pepProjectIsDelete !== 1)?.map(v => ({ pepProjectId: v.id, pepProjectName: v.pepProjectName || v.name })) setPomsList(data) setShowPomsList(data) - setPepProjectId(data[0]?.pepProjectId) - fileList(data[0]?.pepProjectId) + } })) - + // setPepProjectId(data[0]?.pepProjectId) + fileList(null) }, []) useEffect(() => { @@ -54,8 +54,8 @@ const Rest = (props) => { data = pomsList?.filter(v => v.pepProjectName?.indexOf(projectSearch) != -1) } setShowPomsList(data) - setPepProjectId(data[0]?.pepProjectId) - fileList(data[0]?.pepProjectId) + setPepProjectId(data[0]?.pepProjectId || null) + fileList(data[0]?.pepProjectId || null) setDataSource([]) setFileId('') setFileSearch('') @@ -70,8 +70,8 @@ const Rest = (props) => { data = pomsList } setShowPomsList(data) - setPepProjectId(data[0]?.pepProjectId) - fileList(data[0]?.pepProjectId) + setPepProjectId(data[0]?.pepProjectId || null) + fileList(data[0]?.pepProjectId || null) setDataSource([]) setFileId('') setFileSearch('') @@ -152,7 +152,7 @@ const Rest = (props) => { if (!fileData && !list?.children?.length) { dispatch(means.delFile(v.id)).then((res => { if (res.success) { - fileList(v.projectId) + fileList(v.projectId || null) } })) } @@ -279,6 +279,16 @@ const Rest = (props) => {
setProjectSearch(v)} /> +
{ + setPepProjectId(null) + fileList(null) + setDataSource([]) + setFileId('') + }}> + +
项目通用
+
{showPomsList?.map(v => { return
{ @@ -309,14 +319,14 @@ const Rest = (props) => { { setIsFileModal(false) setEditData({}) }} success={() => { - fileList(pepProjectId) + fileList(pepProjectId || null) }} /> : "" } diff --git a/web/client/src/sections/means/containers/faultInformation.jsx b/web/client/src/sections/means/containers/faultInformation.jsx index be45dee..d628805 100644 --- a/web/client/src/sections/means/containers/faultInformation.jsx +++ b/web/client/src/sections/means/containers/faultInformation.jsx @@ -10,7 +10,7 @@ import './style.less' const Rest = (props) => { - const { dispatch, actions, user, qiniu, loading, clientHeight, overallProjectId ,apiRoot} = props + const { dispatch, actions, user, qiniu, loading, clientHeight, overallProjectId, apiRoot } = props const { install, means } = actions const [pomsList, setPomsList] = useState([]); //项目 const [showPomsList, setShowPomsList] = useState([]); //项目 @@ -39,11 +39,10 @@ const Rest = (props) => { let data = res.payload.data?.rows?.filter(v => v.pepProjectIsDelete !== 1)?.map(v => ({ pepProjectId: v.id, pepProjectName: v.pepProjectName || v.name })) setPomsList(data) setShowPomsList(data) - setPepProjectId(data[0]?.pepProjectId) - fileList(data[0]?.pepProjectId) } })) - + // setPepProjectId(data[0]?.pepProjectId) + fileList(null) }, []) useEffect(() => { @@ -54,8 +53,8 @@ const Rest = (props) => { data = pomsList?.filter(v => v.pepProjectName?.indexOf(projectSearch) != -1) } setShowPomsList(data) - setPepProjectId(data[0]?.pepProjectId) - fileList(data[0]?.pepProjectId) + setPepProjectId(data[0]?.pepProjectId || null) + fileList(data[0]?.pepProjectId || null) setDataSource([]) setFileId('') setFileSearch('') @@ -70,8 +69,8 @@ const Rest = (props) => { data = pomsList } setShowPomsList(data) - setPepProjectId(data[0]?.pepProjectId) - fileList(data[0]?.pepProjectId) + setPepProjectId(data[0]?.pepProjectId || null) + fileList(data[0]?.pepProjectId || null) setDataSource([]) setFileId('') setFileSearch('') @@ -152,7 +151,7 @@ const Rest = (props) => { if (!fileData && !list?.children?.length) { dispatch(means.delFile(v.id)).then((res => { if (res.success) { - fileList(v.projectId) + fileList(v.projectId || null) } })) } @@ -279,6 +278,16 @@ const Rest = (props) => {
setProjectSearch(v)} /> +
{ + setPepProjectId(null) + fileList(null) + setDataSource([]) + setFileId('') + }}> + +
项目通用
+
{showPomsList?.map(v => { return
{ @@ -309,14 +318,14 @@ const Rest = (props) => { { setIsFileModal(false) setEditData({}) }} success={() => { - fileList(pepProjectId) + fileList(pepProjectId || null) }} /> : "" } @@ -559,7 +568,7 @@ function mapStateToProps (state) { // socket: webSocket.socket clientHeight: global.clientHeight, qiniu: global.qiniu?.domain, - apiRoot:global.apiRoot + apiRoot: global.apiRoot }; } diff --git a/web/client/src/sections/means/containers/repairFQA.jsx b/web/client/src/sections/means/containers/repairFQA.jsx index b58816e..076caa4 100644 --- a/web/client/src/sections/means/containers/repairFQA.jsx +++ b/web/client/src/sections/means/containers/repairFQA.jsx @@ -10,11 +10,11 @@ import './style.less' const Rest = (props) => { - const { dispatch, actions, user, qiniu, loading, clientHeight, overallProjectId ,apiRoot} = props + const { dispatch, actions, user, qiniu, loading, clientHeight, overallProjectId, apiRoot } = props const { install, means } = actions const [pomsList, setPomsList] = useState([]); //项目 const [showPomsList, setShowPomsList] = useState([]); //项目 - const [pepProjectId, setPepProjectId] = useState() //项目id + const [pepProjectId, setPepProjectId] = useState(null) //项目id const [projectSearch, setProjectSearch] = useState() //项目搜索 const [isFileModal, setIsFileModal] = useState(false) //添加文件弹窗 const [editData, setEditData] = useState({}) //编辑参数 @@ -39,11 +39,10 @@ const Rest = (props) => { let data = res.payload.data?.rows?.filter(v => v.pepProjectIsDelete !== 1)?.map(v => ({ pepProjectId: v.id, pepProjectName: v.pepProjectName || v.name })) setPomsList(data) setShowPomsList(data) - setPepProjectId(data[0]?.pepProjectId) - fileList(data[0]?.pepProjectId) } })) - + // setPepProjectId(data[0]?.pepProjectId) + fileList(null) }, []) useEffect(() => { @@ -54,8 +53,8 @@ const Rest = (props) => { data = pomsList?.filter(v => v.pepProjectName?.indexOf(projectSearch) != -1) } setShowPomsList(data) - setPepProjectId(data[0]?.pepProjectId) - fileList(data[0]?.pepProjectId) + setPepProjectId(data[0]?.pepProjectId || null) + fileList(data[0]?.pepProjectId || null) setDataSource([]) setFileId('') setFileSearch('') @@ -70,8 +69,8 @@ const Rest = (props) => { data = pomsList } setShowPomsList(data) - setPepProjectId(data[0]?.pepProjectId) - fileList(data[0]?.pepProjectId) + setPepProjectId(data[0]?.pepProjectId || null) + fileList(data[0]?.pepProjectId || null) setDataSource([]) setFileId('') setFileSearch('') @@ -152,7 +151,7 @@ const Rest = (props) => { if (!fileData && !list?.children?.length) { dispatch(means.delFile(v.id)).then((res => { if (res.success) { - fileList(v.projectId) + fileList(v.projectId || null) } })) } @@ -279,6 +278,17 @@ const Rest = (props) => {
setProjectSearch(v)} /> +
{ + setPepProjectId(null) + fileList(null) + setDataSource([]) + setFileId('') + }}> + +
项目通用
+
+ {showPomsList?.map(v => { return
{ @@ -309,14 +319,14 @@ const Rest = (props) => { { setIsFileModal(false) setEditData({}) }} success={() => { - fileList(pepProjectId) + fileList(pepProjectId || null) }} /> : "" } @@ -559,7 +569,7 @@ function mapStateToProps (state) { // socket: webSocket.socket clientHeight: global.clientHeight, qiniu: global.qiniu?.domain, - apiRoot:global.apiRoot + apiRoot: global.apiRoot }; }