flx:新增人员考勤忽略打卡 视频大屏优化
BIN
src/assets/images/videoSurveillance/bg-icon.png
Normal file
|
After Width: | Height: | Size: 2.6 KiB |
BIN
src/assets/images/videoSurveillance/bg-icon1.png
Normal file
|
After Width: | Height: | Size: 863 B |
BIN
src/assets/images/videoSurveillance/bg-icon1_active.png
Normal file
|
After Width: | Height: | Size: 827 B |
BIN
src/assets/images/videoSurveillance/bg-input.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/assets/images/videoSurveillance/refresh-icon.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
src/assets/images/videoSurveillance/search-icon.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/assets/images/videoSurveillance/shrink-icon.png
Normal file
|
After Width: | Height: | Size: 761 B |
@ -208,8 +208,8 @@ if (process.env.NODE_ENV == "development") {
|
|||||||
// axios.defaults.baseURL = "http://139.9.66.234:20628";
|
// axios.defaults.baseURL = "http://139.9.66.234:20628";
|
||||||
// axios.defaults.baseURL = "http://jxj.zhgdyun.com:9500";
|
// axios.defaults.baseURL = "http://jxj.zhgdyun.com:9500";
|
||||||
// axios.defaults.baseURL = "http://jxj.zhgdyun.com:21000"; // 潮州
|
// axios.defaults.baseURL = "http://jxj.zhgdyun.com:21000"; // 潮州
|
||||||
// axios.defaults.baseURL = "http://gszhdz.crpower.com.cn:9809/"; // 敦煌
|
axios.defaults.baseURL = "http://gszhdz.crpower.com.cn:9809/"; // 敦煌
|
||||||
// axios.defaults.baseURL = "https://gszhdz.crpower.com.cn:9807/"; // 敦煌
|
// axios.defaults.baseURL = "https://gszhdz.crpower.com.cn:9807/"; // 敦煌
|
||||||
} else if (process.env.NODE_ENV == "debug") {
|
} else if (process.env.NODE_ENV == "debug") {
|
||||||
axios.defaults.baseURL = "https://www.ceshi.com";
|
axios.defaults.baseURL = "https://www.ceshi.com";
|
||||||
} else if (process.env.NODE_ENV == "production") {
|
} else if (process.env.NODE_ENV == "production") {
|
||||||
|
|||||||
@ -94,10 +94,10 @@ export default new Vuex.Store({
|
|||||||
// FILEURL:'http://182.90.224.237:51234/image/',//郭圣雄远程
|
// FILEURL:'http://182.90.224.237:51234/image/',//郭圣雄远程
|
||||||
// UPLOADURL: 'http://42.180.188.17:11211/upload/image', //测试
|
// UPLOADURL: 'http://42.180.188.17:11211/upload/image', //测试
|
||||||
// FILEURL: 'http://42.180.188.17:11211/image/', //测试
|
// FILEURL: 'http://42.180.188.17:11211/image/', //测试
|
||||||
BASEURL: baseUrl ?
|
// BASEURL: baseUrl ?
|
||||||
baseUrl : window.location.protocol + "//" + window.location.host + "/", //正式环境
|
// baseUrl : window.location.protocol + "//" + window.location.host + "/", //正式环境
|
||||||
UPLOADURL: window.location.protocol + "//" + window.location.host + "/upload/image", //正式环境
|
// UPLOADURL: window.location.protocol + "//" + window.location.host + "/upload/image", //正式环境
|
||||||
FILEURL: window.location.protocol + "//" + window.location.host + "/image/", //正式环境
|
// FILEURL: window.location.protocol + "//" + window.location.host + "/image/", //正式环境
|
||||||
// // WORKFLOWURL: 'http://47.93.215.234:19998/#/workspace/forms',//鞍钢平台工作流地址(弃用)
|
// // WORKFLOWURL: 'http://47.93.215.234:19998/#/workspace/forms',//鞍钢平台工作流地址(弃用)
|
||||||
// // WORKFLOWURL: 'http://47.93.215.234:19098/#/workspace/forms',//鞍钢测试平台工作流地址(弃用)
|
// // WORKFLOWURL: 'http://47.93.215.234:19098/#/workspace/forms',//鞍钢测试平台工作流地址(弃用)
|
||||||
// WORKFLOWURL: 'http://42.180.188.17:19998/#/workspace/forms', //鞍钢平台工作流地址
|
// WORKFLOWURL: 'http://42.180.188.17:19998/#/workspace/forms', //鞍钢平台工作流地址
|
||||||
@ -108,8 +108,8 @@ export default new Vuex.Store({
|
|||||||
// UPLOADURL: 'http://gszhdz.crpower.com.cn:9809/upload/image', //敦煌线上
|
// UPLOADURL: 'http://gszhdz.crpower.com.cn:9809/upload/image', //敦煌线上
|
||||||
// FILEURL: 'http://gszhdz.crpower.com.cn:9809/image/', //敦煌线上
|
// FILEURL: 'http://gszhdz.crpower.com.cn:9809/image/', //敦煌线上
|
||||||
|
|
||||||
// UPLOADURL: 'http://192.168.34.221:8111/upload/image', //演示平台 雄本地
|
UPLOADURL: 'http://192.168.34.221:8111/upload/image', //演示平台 雄本地
|
||||||
// FILEURL: 'http://192.168.34.221:8111/image/', //演示平台 雄本地
|
FILEURL: 'http://192.168.34.221:8111/image/', //演示平台 雄本地
|
||||||
|
|
||||||
// UPLOADURL: 'http://jxj.zhgdyun.com:100/upload/image', //演示平台
|
// UPLOADURL: 'http://jxj.zhgdyun.com:100/upload/image', //演示平台
|
||||||
// FILEURL: 'http://jxj.zhgdyun.com:100/image/', //演示平台
|
// FILEURL: 'http://jxj.zhgdyun.com:100/image/', //演示平台
|
||||||
|
|||||||
@ -1,18 +1,17 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="header-wrap">
|
<div class="header-wrap">
|
||||||
<div class="left-text">
|
<div class="left-text">
|
||||||
<div class="weather-box">
|
<!-- <div class="weather-box">
|
||||||
<!-- <span>{{ weatherInfo.wea }}</span> -->
|
|
||||||
<img :src="weatherInfo.url" alt="" />
|
<img :src="weatherInfo.url" alt="" />
|
||||||
<span>
|
<span>
|
||||||
<img src="@/assets/images/videoSurveillance/header-icon4.png" />
|
<img src="@/assets/images/videoSurveillance/header-icon4.png" />
|
||||||
{{ weatherInfo.tem || "" }}℃
|
{{ weatherInfo.tem || "" }}℃
|
||||||
</span>
|
</span>
|
||||||
<div class="line"></div>
|
<div class="line"></div>
|
||||||
</div>
|
</div> -->
|
||||||
<span class="time">{{ nowTime }}</span>
|
|
||||||
<span class="time">{{ nowDate }}</span>
|
<span class="time">{{ nowDate }}</span>
|
||||||
<span class="time">{{ getChineseWeekday() }}</span>
|
<span class="time">{{ getChineseWeekday() }}</span>
|
||||||
|
<span class="time">{{ nowTime }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="center-text">
|
<div class="center-text">
|
||||||
<div class="left-text_title">
|
<div class="left-text_title">
|
||||||
@ -221,10 +220,10 @@ export default {
|
|||||||
font-family: Alibaba PuHuiTi, Alibaba PuHuiTi;
|
font-family: Alibaba PuHuiTi, Alibaba PuHuiTi;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-size: 32px;
|
font-size: 32px;
|
||||||
color: #ffffff;
|
color: #FFFFFF;
|
||||||
text-shadow: 0px 0px 6px #06bdfb;
|
text-shadow: 0px 0px 6px #06bdfb;
|
||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
letter-spacing: 9px;
|
letter-spacing: 8px;
|
||||||
.left-text_title {
|
.left-text_title {
|
||||||
position: relative;
|
position: relative;
|
||||||
&:hover {
|
&:hover {
|
||||||
|
|||||||
@ -86,7 +86,7 @@ export default {
|
|||||||
...res.result.videoInfo,
|
...res.result.videoInfo,
|
||||||
...res.result.config,
|
...res.result.config,
|
||||||
serialNumber: res.result.videoInfo.monitoringNumber,
|
serialNumber: res.result.videoInfo.monitoringNumber,
|
||||||
defaultStreamType: 2,
|
// defaultStreamType: 2,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
console.log("播放视频2222", dataList);
|
console.log("播放视频2222", dataList);
|
||||||
|
|||||||
@ -177,6 +177,10 @@
|
|||||||
<div>工作票编号</div>
|
<div>工作票编号</div>
|
||||||
<div>{{ workTicketDetail.workTicketNumber }}</div>
|
<div>{{ workTicketDetail.workTicketNumber }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="box1">
|
||||||
|
<div>当前绑定监控</div>
|
||||||
|
<div>{{ itemListDevNameUp }}</div>
|
||||||
|
</div>
|
||||||
<div class="box1">
|
<div class="box1">
|
||||||
<div>施工区域</div>
|
<div>施工区域</div>
|
||||||
<div>{{ workTicketDetail.constructionAreaNames }}</div>
|
<div>{{ workTicketDetail.constructionAreaNames }}</div>
|
||||||
@ -1009,7 +1013,9 @@ const updateStatus = computed(() => {
|
|||||||
return find ? find.label : "--";
|
return find ? find.label : "--";
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
const itemListDevNameUp = computed(() => {
|
||||||
|
return workTicketDetail.value.itemList ? workTicketDetail.value.itemList.map(item => item.devName).join('、') : ""
|
||||||
|
})
|
||||||
const workTicketTypeTreeList = ref([]);
|
const workTicketTypeTreeList = ref([]);
|
||||||
// 获取工作票类型
|
// 获取工作票类型
|
||||||
const getWorkTicketTypeTreePage = () => {
|
const getWorkTicketTypeTreePage = () => {
|
||||||
|
|||||||
@ -22,17 +22,40 @@
|
|||||||
<div class="header-video" @click.stop="playAllVideo(treeData)"></div>
|
<div class="header-video" @click.stop="playAllVideo(treeData)"></div>
|
||||||
</el-tooltip> -->
|
</el-tooltip> -->
|
||||||
</div>
|
</div>
|
||||||
|
<div class="header-search">
|
||||||
|
<div>
|
||||||
|
<el-input
|
||||||
|
v-model="searchInfo.videoName"
|
||||||
|
prefix-icon="el-icon-search"
|
||||||
|
placeholder="请输入关键字"
|
||||||
|
></el-input>
|
||||||
|
<div class="input-right">
|
||||||
|
<div class="bg-icon" @click="onRefresh">
|
||||||
|
<div class="refresh-icon"></div>
|
||||||
|
</div>
|
||||||
|
<div class="bg-icon" @click="onExpand">
|
||||||
|
<div class="shrink-icon"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="header-box1">
|
||||||
|
<div @click="onDeviceState(0)" :class="{'bg-active': searchInfo.deviceState == 0}">全部(10)</div>
|
||||||
|
<div @click="onDeviceState(1)" :class="{'bg-active': searchInfo.deviceState == 1}">在线(10)</div>
|
||||||
|
<div @click="onDeviceState(2)" :class="{'bg-active': searchInfo.deviceState == 2}">离线(10)</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="treeBox">
|
<div class="treeBox">
|
||||||
<!-- :class="{
|
<!-- :class="{
|
||||||
control_scroll: videoConfigInfo.enableNotPlugin == 1 && isDragging,
|
control_scroll: videoConfigInfo.enableNotPlugin == 1 && isDragging,
|
||||||
control_scrolloff:
|
control_scrolloff:
|
||||||
videoConfigInfo.enableNotPlugin == 1 && !isDragging,
|
videoConfigInfo.enableNotPlugin == 1 && !isDragging,
|
||||||
}" -->
|
}" -->
|
||||||
<vue-scroll v-if="treeData.length > 0 || videoType != 1">
|
<vue-scroll v-if="filterTreeData.length > 0 || videoType != 1">
|
||||||
<el-tree
|
<el-tree
|
||||||
:data="treeData"
|
:data="filterTreeData"
|
||||||
@node-click="handleNodeClick"
|
@node-click="handleNodeClick"
|
||||||
:props="defaultProps"
|
:props="defaultProps"
|
||||||
|
:filter-node-method="filterNode"
|
||||||
node-key="itemId"
|
node-key="itemId"
|
||||||
ref="tree"
|
ref="tree"
|
||||||
>
|
>
|
||||||
@ -66,9 +89,10 @@
|
|||||||
content="播放项目所有视频"
|
content="播放项目所有视频"
|
||||||
placement="top"
|
placement="top"
|
||||||
>
|
>
|
||||||
|
<!-- data.type == 'project' && -->
|
||||||
<span
|
<span
|
||||||
class="playAllBtn"
|
class="playAllBtn"
|
||||||
v-show="data.type == 'project' && data.children.length > 0"
|
v-if="data.children.length > 0"
|
||||||
@click.stop="playAllVideo(data.children)"
|
@click.stop="playAllVideo(data.children)"
|
||||||
></span>
|
></span>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
@ -117,7 +141,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { getstandardDevListApi } from "@/assets/js/api/markingRoom";
|
import { getstandardDevListApi } from "@/assets/js/api/markingRoom";
|
||||||
import {
|
import {
|
||||||
getTreeVideoProjectListApi,
|
getTreeVideoProjectListApi,
|
||||||
@ -142,6 +166,10 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
treeData: [],
|
treeData: [],
|
||||||
|
searchInfo: {
|
||||||
|
videoName: "",
|
||||||
|
deviceState: 0,
|
||||||
|
},
|
||||||
defaultProps: {
|
defaultProps: {
|
||||||
children: "children",
|
children: "children",
|
||||||
label: "name",
|
label: "name",
|
||||||
@ -158,6 +186,7 @@ export default {
|
|||||||
gaugeValue: 10,
|
gaugeValue: 10,
|
||||||
isDragging: false,
|
isDragging: false,
|
||||||
shrinkCloseFlag: false,
|
shrinkCloseFlag: false,
|
||||||
|
defaultExpand: false,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@ -165,6 +194,26 @@ export default {
|
|||||||
this.loadData();
|
this.loadData();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
onDeviceState(state) {
|
||||||
|
this.searchInfo.deviceState = state;
|
||||||
|
},
|
||||||
|
onExpand() {
|
||||||
|
this.defaultExpand = !this.defaultExpand;
|
||||||
|
console.log("this.defaultExpand", this.defaultExpand);
|
||||||
|
this.changeTreeNodeStatus(this.$refs.tree.store.root);
|
||||||
|
},
|
||||||
|
// 改变节点的状态
|
||||||
|
changeTreeNodeStatus(node) {
|
||||||
|
node.expanded = this.defaultExpand;
|
||||||
|
for (let i = 0; i < node.childNodes.length; i++) {
|
||||||
|
// 改变节点的自身expanded状态
|
||||||
|
node.childNodes[i].expanded = this.defaultExpand;
|
||||||
|
// 遍历子节点
|
||||||
|
if (node.childNodes[i].childNodes.length > 0) {
|
||||||
|
this.changeTreeNodeStatus(node.childNodes[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
shrinkCloseFlagFn() {
|
shrinkCloseFlagFn() {
|
||||||
this.shrinkCloseFlag = !this.shrinkCloseFlag;
|
this.shrinkCloseFlag = !this.shrinkCloseFlag;
|
||||||
this.$emit("shrinkCloseChange", this.shrinkCloseFlag);
|
this.$emit("shrinkCloseChange", this.shrinkCloseFlag);
|
||||||
@ -197,6 +246,10 @@ export default {
|
|||||||
this.markRoomDevList = res.result;
|
this.markRoomDevList = res.result;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
onRefresh() {
|
||||||
|
this.searchInfo.videoName = "";
|
||||||
|
// this.loadData();
|
||||||
|
},
|
||||||
loadData() {
|
loadData() {
|
||||||
console.log(isDockingToWoer);
|
console.log(isDockingToWoer);
|
||||||
console.log(this.$props.videoSn);
|
console.log(this.$props.videoSn);
|
||||||
@ -459,8 +512,51 @@ export default {
|
|||||||
data.allvideolist
|
data.allvideolist
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
filterNode(value, data) {
|
||||||
|
this.defaultExpand = true;
|
||||||
|
if (!value) return true;
|
||||||
|
return data.name.indexOf(value) !== -1;
|
||||||
|
},
|
||||||
|
recursion(array) {
|
||||||
|
return array.filter((item) => {
|
||||||
|
if (
|
||||||
|
item.children &&
|
||||||
|
Array.isArray(item.children) &&
|
||||||
|
item.children.length > 0
|
||||||
|
) {
|
||||||
|
const resultList = this.recursion(item.children);
|
||||||
|
return resultList.length > 0;
|
||||||
|
}
|
||||||
|
return item.deviceState === this.searchInfo.deviceState;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
filterTreeData() {
|
||||||
|
if (!this.searchInfo.deviceState) return this.treeData;
|
||||||
|
return this.treeData.map((item) => {
|
||||||
|
let children = [];
|
||||||
|
if (
|
||||||
|
item.children &&
|
||||||
|
Array.isArray(item.children) &&
|
||||||
|
item.children.length > 0
|
||||||
|
) {
|
||||||
|
children = this.recursion(item.children);
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
...item,
|
||||||
|
children,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
},
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
|
"searchInfo.videoName": {
|
||||||
|
handler(val) {
|
||||||
|
this.$refs.tree.filter(val);
|
||||||
|
},
|
||||||
|
deep: true,
|
||||||
|
},
|
||||||
selectPlayVideoInfo: {
|
selectPlayVideoInfo: {
|
||||||
handler(val) {
|
handler(val) {
|
||||||
console.log("进来了", val);
|
console.log("进来了", val);
|
||||||
@ -472,6 +568,79 @@ export default {
|
|||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
|
.header-search {
|
||||||
|
padding: 10px 15px;
|
||||||
|
.header-box1 {
|
||||||
|
margin-top: 20px;
|
||||||
|
> div {
|
||||||
|
padding: 5px 24px;
|
||||||
|
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 15px;
|
||||||
|
color: rgba(255, 255, 255, 0.6);
|
||||||
|
background-image: url("~@/assets/images/videoSurveillance/bg-icon1.png");
|
||||||
|
background-size: 100% 100%;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
>.bg-active {
|
||||||
|
background-image: url("~@/assets/images/videoSurveillance/bg-icon1_active.png");
|
||||||
|
color: #ffffff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
> div {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
.input-right {
|
||||||
|
display: flex;
|
||||||
|
margin-left: 17px;
|
||||||
|
> div:last-child {
|
||||||
|
margin-left: 15px;
|
||||||
|
}
|
||||||
|
.bg-icon {
|
||||||
|
width: 32px;
|
||||||
|
height: 32px;
|
||||||
|
background-image: url("~@/assets/images/videoSurveillance/bg-icon.png");
|
||||||
|
background-size: 100% 100%;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
cursor: pointer;
|
||||||
|
> div {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
.refresh-icon {
|
||||||
|
background-image: url("~@/assets/images/videoSurveillance/refresh-icon.png");
|
||||||
|
}
|
||||||
|
.shrink-icon {
|
||||||
|
background-image: url("~@/assets/images/videoSurveillance/shrink-icon.png");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
:deep(.el-input) {
|
||||||
|
width: 250px;
|
||||||
|
background-image: url("~@/assets/images/videoSurveillance/bg-input.png");
|
||||||
|
background-size: 100% 100%;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
.el-input__icon {
|
||||||
|
line-height: 32px;
|
||||||
|
color: #65d7f9;
|
||||||
|
}
|
||||||
|
.el-input__inner {
|
||||||
|
height: 32px;
|
||||||
|
line-height: 32px;
|
||||||
|
font-size: 15px;
|
||||||
|
color: #8490ae;
|
||||||
|
background-color: transparent;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
.top-container {
|
.top-container {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background: linear-gradient(180deg, #082a68 0%, #001e53 100%);
|
background: linear-gradient(180deg, #082a68 0%, #001e53 100%);
|
||||||
@ -703,7 +872,7 @@ export default {
|
|||||||
// margin-right: 12px;
|
// margin-right: 12px;
|
||||||
}
|
}
|
||||||
.treeBox {
|
.treeBox {
|
||||||
height: calc(100% - 78px);
|
height: calc(100% - 78px - 103px);
|
||||||
// width: 306px;
|
// width: 306px;
|
||||||
// margin-left: -15px;
|
// margin-left: -15px;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -77,8 +77,8 @@ export default {
|
|||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.headerNoise {
|
.headerNoise {
|
||||||
width: calc(100% - 20px - 40px);
|
width: calc(100% - 20px - 40px);
|
||||||
height: calc(100% - 132px - 10px - 25px);
|
height: calc(100% - 96px - 10px - 25px);
|
||||||
margin: 130px 10px 0;
|
margin: 94px 10px 0;
|
||||||
padding: 15px 20px 10px;
|
padding: 15px 20px 10px;
|
||||||
background-image: url("~@/assets/images/companyBigScreen/terminalOperation/index-bg.png");
|
background-image: url("~@/assets/images/companyBigScreen/terminalOperation/index-bg.png");
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
|
|||||||
@ -51,6 +51,23 @@
|
|||||||
<el-radio :label="0">否</el-radio>
|
<el-radio :label="0">否</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="search-box">
|
||||||
|
<div>
|
||||||
|
<span>是否忽略员工打卡方向标识</span>
|
||||||
|
<el-popover
|
||||||
|
placement="bottom-start"
|
||||||
|
width="365"
|
||||||
|
:visible-arrow="false"
|
||||||
|
trigger="hover"
|
||||||
|
content="统计考勤时是否忽略员工打卡时的“进/出”方向标识">
|
||||||
|
<div slot="reference" class="question-icon">?</div>
|
||||||
|
</el-popover>
|
||||||
|
</div>
|
||||||
|
<el-radio-group v-model="ignoreWorkerMonthAttendanceInOut" @change="changeMobileAttendance">
|
||||||
|
<el-radio :label="1">是</el-radio>
|
||||||
|
<el-radio :label="0">否</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="table_wrap whiteBlock">
|
<div class="table_wrap whiteBlock">
|
||||||
<vue-scroll>
|
<vue-scroll>
|
||||||
@ -249,6 +266,7 @@ export default {
|
|||||||
return {
|
return {
|
||||||
radioVal: 0,
|
radioVal: 0,
|
||||||
isMobileAttendance: 0,
|
isMobileAttendance: 0,
|
||||||
|
ignoreWorkerMonthAttendanceInOut: 0,
|
||||||
title: "",
|
title: "",
|
||||||
dialogVisible: false,
|
dialogVisible: false,
|
||||||
workerList: [],
|
workerList: [],
|
||||||
@ -326,6 +344,7 @@ export default {
|
|||||||
});
|
});
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.isMobileAttendance = res.result[0].isMobileAttendance || 0;
|
this.isMobileAttendance = res.result[0].isMobileAttendance || 0;
|
||||||
|
this.ignoreWorkerMonthAttendanceInOut = res.result[0].ignoreWorkerMonthAttendanceInOut || 0;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async changeConfig() {
|
async changeConfig() {
|
||||||
@ -337,6 +356,15 @@ export default {
|
|||||||
this.$message.success("操作成功");
|
this.$message.success("操作成功");
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
async changeMobileAttendance() {
|
||||||
|
const res = await editProjectConfigListApi({
|
||||||
|
projectSn: this.$store.state.projectSn,
|
||||||
|
ignoreWorkerMonthAttendanceInOut: this.ignoreWorkerMonthAttendanceInOut,
|
||||||
|
});
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success("操作成功");
|
||||||
|
}
|
||||||
|
},
|
||||||
// 手动清零
|
// 手动清零
|
||||||
operateClear(){
|
operateClear(){
|
||||||
// promptToDelete此操作将永久删除该数据 tips提示 determine确 定 cancel取 消
|
// promptToDelete此操作将永久删除该数据 tips提示 determine确 定 cancel取 消
|
||||||
|
|||||||