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
6f670224
Commit
6f670224
authored
Oct 23, 2020
by
张冬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
澄清公告编辑
parent
f35e9be1
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
220 additions
and
136 deletions
+220
-136
bid.js
src/api/purchaser/bid.js
+10
-0
common.css
src/common/common.css
+2
-1
Upload.vue
src/components/Upload/Upload.vue
+3
-0
imgUpload.vue
src/components/Upload/imgUpload.vue
+2
-0
clearManagement.vue
src/pages/purchaser/bid/bidStage/clearManagement.vue
+14
-3
propose.vue
src/pages/purchaser/bid/bidStage/clearManagement/propose.vue
+182
-127
see.vue
src/pages/purchaser/bid/bidStage/clearManagement/see.vue
+7
-5
No files found.
src/api/purchaser/bid.js
View file @
6f670224
...
...
@@ -76,6 +76,16 @@ export function forwardClarify(data) {
data
:
data
})
}
// 修改澄清公告
export
function
editClarifiesNotice
(
data
)
{
return
request
({
url
:
'/tender-clarifies/edit-clarifiesNotice'
,
method
:
'POST'
,
data
:
data
})
}
// 问题内容接口
...
...
src/common/common.css
View file @
6f670224
...
...
@@ -153,7 +153,8 @@ img {
background
:
#fff
;
margin-bottom
:
20px
;
box-sizing
:
border-box
;
padding
:
10px
padding
:
10px
;
position
:
relative
;
}
.content-head
>
h3
{
...
...
src/components/Upload/Upload.vue
View file @
6f670224
...
...
@@ -78,6 +78,8 @@ export default {
let
value
=
[]
for
(
let
i
=
0
;
i
<
fileList
.
length
;
i
++
)
{
let
message
=
{}
message
.
name
=
fileList
[
i
].
name
message
.
url
=
fileList
[
i
].
url
message
.
fileName
=
fileList
[
i
].
name
message
.
fileUrl
=
fileList
[
i
].
url
message
.
uid
=
fileList
[
i
].
uid
...
...
@@ -123,6 +125,7 @@ export default {
let
objName
=
getFileNameUUID
()
// 调用 ali-oss 中的方法
put
(
`
${
objName
}${
option
.
file
.
name
}
`
,
option
.
file
).
then
(
res
=>
{
console
.
log
(
res
)
this
.
fileList
.
push
(
res
)
console
.
log
(
this
.
fileList
)
this
.
emitInput
(
this
.
fileList
)
...
...
src/components/Upload/imgUpload.vue
View file @
6f670224
...
...
@@ -69,6 +69,8 @@ export default {
console
.
log
(
fileList
)
for
(
let
i
=
0
;
i
<
fileList
.
length
;
i
++
)
{
let
message
=
{}
message
.
name
=
fileList
[
i
].
name
message
.
url
=
fileList
[
i
].
url
message
.
fileName
=
fileList
[
i
].
name
message
.
fileUrl
=
fileList
[
i
].
url
value
.
push
(
message
)
...
...
src/pages/purchaser/bid/bidStage/clearManagement.vue
View file @
6f670224
...
...
@@ -30,8 +30,15 @@
<el-button
type=
"text"
size=
"small"
@
click=
"handleSee(scope.row)"
>
查看
</el-button>
</div>
<div
v-else
>
<el-button
v-if=
"scope.row.noticeId"
type=
"text"
size=
"small"
@
click=
"handleSee(scope.row)"
>
查看
</el-button>
<el-button
v-else
type=
"text"
size=
"small"
@
click=
"handleReply(scope.row)"
>
回复
</el-button>
<div
v-if=
"scope.row.status == 2"
>
<el-button
type=
"text"
size=
"small"
@
click=
"edit(scope.row.noticeId)"
>
修改
</el-button>
</div>
<div
v-else
>
<el-button
v-if=
"scope.row.noticeId"
type=
"text"
size=
"small"
@
click=
"handleSee(scope.row)"
>
查看
</el-button
>
<el-button
v-else
type=
"text"
size=
"small"
@
click=
"handleReply(scope.row)"
>
回复
</el-button>
</div>
</div>
</
template
>
</el-table-column>
...
...
@@ -130,12 +137,16 @@ export default {
this
.
pageObj1
.
companyId
=
localStorage
.
getItem
(
'companyId'
);
},
methods
:
{
back
()
{
back
()
{
this
.
$router
.
go
(
-
1
);
},
getIndex
(
value
)
{
this
.
idx
=
value
;
},
//修改
edit
(
noticeId
){
this
.
$router
.
push
(
`/purchaser/bid/bidStage/clearManagement/propose?type=1¬iceId=
${
noticeId
}
`
);
},
// 提出
propose
()
{
this
.
$router
.
push
(
'/purchaser/bid/bidStage/clearManagement/propose'
);
...
...
src/pages/purchaser/bid/bidStage/clearManagement/propose.vue
View file @
6f670224
<
template
>
<div>
<div
class=
"content-head"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<h3>
提出澄清
</h3>
<h5>
提出澄清
</h5>
<div>
<div
class=
"content-head"
>
<dataBreadcrumb
:breads=
"breads"
></dataBreadcrumb>
<h3>
{{
title
}}
澄清
</h3>
<h5>
{{
title
}}
澄清
</h5>
<div
v-if=
"type==1"
class=
"abs"
>
<div>
拒绝原因:
{{
ruleForm
.
reason
}}
</div>
</div>
<div
class=
"content"
>
<div
class=
"describe"
>
澄清公告信息
</div>
<div
class=
"form"
>
<el-form
ref=
"ruleForm"
:model=
"ruleForm"
:rules=
"rules"
label-width=
"120px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"澄清公告标题"
prop=
"title"
>
<el-input
v-model
.
trim=
"ruleForm.title"
placeholder=
"请输入"
maxlength=
"30"
></el-input>
</el-form-item>
<el-form-item
label=
"公告发布媒体"
prop=
"release"
>
<el-input
v-model=
"ruleForm.release"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"澄清文件"
prop=
"file"
>
<singleUpload
:limit=
"5"
tip=
"最多上传5个文件,每个文件不超过100M。"
@
input=
"getfile"
></singleUpload>
</el-form-item>
<el-form-item
label=
"公告内容"
prop=
"content"
>
<quill-editor
ref=
"text"
v-model=
"ruleForm.content"
:options=
"editorOption"
class=
"myQuillEditor"
/>
</el-form-item>
</el-form>
<div
class=
"centerButton"
>
<el-button
@
click=
"cancle"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"submit"
>
提交审核
</el-button>
</div>
</div>
</div>
</div>
</div>
<div
class=
"content"
>
<div
class=
"describe"
>
澄清公告信息
</div>
<div
class=
"form"
>
<el-form
ref=
"ruleForm"
:model=
"ruleForm"
:rules=
"rules"
label-width=
"120px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"澄清公告标题"
prop=
"title"
>
<el-input
v-model
.
trim=
"ruleForm.title"
placeholder=
"请输入"
maxlength=
"30"
></el-input>
</el-form-item>
<el-form-item
label=
"公告发布媒体"
prop=
"release"
>
<el-input
v-model=
"ruleForm.release"
disabled
></el-input>
</el-form-item>
<el-form-item
label=
"澄清文件"
prop=
"file"
>
<singleUpload
:limit=
"5"
tip=
"最多上传5个文件,每个文件不超过100M。"
@
input=
"getfile"
:fileList=
"ruleForm.fileList"
></singleUpload>
</el-form-item>
<el-form-item
label=
"公告内容"
prop=
"content"
>
<quill-editor
ref=
"text"
v-model=
"ruleForm.content"
:options=
"editorOption"
class=
"myQuillEditor"
/>
</el-form-item>
</el-form>
<div
class=
"centerButton"
>
<el-button
@
click=
"cancle"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"submit1"
v-if=
"type==1"
>
提交修改
</el-button>
<el-button
type=
"primary"
@
click=
"submit"
v-else
>
提交审核
</el-button>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
forwardClarify
}
from
'@api/purchaser/bid'
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
import
singleUpload
from
'@components/Upload/Upload.vue'
import
{
quillEditor
}
from
'vue-quill-editor'
import
'quill/dist/quill.core.css'
import
'quill/dist/quill.snow.css'
import
'quill/dist/quill.bubble.css'
export
default
{
components
:
{
dataBreadcrumb
,
singleUpload
,
quillEditor
},
data
()
{
// let checkSpace = (rule, value, callback) => {
// console.log(value)
// console.log(value.trim().length)
// console.log(value.split(" ").join("").length)
// if (value.split(" ").join("").length == 0) {
// callback(new Error('请输入'))
// } else {
// callback()
// }
// }
return
{
accessoryPOList
:
[],
editorOption
:
{},
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
ruleForm
:
{
title
:
''
,
release
:
'捷安采官网招标投专区'
},
rules
:
{
title
:
[{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blur'
}],
release
:
[{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blur'
}],
content
:
[{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blur'
},
]
}
}
},
import
{
forwardClarify
,
clarifiesDetail
,
editClarifiesNotice
}
from
'@api/purchaser/bid'
;
import
dataBreadcrumb
from
'@components/dataBreadcrumb.vue'
;
import
singleUpload
from
'@components/Upload/Upload.vue'
;
import
{
quillEditor
}
from
'vue-quill-editor'
;
import
'quill/dist/quill.core.css'
;
import
'quill/dist/quill.snow.css'
;
import
'quill/dist/quill.bubble.css'
;
export
default
{
components
:
{
dataBreadcrumb
,
singleUpload
,
quillEditor
},
data
()
{
// let checkSpace = (rule, value, callback) => {
// console.log(value)
// console.log(value.trim().length)
// console.log(value.split(" ").join("").length)
// if (value.split(" ").join("").length == 0) {
// callback(new Error('请输入'))
// } else {
// callback()
// }
// }
return
{
title
:
"提出"
,
type
:
""
,
accessoryPOList
:
[],
editorOption
:
{},
breads
:
[
'招标管理'
,
'招标项目管理'
,
'工作台'
],
ruleForm
:
{
title
:
''
,
release
:
'捷安采官网招标投专区'
},
rules
:
{
title
:
[
{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blur'
}
],
release
:
[
{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blur'
}
],
content
:
[
{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blur'
}
]
}
};
},
methods
:
{
getfile
(
val
)
{
for
(
let
item
of
val
)
{
item
.
accessoryUrl
=
item
.
fileUrl
}
this
.
ruleForm
.
accessoryList
=
val
},
cancle
()
{
this
.
$router
.
go
(
-
1
)
},
//提交表单
async
submit
()
{
let
ruleForm
=
this
.
ruleForm
ruleForm
.
projectId
=
localStorage
.
getItem
(
"projectId"
)
ruleForm
.
companyId
=
localStorage
.
getItem
(
"companyId"
)
try
{
const
valid
=
await
this
.
$refs
[
'ruleForm'
].
validate
()
if
(
valid
)
{
const
{
code
,
msg
}
=
await
forwardClarify
(
this
.
ruleForm
)
if
(
code
===
200
)
{
this
.
$message
({
message
:
msg
,
type
:
'success'
,
duration
:
1500
})
setTimeout
(()
=>
{
this
.
$router
.
go
(
-
1
)
},
1500
)
}
}
}
catch
(
err
)
{
console
.
log
(
err
)
}
}
methods
:
{
// 查看澄清
async
getclarifiesDetail
(
clarifiesId
)
{
try
{
const
{
code
,
data
}
=
await
clarifiesDetail
(
clarifiesId
);
if
(
code
===
200
)
{
data
.
release
=
"捷安采官网招投标专区"
for
(
let
item
of
data
.
fileList
){
item
.
name
=
item
.
fileName
item
.
url
=
item
.
fileUrl
}
this
.
ruleForm
=
data
;
}
}
catch
(
err
)
{
console
.
log
(
err
);
}
},
getfile
(
val
)
{
console
.
log
(
val
)
this
.
ruleForm
.
fileList
=
val
;
},
cancle
()
{
this
.
$router
.
go
(
-
1
);
},
//提交表单
async
submit
()
{
let
ruleForm
=
this
.
ruleForm
;
ruleForm
.
projectId
=
localStorage
.
getItem
(
'projectId'
);
ruleForm
.
companyId
=
localStorage
.
getItem
(
'companyId'
);
try
{
const
valid
=
await
this
.
$refs
[
'ruleForm'
].
validate
();
if
(
valid
)
{
const
{
code
,
msg
}
=
await
forwardClarify
(
this
.
ruleForm
);
if
(
code
===
200
)
{
this
.
$message
({
message
:
msg
,
type
:
'success'
,
duration
:
1500
});
setTimeout
(()
=>
{
this
.
$router
.
go
(
-
1
);
},
1500
);
}
}
}
catch
(
err
)
{
console
.
log
(
err
);
}
},
async
submit1
()
{
let
ruleForm
=
this
.
ruleForm
;
ruleForm
.
projectId
=
localStorage
.
getItem
(
'projectId'
);
ruleForm
.
companyId
=
localStorage
.
getItem
(
'companyId'
);
try
{
const
valid
=
await
this
.
$refs
[
'ruleForm'
].
validate
();
if
(
valid
)
{
const
{
code
,
msg
}
=
await
editClarifiesNotice
(
this
.
ruleForm
);
if
(
code
===
200
)
{
this
.
$message
({
message
:
msg
,
type
:
'success'
,
duration
:
1500
});
setTimeout
(()
=>
{
this
.
$router
.
go
(
-
1
);
},
1500
);
}
}
}
catch
(
err
)
{
console
.
log
(
err
);
}
}
}
},
created
()
{
let
type
=
this
.
$route
.
query
.
type
;
this
.
type
=
type
if
(
type
==
1
){
let
noticeId
=
this
.
$route
.
query
.
noticeId
this
.
getclarifiesDetail
(
noticeId
)
this
.
title
=
"编辑"
}
}
};
</
script
>
<
style
scoped
>
.content
{
padding
:
0
;
padding-bottom
:
100px
;
}
.content
{
padding
:
0
;
padding-bottom
:
100px
;
}
.abs
{
position
:
absolute
;
right
:
10px
;
bottom
:
10px
}
</
style
>
src/pages/purchaser/bid/bidStage/clearManagement/see.vue
View file @
6f670224
...
...
@@ -18,12 +18,13 @@
</div>
<div
v-if=
"question.accessoryList"
class=
"flex-item"
>
<div>
澄清问题附件:
</div>
<ul>
<ul
v-if=
"question.accessoryList!==undefined && question.accessoryList.length>0"
>
<li
v-for=
"(item,index) in question.accessoryList"
:key=
"index"
>
<span>
{{
item
.
fileName
}}
</span>
<el-button
@
click=
"download(item.accessoryUrl)"
>
下载
</el-button>
</li>
</ul>
<div
v-else
>
无
</div>
</div>
</div>
<h3
class=
"title"
>
澄清内容
</h3>
...
...
@@ -37,14 +38,15 @@
<div>
公告发布媒体:
</div>
<div>
捷安采官网招投标专区
</div>
</div>
<div
v-if=
"clarifies.accessoryList"
class=
"flex-item"
>
<div
class=
"flex-item"
>
<div>
澄清问题附件:
</div>
<ul>
<li
v-for=
"(item,index) in clarifies.
accessory
List"
:key=
"index"
>
<ul
v-if=
"clarifies.fileList!==undefined && clarifies.fileList.length>0"
>
<li
v-for=
"(item,index) in clarifies.
file
List"
:key=
"index"
>
<span>
{{
item
.
fileName
}}
</span>
<el-button
@
click=
"download(item.
accessory
Url)"
>
下载
</el-button>
<el-button
@
click=
"download(item.
file
Url)"
>
下载
</el-button>
</li>
</ul>
<div
v-else
>
无
</div>
</div>
<div
class=
"clear-item flex-item"
>
<div>
回复内容:
</div>
...
...
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