fix: BUG修改
BIN
src/assets/images/supplierImg/icon1.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
src/assets/images/supplierImg/icon2.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
src/assets/images/supplierImg/icon3.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
src/assets/images/supplierImg/icon4.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
src/assets/images/supplierImg/icon5.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
src/assets/images/supplierImg/icon6.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
src/assets/images/supplierImg/icon7.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
@ -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"),
|
||||
},
|
||||
],
|
||||
},
|
||||
// 工作台
|
||||
{
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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() {
|
||||
|
||||
272
src/views/supplierAdmin/layout.vue
Normal 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>
|
||||
@ -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}$/,
|
||||
},
|
||||
]
|
||||
},
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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];
|
||||
|
||||
@ -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 = [
|
||||
{
|
||||
|
||||