flx:冲突

This commit is contained in:
X_Rian 2024-06-05 16:02:58 +08:00
commit 7a2c3a6dc9
22 changed files with 950 additions and 583 deletions

View File

@ -63,6 +63,8 @@ export const editDepartmentInfo = data => post('xmgl/departmentInfo/edit', data)
//劳务管理 --- 新增设备 //劳务管理 --- 新增设备
export const getProjectUfaceConfigInfo = data => post('xmgl/projectUfaceConfig/getProjectUfaceConfigInfo', data); //查询项目的对应的人脸设备配置信息 export const getProjectUfaceConfigInfo = data => post('xmgl/projectUfaceConfig/getProjectUfaceConfigInfo', data); //查询项目的对应的人脸设备配置信息
export const projectUfaceConfigEdit = data => post('xmgl/projectUfaceConfig/edit', data); //编辑项目对应的人脸设备配置信息 export const projectUfaceConfigEdit = data => post('xmgl/projectUfaceConfig/edit', data); //编辑项目对应的人脸设备配置信息
export const projectCarConfigInfoList = data => get('xmgl/projectCarCameraConfig/list', data); //查询车辆项目初始化
export const projectCarConfigInfoEdit = data => post('xmgl/projectCarCameraConfig/saveProjectCarCameraConfig', data); //编辑车辆项目初始化配置
export const ufaceDevAdd = data => post('xmgl/ufaceDev/add', data); //添加人脸设备信息 export const ufaceDevAdd = data => post('xmgl/ufaceDev/add', data); //添加人脸设备信息
export const ufaceDevEdit = data => post('xmgl/ufaceDev/edit', data); //编辑人脸设备信息 export const ufaceDevEdit = data => post('xmgl/ufaceDev/edit', data); //编辑人脸设备信息
export const ufaceDevDelete = data => post('xmgl/ufaceDev/delete', data); //删除人脸设备信息 export const ufaceDevDelete = data => post('xmgl/ufaceDev/delete', data); //删除人脸设备信息

View File

@ -13,6 +13,16 @@
<span>个人中心</span> <span>个人中心</span>
<div class="row-line"></div> <div class="row-line"></div>
<div class="classify-item"> <div class="classify-item">
<div
@click="jumpRouter(item.modulePath)"
:class="isActive(item.modulePath) ? 'active-item' : ''"
v-for="(item,index) in moduleList"
:key="index"
>
{{item.moduleName}}
</div>
</div>
<!-- <div class="classify-item">
<div <div
@click="jumpRouter('/workSpace')" @click="jumpRouter('/workSpace')"
:class="isActive('/workSpace') ? 'active-item' : ''" :class="isActive('/workSpace') ? 'active-item' : ''"
@ -31,7 +41,7 @@
> >
消息中心 消息中心
</div> </div>
</div> </div> -->
</div> </div>
</div> </div>
<!-- 点击内容 --> <!-- 点击内容 -->
@ -45,15 +55,35 @@
</div> </div>
</template> </template>
<script> <script>
import {
getNewUserAllModulePageApi,
} from "@/assets/js/api/jxjadmin.js";
export default { export default {
data() { data() {
return { return {
visible: false, visible: false,
moduleList: []
}; };
}, },
created() {}, created() {
this.getModuleList();},
mounted() {}, mounted() {},
methods: { methods: {
// ()
getModuleList() {
getNewUserAllModulePageApi({
projectSn: this.$store.state.projectSn,
moduleType: 7,
userId: this.$store.state.userInfo.userId,
}).then((res) => {
if(res.result && res.result.moduleList){
this.moduleList = res.result.moduleList;
console.log(this.moduleList,123321)
} else {
this.moduleList = [];
}
});
},
isActive(val) { isActive(val) {
return this.$route.path.indexOf(val) != -1 ? true : false; return this.$route.path.indexOf(val) != -1 ? true : false;
}, },

View File

@ -55,7 +55,7 @@
<div class="title_near flex" v-if="![1,2].includes($store.state.userInfo.accountType)"> <div class="title_near flex" v-if="![1,2].includes($store.state.userInfo.accountType)">
<userChange></userChange> <userChange></userChange>
</div> </div>
<div class="title_near-tow flex" v-if="![11,1,2].includes($store.state.userInfo.accountType)"> <div class="title_near-tow flex" v-if="![11,1,2].includes($store.state.userInfo.accountType) && workSpaceShow">
<div class="divider-line"></div> <div class="divider-line"></div>
<centerChange></centerChange> <centerChange></centerChange>
</div> </div>
@ -226,7 +226,8 @@ export default {
timer: null, timer: null,
jumpToken: "", jumpToken: "",
showQrCode: false, showQrCode: false,
educationId: "" educationId: "",
workSpaceShow: false
}; };
}, },
components: { components: {
@ -267,6 +268,9 @@ export default {
} }
this.loginData = JSON.parse(localStorage.getItem("systemInfo")); this.loginData = JSON.parse(localStorage.getItem("systemInfo"));
// console.log('',this.loginData)\ // console.log('',this.loginData)\
if(this.$store.state.projectSn){
this.getModuleList();
}
}, },
mounted() { mounted() {
if (localStorage.getItem("systemInfo")) { if (localStorage.getItem("systemInfo")) {
@ -311,6 +315,22 @@ export default {
}, },
}, },
methods: { methods: {
// ()
getModuleList() {
getNewUserAllModulePageApi({
projectSn: this.$store.state.projectSn,
moduleType: 7,
userId: this.$store.state.userInfo.userId,
}).then((res) => {
let all = res.result.moduleList;
if (all.length == 0) {
this.workSpaceShow = false;
return;
} else {
this.workSpaceShow = true;
}
});
},
getEduIdFn(){ getEduIdFn(){
let data = { let data = {
projectSn: this.$store.state.projectSn, projectSn: this.$store.state.projectSn,

View File

@ -46,7 +46,7 @@
:style="{ height: groupListData.length > 4 ? '300px' : 'auto' }" :style="{ height: groupListData.length > 4 ? '300px' : 'auto' }"
v-if="isUserList" v-if="isUserList"
> >
<vue-scroll style="height: 100%;" v-if="groupListData.length > 0"> <vue-scroll style="height: 100%" v-if="groupListData.length > 0">
<div <div
class="content-list-item" class="content-list-item"
v-for="(item, index) in groupListData" v-for="(item, index) in groupListData"
@ -68,44 +68,47 @@
</div> --> </div> -->
</div> </div>
<div class="tree-group" v-else> <div class="tree-group" v-else>
<div class="select-list" :style="{ height: selectedGroupData.length > 4 ? '300px' : 'auto' }"> <div
<vue-scroll style="height: 100%;"> class="select-list"
<el-input :style="{ height: selectedGroupData.length > 4 ? '300px' : 'auto' }"
placeholder="输入关键字进行查找" >
v-model="filterText" <vue-scroll style="height: 100%">
style="width: 98%;" <el-input
suffix-icon="el-icon-search" placeholder="输入关键字进行查找"
size="medium" v-model="filterText"
> style="width: 98%"
</el-input> suffix-icon="el-icon-search"
<el-tree size="medium"
:data="selectedGroupData" >
:default-expanded-keys="expandKey" </el-input>
:default-expand-all="false" <el-tree
node-key="sn" :data="selectedGroupData"
ref="tree" :default-expanded-keys="expandKey"
:props="selectTreeProps" :default-expand-all="false"
:filter-node-method="filterNode" node-key="sn"
:highlight-current="true" ref="tree"
:check-on-click-node="false" :props="selectTreeProps"
style="margin:10px 5px;" :filter-node-method="filterNode"
> :highlight-current="true"
<span class="custom-tree-node" slot-scope="{ node, data }"> :check-on-click-node="false"
<span style="margin: 10px 5px"
style=" >
width: 100%; <span class="custom-tree-node" slot-scope="{ node, data }">
overflow: hidden; <span
text-overflow: ellipsis; style="
white-space: nowrap; width: 100%;
display: inline-block; overflow: hidden;
" text-overflow: ellipsis;
@click="treeClick(data)" white-space: nowrap;
:class="data.projectSn ? 'projectStyle' : 'companyStyle'" display: inline-block;
:title="node.label" "
>{{ node.label }}</span @click="treeClick(data)"
> :class="data.projectSn ? 'projectStyle' : 'companyStyle'"
</span> :title="node.label"
</el-tree> >{{ node.label }}</span
>
</span>
</el-tree>
</vue-scroll> </vue-scroll>
</div> </div>
</div> </div>
@ -132,6 +135,7 @@
<script> <script>
import { getGroupListApi } from "@/assets/js/api/loginSign.js"; import { getGroupListApi } from "@/assets/js/api/loginSign.js";
import { getComapnyStatisticsSupplierListApi } from "@/assets/js/api/company/project"; import { getComapnyStatisticsSupplierListApi } from "@/assets/js/api/company/project";
import { getNewUserAllModulePageApi } from "@/assets/js/api/jxjadmin.js";
export default { export default {
data() { data() {
return { return {
@ -148,7 +152,8 @@ export default {
expandKey: [], expandKey: [],
selectFirst: 0, selectFirst: 0,
isShowGroup: false, isShowGroup: false,
selectGroupFirst: 0 selectGroupFirst: 0,
workSpaceShow: false,
}; };
}, },
created() { created() {
@ -162,9 +167,26 @@ export default {
this.expandKey = [this.selectedProjectSn]; this.expandKey = [this.selectedProjectSn];
} }
this.loadData(); this.loadData();
this.getModuleList();
}, },
mounted() {}, mounted() {},
methods: { methods: {
// ()
getModuleList() {
getNewUserAllModulePageApi({
projectSn: this.$store.state.projectSn,
moduleType: 7,
userId: this.$store.state.userInfo.userId,
}).then((res) => {
let all = res.result.moduleList;
if (all.length == 0) {
this.workSpaceShow = false;
return;
} else {
this.workSpaceShow = true;
}
});
},
// //
loadData() { loadData() {
let that = this; let that = this;
@ -177,13 +199,13 @@ export default {
sn: sn, sn: sn,
projectType: projectType, projectType: projectType,
}).then((res) => { }).then((res) => {
console.log(res,666555444) console.log(res, 666555444);
if(res.result && res.result.companyList){ if (res.result && res.result.companyList) {
if(res.result.companyList.length > 1){ if (res.result.companyList.length > 1) {
that.isShowGroup = true; that.isShowGroup = true;
} else { } else {
if(res.result.companyList.length == 1){ if (res.result.companyList.length == 1) {
that.selectShowGroup(res.result.companyList[0]) that.selectShowGroup(res.result.companyList[0]);
} else { } else {
that.isShowGroup = false; that.isShowGroup = false;
} }
@ -262,11 +284,14 @@ export default {
this.selectedGroupData = [item]; this.selectedGroupData = [item];
this.$store.commit("setSelectedGroupSn", item.companySn); // Sn this.$store.commit("setSelectedGroupSn", item.companySn); // Sn
this.filterTreeData(this.selectedGroupData); this.filterTreeData(this.selectedGroupData);
if (this.workSpaceShow) {
if (this.$route.path.indexOf("supplier") == -1) { if (this.$route.path.indexOf("supplier") == -1) {
this.$router.push("/workSpace"); this.$router.push("/workSpace");
} else {
this.$router.push("/supplierIndex");
}
} else { } else {
this.$router.push("/supplierIndex"); this.$router.push("/projectIndex");
} }
console.log(this.selectedGroupData); console.log(this.selectedGroupData);
} else { } else {
@ -300,7 +325,10 @@ export default {
this.filterTreeData(this.selectedGroupData); this.filterTreeData(this.selectedGroupData);
this.$nextTick(() => { this.$nextTick(() => {
// //
if(this.$route.path.indexOf("/supplierIndex") != -1 && !this.$store.state.projectSn){ if (
this.$route.path.indexOf("/supplierIndex") != -1 &&
!this.$store.state.projectSn
) {
this.selectProject(this.selectedGroupData[0]); this.selectProject(this.selectedGroupData[0]);
} else { } else {
this.setTreeActive(); this.setTreeActive();
@ -332,10 +360,14 @@ export default {
// popover // popover
this.visible = false; this.visible = false;
} }
if (this.$route.path.indexOf("supplier") == -1) { if (this.workSpaceShow) {
this.$router.push("/workSpace"); if (this.$route.path.indexOf("supplier") == -1) {
this.$router.push("/workSpace");
} else {
this.$router.push("/supplierIndex");
}
} else { } else {
this.$router.push("/supplierIndex"); this.$router.push("/projectIndex");
} }
}, },
filterNode(value, data) { filterNode(value, data) {

View File

@ -15,7 +15,7 @@
<!-- <div class="title_near flex" v-if="![1,2].includes($store.state.userInfo.accountType)"> <!-- <div class="title_near flex" v-if="![1,2].includes($store.state.userInfo.accountType)">
<userChange></userChange> <userChange></userChange>
</div> --> </div> -->
<div class="title_near-tow flex" v-if="![11,1,2].includes($store.state.userInfo.accountType)"> <div class="title_near-tow flex" v-if="![11,1,2].includes($store.state.userInfo.accountType) && workSpaceShow">
<div class="divider-line"></div> <div class="divider-line"></div>
<centerChange></centerChange> <centerChange></centerChange>
</div> </div>
@ -74,6 +74,9 @@
import account from "@/components/account.vue"; import account from "@/components/account.vue";
import userChange from "@/components/userChange.vue"; import userChange from "@/components/userChange.vue";
import centerChange from "@/components/centerChange.vue"; import centerChange from "@/components/centerChange.vue";
import {
getNewUserAllModulePageApi,
} from "@/assets/js/api/jxjadmin.js";
export default { export default {
data() { data() {
return { return {
@ -101,7 +104,8 @@ export default {
"loginLogo": "", "loginLogo": "",
"platformLogo": "", "platformLogo": "",
"platformName": "智慧工地云平台" "platformName": "智慧工地云平台"
} },
workSpaceShow: false
}; };
}, },
components:{ components:{
@ -112,6 +116,9 @@ export default {
created() { created() {
this.company = COMPANY; this.company = COMPANY;
console.log(COMPANY) console.log(COMPANY)
if(this.$store.state.projectSn){
this.getModuleList();
}
}, },
mounted(){ mounted(){
this.getAllModule() this.getAllModule()
@ -123,6 +130,22 @@ export default {
}, },
methods: { methods: {
// ()
getModuleList() {
getNewUserAllModulePageApi({
projectSn: this.$store.state.projectSn,
moduleType: 7,
userId: this.$store.state.userInfo.userId,
}).then((res) => {
let all = res.result.moduleList;
if (all.length == 0) {
this.workSpaceShow = false;
return;
} else {
this.workSpaceShow = true;
}
});
},
hasSubMenu(list) { hasSubMenu(list) {
// //
let onoff = false; let onoff = false;

File diff suppressed because it is too large Load Diff

View File

@ -137,7 +137,7 @@
</el-button> </el-button>
</el-form-item> </el-form-item>
<!-- v-if="beaconForm.supplierType!=5" --> <!-- v-if="beaconForm.supplierType!=5" -->
<el-form-item :label="$t('message.laborDev.appID')" v-if="beaconForm.supplierType!=5" prop="appId" :rules='[ <el-form-item :label="$t('message.laborDev.appID')" v-if="![5,7,9].includes(beaconForm.supplierType)" prop="appId" :rules='[
{ {
required: true, required: true,
message: this.$t("message.personnelPosition.required"), message: this.$t("message.personnelPosition.required"),
@ -149,7 +149,7 @@
:placeholder="$t('message.personnelPosition.please_enter')" :placeholder="$t('message.personnelPosition.please_enter')"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item v-if="beaconForm.supplierType!=4&&beaconForm.supplierType!=6&&beaconForm.supplierType!=5" :label="$t('message.laborDev.projectAppKey')" prop="appKey" :rules='[ <el-form-item v-if="![4,5,6,7,9].includes(beaconForm.supplierType)" :label="$t('message.laborDev.projectAppKey')" prop="appKey" :rules='[
{ {
required: true, required: true,
message: this.$t("message.personnelPosition.required"), message: this.$t("message.personnelPosition.required"),
@ -161,7 +161,7 @@
:placeholder="$t('message.personnelPosition.please_enter')" :placeholder="$t('message.personnelPosition.please_enter')"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item v-if="beaconForm.supplierType!=6&&beaconForm.supplierType!=5" :label="$t('message.laborDev.projectAppSecret')" prop="appSecret" :rules='[ <el-form-item v-if="![5,6,7,9].includes(beaconForm.supplierType)" :label="$t('message.laborDev.projectAppSecret')" prop="appSecret" :rules='[
{ {
required: true, required: true,
message: this.$t("message.personnelPosition.required"), message: this.$t("message.personnelPosition.required"),

View File

@ -15,7 +15,7 @@
<!-- <div class="title_near flex" v-if="![1,2].includes($store.state.userInfo.accountType)"> <!-- <div class="title_near flex" v-if="![1,2].includes($store.state.userInfo.accountType)">
<userChange></userChange> <userChange></userChange>
</div> --> </div> -->
<div class="title_near-tow flex" v-if="![11,1,2].includes($store.state.userInfo.accountType)"> <div class="title_near-tow flex" v-if="![11,1,2].includes($store.state.userInfo.accountType) && workSpaceShow">
<div class="divider-line"></div> <div class="divider-line"></div>
<centerChange></centerChange> <centerChange></centerChange>
</div> </div>
@ -83,6 +83,9 @@
import account from "@/components/account.vue"; import account from "@/components/account.vue";
import userChange from "@/components/userChange.vue"; import userChange from "@/components/userChange.vue";
import centerChange from "@/components/centerChange.vue"; import centerChange from "@/components/centerChange.vue";
import {
getNewUserAllModulePageApi,
} from "@/assets/js/api/jxjadmin.js";
export default { export default {
data() { data() {
return { return {
@ -98,7 +101,8 @@ export default {
"loginLogo": "", "loginLogo": "",
"platformLogo": "", "platformLogo": "",
"platformName": "智慧工地云平台" "platformName": "智慧工地云平台"
} },
workSpaceShow: false
}; };
}, },
components:{ components:{
@ -109,6 +113,9 @@ export default {
created() { created() {
this.company = COMPANY; this.company = COMPANY;
console.log(COMPANY) console.log(COMPANY)
if(this.$store.state.projectSn){
this.getModuleList();
}
}, },
mounted(){ mounted(){
// this.getAllModule() // this.getAllModule()
@ -120,6 +127,22 @@ export default {
}, },
methods: { methods: {
// ()
getModuleList() {
getNewUserAllModulePageApi({
projectSn: this.$store.state.projectSn,
moduleType: 7,
userId: this.$store.state.userInfo.userId,
}).then((res) => {
let all = res.result.moduleList;
if (all.length == 0) {
this.workSpaceShow = false;
return;
} else {
this.workSpaceShow = true;
}
});
},
backTo(){ backTo(){
this.$router.back(); this.$router.back();
}, },

View File

@ -23,7 +23,7 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="车辆下发状态"> <el-form-item label="车辆下发状态" v-if="isIscDevice">
<el-select <el-select
size="medium" size="medium"
v-model="tableParameter.sendSuccessStatus" v-model="tableParameter.sendSuccessStatus"
@ -238,7 +238,7 @@
<span v-else-if="scope.row.entryAndExitPermit === 1">多次</span> <span v-else-if="scope.row.entryAndExitPermit === 1">多次</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column width="120" align="center" label="车辆下发状态"> <el-table-column width="120" align="center" label="车辆下发状态" v-if="isIscDevice">
<template v-slot="{ row }"> <template v-slot="{ row }">
<span <span
:class="[ :class="[
@ -392,6 +392,7 @@
<div @click="bao(scope.row)" class="operationText"><img src="@/assets/images/bao.png" alt="">{{$t('message.alarmValueSet.bjz')}} <div @click="bao(scope.row)" class="operationText"><img src="@/assets/images/bao.png" alt="">{{$t('message.alarmValueSet.bjz')}}
</div>--> </div>-->
<div @click="showDetail(scope.row.id)" class="operationText" <div @click="showDetail(scope.row.id)" class="operationText"
v-if="isIscDevice"
v-permission="{ v-permission="{
key: 'clgl_downDetail', key: 'clgl_downDetail',
menuPath: '/project/carManage/carManage', menuPath: '/project/carManage/carManage',
@ -1060,7 +1061,7 @@
</div> </div>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<div class="grid-content"> <div class="grid-content" v-if="isIscDevice">
<span class="label">车辆下发状态</span> <span class="label">车辆下发状态</span>
<span class="value"> <span class="value">
<span <span
@ -1245,6 +1246,7 @@ import {
getEnterpriseInfoList, getEnterpriseInfoList,
xmglXzHikvisionSyncGetNewestList, xmglXzHikvisionSyncGetNewestList,
xmglXzHikvisionSyncRetryAPI, xmglXzHikvisionSyncRetryAPI,
projectCarConfigInfoList
} from "@/assets/js/api/laborPerson"; } from "@/assets/js/api/laborPerson";
import store from "@/store"; import store from "@/store";
import mqtt from "mqtt"; import mqtt from "mqtt";
@ -1501,6 +1503,7 @@ export default {
entityDetail: {}, entityDetail: {},
topicName: "topic", topicName: "topic",
userId: "", userId: "",
isIscDevice: false
}; };
}, },
beforeDestroy() { beforeDestroy() {
@ -1523,7 +1526,21 @@ export default {
client = mqtt.connect(mqttUrl, options); client = mqtt.connect(mqttUrl, options);
this.mqttMSG(); this.mqttMSG();
}, },
created() {
this.getConfig();
},
methods: { methods: {
getConfig() {
projectCarConfigInfoList({
projectSn: this.$store.state.projectSn,
}).then((result) => {
if (result.success) {
if (result.result && result.result.length) {
this.isIscDevice = result.result[0].supplierType == 9 ? true: false;
}
}
});
},
// mqtt // mqtt
mqttMSG() { mqttMSG() {
// mqtt +"/#" +workerId // mqtt +"/#" +workerId

View File

@ -57,6 +57,7 @@
>{{ $t("message.deviceManage.query") }}</el-button >{{ $t("message.deviceManage.query") }}</el-button
> >
<el-button <el-button
v-if="isIscDevice"
v-permission="{ v-permission="{
key: 'clgl_synchronizeVchicleTrafficData', key: 'clgl_synchronizeVchicleTrafficData',
menuPath: '/project/carManage/realTimeData', menuPath: '/project/carManage/realTimeData',
@ -253,6 +254,9 @@ import {
getCarPassRecordListByPageApi, getCarPassRecordListByPageApi,
pullCarDataApi pullCarDataApi
} from "@/assets/js/api/carManage"; } from "@/assets/js/api/carManage";
import {
projectCarConfigInfoList
} from "@/assets/js/api/laborPerson";
export default { export default {
name: "historyData", name: "historyData",
data() { data() {
@ -288,14 +292,27 @@ export default {
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
total: 0, total: 0,
isIscDevice: false
}; };
}, },
created() { created() {
this.projectSn = this.$store.state.projectSn; this.projectSn = this.$store.state.projectSn;
this.selectNowDate() this.selectNowDate()
this.onSubmit(); this.onSubmit();
this.getConfig();
}, },
methods: { methods: {
getConfig() {
projectCarConfigInfoList({
projectSn: this.$store.state.projectSn,
}).then((result) => {
if (result.success) {
if (result.result && result.result.length) {
this.isIscDevice = result.result[0].supplierType == 9 ? true: false;
}
}
});
},
// //
confirmPullData(){ confirmPullData(){
if(!this.timeRange || this.timeRange.length == 0){ if(!this.timeRange || this.timeRange.length == 0){

View File

@ -90,7 +90,11 @@
style="width: 100%; color: #737996" style="width: 100%; color: #737996"
@selection-change="handleCheckedCitiesChange" @selection-change="handleCheckedCitiesChange"
> >
<el-table-column prop="questionName" label="试题内容"></el-table-column> <el-table-column prop="questionName" label="试题内容">
<template slot-scope="scope">
<div v-html="scope.row.questionName"></div>
</template>
</el-table-column>
<el-table-column prop="type" width="100px" label="题目类型"> <el-table-column prop="type" width="100px" label="题目类型">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ scope.row.type && typeArr[scope.row.type - 1].name }}</div> <div>{{ scope.row.type && typeArr[scope.row.type - 1].name }}</div>
@ -656,7 +660,7 @@ export default {
// + '&endReceiveTime=' + this.time[1] + '&startReceiveTime=' + this.time[0] + '&devName=' + this.devName, { // + '&endReceiveTime=' + this.time[1] + '&startReceiveTime=' + this.time[0] + '&devName=' + this.devName, {
// fetch(this.$http.defaults.baseURL + 'exam/questionBank/exportXls?&projectSn=' + this.projectSn + "&subjectId=" + this.subjectId,{ // fetch(this.$http.defaults.baseURL + 'exam/questionBank/exportXls?&projectSn=' + this.projectSn + "&subjectId=" + this.subjectId,{
let data = { let data = {
projectSn:this.projectSn, projectSn:this.$store.state.projectSn,
subjectId:this.subjectId subjectId:this.subjectId
} }
fetch(this.$http.defaults.baseURL + 'exam/questionBank/exportXls',{ fetch(this.$http.defaults.baseURL + 'exam/questionBank/exportXls',{
@ -739,7 +743,7 @@ export default {
}, },
getExamSubjectList() { // getExamSubjectList() { //
let data = { let data = {
sn: this.projectSn, projectSn: this.$store.state.projectSn,
} }
// listTreeExamSubjectApi(data).then((res) => { // listTreeExamSubjectApi(data).then((res) => {
listExamSubjectApi(data).then((res) => { listExamSubjectApi(data).then((res) => {
@ -752,10 +756,10 @@ export default {
// //
getExamSubjectTreeList() { getExamSubjectTreeList() {
let data = { let data = {
sn: this.$store.state.projectSn, // projectSn: this.$store.state.projectSn,
} }
listTreeExamSubjectApi(data).then((res) => { // listTreeExamSubjectApi(data).then((res) => {
// listExamSubjectApi(data).then((res) => { listExamSubjectApi(data).then((res) => {
if (res.code == 200) { if (res.code == 200) {
this.level1CompanyData = res.result; this.level1CompanyData = res.result;
console.log('11111111111111',res); console.log('11111111111111',res);
@ -777,6 +781,7 @@ export default {
pageSize: this.pageSize, pageSize: this.pageSize,
questionName: this.tableParameter.name, questionName: this.tableParameter.name,
subjectId: this.subjectId, subjectId: this.subjectId,
projectSn: this.$store.state.projectSn
}).then((result) => { }).then((result) => {
if (result.success) { if (result.success) {
console.log(result); console.log(result);
@ -872,7 +877,8 @@ export default {
optionList:tempOptions, optionList:tempOptions,
options:this.questionForm.type == 1 ? this.questionForm.options : multiOptions, options:this.questionForm.type == 1 ? this.questionForm.options : multiOptions,
score:this.questionForm.score, score:this.questionForm.score,
subjectId:this.subjectId, subjectId:this.questionForm.subjectId,
projectSn:this.$store.state.projectSn
}).then(result => { }).then(result => {
if (result.success) { if (result.success) {
this.$message.success(result.message); this.$message.success(result.message);
@ -914,7 +920,7 @@ export default {
options:this.questionForm.type == 1 ? option : multiOptions, options:this.questionForm.type == 1 ? option : multiOptions,
score:this.questionForm.score, score:this.questionForm.score,
subjectId:this.subjectId, subjectId:this.subjectId,
projectSn: this.projectSn, projectSn: this.$store.state.projectSn,
}).then(result => { }).then(result => {
if (result.success) { if (result.success) {
console.log('信息添加成功', result); console.log('信息添加成功', result);
@ -941,7 +947,8 @@ export default {
// //
previewDialog(item) { previewDialog(item) {
detailIdQuestionBankApi({ detailIdQuestionBankApi({
id: item.id id: item.id,
projectSn: this.$store.state.projectSn
}).then(result => { }).then(result => {
if (result.success) { if (result.success) {
this.questionForm = result.result; this.questionForm = result.result;
@ -1144,7 +1151,8 @@ export default {
moveQuestionBankApi({ moveQuestionBankApi({
id:this.editQuestion.id, id:this.editQuestion.id,
subjectId:this.subjectId2 subjectId:this.subjectId2,
projectSn: this.$store.state.projectSn
}).then(result => { }).then(result => {
if (result.success) { if (result.success) {
this.$message.success(result.message); this.$message.success(result.message);

View File

@ -139,7 +139,7 @@ export default {
// //
getExamSubjectList() { getExamSubjectList() {
let data = { let data = {
// sn: this.projectSn, projectSn: this.projectSn,
pageNo: this.pagInfo.pageNo, pageNo: this.pagInfo.pageNo,
pageSize: this.pagInfo.pageSize, pageSize: this.pagInfo.pageSize,
} }

View File

@ -2812,6 +2812,8 @@ export default {
name: item.imageUrl.split("*")[0], name: item.imageUrl.split("*")[0],
url: item.imageUrl.split("*")[1], url: item.imageUrl.split("*")[1],
}]; }];
} else {
item.fileList = []
} }
} }
}); });

View File

@ -320,6 +320,7 @@
>导入照片</el-button >导入照片</el-button
> >
<el-button <el-button
v-if="isIscDevice"
v-permission="{ v-permission="{
key: 'rygl_distributeAccessEquipment', key: 'rygl_distributeAccessEquipment',
menuPath: '/project/labor/personManage', menuPath: '/project/labor/personManage',
@ -425,12 +426,9 @@
key: 'rygl_refresh', key: 'rygl_refresh',
menuPath: '/project/labor/personManage', menuPath: '/project/labor/personManage',
}" --> }" -->
<el-button <el-button type="warning" @click="refreshBtn" plain>{{
type="warning" $t("message.laborMange.refresh")
@click="refreshBtn" }}</el-button>
plain
>{{ $t("message.laborMange.refresh") }}</el-button
>
<el-button <el-button
title="按班组导出" title="按班组导出"
v-permission="{ v-permission="{
@ -539,7 +537,7 @@
<!-- 测试 --> <!-- 测试 -->
<el-table-column prop="sendSuccessStatus"> <el-table-column prop="sendSuccessStatus">
<template v-slot="{ row }"> <template v-slot="{ row }">
<div> <div v-if="isIscDevice">
下发状态 下发状态
<span <span
:class="[ :class="[
@ -574,6 +572,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div class="tableBtns"> <div class="tableBtns">
<el-button <el-button
v-if="isIscDevice"
v-permission="{ v-permission="{
key: 'rygl_Check_Distribution', key: 'rygl_Check_Distribution',
menuPath: '/project/labor/personManage', menuPath: '/project/labor/personManage',
@ -2153,7 +2152,7 @@ import {
sendBatchWokerApi, sendBatchWokerApi,
importImgDataApi, importImgDataApi,
xmglXzHikvisionSyncGetNewestList, xmglXzHikvisionSyncGetNewestList,
xmglXzHikvisionSyncRetryAPI, xmglXzHikvisionSyncRetryAPI
} from "@/assets/js/api/laborPerson"; } from "@/assets/js/api/laborPerson";
import { selectUserDevAuthorityByUserIdApi } from "@/assets/js/api/configManage"; import { selectUserDevAuthorityByUserIdApi } from "@/assets/js/api/configManage";
import { getProjectConfigListApi } from "@/assets/js/api/project.js"; import { getProjectConfigListApi } from "@/assets/js/api/project.js";
@ -2309,6 +2308,7 @@ export default {
umentScreenUrl: "./img/logo/" + LOGO_white + ".png", umentScreenUrl: "./img/logo/" + LOGO_white + ".png",
base64Type: "data:image/jpeg;base64,", base64Type: "data:image/jpeg;base64,",
isUploadToHouse: false, // isUploadToHouse: false, //
isIscDevice: false, //isc
attendRulesList: [], attendRulesList: [],
enterpriseTypeId: "", enterpriseTypeId: "",
enterpriseTypeList: [], enterpriseTypeList: [],
@ -2770,6 +2770,7 @@ export default {
if (result.success) { if (result.success) {
if (result.result) { if (result.result) {
this.isUploadToHouse = result.result.housing ? true : false; this.isUploadToHouse = result.result.housing ? true : false;
this.isIscDevice = result.result.supplierType == 9 ? true: false;
} }
} }
}); });
@ -4017,6 +4018,9 @@ export default {
}); });
}, },
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
if(!this.isIscDevice){
return
}
if (row.sendSuccessStatus === 1) { if (row.sendSuccessStatus === 1) {
return "green2"; return "green2";
} }

View File

@ -281,6 +281,7 @@
>导入照片</el-button >导入照片</el-button
> >
<el-button <el-button
v-if="isIscDevice"
v-permission="{ v-permission="{
key: 'rygl_distributeAccessEquipment', key: 'rygl_distributeAccessEquipment',
menuPath: '/project/labor/personManage', menuPath: '/project/labor/personManage',
@ -507,7 +508,7 @@
<!-- 测试 --> <!-- 测试 -->
<el-table-column prop="sendSuccessStatus"> <el-table-column prop="sendSuccessStatus">
<template v-slot="{ row }"> <template v-slot="{ row }">
<div> <div v-if="isIscDevice">
下发状态 下发状态
<span <span
:class="[ :class="[
@ -542,6 +543,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div class="tableBtns"> <div class="tableBtns">
<el-button <el-button
v-if="isIscDevice"
v-permission="{ v-permission="{
key: 'rygl_Check_Distribution', key: 'rygl_Check_Distribution',
menuPath: '/project/labor/personManage', menuPath: '/project/labor/personManage',
@ -2575,6 +2577,7 @@ export default {
umentScreenUrl: "", umentScreenUrl: "",
base64Type: "data:image/jpeg;base64,", base64Type: "data:image/jpeg;base64,",
isUploadToHouse: false, // isUploadToHouse: false, //
isIscDevice: false, //isc
attendRulesList: [], attendRulesList: [],
enterpriseTypeId: "", enterpriseTypeId: "",
cropperOption: { cropperOption: {
@ -2990,6 +2993,7 @@ export default {
if (result.success) { if (result.success) {
if (result.result) { if (result.result) {
this.isUploadToHouse = result.result.housing ? true : false; this.isUploadToHouse = result.result.housing ? true : false;
this.isIscDevice = result.result.supplierType == 9 ? true: false;
} }
} }
}); });
@ -4679,6 +4683,9 @@ export default {
}); });
}, },
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
if(!this.isIscDevice){
return
}
if (row.sendSuccessStatus === 1) { if (row.sendSuccessStatus === 1) {
return "green2"; return "green2";
} }

View File

@ -811,7 +811,7 @@ import {
deleteWorkerInfoAuditApi, deleteWorkerInfoAuditApi,
selectWorkerInfoAuditListApi, selectWorkerInfoAuditListApi,
ufaceDevList, ufaceDevList,
getEnterpriseInfoList, getEnterpriseInfoList
} from "@/assets/js/api/laborPerson"; } from "@/assets/js/api/laborPerson";
import { import {
getProjectConfigListApi, getProjectConfigListApi,
@ -908,7 +908,7 @@ export default {
selectCompanyData: [], selectCompanyData: [],
itemSelectId: "", itemSelectId: "",
disabledArr: [], disabledArr: [],
company: "", company: ""
}; };
}, },
computed: { computed: {

View File

@ -109,7 +109,7 @@
v-model="tableParameter.idCard" v-model="tableParameter.idCard"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="人员下发状态"> <el-form-item label="人员下发状态" v-if="isIscDevice">
<el-select <el-select
size="medium" size="medium"
v-model="tableParameter.sendSuccessStatus" v-model="tableParameter.sendSuccessStatus"
@ -362,7 +362,7 @@
<el-table-column align="lfet"> <el-table-column align="lfet">
<template v-slot="{ row }"> <template v-slot="{ row }">
<div> <div>
<div> <div v-if="isIscDevice">
下发状态 下发状态
<span <span
:class="[ :class="[
@ -400,6 +400,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div class="tableBtns"> <div class="tableBtns">
<el-button <el-button
v-if="isIscDevice"
v-permission="{ v-permission="{
key: 'hmc_ckxfxq', key: 'hmc_ckxfxq',
menuPath: '/project/labor/roster', menuPath: '/project/labor/roster',
@ -974,6 +975,7 @@ import {
getWorkerInfoList, getWorkerInfoList,
xmglXzHikvisionSyncGetNewestList, xmglXzHikvisionSyncGetNewestList,
xmglXzHikvisionSyncRetryAPI, xmglXzHikvisionSyncRetryAPI,
getProjectUfaceConfigInfo,
} from "@/assets/js/api/laborPerson"; } from "@/assets/js/api/laborPerson";
import { import {
getProjectConfigListApi, getProjectConfigListApi,
@ -1084,6 +1086,7 @@ export default {
pageSize: 10, pageSize: 10,
}, },
whoId: "", whoId: "",
isIscDevice: false
}; };
}, },
computed: { computed: {
@ -1119,8 +1122,20 @@ export default {
this.getInfoList(); this.getInfoList();
this.getProjectList(); this.getProjectList();
this.getProjectSetting(); this.getProjectSetting();
this.getConfig();
}, },
methods: { methods: {
getConfig() {
getProjectUfaceConfigInfo({
projectSn: this.$store.state.projectSn,
}).then((result) => {
if (result.success) {
if (result.result) {
this.isIscDevice = result.result.supplierType == 9 ? true: false;
}
}
});
},
// //
comboFormClose() { comboFormClose() {
this.comboFormVisible = false; this.comboFormVisible = false;
@ -1532,6 +1547,9 @@ export default {
}); });
}, },
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
if(!this.isIscDevice){
return
}
if (row.sendSuccessStatus === 1) { if (row.sendSuccessStatus === 1) {
return "green2"; return "green2";
} }

View File

@ -15,7 +15,7 @@
<!-- <div class="title_near flex" v-if="![1,2].includes($store.state.userInfo.accountType)"> <!-- <div class="title_near flex" v-if="![1,2].includes($store.state.userInfo.accountType)">
<userChange></userChange> <userChange></userChange>
</div> --> </div> -->
<div class="title_near-tow flex" v-if="![11,1,2].includes($store.state.userInfo.accountType)"> <div class="title_near-tow flex" v-if="![11,1,2].includes($store.state.userInfo.accountType) && workSpaceShow">
<div class="divider-line"></div> <div class="divider-line"></div>
<centerChange></centerChange> <centerChange></centerChange>
</div> </div>
@ -107,6 +107,9 @@ import userChange from "@/components/userChange.vue";
import centerChange from "@/components/centerChange.vue"; import centerChange from "@/components/centerChange.vue";
import { getGroupListByCompanyApi, jumpLargeUserInfoApi } from "@/assets/js/api/loginSign.js"; import { getGroupListByCompanyApi, jumpLargeUserInfoApi } from "@/assets/js/api/loginSign.js";
import { getProjectDetail } from "@/assets/js/api/baseInfo.js"; import { getProjectDetail } from "@/assets/js/api/baseInfo.js";
import {
getNewUserAllModulePageApi,
} from "@/assets/js/api/jxjadmin.js";
export default { export default {
data() { data() {
return { return {
@ -124,7 +127,7 @@ export default {
"platformLogo": "", "platformLogo": "",
"platformName": "智慧工地云平台" "platformName": "智慧工地云平台"
}, },
projectSn: "" workSpaceShow: false
}; };
}, },
components:{ components:{
@ -140,6 +143,9 @@ export default {
this.getGroupTreeData(); this.getGroupTreeData();
this.company = COMPANY; this.company = COMPANY;
console.log(COMPANY) console.log(COMPANY)
if(this.$store.state.projectSn){
this.getModuleList();
}
}, },
mounted(){ mounted(){
// this.getAllModule() // this.getAllModule()
@ -151,6 +157,22 @@ export default {
}, },
methods: { methods: {
// ()
getModuleList() {
getNewUserAllModulePageApi({
projectSn: this.$store.state.projectSn,
moduleType: 7,
userId: this.$store.state.userInfo.userId,
}).then((res) => {
let all = res.result.moduleList;
if (all.length == 0) {
this.workSpaceShow = false;
return;
} else {
this.workSpaceShow = true;
}
});
},
// //
getDataDateils() { getDataDateils() {
let data = { let data = {

View File

@ -15,7 +15,7 @@
<!-- <div class="title_near flex" v-if="![1,2].includes($store.state.userInfo.accountType)"> <!-- <div class="title_near flex" v-if="![1,2].includes($store.state.userInfo.accountType)">
<userChange></userChange> <userChange></userChange>
</div> --> </div> -->
<div class="title_near-tow flex" v-if="![11,1,2].includes($store.state.userInfo.accountType)"> <div class="title_near-tow flex" v-if="![11,1,2].includes($store.state.userInfo.accountType) && workSpaceShow">
<div class="divider-line"></div> <div class="divider-line"></div>
<centerChange></centerChange> <centerChange></centerChange>
</div> </div>
@ -83,6 +83,9 @@
import account from "@/components/account.vue"; import account from "@/components/account.vue";
import userChange from "@/components/userChange.vue"; import userChange from "@/components/userChange.vue";
import centerChange from "@/components/centerChange.vue"; import centerChange from "@/components/centerChange.vue";
import {
getNewUserAllModulePageApi,
} from "@/assets/js/api/jxjadmin.js";
export default { export default {
data() { data() {
return { return {
@ -96,7 +99,8 @@ export default {
"loginLogo": "", "loginLogo": "",
"platformLogo": "", "platformLogo": "",
"platformName": "智慧工地云平台" "platformName": "智慧工地云平台"
} },
workSpaceShow: false
}; };
}, },
components:{ components:{
@ -107,6 +111,9 @@ export default {
created() { created() {
this.company = COMPANY; this.company = COMPANY;
console.log(COMPANY) console.log(COMPANY)
if(this.$store.state.projectSn){
this.getModuleList();
}
}, },
mounted(){ mounted(){
// this.getAllModule() // this.getAllModule()
@ -115,9 +122,24 @@ export default {
} }
document.title='企业后台' document.title='企业后台'
console.log('mounted',this.$route.path) console.log('mounted',this.$route.path)
}, },
methods: { methods: {
// ()
getModuleList() {
getNewUserAllModulePageApi({
projectSn: this.$store.state.projectSn,
moduleType: 7,
userId: this.$store.state.userInfo.userId,
}).then((res) => {
let all = res.result.moduleList;
if (all.length == 0) {
this.workSpaceShow = false;
return;
} else {
this.workSpaceShow = true;
}
});
},
backTo(){ backTo(){
this.$router.back(); this.$router.back();
}, },

View File

@ -183,6 +183,7 @@ export default {
let all = res.result.moduleList; let all = res.result.moduleList;
if (all.length == 0) { if (all.length == 0) {
this.workSpaceShow = false; this.workSpaceShow = false;
this.$router.push("/projectIndex")
return; return;
} else { } else {
this.workSpaceShow = false; this.workSpaceShow = false;