Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
factory_front
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
qinjianhui
factory_front
Commits
df5972b5
Commit
df5972b5
authored
Nov 12, 2024
by
wuqian
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://47.99.244.21:9999/qinjianhui/factory_front
into wq
parents
c85f75d9
82c2eed0
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
53 additions
and
17 deletions
+53
-17
src/components/UploadImage.vue
+2
-3
src/views/typesetting/TypesettingManagement.vue
+2
-2
src/views/typesetting/reviewModel.vue
+28
-8
src/views/typesetting/submitReviewModal.vue
+21
-4
No files found.
src/components/UploadImage.vue
View file @
df5972b5
...
@@ -42,7 +42,6 @@
...
@@ -42,7 +42,6 @@
import
{
computed
,
ref
,
watch
}
from
'vue'
import
{
computed
,
ref
,
watch
}
from
'vue'
import
{
Plus
,
Close
}
from
'@element-plus/icons-vue'
import
{
Plus
,
Close
}
from
'@element-plus/icons-vue'
import
{
uploadImageApi
,
uploadFileApi
}
from
'@/api/common'
import
{
uploadImageApi
,
uploadFileApi
}
from
'@/api/common'
import
{
getFilePath
}
from
'@/api/axios'
const
props
=
defineProps
({
const
props
=
defineProps
({
modelValue
:
String
,
modelValue
:
String
,
disabled
:
Boolean
,
disabled
:
Boolean
,
...
@@ -87,7 +86,7 @@ const onChange = async (e: Event) => {
...
@@ -87,7 +86,7 @@ const onChange = async (e: Event) => {
const
files
=
(
e
.
target
as
HTMLInputElement
).
files
const
files
=
(
e
.
target
as
HTMLInputElement
).
files
if
(
!
files
)
return
if
(
!
files
)
return
const
file
=
files
[
0
]
const
file
=
files
[
0
]
let
isLtTenM
=
file
.
size
/
1024
/
1024
<
1
00
;
const
isLtTenM
=
file
.
size
/
1024
/
1024
<
2
00
;
if
(
!
isLtTenM
)
{
if
(
!
isLtTenM
)
{
ElMessage
.
error
(
"上传文件大小不能超过 200MB!"
);
ElMessage
.
error
(
"上传文件大小不能超过 200MB!"
);
return
isLtTenM
;
return
isLtTenM
;
...
@@ -146,7 +145,7 @@ const filename = (path: string) => {
...
@@ -146,7 +145,7 @@ const filename = (path: string) => {
}
}
const
downloadFile
=
(
item
:
FileItem
)
=>
{
const
downloadFile
=
(
item
:
FileItem
)
=>
{
window
.
open
(
getFilePath
()
+
item
.
path
)
window
.
open
(
item
.
path
)
}
}
const
removeFile
=
(
i
:
number
)
=>
{
const
removeFile
=
(
i
:
number
)
=>
{
files
.
value
.
splice
(
i
,
1
)
files
.
value
.
splice
(
i
,
1
)
...
...
src/views/typesetting/TypesettingManagement.vue
View file @
df5972b5
...
@@ -329,9 +329,9 @@ const submitReview = async (data: TypesettingListData, isDetail = false) => {
...
@@ -329,9 +329,9 @@ const submitReview = async (data: TypesettingListData, isDetail = false) => {
detailable
.
value
=
isDetail
detailable
.
value
=
isDetail
try
{
try
{
submitReviewModelRef
.
value
?.
getExamineInfo
(
data
)
submitReviewModelRef
.
value
?.
getExamineInfo
(
data
)
// if (
data.state === '701' || data.state === '901')
{
if
(
data
.
state
===
'601'
||
data
.
state
===
'701'
||
data
.
state
===
'901'
)
{
submitReviewModelRef
.
value
?.
getPriceDetail
(
data
)
submitReviewModelRef
.
value
?.
getPriceDetail
(
data
)
//
}
}
const
res
=
await
getTypesettingDetail
(
data
.
id
)
const
res
=
await
getTypesettingDetail
(
data
.
id
)
row
.
value
=
res
.
data
row
.
value
=
res
.
data
nextTick
(()
=>
{
nextTick
(()
=>
{
...
...
src/views/typesetting/reviewModel.vue
View file @
df5972b5
...
@@ -13,6 +13,7 @@
...
@@ -13,6 +13,7 @@
v-for=
"(val, index) in imageList"
v-for=
"(val, index) in imageList"
:key=
"index"
:key=
"index"
class=
"color-image-item"
class=
"color-image-item"
@
mouseover=
"setMainImage(val.imagePath)"
>
>
<!--
<button
class=
"remove"
type=
"button"
>
<!--
<button
class=
"remove"
type=
"button"
>
<i
class=
"el-icon-close"
></i>
<i
class=
"el-icon-close"
></i>
...
@@ -26,10 +27,11 @@
...
@@ -26,10 +27,11 @@
</li>
-->
</li>
-->
</ul>
</ul>
<div
class=
"main-image"
>
<div
class=
"main-image"
>
<img
:src=
"row?.mainImage"
/>
<img
:src=
"
mainImageUrl ||
row?.mainImage"
/>
</div>
</div>
</div>
</div>
<div
class=
"review-from"
>
<div
class=
"review-from"
>
<div>
<ElForm
<ElForm
ref=
"reviewFormRef"
ref=
"reviewFormRef"
:model=
"reviewForm"
:model=
"reviewForm"
...
@@ -116,13 +118,10 @@
...
@@ -116,13 +118,10 @@
placeholder=
"承诺完成日期"
placeholder=
"承诺完成日期"
></ElDatePicker>
></ElDatePicker>
</ElFormItem>
</ElFormItem>
<p
v-dompurify-html=
"reviewForm.requirement"
style=
"height: 470px"
class=
"requirement"
></p>
</ElForm>
</ElForm>
</div>
</div>
<p
v-dompurify-html=
"reviewForm.requirement"
class=
"requirement"
></p>
</div>
</div>
</div>
<template
#
footer
>
<template
#
footer
>
<div
class=
"dialog-footer"
>
<div
class=
"dialog-footer"
>
...
@@ -136,7 +135,11 @@
...
@@ -136,7 +135,11 @@
</template>
</template>
<
script
setup
lang=
"ts"
>
<
script
setup
lang=
"ts"
>
import
{
TypesettingListData
,
EmergencyLevel
,
ImageListData
}
from
'@/types/api/typesetting'
import
{
TypesettingListData
,
EmergencyLevel
,
ImageListData
,
}
from
'@/types/api/typesetting'
import
{
import
{
computed
,
computed
,
defineEmits
,
defineEmits
,
...
@@ -144,6 +147,7 @@ import {
...
@@ -144,6 +147,7 @@ import {
PropType
,
PropType
,
ref
,
ref
,
onMounted
,
onMounted
,
watch
,
}
from
'vue'
}
from
'vue'
import
{
saveTypesettingReviewApi
}
from
'@/api/typesetting'
import
{
saveTypesettingReviewApi
}
from
'@/api/typesetting'
import
{
getUserListApi
}
from
'@/api/common'
import
{
getUserListApi
}
from
'@/api/common'
...
@@ -167,6 +171,11 @@ const visible = computed({
...
@@ -167,6 +171,11 @@ const visible = computed({
emit
(
'update:modelValue'
,
val
)
emit
(
'update:modelValue'
,
val
)
},
},
})
})
watch
(
visible
,
(
val
)
=>
{
if
(
val
)
{
mainImageUrl
.
value
=
reviewForm
.
value
?.
mainImage
||
''
}
})
const
reviewForm
=
computed
({
const
reviewForm
=
computed
({
get
()
{
get
()
{
return
props
.
row
return
props
.
row
...
@@ -175,6 +184,7 @@ const reviewForm = computed({
...
@@ -175,6 +184,7 @@ const reviewForm = computed({
emit
(
'update:modelValue'
,
val
)
emit
(
'update:modelValue'
,
val
)
},
},
})
})
const
mainImageUrl
=
ref
(
''
)
const
emergencyLevel
=
ref
<
EmergencyLevel
[]
>
([])
const
emergencyLevel
=
ref
<
EmergencyLevel
[]
>
([])
emergencyLevel
.
value
=
[
emergencyLevel
.
value
=
[
{
{
...
@@ -251,6 +261,9 @@ const getUserList = async () => {
...
@@ -251,6 +261,9 @@ const getUserList = async () => {
console
.
error
(
e
)
console
.
error
(
e
)
}
}
}
}
const
setMainImage
=
(
url
:
string
|
undefined
)
=>
{
mainImageUrl
.
value
=
url
||
''
}
onMounted
(()
=>
{
onMounted
(()
=>
{
getUserList
()
getUserList
()
})
})
...
@@ -265,7 +278,8 @@ const imageList = computed<ImageListData[]>(() => {
...
@@ -265,7 +278,8 @@ const imageList = computed<ImageListData[]>(() => {
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
ul
,
li
{
ul
,
li
{
margin
:
0
;
margin
:
0
;
padding
:
0
;
padding
:
0
;
}
}
...
@@ -284,6 +298,7 @@ ul,li {
...
@@ -284,6 +298,7 @@ ul,li {
.detail-info
{
.detail-info
{
display
:
flex
;
display
:
flex
;
gap
:
10px
;
gap
:
10px
;
height
:
600px
;
}
}
.review-image
{
.review-image
{
width
:
40%
;
width
:
40%
;
...
@@ -292,10 +307,15 @@ ul,li {
...
@@ -292,10 +307,15 @@ ul,li {
}
}
.review-from
{
.review-from
{
width
:
60%
;
width
:
60%
;
display
:
flex
;
flex-direction
:
column
;
}
}
.requirement
{
.requirement
{
border
:
1px
solid
#ddd
;
border
:
1px
solid
#ddd
;
overflow
:
auto
;
flex
:
1
;
margin
:
0
;
}
}
.main-image
{
.main-image
{
...
...
src/views/typesetting/submitReviewModal.vue
View file @
df5972b5
...
@@ -19,12 +19,17 @@
...
@@ -19,12 +19,17 @@
v-for=
"(item, index) of row?.imageList"
v-for=
"(item, index) of row?.imageList"
:key=
"index"
:key=
"index"
class=
"color-image-item"
class=
"color-image-item"
@
mouseover=
"onMouseover(item.imagePath)"
>
>
<img
:src=
"item.imagePath"
alt=
""
class=
"img-sign"
/>
<img
:src=
"item.imagePath"
alt=
""
class=
"img-sign"
/>
</div>
</div>
</div>
</div>
<div
class=
"modals-image-big"
>
<div
class=
"modals-image-big"
>
<img
:src=
"row?.mainImage"
alt=
""
class=
"img-sign"
/>
<img
:src=
"mainImageUrl || row?.imageList[0]?.imagePath"
alt=
""
class=
"img-sign"
/>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -113,6 +118,7 @@
...
@@ -113,6 +118,7 @@
v-for=
"(item, index) of versionImageList"
v-for=
"(item, index) of versionImageList"
:key=
"index"
:key=
"index"
class=
"color-image-item"
class=
"color-image-item"
@
mousemove=
"onRightMouseover(item?.imagePath)"
>
>
<img
:src=
"item.imagePath"
alt=
""
class=
"img-sign"
/>
<img
:src=
"item.imagePath"
alt=
""
class=
"img-sign"
/>
<span
<span
...
@@ -311,7 +317,7 @@
...
@@ -311,7 +317,7 @@
<ElCol
:span=
"12"
>
<ElCol
:span=
"12"
>
<div
class=
"detail-info-item"
>
<div
class=
"detail-info-item"
>
<span
class=
"label"
>
样板要求
</span>
<span
class=
"label"
>
样板要求
</span>
<p
v-dompurify-html=
"row?.re
mark
"
></p>
<p
v-dompurify-html=
"row?.re
quirement
"
></p>
</div>
</div>
</ElCol>
</ElCol>
</ElRow>
</ElRow>
...
@@ -429,6 +435,7 @@ watch(visible, (val) => {
...
@@ -429,6 +435,7 @@ watch(visible, (val) => {
}
else
{
}
else
{
activeName
.
value
=
'first'
activeName
.
value
=
'first'
}
}
mainImageUrl
.
value
=
props
.
row
?.
mainImage
}
}
})
})
const
opinion
=
ref
(
''
)
const
opinion
=
ref
(
''
)
...
@@ -547,12 +554,12 @@ const getExamineInfo = async (data: TypesettingListData) => {
...
@@ -547,12 +554,12 @@ const getExamineInfo = async (data: TypesettingListData) => {
const
res
=
await
getExamineInfoByIdApi
(
data
.
id
)
const
res
=
await
getExamineInfoByIdApi
(
data
.
id
)
if
(
!
res
.
data
)
return
if
(
!
res
.
data
)
return
versionList
.
value
=
res
.
data
versionList
.
value
=
res
.
data
if
(
data
?.
state
===
'301'
||
data
?.
state
===
'401'
)
{
//
if (data?.state === '301' || data?.state === '401') {
versionList
.
value
.
push
({
versionList
.
value
.
push
({
version
:
versionList
.
value
.
length
+
1
,
version
:
versionList
.
value
.
length
+
1
,
examineImages
:
[],
examineImages
:
[],
})
})
}
//
}
if
(
res
.
data
.
length
>
0
)
{
if
(
res
.
data
.
length
>
0
)
{
version
.
value
=
res
.
data
[
res
.
data
.
length
-
1
].
version
??
1
version
.
value
=
res
.
data
[
res
.
data
.
length
-
1
].
version
??
1
lastVersion
.
value
=
res
.
data
[
res
.
data
.
length
-
1
].
version
??
1
lastVersion
.
value
=
res
.
data
[
res
.
data
.
length
-
1
].
version
??
1
...
@@ -676,6 +683,13 @@ const getPriceDetail = async (data: TypesettingListData) => {
...
@@ -676,6 +683,13 @@ const getPriceDetail = async (data: TypesettingListData) => {
console
.
error
(
e
)
console
.
error
(
e
)
}
}
}
}
const
mainImageUrl
=
ref
<
string
>
(
''
)
const
onMouseover
=
(
url
:
string
)
=>
{
mainImageUrl
.
value
=
url
}
const
onRightMouseover
=
(
url
:
string
|
undefined
)
=>
{
versionImageUrl
.
value
=
url
||
''
}
defineExpose
({
getExamineInfo
,
reset
,
getPriceDetail
})
defineExpose
({
getExamineInfo
,
reset
,
getPriceDetail
})
</
script
>
</
script
>
...
@@ -696,6 +710,8 @@ defineExpose({ getExamineInfo, reset, getPriceDetail })
...
@@ -696,6 +710,8 @@ defineExpose({ getExamineInfo, reset, getPriceDetail })
width
:
60px
;
width
:
60px
;
height
:
60px
;
height
:
60px
;
border
:
1px
solid
#eee
;
border
:
1px
solid
#eee
;
margin-bottom
:
5px
;
cursor
:
pointer
;
img
{
img
{
width
:
100%
;
width
:
100%
;
height
:
100%
;
height
:
100%
;
...
@@ -775,6 +791,7 @@ defineExpose({ getExamineInfo, reset, getPriceDetail })
...
@@ -775,6 +791,7 @@ defineExpose({ getExamineInfo, reset, getPriceDetail })
}
}
.detail-info
{
.detail-info
{
height
:
600px
;
height
:
600px
;
overflow-y
:
auto
;
:deep(.el-row)
{
:deep(.el-row)
{
height
:
30px
;
height
:
30px
;
line-height
:
30px
;
line-height
:
30px
;
...
...
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