fix: BUG修改

This commit is contained in:
kun 2024-04-11 19:15:19 +08:00
parent 751b089319
commit 94f2a3d6e2
24 changed files with 471 additions and 214 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -6,7 +6,9 @@ import {get,post} from '../http'
export const addSystemUserApi = data => post('xmgl/systemUser/add', data); //添加账号信息
export const editSystemUserApi = data => post('xmgl/systemUser/edit', data); //编辑账号信息
export const deleteSystemUserApi = data => post('xmgl/systemUser/delete', data); //删除账号信息
export const getSystemUserBySnApi = data => post('xmgl/systemUser/getSystemUserBySn', data); //根据企业或项目SN查找账号列表
export const getSystemUserBySnApi = data => post('xmgl/systemUser/getSystemUserBySn', data); //查找账号列表
export const getSystemUserBySnPageApi = data => post('xmgl/systemUser/getSystemUserBySnPage', data); //查找账号分页列表
// 新用户审核
// 列表
@ -18,6 +20,7 @@ export const userDeleteApi = data => post('xmgl/xzRegistry/delete', data);
// 用户管理
// 列表
export const getUserManagerApi = data => post('xmgl/systemUser/getTenantListBySn', data);
export const getUserManagerPageApi = data => post('xmgl/systemUser/getTenantPageBySn', data);
// 回显所选组织
export const getSelectedGroupApi = data => post('xmgl/company/getOrgSnListByUserId', data);
// 调整组织

View File

@ -16,6 +16,7 @@ export const addorganizationJobApi = data => post('xmgl/organizationJob/add', da
export const editorganizationJobApi = data => post('xmgl/organizationJob/edit', data);
export const deleteorganizationJobApi = data => post('xmgl/organizationJob/delete', data);
export const getorganizationJobListApi = data => post('xmgl/organizationJob/selectList', data);
export const getorganizationJobPageApi = data => post('xmgl/organizationJob/selectPage', data);
// 推送安全帽账号
export const sendSafetyHatAccountDataApi = data => post('xmgl/systemUser/sendSafetyHatAccountData', data);

View File

@ -16,6 +16,7 @@ export const infoReportSaveApi = data => post('xmgl/xzSupplier/saveSupplier', d
// 资质文件
export const getQualificationFileApi = data => post('xmgl/xzSupplierQualification/list', data);
export const getQualificationFilePageApi = data => post('xmgl/xzSupplierQualification/page', data);
// 资质文件-记录
export const getQualificationFileRecordApi = data => get('xmgl/xzSupplierQualificationRecord/list', data);
export const addQualificationFileApi = data => post('xmgl/xzSupplierQualification/add', data);

View File

@ -83,7 +83,7 @@ if (process.env.NODE_ENV == 'development') {
// axios.defaults.baseURL ='http://101.43.164.214:45001/' //上海张江
// axios.defaults.baseURL ='http://101.43.164.214:45011/' //上海优益(上海建工)
// axios.defaults.baseURL = 'http://192.168.34.221:28889/' //郭圣雄本地
// axios.defaults.baseURL ='http://192.168.34.221:9111/' //郭圣雄本地
axios.defaults.baseURL ='http://192.168.34.221:9111/' //郭圣雄本地
// axios.defaults.baseURL = 'http://192.168.34.155:19111/' //彭洁本地
// axios.defaults.baseURL = 'http://182.90.224.237:51234' //郭圣雄远程
// axios.defaults.baseURL ='http://101.43.164.214:45020/' //沈阳和盈
@ -91,7 +91,7 @@ if (process.env.NODE_ENV == 'development') {
// axios.defaults.baseURL ='http://101.43.164.214:11111/' // 百色三标段项目
// axios.defaults.baseURL = 'http://125.88.207.86:8088/'//中建四局线上(最新)地址
// axios.defaults.baseURL = 'http://125.88.207.86:8099/'//中建四局(沙湖)线上(最新)地址
axios.defaults.baseURL = 'http://jxj.zhgdyun.com:15551/'//测试地址
// axios.defaults.baseURL = 'http://jxj.zhgdyun.com:15551/'//测试地址
} else if (process.env.NODE_ENV == 'debug') {

View File

@ -9,7 +9,7 @@
@hide="sendMsg2"
>
<div class="accountBox">
<div class="flex2" v-show="$store.state.userInfo.accountType != 1">
<div class="flex2 accountInfo" v-show="$store.state.userInfo.accountType != 1">
<!-- <i class="el-icon-user-solid"></i> -->
<el-avatar size="large" icon="el-icon-user-solid"></el-avatar>
<div style="margin-left: 10px">
@ -31,7 +31,7 @@
<!-- <div class="flex2" style="margin-top:20px">
客服电话{{$store.state.userInfo.customerServicePhone}}
</div> -->
<div class="flex2 wrap" v-if="$store.state.userInfo.accountType != 1">
<div class="flex2 wrap" v-if="![1,11].includes($store.state.userInfo.accountType)">
<!-- <div class="width_100">
<img src="@/assets/images/sjzx.png" width="15px" height="15px" />
<span>数据中心</span>
@ -43,13 +43,12 @@
@click="goto5()"
v-if="
$route.path.indexOf('/firm/projectManage') == -1 &&
$store.state.userInfo.accountType != 5 &&
$store.state.userInfo.accountType != 6 &&
$store.state.userInfo.accountType != 10
![5, 6, 10].includes($store.state.userInfo.accountType)
"
:title="enterpriseFront"
>
<img src="@/assets/images/xmht.png" width="15px" height="15px" />
<!-- <img src="@/assets/images/xmht.png" width="15px" height="15px" /> -->
<img src="@/assets/images/headerImg/companyIcon1.png" width="15px" height="15px" />
<span>{{ enterpriseFront }}</span>
</div>
<!-- // -->
@ -58,13 +57,12 @@
@click="goto2"
v-if="
$route.path.indexOf('/companyAdmin/companyDiagram') == -1 &&
$store.state.userInfo.accountType != 5 &&
$store.state.userInfo.accountType != 6 &&
$store.state.userInfo.accountType != 10
![5, 6, 10].includes($store.state.userInfo.accountType)
"
:title="enterpriseBackground"
>
<img src="@/assets/images/yyht.png" width="15px" height="15px" />
<!-- <img src="@/assets/images/yyht.png" width="15px" height="15px" /> -->
<img src="@/assets/images/headerImg/companyIcon2.png" width="15px" height="15px" />
<!-- <span>{{$t('message.companyDiagram.operatingCenter')}}</span> -->
<!-- <span>企业后台</span> -->
<span>{{ enterpriseBackground }}</span>
@ -79,7 +77,8 @@
"
:title="projectBackground"
>
<img src="@/assets/images/xmht.png" width="15px" height="15px" />
<!-- <img src="@/assets/images/xmht.png" width="15px" height="15px" /> -->
<img src="@/assets/images/headerImg/projectIcon1.png" width="15px" height="15px" />
<!-- $t("message.companyDiagram.projectBackEnd") -->
<span>{{ projectBackground }} </span>
</div>
@ -93,7 +92,8 @@
"
:title="equipmentChina"
>
<img src="@/assets/images/xmht.png" width="15px" height="15px" />
<!-- <img src="@/assets/images/xmht.png" width="15px" height="15px" /> -->
<img src="@/assets/images/headerImg/equipIcon1.png" width="15px" height="15px" />
<!-- <span>{{ $t("message.companyDiagram.devCenter") }}</span> -->
<span>{{ equipmentChina }}</span>
</div>
@ -114,10 +114,13 @@
<div
class="width_100"
@click="goto3"
v-if="dataCenter1 != 1"
v-if="
dataCenter1 != 1
"
:title="dataCenter"
>
<img src="@/assets/images/zlzx.png" width="15px" height="15px" />
<!-- <img src="@/assets/images/zlzx.png" width="15px" height="15px" /> -->
<img src="@/assets/images/headerImg/documentIcon1.png" width="15px" height="15px" />
<!-- <span>{{ $t("message.docManage.fileCenter") }}</span> -->
<span>{{ dataCenter }}</span>
</div>
@ -129,8 +132,7 @@
$route.path.indexOf('/firm/projectManage') == -1 &&
$store.state.userInfo.systemLogoConfig.isShowProjectFront ==
1 &&
$store.state.userInfo.accountType == 5 &&
$store.state.userInfo.accountType == 6
[5, 6].includes($store.state.userInfo.accountType)
"
:title="projectFront"
>
@ -308,7 +310,7 @@ export default {
this.$store.commit("setMapBackArr", []);
this.$store.commit("setMoudle", null);
this.$store.commit("setProDetail", null);
this.$store.commit('setSelectedGroupSn', null);
this.$store.commit("setSelectedGroupSn", null);
window.localStorage.removeItem("isIframe");
window.localStorage.removeItem("soundList");
let json = {
@ -369,7 +371,7 @@ export default {
window.open("/#/projectList", "_self");
}
}
if (type == 5 || type == 6) {
if (type == 5 || type == 6 || type == 10) {
window.open("/index.html#/projectIndex", "_self");
} else {
routeUrl = this.$router.resolve({
@ -425,10 +427,15 @@ export default {
.accountBox {
padding: 10px 10px 0;
}
.accountInfo{
margin-bottom: 17px;
}
.logout {
justify-content: space-around;
cursor: pointer;
color: #4a8ef7;
border-top: 1px solid rgba(47, 57, 92, 0.1);
padding-top: 10px;
// &:hover {
// color: @--color-primary;
// }
@ -453,8 +460,6 @@ export default {
.wrap {
flex-wrap: wrap;
border-top: 1px solid rgba(47, 57, 92, 0.1);
border-bottom: 1px solid rgba(47, 57, 92, 0.1);
margin: 17px 0 10px;
padding-top: 10px;
}
.width_100 {

View File

@ -2,7 +2,7 @@
<div class="header-btn">
<el-popover
placement="bottom"
trigger="click"
trigger="hover"
width="450"
class="popover"
:visible-arrow="false"
@ -13,9 +13,9 @@
<span>个人中心</span>
<div class="row-line"></div>
<div class="classify-item">
<div @click="jumpRouter('/workSpace')">工作台</div>
<div @click="jumpRouter('/userCenter/userConfig')">用户中心</div>
<div @click="jumpRouter('/infoCenter/allInfo')">消息中心</div>
<div @click="jumpRouter('/workSpace')" :class="isActive('/workSpace')?'active-item':''">工作台</div>
<div @click="jumpRouter('/userCenter/userConfig')" :class="isActive('/userCenter/userConfig')?'active-item':''">用户中心</div>
<div @click="jumpRouter('/infoCenter/allInfo')" :class="isActive('/infoCenter/allInfo')?'active-item':''">消息中心</div>
</div>
</div>
</div>
@ -41,6 +41,9 @@ export default {
mounted() {
},
methods: {
isActive(val){
return this.$route.path.indexOf(val) != -1?true:false
},
jumpRouter(routeName){
this.$router.push(routeName)
}
@ -52,6 +55,10 @@ export default {
display: flex;
align-items: center;
}
.activeStyle(){
color: white;
background-color: #478CF7;
}
.changeBox {
.center-classify{
width: 180px;
@ -74,9 +81,8 @@ export default {
border-radius: 3px;
cursor: pointer;
}
div:hover{
color: white;
background-color: #478CF7;
div:hover,.active-item{
.activeStyle();
}
div:not(:last-child){
margin-bottom: 7px;

View File

@ -40,10 +40,9 @@
class="canClick"
v-if="$route.path.indexOf('/firm/') == -1 && company != 'nanchang'"
@click="changeArea(-1)"
>{{
$store.state.currentProDetail && $store.state.currentProDetail.name ? systemInfo.platformName + " - " + $store.state.currentProDetail.name : headerName
}}</span
>{{ updateTitle }}</span
>
<span
class="canClick"
v-show="$route.path.indexOf('/firm/') != -1 && company != 'nanchang'"
@ -53,10 +52,10 @@
>>{{ item.name }}</span
>
</div>
<div class="title_near flex" v-if="$store.state.userInfo.accountType != 11">
<div class="title_near flex" v-if="![11].includes($store.state.userInfo.accountType)">
<userChange></userChange>
</div>
<div class="title_near-tow flex">
<div class="title_near-tow flex" v-if="![11].includes($store.state.userInfo.accountType)">
<div class="divider-line"></div>
<centerChange></centerChange>
</div>
@ -278,7 +277,22 @@ export default {
this.showQrCode = false;
}
},
computed: {
updateTitle() {
if (
this.$store.state.currentProDetail &&
this.$store.state.currentProDetail.name
) {
return (
this.systemInfo.platformName +
" - " +
this.$store.state.currentProDetail.name
);
} else {
return this.headerName;
}
},
},
methods: {
//()
closeAudio() {

View File

@ -242,12 +242,14 @@ export default {
backtoIndex() {
// window._paq.push(['trackEvent', '', '','' ])
var url = window.location.href;
this.$router.push("/workSpace");
// if (url.indexOf("equipmentCenter.html") != -1) {
// this.$router.push("/equipmentCenterIndx");
// } else {
// this.$router.push("/projectIndex");
// }
// this.$router.push("/workSpace");
if (url.indexOf("equipmentCenter.html") != -1) {
this.$router.push("/equipmentCenterIndx");
} else if (url.indexOf("supplier/qualification/apply") != -1) {
this.$router.back();
} else {
this.$router.push("/projectIndex");
}
},
handleSelect(key, keyPath) {

View File

@ -184,12 +184,13 @@ export default {
backtoIndex() {
// window._paq.push(['trackEvent', '', '','' ])
var url = window.location.href;
this.$router.push("/workSpace");
// if (url.indexOf("equipmentCenter.html") != -1) {
// this.$router.push("/equipmentCenterIndx");
// } else {
// this.$router.push("/projectIndex");
// }
if (url.indexOf("equipmentCenter.html") != -1) {
this.$router.push("/equipmentCenterIndx");
} else if (url.indexOf("supplier/qualification/apply") != -1) {
this.$router.back();
} else {
this.$router.push("/projectIndex");
}
},
handleSelect(key,keyPath) {

View File

@ -2,7 +2,7 @@
<div class="header-btn">
<el-popover
placement="bottom"
trigger="click"
trigger="hover"
popper-class="user-group-popover"
:visible-arrow="false"
v-model="visible"
@ -13,7 +13,7 @@
<img
src="@/assets/images/headerImg/icon5-active.png"
v-if="!isUserList"
@click="isUserList = false"
@click="showGroup"
/>
<img
src="@/assets/images/headerImg/icon6.png"
@ -23,7 +23,7 @@
<img
src="@/assets/images/headerImg/icon5.png"
v-if="isUserList"
@click="isUserList = false"
@click="showGroup"
/>
<img
src="@/assets/images/headerImg/icon6-active.png"
@ -53,13 +53,12 @@
<span>{{ item.companyName }}</span>
<i class="el-icon-arrow-right"></i>
</div>
<div class="content-list-item" @click="selectGroup()">
<!-- <i class="el-icon-trophy-1"></i> -->
<!-- <div class="content-list-item" @click="selectGroup()">
<img src="@/assets/images/headerImg/icon4.png" />
<span>{{ $store.state.userInfo.account }}</span>
<div>个人租户</div>
<i class="el-icon-arrow-right"></i>
</div>
</div> -->
</div>
<div class="tree-group" v-else>
<div class="select-list">
@ -73,16 +72,35 @@
</el-input>
<el-tree
:data="selectedGroupData"
:props="selectTreeProps"
:default-expand-all="true"
node-key="sn"
ref="tree"
:props="selectTreeProps"
:filter-node-method="filterNode"
:highlight-current="true"
:check-on-click-node="true"
@node-click="treeClick"
:check-on-click-node="false"
style="margin:10px 5px;"
></el-tree>
>
<span class="custom-tree-node" slot-scope="{ node, data }">
<span
style="
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: inline-block;
"
@click="treeClick(data)"
:class="
data.projectSn
? 'projectStyle'
: 'companyStyle'
"
:title="node.label"
>{{ node.label }}</span
>
</span>
</el-tree>
</div>
</div>
</div>
@ -126,10 +144,26 @@ export default {
},
mounted() {},
methods: {
//
filterTreeData(tree){
tree.forEach(node => {
if(!node.projectSn){
node.disabled = true;
}
if (node.list && node.list.length) {
this.filterTreeData(node.list);
}
});
},
//
showGroup(){
this.isUserList = false;
this.setTreeActive();
},
//
selectProject(obj) {
console.log(obj, "111222333");
if (!obj || !obj.list) return;
if (!obj) return;
if (obj.list && obj.list.length > 0) {
obj.list.map((item) => {
this.selectProject(item);
@ -138,16 +172,28 @@ export default {
if (!this.selectedProjectSn) {
//
this.selectedProjectSn = obj.sn;
this.setTreeActive();
// projectSn
this.$store.commit("setProjectSn", obj.sn);
this.$store.commit("setProDetail", obj);
}
}
},
//
setTreeActive(){
this.$nextTick(() => {
let activeSn = this.selectedProjectSn || this.$store.state.selectedGroupSn
if(activeSn){
this.$refs.tree.setCurrentKey(activeSn);
}
})
},
//
selectGroup(item) {
if (item) {
this.selectedGroupData = [item];
this.selectedGroupData = [item]
this.filterTreeData(this.selectedGroupData);
console.log(this.selectedGroupData)
} else {
this.selectedGroupData = [];
this.$store.commit("setProjectSn", "");
@ -167,7 +213,8 @@ export default {
return item.sn == this.$store.state.selectedGroupSn;
});
if (findItem) {
this.selectedGroupData = [findItem];
this.selectedGroupData = [findItem]
this.filterTreeData(this.selectedGroupData);
this.$nextTick(() => {
this.selectProject(findItem);
});
@ -263,14 +310,23 @@ export default {
margin-top: 15px;
background-color: #fff;
.select-list {
&-item {
display: flex;
align-items: center;
justify-content: space-between;
.custom-tree-node {
width: 100%;
.flexStyle();
.projectStyle{
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
color: #272D45;
}
.companyStyle{
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
color: #A2A4AF;
}
}
}
}
}
}
.click-content {
cursor: pointer;
.flexStyle();

View File

@ -844,7 +844,7 @@ const routes2 = [
},
{
path: "/project/configManage/groupStructureManagement",
name: "系统管理_人员权限1",
name: "系统管理_组织架构管理",
component: (resolve) =>
require([
"@/views/projectFront/configManage/groupStructureManagement.vue",

View File

@ -50,7 +50,7 @@ export default new Vuex.Store({
// FILEURL:' http://101.43.164.214:11111/image/',// 百色
// UPLOADURL:'http://192.168.34.221:9111/upload/image/',// 郭圣雄
// FILEURL:'http://192.168.34.221:9111/image/',//郭圣雄
// WORKFLOWURL: 'http://192.168.34.138:88/#/workspace/forms',//测试工作流地址(本地)
WORKFLOWURL: 'http://192.168.34.138:88/#/workspace/forms',//测试工作流地址(本地)
// UPLOADURL:'http://10.0.1.43:6023/upload/image',//测试
// FILEURL:'http://10.0.1.43:6023/image/',//测试
BASEURL: baseUrl
@ -62,7 +62,7 @@ export default new Vuex.Store({
window.location.host +
"/upload/image", //正式环境
FILEURL: window.location.protocol + "//" + window.location.host + "/image/", //正式环境
WORKFLOWURL: 'http://jxj.zhgdyun.com:9811/#/workspace/forms',//正式工作流地址
// WORKFLOWURL: 'http://jxj.zhgdyun.com:9811/#/workspace/forms',//正式工作流地址
//---------------------------------------------------------------------------------------------
// BASEURL: baseUrl
// ? baseUrl

View File

@ -82,7 +82,7 @@
: treeSelectData.companyName
}}
</div>
<el-tabs v-model="tabActiveName" type="card" @tab-click="handleTabClick">
<el-tabs class="tabs-content" v-model="tabActiveName" type="card" @tab-click="handleTabClick">
<el-tab-pane label="组织成员" name="first">
<el-button
type="primary"
@ -320,6 +320,17 @@
</el-table>
</el-tab-pane>
</el-tabs>
<el-pagination
class="pagerBox"
@size-change="SizeChange"
@current-change="CurrentChange"
:current-page="pagInfo.pageNo"
:page-sizes="$store.state.PAGESIZRS"
:page-size="pagInfo.pageSize"
layout="total, sizes, prev, pager, next"
:total="Number(pagInfo.total)"
background
></el-pagination>
</div>
<!-- 管理机构弹框 -->
@ -1219,7 +1230,7 @@
:check-on-click-node="false"
show-checkbox
:props="defaultProps"
node-key="itemId"
node-key="sn"
ref="relativeTree"
>
<span class="custom-tree-node" slot-scope="{ node, data }">
@ -1281,7 +1292,7 @@ import {
addorganizationJobApi,
editorganizationJobApi,
deleteorganizationJobApi,
getorganizationJobListApi,
getorganizationJobPageApi,
sendSafetyHatAccountDataApi,
getDictionaryItemApi,
} from "@/assets/js/api/companyDiagram.js";
@ -1290,11 +1301,11 @@ import {
addSystemUserApi,
editSystemUserApi,
deleteSystemUserApi,
getSystemUserBySnApi,
getSystemUserBySnPageApi,
getUserAuditListApi,
userAuditApi,
userDeleteApi,
getUserManagerApi,
getUserManagerPageApi,
updateUserManagerApi,
getSelectedGroupApi
} from "@/assets/js/api/account.js";
@ -1331,6 +1342,11 @@ export default {
}
};
return {
pagInfo: {
pageNo: 1, //
pageSize: 10, //
total: 0 //
},
COMPANY: COMPANY,
projectType2: "", // eg:hengqin
yiCheckArr: [],
@ -2075,10 +2091,6 @@ export default {
editGroupForm: {
groupId: "",
},
selectTreeProps: {
children: "children",
label: "label",
},
isSelectCompany: false,
selectTree: {},
filterText: "",
@ -2227,14 +2239,22 @@ export default {
}
}
},
handleTabClick(tab, event) {
if(!this.treeSelectData.name) return;
if(this.tabActiveName == 'third'){
getListData(){
this.pagInfo.pageNo = 1;
if(this.tabActiveName == 'first'){
this.getAccountList();
} else if(this.tabActiveName == 'two'){
this.getJobList();
} else if(this.tabActiveName == 'third'){
this.getUserAuditListApiFunc();
} else if(this.tabActiveName == 'four'){
this.getUserManageListApi();
}
},
handleTabClick(tab, event) {
if(!this.treeSelectData.name) return;
this.getListData();
},
handleNodeClick(data) {
this.tabActiveName = "first";
this.treeSelectData = data;
@ -2996,7 +3016,12 @@ export default {
getJobList() {
let data = this.treeSelectData;
let sn = data.projectSn ? data.projectSn : data.companySn;
getorganizationJobListApi({ sn: sn }).then((res) => {
let requestData = {
sn,
pageNo: this.pagInfo.pageNo,
pageSize: this.pagInfo.pageSize
}
getorganizationJobPageApi(requestData).then((res) => {
this.jobList = res.result;
});
},
@ -3094,6 +3119,7 @@ export default {
relativeGroupFn(item) {
this.selectRowObj = item;
this.relativeGroupDialog = true;
this.filterText = "";
this.$nextTick(() => {
this.$refs.relativeTree.setCheckedKeys([]);
})
@ -3220,6 +3246,7 @@ export default {
async editGroup(row) {
this.selectRowObj = row;
this.editGroupDialog = true;
this.filterText = "";
//
const res = await getSelectedGroupApi({ userId: row.userId });
//
@ -3303,7 +3330,12 @@ export default {
getUserManageListApi(){
let data = this.treeSelectData;
let sn = data.projectSn ? data.projectSn : "";
getUserManagerApi({ projectSn: sn, pageNo: -1, pageSize: -1 }).then((res) => {
let requestData = {
projectSn: sn,
pageNo: this.pagInfo.pageNo,
pageSize: this.pagInfo.pageSize
}
getUserManagerPageApi(requestData).then((res) => {
this.userManageList = res.result;
});
},
@ -3311,16 +3343,29 @@ export default {
getUserAuditListApiFunc(){
let data = this.treeSelectData;
let sn = data.projectSn ? data.projectSn : data.companySn;
getUserAuditListApi({ sn: sn, accountType: 1 }).then((res) => {
let requestData = {
sn,
accountType: 1,
pageNo: this.pagInfo.pageNo,
pageSize: this.pagInfo.pageSize
}
getUserAuditListApi(requestData).then((res) => {
this.userAuditList = res.result.records;
this.pagInfo.total = res.result.total;
});
},
//
getAccountList() {
let data = this.treeSelectData;
let sn = data.projectSn ? data.projectSn : data.companySn;
getSystemUserBySnApi({ sn: sn }).then((res) => {
let requestData = {
sn,
pageNo: this.pagInfo.pageNo,
pageSize: this.pagInfo.pageSize
}
getSystemUserBySnPageApi(requestData).then((res) => {
this.level1AccountData = res.result;
this.pagInfo.total = res.result.length;
});
},
//
@ -3615,10 +3660,22 @@ export default {
});
}
},
SizeChange(val) {
this.pagInfo.pageSize = val
this.getListData();
},
CurrentChange(val) {
this.pagInfo.pageNo = val
this.getListData();
},
},
watch: {
filterText(val) {
this.$refs.tree.filter(val);
if(this.editGroupDialog){
this.$refs.groupTree.filter(val);
} else if(this.relativeGroupDialog){
this.$refs.relativeTree.filter(val);
}
},
},
};
@ -3803,6 +3860,18 @@ export default {
margin-left: 20px;
padding: 20px 15px;
height: calc(100% - 40px);
.tabs-content{
height: calc(100% - 95px);
/deep/.el-tabs__content{
height: calc(100% - 50px);
.el-tab-pane{
height: 100%;
}
}
}
.pagerBox{
margin-top: 18px;
}
}
.operateBtns {
float: right; //

View File

@ -559,6 +559,7 @@ export default {
pageNo: this.page,
pageSize: this.pageSize,
applyStatus: this.tableParameter.applyStatus,
projectSn: this.$store.state.projectSn
};
if (
this.tableParameter.timeRange &&
@ -654,10 +655,12 @@ export default {
},
//
handleSizeChange(value) {
// this.pageSize = value;
this.pageSize = value;
this.getTableList();
},
handleCurrentChange(value) {
this.page = value;
this.getTableList();
},
},
};

View File

@ -41,101 +41,99 @@
</el-form-item>
</el-form>
</div>
<vue-scroll style="height: 86%">
<el-table class="tables" :data="tableData" height="500">
<el-table-column
prop="applyTime"
align="center"
label="资质申请时间"
></el-table-column>
<el-table-column
prop="applyOrg"
label="审批组织"
align="center"
></el-table-column>
<el-table-column
prop="replyTime"
label="审批回复时间"
align="center"
></el-table-column>
<el-table-column label="审批状态" align="center">
<template slot-scope="scope">
<span
:style="{
color:
scope.row.applyStatus == 1
? '#66A972'
: scope.row.applyStatus == 2
? '#5F73CD'
: scope.row.applyStatus == 3
? '#E14655'
: scope.row.applyStatus == 4
? '#B8B8BA'
: '',
}"
>
{{
<el-table class="tables" :data="tableData" height="calc(100% - 102px)">
<el-table-column
prop="applyTime"
align="center"
label="资质申请时间"
></el-table-column>
<el-table-column
prop="applyOrg"
label="审批组织"
align="center"
></el-table-column>
<el-table-column
prop="replyTime"
label="审批回复时间"
align="center"
></el-table-column>
<el-table-column label="审批状态" align="center">
<template slot-scope="scope">
<span
:style="{
color:
scope.row.applyStatus == 1
? "待审批"
? '#66A972'
: scope.row.applyStatus == 2
? "已审批"
? '#5F73CD'
: scope.row.applyStatus == 3
? "已驳回"
? '#E14655'
: scope.row.applyStatus == 4
? "已撤销"
: ""
}}
</span>
</template>
</el-table-column>
<el-table-column
:label="$t('message.deviceManage.operation')"
align="center"
width="400"
>
<template slot-scope="scope">
<div class="tableBtns">
<div
@click="showAuditReply(scope.row)"
class="operationText"
v-if="[2, 3].includes(scope.row.applyStatus)"
>
<img
src="@/assets/images/tableIcon/showReply.png"
width="15px"
height="15px"
/>
<span>查看审批回复</span>
</div>
<div
class="operationText"
v-if="[1].includes(scope.row.applyStatus)"
@click="cancelApply(scope.row)"
>
<img
src="@/assets/images/tableIcon/backApply.png"
width="15px"
height="15px"
/>
<span>撤销申请</span>
</div>
<div
class="operationText"
v-if="[3, 4].includes(scope.row.applyStatus)"
@click="reApply(scope.row)"
>
<img
src="@/assets/images/tableIcon/againApply.png"
width="15px"
height="15px"
/>
<span>重新提交申请</span>
</div>
? '#B8B8BA'
: '',
}"
>
{{
scope.row.applyStatus == 1
? "待审批"
: scope.row.applyStatus == 2
? "已审批"
: scope.row.applyStatus == 3
? "已驳回"
: scope.row.applyStatus == 4
? "已撤销"
: ""
}}
</span>
</template>
</el-table-column>
<el-table-column
:label="$t('message.deviceManage.operation')"
align="center"
width="400"
>
<template slot-scope="scope">
<div class="tableBtns">
<div
@click="showAuditReply(scope.row)"
class="operationText"
v-if="[2, 3].includes(scope.row.applyStatus)"
>
<img
src="@/assets/images/tableIcon/showReply.png"
width="15px"
height="15px"
/>
<span>查看审批回复</span>
</div>
</template>
</el-table-column>
</el-table>
</vue-scroll>
<div
class="operationText"
v-if="[1].includes(scope.row.applyStatus)"
@click="cancelApply(scope.row)"
>
<img
src="@/assets/images/tableIcon/backApply.png"
width="15px"
height="15px"
/>
<span>撤销申请</span>
</div>
<div
class="operationText"
v-if="[3, 4].includes(scope.row.applyStatus)"
@click="reApply(scope.row)"
>
<img
src="@/assets/images/tableIcon/againApply.png"
width="15px"
height="15px"
/>
<span>重新提交申请</span>
</div>
</div>
</template>
</el-table-column>
</el-table>
<el-pagination
style="margin: 10px 20px 0"
class="pagerBox"
@ -176,7 +174,7 @@
:highlight-current="true"
:check-on-click-node="false"
:props="defaultProps"
node-key="itemId"
node-key="sn"
ref="relativeTree"
>
<span class="custom-tree-node" slot-scope="{ node, data }">
@ -453,11 +451,11 @@
<div class="audit-content">
<div class="audit-content-item">
<span>审批人</span>
<span>{{replyData.applyUser}}</span>
<span>{{ replyData.applyUser }}</span>
</div>
<div class="audit-content-item">
<span>审批回复时间</span>
<span>{{replyData.replyTime}}</span>
<span>{{ replyData.replyTime }}</span>
</div>
<div class="audit-content-item">
<span>审批回复</span>
@ -482,7 +480,7 @@ import {
operateQualificationApplyApi,
getSupplierInfoRecordApi,
getQualificationFileRecordApi,
qualificationApplyInfoApi
qualificationApplyInfoApi,
} from "@/assets/js/api/supplier.js";
import { getComapnyStatisticsListApi } from "@/assets/js/api/company/project";
export default {
@ -539,17 +537,12 @@ export default {
projectDirectorPhone: "",
},
rowData: {},
replyData: {}
replyData: {},
};
},
created() {
this.projectSn = this.$store.state.projectSn;
},
watch: {
filterText(val) {
this.$refs.tree.filter(val);
},
},
props: ["activeTabName"],
methods: {
// -
@ -726,9 +719,11 @@ export default {
//
handleSizeChange(value) {
this.pageSize = value;
this.getTableList();
},
handleCurrentChange(value) {
this.page = value;
this.getTableList();
},
},
watch: {
@ -738,6 +733,9 @@ export default {
this.loadData();
}
},
filterText(val) {
this.$refs.relativeTree.filter(val);
},
},
};
</script>
@ -835,7 +833,7 @@ export default {
padding: 15px 0;
box-sizing: border-box;
width: 100%;
height: calc(100% - 42px);
height: 100%;
}
.title_wrap {
width: 100%;

View File

@ -614,7 +614,6 @@ export default {
}
.main-content {
width: 100%;
height: 100%;
// background: #ffffff;
box-sizing: border-box;
.btn_wrap {

View File

@ -1,5 +1,5 @@
<template>
<!-- 项目信息页面 -->
<!-- 资质文件页面 -->
<div class="main-content whiteBlock">
<div class="btn_wrap">
<el-button type="primary" size="medium" @click="addFileFn">{{
@ -7,7 +7,11 @@
}}</el-button>
</div>
<div class="table_wrap whiteBlock">
<el-table class="tables" :data="tableList" height="800">
<el-table
class="tables"
:data="tableList"
height="calc(100% - 90px)"
>
<el-table-column
width="50"
type="index"
@ -68,6 +72,17 @@
</template>
</el-table-column>
</el-table>
<el-pagination
class="pagerBox"
@size-change="SizeChange"
@current-change="CurrentChange"
:current-page="pagInfo.pageNo"
:page-sizes="$store.state.PAGESIZRS"
:page-size="pagInfo.pageSize"
layout="total, sizes, prev, pager, next"
:total="Number(pagInfo.total)"
background
></el-pagination>
</div>
<!-- 新增弹框 -->
@ -160,7 +175,7 @@
<script>
import { checkPhone } from "@/assets/js/util.js";
import {
getQualificationFileApi,
getQualificationFilePageApi,
addQualificationFileApi,
editQualificationFileApi,
deleteQualificationFileApi,
@ -180,6 +195,11 @@ export default {
name: "baseInfo",
data() {
return {
pagInfo: {
pageNo: 1, //
pageSize: 10, //
total: 0, //
},
bigImageDialog: false,
bigImageUrl: "",
fileList: [],
@ -276,14 +296,16 @@ export default {
fileNumber: "",
fileUrl: "",
remarks: "",
}
};
}, 100);
},
getTableList() {
let requestData = {
userId: this.$store.state.userInfo.userId,
pageNo: this.pagInfo.pageNo,
pageSize: this.pagInfo.pageSize
};
getQualificationFileApi(requestData).then((res) => {
getQualificationFilePageApi(requestData).then((res) => {
console.log(res, "资质文件表格");
if (res.result) {
this.tableList = res.result;
@ -314,7 +336,12 @@ export default {
this.addFileForm.fileUrl = response.data[0].imageUrl;
this.$refs.addFileForm.validateField("fileUrl");
console.log(this.fileList);
this.fileList = [{name: response.data[0].fileInfo.originalFilename, url: response.data[0].imageUrl}]
this.fileList = [
{
name: response.data[0].fileInfo.originalFilename,
url: response.data[0].imageUrl,
},
];
// this.fullscreenLoading = false;
// this.fullscreenLoading.close();
// this.addBuildDialog = false;
@ -348,6 +375,14 @@ export default {
}
});
},
SizeChange(val) {
this.pagInfo.pageSize = val;
this.getTableList();
},
CurrentChange(val) {
this.pagInfo.pageNo = val;
this.getTableList();
},
},
watch: {
activeTabName(newValue) {
@ -387,11 +422,19 @@ export default {
height: 100%;
// background: #ffffff;
box-sizing: border-box;
display: flex;
flex-direction: column;
.btn_wrap {
}
/deep/ .el-dialog {
margin-top: 10vh !important;
}
.table_wrap {
flex: 1;
.pagerBox {
margin-top: 30px;
}
}
.operation-style {
.flex();
justify-content: center;

View File

@ -1,16 +1,16 @@
<template>
<!-- 表格形式的项目信息页面 -->
<div class="baseInfo whiteBlock">
<el-tabs v-model="activeTabName">
<el-tabs v-model="activeTabName" class="tabs-content">
<el-tab-pane label="基本信息" name="first">
<vue-scroll style="width: 100%">
<BasicInfo :activeTabName="activeTabName"></BasicInfo>
</vue-scroll>
<BasicInfo :activeTabName="activeTabName"></BasicInfo>
<!-- <vue-scroll style="width: 100%">
</vue-scroll> -->
</el-tab-pane>
<el-tab-pane label="资质文件" name="second">
<vue-scroll style="width: 100%">
<QualificationInfo :activeTabName="activeTabName"></QualificationInfo>
</vue-scroll>
<QualificationInfo :activeTabName="activeTabName"></QualificationInfo>
<!-- <vue-scroll style="width: 100%">
</vue-scroll> -->
</el-tab-pane>
<el-tab-pane label="资质申请" name="third">
<ApplyInfo :activeTabName="activeTabName"></ApplyInfo>
@ -27,18 +27,16 @@ export default {
components: {
BasicInfo,
QualificationInfo,
ApplyInfo
ApplyInfo,
},
data() {
return {
activeTabName: "first",
};
},
created() {
},
created() {},
methods: {
},
methods: {},
};
</script>
<style lang="less" scoped>
@ -48,5 +46,14 @@ export default {
// background: #ffffff;
padding: 15px;
box-sizing: border-box;
.tabs-content {
height: 100%;
/deep/.el-tabs__content {
height: calc(100% - 55px);
.el-tab-pane {
height: 100%;
}
}
}
}
</style>

View File

@ -37,13 +37,12 @@
<span>{{ item.companyName }}</span>
<i class="el-icon-arrow-right"></i>
</div>
<div class="content-list-item" @click="selectedGroupData()">
<!-- <i class="el-icon-trophy-1"></i> -->
<!-- <div class="content-list-item" @click="selectedGroupData()">
<img src="@/assets/images/headerImg/icon4.png" />
<span>{{ $store.state.userInfo.account }}</span>
<div>个人租户</div>
<i class="el-icon-arrow-right"></i>
</div>
</div> -->
</div>
</el-dialog>
</div>
@ -52,9 +51,7 @@
import vhead from "@/components/header";
import { getProjectDetail } from "@/assets/js/api/baseInfo.js";
import { getGroupListApi } from "@/assets/js/api/loginSign.js";
import {
getAllModuleApi
} from "@/assets/js/api/jxjadmin.js";
import { getAllModuleApi } from "@/assets/js/api/jxjadmin.js";
export default {
name: "workSpace",
components: { vhead },
@ -73,6 +70,12 @@ export default {
}
this.getGroupTreeData();
},
mounted() {
// iframe
if (this.$store.state.selectedGroupSn) {
this.getModuleList();
}
},
methods: {
// ()
async getModuleList() {
@ -81,6 +84,49 @@ export default {
styleType: this.$store.state.userInfo.styleType,
});
console.log(res);
//
const responseMenuList = [];
if (res && res.result) {
res.result.map((item) => {
if (item.moduleName == "工作流" && item.menuList) {
item.menuList.map((item2) => {
responseMenuList.push({
menuName: item2.menuName,
path: item2.path,
icon: item2.icon,
});
});
}
});
}
//
const defaultMenuList = [
{
menuName: "审批列表",
path: "/workspace/forms",
icon: "el-icon-s-order",
},
{
menuName: "待我处理",
path: "/workspace/unfinished",
icon: "el-icon-s-check",
},
{
menuName: "已处理的",
path: "/workspace/finished",
icon: "el-icon-s-custom",
},
{
menuName: "我发起的",
path: "/workspace/submit",
icon: "el-icon-s-claim",
},
{
menuName: "关于我的",
path: "/workspace/cc",
icon: "el-icon-s-promotion",
},
];
this.$nextTick(() => {
setTimeout(() => {
let iframe = document.getElementById("myIframe");
@ -88,7 +134,10 @@ export default {
{
type: "emitData",
data: JSON.stringify(this.$store.state.userInfo),
// authMenuList: JSON.stringify(authStore.showMenuListGet),
authMenuList:
responseMenuList.length > 0
? JSON.stringify(responseMenuList)
: JSON.stringify(defaultMenuList),
},
"*"
);