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
c7ee8ad7
Commit
c7ee8ad7
authored
Oct 21, 2024
by
wuqian
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://47.99.244.21:9999/qinjianhui/factory_front
parents
b8d91a05
fe0fd3e2
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
107 additions
and
34 deletions
+107
-34
components.d.ts
+0
-2
src/api/typesetting.ts
+1
-1
src/components/CardWrapper.vue
+5
-1
src/types/api/typesetting.ts
+3
-0
src/views/typesetting/TypesettingManagement.vue
+72
-17
src/views/typesetting/submitReviewModal.vue
+26
-13
No files found.
components.d.ts
View file @
c7ee8ad7
...
@@ -8,7 +8,6 @@ export {}
...
@@ -8,7 +8,6 @@ export {}
declare
module
'vue'
{
declare
module
'vue'
{
export
interface
GlobalComponents
{
export
interface
GlobalComponents
{
CardWrapper
:
typeof
import
(
'./src/components/CardWrapper.vue'
)[
'default'
]
CardWrapper
:
typeof
import
(
'./src/components/CardWrapper.vue'
)[
'default'
]
CommodityCard
:
typeof
import
(
'./src/components/commodityCard.vue'
)[
'default'
]
ElButton
:
typeof
import
(
'element-plus/es'
)[
'ElButton'
]
ElButton
:
typeof
import
(
'element-plus/es'
)[
'ElButton'
]
ElCheckbox
:
typeof
import
(
'element-plus/es'
)[
'ElCheckbox'
]
ElCheckbox
:
typeof
import
(
'element-plus/es'
)[
'ElCheckbox'
]
ElCol
:
typeof
import
(
'element-plus/es'
)[
'ElCol'
]
ElCol
:
typeof
import
(
'element-plus/es'
)[
'ElCol'
]
...
@@ -42,7 +41,6 @@ declare module 'vue' {
...
@@ -42,7 +41,6 @@ declare module 'vue' {
ElTag
:
typeof
import
(
'element-plus/es'
)[
'ElTag'
]
ElTag
:
typeof
import
(
'element-plus/es'
)[
'ElTag'
]
ElTooltip
:
typeof
import
(
'element-plus/es'
)[
'ElTooltip'
]
ElTooltip
:
typeof
import
(
'element-plus/es'
)[
'ElTooltip'
]
ElTree
:
typeof
import
(
'element-plus/es'
)[
'ElTree'
]
ElTree
:
typeof
import
(
'element-plus/es'
)[
'ElTree'
]
ElUpload
:
typeof
import
(
'element-plus/es'
)[
'ElUpload'
]
Icon
:
typeof
import
(
'./src/components/Icon.vue'
)[
'default'
]
Icon
:
typeof
import
(
'./src/components/Icon.vue'
)[
'default'
]
ImageView
:
typeof
import
(
'./src/components/ImageView.vue'
)[
'default'
]
ImageView
:
typeof
import
(
'./src/components/ImageView.vue'
)[
'default'
]
LogList
:
typeof
import
(
'./src/components/LogList.vue'
)[
'default'
]
LogList
:
typeof
import
(
'./src/components/LogList.vue'
)[
'default'
]
...
...
src/api/typesetting.ts
View file @
c7ee8ad7
...
@@ -92,8 +92,8 @@ export function submitReviewPriceInfoApi(id: number, data: PriceForm) {
...
@@ -92,8 +92,8 @@ export function submitReviewPriceInfoApi(id: number, data: PriceForm) {
return
axios
.
post
<
never
,
BaseRespData
<
never
>>
(
return
axios
.
post
<
never
,
BaseRespData
<
never
>>
(
'supply/supplyTypesettingPrice/saveQuotedPrice'
,
'supply/supplyTypesettingPrice/saveQuotedPrice'
,
{
{
typesettingId
:
id
,
...
data
,
...
data
,
typesettingId
:
id
,
},
},
)
)
}
}
...
...
src/components/CardWrapper.vue
View file @
c7ee8ad7
...
@@ -23,7 +23,11 @@
...
@@ -23,7 +23,11 @@
<img
:src=
"c.imagePath"
/>
<img
:src=
"c.imagePath"
/>
</div>
</div>
</div>
</div>
<div
class=
"commodity-card-name-price flex flex-justify-space-between"
>
<slot
name=
"time"
></slot>
<div
v-if=
"cardItem.productName"
class=
"commodity-card-name-price flex flex-justify-space-between"
>
<slot
name=
"productName"
></slot>
<slot
name=
"productName"
></slot>
<slot
name=
"price"
></slot>
<slot
name=
"price"
></slot>
</div>
</div>
...
...
src/types/api/typesetting.ts
View file @
c7ee8ad7
...
@@ -28,6 +28,9 @@ export interface TypesettingListData {
...
@@ -28,6 +28,9 @@ export interface TypesettingListData {
confirm
?:
boolean
confirm
?:
boolean
personInChargeId
?:
number
personInChargeId
?:
number
personInChargeName
?:
string
personInChargeName
?:
string
createTime
?:
string
updateTime
?:
string
assignmentTime
?:
string
}
}
export
interface
SearchForm
{
export
interface
SearchForm
{
...
...
src/views/typesetting/TypesettingManagement.vue
View file @
c7ee8ad7
...
@@ -23,7 +23,13 @@
...
@@ -23,7 +23,13 @@
<
/div
>
<
/div
>
<
div
class
=
"right-content flex-1 flex-column overflow-hidden"
>
<
div
class
=
"right-content flex-1 flex-column overflow-hidden"
>
<
div
class
=
"search-form"
>
<
div
class
=
"search-form"
>
<
ElForm
:
model
=
"searchForm"
size
=
"large"
inline
>
<
ElForm
:
model
=
"searchForm"
size
=
"large"
inline
@
submit
.
prevent
@
keyup
.
enter
=
"search"
>
<!--
<
ElFormItem
label
=
"创建时间"
prop
=
"rangeDate"
>
<!--
<
ElFormItem
label
=
"创建时间"
prop
=
"rangeDate"
>
<
ElDatePicker
<
ElDatePicker
v
-
model
=
"searchForm.rangeDate"
v
-
model
=
"searchForm.rangeDate"
...
@@ -81,7 +87,7 @@
...
@@ -81,7 +87,7 @@
cardItem
.
productName
cardItem
.
productName
}}
<
/span
>
}}
<
/span
>
<
/template
>
<
/template
>
<
template
#
price
>
<
template
v
-
if
=
"cardItem.retailPrice"
#
price
>
<
span
class
=
"price"
>
<
span
class
=
"price"
>
{{
cardItem
.
retailPrice
?
'$'
:
''
{{
cardItem
.
retailPrice
?
'$'
:
''
}}
{{
cardItem
.
retailPrice
}}
}}
{{
cardItem
.
retailPrice
}}
...
@@ -94,6 +100,14 @@
...
@@ -94,6 +100,14 @@
<
/template
>
<
/template
>
<
/Icon
>
<
/Icon
>
<
Icon
<
Icon
name
=
"chakanxiangqing"
@
click
.
stop
=
"submitReview(cardItem, true)"
>
<
template
#
title
>
<
title
>
查看详情
<
/title
>
<
/template
>
<
/Icon
>
<
Icon
v
-
if
=
"treeId === '201'"
v
-
if
=
"treeId === '201'"
name
=
"querenshenhexunjia"
name
=
"querenshenhexunjia"
@
click
.
stop
=
"confirm(cardItem)"
@
click
.
stop
=
"confirm(cardItem)"
...
@@ -110,7 +124,15 @@
...
@@ -110,7 +124,15 @@
@
click
.
stop
=
"submitReview(cardItem)"
@
click
.
stop
=
"submitReview(cardItem)"
>
>
<
template
#
title
>
<
template
#
title
>
<
title
>
提交审核
<
/title
>
<
title
>
{{
cardItem
?.
state
===
'301'
||
cardItem
?.
state
===
'501'
?
'打版完成'
:
cardItem
?.
state
===
'401'
?
'修改'
:
''
}}
<
/title
>
<
/template
>
<
/template
>
<
/Icon
>
<
/Icon
>
<
Icon
<
Icon
...
@@ -119,18 +141,21 @@
...
@@ -119,18 +141,21 @@
@
click
.
stop
=
"submitReview(cardItem)"
@
click
.
stop
=
"submitReview(cardItem)"
>
>
<
template
#
title
>
<
template
#
title
>
<
title
>
报价
<
/title
>
<
title
>
上传稿件
<
/title
>
<
/template
>
<
/template
>
<
/Icon
>
<
/Icon
>
<
Icon
v
-
if
=
"treeId === '701' || treeId === '901'"
name
=
"chakanxiangqing"
@
click
.
stop
=
"submitReview(cardItem)"
>
<
template
#
title
>
<
title
>
查看
<
/title
>
<
/template
>
<
/template
>
<
/Icon
>
<
template
#
time
>
<
div
class
=
"product-time"
>
<
div
class
=
"create-time"
>
<
span
class
=
"label"
>
创建时间
:
<
/span
>
<
span
class
=
"value"
>
{{
cardItem
.
createTime
}}
<
/span
>
<
/div
>
<
div
class
=
"assign-time"
>
<
span
class
=
"label"
>
分派时间
:
<
/span
>
<
span
class
=
"value"
>
{{
cardItem
.
assignmentTime
}}
<
/span
>
<
/div
>
<
/div
>
<
/template
>
<
/template
>
<
/CardWrapper
>
<
/CardWrapper
>
<
/div
>
<
/div
>
...
@@ -161,7 +186,16 @@
...
@@ -161,7 +186,16 @@
<
submitReviewModal
<
submitReviewModal
ref
=
"submitReviewModelRef"
ref
=
"submitReviewModelRef"
v
-
model
=
"submitReviewVisible"
v
-
model
=
"submitReviewVisible"
title
=
"提交审核"
:
detailable
=
"detailable"
:
title
=
"
detailable
? '查看详情'
: row?.state === '301' || row?.state === '501'
? '打版完成'
: row?.state === '401'
? '修改'
: '上传稿件'
"
:
row
=
"row"
:
row
=
"row"
@
refresh
=
"onRefreshPage"
@
refresh
=
"onRefreshPage"
><
/submitReviewModal
>
><
/submitReviewModal
>
...
@@ -201,12 +235,13 @@ import {
...
@@ -201,12 +235,13 @@ import {
getStatusListApi
,
getStatusListApi
,
getTypesettingDetail
,
getTypesettingDetail
,
getTypesettingLogByIdApi
,
getTypesettingLogByIdApi
,
rejectDataApi
rejectDataApi
,
}
from
'@/api/typesetting'
}
from
'@/api/typesetting'
import
Icon
from
'@/components/Icon.vue'
import
Icon
from
'@/components/Icon.vue'
import
reviewModel
from
'./reviewModel.vue'
import
reviewModel
from
'./reviewModel.vue'
import
submitReviewModal
from
'./submitReviewModal.vue'
import
submitReviewModal
from
'./submitReviewModal.vue'
import
dayjs
from
'dayjs'
import
dayjs
from
'dayjs'
import
{
showConfirm
}
from
'@/utils/ui'
const
treeData
=
ref
<
TreeData
[]
>
([])
const
treeData
=
ref
<
TreeData
[]
>
([])
const
treeRef
=
ref
()
const
treeRef
=
ref
()
const
treeId
=
ref
(
'201'
)
const
treeId
=
ref
(
'201'
)
...
@@ -289,12 +324,14 @@ const confirm = async (data: TypesettingListData) => {
...
@@ -289,12 +324,14 @@ const confirm = async (data: TypesettingListData) => {
}
}
const
submitReviewVisible
=
ref
(
false
)
const
submitReviewVisible
=
ref
(
false
)
const
submitReviewModelRef
=
ref
()
const
submitReviewModelRef
=
ref
()
const
submitReview
=
async
(
data
:
TypesettingListData
)
=>
{
const
detailable
=
ref
(
false
)
const
submitReview
=
async
(
data
:
TypesettingListData
,
isDetail
=
false
)
=>
{
detailable
.
value
=
isDetail
try
{
try
{
submitReviewModelRef
.
value
?.
getExamineInfo
(
data
)
submitReviewModelRef
.
value
?.
getExamineInfo
(
data
)
if
(
data
.
state
===
'701'
||
data
.
state
===
'901'
)
{
//
if (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
(()
=>
{
...
@@ -323,6 +360,15 @@ const reject = async () => {
...
@@ -323,6 +360,15 @@ const reject = async () => {
if
(
!
selection
.
value
.
length
)
{
if
(
!
selection
.
value
.
length
)
{
return
ElMessage
.
warning
(
'请选择要驳回的数据'
)
return
ElMessage
.
warning
(
'请选择要驳回的数据'
)
}
}
try
{
await
showConfirm
(
'确定驳回吗?'
,
{
type
:
'warning'
,
confirmButtonText
:
'确认'
,
cancelButtonText
:
'取消'
,
}
)
}
catch
{
return
}
const
ids
=
selection
.
value
.
map
((
item
)
=>
item
.
id
).
join
(
','
)
const
ids
=
selection
.
value
.
map
((
item
)
=>
item
.
id
).
join
(
','
)
try
{
try
{
const
res
=
await
rejectDataApi
(
ids
)
const
res
=
await
rejectDataApi
(
ids
)
...
@@ -414,4 +460,13 @@ const reject = async () => {
...
@@ -414,4 +460,13 @@ const reject = async () => {
.
svg
-
icon
{
.
svg
-
icon
{
margin
-
left
:
5
px
;
margin
-
left
:
5
px
;
}
}
.
product
-
time
{
margin
-
bottom
:
10
px
;
.
create
-
time
,
.
assign
-
time
{
height
:
26
px
;
line
-
height
:
26
px
;
}
}
<
/style
>
<
/style
>
src/views/typesetting/submitReviewModal.vue
View file @
c7ee8ad7
...
@@ -114,6 +114,7 @@
...
@@ -114,6 +114,7 @@
/>
/>
<div
<div
v-if=
"
v-if=
"
!detailable &&
lastVersion === version &&
lastVersion === version &&
(row?.state === '301' || row?.state === '401')
(row?.state === '301' || row?.state === '401')
"
"
...
@@ -128,8 +129,10 @@
...
@@ -128,8 +129,10 @@
</div>
</div>
</ElTabPane>
</ElTabPane>
<ElTabPane
<ElTabPane
v-if=
"row?.state === '601' || row?.state === '701' || row?.state === '901'"
v-if=
"
label=
"报价信息"
row?.state === '601' || row?.state === '701' || row?.state === '901'
"
label=
"上传稿件"
name=
"second"
name=
"second"
>
>
<div
v-loading=
"loading"
class=
"review-info"
>
<div
v-loading=
"loading"
class=
"review-info"
>
...
@@ -154,17 +157,19 @@
...
@@ -154,17 +157,19 @@
</div>
</div>
<div
class=
"price-form"
>
<div
class=
"price-form"
>
<div
class=
"modals-image-title"
>
<div
class=
"modals-image-title"
>
<span>
报价信息
</span>
<span>
上传稿件
</span>
</div>
</div>
<ElForm
ref=
"priceFormRef"
:model=
"priceForm"
label-width=
"100px"
>
<ElForm
ref=
"priceFormRef"
:model=
"priceForm"
label-width=
"100px"
>
<ElFormItem
<ElFormItem
label=
"
工艺单
"
label=
"
稿件
"
prop=
"craftImage"
prop=
"craftImage"
:rules=
"[
{ required: true, message: '请上传
工艺单
' }]"
:rules=
"[
{ required: true, message: '请上传
稿件
' }]"
>
>
<UploadImage
<UploadImage
v-model=
"priceForm.craftImage"
v-model=
"priceForm.craftImage"
:disabled=
"row?.state === '701' || row?.state === '901'"
:disabled=
"
detailable || row?.state === '701' || row?.state === '901'
"
></UploadImage>
></UploadImage>
</ElFormItem>
</ElFormItem>
<ElFormItem
<ElFormItem
...
@@ -175,7 +180,9 @@
...
@@ -175,7 +180,9 @@
<ElInput
<ElInput
v-model=
"priceForm.bulkUnitPrice"
v-model=
"priceForm.bulkUnitPrice"
clearable
clearable
:disabled=
"row?.state === '701' || row?.state === '901'"
:disabled=
"
detailable || row?.state === '701' || row?.state === '901'
"
placeholder=
"大货单价"
placeholder=
"大货单价"
></ElInput>
></ElInput>
</ElFormItem>
</ElFormItem>
...
@@ -184,7 +191,9 @@
...
@@ -184,7 +191,9 @@
v-model=
"priceForm.testUnitPrice"
v-model=
"priceForm.testUnitPrice"
placeholder=
"测试单价"
placeholder=
"测试单价"
clearable
clearable
:disabled=
"row?.state === '701' || row?.state === '901'"
:disabled=
"
detailable || row?.state === '701' || row?.state === '901'
"
></ElInput>
></ElInput>
</ElFormItem>
</ElFormItem>
<!--
<ElFormItem
<!--
<ElFormItem
...
@@ -202,7 +211,9 @@
...
@@ -202,7 +211,9 @@
<ElInput
<ElInput
v-model=
"priceForm.priceNote"
v-model=
"priceForm.priceNote"
type=
"textarea"
type=
"textarea"
:disabled=
"row?.state === '701' || row?.state === '901'"
:disabled=
"
detailable || row?.state === '701' || row?.state === '901'
"
placeholder=
"备注"
placeholder=
"备注"
></ElInput>
></ElInput>
</ElFormItem>
</ElFormItem>
...
@@ -285,9 +296,9 @@
...
@@ -285,9 +296,9 @@
</ElTabPane>
</ElTabPane>
<ElTabPane
label=
"审核意见"
name=
"four"
>
<ElTabPane
label=
"审核意见"
name=
"four"
>
<div
class=
"audit-opinion"
>
<div
class=
"audit-opinion"
>
<template
v-for=
"(item, index) in versionList"
:key=
"index"
>
<div
<div
v-for=
"(item, index) in versionList"
v-if=
"item.examineImages.length && item.opinion"
v-show=
"item.state == 3 || item.state == 2"
:key=
"index"
:key=
"index"
class=
"opinion_version"
class=
"opinion_version"
>
>
...
@@ -301,10 +312,11 @@
...
@@ -301,10 +312,11 @@
</p>
</p>
<p
v-dompurify-html=
"item.opinion"
></p>
<p
v-dompurify-html=
"item.opinion"
></p>
</div>
</div>
</
template
>
</div>
</div>
</ElTabPane>
</ElTabPane>
</ElTabs>
</ElTabs>
<template
#
footer
>
<
template
v-if=
"!detailable"
#
footer
>
<div
class=
"dialog-footer"
>
<div
class=
"dialog-footer"
>
<el-button
size=
"large"
@
click=
"visible = false"
>
取消
</el-button>
<el-button
size=
"large"
@
click=
"visible = false"
>
取消
</el-button>
<el-button
<el-button
...
@@ -376,6 +388,7 @@ const props = defineProps({
...
@@ -376,6 +388,7 @@ const props = defineProps({
modelValue
:
Boolean
,
modelValue
:
Boolean
,
title
:
String
,
title
:
String
,
row
:
Object
,
row
:
Object
,
detailable
:
Boolean
,
})
})
const
emit
=
defineEmits
([
'update:modelValue'
,
'refresh'
])
const
emit
=
defineEmits
([
'update:modelValue'
,
'refresh'
])
const
visible
=
computed
({
const
visible
=
computed
({
...
@@ -388,7 +401,7 @@ const visible = computed({
...
@@ -388,7 +401,7 @@ const visible = computed({
})
})
watch
(
visible
,
(
val
)
=>
{
watch
(
visible
,
(
val
)
=>
{
if
(
val
)
{
if
(
val
)
{
if
(
props
.
row
?.
state
===
'601'
)
{
if
(
props
.
row
?.
state
===
'601'
&&
!
props
.
detailable
)
{
activeName
.
value
=
'second'
activeName
.
value
=
'second'
}
else
{
}
else
{
activeName
.
value
=
'first'
activeName
.
value
=
'first'
...
...
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