diff --git a/bin/clean b/bin/clean
new file mode 100755
index 00000000..2f3d3e51
--- /dev/null
+++ b/bin/clean
@@ -0,0 +1 @@
+mvn clean
\ No newline at end of file
diff --git a/bin/clean.bat b/bin/clean.bat
index 24c09741..578e77da 100644
--- a/bin/clean.bat
+++ b/bin/clean.bat
@@ -1,6 +1,6 @@
@echo off
echo.
-echo [信息] 清理工程target生成路径。
+echo [淇℃伅] 娓呯悊宸ョ▼target鐢熸垚璺緞銆
echo.
%~d0
diff --git a/bin/mac-auth b/bin/mac-auth
new file mode 100755
index 00000000..0bae0f1b
--- /dev/null
+++ b/bin/mac-auth
@@ -0,0 +1 @@
+java -Dfile.encoding=utf-8 -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -jar yanzhu-auth/target/yanzhu-auth.jar
\ No newline at end of file
diff --git a/bin/mac-gateway b/bin/mac-gateway
new file mode 100755
index 00000000..e246881e
--- /dev/null
+++ b/bin/mac-gateway
@@ -0,0 +1 @@
+java -Dfile.encoding=utf-8 -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -jar yanzhu-gateway/target/yanzhu-gateway.jar
diff --git a/bin/mac-modules-file b/bin/mac-modules-file
new file mode 100755
index 00000000..1aead7e6
--- /dev/null
+++ b/bin/mac-modules-file
@@ -0,0 +1 @@
+java -Dfile.encoding=utf-8 -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -jar yanzhu-modules/yanzhu-file/target/yanzhu-modules-file.jar
diff --git a/bin/mac-modules-gen b/bin/mac-modules-gen
new file mode 100755
index 00000000..1dcb2054
--- /dev/null
+++ b/bin/mac-modules-gen
@@ -0,0 +1 @@
+java -Dfile.encoding=utf-8 -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -jar ruoyi-modules/ruoyi-gen/target/yanzhu-modules-gen.jar
diff --git a/bin/mac-modules-job b/bin/mac-modules-job
new file mode 100755
index 00000000..b14bcb55
--- /dev/null
+++ b/bin/mac-modules-job
@@ -0,0 +1 @@
+java -Dfile.encoding=utf-8 -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -jar ruoyi-modules/ruoyi-job/target/yanzhu-modules-job.jar
diff --git a/bin/mac-modules-manage b/bin/mac-modules-manage
new file mode 100755
index 00000000..d24a5513
--- /dev/null
+++ b/bin/mac-modules-manage
@@ -0,0 +1 @@
+java -Dfile.encoding=utf-8 -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -jar yanzhu-modules/yanzhu-manage/target/yanzhu-modules-manage.jar
diff --git a/bin/mac-modules-system b/bin/mac-modules-system
new file mode 100755
index 00000000..c53efb1e
--- /dev/null
+++ b/bin/mac-modules-system
@@ -0,0 +1 @@
+java -Dfile.encoding=utf-8 -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -jar yanzhu-modules/yanzhu-system/target/yanzhu-modules-system.jar
diff --git a/bin/mac-monitor b/bin/mac-monitor
new file mode 100755
index 00000000..00a50133
--- /dev/null
+++ b/bin/mac-monitor
@@ -0,0 +1 @@
+java -Dfile.encoding=utf-8 -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -jar ruoyi-visual/ruoyi-monitor/target/yanzhu-visual-monitor.jar
diff --git a/bin/package b/bin/package
new file mode 100755
index 00000000..502174cd
--- /dev/null
+++ b/bin/package
@@ -0,0 +1 @@
+mvn clean package -Dmaven.test.skip=true
\ No newline at end of file
diff --git a/bin/package.bat b/bin/package.bat
index c693ec06..735b65ea 100644
--- a/bin/package.bat
+++ b/bin/package.bat
@@ -1,6 +1,6 @@
@echo off
echo.
-echo [信息] 打包Web工程,生成war/jar包文件。
+echo [淇℃伅] 鎵撳寘Web宸ョ▼锛岀敓鎴恮ar/jar鍖呮枃浠躲
echo.
%~d0
diff --git a/bin/run-auth.bat b/bin/run-auth.bat
index 050c48c3..41cff3fe 100644
--- a/bin/run-auth.bat
+++ b/bin/run-auth.bat
@@ -1,7 +1,5 @@
@echo off
-echo.
-echo [锟斤拷息] 使锟斤拷Jar锟斤拷锟斤拷锟斤拷锟斤拷Auth锟斤拷锟教★拷
-echo.
+
cd %~dp0
cd ../yanzhu-auth/target
diff --git a/bin/run-gateway.bat b/bin/run-gateway.bat
index bb58985f..bde43131 100644
--- a/bin/run-gateway.bat
+++ b/bin/run-gateway.bat
@@ -1,7 +1,5 @@
@echo off
-echo.
-echo [锟斤拷息] 使锟斤拷Jar锟斤拷锟斤拷锟斤拷锟斤拷Gateway锟斤拷锟教★拷
-echo.
+
cd %~dp0
cd ../yanzhu-gateway/target
diff --git a/bin/run-modules-file.bat b/bin/run-modules-file.bat
index 4db62b7a..b69b1c15 100644
--- a/bin/run-modules-file.bat
+++ b/bin/run-modules-file.bat
@@ -1,7 +1,5 @@
@echo off
-echo.
-echo [锟斤拷息] 使锟斤拷Jar锟斤拷锟斤拷锟斤拷锟斤拷Modules-File锟斤拷锟教★拷
-echo.
+
cd %~dp0
cd ../yanzhu-modules/yanzhu-file/target
diff --git a/bin/run-modules-gen.bat b/bin/run-modules-gen.bat
index 7b9cea1b..1f6f05eb 100644
--- a/bin/run-modules-gen.bat
+++ b/bin/run-modules-gen.bat
@@ -1,7 +1,4 @@
@echo off
-echo.
-echo [锟斤拷息] 使锟斤拷Jar锟斤拷锟斤拷锟斤拷锟斤拷Modules-Gen锟斤拷锟教★拷
-echo.
cd %~dp0
cd ../ruoyi-modules/ruoyi-gen/target
diff --git a/bin/run-modules-job.bat b/bin/run-modules-job.bat
index fa88e955..e56ab30c 100644
--- a/bin/run-modules-job.bat
+++ b/bin/run-modules-job.bat
@@ -1,7 +1,5 @@
@echo off
-echo.
-echo [锟斤拷息] 使锟斤拷Jar锟斤拷锟斤拷锟斤拷锟斤拷Modules-Job锟斤拷锟教★拷
-echo.
+
cd %~dp0
cd ../ruoyi-modules/ruoyi-job/target
diff --git a/bin/run-modules-manage.bat b/bin/run-modules-manage.bat
index 01b26e20..12ae8e22 100644
--- a/bin/run-modules-manage.bat
+++ b/bin/run-modules-manage.bat
@@ -1,7 +1,5 @@
@echo off
-echo.
-echo [ 息] 使 Jar Modules-System 獭
-echo.
+
cd %~dp0
cd ../yanzhu-modules/yanzhu-manage/target
diff --git a/bin/run-modules-system.bat b/bin/run-modules-system.bat
index 652a3aa2..69bca826 100644
--- a/bin/run-modules-system.bat
+++ b/bin/run-modules-system.bat
@@ -1,7 +1,5 @@
@echo off
-echo.
-echo [锟斤拷息] 使锟斤拷Jar锟斤拷锟斤拷锟斤拷锟斤拷Modules-System锟斤拷锟教★拷
-echo.
+
cd %~dp0
cd ../yanzhu-modules/yanzhu-system/target
diff --git a/bin/run-monitor.bat b/bin/run-monitor.bat
index 17c42ffc..53bf2be3 100644
--- a/bin/run-monitor.bat
+++ b/bin/run-monitor.bat
@@ -1,7 +1,5 @@
@echo off
-echo.
-echo [锟斤拷息] 使锟斤拷Jar锟斤拷锟斤拷锟斤拷锟斤拷Monitor锟斤拷锟教★拷
-echo.
+
cd %~dp0
cd ../ruoyi-visual/ruoyi-monitor/target
diff --git a/yanzhu-bigscreen/src/api/detail.js b/yanzhu-bigscreen/src/api/detail.js
index fa5d7d9a..9d1ef10a 100644
--- a/yanzhu-bigscreen/src/api/detail.js
+++ b/yanzhu-bigscreen/src/api/detail.js
@@ -99,10 +99,89 @@ const milestoneList = (data) => {
});
});
};
+
+const costOutputSelectYearAndMonth=(data)=> {
+ return new Promise(reslove=>{
+ let data2={...data};
+ let y=data2.year;
+ let m=data2.month-1;
+ if(m==0){
+ m=12;
+ y--;
+ }
+ data2.year=y;
+ data2.month=m;
+ var ajaxs=[request({
+ url: `/manage/costOutput/selectYearAndMonth`,
+ method: 'post',
+ data:data
+ }),
+ request({
+ url: `/manage/costOutput/selectYearAndMonth`,
+ method: 'post',
+ data:data2
+ })];
+
+ axios.all(ajaxs).then(res=>{
+ let d=res[0]
+ const getValue=(tmps,type)=>{
+ let objs=tmps.filter(d=>d.costType==type);
+ return objs.length>0?objs[0]:{};
+ }
+ let tmps=(d.data||[]).map(it=>{
+ it.money=it.money?it.money/10000.0:0;
+ return it;
+ });
+ let y=data.year;
+ let m=data.month-1;
+ if(m==0){
+ m=12;
+ y--;
+ }
+ let tmps2=(res[1].data||[]).map(it=>{
+ it.money=it.money?it.money/10000.0:0;
+ return it;
+ });
+ let curM=tmps2.filter(it=>it.costType==9 && it.year==y && it.month==m);
+ curM=curM.length>0?curM[0]:{};
+
+ let totalObjs=tmps.filter(it=>it.costType==9);
+ let total=0;
+ totalObjs.forEach(it=>{
+ if(it.money){
+ total+=it.money;
+ }
+ });
+ let yearObjs=tmps.filter(it=>it.costType==9 && it.year==y);
+ let totalY=0;
+ yearObjs.forEach(it=>{
+ if(it.money){
+ totalY+=it.money;
+ }
+ });
+ let obj={
+ totalInv:getValue(tmps,1).money||0,//鎬绘姇璧
+ curYear:getValue(tmps,2).money||0,//骞存绘姇璧
+ contract1:getValue(tmps,3).money||0,//鍚堝悓閲戦
+ contract2:getValue(tmps,4).money||0,//鍚堝悓鏀粯閲戦
+ contract3:getValue(tmps,5).money||0,//鍚堝悓鎸傝处閲戦
+ safety1:getValue(tmps,6).money||0,//瀹夋帾閲戦
+ safety2:getValue(tmps,7).money||0,//瀹夋帾鏀粯閲戦
+ safety3:getValue(tmps,8).money||0,//瀹夋帾鎸傝处閲戦
+ curMonth:curM.money||0,//褰撴湀鎶曡祫
+ totalMonth:total,//寮绱姇璧
+ totalYear:totalY,//鏈勾瀹屾垚
+ }
+ reslove(obj);
+ })
+ })
+}
+
export default {
groupByCraftType,
groupByCraftTypeByAttendance,
subdeptsUsersList,
attendanceUbiDataList,
milestoneList,
+ costOutputSelectYearAndMonth
};
diff --git a/yanzhu-bigscreen/src/utils/request.js b/yanzhu-bigscreen/src/utils/request.js
index bfff3fc0..812e5c20 100644
--- a/yanzhu-bigscreen/src/utils/request.js
+++ b/yanzhu-bigscreen/src/utils/request.js
@@ -76,7 +76,6 @@ service.interceptors.response.use(res => {
return res.data
}
if (code === 401) {
- debugger
if (!isRelogin.show) {
isRelogin.show = true;
MessageBox.confirm('鐧诲綍鐘舵佸凡杩囨湡锛屾偍鍙互缁х画鐣欏湪璇ラ〉闈紝鎴栬呴噸鏂扮櫥褰', '绯荤粺鎻愮ず', { confirmButtonText: '閲嶆柊鐧诲綍', cancelButtonText: '鍙栨秷', type: 'warning' }).then(() => {
diff --git a/yanzhu-bigscreen/src/views/projectDetail.vue b/yanzhu-bigscreen/src/views/projectDetail.vue
index b66aceb1..11b4a595 100644
--- a/yanzhu-bigscreen/src/views/projectDetail.vue
+++ b/yanzhu-bigscreen/src/views/projectDetail.vue
@@ -224,7 +224,7 @@
鎬绘姇璧
- {{ 1000 }} 涓囧厓
+ {{ costOutData.totalInv||0 }} 涓囧厓
@@ -237,7 +237,7 @@
鏈湀瀹屾垚
- {{ 1000 }} 涓囧厓
+ {{ costOutData.curMonth||0 }} 涓囧厓
@@ -251,7 +251,7 @@
鏈勾瀹屾垚
- {{ 1000 }} 涓囧厓
+ {{ costOutData.totalYear||0 }} 涓囧厓
@@ -265,7 +265,7 @@
寮绱畬鎴
- {{ 1000 }} 涓囧厓
+ {{ costOutData.totalMonth||0 }} 涓囧厓
@@ -280,7 +280,7 @@
璁″垝寮宸ユ棩鏈
- {{ new Date() | toDate }}
+ {{ selProject.scheduledStartTime | toDate }}
@@ -295,7 +295,7 @@
璁″垝绔e伐鏃ユ湡
- {{ new Date() | toDate }}
+ {{ selProject.plannedCompletionTime | toDate }}
@@ -309,7 +309,7 @@
瀹為檯寮宸ユ棩鏈
- {{ new Date() | toDate }}
+ {{ selProject.actualOperatingTime | toDate }}
@@ -323,7 +323,7 @@
鍚堝悓宸ユ湡
- {{ 2100 }} 澶
+ {{ selProject.projectTimeLimit||'' }} 澶
@@ -338,7 +338,7 @@
寤虹瓚闈㈢Н
- {{ 10000 }} 骞虫柟绫
+ {{ selProject.floorArea||'' }} 骞虫柟绫
@@ -503,7 +503,6 @@ import projectInfoDialog from './detail/projectInfoDialog.vue';
import staffSurveyChart from '@/components/staffSurveyChart.vue';
import MonitAndWarning from './components/MonitAndWarning.vue';
import attendanceInfoDlg from './detail/attendanceInfoDlg.vue';
-import testData from './test/detail'
import debounce from 'lodash.debounce'
export default {
components: {
@@ -549,6 +548,7 @@ export default {
projectBuildNode: [],
maxWidth: 0,
minWidth: 100,
+ costOutData:{},
}
},
mounted() {
@@ -615,13 +615,25 @@ export default {
});
this.loadAttendanceData();
this.loadMilestoneData();
+ this.loadCostOutput();
},
- loadMilestoneData() {
+ loadCostOutput(){
+ let dt = this.$dt(new Date());
+ this.$api.detail.costOutputSelectYearAndMonth({
+ comId: this.selProject.comId,
+ projectId: this.selProject.id,
+ year: dt.$y,
+ month: dt.$M + 1,
+ }).then(d=>{
+ this.costOutData=d;
+ });
+ },
+ loadMilestoneData() {
this.$api.detail.milestoneList({
pageNum: 1,
pageSize: 100,
- comId: this.prjInfo.comId,
- projectId: this.prjInfo.id
+ comId: this.selProject.comId,
+ projectId: this.selProject.id
}).then(d => {
this.projectBuildNode = d;
let itemWidth = this.$dpi() == "1K" ? 200 : this.$dpi() == "2K" ? 300 : 500;
@@ -638,8 +650,8 @@ export default {
loadAttendanceData() {
let ajax = this.$api.detail.groupByCraftType;
let posData = {
- comId: this.prjInfo.comId,
- projectId: this.prjInfo.id
+ comId: this.selProject.comId,
+ projectId: this.selProject.id
}
if (this.attendanceNav == 1) {
ajax = this.$api.detail.groupByCraftTypeByAttendance;
diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProVideoMonitor.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProVideoMonitor.java
new file mode 100644
index 00000000..7996e966
--- /dev/null
+++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/domain/ProVideoMonitor.java
@@ -0,0 +1,231 @@
+package com.yanzhu.manage.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.yanzhu.common.core.annotation.Excel;
+import com.yanzhu.common.core.web.domain.BaseEntity;
+
+import java.util.Date;
+
+/**
+ * 寤惰繜鎽勫奖绠$悊瀵硅薄 pro_video_monitor
+ *
+ * @author yanzhu
+ * @date 2024-12-25
+ */
+public class ProVideoMonitor extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** $column.columnComment */
+ private Long id;
+
+ /** $column.columnComment */
+ @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ private Long comId;
+
+ /** $column.columnComment */
+ @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ private Long projectId;
+
+ /** 鐩戞帶鍚嶇О */
+ @Excel(name = "鐩戞帶鍚嶇О")
+ private String monitorName;
+
+ /** 鐩戞帶绫诲瀷 */
+ @Excel(name = "鐩戞帶绫诲瀷")
+ private String monitorType;
+
+ /** 鐩戞帶杩炴帴 */
+ @Excel(name = "鐩戞帶杩炴帴")
+ private String url;
+
+ /** AppKey */
+ @Excel(name = "AppKey")
+ private String appkey;
+
+ /** Secret */
+ @Excel(name = "Secret")
+ private String secret;
+
+ /** 璁惧鍘傚晢 */
+ @Excel(name = "璁惧鍘傚晢")
+ private String manufacturer;
+
+ /** 鏄惁鍏抽敭鐐 */
+ @Excel(name = "鏄惁鍏抽敭鐐")
+ private Long keyPoint;
+
+ /** $column.columnComment */
+ @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ private Long state;
+
+ /** $column.columnComment */
+ @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ private Long isDel;
+
+ /** $column.columnComment */
+ @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ private Date upadteTime;
+ private String compName;
+
+ private String projectName;
+
+ public String getCompName() {
+ return compName;
+ }
+
+ public void setCompName(String compName) {
+ this.compName = compName;
+ }
+
+ public String getProjectName() {
+ return projectName;
+ }
+
+ public void setProjectName(String projectName) {
+ this.projectName = projectName;
+ }
+
+ public void setId(Long id)
+ {
+ this.id = id;
+ }
+
+ public Long getId()
+ {
+ return id;
+ }
+ public void setComId(Long comId)
+ {
+ this.comId = comId;
+ }
+
+ public Long getComId()
+ {
+ return comId;
+ }
+ public void setProjectId(Long projectId)
+ {
+ this.projectId = projectId;
+ }
+
+ public Long getProjectId()
+ {
+ return projectId;
+ }
+ public void setMonitorName(String monitorName)
+ {
+ this.monitorName = monitorName;
+ }
+
+ public String getMonitorName()
+ {
+ return monitorName;
+ }
+ public void setMonitorType(String monitorType)
+ {
+ this.monitorType = monitorType;
+ }
+
+ public String getMonitorType()
+ {
+ return monitorType;
+ }
+ public void setUrl(String url)
+ {
+ this.url = url;
+ }
+
+ public String getUrl()
+ {
+ return url;
+ }
+ public void setAppkey(String appkey)
+ {
+ this.appkey = appkey;
+ }
+
+ public String getAppkey()
+ {
+ return appkey;
+ }
+ public void setSecret(String secret)
+ {
+ this.secret = secret;
+ }
+
+ public String getSecret()
+ {
+ return secret;
+ }
+ public void setManufacturer(String manufacturer)
+ {
+ this.manufacturer = manufacturer;
+ }
+
+ public String getManufacturer()
+ {
+ return manufacturer;
+ }
+ public void setKeyPoint(Long keyPoint)
+ {
+ this.keyPoint = keyPoint;
+ }
+
+ public Long getKeyPoint()
+ {
+ return keyPoint;
+ }
+ public void setState(Long state)
+ {
+ this.state = state;
+ }
+
+ public Long getState()
+ {
+ return state;
+ }
+ public void setIsDel(Long isDel)
+ {
+ this.isDel = isDel;
+ }
+
+ public Long getIsDel()
+ {
+ return isDel;
+ }
+ public void setUpadteTime(Date upadteTime)
+ {
+ this.upadteTime = upadteTime;
+ }
+
+ public Date getUpadteTime()
+ {
+ return upadteTime;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("id", getId())
+ .append("comId", getComId())
+ .append("projectId", getProjectId())
+ .append("monitorName", getMonitorName())
+ .append("monitorType", getMonitorType())
+ .append("url", getUrl())
+ .append("appkey", getAppkey())
+ .append("secret", getSecret())
+ .append("manufacturer", getManufacturer())
+ .append("keyPoint", getKeyPoint())
+ .append("remark", getRemark())
+ .append("state", getState())
+ .append("isDel", getIsDel())
+ .append("createBy", getCreateBy())
+ .append("createTime", getCreateTime())
+ .append("updateBy", getUpdateBy())
+ .append("upadteTime", getUpadteTime())
+ .toString();
+ }
+}
diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/ProVideoMonitorMapper.java b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/ProVideoMonitorMapper.java
new file mode 100644
index 00000000..573e4b6c
--- /dev/null
+++ b/yanzhu-common/yanzhu-common-mapper/src/main/java/com/yanzhu/manage/mapper/ProVideoMonitorMapper.java
@@ -0,0 +1,61 @@
+package com.yanzhu.manage.mapper;
+
+import java.util.List;
+import com.yanzhu.manage.domain.ProVideoMonitor;
+
+/**
+ * 寤惰繜鎽勫奖绠$悊Mapper鎺ュ彛
+ *
+ * @author yanzhu
+ * @date 2024-12-25
+ */
+public interface ProVideoMonitorMapper
+{
+ /**
+ * 鏌ヨ寤惰繜鎽勫奖绠$悊
+ *
+ * @param id 寤惰繜鎽勫奖绠$悊涓婚敭
+ * @return 寤惰繜鎽勫奖绠$悊
+ */
+ public ProVideoMonitor selectProVideoMonitorById(Long id);
+
+ /**
+ * 鏌ヨ寤惰繜鎽勫奖绠$悊鍒楄〃
+ *
+ * @param proVideoMonitor 寤惰繜鎽勫奖绠$悊
+ * @return 寤惰繜鎽勫奖绠$悊闆嗗悎
+ */
+ public List selectProVideoMonitorList(ProVideoMonitor proVideoMonitor);
+
+ /**
+ * 鏂板寤惰繜鎽勫奖绠$悊
+ *
+ * @param proVideoMonitor 寤惰繜鎽勫奖绠$悊
+ * @return 缁撴灉
+ */
+ public int insertProVideoMonitor(ProVideoMonitor proVideoMonitor);
+
+ /**
+ * 淇敼寤惰繜鎽勫奖绠$悊
+ *
+ * @param proVideoMonitor 寤惰繜鎽勫奖绠$悊
+ * @return 缁撴灉
+ */
+ public int updateProVideoMonitor(ProVideoMonitor proVideoMonitor);
+
+ /**
+ * 鍒犻櫎寤惰繜鎽勫奖绠$悊
+ *
+ * @param id 寤惰繜鎽勫奖绠$悊涓婚敭
+ * @return 缁撴灉
+ */
+ public int deleteProVideoMonitorById(Long id);
+
+ /**
+ * 鎵归噺鍒犻櫎寤惰繜鎽勫奖绠$悊
+ *
+ * @param ids 闇瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+ * @return 缁撴灉
+ */
+ public int deleteProVideoMonitorByIds(Long[] ids);
+}
diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProVideoMonitorMapper.xml b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProVideoMonitorMapper.xml
new file mode 100644
index 00000000..8126f059
--- /dev/null
+++ b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProVideoMonitorMapper.xml
@@ -0,0 +1,134 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select pv.id, pv.com_id, pv.project_id, pv.monitor_name, pv.monitor_type, pv.url, pv.appkey, pv.secret,
+ pv.manufacturer, pv.key_point, pv.remark, pv.state, pv.is_del, pv.create_by, pv.create_time,
+ pv.update_by, pv.upadte_time,dp.`dept_name` comp_name,pi.`project_name`
+ from pro_video_monitor pv
+ LEFT JOIN sys_dept dp ON pv.com_id=dp.dept_id
+ LEFT JOIN pro_project_info pi ON pv.project_id=pi.id
+
+
+
+
+
+
+
+ insert into pro_video_monitor
+
+ com_id,
+ project_id,
+ monitor_name,
+ monitor_type,
+ url,
+ appkey,
+ secret,
+ manufacturer,
+ key_point,
+ remark,
+ state,
+ is_del,
+ create_by,
+ create_time,
+ update_by,
+ upadte_time,
+
+
+ #{comId},
+ #{projectId},
+ #{monitorName},
+ #{monitorType},
+ #{url},
+ #{appkey},
+ #{secret},
+ #{manufacturer},
+ #{keyPoint},
+ #{remark},
+ #{state},
+ #{isDel},
+ #{createBy},
+ #{createTime},
+ #{updateBy},
+ #{upadteTime},
+
+
+
+
+ update pro_video_monitor
+
+ com_id = #{comId},
+ project_id = #{projectId},
+ monitor_name = #{monitorName},
+ monitor_type = #{monitorType},
+ url = #{url},
+ appkey = #{appkey},
+ secret = #{secret},
+ manufacturer = #{manufacturer},
+ key_point = #{keyPoint},
+ remark = #{remark},
+ state = #{state},
+ is_del = #{isDel},
+ create_by = #{createBy},
+ create_time = #{createTime},
+ update_by = #{updateBy},
+ upadte_time = #{upadteTime},
+
+ where id = #{id}
+
+
+
+ delete from pro_video_monitor where id = #{id}
+
+
+
+ delete from pro_video_monitor where id in
+
+ #{id}
+
+
+
\ No newline at end of file
diff --git a/yanzhu-modules/yanzhu-gen/src/main/resources/vm/vue/v3/readme.txt b/yanzhu-modules/yanzhu-gen/src/main/resources/vm/vue/v3/readme.txt
index 10362d62..cdb1c431 100644
--- a/yanzhu-modules/yanzhu-gen/src/main/resources/vm/vue/v3/readme.txt
+++ b/yanzhu-modules/yanzhu-gen/src/main/resources/vm/vue/v3/readme.txt
@@ -1 +1 @@
-如果使用的是RuoYi-Cloud-Vue3前端,那么需要覆盖一下此目录的模板index.vue.vm、index-tree.vue.vm文件到上级vue目录。
\ No newline at end of file
+濡傛灉浣跨敤鐨勬槸RuoYi-Cloud-Vue3鍓嶇锛岄偅涔堥渶瑕佽鐩栦竴涓嬫鐩綍鐨勬ā鏉縤ndex.vue.vm銆乮ndex-tree.vue.vm鏂囦欢鍒颁笂绾ue鐩綍銆
\ No newline at end of file
diff --git a/yanzhu-modules/yanzhu-manage/pom.xml b/yanzhu-modules/yanzhu-manage/pom.xml
index 304df2a0..b1d2026c 100644
--- a/yanzhu-modules/yanzhu-manage/pom.xml
+++ b/yanzhu-modules/yanzhu-manage/pom.xml
@@ -123,7 +123,7 @@
iTextAsian
1.0.0
system
- ${pom.basedir}\libs\iTextAsian-1.0.0.jar
+ ${pom.basedir}/libs/iTextAsian-1.0.0.jar
@@ -143,7 +143,7 @@
aspose-words
15.8.0
system
- ${pom.basedir}\libs\aspose-words-15.8.0-jdk16.jar
+ ${pom.basedir}/libs/aspose-words-15.8.0-jdk16.jar
@@ -166,9 +166,13 @@
aspose-tasks
24.10
system
- ${pom.basedir}\libs\aspose-tasks-24.10-jdk17.jar
+ ${pom.basedir}/libs/aspose-tasks-24.10-jdk17.jar
+
+
+ net.sf.mpxj
+ mpxj
+ 13.5.1
-
diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProCostOutputController.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProCostOutputController.java
index 45f44af7..67c1b8c2 100644
--- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProCostOutputController.java
+++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProCostOutputController.java
@@ -142,4 +142,59 @@ public class ProCostOutputController extends BaseController
Map>> list=proCostOutputService.selectForBigEnginList(where);
return AjaxResult.success(list);
}
+
+ /**
+ * 鎸夐」鐩甀D鏌ヨ锛屽鏋滄病鏈夋暟鎹繘琛屽垵濮嬪寲
+ * @param projectId
+ * @return
+ */
+ @GetMapping("/listByProjectId")
+ public AjaxResult listByProjectId(long projectId,long comId){
+ ProCostOutput where =new ProCostOutput();
+ where.setProjectId(projectId);
+ where.setComId(comId);
+ List list=proCostOutputService.selectProCostOutputList(where);
+ if(list.size()==0){
+ proCostOutputService.initProject(projectId,comId);
+ }
+ list=proCostOutputService.selectProCostOutputList(where);
+ return AjaxResult.success(list);
+ }
+ /**
+ * 澧炲姞骞村害鎶曡祫
+ * @param projectId
+ * @param year
+ * @return
+ */
+ @PostMapping("/addYearInvestment")
+ public AjaxResult addYearInvestment(@RequestBody ProCostOutput where){
+ List list=proCostOutputService.selectProCostOutputList(where);
+ if(list.size()==0){
+ proCostOutputService.addYearInvestment(where);
+ return AjaxResult.success("澧炲姞骞村害鎶曡祫鎴愬姛!");
+ }else{
+ return AjaxResult.error("姝ゅ勾搴︽姇璧勫凡瀛樺湪!");
+ }
+ }
+ @PostMapping("/addMonthInvestment")
+ public AjaxResult addMonthInvestment(@RequestBody ProCostOutput where) {
+ List list=proCostOutputService.selectProCostOutputList(where);
+ if(list.size()==0){
+ proCostOutputService.addMonthInvestment(where);
+ return AjaxResult.success("澧炲姞鏈堝害鎶曡祫鎴愬姛!");
+ }else{
+ return AjaxResult.error("姝ゆ湀搴︽姇璧勫凡瀛樺湪!");
+ }
+ }
+
+
+ @PostMapping("/batchUpdate")
+ public AjaxResult batchUpdate(@RequestBody List list){
+ try {
+ proCostOutputService.batchUpdate(list);
+ return AjaxResult.success("淇濆瓨鎴愬姛!");
+ }catch (Exception ex){
+ return AjaxResult.error(ex.getMessage());
+ }
+ }
}
diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProVideoMonitorController.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProVideoMonitorController.java
new file mode 100644
index 00000000..63027dd5
--- /dev/null
+++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProVideoMonitorController.java
@@ -0,0 +1,144 @@
+package com.yanzhu.manage.controller;
+
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+import javax.servlet.http.HttpServletResponse;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.yanzhu.common.core.utils.http.HttpUtils;
+import com.yanzhu.common.core.utils.poi.ExcelUtil;
+import com.yanzhu.common.core.web.controller.BaseController;
+import com.yanzhu.common.core.web.domain.AjaxResult;
+import com.yanzhu.common.core.web.page.TableDataInfo;
+import com.yanzhu.common.log.annotation.Log;
+import com.yanzhu.common.log.enums.BusinessType;
+import com.yanzhu.common.redis.service.RedisService;
+import com.yanzhu.common.security.annotation.RequiresPermissions;
+import com.yanzhu.manage.domain.ProVideoMonitor;
+import com.yanzhu.manage.service.IProVideoMonitorService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+/**
+ * 寤惰繜鎽勫奖绠$悊Controller
+ *
+ * @author yanzhu
+ * @date 2024-12-25
+ */
+@RestController
+@RequestMapping("/videoMonitor")
+public class ProVideoMonitorController extends BaseController
+{
+ @Autowired
+ private IProVideoMonitorService proVideoMonitorService;
+
+ /**
+ * 鏌ヨ寤惰繜鎽勫奖绠$悊鍒楄〃
+ */
+ @RequiresPermissions("manage:videoMonitor:list")
+ @GetMapping("/list")
+ public TableDataInfo list(ProVideoMonitor proVideoMonitor)
+ {
+ startPage();
+ List list = proVideoMonitorService.selectProVideoMonitorList(proVideoMonitor);
+ return getDataTable(list);
+ }
+
+ /**
+ * 瀵煎嚭寤惰繜鎽勫奖绠$悊鍒楄〃
+ */
+ @RequiresPermissions("manage:videoMonitor:export")
+ @Log(title = "寤惰繜鎽勫奖绠$悊", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, ProVideoMonitor proVideoMonitor)
+ {
+ List list = proVideoMonitorService.selectProVideoMonitorList(proVideoMonitor);
+ ExcelUtil util = new ExcelUtil(ProVideoMonitor.class);
+ util.exportExcel(response, list, "寤惰繜鎽勫奖绠$悊鏁版嵁");
+ }
+
+ /**
+ * 鑾峰彇寤惰繜鎽勫奖绠$悊璇︾粏淇℃伅
+ */
+ @RequiresPermissions("manage:videoMonitor:query")
+ @GetMapping(value = "/{id}")
+ public AjaxResult getInfo(@PathVariable("id") Long id)
+ {
+ return success(proVideoMonitorService.selectProVideoMonitorById(id));
+ }
+
+ /**
+ * 鏂板寤惰繜鎽勫奖绠$悊
+ */
+ @RequiresPermissions("manage:videoMonitor:add")
+ @Log(title = "寤惰繜鎽勫奖绠$悊", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody ProVideoMonitor proVideoMonitor)
+ {
+ return toAjax(proVideoMonitorService.insertProVideoMonitor(proVideoMonitor));
+ }
+
+ /**
+ * 淇敼寤惰繜鎽勫奖绠$悊
+ */
+ @RequiresPermissions("manage:videoMonitor:edit")
+ @Log(title = "寤惰繜鎽勫奖绠$悊", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody ProVideoMonitor proVideoMonitor)
+ {
+ return toAjax(proVideoMonitorService.updateProVideoMonitor(proVideoMonitor));
+ }
+
+ /**
+ * 鍒犻櫎寤惰繜鎽勫奖绠$悊
+ */
+ @RequiresPermissions("manage:videoMonitor:remove")
+ @Log(title = "寤惰繜鎽勫奖绠$悊", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public AjaxResult remove(@PathVariable Long[] ids)
+ {
+ return toAjax(proVideoMonitorService.deleteProVideoMonitorByIds(ids));
+ }
+
+
+ @Autowired
+ private RedisService redisService;
+
+ @RequiresPermissions("manage:videoMonitor:list")
+ @GetMapping("/getYsToken/{id}")
+ public AjaxResult getYsToken(@PathVariable Long id){
+ ProVideoMonitor proVideoMonitor = proVideoMonitorService.selectProVideoMonitorById(id);
+ if(proVideoMonitor == null){
+ return AjaxResult.error("鏃犳晥ID");
+ }
+ String key="YS_Token__"+ proVideoMonitor.getAppkey()+"_"+proVideoMonitor.getSecret();
+ JSONObject jo=redisService.getCacheObject(key);
+ String token="";
+ if(jo!=null){
+ long expireTime= jo.getLong("expireTime");
+ if(expireTime> System.currentTimeMillis()+1000*60){
+ token=jo.getString("accessToken");
+ return AjaxResult.success(token);
+ }
+ }
+ String postData="appKey="+proVideoMonitor.getAppkey()+"&appSecret="+proVideoMonitor.getSecret();
+ String url="https://open.ys7.com/api/lapp/token/get";
+ String data= HttpUtils.sendPost(url,postData);
+ jo=JSONObject.parseObject(data);
+ if("200".equals(jo.getString("code"))){
+ JSONObject jobj=jo.getJSONObject("data");
+ token=jobj.getString("accessToken");
+ long expireTime= jobj.getLong("expireTime");
+ redisService.setCacheObject(key,jobj,expireTime-System.currentTimeMillis(), TimeUnit.MICROSECONDS);
+ }
+ return AjaxResult.success(token);
+ }
+
+
+}
diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IProVideoMonitorService.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IProVideoMonitorService.java
new file mode 100644
index 00000000..3e814968
--- /dev/null
+++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IProVideoMonitorService.java
@@ -0,0 +1,61 @@
+package com.yanzhu.manage.service;
+
+import java.util.List;
+import com.yanzhu.manage.domain.ProVideoMonitor;
+
+/**
+ * 寤惰繜鎽勫奖绠$悊Service鎺ュ彛
+ *
+ * @author yanzhu
+ * @date 2024-12-25
+ */
+public interface IProVideoMonitorService
+{
+ /**
+ * 鏌ヨ寤惰繜鎽勫奖绠$悊
+ *
+ * @param id 寤惰繜鎽勫奖绠$悊涓婚敭
+ * @return 寤惰繜鎽勫奖绠$悊
+ */
+ public ProVideoMonitor selectProVideoMonitorById(Long id);
+
+ /**
+ * 鏌ヨ寤惰繜鎽勫奖绠$悊鍒楄〃
+ *
+ * @param proVideoMonitor 寤惰繜鎽勫奖绠$悊
+ * @return 寤惰繜鎽勫奖绠$悊闆嗗悎
+ */
+ public List selectProVideoMonitorList(ProVideoMonitor proVideoMonitor);
+
+ /**
+ * 鏂板寤惰繜鎽勫奖绠$悊
+ *
+ * @param proVideoMonitor 寤惰繜鎽勫奖绠$悊
+ * @return 缁撴灉
+ */
+ public int insertProVideoMonitor(ProVideoMonitor proVideoMonitor);
+
+ /**
+ * 淇敼寤惰繜鎽勫奖绠$悊
+ *
+ * @param proVideoMonitor 寤惰繜鎽勫奖绠$悊
+ * @return 缁撴灉
+ */
+ public int updateProVideoMonitor(ProVideoMonitor proVideoMonitor);
+
+ /**
+ * 鎵归噺鍒犻櫎寤惰繜鎽勫奖绠$悊
+ *
+ * @param ids 闇瑕佸垹闄ょ殑寤惰繜鎽勫奖绠$悊涓婚敭闆嗗悎
+ * @return 缁撴灉
+ */
+ public int deleteProVideoMonitorByIds(Long[] ids);
+
+ /**
+ * 鍒犻櫎寤惰繜鎽勫奖绠$悊淇℃伅
+ *
+ * @param id 寤惰繜鎽勫奖绠$悊涓婚敭
+ * @return 缁撴灉
+ */
+ public int deleteProVideoMonitorById(Long id);
+}
diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProCostOutputServiceImpl.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProCostOutputServiceImpl.java
index 02ee3180..02294c80 100644
--- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProCostOutputServiceImpl.java
+++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProCostOutputServiceImpl.java
@@ -118,19 +118,19 @@ public class ProCostOutputServiceImpl implements IProCostOutputService
insertProCostOutput(it);
it.setYear(null);
it.setCostType(3l);//鍚堝悓閲戦
- insertProCostOutput(it);
+ //insertProCostOutput(it);
it.setCostType(4l);//鍚堝悓鏀粯閲戦
- insertProCostOutput(it);
+ //insertProCostOutput(it);
it.setCostType(5l);//鍚堝悓鎸傝处閲戦
- insertProCostOutput(it);
+ //insertProCostOutput(it);
it.setCostType(6l);//瀹夋帾閲戦
- insertProCostOutput(it);
+ //insertProCostOutput(it);
it.setCostType(7l);//瀹夋帾鏀粯閲戦
- insertProCostOutput(it);
+ //insertProCostOutput(it);
it.setCostType(8l);//瀹夋帾鎸傝处閲戦
- insertProCostOutput(it);
+ //insertProCostOutput(it);
it.setCostType(10l);//寤哄畨璐归噾棰
- insertProCostOutput(it);
+ //insertProCostOutput(it);
it.setCostType(9l);//鏈堝害鎶曡祫
it.setYear(year*1l);
for(int i=1;i<=12;i++){
diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProVideoMonitorServiceImpl.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProVideoMonitorServiceImpl.java
new file mode 100644
index 00000000..075b4ef5
--- /dev/null
+++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProVideoMonitorServiceImpl.java
@@ -0,0 +1,98 @@
+package com.yanzhu.manage.service.impl;
+
+import java.util.*;
+
+import com.yanzhu.common.core.context.SecurityContextHolder;
+import com.yanzhu.common.core.utils.DateUtils;
+import com.yanzhu.manage.domain.ProVideoMonitor;
+import com.yanzhu.manage.mapper.ProVideoMonitorMapper;
+import com.yanzhu.manage.service.IProVideoMonitorService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+/**
+ * 寤惰繜鎽勫奖绠$悊Service涓氬姟灞傚鐞
+ *
+ * @author yanzhu
+ * @date 2024-12-25
+ */
+@Service
+public class ProVideoMonitorServiceImpl implements IProVideoMonitorService
+{
+ @Autowired
+ private ProVideoMonitorMapper proVideoMonitorMapper;
+
+ /**
+ * 鏌ヨ寤惰繜鎽勫奖绠$悊
+ *
+ * @param id 寤惰繜鎽勫奖绠$悊涓婚敭
+ * @return 寤惰繜鎽勫奖绠$悊
+ */
+ @Override
+ public ProVideoMonitor selectProVideoMonitorById(Long id)
+ {
+ return proVideoMonitorMapper.selectProVideoMonitorById(id);
+ }
+
+ /**
+ * 鏌ヨ寤惰繜鎽勫奖绠$悊鍒楄〃
+ *
+ * @param proVideoMonitor 寤惰繜鎽勫奖绠$悊
+ * @return 寤惰繜鎽勫奖绠$悊
+ */
+ @Override
+ public List selectProVideoMonitorList(ProVideoMonitor proVideoMonitor)
+ {
+ return proVideoMonitorMapper.selectProVideoMonitorList(proVideoMonitor);
+ }
+
+ /**
+ * 鏂板寤惰繜鎽勫奖绠$悊
+ *
+ * @param proVideoMonitor 寤惰繜鎽勫奖绠$悊
+ * @return 缁撴灉
+ */
+ @Override
+ public int insertProVideoMonitor(ProVideoMonitor proVideoMonitor)
+ {
+ proVideoMonitor.setCreateBy(SecurityContextHolder.getUserName());
+ proVideoMonitor.setCreateTime(DateUtils.getNowDate());
+ return proVideoMonitorMapper.insertProVideoMonitor(proVideoMonitor);
+ }
+
+ /**
+ * 淇敼寤惰繜鎽勫奖绠$悊
+ *
+ * @param proVideoMonitor 寤惰繜鎽勫奖绠$悊
+ * @return 缁撴灉
+ */
+ @Override
+ public int updateProVideoMonitor(ProVideoMonitor proVideoMonitor)
+ {
+ proVideoMonitor.setUpdateBy(SecurityContextHolder.getUserName());
+ return proVideoMonitorMapper.updateProVideoMonitor(proVideoMonitor);
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎寤惰繜鎽勫奖绠$悊
+ *
+ * @param ids 闇瑕佸垹闄ょ殑寤惰繜鎽勫奖绠$悊涓婚敭
+ * @return 缁撴灉
+ */
+ @Override
+ public int deleteProVideoMonitorByIds(Long[] ids)
+ {
+ return proVideoMonitorMapper.deleteProVideoMonitorByIds(ids);
+ }
+
+ /**
+ * 鍒犻櫎寤惰繜鎽勫奖绠$悊淇℃伅
+ *
+ * @param id 寤惰繜鎽勫奖绠$悊涓婚敭
+ * @return 缁撴灉
+ */
+ @Override
+ public int deleteProVideoMonitorById(Long id)
+ {
+ return proVideoMonitorMapper.deleteProVideoMonitorById(id);
+ }
+}
diff --git a/yanzhu-ui-vue3/src/App.vue b/yanzhu-ui-vue3/src/App.vue
index ebf6925f..522e4201 100644
--- a/yanzhu-ui-vue3/src/App.vue
+++ b/yanzhu-ui-vue3/src/App.vue
@@ -63,5 +63,11 @@ onMounted(() => {
top: 16px;
display: none;
}
-}
+}
+:focus-visible {
+ outline: none !important;
+}
+.command{
+ cursor: pointer;
+}
\ No newline at end of file
diff --git a/yanzhu-ui-vue3/src/api/manage/costOutput.js b/yanzhu-ui-vue3/src/api/manage/costOutput.js
index 44a0e23f..97603ba2 100644
--- a/yanzhu-ui-vue3/src/api/manage/costOutput.js
+++ b/yanzhu-ui-vue3/src/api/manage/costOutput.js
@@ -42,3 +42,36 @@ export function delCostOutput(id) {
method: 'delete'
})
}
+
+export function listByProjectId(query){
+ return request({
+ url: '/manage/costOutput/listByProjectId',
+ method: 'get',
+ params: query
+ })
+}
+
+
+export function addYearInvestment(data){
+ return request({
+ url: '/manage/costOutput/addYearInvestment',
+ method: 'post',
+ data:data
+ })
+}
+
+export function addMonthInvestment(data){
+ return request({
+ url: '/manage/costOutput/addMonthInvestment',
+ method: 'post',
+ data:data
+ })
+}
+
+export function batchUpdate(datas){
+ return request({
+ url: '/manage/costOutput/batchUpdate',
+ method: 'post',
+ data:datas
+ })
+}
diff --git a/yanzhu-ui-vue3/src/api/manage/videoMonitor.js b/yanzhu-ui-vue3/src/api/manage/videoMonitor.js
new file mode 100644
index 00000000..6f255082
--- /dev/null
+++ b/yanzhu-ui-vue3/src/api/manage/videoMonitor.js
@@ -0,0 +1,51 @@
+import request from '@/utils/request'
+
+// 鏌ヨ寤惰繜鎽勫奖绠$悊鍒楄〃
+export function listVideoMonitor(query) {
+ return request({
+ url: '/manage/videoMonitor/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 鏌ヨ寤惰繜鎽勫奖绠$悊璇︾粏
+export function getVideoMonitor(id) {
+ return request({
+ url: '/manage/videoMonitor/' + id,
+ method: 'get'
+ })
+}
+
+// 鏂板寤惰繜鎽勫奖绠$悊
+export function addVideoMonitor(data) {
+ return request({
+ url: '/manage/videoMonitor',
+ method: 'post',
+ data: data
+ })
+}
+
+// 淇敼寤惰繜鎽勫奖绠$悊
+export function updateVideoMonitor(data) {
+ return request({
+ url: '/manage/videoMonitor',
+ method: 'put',
+ data: data
+ })
+}
+
+// 鍒犻櫎寤惰繜鎽勫奖绠$悊
+export function delVideoMonitor(id) {
+ return request({
+ url: '/manage/videoMonitor/' + id,
+ method: 'delete'
+ })
+}
+
+export function getYsToken(id){
+ return request({
+ url: '/manage/videoMonitor/getYsToken/' + id,
+ method: 'get'
+ })
+}
\ No newline at end of file
diff --git a/yanzhu-ui-vue3/src/assets/icons/svg/4screen.svg b/yanzhu-ui-vue3/src/assets/icons/svg/4screen.svg
new file mode 100644
index 00000000..f85e93ce
--- /dev/null
+++ b/yanzhu-ui-vue3/src/assets/icons/svg/4screen.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/yanzhu-ui-vue3/src/assets/icons/svg/9screen.svg b/yanzhu-ui-vue3/src/assets/icons/svg/9screen.svg
new file mode 100644
index 00000000..51747d7c
--- /dev/null
+++ b/yanzhu-ui-vue3/src/assets/icons/svg/9screen.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/yanzhu-ui-vue3/src/assets/icons/svg/video.svg b/yanzhu-ui-vue3/src/assets/icons/svg/video.svg
new file mode 100644
index 00000000..396885fb
--- /dev/null
+++ b/yanzhu-ui-vue3/src/assets/icons/svg/video.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/yanzhu-ui-vue3/src/components/CurrentProject/index.vue b/yanzhu-ui-vue3/src/components/CurrentProject/index.vue
index 7d2af4a9..982437a5 100644
--- a/yanzhu-ui-vue3/src/components/CurrentProject/index.vue
+++ b/yanzhu-ui-vue3/src/components/CurrentProject/index.vue
@@ -1,6 +1,6 @@
-
{{userStore.currentProId?userStore.currentProName:'鎵鏈夐」鐩'}}
+
{{userStore.currentPrjId?userStore.currentProName:'鎵鏈夐」鐩'}}
@@ -16,7 +16,7 @@
鎼滅储
閲嶇疆
- 鍙栨秷閫夋嫨椤圭洰
+ 鍙栨秷閫夋嫨椤圭洰
@@ -36,8 +36,8 @@
- 宸 閫 涓
- 鍒囨崲椤圭洰
+ 宸 閫 涓
+ 鍒囨崲椤圭洰
diff --git a/yanzhu-ui-vue3/src/components/flow/Role/index.vue b/yanzhu-ui-vue3/src/components/flow/Role/index.vue
index 515c9994..158a6d96 100644
--- a/yanzhu-ui-vue3/src/components/flow/Role/index.vue
+++ b/yanzhu-ui-vue3/src/components/flow/Role/index.vue
@@ -151,7 +151,7 @@ watch(roleList, newValue => {
/** 鏌ヨ瑙掕壊鍒楄〃 */
function getList() {
loading.value = true;
- queryParams.value.projectId = userStore.currentProId;
+ queryParams.value.projectId = userStore.currentPrjId;
listRole(queryParams.value).then(response => {
roleList.value = response.rows;
total.value = response.total;
diff --git a/yanzhu-ui-vue3/src/store/modules/user.js b/yanzhu-ui-vue3/src/store/modules/user.js
index c69458bf..c1bfddde 100644
--- a/yanzhu-ui-vue3/src/store/modules/user.js
+++ b/yanzhu-ui-vue3/src/store/modules/user.js
@@ -17,7 +17,7 @@ const useUserStore = defineStore(
permissions: [],
currentComId: null,
currentComName: null,
- currentProId: null,
+ currentPrjId: null,
currentProName: null,
}),
actions: {
@@ -58,7 +58,7 @@ const useUserStore = defineStore(
this.avatar = avatar;
this.currentComId = user.activeComId;
this.currentComName = user.activeComName;
- this.currentProId = user.activeProjectId;
+ this.currentPrjId = user.activeProjectId;
this.currentProName = user.activeProjectName;
resolve(res)
}).catch(error => {
diff --git a/yanzhu-ui-vue3/src/views/flowable/definition/index.vue b/yanzhu-ui-vue3/src/views/flowable/definition/index.vue
index 0c609046..8c7d8337 100644
--- a/yanzhu-ui-vue3/src/views/flowable/definition/index.vue
+++ b/yanzhu-ui-vue3/src/views/flowable/definition/index.vue
@@ -1,7 +1,7 @@
-
+
-
+
-
+
-
+
- {handleQuery();projectChange();}">
@@ -199,7 +199,7 @@ const data = reactive({
},
projects:[],
subdepts:[],
- currentProId: '',
+ currentPrjId: '',
});
const { queryParams, form, rules } = toRefs(data);
@@ -218,9 +218,9 @@ function projectChange(){
function getProjectList() {
findMyProjectList({ pageNum: 1, pageSize: 100 }).then(response => {
data.projects = response.rows;
- if (userStore.currentProId) {
- queryParams.value.projectId = userStore.currentProId
- data.currentProId = userStore.currentProId;
+ if (userStore.currentPrjId) {
+ queryParams.value.projectId = userStore.currentPrjId
+ data.currentPrjId = userStore.currentPrjId;
projectChange();
}
});
diff --git a/yanzhu-ui-vue3/src/views/manage/attendanceUbiData/statistics.vue b/yanzhu-ui-vue3/src/views/manage/attendanceUbiData/statistics.vue
index 1475592c..5f088535 100644
--- a/yanzhu-ui-vue3/src/views/manage/attendanceUbiData/statistics.vue
+++ b/yanzhu-ui-vue3/src/views/manage/attendanceUbiData/statistics.vue
@@ -2,7 +2,7 @@
- { handleQuery(); projectChange(); }">
@@ -88,7 +88,7 @@ const data = reactive({
},
projects: [],
subdepts: [],
- currentProId: '',
+ currentPrjId: '',
attendanceUbiDataList: [],
loading: false,
total: 0,
@@ -107,9 +107,9 @@ function projectChange() {
function getProjectList() {
findMyProjectList({ pageNum: 1, pageSize: 100 }).then(response => {
data.projects = response.rows;
- if (userStore.currentProId) {
- queryParams.value.projectId = userStore.currentProId
- data.currentProId = userStore.currentProId;
+ if (userStore.currentPrjId) {
+ queryParams.value.projectId = userStore.currentPrjId
+ data.currentPrjId = userStore.currentPrjId;
projectChange();
}
});
diff --git a/yanzhu-ui-vue3/src/views/manage/attendance_cfg/index.vue b/yanzhu-ui-vue3/src/views/manage/attendance_cfg/index.vue
index 70b5336c..a32b88b4 100644
--- a/yanzhu-ui-vue3/src/views/manage/attendance_cfg/index.vue
+++ b/yanzhu-ui-vue3/src/views/manage/attendance_cfg/index.vue
@@ -5,7 +5,7 @@
-
@@ -94,7 +94,7 @@
:close-on-press-escape="false">
-
+
@@ -173,7 +173,7 @@ const data = reactive({
projectGuid: [{ required: true, trigger: ['blur', 'change'], message: "璇疯緭鍏ラ」鐩瓽uid" }],
},
projects: [],
- currentProId: '',
+ currentPrjId: '',
mode:'',
});
@@ -193,9 +193,9 @@ function handleDeviceList(row){
function getProjectList() {
findMyProjectList({ pageNum: 1, pageSize: 100 }).then(response => {
data.projects = response.rows;
- if (userStore.currentProId) {
- queryParams.value.projectId = userStore.currentProId
- data.currentProId = userStore.currentProId;
+ if (userStore.currentPrjId) {
+ queryParams.value.projectId = userStore.currentPrjId
+ data.currentPrjId = userStore.currentPrjId;
}
});
}
@@ -224,7 +224,7 @@ function reset() {
form.value = {
id: null,
comId: null,
- projectId: data.currentProId,
+ projectId: data.currentPrjId,
vendorsCode: 'uni',
AppKey: '',
AppSecret: '',
diff --git a/yanzhu-ui-vue3/src/views/manage/attendance_ubi_device/index.vue b/yanzhu-ui-vue3/src/views/manage/attendance_ubi_device/index.vue
index d91233f9..78239b2d 100644
--- a/yanzhu-ui-vue3/src/views/manage/attendance_ubi_device/index.vue
+++ b/yanzhu-ui-vue3/src/views/manage/attendance_ubi_device/index.vue
@@ -3,7 +3,7 @@
-
@@ -187,7 +187,7 @@ const data = reactive({
deviceNo: [{ required: true, trigger: ['blur', 'change'], message: "璇疯緭鍏ヨ澶囧簭鍒楀彿" }],
},
projects: [],
- currentProId: '',
+ currentPrjId: '',
mode:'',
});
@@ -208,9 +208,9 @@ function handleAuth(row){
function getProjectList() {
findMyProjectList({ pageNum: 1, pageSize: 100 }).then(response => {
data.projects = response.rows;
- if (userStore.currentProId) {
- queryParams.value.projectId = userStore.currentProId
- data.currentProId = userStore.currentProId;
+ if (userStore.currentPrjId) {
+ queryParams.value.projectId = userStore.currentPrjId
+ data.currentPrjId = userStore.currentPrjId;
}
});
}
@@ -285,12 +285,12 @@ function handleSelectionChange(selection) {
/** 鏂板鎸夐挳鎿嶄綔 */
function handleAdd() {
- if (!userStore.currentProId) {
+ if (!userStore.currentPrjId) {
proxy.$modal.msgWarning("璇峰垏鎹㈠埌椤圭洰鏁版嵁锛侊紒锛");
return false;
}
reset();
- form.value.projectId = userStore.currentProId;
+ form.value.projectId = userStore.currentPrjId;
form.value.projectName = userStore.currentProName;
form.value.source=ubi_device_source.value[0].value;
open.value = true;
@@ -299,7 +299,7 @@ function handleAdd() {
/** 淇敼鎸夐挳鎿嶄綔 */
function handleUpdate(row) {
- if (!userStore.currentProId) {
+ if (!userStore.currentPrjId) {
proxy.$modal.msgWarning("璇峰垏鎹㈠埌椤圭洰鏁版嵁锛侊紒锛");
return false;
}
diff --git a/yanzhu-ui-vue3/src/views/manage/attendance_ubi_device/ubiDeviceDrawer.vue b/yanzhu-ui-vue3/src/views/manage/attendance_ubi_device/ubiDeviceDrawer.vue
index 05ea3a19..7f0c46c7 100644
--- a/yanzhu-ui-vue3/src/views/manage/attendance_ubi_device/ubiDeviceDrawer.vue
+++ b/yanzhu-ui-vue3/src/views/manage/attendance_ubi_device/ubiDeviceDrawer.vue
@@ -150,7 +150,7 @@ const data = reactive({
deviceNo: [{ required: true, trigger: ['blur', 'change'], message: "璇疯緭鍏ヨ澶囧簭鍒楀彿" }],
},
projects: [],
- currentProId: '',
+ currentPrjId: '',
mode: '',
show: false,
row: null
diff --git a/yanzhu-ui-vue3/src/views/manage/basSignet/index.vue b/yanzhu-ui-vue3/src/views/manage/basSignet/index.vue
index 13a53e28..290ac941 100644
--- a/yanzhu-ui-vue3/src/views/manage/basSignet/index.vue
+++ b/yanzhu-ui-vue3/src/views/manage/basSignet/index.vue
@@ -1,7 +1,7 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+ 閫夋嫨骞翠唤
+
+
+
+
+
+ 鍙栨秷
+ 纭畾
+
+
+ 澧炲姞骞翠唤
+
+
+
+
+
+
+
+
+
+ 涓囧厓
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yanzhu-ui-vue3/src/views/manage/costOutput/costOutputDrawer.vue b/yanzhu-ui-vue3/src/views/manage/costOutput/costOutputDrawer.vue
new file mode 100644
index 00000000..dd022979
--- /dev/null
+++ b/yanzhu-ui-vue3/src/views/manage/costOutput/costOutputDrawer.vue
@@ -0,0 +1,185 @@
+
+
+
+ {{ (data.title) + " 銆愰」鐩垚鏈骇鍊肩鐞嗐" }}
+
+
+
+
+
+
+
+
+
+
+ 涓囧厓
+
+ 骞村害鎶曡祫
+
+
+
+
+
+
+ 鏈堝害浜у
+
+
+
+
+
+
+
+ 淇濆瓨
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yanzhu-ui-vue3/src/views/manage/costOutput/costYear.vue b/yanzhu-ui-vue3/src/views/manage/costOutput/costYear.vue
new file mode 100644
index 00000000..25322ca5
--- /dev/null
+++ b/yanzhu-ui-vue3/src/views/manage/costOutput/costYear.vue
@@ -0,0 +1,86 @@
+
+
+
+
+ 閫夋嫨骞翠唤
+
+
+
+
+
+ 鍙栨秷
+ 纭畾
+
+
+ 澧炲姞骞翠唤
+
+
+
+
+
+
+
+
+
+
+ 涓囧厓
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yanzhu-ui-vue3/src/views/manage/costOutput/index.vue b/yanzhu-ui-vue3/src/views/manage/costOutput/index.vue
index 63b40894..b3f8c941 100644
--- a/yanzhu-ui-vue3/src/views/manage/costOutput/index.vue
+++ b/yanzhu-ui-vue3/src/views/manage/costOutput/index.vue
@@ -2,76 +2,35 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
鎼滅储
@@ -81,42 +40,20 @@
- 鏂板
+ 鏂板
- 淇敼
+ 淇敼
- 鍒犻櫎
+ 鍒犻櫎
- 瀵煎嚭
+ 瀵煎嚭
@@ -145,19 +82,16 @@
- 淇敼
- 鍒犻櫎
+ 淇敼
+ 鍒犻櫎
-
-
+
+
@@ -181,18 +115,12 @@
-
-
@@ -350,12 +278,12 @@ function submitForm() {
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
function handleDelete(row) {
const _ids = row.id || ids.value;
- proxy.$modal.confirm('鏄惁纭鍒犻櫎椤圭洰鎴愭湰浜у肩紪鍙蜂负"' + _ids + '"鐨勬暟鎹」锛').then(function() {
+ proxy.$modal.confirm('鏄惁纭鍒犻櫎椤圭洰鎴愭湰浜у肩紪鍙蜂负"' + _ids + '"鐨勬暟鎹」锛').then(function () {
return delCostOutput(_ids);
}).then(() => {
getList();
proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- }).catch(() => {});
+ }).catch(() => { });
}
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
diff --git a/yanzhu-ui-vue3/src/views/manage/greenCarbonData/index.vue b/yanzhu-ui-vue3/src/views/manage/greenCarbonData/index.vue
index 840c4d0d..bc384ac7 100644
--- a/yanzhu-ui-vue3/src/views/manage/greenCarbonData/index.vue
+++ b/yanzhu-ui-vue3/src/views/manage/greenCarbonData/index.vue
@@ -1,6 +1,6 @@
-
+
@@ -167,7 +167,7 @@ const data = reactive({
{ required: true, message: '璇疯緭鍏ュ疄闄呬娇鐢ㄩ噺', trigger: 'blur' },
],
},
- currentProId: '',
+ currentPrjId: '',
types: greenCarbonData.types.map(it => {
it.count = 0;
return it;
@@ -278,7 +278,7 @@ function calcDataValue() {
}
/** 鏂板鎸夐挳鎿嶄綔 */
function handleAdd() {
- if (!userStore.currentProId) {
+ if (!userStore.currentPrjId) {
proxy.$modal.msgWarning("璇峰垏鎹㈠埌椤圭洰鏁版嵁锛侊紒锛");
return false;
}
@@ -286,13 +286,13 @@ function handleAdd() {
listGreenCarbonItem({
pageNum: 1,
pageSize: 100,
- projectId: userStore.currentProId,
- comIdL: userStore.currentComId,
+ projectId: userStore.currentPrjId,
+ comId: userStore.currentComId,
carbonFactorType: data.selTab
}).then(d => {
data.itemList = d.rows || [];
});
- form.value.projectId = userStore.currentProId;
+ form.value.projectId = userStore.currentPrjId;
form.value.projectName = userStore.currentProName;
open.value = true;
title.value = "寤虹⒊绠$悊 - " + getGreenCarbon(data.selTab).text + ' - 鏂板';
@@ -305,8 +305,8 @@ function handleUpdate(row) {
listGreenCarbonItem({
pageNum: 1,
pageSize: 100,
- projectId: userStore.currentProId,
- comIdL: userStore.currentComId,
+ projectId: userStore.currentPrjId,
+ comId: userStore.currentComId,
carbonFactorType: data.selTab
}).then(d => {
data.itemList = d.rows || [];
@@ -361,9 +361,9 @@ function handleExport() {
}
onMounted(() => {
- queryParams.value.projectId = userStore.currentProId;
+ queryParams.value.projectId = userStore.currentPrjId;
queryParams.value.comId = userStore.currentComId;
- data.currentProId = userStore.currentProId;
+ data.currentPrjId = userStore.currentPrjId;
getList();
getCounts();
})
diff --git a/yanzhu-ui-vue3/src/views/manage/greenCarbonItem/index.vue b/yanzhu-ui-vue3/src/views/manage/greenCarbonItem/index.vue
index 9a03e90c..9b1b026e 100644
--- a/yanzhu-ui-vue3/src/views/manage/greenCarbonItem/index.vue
+++ b/yanzhu-ui-vue3/src/views/manage/greenCarbonItem/index.vue
@@ -3,7 +3,7 @@
-
@@ -52,8 +52,8 @@
-
-
+
+
{{getGreenCarbon(scope.row.carbonFactorType).text }}
@@ -114,8 +114,8 @@
-
-
+
+
{{getGreenCarbon(scope.row.carbonFactorType).text }}
@@ -201,7 +201,7 @@ const data = reactive({
],
},
projects:[],
- currentProId:'',
+ currentPrjId:'',
types:greenCarbonData.types,
delDatas:[],
importData:[],
@@ -213,9 +213,9 @@ const { queryParams, form, rules } = toRefs(data);
function getProjectList() {
findMyProjectList({ pageNum: 1, pageSize: 100 }).then(response => {
data.projects = response.rows;
- if (userStore.currentProId) {
- queryParams.value.projectId = userStore.currentProId
- data.currentProId = userStore.currentProId;
+ if (userStore.currentPrjId) {
+ queryParams.value.projectId = userStore.currentPrjId
+ data.currentPrjId = userStore.currentPrjId;
}
});
}
@@ -278,12 +278,12 @@ function handleSelectionChange(selection) {
/** 鏂板鎸夐挳鎿嶄綔 */
function handleAdd() {
- if (!userStore.currentProId) {
+ if (!userStore.currentPrjId) {
proxy.$modal.msgWarning("璇峰垏鎹㈠埌椤圭洰鏁版嵁锛侊紒锛");
return false;
}
reset();
- form.value.projectId = userStore.currentProId;
+ form.value.projectId = userStore.currentPrjId;
form.value.projectName = userStore.currentProName;
open.value = true;
title.value = "纰冲洜瀛愮鐞-澧炲姞";
diff --git a/yanzhu-ui-vue3/src/views/manage/milestone/index.vue b/yanzhu-ui-vue3/src/views/manage/milestone/index.vue
index ee7a8a75..8cbc1bf0 100644
--- a/yanzhu-ui-vue3/src/views/manage/milestone/index.vue
+++ b/yanzhu-ui-vue3/src/views/manage/milestone/index.vue
@@ -1,7 +1,7 @@
-
+
d.nodeName).filter(d => d.nodeName.trim());
objs.forEach(it => {
it.comId = userStore.currentComId;
- it.projectId = userStore.currentProId;
+ it.projectId = userStore.currentPrjId;
})
if (objs.length == 0) {
proxy.$modal.msgError("璇疯緭鍏ヨ妭鐐瑰悕绉!");
@@ -171,9 +171,9 @@ function handleDelete(row) {
}
onMounted(() => {
- queryParams.value.projectId = userStore.currentProId;
+ queryParams.value.projectId = userStore.currentPrjId;
queryParams.value.comId = userStore.currentComId;
- data.currentProId = userStore.currentProId;
+ data.currentPrjId = userStore.currentPrjId;
getList();
});
diff --git a/yanzhu-ui-vue3/src/views/manage/plan/index.vue b/yanzhu-ui-vue3/src/views/manage/plan/index.vue
index 32f58460..b501cc36 100644
--- a/yanzhu-ui-vue3/src/views/manage/plan/index.vue
+++ b/yanzhu-ui-vue3/src/views/manage/plan/index.vue
@@ -306,7 +306,7 @@ function handleExport() {
...queryParams.value
}, `${name}璁″垝_${new Date().getTime()}.mpp`)
}
-data.projectId=userStore.currentProId;
+data.projectId=userStore.currentPrjId;
data.compId=userStore.currentComId;
queryParams.value.projectId=data.projectId;
getList();
diff --git a/yanzhu-ui-vue3/src/views/manage/proProjectInfo/index.vue b/yanzhu-ui-vue3/src/views/manage/proProjectInfo/index.vue
index d543881f..3612317a 100644
--- a/yanzhu-ui-vue3/src/views/manage/proProjectInfo/index.vue
+++ b/yanzhu-ui-vue3/src/views/manage/proProjectInfo/index.vue
@@ -53,7 +53,7 @@
-
@@ -101,11 +101,42 @@
-
+
+ menuCommand(e,scope.row)">
+
+
+
+ 鎿嶄綔
+
+
+
+
+
+
+
+
+ 淇敼
+
+
+
+
+
+ 椤圭洰浜у肩鐞
+
+
+
+
+ 鍒犻櫎
+
+
+
@@ -114,13 +145,10 @@
v-model:limit="queryParams.pageSize" @pagination="getList" />
-
+
-
+
@@ -167,11 +195,11 @@
-
+
-
+
@@ -218,13 +246,13 @@
-
+
-
+
@@ -239,15 +267,15 @@
:value="dict.value">
-
+
-
+
-
+
@@ -265,44 +293,47 @@
-
+
-
+
-
+
@@ -357,6 +390,7 @@ import { deptTreeSelect } from "@/api/system/user";
import { listProProjectInfo, getProProjectInfo, delProProjectInfo, addProProjectInfo, updateProProjectInfo } from "@/api/manage/proProjectInfo";
import BaiduMap from "@/components/BaiduMap/Map.vue";
import useUserStore from '@/store/modules/user'
+import costOutputDrawer from "../costOutput/costOutputDrawer.vue";
const { proxy } = getCurrentInstance();
const { pro_project_type, pro_project_schedule, pro_dept_type, sys_is_del } = proxy.useDict('pro_project_type', 'pro_project_schedule', 'pro_dept_type', 'sys_is_del');
@@ -373,10 +407,10 @@ const total = ref(0);
const title = ref("");
const activeTags = ref('base')
const addressInfos = ref("");
-const fitemPrjAddr=ref()
+const fitemPrjAddr = ref()
const projectDeptsList = ref([]);
const checkedProjectDepts = ref([]);
-
+const coDrawer=ref();
const deptOptions = ref([]);
const userStore = useUserStore()
const data = reactive({
@@ -399,7 +433,7 @@ const data = reactive({
projectStatus: null,
isDel: null,
},
- rules: {
+ rules: {
disDeptId: [{ required: true, message: "褰掑睘鍗曚綅涓嶈兘涓虹┖", trigger: "change" }],
projectName: [{ required: true, message: "椤圭洰鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }],
simpleName: [{ required: false, message: "椤圭洰绠绉颁笉鑳戒负绌", trigger: "blur" }],
@@ -418,25 +452,39 @@ const data = reactive({
actualOperatingTime: [{ required: true, message: "瀹為檯寮宸ユ椂闂翠笉鑳戒负绌", trigger: "blur" }],
projectSummarize: [{ required: true, message: "椤圭洰姒傝堪涓嶈兘涓虹┖", trigger: "blur" }],
},
- opt:'',
- projectDeptsList:[]
+ opt: '',
+ projectDeptsList: []
});
const { queryParams, form, rules } = toRefs(data);
/** 鍦板浘閫夋嫨 */
function mapDocom(pt, city) {
- form.value.province=city.province
- form.value.city=city.city
- form.value.district=city.district
- form.value.address=city.address;
+ form.value.province = city.province
+ form.value.city = city.city
+ form.value.district = city.district
+ form.value.address = city.address;
form.value.projectAddress = city.address || "";
form.value.longitude = pt.lng.toFixed(5);
form.value.latitude = pt.lat.toFixed(5);
addressInfos.value = form.value.projectAddress + "," + form.value.longitude + "," + form.value.latitude;
- fitemPrjAddr.value.clearValidate();
+ fitemPrjAddr.value.clearValidate();
}
+function menuCommand(e,row){
+ if(e=="edit"){
+ handleUpdate(row);
+ return;
+ }
+ if(e=="delete"){
+ handleDelete(row);
+ return;
+ }
+ if(e=="outCost"){
+ coDrawer.value.showDrawer(row);
+ return;
+ }
+}
/** 鏌ヨ椤圭洰淇℃伅鍒楄〃 */
function getList() {
loading.value = true;
@@ -455,7 +503,7 @@ function cancel() {
// 琛ㄥ崟閲嶇疆
function reset() {
- addressInfos.value="";
+ addressInfos.value = "";
form.value = {
id: null,
deptId: null,
@@ -499,7 +547,7 @@ function reset() {
setting: {}
};
proxy.resetForm("proProjectInfoRef");
- activeTags.value="base";
+ activeTags.value = "base";
}
/** 鎼滅储鎸夐挳鎿嶄綔 */
@@ -523,65 +571,64 @@ function handleSelectionChange(selection) {
/** 鏂板鎸夐挳鎿嶄綔 */
function handleAdd() {
- data.opt="add"
+ data.opt = "add"
reset();
open.value = true;
title.value = "娣诲姞椤圭洰";
}
-function doAddPrjDept(it){
+function doAddPrjDept(it) {
it.datas.push({
- deptType:it.header,deptName:'',leader:'',phone:''
+ deptType: it.header, deptName: '', leader: '', phone: ''
});
}
-function doDeletPrjDept(it,item,index){
- if(item.deptName || item.leader || item.phone){
+function doDeletPrjDept(it, item, index) {
+ if (item.deptName || item.leader || item.phone) {
proxy.$modal.confirm('鏄惁纭鍒犻櫎杩欎釜鏁版嵁锛').then(function () {
- it.datas.splice(index,1)
+ it.datas.splice(index, 1)
proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
}).catch(() => { });
- }else{
- it.datas.splice(index,1)
+ } else {
+ it.datas.splice(index, 1)
}
}
/** 淇敼鎸夐挳鎿嶄綔 */
function handleUpdate(row) {
- data.opt="edit"
+ data.opt = "edit"
reset();
const _id = row.id || ids.value
- getProProjectInfo(_id).then(response => {
- debugger
+ getProProjectInfo(_id).then(response => {
form.value = response.data;
- form.value.setting=response.data.setting||{
- orgName:'',
- orgLogo:'',
- orgPlane:'',
- orgImage:[],
- orgVideo:''
+ form.value.setting = response.data.setting || {
+ orgName: '',
+ orgLogo: '',
+ orgPlane: '',
+ orgImage: [],
+ orgVideo: ''
};
open.value = true;
title.value = "淇敼椤圭洰淇℃伅";
- projectDeptsList.value=(response.data.projectDeptsList||[]).filter(d=>d.id);
- if(projectDeptsList.value.length==0){
- projectDeptsList.value=[
- {deptType:'寤鸿鍗曚綅',deptName:'',leader:'',phone:''},
- {deptType:'鐩戠悊鍗曚綅',deptName:'',leader:'',phone:''},
- {deptType:'璁捐鍗曚綅',deptName:'',leader:'',phone:''},
- {deptType:'妫娴嬪崟浣',deptName:'',leader:'',phone:''},
- {deptType:'鍕樺療鍗曚綅',deptName:'',leader:'',phone:''},
+ projectDeptsList.value = (response.data.projectDeptsList || []).filter(d => d.id);
+ if (projectDeptsList.value.length == 0) {
+ projectDeptsList.value = [
+ { deptType: '寤鸿鍗曚綅', deptName: '', leader: '', phone: '' },
+ { deptType: '鐩戠悊鍗曚綅', deptName: '', leader: '', phone: '' },
+ { deptType: '璁捐鍗曚綅', deptName: '', leader: '', phone: '' },
+ { deptType: '妫娴嬪崟浣', deptName: '', leader: '', phone: '' },
+ { deptType: '鍕樺療鍗曚綅', deptName: '', leader: '', phone: '' },
];
}
- let headers="寤鸿鍗曚綅,鐩戠悊鍗曚綅,璁捐鍗曚綅,妫娴嬪崟浣,鍕樺療鍗曚綅".split(",");
- data.projectDeptsList=[];
- headers.forEach(h=>{
+ let headers = "寤鸿鍗曚綅,鐩戠悊鍗曚綅,璁捐鍗曚綅,妫娴嬪崟浣,鍕樺療鍗曚綅".split(",");
+ data.projectDeptsList = [];
+ headers.forEach(h => {
data.projectDeptsList.push({
- header:h,
- datas:projectDeptsList.value.filter(it=>it.deptType==h)
+ header: h,
+ datas: projectDeptsList.value.filter(it => it.deptType == h)
})
- });
+ });
addressInfos.value = form.value.projectAddress + "," + form.value.longitude + "," + form.value.latitude;
-
+
});
}
@@ -618,12 +665,12 @@ function handleDeptsSelectionChange(selection) {
checkedProjectDepts.value = selection.map(item => item.index)
}
-function getProjectDeptsList(){
- let datas=[];
- data.projectDeptsList.forEach(d=>{
- if(d.datas){
- d.datas.forEach(it=>{
- if(it.deptName || it.leader || it.phone){
+function getProjectDeptsList() {
+ let datas = [];
+ data.projectDeptsList.forEach(d => {
+ if (d.datas) {
+ d.datas.forEach(it => {
+ if (it.deptName || it.leader || it.phone) {
datas.push(it);
}
})
@@ -637,9 +684,9 @@ function submitForm() {
proxy.$refs["proProjectInfoRef"].validate(valid => {
if (valid) {
form.value.projectDeptsList = getProjectDeptsList();
- let postData={
+ let postData = {
...form.value
- }
+ }
if (form.value.id != null) {
updateProProjectInfo(postData).then(response => {
proxy.$modal.msgSuccess("淇敼鎴愬姛");
@@ -702,9 +749,9 @@ function getMapInfo() {
/** 鍒濆鍖栭〉闈 */
function initPage() {
let roles = userStore.roles;
- if(roles.includes("admin") || roles.includes("gsAdmin")){
+ if (roles.includes("admin") || roles.includes("gsAdmin")) {
isAdmin.value = true;
- }else{
+ } else {
isAdmin.value = false;
}
}
@@ -714,52 +761,62 @@ getList();
getDeptTree();
\ No newline at end of file
diff --git a/yanzhu-ui-vue3/src/views/manage/videoMonitor/videoMonitorDrawer.vue b/yanzhu-ui-vue3/src/views/manage/videoMonitor/videoMonitorDrawer.vue
new file mode 100644
index 00000000..c3bde84f
--- /dev/null
+++ b/yanzhu-ui-vue3/src/views/manage/videoMonitor/videoMonitorDrawer.vue
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 纭畾
+ 鍙栨秷
+
+
+
+
+
+
+
\ No newline at end of file