Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
W
web-purchase
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张冬
web-purchase
Commits
1ac35c5b
Commit
1ac35c5b
authored
Oct 26, 2020
by
张冬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
密码编辑及修改bug
parent
d15a4f98
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
495 additions
and
383 deletions
+495
-383
organization.js
src/api/purchaser/organization.js
+9
-0
citySelect.vue
src/components/citySelect/citySelect.vue
+89
-82
companyDetail.vue
src/components/detail/companyDetail.vue
+1
-1
confirm.vue
src/pages/purchaser/bid/bidStage/clearManagement/confirm.vue
+1
-1
editProject.vue
src/pages/purchaser/bid/editProject/editProject.vue
+14
-13
timeSet.vue
src/pages/purchaser/bid/editProject/timeSet.vue
+1
-5
inquiryAnnouncement.vue
src/pages/purchaser/bid/reviewed/inquiryAnnouncement.vue
+1
-1
tenderAnnouncement.vue
src/pages/purchaser/bid/reviewed/tenderAnnouncement.vue
+1
-1
message.vue
src/pages/purchaser/bid/seeProject/message.vue
+1
-0
workbench.vue
src/pages/purchaser/bid/workbench.vue
+4
-1
jurisdictionSee.vue
src/pages/purchaser/organization/jurisdictionSee.vue
+8
-3
memberManagement.vue
src/pages/purchaser/organization/memberManagement.vue
+314
-270
confirm.vue
...pply/bid/joinProject/bidStage/clearManagement/confirm.vue
+1
-1
jurisdictionSee.vue
src/pages/supply/organization/jurisdictionSee.vue
+7
-2
memberManagement.vue
src/pages/supply/organization/memberManagement.vue
+43
-2
No files found.
src/api/purchaser/organization.js
View file @
1ac35c5b
...
@@ -35,6 +35,15 @@ export function roleadd(data) {
...
@@ -35,6 +35,15 @@ export function roleadd(data) {
data
:
data
data
:
data
})
})
}
}
// 编辑密码
export
function
resetPassword
(
data
)
{
return
request
({
url
:
"reset-password"
,
method
:
'post'
,
data
:
data
})
}
// 角色列表
// 角色列表
export
function
roleList
(
companyType
)
{
export
function
roleList
(
companyType
)
{
return
request
({
return
request
({
...
...
src/components/citySelect/citySelect.vue
View file @
1ac35c5b
<
template
>
<
template
>
<div>
<div>
<el-select
v-model=
"provinceId"
style=
"width: 167px; margin-right: 25px"
@
change=
"getProvince"
>
<el-select
v-model=
"provinceId"
style=
"width:167px;margin-right: 25px;"
@
change=
"getProvince"
>
<el-option
v-for=
"item in provinceArr"
:value=
"item.id"
:key=
"item.id"
:label=
"item.name"
>
</el-option>
<el-option
v-for=
"item in provinceArr"
:value=
"item.id"
:key=
"item.id"
:label=
"item.name"
>
</el-select>
</el-option>
<el-select
v-model=
"cityId"
style=
"width: 167px; margin-right: 25px"
@
change=
"getCity"
>
</el-select>
<el-option
v-for=
"item in cityArr"
:value=
"item.id"
:key=
"item.id"
:label=
"item.name"
>
</el-option>
<el-select
v-model=
"cityId"
style=
"width:167px;margin-right: 25px;"
@
change=
"getCity"
>
</el-select>
<el-option
v-for=
"item in cityArr"
:value=
"item.id"
:key=
"item.id"
:label=
"item.name"
>
<el-select
v-model=
"districtId"
style=
"width: 167px; margin-right: 25px"
@
change=
"getDistrict"
>
</el-option>
<el-option
v-for=
"item in districtArr"
:value=
"item.id"
:key=
"item.id"
:label=
"item.name"
>
</el-option>
</el-select>
</el-select>
<el-select
v-model=
"districtId"
style=
"width:167px;margin-right: 25px;"
@
change=
"getDistrict"
>
</div>
<el-option
v-for=
"item in districtArr"
:value=
"item.id"
:key=
"item.id"
:label=
"item.name"
>
</el-option>
</el-select>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
cityList
}
from
'@/api/common/list'
;
import
{
cityList
}
from
'@/api/common/list'
// import arrAll from './area.js'
// import arrAll from './area.js'
export
default
{
export
default
{
props
:
{
provinceId
:
[
"Number"
,
"String"
],
data
()
{
cityId
:
[
"Number"
,
"String"
],
return
{
districtId
:
[
"Number"
,
"String"
]
provinceId
:
''
,
cityId
:
''
,
districtId
:
''
,
provinceArr
:
[],
cityArr
:
[],
districtArr
:
[]
}
},
created
()
{
this
.
getProvinceArr
()
},
methods
:
{
// 获取省列表
async
getProvinceArr
()
{
const
{
code
,
data
}
=
await
cityList
(
0
)
if
(
code
===
200
)
{
this
.
provinceArr
=
data
}
},
},
data
()
{
// 获取市列表
return
{
async
getcityArr
(
id
)
{
provinceArr
:
[],
const
{
cityArr
:
[],
code
,
districtArr
:
[]
data
};
}
=
await
cityList
(
id
)
if
(
code
===
200
)
{
this
.
cityArr
=
data
}
},
},
created
()
{
// 获取区列表
this
.
getProvinceArr
();
async
getdistrictArr
(
id
)
{
if
(
this
.
provinceId
){
const
{
console
.
log
(
"获取省份列表"
)
code
,
this
.
getcityArr
(
this
.
provinceId
);
data
}
}
=
await
cityList
(
id
)
if
(
this
.
cityId
){
if
(
code
===
200
)
{
console
.
log
(
"获取城市列表"
)
this
.
districtArr
=
data
this
.
getdistrictArr
(
this
.
cityId
);
}
}
},
},
methods
:
{
// 获取省列表
async
getProvinceArr
()
{
const
{
code
,
data
}
=
await
cityList
(
0
);
if
(
code
===
200
)
{
this
.
provinceArr
=
data
;
}
},
// 获取市列表
async
getcityArr
(
id
)
{
const
{
code
,
data
}
=
await
cityList
(
id
);
if
(
code
===
200
)
{
this
.
cityArr
=
data
;
}
},
// 获取区列表
async
getdistrictArr
(
id
)
{
const
{
code
,
data
}
=
await
cityList
(
id
);
if
(
code
===
200
)
{
this
.
districtArr
=
data
;
}
},
getProvince
()
{
this
.
getcityArr
(
this
.
provinceId
);
getProvince
()
{
this
.
cityId
=
''
;
this
.
getcityArr
(
this
.
provinceId
)
this
.
districtId
=
''
;
this
.
cityId
=
''
this
.
$emit
(
'sendprovinceId'
,
this
.
provinceId
);
this
.
districtId
=
''
},
this
.
$emit
(
'sendprovinceId'
,
this
.
provinceId
)
getCity
()
{
this
.
getdistrictArr
(
this
.
cityId
);
},
this
.
districtId
=
''
;
getCity
()
{
this
.
$emit
(
'sendcityId'
,
this
.
cityId
);
this
.
getdistrictArr
(
this
.
cityId
)
},
this
.
districtId
=
''
getDistrict
()
{
this
.
$emit
(
'sendcityId'
,
this
.
cityId
)
this
.
$emit
(
'senddistrictId'
,
this
.
districtId
);
},
}
getDistrict
()
{
this
.
$emit
(
'senddistrictId'
,
this
.
districtId
)
}
}
}
// getCounty() {
// getCounty() {
// for (var i = 0; i
<
this
.
cityArr
.
length
;
i
++
)
{
// for (var i = 0; i
<
this
.
cityArr
.
length
;
i
++
)
{
// var obj = this.cityArr[i]
// var obj = this.cityArr[i]
// if (this.city == obj.name) {
// if (this.city == obj.name) {
// this.countyArr = obj.sub
// this.countyArr = obj.sub
// this.county = ''
// this.county = ''
// this.$emit('getCounty', this.city)
// this.$emit('getCounty', this.city)
// }
// }
// }
// }
// },
// },
// getDistrict() {
// getDistrict() {
// this.$emit('getCity', this.county)
// this.$emit('getCity', this.county)
// }
// }
}
;
}
</
script
>
</
script
>
<
style
>
<
style
>
...
...
src/components/detail/companyDetail.vue
View file @
1ac35c5b
...
@@ -50,7 +50,7 @@
...
@@ -50,7 +50,7 @@
</li>
</li>
<li>
<li>
<div>
结算账户名
</div>
<div>
结算账户名
</div>
<div>
{{
detail
.
bank
Name
}}
</div>
<div>
{{
detail
.
bank
AccountName
}}
</div>
</li>
</li>
<li>
<li>
<div>
注册资本(万元)
</div>
<div>
注册资本(万元)
</div>
...
...
src/pages/purchaser/bid/bidStage/clearManagement/confirm.vue
View file @
1ac35c5b
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<div>
<div>
<div
class=
"content-head"
>
<div
class=
"content-head"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<h3>
查看
澄清确认函
</h3>
<h3>
澄清确认函
</h3>
<h5>
投标方向招标方发送澄清确认函
</h5>
<h5>
投标方向招标方发送澄清确认函
</h5>
</div>
</div>
<div
class=
"content flex-center"
>
<div
class=
"content flex-center"
>
...
...
src/pages/purchaser/bid/editProject/editProject.vue
View file @
1ac35c5b
...
@@ -66,19 +66,20 @@ export default {
...
@@ -66,19 +66,20 @@ export default {
await
this
.
$refs
.
timeSet
.
next
();
await
this
.
$refs
.
timeSet
.
next
();
await
this
.
$refs
.
fileUpload
.
next
();
await
this
.
$refs
.
fileUpload
.
next
();
console
.
log
(
'通过'
);
console
.
log
(
'通过'
);
const
{
msg
,
code
}
=
await
editProject
(
this
.
detail
);
console
.
log
(
this
.
detail
)
if
(
code
==
200
)
{
// const { msg, code } = await editProject(this.detail);
this
.
$message
({
// if (code == 200) {
message
:
msg
,
// this.$message({
type
:
'success'
,
// message: msg,
duration
:
1500
// type: 'success',
});
// duration: 1500
setTimeout
(()
=>
{
// });
this
.
$router
.
go
(
-
1
)
// setTimeout(() => {
},
1500
);
// this.$router.go(-1)
}
else
{
// }, 1500);
this
.
$message
.
error
(
msg
);
// } else {
}
// this.$message.error(msg);
// }
},
},
// 获取详情
// 获取详情
async
getenquiryProjectId
()
{
async
getenquiryProjectId
()
{
...
...
src/pages/purchaser/bid/editProject/timeSet.vue
View file @
1ac35c5b
...
@@ -111,7 +111,6 @@ export default {
...
@@ -111,7 +111,6 @@ export default {
rules
:
{
rules
:
{
releaseTime
:
[
releaseTime
:
[
{
{
type
:
'date'
,
required
:
true
,
required
:
true
,
message
:
'请选择时间'
,
message
:
'请选择时间'
,
trigger
:
'change'
trigger
:
'change'
...
@@ -122,7 +121,6 @@ export default {
...
@@ -122,7 +121,6 @@ export default {
],
],
startTime
:
[
startTime
:
[
{
{
type
:
'date'
,
required
:
true
,
required
:
true
,
message
:
'请选择时间'
,
message
:
'请选择时间'
,
trigger
:
'change'
trigger
:
'change'
...
@@ -133,7 +131,6 @@ export default {
...
@@ -133,7 +131,6 @@ export default {
],
],
endTime
:
[
endTime
:
[
{
{
type
:
'date'
,
required
:
true
,
required
:
true
,
message
:
'请选择时间'
,
message
:
'请选择时间'
,
trigger
:
'change'
trigger
:
'change'
...
@@ -144,7 +141,7 @@ export default {
...
@@ -144,7 +141,7 @@ export default {
],
],
answerQuestionEndTime
:
[
answerQuestionEndTime
:
[
{
{
type
:
'date'
,
required
:
true
,
required
:
true
,
message
:
'请选择时间'
,
message
:
'请选择时间'
,
trigger
:
'change'
trigger
:
'change'
...
@@ -155,7 +152,6 @@ export default {
...
@@ -155,7 +152,6 @@ export default {
],
],
openBidStartTime
:
[
openBidStartTime
:
[
{
{
type
:
'date'
,
required
:
true
,
required
:
true
,
message
:
'请选择时间'
,
message
:
'请选择时间'
,
trigger
:
'change'
trigger
:
'change'
...
...
src/pages/purchaser/bid/reviewed/inquiryAnnouncement.vue
View file @
1ac35c5b
...
@@ -158,7 +158,7 @@
...
@@ -158,7 +158,7 @@
</div>
</div>
<div
class=
"bottomButton"
>
<div
class=
"bottomButton"
>
<el-button
@
click=
"cancel"
>
取消
</el-button>
<el-button
@
click=
"cancel"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"submit1"
v-if=
"type == 1"
>
编辑
</el-button>
<el-button
type=
"primary"
@
click=
"submit1"
v-if=
"type == 1"
>
提交审核
</el-button>
<el-button
type=
"primary"
@
click=
"submit"
v-else
>
提交审核
</el-button>
<el-button
type=
"primary"
@
click=
"submit"
v-else
>
提交审核
</el-button>
</div>
</div>
</div>
</div>
...
...
src/pages/purchaser/bid/reviewed/tenderAnnouncement.vue
View file @
1ac35c5b
...
@@ -30,7 +30,7 @@
...
@@ -30,7 +30,7 @@
</div>
</div>
<div
class=
"bottomButton"
>
<div
class=
"bottomButton"
>
<el-button
@
click=
"back"
>
取消
</el-button>
<el-button
@
click=
"back"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"submit1"
v-if=
"type == 1"
>
提交
编辑
</el-button>
<el-button
type=
"primary"
@
click=
"submit1"
v-if=
"type == 1"
>
提交
审核
</el-button>
<el-button
type=
"primary"
@
click=
"submit"
v-else
>
提交审核
</el-button>
<el-button
type=
"primary"
@
click=
"submit"
v-else
>
提交审核
</el-button>
</div>
</div>
</div>
</div>
...
...
src/pages/purchaser/bid/seeProject/message.vue
View file @
1ac35c5b
...
@@ -37,6 +37,7 @@
...
@@ -37,6 +37,7 @@
:provinceId=
"ruleForm.provinceId"
:provinceId=
"ruleForm.provinceId"
:cityId=
"ruleForm.cityId"
:cityId=
"ruleForm.cityId"
:districtId=
"ruleForm.districtId"
:districtId=
"ruleForm.districtId"
:type=
'true'
></citySelect>
></citySelect>
</el-form-item>
</el-form-item>
<el-form-item
label=
"最小投标单位数:"
prop=
"minTender"
disabled
>
<el-form-item
label=
"最小投标单位数:"
prop=
"minTender"
disabled
>
...
...
src/pages/purchaser/bid/workbench.vue
View file @
1ac35c5b
...
@@ -300,7 +300,10 @@ export default {
...
@@ -300,7 +300,10 @@ export default {
}
else
if
(
item2
.
buttonId
==
3
&&
item2
.
status
==
1
)
{
}
else
if
(
item2
.
buttonId
==
3
&&
item2
.
status
==
1
)
{
item1
.
url
=
'/purchaser/bid/editProject'
;
item1
.
url
=
'/purchaser/bid/editProject'
;
item1
.
label
=
'编辑项目信息'
;
item1
.
label
=
'编辑项目信息'
;
}
else
{
}
else
if
(
item2
.
buttonId
==
12
&&
item2
.
status
==
2
)
{
item1
.
url
=
'/purchaser/bid/bidSure/see'
;
item1
.
label
=
'查看评标'
;
}
else
{
item1
.
url
=
this
.
geturl
(
item1
.
url
,
item2
.
status
);
item1
.
url
=
this
.
geturl
(
item1
.
url
,
item2
.
status
);
item1
.
label
=
this
.
getlabel
(
item1
.
label
,
item2
.
status
);
item1
.
label
=
this
.
getlabel
(
item1
.
label
,
item2
.
status
);
}
}
...
...
src/pages/purchaser/organization/jurisdictionSee.vue
View file @
1ac35c5b
...
@@ -9,7 +9,10 @@
...
@@ -9,7 +9,10 @@
<div
class=
"message"
>
<div
class=
"message"
>
<el-form
:model=
"form"
:rules=
"rules"
ref=
"form"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form
:model=
"form"
:rules=
"rules"
ref=
"form"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"角色名称"
prop=
"roleName"
>
<el-form-item
label=
"角色名称"
prop=
"roleName"
>
<el-input
v-model
.
trim=
"form.roleName"
:disabled=
"state"
></el-input>
<el-input
v-model
.
trim=
"form.roleName"
:disabled=
"state"
maxlength=
"30"
></el-input>
</el-form-item>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
v-model=
"form.remark"
type=
"textarea"
:rows=
"2"
:disabled=
"state"
maxlength=
"300"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"权限"
prop=
"menuPOList"
>
<el-form-item
label=
"权限"
prop=
"menuPOList"
>
<el-tree
<el-tree
...
@@ -63,7 +66,8 @@ export default {
...
@@ -63,7 +66,8 @@ export default {
},
},
form
:
{
form
:
{
roleName
:
''
,
roleName
:
''
,
menuPOList
:
[]
menuPOList
:
[],
remark
:
""
},
},
rules
:
{
rules
:
{
roleName
:
[
roleName
:
[
...
@@ -108,7 +112,8 @@ export default {
...
@@ -108,7 +112,8 @@ export default {
}
}
this
.
data
=
data
;
this
.
data
=
data
;
var
{
data
,
code
}
=
await
roledetail
(
id
);
var
{
data
,
code
}
=
await
roledetail
(
id
);
this
.
form
.
roleName
=
data
.
roleName
this
.
form
.
roleName
=
data
.
roleName
this
.
form
.
remark
=
data
.
remark
this
.
list
=
data
.
menuIdList
;
this
.
list
=
data
.
menuIdList
;
this
.
state
=
true
this
.
state
=
true
},
},
...
...
src/pages/purchaser/organization/memberManagement.vue
View file @
1ac35c5b
<
template
>
<
template
>
<div>
<div>
<div
class=
"content"
>
<div
class=
"content"
>
<dataTable
:columns=
"columns"
:page-obj=
"pageObj"
:breads=
"breads"
:checklist=
"checklist"
ref=
"table"
url=
"sys/user/member/list"
>
<dataTable
<el-button
slot=
"moreButton"
type=
"primary"
@
click=
"add('form')"
>
添加新用户
</el-button>
:columns=
"columns"
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"100"
>
:page-obj=
"pageObj"
<template
slot-scope=
"scope"
>
:breads=
"breads"
<el-button
type=
"text"
size=
"small"
@
click=
"edit(scope.row)"
>
编辑
</el-button>
:checklist=
"checklist"
<el-button
type=
"text"
size=
"small"
@
click=
"handdelete(scope.row)"
v-if=
"myId!==scope.row.uid"
>
删除
</el-button>
ref=
"table"
</
template
>
url=
"sys/user/member/list"
</el-table-column>
>
</dataTable>
<el-button
slot=
"moreButton"
type=
"primary"
@
click=
"add('form')"
>
添加新用户
</el-button>
<el-dialog
:visible
.
sync=
"dialogFormVisible"
title=
"添加"
>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"200"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
>
<template
slot-scope=
"scope"
>
<el-form-item
label=
"姓名"
label-width=
"100px"
prop=
"name"
>
<el-button
type=
"text"
size=
"small"
@
click=
"edit(scope.row)"
>
编辑
</el-button>
<el-input
v-model
.
trim=
"form.name"
autocomplete=
"off"
placeholder=
"请输入"
maxlength=
"30"
></el-input>
<el-button
type=
"text"
size=
"small"
@
click=
"editPassword(scope.row)"
>
修改密码
</el-button>
</el-form-item>
<el-button
type=
"text"
size=
"small"
@
click=
"handdelete(scope.row)"
v-if=
"myId!== scope.row.uid"
>
删除
</el-button>
<el-form-item
label=
"手机"
label-width=
"100px"
prop=
"phone"
>
</
template
>
<el-input
v-model
.
trim=
"form.phone"
autocomplete=
"off"
placeholder=
"请输入"
maxlength=
"30"
></el-input>
</el-table-column>
</el-form-item>
</dataTable>
<el-form-item
label=
"邮箱"
label-width=
"100px"
prop=
"email"
>
<el-dialog
:visible
.
sync=
"dialogFormVisible"
title=
"添加"
>
<el-input
v-model
.
trim=
"form.email"
autocomplete=
"off"
placeholder=
"请输入"
maxlength=
"30"
></el-input>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
>
</el-form-item>
<el-form-item
label=
"姓名"
label-width=
"100px"
prop=
"name"
>
<el-form-item
label=
"密码"
label-width=
"100px"
prop=
"password"
>
<el-input
v-model
.
trim=
"form.name"
autocomplete=
"off"
placeholder=
"请输入"
maxlength=
"30"
></el-input>
<el-input
v-model
.
trim=
"form.password"
autocomplete=
"off"
show-password
placeholder=
"请输入"
maxlength=
"30"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"手机"
label-width=
"100px"
prop=
"phone"
>
<el-form-item
label=
"角色"
label-width=
"100px"
prop=
"roleId"
>
<el-input
v-model
.
trim=
"form.phone"
autocomplete=
"off"
placeholder=
"请输入"
maxlength=
"30"
></el-input>
<el-select
v-model=
"form.roleId"
placeholder=
"请选择"
>
</el-form-item>
<el-option
v-for=
"item in roles"
:key=
"item.roleId"
:label=
"item.roleName"
:value=
"item.roleId"
>
<el-form-item
label=
"邮箱"
label-width=
"100px"
prop=
"email"
>
</el-option>
<el-input
v-model
.
trim=
"form.email"
autocomplete=
"off"
placeholder=
"请输入"
maxlength=
"30"
></el-input>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"密码"
label-width=
"100px"
prop=
"password"
>
</el-form>
<el-input
<div
slot=
"footer"
class=
"dialog-footer"
>
v-model
.
trim=
"form.password"
<el-button
@
click=
"dialogFormVisible = false"
>
取 消
</el-button>
autocomplete=
"off"
<el-button
type=
"primary"
@
click=
"submitData"
>
确 定
</el-button>
show-password
</div>
placeholder=
"请输入"
</el-dialog>
maxlength=
"30"
<el-dialog
:visible
.
sync=
"dialogFormVisible1"
title=
"编辑"
>
></el-input>
<el-form
ref=
"form"
:model=
"form1"
:rules=
"rules"
>
</el-form-item>
<el-form-item
label=
"姓名"
label-width=
"100px"
prop=
"name"
>
<el-form-item
label=
"角色"
label-width=
"100px"
prop=
"roleId"
>
<el-input
v-model
.
trim=
"form1.name"
autocomplete=
"off"
placeholder=
"请输入"
maxlength=
"30"
></el-input>
<el-select
v-model=
"form.roleId"
placeholder=
"请选择"
>
</el-form-item>
<el-option
v-for=
"item in roles"
:key=
"item.roleId"
:label=
"item.roleName"
:value=
"item.roleId"
>
</el-option>
<!-- <el-form-item label="手机" label-width="100px" prop="phone">
</el-select>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dialogFormVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"submitData"
>
确 定
</el-button>
</div>
</el-dialog>
<el-dialog
:visible
.
sync=
"dialogFormVisible1"
title=
"编辑"
>
<el-form
ref=
"form"
:model=
"form1"
:rules=
"rules"
>
<el-form-item
label=
"姓名"
label-width=
"100px"
prop=
"name"
>
<el-input
v-model
.
trim=
"form1.name"
autocomplete=
"off"
placeholder=
"请输入"
maxlength=
"30"
></el-input>
</el-form-item>
<!-- <el-form-item label="手机" label-width="100px" prop="phone">
<el-input v-model.trim="form1.phone" autocomplete="off" placeholder="请输入" maxlength="30"></el-input>
<el-input v-model.trim="form1.phone" autocomplete="off" placeholder="请输入" maxlength="30"></el-input>
</el-form-item> -->
</el-form-item> -->
<el-form-item
label=
"邮箱"
label-width=
"100px"
prop=
"email"
>
<el-form-item
label=
"邮箱"
label-width=
"100px"
prop=
"email"
>
<el-input
v-model
.
trim=
"form1.email"
autocomplete=
"off"
placeholder=
"请输入"
maxlength=
"30"
></el-input>
<el-input
v-model
.
trim=
"form1.email"
autocomplete=
"off"
placeholder=
"请输入"
maxlength=
"30"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"角色"
label-width=
"100px"
prop=
"roleId"
>
<el-form-item
label=
"角色"
label-width=
"100px"
prop=
"roleId"
>
<el-select
v-model=
"form1.roleId"
placeholder=
"请选择"
>
<el-select
v-model=
"form1.roleId"
placeholder=
"请选择"
>
<el-option
v-for=
"item in roles"
:key=
"item.roleId"
:label=
"item.roleName"
:value=
"item.roleId"
>
<el-option
v-for=
"item in roles"
:key=
"item.roleId"
:label=
"item.roleName"
:value=
"item.roleId"
>
</el-option>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dialogFormVisible1 = false"
>
取 消
</el-button>
<el-button
@
click=
"dialogFormVisible1 = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"submitData1"
>
确 定
</el-button>
<el-button
type=
"primary"
@
click=
"submitData1"
>
确 定
</el-button>
</div>
</div>
</el-dialog>
</el-dialog>
<el-dialog
:visible
.
sync=
"isPassword"
title=
"修改密码"
>
</div>
<el-form
ref=
"passwordForm"
:model=
"passwordForm"
:rules=
"rules"
>
</div>
<el-form-item
label=
"密码"
label-width=
"100px"
prop=
"password"
>
<el-input
placeholder=
"请输入密码"
v-model
.
trim=
"passwordForm.password"
show-password
maxlength=
"30"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"isPassword = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"sure"
>
确 定
</el-button>
</div>
</el-dialog>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
import
{
roleList
,
checkAccount
,
useradd
,
userdelete
,
useredit
,
resetPassword
}
from
'@api/purchaser/organization'
;
roleList
,
import
dataTable
from
'@components/dataTable.vue'
;
checkAccount
,
export
default
{
useradd
,
components
:
{
userdelete
,
dataTable
useredit
},
}
from
'@api/purchaser/organization'
data
()
{
import
dataTable
from
'@components/dataTable.vue'
let
checkPhone
=
async
(
rule
,
value
,
callback
)
=>
{
export
default
{
if
(
!
value
)
{
components
:
{
return
callback
(
new
Error
(
'手机号不能为空'
));
dataTable
}
else
{
},
const
reg
=
/^1
[
3|4|5|7|8
][
0-9
]\d{8}
$/
;
data
()
{
if
(
reg
.
test
(
value
))
{
let
checkPhone
=
async
(
rule
,
value
,
callback
)
=>
{
callback
();
if
(
!
value
)
{
}
else
{
return
callback
(
new
Error
(
'手机号不能为空'
));
return
callback
(
new
Error
(
'请输入正确的手机号'
));
}
else
{
}
const
reg
=
/^1
[
3|4|5|7|8
][
0-9
]\d{8}
$/
}
if
(
reg
.
test
(
value
))
{
};
callback
();
return
{
}
else
{
passwordForm
:
{
return
callback
(
new
Error
(
'请输入正确的手机号'
));
phone
:
''
,
}
password
:
''
}
},
};
isPassword
:
false
,
return
{
myId
:
''
,
myId
:
""
,
checklist
:
[
checklist
:
[{
{
title
:
'姓名'
,
title
:
'姓名'
,
type
:
'input'
,
type
:
'input'
,
model
:
'name'
model
:
'name'
},
{
},
title
:
'手机'
,
{
type
:
'input'
,
title
:
'手机'
,
model
:
'phone'
type
:
'input'
,
}],
model
:
'phone'
breads
:
[
'组织管理'
,
'成员管理'
],
}
tableData
:
[],
],
columns
:
[{
breads
:
[
'组织管理'
,
'成员管理'
],
label
:
'姓名'
,
tableData
:
[],
prop
:
'name'
columns
:
[
},
{
{
label
:
'姓名'
,
label
:
'手机'
,
prop
:
'name'
prop
:
'phone'
},
},
{
{
label
:
'手机'
,
label
:
'角色'
,
prop
:
'phone'
prop
:
'roleName'
},
},
{
{
label
:
'角色'
,
label
:
'创建时间'
,
prop
:
'roleName'
prop
:
'createTime'
,
},
sortable
:
true
{
},
label
:
'创建时间'
,
{
prop
:
'createTime'
,
slot
:
'operate'
sortable
:
true
}
},
],
// 操作列
{
slot
:
'operate'
}
],
// 操作列
pageObj
:
{
pageObj
:
{
size
:
10
,
size
:
10
,
currentPage
:
1
,
currentPage
:
1
,
func
:
(
currentPage
)
=>
{
func
:
(
currentPage
)
=>
{
this
.
pageTurning
(
currentPage
)
this
.
pageTurning
(
currentPage
);
}
}
},
},
dialogFormVisible1
:
false
,
dialogFormVisible1
:
false
,
dialogFormVisible
:
false
,
dialogFormVisible
:
false
,
form1
:{},
form1
:
{},
form
:
{
form
:
{
name
:
''
,
name
:
''
,
phone
:
''
,
phone
:
''
,
email
:
''
,
email
:
''
,
password
:
''
,
password
:
''
,
roleId
:
''
roleId
:
''
},
},
roles
:
[],
roles
:
[],
rules
:
{
rules
:
{
name
:
[{
name
:
[
required
:
true
,
{
message
:
'请输入'
,
required
:
true
,
trigger
:
'blur'
message
:
'请输入'
,
}],
trigger
:
'blur'
phone
:
[{
}
required
:
true
,
],
validator
:
checkPhone
,
phone
:
[
trigger
:
'blur'
{
}],
required
:
true
,
email
:
[{
validator
:
checkPhone
,
required
:
true
,
trigger
:
'blur'
message
:
'请输入电子邮箱'
,
}
trigger
:
'blur'
],
},
email
:
[
{
{
pattern
:
/^
([
A-Za-z0-9_
\-\.])
+
\@([
A-Za-z0-9_
\-\.])
+
\.([
A-Za-z
]{2,4})
$/
,
required
:
true
,
message
:
'请输入正确的邮箱地址'
message
:
'请输入电子邮箱'
,
}
trigger
:
'blur'
],
},
password
:
[{
{
required
:
true
,
pattern
:
/^
([
A-Za-z0-9_
\-\.])
+
\@([
A-Za-z0-9_
\-\.])
+
\.([
A-Za-z
]{2,4})
$/
,
message
:
'请输入密码'
,
message
:
'请输入正确的邮箱地址'
trigger
:
'blur'
}
},
],
{
password
:
[
pattern
:
/^
(?![
0-9
]
+$
)(?![
a-zA-Z
]
+$
)[
0-9A-Za-z
]{8,16}
$/
,
{
message
:
'密码需由8-16位数字字母组合'
required
:
true
,
}
message
:
'请输入密码'
,
],
trigger
:
'blur'
roleId
:
[{
},
required
:
true
,
{
message
:
'请选择'
,
pattern
:
/^
(?![
0-9
]
+$
)(?![
a-zA-Z
]
+$
)[
0-9A-Za-z
]{8,16}
$/
,
trigger
:
'change'
message
:
'密码需由8-16位数字字母组合'
}],
}
uid
:
""
],
}
roleId
:
[
}
{
},
required
:
true
,
methods
:
{
message
:
'请选择'
,
// 删除
trigger
:
'change'
async
handdelete
(
row
)
{
}
try
{
],
await
this
.
$confirm
(
"确定要删除么?"
,
'提示'
,
{
uid
:
''
type
:
'warning'
}
})
};
const
{
},
msg
,
methods
:
{
code
// 密码编辑
}
=
await
userdelete
(
row
.
uid
)
editPassword
(
row
)
{
if
(
code
==
200
)
{
this
.
isPassword
=
true
;
this
.
$message
.
success
(
msg
)
this
.
passwordForm
.
phone
=
row
.
phone
;
this
.
$refs
.
table
.
getauditList
()
},
}
else
{
// 密码确定接口
this
.
$message
.
error
(
msg
)
async
sure
()
{
}
try
{
}
catch
(
e
)
{
const
valid
=
await
this
.
$refs
[
'passwordForm'
].
validate
();
console
.
log
(
e
)
if
(
valid
)
{
}
let
form
=
this
.
passwordForm
;
},
const
{
code
,
msg
}
=
await
resetPassword
(
form
);
// 编辑
if
(
code
===
200
)
{
edit
(
row
)
{
this
.
$message
.
success
(
msg
);
this
.
form1
=
Object
.
assign
({},
row
)
this
.
isPassword
=
false
;
this
.
dialogFormVisible1
=
true
}
else
{
this
.
uid
=
row
.
uid
this
.
$message
.
error
(
msg
);
},
}
// 获取角色列表
}
async
getroleList
()
{
}
catch
(
e
)
{
let
type
=
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
type
console
.
log
(
e
);
const
{
}
data
,
},
code
// 删除
}
=
await
roleList
(
type
)
async
handdelete
(
row
)
{
this
.
roles
=
data
try
{
},
await
this
.
$confirm
(
'确定要删除么?'
,
'提示'
,
{
// 添加新用户
type
:
'warning'
add
(
form
)
{
});
this
.
form
=
Object
.
assign
({})
const
{
msg
,
code
}
=
await
userdelete
(
row
.
uid
);
this
.
dialogFormVisible
=
true
if
(
code
==
200
)
{
},
this
.
$message
.
success
(
msg
);
// 提交添加
this
.
$refs
.
table
.
getauditList
();
async
submitData
()
{
}
else
{
try
{
this
.
$message
.
error
(
msg
);
const
valid
=
await
this
.
$refs
[
'form'
].
validate
()
}
if
(
valid
)
{
}
catch
(
e
)
{
let
form
=
this
.
form
console
.
log
(
e
);
const
{
}
code
,
},
msg
// 编辑
}
=
await
useradd
(
form
)
edit
(
row
)
{
if
(
code
===
200
)
{
this
.
form1
=
Object
.
assign
({},
row
);
this
.
$message
.
success
(
msg
)
this
.
dialogFormVisible1
=
true
;
this
.
dialogFormVisible
=
false
this
.
uid
=
row
.
uid
;
this
.
$refs
.
table
.
getauditList
()
},
}
else
{
// 获取角色列表
this
.
$message
.
error
(
msg
)
async
getroleList
()
{
}
let
type
=
JSON
.
parse
(
localStorage
.
getItem
(
'userInfo'
)).
type
;
}
const
{
data
,
code
}
=
await
roleList
(
type
);
}
catch
(
e
)
{
this
.
roles
=
data
;
console
.
log
(
e
)
},
}
// 添加新用户
},
add
(
form
)
{
// 提交编辑
this
.
form
=
Object
.
assign
({});
async
submitData1
()
{
this
.
dialogFormVisible
=
true
;
try
{
},
const
valid
=
await
this
.
$refs
[
'form'
].
validate
()
// 提交添加
if
(
valid
)
{
async
submitData
()
{
let
form
=
this
.
form1
try
{
form
.
uid
=
this
.
uid
const
valid
=
await
this
.
$refs
[
'form'
].
validate
();
const
{
if
(
valid
)
{
code
,
let
form
=
this
.
form
;
msg
const
{
code
,
msg
}
=
await
useradd
(
form
);
}
=
await
useredit
(
form
)
if
(
code
===
200
)
{
if
(
code
===
200
)
{
this
.
$message
.
success
(
msg
);
this
.
$message
.
success
(
msg
)
this
.
dialogFormVisible
=
false
;
this
.
dialogFormVisible1
=
false
this
.
$refs
.
table
.
getauditList
();
this
.
$refs
.
table
.
getauditList
()
}
else
{
}
else
{
this
.
$message
.
error
(
msg
);
this
.
$message
.
error
(
msg
)
}
}
}
}
}
catch
(
e
)
{
}
catch
(
e
)
{
console
.
log
(
e
);
console
.
log
(
e
)
}
}
},
},
// 提交编辑
},
async
submitData1
()
{
created
()
{
try
{
this
.
myId
=
JSON
.
parse
(
localStorage
.
getItem
(
"userInfo"
)).
userId
const
valid
=
await
this
.
$refs
[
'form'
].
validate
();
this
.
getroleList
()
if
(
valid
)
{
}
let
form
=
this
.
form1
;
}
form
.
uid
=
this
.
uid
;
const
{
code
,
msg
}
=
await
useredit
(
form
);
if
(
code
===
200
)
{
this
.
$message
.
success
(
msg
);
this
.
dialogFormVisible1
=
false
;
this
.
$refs
.
table
.
getauditList
();
}
else
{
this
.
$message
.
error
(
msg
);
}
}
}
catch
(
e
)
{
console
.
log
(
e
);
}
}
},
created
()
{
this
.
myId
=
JSON
.
parse
(
localStorage
.
getItem
(
'userInfo'
)).
userId
;
this
.
getroleList
();
}
};
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
</
style
>
</
style
>
src/pages/supply/bid/joinProject/bidStage/clearManagement/confirm.vue
View file @
1ac35c5b
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<div>
<div>
<div
class=
"content-head"
>
<div
class=
"content-head"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<h3>
查看
澄清确认函
</h3>
<h3>
澄清确认函
</h3>
<h5>
投标方向招标方发送澄清确认函
</h5>
<h5>
投标方向招标方发送澄清确认函
</h5>
</div>
</div>
<div
class=
"content flex-center"
>
<div
class=
"content flex-center"
>
...
...
src/pages/supply/organization/jurisdictionSee.vue
View file @
1ac35c5b
...
@@ -11,6 +11,9 @@
...
@@ -11,6 +11,9 @@
<el-form-item
label=
"角色名称"
prop=
"roleName"
>
<el-form-item
label=
"角色名称"
prop=
"roleName"
>
<el-input
v-model
.
trim=
"form.roleName"
:disabled=
"state"
></el-input>
<el-input
v-model
.
trim=
"form.roleName"
:disabled=
"state"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
v-model=
"form.remark"
type=
"textarea"
:rows=
"2"
:disabled=
"state"
maxlength=
"300"
></el-input>
</el-form-item>
<el-form-item
label=
"权限"
prop=
"menuPOList"
>
<el-form-item
label=
"权限"
prop=
"menuPOList"
>
<el-tree
<el-tree
:data=
"data"
:data=
"data"
...
@@ -63,7 +66,8 @@ export default {
...
@@ -63,7 +66,8 @@ export default {
},
},
form
:
{
form
:
{
roleName
:
''
,
roleName
:
''
,
menuPOList
:
[]
menuPOList
:
[],
remark
:
""
},
},
rules
:
{
rules
:
{
roleName
:
[
roleName
:
[
...
@@ -108,7 +112,8 @@ export default {
...
@@ -108,7 +112,8 @@ export default {
}
}
this
.
data
=
data
;
this
.
data
=
data
;
var
{
data
,
code
}
=
await
roledetail
(
id
);
var
{
data
,
code
}
=
await
roledetail
(
id
);
this
.
form
.
roleName
=
data
.
roleName
this
.
form
.
roleName
=
data
.
roleName
this
.
form
.
remark
=
data
.
remark
this
.
list
=
data
.
menuIdList
;
this
.
list
=
data
.
menuIdList
;
this
.
state
=
true
this
.
state
=
true
},
},
...
...
src/pages/supply/organization/memberManagement.vue
View file @
1ac35c5b
...
@@ -3,9 +3,10 @@
...
@@ -3,9 +3,10 @@
<div
class=
"content"
>
<div
class=
"content"
>
<dataTable
:columns=
"columns"
:page-obj=
"pageObj"
:breads=
"breads"
:checklist=
"checklist"
ref=
"table"
url=
"sys/user/member/list"
>
<dataTable
:columns=
"columns"
:page-obj=
"pageObj"
:breads=
"breads"
:checklist=
"checklist"
ref=
"table"
url=
"sys/user/member/list"
>
<el-button
slot=
"moreButton"
type=
"primary"
@
click=
"add('form')"
>
添加新用户
</el-button>
<el-button
slot=
"moreButton"
type=
"primary"
@
click=
"add('form')"
>
添加新用户
</el-button>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"
1
00"
>
<el-table-column
slot=
"operate"
label=
"操作"
align=
"center"
fixed=
"right"
width=
"
2
00"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"text"
size=
"small"
@
click=
"edit(scope.row)"
>
编辑
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"edit(scope.row)"
>
编辑
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"editPassword(scope.row)"
>
修改密码
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"handdelete(scope.row)"
v-if=
"myId!==scope.row.uid"
>
删除
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"handdelete(scope.row)"
v-if=
"myId!==scope.row.uid"
>
删除
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
...
@@ -59,6 +60,17 @@
...
@@ -59,6 +60,17 @@
<el-button
type=
"primary"
@
click=
"submitData1"
>
确 定
</el-button>
<el-button
type=
"primary"
@
click=
"submitData1"
>
确 定
</el-button>
</div>
</div>
</el-dialog>
</el-dialog>
<el-dialog
:visible
.
sync=
"isPassword"
title=
"修改密码"
>
<el-form
ref=
"passwordForm"
:model=
"passwordForm"
:rules=
"rules"
>
<el-form-item
label=
"密码"
label-width=
"100px"
prop=
"password"
>
<el-input
placeholder=
"请输入密码"
v-model
.
trim=
"passwordForm.password"
show-password
maxlength=
"30"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"isPassword = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"sure"
>
确 定
</el-button>
</div>
</el-dialog>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -69,7 +81,8 @@
...
@@ -69,7 +81,8 @@
checkAccount
,
checkAccount
,
useradd
,
useradd
,
userdelete
,
userdelete
,
useredit
useredit
,
resetPassword
}
from
'@api/purchaser/organization'
}
from
'@api/purchaser/organization'
import
dataTable
from
'@components/dataTable.vue'
import
dataTable
from
'@components/dataTable.vue'
export
default
{
export
default
{
...
@@ -90,6 +103,11 @@
...
@@ -90,6 +103,11 @@
}
}
};
};
return
{
return
{
passwordForm
:
{
phone
:
''
,
password
:
''
},
isPassword
:
false
,
myId
:
""
,
myId
:
""
,
checklist
:
[{
checklist
:
[{
title
:
'姓名'
,
title
:
'姓名'
,
...
@@ -183,6 +201,29 @@
...
@@ -183,6 +201,29 @@
}
}
},
},
methods
:
{
methods
:
{
// 密码编辑
editPassword
(
row
)
{
this
.
isPassword
=
true
;
this
.
passwordForm
.
phone
=
row
.
phone
;
},
// 密码确定接口
async
sure
()
{
try
{
const
valid
=
await
this
.
$refs
[
'passwordForm'
].
validate
();
if
(
valid
)
{
let
form
=
this
.
passwordForm
;
const
{
code
,
msg
}
=
await
resetPassword
(
form
);
if
(
code
===
200
)
{
this
.
$message
.
success
(
msg
);
this
.
isPassword
=
false
;
}
else
{
this
.
$message
.
error
(
msg
);
}
}
}
catch
(
e
)
{
console
.
log
(
e
);
}
},
// 删除
// 删除
async
handdelete
(
row
)
{
async
handdelete
(
row
)
{
try
{
try
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment