Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
bdc
/
bdcdj-web
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
1ab48d09
authored
2023-09-19 09:56:49 +0800
by
renchao@pashanhoo.com
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
style:登记薄模块功跳转材料信息模
1 parent
f2140c02
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
243 additions
and
493 deletions
src/components/ywPopup/index.vue
src/views/djbworkflow/README.md
src/views/djbworkflow/components/clxx/README.md
src/views/djbworkflow/components/clxx/dialog/clxxAddDialog.vue
src/views/djbworkflow/components/clxx/dialog/clxxDetailDialog.vue
src/views/djbworkflow/components/clxx/dialog/imagePreview.vue
src/views/djbworkflow/components/clxx/index.vue
src/views/registerBook/components/clxx/dialog/clxxDetailDialog.vue
src/views/registerBook/components/clxx/dialog/imagePreview.vue
src/views/registerBook/components/clxx/index.vue
src/views/registerBook/components/djbDetail.vue
src/views/workflow/components/clxx/clxxUnify.vue
src/views/workflow/components/dialog/clxxDetailDialog.vue
src/components/ywPopup/index.vue
View file @
1ab48d0
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-1
4 17:11:15
* @LastEditTime: 2023-09-1
9 09:30:13
-->
<
template
>
<transition
name=
"msgbox-fade"
>
...
...
@@ -160,7 +160,7 @@
.mask-content
{
padding
:
5px
20px
30px
20px
;
width
:
100%
;
min-height
:
253
px
;
min-height
:
360
px
;
max-height
:
90vh
;
overflow-y
:
scroll
;
}
...
...
src/views/djbworkflow/README.md
0 → 100644
View file @
1ab48d0
<!-- 这是补录的业务流程模块 -->
\ No newline at end of file
src/views/djbworkflow/components/clxx/README.md
View file @
1ab48d0
这是登记薄材料明细
补录数据和临时数据
\ No newline at end of file
<!-- 这是补录信息的材料文件 -->
\ No newline at end of file
...
...
src/views/djbworkflow/components/clxx/dialog/clxxAddDialog.vue
View file @
1ab48d0
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-18 1
6:49:25
* @LastEditTime: 2023-09-18 1
7:04:46
-->
<
template
>
<dialogBox
title=
"新建材料信息"
width=
"20%"
isMain
v-model=
"myValue"
@
closeDialog=
"closeDialog"
@
submitForm=
"handleSubmit"
...
...
@@ -47,7 +47,8 @@
ruleForm
:
{
cllx
:
""
,
clmc
:
""
,
clbm
:
""
clbm
:
""
,
sfggcl
:
"0"
},
rules
:
{
cllx
:
[
...
...
@@ -77,7 +78,8 @@
this
.
ruleForm
=
{
cllx
:
""
,
clmc
:
""
,
clbm
:
""
clbm
:
""
,
sfggcl
:
"0"
}
},
/**
...
...
@@ -91,7 +93,8 @@
this
.
ruleForm
=
{
cllx
:
""
,
clmc
:
""
,
clbm
:
""
clbm
:
""
,
sfggcl
:
"0"
}
this
.
$emit
(
"input"
,
false
);
}
else
{
...
...
src/views/djbworkflow/components/clxx/dialog/clxxDetailDialog.vue
View file @
1ab48d0
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-1
4 11:14:54
* @LastEditTime: 2023-09-1
9 08:53:58
-->
<
template
>
<div
class=
"clmlmx-box"
>
<lb-table
:column=
"column"
:key=
"key"
row-key=
"bsm
Material"
ref=
"listTable"
:heightNumSetting=
"true"
:calcHeight=
"500"
:pagination=
"false
"
:data=
"tableData"
>
<lb-table
:column=
"column"
:key=
"key"
row-key=
"bsm
Sj"
ref=
"listTable"
:heightNumSetting=
"true"
:calcHeight=
"600
"
:
pagination=
"false"
:
data=
"tableData"
>
</lb-table>
<div
class=
"text-center"
>
<el-button
@
click=
"
handleCan
cel"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"handleSubmit"
:loading=
"loading"
>
保存
</el-button>
<el-button
@
click=
"
$popupCa
cel"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"handleSubmit"
v-if=
"formData.ableOperation && tableData.length>0"
:loading=
"loading"
>
保存
</el-button>
</div>
</div>
</
template
>
<
script
>
import
store
from
'@/store/index.js
'
import
Vue
from
'vue
'
import
Sortable
from
'sortablejs'
import
store
from
'@/store/index.js'
import
{
ywPopupCacel
}
from
"@/utils/popup.js"
;
import
{
editCompanyMaterialList
}
from
"@/api/company
.js"
;
import
{
InitClml
,
updateClml
}
from
"@/api/clxx
.js"
;
export
default
{
props
:
{
formData
:
{
...
...
@@ -34,11 +35,41 @@
sortable
:
null
,
column
:
[
{
prop
:
"isrequired"
,
label
:
"是否必选"
,
width
:
"80"
,
render
:
(
h
,
scope
)
=>
{
if
(
scope
.
row
.
isrequired
===
"1"
)
{
return
(
<
div
>
<
span
>
必选
<
/span
>
<
/div
>
);
}
else
{
return
(
<
div
>
<
span
>
可选
<
/span
>
<
/div
>
)
}
}
},
{
label
:
"材料名称"
,
render
:
(
h
,
scope
)
=>
{
return
(
(
scope
.
row
.
sfxjcl
==
'1'
)
?
<
el
-
input
value
=
{
scope
.
row
.
clmc
}
onInput
=
{(
val
)
=>
{
scope
.
row
.
clmc
=
val
}}
><
/el-input> : <span>{scope.row.clmc}</
span
>
(
this
.
formData
.
ableOperation
&&
scope
.
row
.
sfxjcl
==
'1'
)
?
<
el
-
input
value
=
{
scope
.
row
.
sjmc
}
onInput
=
{(
val
)
=>
{
scope
.
row
.
sjmc
=
val
}}
><
/el-input> : <span>{scope.row.sjmc}</
span
>
)
}
},
{
label
:
"材料编码"
,
render
:
(
h
,
scope
)
=>
{
return
(
(
this
.
formData
.
ableOperation
&&
scope
.
row
.
sfxjcl
==
'1'
)
?
<
el
-
input
value
=
{
scope
.
row
.
sjbm
}
onInput
=
{(
val
)
=>
{
scope
.
row
.
sjbm
=
val
}}
><
/el-input> : <span>{scope.row.sjbm}</
span
>
)
}
},
...
...
@@ -47,27 +78,50 @@
width
:
"110"
,
render
:
(
h
,
scope
)
=>
{
return
(
<
el
-
select
value
=
{
scope
.
row
.
cllx
}
onChange
=
{(
val
)
=>
{
scope
.
row
.
cllx
=
val
}}
>
{
store
.
getters
.
dictData
[
'A40'
].
map
(
option
=>
{
return
(
<
el
-
option
label
=
{
option
.
dname
}
value
=
{
option
.
dcode
}
><
/el-option
>
)
})
}
<
/el-select
>
this
.
formData
.
ableOperation
?
<
el
-
select
value
=
{
scope
.
row
.
sjlx
}
onChange
=
{(
val
)
=>
{
scope
.
row
.
sjlx
=
val
}}
>
{
store
.
getters
.
dictData
[
'A40'
].
map
(
option
=>
{
return
(
<
el
-
option
label
=
{
option
.
dname
}
value
=
{
option
.
dcode
}
><
/el-option
>
)
})
}
<
/el-select> : <span>{this.dicStatus
(
scope.row.sjlx, "A40"
)
}</
span
>
)
}
},
{
label
:
"页数"
,
prop
:
"sjsl"
,
label
:
"收件数量"
,
width
:
"80"
,
render
:
(
h
,
scope
)
=>
{
if
(
scope
.
row
.
count
&&
scope
.
row
.
count
>
0
)
{
return
(
(
this
.
formData
.
ableOperation
)
?
<
el
-
input
value
=
{
scope
.
row
.
sjsl
}
onInput
=
{(
val
)
=>
{
scope
.
row
.
sjsl
=
val
}}
><
/el-input> : <span>
{
scope
.
row
.
sjsl
}
<
/span
>
)
}
},
{
label
:
"扫描时间"
,
width
:
"140"
,
render
:
(
h
,
scope
)
=>
{
return
(
<
span
>
{
scope
.
row
.
sjsj
}
<
/span
>
)
}
},
{
label
:
"页数"
,
width
:
"60"
,
render
:
(
h
,
scope
)
=>
{
if
(
scope
.
row
.
ys
&&
scope
.
row
.
ys
>
0
)
{
return
(
<
div
>
<
span
>
{
scope
.
row
.
count
}
<
/span
>
<
span
>
{
scope
.
row
.
ys
}
<
/span
>
<
/div
>
);
}
else
{
...
...
@@ -80,6 +134,21 @@
},
},
{
label
:
"是否新建材料"
,
width
:
"80"
,
render
:
(
h
,
scope
)
=>
{
if
(
scope
.
row
.
sfxjcl
&&
scope
.
row
.
sfxjcl
==
'1'
)
{
return
(
<
span
>
是
<
/span
>
);
}
else
{
return
(
<
span
>
否
<
/span
>
);
}
},
},
{
label
:
"操作"
,
width
:
"100"
,
render
:
(
h
,
scope
)
=>
{
...
...
@@ -87,7 +156,7 @@
<
el
-
button
type
=
"text"
icon
=
"el-icon-delete"
disabled
=
{
scope
.
row
.
count
!=
0
}
disabled
=
{
!
(
scope
.
row
.
ys
==
0
&&
scope
.
row
.
sfxjcl
==
'1'
)
||
!
this
.
formData
.
ableOperation
}
onClick
=
{()
=>
{
this
.
handleDelete
(
scope
.
$index
,
scope
.
row
);
}}
...
...
@@ -102,15 +171,6 @@
tableData
:
[]
}
},
mounted
()
{
this
.
initSort
()
this
.
tableData
=
_
.
cloneDeep
(
this
.
formData
.
data
)
},
beforeDestroy
()
{
if
(
this
.
sortable
)
{
this
.
sortable
.
destroy
();
}
},
watch
:
{
'formData.data'
:
{
handler
:
function
(
val
,
oldVal
)
{
...
...
@@ -120,32 +180,61 @@
deep
:
true
}
},
mounted
()
{
this
.
initSort
()
},
beforeDestroy
()
{
if
(
this
.
sortable
)
{
this
.
sortable
.
destroy
();
}
},
methods
:
{
handleCancel
()
{
ywPopupCacel
()
},
handleSubmit
()
{
this
.
loading
=
true
store
.
dispatch
(
'user/reWorkFresh'
,
false
)
editCompanyMaterialList
(
this
.
tableData
,
this
.
formData
.
bsmCompany
).
then
(
res
=>
{
updateClml
(
this
.
tableData
,
this
.
formData
.
bsmSldy
,
Vue
.
prototype
.
$currentRoute
.
query
.
bsmSlsq
).
then
(
res
=>
{
this
.
loading
=
false
if
(
res
.
code
==
200
)
{
this
.
$message
({
message
:
'保存成功'
,
type
:
'success'
})
store
.
dispatch
(
'user/reWorkFresh'
,
true
)
ywPopupCacel
()
store
.
dispatch
(
'user/reWorkFresh'
,
true
)
}
}).
catch
(()
=>
{
this
.
loading
=
false
})
},
/**
* @description: 材料目录明细初始化
* @author: renchao
*/
clmlInitList
()
{
return
new
Promise
(
resolve
=>
{
this
.
unitData
=
this
.
$parent
.
unitData
;
var
formdata
=
new
FormData
();
formdata
.
append
(
"bsmSlsq"
,
Vue
.
prototype
.
$currentRoute
.
query
.
bsmSlsq
);
formdata
.
append
(
"bsmSldy"
,
this
.
formData
.
bsmRepair
);
formdata
.
append
(
"clfl"
,
3
);
InitClml
(
formdata
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
resolve
(
res
.
code
)
if
(
res
.
result
&&
res
.
result
.
length
>
0
)
{
this
.
tableData
=
res
.
result
;
}
else
{
this
.
tableData
=
[]
}
}
else
{
this
.
$message
.
error
(
res
.
message
)
}
})
})
},
/**
* @description: 材料目录删除
* @param {*} index
* @param {*} row
* @author: renchao
*/
handleDelete
(
index
,
row
)
{
this
.
$confirm
(
'此操作将永久删除该 是否继续?'
,
'提示'
,
{
...
...
@@ -173,7 +262,19 @@
this
.
tableData
.
splice
(
evt
.
newIndex
,
0
,
targetRow
);
}
})
}
},
dicStatus
(
val
,
code
)
{
let
data
=
store
.
getters
.
dictData
[
code
],
name
=
'暂无'
if
(
data
)
{
data
.
map
((
item
)
=>
{
if
(
item
.
dcode
==
val
)
{
name
=
item
.
dname
}
})
return
name
}
},
}
}
</
script
>
...
...
src/views/djbworkflow/components/clxx/dialog/imagePreview.vue
View file @
1ab48d0
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-1
4 16:24:0
7
* @LastEditTime: 2023-09-1
8 17:11:3
7
-->
<
template
>
<div
class=
"rlPopup"
>
...
...
@@ -14,7 +14,7 @@
<div
class=
"img-list-wrap"
v-Loading=
"loading"
>
<img
src=
"http://127.0.0.1:38088/video=stream&camidx=0"
v-if=
"isScan"
alt=
"高拍仪"
>
<div
v-for=
"(img, i) in previewImg.imgList"
:key=
"i"
v-else
>
<photo-zoom
:url=
"img.f
ile
url"
:bigWidth=
"165"
v-if=
"i === previewImg.index"
:scale=
"2"
<photo-zoom
:url=
"img.f
j
url"
:bigWidth=
"165"
v-if=
"i === previewImg.index"
:scale=
"2"
overlayStyle=
"width: 100%;height:100%"
>
</photo-zoom>
</div>
...
...
@@ -41,7 +41,7 @@
<ul>
<li
v-for=
"(img, index) in thumbnailImages"
:key=
"index"
:class=
"
{ active: previewImg.index === index }"
@click="showCurrent(index)">
<img
:src=
"img.f
ile
url"
>
<img
:src=
"img.f
j
url"
>
</li>
</ul>
</div>
...
...
@@ -53,7 +53,7 @@
<
script
>
import
PhotoZoom
from
'@/components/PhotoZoom'
import
{
getAltimeterInfo
,
getUuid
}
from
'@/utils/operation.js'
import
{
uploadBatch
,
delete
File
,
move
}
from
"@/api/company.js"
import
{
uploadBatch
,
delete
Clmx
,
move
}
from
"@/api/clxx.js"
;
import
publicPicture
from
'@/components/publicPicture/index.vue'
export
default
{
name
:
'PreviewImage'
,
...
...
@@ -86,7 +86,7 @@
// 缩略图
thumbnailImages
:
[],
showViewer
:
false
,
initialIndex
:
0
,
initialIndex
:
undefined
,
allLi
:
[],
}
},
...
...
@@ -94,7 +94,7 @@
previewImg
:
{
handler
(
newValue
,
oldValue
)
{
if
(
newValue
.
imgList
&&
newValue
.
imgList
.
length
>
0
)
{
this
.
allLi
=
_
.
cloneDeep
(
newValue
.
imgList
).
map
(
item
=>
item
.
f
ile
url
)
this
.
allLi
=
_
.
cloneDeep
(
newValue
.
imgList
).
map
(
item
=>
item
.
f
j
url
)
this
.
thumbnailImages
=
newValue
.
imgList
}
else
{
this
.
allLi
=
[]
...
...
@@ -134,18 +134,14 @@
setTimeout
(()
=>
{
this
.
scanTitle
=
'关闭高拍仪'
this
.
loading
=
false
},
3
000
)
},
4
000
)
}
else
{
this
.
scanTitle
=
'打开高拍仪'
}
},
/**
* @description: 左右移动
* @param {*} direction
* @author: renchao
*/
// 左右移动
handleMove
(
direction
)
{
move
(
this
.
previewImg
.
imgList
[
this
.
previewImg
.
index
].
bsmFile
,
direction
).
then
(
res
=>
{
move
(
direction
,
this
.
previewImg
.
imgList
[
this
.
previewImg
.
index
].
bsmClmx
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
if
(
direction
==
'left'
)
{
this
.
previewImg
.
index
=
this
.
previewImg
.
index
-
1
...
...
@@ -153,7 +149,7 @@
this
.
previewImg
.
index
=
this
.
previewImg
.
index
+
1
}
this
.
initialIndex
=
this
.
previewImg
.
index
this
.
$emit
(
'updateList'
,
{
children
:
res
.
result
,
bsm
Material
:
this
.
previewImg
.
bsmMaterial
})
this
.
$emit
(
'updateList'
,
{
children
:
res
.
result
,
bsm
Sj
:
this
.
previewImg
.
bsmSj
})
this
.
$message
({
message
:
'移动成功!'
,
type
:
'success'
...
...
@@ -195,7 +191,7 @@
let
file
=
blobToFile
(
blob
);
var
formData
=
new
FormData
();
formData
.
append
(
'file'
,
file
)
formData
.
append
(
"bsm
Material "
,
this
.
previewImg
.
bsmMaterial
);
formData
.
append
(
"bsm
Sj"
,
this
.
previewImg
.
bsmSj
);
formData
.
append
(
"bsmSlsq"
,
this
.
previewImg
.
bsmSlsq
);
uploadSjClmx
(
formData
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
...
...
@@ -292,13 +288,14 @@
this
.
key
++
return
;
}
formData
.
append
(
"bsmMaterial"
,
this
.
previewImg
.
bsmMaterial
);
formData
.
append
(
"bsmSj"
,
this
.
previewImg
.
bsmSj
);
formData
.
append
(
"bsmSlsq"
,
this
.
previewImg
.
bsmSlsq
);
if
(
this
.
previewImg
.
imgList
.
length
>
0
)
{
formData
.
append
(
"index"
,
this
.
previewImg
.
imgList
[
this
.
previewImg
.
index
].
sxh
);
}
uploadBatch
(
formData
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
$emit
(
'updateList'
,
{
children
:
res
.
result
,
bsm
Material
:
this
.
previewImg
.
bsmMaterial
})
this
.
$emit
(
'updateList'
,
{
children
:
res
.
result
,
bsm
Sj
:
this
.
previewImg
.
bsmSj
})
this
.
$message
({
message
:
'上传成功!'
,
type
:
'success'
...
...
@@ -320,12 +317,12 @@
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(
async
()
=>
{
let
bsm
File
=
this
.
previewImg
.
imgList
[
this
.
previewImg
.
index
].
bsmFile
let
bsm
Material
=
this
.
previewImg
.
imgList
[
this
.
previewImg
.
index
].
bsmMaterial
this
.
previewImg
.
imgList
=
this
.
previewImg
.
imgList
.
filter
(
item
=>
item
.
bsm
File
!=
bsmFile
)
delete
File
(
bsmFile
).
then
(
res
=>
{
let
bsm
Clmx
=
this
.
previewImg
.
imgList
[
this
.
previewImg
.
index
].
bsmClmx
let
bsm
Sj
=
this
.
previewImg
.
imgList
[
this
.
previewImg
.
index
].
bsmSj
this
.
previewImg
.
imgList
=
this
.
previewImg
.
imgList
.
filter
(
item
=>
item
.
bsm
Clmx
!=
bsmClmx
)
delete
Clmx
(
bsmClmx
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
that
.
$emit
(
'updateList'
,
{
children
:
this
.
previewImg
.
imgList
,
bsm
Material
:
bsmMaterial
})
that
.
$emit
(
'updateList'
,
{
children
:
this
.
previewImg
.
imgList
,
bsm
Sj
:
bsmSj
})
that
.
$message
({
message
:
'删除成功!'
,
type
:
'success'
...
...
src/views/djbworkflow/components/clxx/index.vue
View file @
1ab48d0
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-1
8 16:57:31
* @LastEditTime: 2023-09-1
9 09:28:13
-->
<
template
>
<div
class=
"clxx"
>
...
...
@@ -29,12 +29,12 @@
</div>
<div
v-for=
"(item, index) in tableData"
:key=
"item.bsm
Material
"
:class=
"['child', treeCheckId == item.bsm
Material
? 'checked' : '']"
:key=
"item.bsm
Sj
"
:class=
"['child', treeCheckId == item.bsm
Sj
? 'checked' : '']"
@
click=
"treeClick(item, index)"
>
{{
item
.
clmc
}}
<span
class=
"cl_number"
:key=
"key"
v-if=
"item.count"
>
(
{{
item
.
count
}}
)
</span>
<span
class=
"cl_number"
:key=
"key"
v-else
>
(0
)
</span>
<span
v-if=
"item.isrequired == 1"
class=
"required"
>
必选
</span>
{{
item
.
sjmc
}}
<span
class=
"cl_number"
:key=
"key"
>
(
{{
item
.
ys
?
item
.
ys
:
0
}}
)
</span>
</div>
</div>
</div>
...
...
@@ -62,7 +62,7 @@
import
imagePreview
from
"./dialog/imagePreview.vue"
;
import
clxxAddDialog
from
"./dialog/clxxAddDialog.vue"
;
import
clxxDetailDialog
from
"./dialog/clxxDetailDialog.vue"
;
import
{
repairInitClml
,
saveClml
}
from
"@/api/clxx.js"
;
import
{
repairInitClml
,
saveClml
,
getClmxList
}
from
"@/api/clxx.js"
;
export
default
{
components
:
{
clxxAddDialog
,
imagePreview
,
clxxDetailDialog
},
props
:
{
...
...
@@ -83,7 +83,7 @@
key
:
0
,
tableData
:
[],
previewImg
:
{
bsm
Material
:
""
,
bsm
Sj
:
""
,
index
:
0
,
selectedIndex
:
0
,
imgList
:
[]
...
...
@@ -116,19 +116,19 @@
if
(
this
.
treeCheckIndex
<
this
.
tableData
.
length
)
{
this
.
treeCheckIndex
++
;
if
(
this
.
tableData
[
this
.
treeCheckIndex
])
{
this
.
treeCheckId
=
this
.
tableData
[
this
.
treeCheckIndex
].
bsm
Material
;
this
.
treeCheckId
=
this
.
tableData
[
this
.
treeCheckIndex
].
bsm
Sj
;
// 判断页数
let
ys
=
this
.
tableData
[
this
.
treeCheckIndex
].
ys
this
.
previewImg
.
index
=
0
;
// 获取材料明细
if
(
ys
>
0
)
{
get
FileListByBsmMaterial
(
this
.
treeCheckId
).
then
(
res
=>
{
get
ClmxList
(
this
.
treeCheckId
).
then
(
res
=>
{
this
.
previewImg
.
imgList
=
res
.
result
?
res
.
result
:
[]
})
}
else
{
this
.
previewImg
.
imgList
=
[]
}
this
.
previewImg
.
bsm
Material
=
this
.
tableData
[
this
.
treeCheckIndex
].
bsmMaterial
;
this
.
previewImg
.
bsm
Sj
=
this
.
tableData
[
this
.
treeCheckIndex
].
bsmSj
;
}
else
{
this
.
$message
.
error
(
'没有最后一张了'
);
}
...
...
@@ -141,11 +141,11 @@
prevPriview
()
{
if
(
this
.
treeCheckIndex
>=
1
)
{
this
.
treeCheckIndex
--
;
this
.
treeCheckId
=
this
.
tableData
[
this
.
treeCheckIndex
].
bsm
Material
;
this
.
treeCheckId
=
this
.
tableData
[
this
.
treeCheckIndex
].
bsm
Sj
;
// 判断页数
let
ys
=
this
.
tableData
[
this
.
treeCheckIndex
].
ys
if
(
ys
>
0
)
{
get
FileListByBsmMaterial
(
this
.
treeCheckId
).
then
(
res
=>
{
get
ClmxList
(
this
.
treeCheckId
).
then
(
res
=>
{
this
.
previewImg
.
imgList
=
res
.
result
?
res
.
result
:
[]
this
.
previewImg
.
index
=
this
.
previewImg
.
imgList
.
length
-
1
;
})
...
...
@@ -153,7 +153,7 @@
this
.
previewImg
.
imgList
=
[];
this
.
previewImg
.
index
=
0
}
this
.
previewImg
.
bsm
Material
=
this
.
tableData
[
this
.
treeCheckIndex
].
bsmMaterial
;
this
.
previewImg
.
bsm
Sj
=
this
.
tableData
[
this
.
treeCheckIndex
].
bsmSj
;
}
else
{
this
.
$message
.
error
(
'没有第一张了'
);
}
...
...
@@ -193,12 +193,12 @@
* @author: renchao
*/
setChecked
(
item
)
{
this
.
treeCheckId
=
item
.
bsm
Material
;
this
.
treeCheckId
=
item
.
bsm
Sj
;
this
.
title
=
item
.
sjmc
;
this
.
titleYs
=
1
;
this
.
titleNum
=
item
.
children
.
length
;
this
.
previewImg
.
imgList
=
item
.
children
;
this
.
previewImg
.
bsm
Material
=
item
.
bsmMaterial
;
this
.
previewImg
.
bsm
Sj
=
item
.
bsmSj
;
},
/**
* @description: updateList
...
...
@@ -210,7 +210,7 @@
if
(
val
.
children
.
length
!=
0
)
{
//删除最后一张图片时 val=null
this
.
tableData
.
forEach
((
item
)
=>
{
if
(
item
.
bsm
Material
==
val
.
bsmMaterial
)
{
if
(
item
.
bsm
Sj
==
val
.
bsmSj
)
{
item
.
count
=
val
.
children
.
length
}
});
...
...
@@ -222,7 +222,7 @@
}
else
{
this
.
previewImg
.
imgList
=
[];
this
.
tableData
.
forEach
((
item
,
index
)
=>
{
if
(
this
.
treeCheckId
==
item
.
bsm
Material
)
{
if
(
this
.
treeCheckId
==
item
.
bsm
Sj
)
{
item
.
count
=
0
;
that
.
treeCheckIndex
=
index
;
}
...
...
@@ -242,16 +242,35 @@
* @author: renchao
*/
addSave
(
data
)
{
saveClml
({
...
data
,
bsmSldy
:
this
.
$parent
.
bsmRepair
,
bsmSlsq
:
this
.
$parent
.
bsmSlsq
}).
then
(
async
(
res
)
=>
{
let
obj
=
{
bsmSlsq
:
this
.
$parent
.
bsmSlsq
,
isrequired
:
"1"
,
sjmc
:
data
.
clmc
,
sjsl
:
0
,
smzt
:
""
,
ys
:
0
,
sjlx
:
data
.
cllx
,
sjbm
:
data
.
clbm
,
sfxjcl
:
"1"
,
// 是否必选
sfggcl
:
data
.
sfggcl
,
};
//是否公共材料
if
(
data
.
sfggcl
==
"0"
)
{
obj
[
"bsmSldy"
]
=
this
.
$parent
.
currentSelectProps
.
bsmSldy
;
}
if
(
this
.
$route
.
query
.
sqywbm
==
"DJBBL"
)
{
obj
.
bsmSldy
=
this
.
$parent
.
bsmRepair
}
saveClml
(
obj
).
then
(
async
(
res
)
=>
{
if
(
res
.
code
==
200
)
{
let
res
=
await
this
.
clmlInitList
(
2
);
if
(
res
==
200
)
this
.
$message
({
message
:
"新增成功"
,
type
:
"success"
})
type
:
"success"
,
})
;
}
})
})
;
},
/**
* @description: 材料目录点击选中
...
...
@@ -261,12 +280,12 @@
*/
treeClick
(
item
,
index
)
{
this
.
previewImg
.
index
=
0
;
this
.
treeCheckId
=
item
?.
bsm
Material
;
this
.
treeCheckId
=
item
?.
bsm
Sj
;
this
.
treeCheckIndex
=
index
;
get
FileListByBsmMaterial
(
item
.
bsmMaterial
).
then
(
res
=>
{
get
ClmxList
(
item
.
bsmSj
).
then
(
res
=>
{
this
.
previewImg
.
imgList
=
res
.
result
?
res
.
result
:
[]
})
this
.
previewImg
.
bsm
Material
=
item
?.
bsmMaterial
;
this
.
previewImg
.
bsm
Sj
=
item
?.
bsmSj
;
},
/**
* @description: 小图片点击
...
...
@@ -281,7 +300,7 @@
//查看明细
viewDetail
()
{
store
.
dispatch
(
"user/reWorkFresh"
,
false
);
ywPopupDialog
(
"申请材料目录"
,
"
xxba
/components/clxx/dialog/clxxDetailDialog"
,
{
ywPopupDialog
(
"申请材料目录"
,
"
djbworkflow
/components/clxx/dialog/clxxDetailDialog"
,
{
data
:
this
.
tableData
,
},
"60%"
,
true
,
false
)
},
...
...
@@ -393,6 +412,7 @@
line-height
:
20px
;
transition
:
all
0.3s
;
padding
:
8px
0
;
overflow
:
hidden
;
}
.child
:hover
{
...
...
src/views/registerBook/components/clxx/dialog/clxxDetailDialog.vue
deleted
100644 → 0
View file @
f2140c0
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-15 15:38:53
-->
<
template
>
<div
class=
"clmlmx-box"
>
<lb-table
:column=
"column"
:key=
"key"
row-key=
"bsmMaterial"
ref=
"listTable"
:heightNumSetting=
"true"
:calcHeight=
"500"
:pagination=
"false"
:data=
"tableData"
>
</lb-table>
<div
class=
"text-center"
>
<el-button
@
click=
"handleCancel"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"handleSubmit"
:loading=
"loading"
>
保存
</el-button>
</div>
</div>
</
template
>
<
script
>
import
store
from
'@/store/index.js'
import
Sortable
from
'sortablejs'
import
{
ywPopupCacel
}
from
"@/utils/popup.js"
;
import
{
editCompanyMaterialList
}
from
"@/api/company.js"
;
export
default
{
props
:
{
formData
:
{
type
:
Object
,
default
:
()
=>
{
return
{}
}
}
},
data
()
{
return
{
loading
:
false
,
sortable
:
null
,
column
:
[
{
label
:
"材料名称"
,
render
:
(
h
,
scope
)
=>
{
return
(
<
el
-
input
value
=
{
scope
.
row
.
clmc
}
onInput
=
{(
val
)
=>
{
scope
.
row
.
clmc
=
val
}}
><
/el-input
>
)
}
},
{
label
:
"材料编码"
,
render
:
(
h
,
scope
)
=>
{
return
(
<
el
-
input
value
=
{
scope
.
row
.
clbm
}
onInput
=
{(
val
)
=>
{
scope
.
row
.
clbm
=
val
}}
><
/el-input
>
)
}
},
{
label
:
"材料类型"
,
width
:
"110"
,
render
:
(
h
,
scope
)
=>
{
return
(
<
el
-
select
value
=
{
scope
.
row
.
cllx
}
onChange
=
{(
val
)
=>
{
scope
.
row
.
cllx
=
val
}}
>
{
store
.
getters
.
dictData
[
'A40'
].
map
(
option
=>
{
return
(
<
el
-
option
label
=
{
option
.
dname
}
value
=
{
option
.
dcode
}
><
/el-option
>
)
})
}
<
/el-select
>
)
}
},
{
label
:
"页数"
,
width
:
"80"
,
render
:
(
h
,
scope
)
=>
{
if
(
scope
.
row
.
count
&&
scope
.
row
.
count
>
0
)
{
return
(
<
div
>
<
span
>
{
scope
.
row
.
count
}
<
/span
>
<
/div
>
);
}
else
{
return
(
<
div
>
<
span
>
0
<
/span
>
<
/div
>
);
}
},
},
{
label
:
"操作"
,
width
:
"100"
,
render
:
(
h
,
scope
)
=>
{
return
(
<
el
-
button
type
=
"text"
icon
=
"el-icon-delete"
disabled
=
{
scope
.
row
.
count
!=
0
}
onClick
=
{()
=>
{
this
.
handleDelete
(
scope
.
$index
,
scope
.
row
);
}}
>
删除
<
/el-button
>
)
}
}
],
key
:
0
,
tableData
:
[]
}
},
mounted
()
{
this
.
initSort
()
this
.
tableData
=
_
.
cloneDeep
(
this
.
formData
.
data
)
},
beforeDestroy
()
{
if
(
this
.
sortable
)
{
this
.
sortable
.
destroy
();
}
},
watch
:
{
'formData.data'
:
{
handler
:
function
(
val
,
oldVal
)
{
this
.
tableData
=
_
.
cloneDeep
(
val
)
},
immediate
:
true
,
deep
:
true
}
},
methods
:
{
handleCancel
()
{
ywPopupCacel
()
},
handleSubmit
()
{
this
.
loading
=
true
store
.
dispatch
(
'user/reWorkFresh'
,
false
)
editCompanyMaterialList
(
this
.
tableData
,
this
.
formData
.
bsmCompany
).
then
(
res
=>
{
this
.
loading
=
false
if
(
res
.
code
==
200
)
{
this
.
$message
({
message
:
'保存成功'
,
type
:
'success'
})
store
.
dispatch
(
'user/reWorkFresh'
,
true
)
ywPopupCacel
()
}
}).
catch
(()
=>
{
this
.
loading
=
false
})
},
/**
* @description: 材料目录删除
* @param {*} index
* @param {*} row
* @author: renchao
*/
handleDelete
(
index
,
row
)
{
this
.
$confirm
(
'此操作将永久删除该 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
tableData
.
splice
(
index
,
1
);
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消删除'
})
})
},
initSort
()
{
const
el
=
this
.
$refs
.
listTable
.
$el
.
querySelectorAll
(
'.el-table__body-wrapper > table > tbody'
)[
0
]
this
.
sortable
=
Sortable
.
create
(
el
,
{
ghostClass
:
'sortable-ghost'
,
setData
:
function
(
dataTransfer
)
{
dataTransfer
.
setData
(
'Text'
,
''
)
},
onEnd
:
evt
=>
{
const
targetRow
=
this
.
tableData
.
splice
(
evt
.
oldIndex
,
1
)[
0
];
this
.
tableData
.
splice
(
evt
.
newIndex
,
0
,
targetRow
);
}
})
}
}
}
</
script
>
<
style
scoped
lang=
'scss'
>
@import
"~@/styles/mixin.scss"
;
.clmlmx-box
{
margin
:
0
auto
;
.title
{
text-align
:
center
;
height
:
60px
;
line-height
:
60px
;
border
:
1px
solid
#dfe6ec
;
font-size
:
20px
;
background
:
#81d3f81
a
;
margin-bottom
:
-1px
;
}
}
</
style
>
src/views/registerBook/components/clxx/dialog/imagePreview.vue
View file @
1ab48d0
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-1
4 16:24:07
* @LastEditTime: 2023-09-1
9 09:55:41
-->
<
template
>
<div
class=
"rlPopup"
>
...
...
@@ -12,9 +12,9 @@
<i
class=
"el-icon-arrow-right"
></i>
</div>
<div
class=
"img-list-wrap"
v-Loading=
"loading"
>
<img
src=
"http://127.0.0.1:38088/video=stream&camidx=0"
v-if=
"isScan"
alt=
"
高拍仪
"
>
<img
src=
"http://127.0.0.1:38088/video=stream&camidx=0"
v-if=
"isScan"
alt=
""
>
<div
v-for=
"(img, i) in previewImg.imgList"
:key=
"i"
v-else
>
<photo-zoom
:url=
"img.f
ile
url"
:bigWidth=
"165"
v-if=
"i === previewImg.index"
:scale=
"2"
<photo-zoom
:url=
"img.f
j
url"
:bigWidth=
"165"
v-if=
"i === previewImg.index"
:scale=
"2"
overlayStyle=
"width: 100%;height:100%"
>
</photo-zoom>
</div>
...
...
@@ -23,25 +23,24 @@
<div
class=
"thumb-wrap"
>
<div
class=
"thumb-wrap-button"
>
<el-button
type=
"primary"
@
click=
"clickImage"
v-if=
"previewImg.imgList.length>0"
>
(放大) 显示(缩小)
</el-button>
<el-upload
class=
"fileUpdate"
ref=
"upload"
:key=
"key"
action=
""
:show-file-list=
"false"
:multiple=
"true"
:auto-upload=
"false"
<
!--
<
el-upload
class=
"fileUpdate"
ref=
"upload"
:key=
"key"
action=
""
:show-file-list=
"false"
:multiple=
"true"
:auto-upload=
"false"
:on-change=
"handleChange"
accept=
".JPG, .PNG, .JPEG,.jpg, .png, .jpeg"
>
<el-button
icon=
"el-icon-upload"
type=
"primary"
v-if=
"ableOperation"
>
上传
</el-button>
</el-upload>
<!-- 左移右移 -->
<el-button
type=
"primary"
@
click=
"handleMove('left')"
v-if=
"ableOperation"
>
左移
</el-button>
<el-button
type=
"primary"
@
click=
"handleMove('right')"
v-if=
"ableOperation"
>
右移
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-delete-solid"
@
click=
"handleDelete"
</el-upload>
-->
<!--
<el-button
type=
"primary"
@
click=
"handleMove('left')"
v-if=
"ableOperation"
>
左移
</el-button>
<el-button
type=
"primary"
@
click=
"handleMove('right')"
v-if=
"ableOperation"
>
右移
</el-button>
-->
<!--
<el-button
type=
"primary"
icon=
"el-icon-delete-solid"
@
click=
"handleDelete"
v-if=
"thumbnailImages.length>0 && ableOperation"
>
删除
</el-button>
<div
v-if=
"ableOperation"
class=
"pl-5"
>
<el-button
type=
"primary"
@
click=
"handleOpenScan"
v-if=
"ableOperation"
:loading=
"loading"
>
{{
scanTitle
}}
</el-button>
<el-button
type=
"primary"
@
click=
"handleViewScan"
v-if=
"isScan && ableOperation"
>
拍照
</el-button>
</div>
</div>
-->
</div>
<ul>
<li
v-for=
"(img, index) in thumbnailImages"
:key=
"index"
:class=
"
{ active: previewImg.index === index }"
@click="showCurrent(index)">
<img
:src=
"img.f
ile
url"
>
<img
:src=
"img.f
j
url"
>
</li>
</ul>
</div>
...
...
@@ -52,8 +51,6 @@
</
template
>
<
script
>
import
PhotoZoom
from
'@/components/PhotoZoom'
import
{
getAltimeterInfo
,
getUuid
}
from
'@/utils/operation.js'
import
{
uploadBatch
,
deleteFile
,
move
}
from
"@/api/company.js"
import
publicPicture
from
'@/components/publicPicture/index.vue'
export
default
{
name
:
'PreviewImage'
,
...
...
@@ -94,7 +91,7 @@
previewImg
:
{
handler
(
newValue
,
oldValue
)
{
if
(
newValue
.
imgList
&&
newValue
.
imgList
.
length
>
0
)
{
this
.
allLi
=
_
.
cloneDeep
(
newValue
.
imgList
).
map
(
item
=>
item
.
f
ile
url
)
this
.
allLi
=
_
.
cloneDeep
(
newValue
.
imgList
).
map
(
item
=>
item
.
f
j
url
)
this
.
thumbnailImages
=
newValue
.
imgList
}
else
{
this
.
allLi
=
[]
...
...
@@ -119,99 +116,6 @@
}
},
methods
:
{
/**
* @description: 打开高拍仪
* @author: renchao
*/
handleOpenScan
()
{
this
.
isScan
=
!
this
.
isScan
if
(
this
.
isScan
)
{
this
.
loading
=
true
this
.
$message
({
message
:
'正在启动程序请稍等'
,
type
:
'success'
})
setTimeout
(()
=>
{
this
.
scanTitle
=
'关闭高拍仪'
this
.
loading
=
false
},
3000
)
}
else
{
this
.
scanTitle
=
'打开高拍仪'
}
},
/**
* @description: 左右移动
* @param {*} direction
* @author: renchao
*/
handleMove
(
direction
)
{
move
(
this
.
previewImg
.
imgList
[
this
.
previewImg
.
index
].
bsmFile
,
direction
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
if
(
direction
==
'left'
)
{
this
.
previewImg
.
index
=
this
.
previewImg
.
index
-
1
}
else
{
this
.
previewImg
.
index
=
this
.
previewImg
.
index
+
1
}
this
.
initialIndex
=
this
.
previewImg
.
index
this
.
$emit
(
'updateList'
,
{
children
:
res
.
result
,
bsmMaterial
:
this
.
previewImg
.
bsmMaterial
})
this
.
$message
({
message
:
'移动成功!'
,
type
:
'success'
})
}
else
{
this
.
$message
.
error
(
res
.
message
);
}
})
},
/**
* @description: 拍照
* @author: renchao
*/
handleViewScan
()
{
function
dataURLtoBlob
(
base64String
)
{
const
arr
=
base64String
.
split
(
','
);
if
(
arr
.
length
!==
2
)
{
throw
new
Error
(
'Invalid Base64 format'
);
}
const
mime
=
arr
[
0
].
match
(
/:
(
.*
?)
;/
)[
1
];
if
(
!
mime
)
{
throw
new
Error
(
'Cannot retrieve MIME type'
);
}
const
bstr
=
atob
(
arr
[
1
]);
const
n
=
bstr
.
length
;
const
u8arr
=
new
Uint8Array
(
n
);
for
(
let
i
=
0
;
i
<
n
;
i
++
)
{
u8arr
[
i
]
=
bstr
.
charCodeAt
(
i
);
}
return
new
Blob
([
u8arr
],
{
type
:
mime
});
}
function
blobToFile
(
blob
)
{
let
name
=
getUuid
(
8
)
+
'.jpg'
const
file
=
new
File
([
blob
],
name
);
return
file
;
}
getAltimeterInfo
().
then
(
res
=>
{
let
blob
=
dataURLtoBlob
(
'data:image/png;base64,'
+
res
.
data
.
photoBase64
);
let
file
=
blobToFile
(
blob
);
var
formData
=
new
FormData
();
formData
.
append
(
'file'
,
file
)
formData
.
append
(
"bsmMaterial "
,
this
.
previewImg
.
bsmMaterial
);
formData
.
append
(
"bsmSlsq"
,
this
.
previewImg
.
bsmSlsq
);
uploadSjClmx
(
formData
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
$emit
(
'updateList'
,
res
.
result
)
this
.
$message
({
message
:
'上传成功!'
,
type
:
'success'
})
}
})
})
},
/**
* @description: prev
* @author: renchao
*/
prev
()
{
let
len
=
this
.
previewImg
.
imgList
.
length
if
(
this
.
isFirst
||
len
==
0
)
{
...
...
@@ -254,90 +158,6 @@
*/
clickImage
()
{
this
.
showViewer
=
true
},
/**
* @description: handleChange
* @param {*} file
* @param {*} files
* @author: renchao
*/
async
handleChange
(
file
,
fileList
)
{
let
length
=
fileList
.
length
;
this
.
maxFileLength
=
Math
.
max
(
length
,
this
.
maxFileLength
)
var
formData
=
new
FormData
();
setTimeout
(()
=>
{
if
(
this
.
maxFileLength
!==
length
)
{
return
}
let
num
=
0
,
max
=
0
;
const
isLt5M
=
file
.
size
/
1024
/
1024
<
5
;
fileList
.
forEach
(
item
=>
{
if
(
!
isLt5M
)
{
max
++
}
if
(
!
[
'image/jpeg'
,
'image/png'
,
'image/jpg'
,
'image/gif'
].
includes
(
item
.
raw
.
type
))
{
num
++
}
else
{
formData
.
append
(
'file'
,
item
.
raw
)
}
})
if
(
num
>=
1
)
{
this
.
$message
.
error
(
"请选择jpeg/png/jpg/bmp/gif格式的图片后重试"
)
// 移除不支持的文件类型
this
.
key
++
return
;
}
if
(
max
>=
1
)
{
this
.
$message
.
error
(
'上传图片大小不能超过 5MB!'
);
this
.
key
++
return
;
}
formData
.
append
(
"bsmMaterial"
,
this
.
previewImg
.
bsmMaterial
);
if
(
this
.
previewImg
.
imgList
.
length
>
0
)
{
formData
.
append
(
"index"
,
this
.
previewImg
.
imgList
[
this
.
previewImg
.
index
].
sxh
);
}
uploadBatch
(
formData
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
$emit
(
'updateList'
,
{
children
:
res
.
result
,
bsmMaterial
:
this
.
previewImg
.
bsmMaterial
})
this
.
$message
({
message
:
'上传成功!'
,
type
:
'success'
})
this
.
$refs
.
upload
.
clearFiles
();
this
.
maxFileLength
=
0
}
})
},
0
)
},
/**
* @description: handleDelete
* @author: renchao
*/
handleDelete
()
{
let
that
=
this
this
.
$confirm
(
'此操作将永久删除, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(
async
()
=>
{
let
bsmFile
=
this
.
previewImg
.
imgList
[
this
.
previewImg
.
index
].
bsmFile
let
bsmMaterial
=
this
.
previewImg
.
imgList
[
this
.
previewImg
.
index
].
bsmMaterial
this
.
previewImg
.
imgList
=
this
.
previewImg
.
imgList
.
filter
(
item
=>
item
.
bsmFile
!=
bsmFile
)
deleteFile
(
bsmFile
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
that
.
$emit
(
'updateList'
,
{
children
:
this
.
previewImg
.
imgList
,
bsmMaterial
:
bsmMaterial
})
that
.
$message
({
message
:
'删除成功!'
,
type
:
'success'
})
}
})
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消删除'
})
})
}
}
}
...
...
@@ -378,14 +198,14 @@
}
.next
{
right
:
1
%
;
right
:
5
%
;
}
.img-list-wrap
{
width
:
100%
;
width
:
calc
(
100%
-
30px
)
;
display
:
flex
;
justify-content
:
center
;
height
:
calc
(
100%
-
8
0px
);
height
:
calc
(
100%
-
15
0px
);
align-items
:
center
;
background
:
rgba
(
194
,
190
,
190
,
0.1
);
overflow
:
scroll
;
...
...
src/views/registerBook/components/clxx/index.vue
View file @
1ab48d0
This diff is collapsed.
Click to expand it.
src/views/registerBook/components/djbDetail.vue
View file @
1ab48d0
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-1
8 15:48:15
* @LastEditTime: 2023-09-1
9 09:12:32
-->
<
template
>
<div
class=
"tableBox"
>
...
...
src/views/workflow/components/clxx/clxxUnify.vue
View file @
1ab48d0
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-18 1
6:28:1
6
* @LastEditTime: 2023-09-18 1
7:22:3
6
-->
<
template
>
<div
class=
"clxx"
>
...
...
@@ -261,6 +261,7 @@
smzt
:
""
,
ys
:
0
,
sjlx
:
data
.
cllx
,
sjbm
:
data
.
clbm
,
sfxjcl
:
"1"
,
// 是否必选
sfggcl
:
data
.
sfggcl
,
};
...
...
src/views/workflow/components/dialog/clxxDetailDialog.vue
View file @
1ab48d0
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-09-1
5 10:04:28
* @LastEditTime: 2023-09-1
8 17:21:36
-->
<
template
>
<div
class=
"clmlmx-box"
>
...
...
@@ -64,6 +64,15 @@
}
},
{
label
:
"材料编码"
,
render
:
(
h
,
scope
)
=>
{
return
(
(
this
.
formData
.
ableOperation
&&
scope
.
row
.
sfxjcl
==
'1'
)
?
<
el
-
input
value
=
{
scope
.
row
.
sjbm
}
onInput
=
{(
val
)
=>
{
scope
.
row
.
sjbm
=
val
}}
><
/el-input> : <span>{scope.row.sjbm}</
span
>
)
}
},
{
label
:
"材料类型"
,
width
:
"110"
,
render
:
(
h
,
scope
)
=>
{
...
...
Please
register
or
sign in
to post a comment