fix: BUG修改

This commit is contained in:
kun 2024-04-12 19:42:47 +08:00
parent 6b9d7be619
commit 3b70723546
19 changed files with 348 additions and 27 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

@ -3147,11 +3147,19 @@ const routes2 = [
keepAlive: true,
},
},
// 供应商管理首页
// 用户中心
{
path: "/supplierIndex",
name: "supplierIndex",
component: () => import("../views/supplierAdmin/supplierIndex.vue"),
path: "/supplierPage",
name: "userPage",
component: () => import("@/views/supplierAdmin/layout.vue"),
children: [
// 供应商管理首页
{
path: "/supplierIndex",
name: "supplierIndex",
component: () => import("../views/supplierAdmin/supplierIndex.vue"),
},
],
},
// 工作台
{

View File

@ -12,10 +12,10 @@
<!-- 南昌地铁头部样式 -->
<span v-if="company == 'nanchang'" style="cursor: pointer" @click="back">{{$t('message.companyDiagram.pageTitle')}}</span>
</div>
<div class="title_near flex">
<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>

View File

@ -12,10 +12,10 @@
<!-- 南昌地铁头部样式 -->
<span v-if="company == 'nanchang'" style="cursor: pointer" @click="back">{{$t('message.companyDiagram.pageTitle')}}</span>
</div>
<div class="title_near flex">
<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>

View File

@ -342,6 +342,7 @@ export default {
if(this.$store.state.userInfo.accountType == 10){
getNewUserAllModulePageApi({
projectSn: this.projectSn,
userId: this.$store.state.userInfo.userId
}).then((res) => {
if (res.success) {
var all = res.result.moduleList;

View File

@ -249,7 +249,6 @@ export default {
{ name: "正常", value: 0 },
{ name: "停用", value: 1 },
],
workerName: "",
addEditForm: {
deptName: "",
orderNum: 0,
@ -485,7 +484,10 @@ export default {
});
},
refresh() {
this.workerName = "";
this.queryInfo = {
name: "",
status: null,
};
this.getList();
},
getList() {

View File

@ -0,0 +1,272 @@
<template>
<div class="fullHeight pages">
<div class="title">
<div class="title_l flex">
<!-- <img v-if="LOGO_white" :src="'./img/logo/'+LOGO_white+'.png'" class="icon" />
<span>{{$t('message.companyDiagram.pageTitle')}}</span> -->
<img v-if="systemInfo.platformLogo" :src="systemInfo.platformLogo" class="logo" height="25" />
<img v-else-if="LOGO_white" :src="'./img/logo/'+LOGO_white+'.png'" class="logo" height="25" />
<span v-if="company != 'nanchang'" style="cursor: pointer" @click="back">{{systemInfo.platformName}} </span>
<span v-if="company != 'nanchang'"> - </span>
<span v-if="company != 'nanchang'">供应商管理首页</span>
<!-- 南昌地铁头部样式 -->
<span v-if="company == 'nanchang'" style="cursor: pointer" @click="back">{{$t('message.companyDiagram.pageTitle')}}</span>
</div>
<div class="title_near flex" v-if="![11].includes($store.state.userInfo.accountType)">
<userChange></userChange>
</div>
<div class="title_near-tow flex" v-if="![11].includes($store.state.userInfo.accountType)">
<div class="divider-line"></div>
<centerChange></centerChange>
</div>
<div
class="title_r flex"
>
<account></account>
</div>
</div>
<div class="menuBox">
<el-menu
:default-active="$route.path"
class="el-menu-demo"
mode="horizontal"
@select="handleSelect"
active-text-color="#5181F6"
router
>
<div
v-for="(item, index) in menuList"
:key="index"
class="menuInnerBox"
>
<el-menu-item class="firstLevelMenu"
v-if="!hasSubMenu(item.menuList)"
:index="item.modulePath"
>
{{ item.moduleName}}
</el-menu-item>
<el-submenu
:index="item.modulePath"
v-else
>
<template slot="title">{{
item.moduleName
}}</template>
<el-menu-item
:index="data.path"
v-for="(data, i) in item.menuList"
:key="i"
>{{ data.menuName }}</el-menu-item
>
</el-submenu>
</div>
<!-- <el-menu-item :index="item.modulePath" v-for="(item,index) in menuList" :key="index">{{item.moduleName}}</el-menu-item> -->
</el-menu>
</div>
<div class="pageContainer">
<div class="pageDataContainer">
<router-view></router-view>
</div>
</div>
</div>
</template>
<script>
import account from "@/components/account.vue";
import userChange from "@/components/userChange.vue";
import centerChange from "@/components/centerChange.vue";
export default {
data() {
return {
LOGO_white:LOGO_white,
currentUrl:'',
menuList:[
{ moduleName: '首页', modulePath: "/supplierIndex" }
],
systemInfo:{
"loginBackgroundImage": "",
"loginLogo": "",
"platformLogo": "",
"platformName": "智慧工地云平台"
}
};
},
components:{
account,
userChange,
centerChange
},
created() {
this.company = COMPANY;
console.log(COMPANY)
},
mounted(){
// this.getAllModule()
if(localStorage.getItem('systemInfo')){
this.systemInfo=JSON.parse(localStorage.getItem('systemInfo'))
}
document.title='企业后台'
console.log('mounted',this.$route.path)
},
methods: {
hasSubMenu(list) {
//
let onoff = false;
// console.log("list", list);
if (list && list.length > 0) {
list.forEach((element) => {
if (element.menuName) {
onoff = true;
return;
}
});
}
// console.log("onoff", onoff);
return onoff;
},
getAllModule(){
var half = this.$store.state.userInfo.menuAuthority.moduleList
half.forEach(element => {
if(element.moduleType==3){
this.menuList.push(element)
}
});
// getAllModuleApi({moduleType:4}).then(res => {
// if (res.success) {
// var all = res.result
// all.forEach((element,index) => {
// all[index].operation=false
// half.forEach(element2 => {
// if(element2.moduleId==element.moduleId){
// all[index].operation=true
// all[index].menuList=element2.menuList
// }
// });
// });
// this.menuList=all
// }
// })
},
handleSelect(url) {
// this.$store.commit('setCurrentUrl',url)
// this.$store.dispatch('currentUrl',url)
},
back() {
this.$router.push("/firm/projectManage")
}
},
};
</script>
<style lang="less" scoped>
.el-menu.el-menu--horizontal {
box-sizing: border-box;
padding: 0 30px 4px;
border-bottom: none;
}
.el-menu--horizontal {
.el-menu-item,
/deep/.el-submenu__title {
font-family: PingFangSC-Medium;
font-size: 14px;
letter-spacing: 0;
height: 44px;
line-height: 44px;
padding: 0;
margin-right: 80px;
&:hover,
&:focus {
background-color: transparent;
}
&:hover {
color: #5181f6;
}
}
}
/deep/.el-submenu__title{
padding-right: 20px!important;
.el-submenu__icon-arrow{
right: 0px;
}
}
.el-menu--horizontal .firstLevelMenu.is-active,/deep/.is-active .el-submenu__title {
border-bottom: 3px solid #409eff;
}
.menuInnerBox {
display: inline-block;
}
// .el-menu.el-menu--horizontal {
// box-sizing: border-box;
// padding: 0 162px 4px;
// border-bottom: none;
// }
// .el-menu--horizontal > .el-menu-item {
// font-family: PingFangSC-Medium;
// font-size: 14px;
// letter-spacing: 0;
// height: 44px;
// line-height: 44px;
// padding: 0;
// margin-right: 70px;
// }
// .el-menu--horizontal > .el-menu-item.is-active {
// border-bottom: 3px solid #409eff;
// }
// /deep/.el-submenu__title{
// padding-right: 20px!important;
// .el-submenu__icon-arrow{
// right: 0px;
// }
// }
// .el-menu--horizontal .firstLevelMenu.is-active,/deep/.is-active .el-submenu__title {
// border-bottom: 3px solid #409eff;
// }
// .menuInnerBox {
// display: inline-block;
// }
.menuBox{
position: relative;
}
.title {
width: 100%;
color: #fff;
background-image: linear-gradient(#262d47, #343d5f);
box-sizing: border-box;
padding: 0 23px;
height: 61px;
display: flex;
align-items: center;
justify-content: flex-end
}
.title_l {
font-family: PingFangSC-Semibold;
font-size: 16px;
color: #ffffff;
letter-spacing: 0;
margin-right: 50px;
img {
margin-right: 14px;
}
}
.title_near{
margin-right: 50px;
}
.title_near-tow{
.divider-line{
width: 1px;
height: 16px;
background: #FFFFFF;
margin-right: 50px;
}
}
.title_r {
cursor: pointer;
display: inline-flex;
align-items: center;
margin-left: auto;
}
.flex {
display: flex;
align-items: center;
justify-content: space-between;
}
</style>

View File

@ -225,6 +225,7 @@
</el-form-item>
<el-form-item label="注册资金(万元)" prop="registeredCapital">
<el-input
type="number"
v-model.number="addInfoForm.registeredCapital"
:placeholder="
$t('message.companyDiagram.dialog_ProjectPop_up.placeholder')
@ -242,9 +243,7 @@
<el-form-item label="银行账号" prop="bankcardnumber">
<el-input
v-model.number="addInfoForm.bankcardnumber"
:placeholder="
$t('message.companyDiagram.dialog_ProjectPop_up.placeholder')
"
placeholder="请输入"
></el-input>
</el-form-item>
<el-form-item label="法人电话" prop="legalPersonTel">
@ -258,9 +257,7 @@
<el-form-item label="营业执照注册号" prop="businessNumber">
<el-input
v-model.number="addInfoForm.businessNumber"
:placeholder="
$t('message.companyDiagram.dialog_ProjectPop_up.placeholder')
"
placeholder="请输入"
></el-input>
</el-form-item>
<el-form-item label="营业执照截止日期" prop="businessLicenseEndDate">
@ -450,10 +447,33 @@ export default {
projectDirectorPhone: [
{
required: true,
message: '请输入',
trigger: "blur",
message: "请输入正确的电话号码",
pattern: /^1(3|4|5|6|7|8|9)\d{9}$/,
},
],
registerPersonPhoneTel: [
{
trigger: "blur",
message: "请输入正确的电话号码",
pattern: /^1(3|4|5|6|7|8|9)\d{9}$/,
}
],
legalPersonTel: [
{
trigger: "blur",
message: "请输入正确的电话号码",
pattern: /^1(3|4|5|6|7|8|9)\d{9}$/,
}
],
enterpriseEmail: [
{
type: "email",
trigger: "blur",
message: "请输入正确的邮箱",
pattern: /^1(3|4|5|6|7|8|9)\d{9}$/,
}
],
enterpriseName: [
{
required: true,
@ -478,8 +498,9 @@ export default {
socialCode: [
{
required: true,
message: '请输入',
message: '请输入正确的格式',
trigger: "blur",
pattern: /^[0-9ABCDEFGHJKLMNPQRTUWXY]{18}$/,
},
]
},

View File

@ -313,7 +313,7 @@ export default {
console.log(res, "资质文件表格");
if (res.result) {
this.tableList = res.result.records;
this.total = res.result.total;
this.pagInfo.total = res.result.total;
this.tableList.map((item) => {
if (!item.fileUrl.includes(this.$store.state.FILEURL)) {
item.fileUrl = this.$store.state.FILEURL + item.fileUrl;

View File

@ -1,7 +1,6 @@
<template>
<!-- 供应商管理首页 -->
<div class="fullHeight">
<vhead :titleName="projectName" :showR="true"></vhead>
<div class="supplier-module">
<div
class="supplier-module-item"
@ -19,7 +18,7 @@
<div class="module-item-right">
<img
:src="
require('../../assets/images/menu/' + item.moduleIcon + '.png')
require('../../assets/images/supplierImg/' + item.moduleIcon + '.png')
"
/>
</div>
@ -41,7 +40,7 @@ export default {
title: "我的资质",
describe:
"供应商在此处对基本信息、资质文件等内容进行完善,提交给项目组织审批",
icon: require("@/assets/images/carIcon1.png"),
icon: require("@/assets/images/supplierImg/icon1.png"),
},
{
title: "合同管理",
@ -170,13 +169,16 @@ export default {
display: flex;
flex-direction: column;
}
.fullHeight{
background-color: #fff;
}
.supplier-module {
width: max-content;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-gap: 50px;
margin-top: 90px;
padding: 87px 57px 87px 63px;
&-item {
box-sizing: border-box;
display: flex;

View File

@ -12,10 +12,10 @@
<!-- 南昌地铁头部样式 -->
<span v-if="company == 'nanchang'" style="cursor: pointer" @click="back">{{$t('message.companyDiagram.pageTitle')}}</span>
</div>
<div class="title_near flex">
<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>

View File

@ -115,6 +115,9 @@ export default {
userName: this.searchForm.userName,
operModul: this.searchForm.operModul,
};
if(this.$store.state.userInfo.accountType == 6){
requestData.operUserId = this.$store.state.userInfo.userId
}
fetch(this.$http.defaults.baseURL + "xmgl/operationLog/exportXls", {
method: "post",
headers: {
@ -164,6 +167,9 @@ export default {
userName: this.searchForm.userName,
operModul: this.searchForm.operModul,
};
if(this.$store.state.userInfo.accountType == 6){
requestData.operUserId = this.$store.state.userInfo.userId
}
if (this.searchForm.timeRange && this.searchForm.timeRange.length > 0) {
requestData.startTime = this.searchForm.timeRange[0];
requestData.endTime = this.searchForm.timeRange[1];

View File

@ -6,7 +6,7 @@
:showR="true"
v-if="!selectGroupDialog"
></vhead>
<div class="content-part" v-if="!selectGroupDialog">
<div class="content-part" v-if="!selectGroupDialog && workSpaceShow">
<iframe
id="myIframe"
:src="
@ -16,6 +16,10 @@
frameborder="1"
></iframe>
</div>
<div class="placeholderBox" v-else>
<img src="@/assets/images/noData.png" alt="" />
<p>暂无数据</p>
</div>
<!-- 选择组织 -->
<el-dialog
title="选择组织"
@ -60,6 +64,7 @@ export default {
components: { vhead },
data() {
return {
workSpaceShow: true,
projectSn: "",
projectName: "",
selectGroupDialog: true,
@ -85,10 +90,15 @@ export default {
getNewUserAllModulePageApi({
projectSn: this.$store.state.projectSn,
moduleType: 7,
userId: this.$store.state.userInfo.userId
}).then((res) => {
//
const responseMenuList = [];
let all = res.result.moduleList;
if(all.length == 0) {
this.workSpaceShow = false;
return;
}
console.log("all", res.result);
all.forEach((element, index) => {
all[index].operation = false;
@ -103,7 +113,6 @@ export default {
}
});
});
console.log(responseMenuList, "我的测试数据啊啊啊啊");
//
const defaultMenuList = [
{