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
3c8e2f81
authored
2023-06-07 13:34:39 +0800
by
renchao@pashanhoo.com
Browse Files
Options
Browse Files
Tag
Download
Plain Diff
Merge branch 'dev' of
http://yun.pashanhoo.com:9090/bdc/bdcdj-web
into dev
2 parents
99522d4e
d2a850a8
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
1659 additions
and
346 deletions
src/views/djbBook/components/clxxDetailDialog.vue
src/views/djbBook/components/djbdyeditDialog.vue
src/views/djbBook/components/djbeditDialog.vue
src/views/djbBook/components/tabsconcent/clxxAddDialog.vue
src/views/djbBook/components/tabsconcent/clxxUnify.vue
src/views/djbBook/components/tabsconcent/spyj.vue
src/views/djbBook/jsydsyq.vue
src/views/djbworkflow/components/clxxUnify.vue
src/views/djbworkflow/components/leftmenu/ordinaryMenu.vue
src/views/djbBook/components/clxxDetailDialog.vue
0 → 100644
View file @
3c8e2f8
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-17 10:39:57
-->
<
template
>
<div
class=
"clmlmx-box"
>
<div
class=
"title"
>
申请材料目录
</div>
<lb-table
:column=
"column"
:key=
"key"
:heightNumSetting=
"true"
:pagination=
"false"
:data=
"formData.data"
>
</lb-table>
<div
class=
"text-center"
>
<el-button
@
click=
"$popupCacel"
>
取消
</el-button>
</div>
</div>
</
template
>
<
script
>
import
store
from
'@/store/index.js'
import
{
InitClml
,
saveClml
,
deleteSjClml
,
moveClml
}
from
"@/api/clxx.js"
;
export
default
{
props
:
{
formData
:
{
type
:
Object
,
default
:
()
=>
{
return
{}
}
}
},
data
()
{
return
{
column
:
[
{
width
:
"50"
,
label
:
'序号'
,
type
:
'index'
},
{
prop
:
"isrequired"
,
label
:
"是否必选"
,
width
:
"80"
,
render
:
(
h
,
scope
)
=>
{
if
(
scope
.
row
.
sfxjcl
===
"1"
)
{
return
(
<
div
>
<
span
>
可选
<
/span
>
<
/div
>
);
}
else
{
return
(
<
div
>
<
span
>
必选
<
/span
>
<
/div
>
);
}
},
},
{
prop
:
"sjmc"
,
label
:
"材料名称"
,
},
{
prop
:
"sjlx"
,
label
:
"材料类型"
,
width
:
"80"
,
render
:
(
h
,
scope
)
=>
{
return
(
<
div
>
<
span
>
{
this
.
dicStatus
(
scope
.
row
.
sjlx
,
"A40"
)}
<
/span
>
<
/div
>
);
},
},
{
prop
:
"sjsl"
,
label
:
"份数"
,
width
:
"50"
},
{
prop
:
"smzt"
,
label
:
"扫描状态"
,
width
:
"80"
,
render
:
(
h
,
scope
)
=>
{
if
(
scope
.
row
.
children
&&
scope
.
row
.
children
.
length
>
0
)
{
return
(
<
div
>
<
span
>
已扫描
<
/span
>
<
/div
>
);
}
else
{
return
(
<
div
>
<
span
>
未扫描
<
/span
>
<
/div
>
);
}
},
},
{
label
:
"扫描页数"
,
width
:
"80"
,
render
:
(
h
,
scope
)
=>
{
if
(
scope
.
row
.
children
&&
scope
.
row
.
children
.
length
>
0
)
{
return
(
<
div
>
<
span
>
{
scope
.
row
.
children
.
length
}
<
/span
>
<
/div
>
);
}
else
{
return
(
<
div
>
<
span
>
0
<
/span
>
<
/div
>
);
}
},
},
{
label
:
"操作"
,
width
:
"80"
,
render
:
(
h
,
scope
)
=>
{
return
(
<
div
>
<
el
-
button
type
=
"text"
disabled
=
{
scope
.
$index
==
0
}
onClick
=
{()
=>
{
this
.
moveUpward
(
scope
.
$index
,
scope
.
row
);
}}
>
上移
<
/el-button
>
<
el
-
button
type
=
"text"
disabled
=
{
scope
.
$index
+
1
==
this
.
tableData
.
length
}
onClick
=
{()
=>
{
this
.
moveDown
(
scope
.
$index
,
scope
.
row
);
}}
>
下移
<
/el-button
>
<
/div
>
);
},
},
],
key
:
0
,
tableData
:
[]
}
},
created
()
{
console
.
log
(
this
.
formData
.
data
,
'formData'
);
},
methods
:
{
// 材料目录明细初始化
clmlInitList
()
{
return
new
Promise
(
resolve
=>
{
this
.
unitData
=
this
.
$parent
.
unitData
;
var
formdata
=
new
FormData
();
formdata
.
append
(
"bsmSldy"
,
this
.
unitData
[
0
]?.
bsmSldy
);
formdata
.
append
(
"bsmSlsq"
,
this
.
$route
.
query
.
bsmSlsq
);
InitClml
(
formdata
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
resolve
(
res
.
code
)
if
(
res
.
result
&&
res
.
result
.
length
>
0
)
{
this
.
data
=
res
.
result
;
}
else
{
this
.
data
=
[]
}
}
else
{
this
.
$message
.
error
(
res
.
message
)
}
})
})
},
// 上移
moveUpward
(
index
,
row
)
{
let
obj
=
{
xh
:
row
.
xh
,
bsmSlsq
:
row
.
bsmSlsq
,
moveDirection
:
"UP"
,
};
// 接口待调
moveClml
(
obj
).
then
(
async
(
res
)
=>
{
if
(
res
.
code
==
200
)
{
let
res
=
await
this
.
clmlInitList
()
if
(
res
==
200
)
{
this
.
$message
({
message
:
'上移成功'
,
type
:
'success'
})
this
.
$parent
.
setTableData
(
this
.
data
)
}
}
else
{
this
.
$message
.
error
(
res
.
message
);
}
})
},
// 下移
moveDown
(
index
,
row
)
{
let
obj
=
{
xh
:
row
.
xh
,
bsmSlsq
:
row
.
bsmSlsq
,
moveDirection
:
"DOWN"
,
}
// 接口待调
moveClml
(
obj
).
then
(
async
(
res
)
=>
{
if
(
res
.
code
==
200
)
{
let
res
=
await
this
.
clmlInitList
()
if
(
res
==
200
)
{
this
.
$message
({
message
:
'下移成功'
,
type
:
'success'
})
}
}
else
{
this
.
$message
.
error
(
res
.
message
);
}
})
},
// 材料目录删除
handleDelete
(
index
,
row
)
{
let
that
=
this
this
.
$confirm
(
'此操作将永久删除该 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
deleteSjClml
({
sjBsm
:
row
.
bsmSj
}).
then
(
async
(
res
)
=>
{
if
(
res
.
code
==
200
)
{
let
res
=
await
that
.
clmlInitList
()
if
(
res
==
200
)
{
that
.
$message
({
message
:
"删除成功"
,
type
:
"success"
,
})
// this.$parent.setTableData(this.data)
}
}
})
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消删除'
})
})
},
// 字典
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
>
<
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/djbBook/components/djbdyeditDialog.vue
deleted
100644 → 0
View file @
99522d4
<
template
>
<div
class=
"jtfccx-edit"
>
<div
class=
"jtfccx-edit-con"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"160px"
>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"权属状态"
label-width=
"140px"
>
<el-select
v-model=
"form.qszt"
>
<el-option
v-for=
"item in qsztList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"权利类型"
label-width=
"140px"
>
<el-input
v-model=
"form.qllxmc"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"登记类型"
label-width=
"140px"
>
<el-input
v-model=
"form.djlxmc"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"上手业务号"
label-width=
"140px"
>
<el-input
v-model=
"form.ssywh"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"档案号"
label-width=
"140px"
>
<el-input
v-model=
"form.dah"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"业务号"
label-width=
"140px"
>
<el-input
v-model=
"form.ywh"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"不动产单元号"
label-width=
"140px"
>
<el-input
v-model=
"form.bdcdyh"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"坐落"
label-width=
"140px"
>
<el-input
v-model=
"form.zl"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"共有情况"
label-width=
"140px"
>
<el-input
v-model=
"form.gyqk"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"权利人类型"
label-width=
"140px"
>
<el-input
v-model=
"form.qlrlx"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"权利人"
label-width=
"140px"
>
<el-input
v-model=
"form.qlrmc"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"证件种类"
label-width=
"140px"
>
<el-input
v-model=
"form.qlrzjzl"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"证件号"
label-width=
"140px"
>
<el-input
v-model=
"form.qlrzjhm"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"土地使用权人"
label-width=
"140px"
>
<el-input
v-model=
"form.tdsyqr"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"独用土地面积(m²)"
label-width=
"140px"
>
<el-input
v-model=
"form.dytdmj"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"分摊土地面积(m²)"
label-width=
"140px"
>
<el-input
v-model=
"form.fttdmj"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"使用权起止时间"
label-width=
"140px"
>
<el-input
v-model=
"form.syqqzsj"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"土地使用期限"
label-width=
"140px"
>
<el-input
v-model=
"form.tdsyqx"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"房地产交易价格(万元)"
label-width=
"140px"
>
<el-input
v-model=
"form.fdcjyjg"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"规划用途"
label-width=
"140px"
>
<el-input
v-model=
"form.ytmc"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"房屋性质"
label-width=
"140px"
>
<el-input
v-model=
"form.fwxzmc"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"房屋结构"
label-width=
"140px"
>
<el-input
v-model=
"form.fwjgmc"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"所在层"
label-width=
"140px"
>
<el-input
v-model=
"form.szc"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"总层数"
label-width=
"140px"
>
<el-input
v-model=
"form.fj"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"建筑面积(m2)"
label-width=
"140px"
>
<el-input
v-model=
"form.mj"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"专有建筑面积(m2)"
label-width=
"140px"
>
<el-input
v-model=
"form.zyjzmj"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"分摊建筑面积(m2)"
label-width=
"140px"
>
<el-input
v-model=
"form.jgsj"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"登记原因"
label-width=
"140px"
>
<el-input
v-model=
"form.djyy"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"不动产权证号"
label-width=
"140px"
>
<el-input
v-model=
"form.bdcqzh"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"登记时间"
label-width=
"140px"
>
<el-input
v-model=
"form.djsj"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"登簿人"
label-width=
"140px"
>
<el-input
v-model=
"form.dbr"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"附记"
label-width=
"140px"
>
<el-input
v-model=
"form.fj"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"总层数"
label-width=
"140px"
>
<el-input
v-model=
"form.fj"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item
class=
"btn"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
保存
</el-button>
<el-button
@
click=
"closeDialog"
>
取消
</el-button>
</el-form-item>
</el-form>
</div>
</div>
</
template
>
<
script
>
export
default
{
props
:
{
formData
:
{
type
:
Object
,
default
:
()
=>
{
},
},
},
data
()
{
return
{
form
:{},
qsztList
:
[
{
value
:
"0"
,
label
:
"临时"
,
},
{
value
:
"1"
,
label
:
"现势"
,
},
{
value
:
"2"
,
label
:
"历史"
,
},
],
label
:
""
,
};
},
mounted
()
{
if
(
this
.
formData
.
data
)
{
this
.
$nextTick
(()
=>
{
this
.
form
=
Object
.
assign
({},
this
.
formData
.
data
)
this
.
form
.
qszt
=
this
.
form
.
qszt
==
'0'
?
"临时"
:
this
.
form
.
qszt
==
'1'
?
"现势"
:
"历史"
})
}
},
methods
:
{
//新增常用意见
submitForm
()
{
this
.
$refs
.
form
.
validate
(
valid
=>
{
if
(
valid
)
{
// addUserCommonOpinion({ commonOpinion: this.form.commonOpinion }).then(res => {
// if (res.code == 200) {
// this.$message.success("新增成功")
// this.closeaddDiglog();
// this.getList()
// } else {
// this.$message.error(res.message)
// }
// })
}
else
{
return
false
;
}
});
},
closeDialog
()
{
this
.
$popupCacel
()
this
.
$refs
[
'form'
].
resetFields
();
// this.resetTableFields();
}
},
};
</
script
>
<
style
scoped
lang=
"scss"
>
@import
"~@/styles/mixin.scss"
;
@import
"~@/styles/public.scss"
;
.jtfccx-edit
{
@include
flex;
flex-direction
:
column
;
overflow-y
:
hidden
;
max-height
:
85vh
;
padding
:
0
2px
;
.btn{
text-align
:
center
;
}
}
</
style
>
src/views/djbBook/components/djbeditDialog.vue
View file @
3c8e2f8
<
template
>
<div
class=
"jtfccx-edit"
>
<div
class=
"jtfccx-edit-con"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"160px"
>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"权属状态"
label-width=
"140px"
>
<el-select
v-model=
"form.qszt"
>
<el-option
v-for=
"item in qsztList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"8"
v-for=
"item in datalist"
:key=
"item.bdcdyh"
>
<el-form-item
:prop=
"item.prop"
:label=
"item.label"
label-width=
"140px"
>
<el-input
v-model=
"form[item.prop]"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item
class=
"btn"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
保存
</el-button>
<el-button
@
click=
"closeDialog"
>
取消
</el-button>
</el-form-item>
</el-form>
<div
class=
"from-clues"
>
<el-tabs
type=
"card"
v-model=
"activeName"
@
tab-click=
"handleTabClick"
>
<el-tab-pane
label=
"受理信息"
name=
"slxx"
></el-tab-pane>
<el-tab-pane
:disabled=
"isshow"
label=
"审批意见"
name=
"spyj"
></el-tab-pane>
<el-tab-pane
:disabled=
"isshow"
label=
"材料信息"
name=
"clxx"
></el-tab-pane>
</el-tabs>
<div
v-if=
"activeName == 'slxx'"
>
<div
class=
"from-clues-header"
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"160px"
>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"权属状态"
label-width=
"140px"
>
<el-select
v-model=
"form.qszt"
>
<el-option
v-for=
"item in qsztList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
v-for=
"item in datalist"
:key=
"item.bdcdyh"
>
<el-form-item
:prop=
"item.prop"
:label=
"item.label"
label-width=
"140px"
>
<el-input
v-model=
"form[item.prop]"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
class=
"btn"
>
<el-button
type=
"primary"
@
click=
"slxxsubmitForm"
>
保存
</el-button>
<el-button
@
click=
"closeDialog"
>
取消
</el-button>
</div>
</div>
</div>
<div
v-if=
"activeName == 'spyj'"
>
<div
class=
"from-clues-header spyj"
>
<div
class=
"box"
>
<b
class=
"spyj_title"
>
审批表
</b>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"120px"
>
<div
class=
"spyj_form"
>
<div
class=
"item_left"
>
初审意见
</div>
<div
class=
"item_right"
>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label-width=
"0"
class=
"opinion_item"
prop=
"shyj"
>
<el-input
type=
"textarea"
:rows=
"4"
class=
"opinion"
placeholder=
"请输入审批意见"
v-model=
"ruleForm.shyj"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"16"
>
<el-form-item
prop=
"shryxm"
label=
"审查人"
label-width=
"90px"
>
<el-input
v-model=
"ruleForm.shr"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"审核时间"
prop=
"shjssj"
label-width=
"90px"
>
<el-input
v-model=
"ruleForm.shsj"
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
</el-form>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"120px"
>
<div
class=
"spyj_form"
>
<div
class=
"item_left"
>
复审意见
</div>
<div
class=
"item_right"
>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label-width=
"0"
class=
"opinion_item"
prop=
"shyj"
>
<el-input
type=
"textarea"
:rows=
"4"
class=
"opinion"
placeholder=
"请输入审批意见"
v-model=
"ruleForm.shyj"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"16"
>
<el-form-item
prop=
"shryxm"
label=
"审查人"
label-width=
"90px"
>
<el-input
v-model=
"ruleForm.shr"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"审核时间"
prop=
"shjssj"
label-width=
"90px"
>
<el-input
v-model=
"ruleForm.shsj"
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
</el-form>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"120px"
>
<div
class=
"spyj_form"
>
<div
class=
"item_left"
>
核定意见
</div>
<div
class=
"item_right"
>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label-width=
"0"
class=
"opinion_item"
prop=
"shyj"
>
<el-input
type=
"textarea"
:rows=
"4"
class=
"opinion"
placeholder=
"请输入审批意见"
v-model=
"ruleForm.shyj"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"16"
>
<el-form-item
prop=
"shryxm"
label=
"审查人"
label-width=
"90px"
>
<el-input
v-model=
"ruleForm.shr"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"审核时间"
prop=
"shjssj"
label-width=
"90px"
>
<el-input
v-model=
"ruleForm.shsj"
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
</el-form>
</div>
<div
class=
"btn"
>
<el-button
type=
"primary"
@
click=
"spyjsubmitForm"
>
保存
</el-button>
<el-button
@
click=
"closeDialog"
>
取消
</el-button>
</div>
</div>
</div>
<div
v-if=
"activeName == 'clxx'"
>
<div
class=
"from-clues-header"
>
<div
class=
"clxx"
>
<div
class=
"right"
>
<!-- 材料预览 -->
<div
class=
"clyl-box"
>
<div
class=
"menu-tree"
>
<el-button
type=
"primary"
native-type=
"submit"
@
click=
"viewDetail"
style=
"width:100%;margin-top:10px;"
>
查看明细
</el-button>
<div
class=
"item"
>
材料目录(
{{
tableData
.
length
}}
)
<div
style=
"margin-top:10px"
>
<div
style=
"text-align: center;line-height:20px;color:black;font-size:14px"
v-if=
"tableData.length == 0"
>
暂无数据
</div>
<div
v-for=
"(item,index) in tableData"
:key=
"item.bsmSj"
:class=
"['child', treeCheckId == item.bsmSj ? 'checked' : '']"
@
click=
"treeClick(item,index)"
>
<span
v-if=
"item.isrequired==1"
class=
"required"
>
必选
</span>
{{
item
.
sjmc
}}
<span
class=
"cl_number"
>
(
{{
item
.
children
?
item
.
children
.
length
:
0
}}
)
</span>
</div>
</div>
</div>
<el-button
type=
"primary"
native-type=
"submit"
style=
"width:100%"
@
click=
"handleAdd()"
>
新增
</el-button>
</div>
<image-preview
ref=
'imageRef'
:previewImg=
"previewImg"
@
updateList=
"updateList"
@
nextPriview=
"nextPriview"
@
prevPriview=
"prevPriview"
/>
</div>
</div>
<clxxAddDialog
v-model=
"isDialog"
/>
</div>
<div
class=
"btn"
>
<el-button
type=
"primary"
@
click=
"clxxsubmitForm"
>
保存
</el-button>
<el-button
@
click=
"closeDialog"
>
取消
</el-button>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
mapGetters
}
from
"vuex"
;
import
clxxAddDialog
from
"./tabsconcent/clxxAddDialog.vue"
;
import
imagePreview
from
'@/views/components/imagePreview.vue'
import
{
InitClml
,
saveClml
,
deleteSjClml
,
moveClml
}
from
"@/api/clxx.js"
;
export
default
{
components
:
{
clxxAddDialog
},
props
:
{
formData
:
{
type
:
Object
,
default
:
()
=>
{
},
default
:
()
=>
{},
},
},
data
()
{
data
()
{
return
{
form
:{},
datalist
:[],
qsztList
:
[
{
value
:
"0"
,
label
:
"临时"
,
},
activeName
:
"slxx"
,
form
:
{},
datalist
:
[],
qsztList
:
[
{
value
:
"1"
,
label
:
"现势"
,
...
...
@@ -52,51 +270,269 @@ export default {
value
:
"2"
,
label
:
"历史"
,
},
],
label
:
""
,
isshow
:
true
,
// 审批
bsmSlsq
:
""
,
//刷新值
bestepid
:
""
,
ruleForm
:
{},
rules
:
{
shyj
:
[{
required
:
true
,
message
:
"请输入审批意见"
,
trigger
:
"blur"
}],
},
],
label
:
""
,
// 材料
isDialog
:
false
,
iclass
:
""
,
tableData
:
[],
// 材料目录选中
treeCheckIndex
:
0
,
treeCheckId
:
""
,
key
:
0
,
tableDatas
:
[],
previewImg
:
{
// 收件标识码
bsmSj
:
""
,
bsmSlsq
:
this
.
$parent
.
bsmSlsq
,
index
:
0
,
selectedIndex
:
0
,
imgList
:
[],
},
};
},
mounted
()
{
if
(
this
.
formData
.
data
)
{
this
.
$nextTick
(()
=>
{
this
.
form
=
Object
.
assign
({},
this
.
formData
.
data
)
// this.datalist = Object.assign([], this.formData.datalist)
this
.
form
.
qszt
=
this
.
form
.
qszt
==
'0'
?
"临时"
:
this
.
form
.
qszt
==
'1'
?
"现势"
:
"历史"
})
}
// this.datalist = this.formData.datalist
this
.
datalist
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
formData
.
datalist
));
this
.
datalist
.
shift
()
this
.
datalist
.
shift
()
computed
:
{
...
mapGetters
([
"dictData"
])
},
created
()
{
this
.
clmlInitList
(
1
)
},
mounted
()
{
if
(
this
.
formData
.
data
)
{
this
.
$nextTick
(()
=>
{
this
.
form
=
Object
.
assign
({},
this
.
formData
.
data
);
// this.datalist = Object.assign([], this.formData.datalist)
this
.
form
.
qszt
=
this
.
form
.
qszt
==
"0"
?
"临时"
:
this
.
form
.
qszt
==
"1"
?
"现势"
:
"历史"
;
});
}
// this.datalist = this.formData.datalist
this
.
datalist
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
formData
.
datalist
));
this
.
datalist
.
shift
();
this
.
datalist
.
shift
();
console
.
log
(
"this.datalist"
,
this
.
datalist
);
},
methods
:
{
//新增常用意见
submitForm
()
{
this
.
$refs
.
form
.
validate
(
valid
=>
{
if
(
valid
)
{
// addUserCommonOpinion({ commonOpinion: this.form.commonOpinion }).then(res => {
// if (res.code == 200) {
// this.$message.success("新增成功")
// this.closeaddDiglog();
// this.getList()
// } else {
// this.$message.error(res.message)
// }
// })
this
.
$popupCacel
()
}
else
{
return
false
;
// 受理信息保存
slxxsubmitForm
()
{
this
.
$refs
.
form
.
validate
((
valid
)
=>
{
if
(
valid
)
{
// addUserCommonOpinion({ commonOpinion: this.form.commonOpinion }).then(res => {
// if (res.code == 200) {
// this.$message.success("新增成功")
// this.closeaddDiglog();
// this.getList()
// } else {
// this.$message.error(res.message)
// }
// })
}
else
{
return
false
;
}
});
this
.
isshow
=
false
;
},
// 审批意见保存
spyjsubmitForm
()
{
console
.
log
(
"this.ruleForm"
,
this
.
ruleForm
);
// this.ruleForm.bsmSlsq = this.bsmSlsq
// this.ruleForm.bestepid = this.bestepid
// saveSpyjBySlsq(this.ruleForm).then(res => {
// if (res.code === 200) {
// this.$message.success("保存成功")
// this.refresh += 1
// } else {
// this.$message.error(res.message)
// }
// })
},
// 材料信息保存
clxxsubmitForm
()
{},
closeDialog
()
{
this
.
$alert
(
"取消后填写内容将被清空"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
callback
:
(
action
)
=>
{
this
.
$message
({
type
:
"info"
,
message
:
"已取消"
,
});
this
.
$popupCacel
();
this
.
$refs
[
"form"
].
resetFields
();
},
});
// this.resetTableFields();
},
handleTabClick
()
{},
//使用常用意见
useOpinion
(
opinion
)
{
this
.
ruleForm
.
shyj
=
opinion
;
},
// 材料上传
// 自动预览
nextPriview
()
{
if
(
this
.
treeCheckIndex
<
this
.
tableData
.
length
)
{
this
.
treeCheckIndex
++
this
.
treeCheckId
=
this
.
tableData
[
this
.
treeCheckIndex
].
bsmSj
this
.
previewImg
.
index
=
0
this
.
previewImg
.
imgList
=
this
.
tableData
[
this
.
treeCheckIndex
].
children
this
.
previewImg
.
bsmSj
=
this
.
tableData
[
this
.
treeCheckIndex
].
bsmSj
}
},
prevPriview
()
{
if
(
this
.
treeCheckIndex
>=
1
)
{
this
.
treeCheckIndex
--
this
.
treeCheckId
=
this
.
tableData
[
this
.
treeCheckIndex
].
bsmSj
this
.
previewImg
.
index
=
this
.
previewImg
.
imgList
.
length
this
.
previewImg
.
imgList
=
this
.
tableData
[
this
.
treeCheckIndex
].
children
this
.
previewImg
.
bsmSj
=
this
.
tableData
[
this
.
treeCheckIndex
].
bsmSj
}
},
// 材料目录明细初始化
clmlInitList
(
type
)
{
this
.
tableData
=
[]
//type 1:列表初始化 2:新增材料
// return new Promise(resolve => {
// this.unitData = this.$parent.unitData;
// var formdata = new FormData();
// formdata.append("bsmSldy", this.unitData[0]?.bsmSldy);
// formdata.append("bsmSlsq", this.$parent.bsmSlsq);
// InitClml(formdata).then((res) => {
// if (res.code == 200) {
// resolve(res.code)
// if (res.result && res.result.length > 0) {
// if (type == 1) {
// this.treeClick(this.tableData[0], 0);
// } else {
// //新增材料后刷新列表焦点置于新增的对象上
// this.treeClick(this.tableData[this.tableData.length - 1], this.tableData.length - 1);
// }
// }
// } else {
// this.$message.error(res.message)
// }
// })
// })
},
setChecked
(
item
)
{
this
.
treeCheckId
=
item
.
bsmSj
;
this
.
title
=
item
.
sjmc
;
this
.
titleYs
=
1
;
this
.
titleNum
=
item
.
children
.
length
;
this
.
previewImg
.
imgList
=
item
.
children
;
this
.
previewImg
.
bsmSj
=
item
.
bsmSj
;
},
updateList
(
val
)
{
let
that
=
this
if
(
val
!=
null
)
{
//删除最后一张图片时 val=null
this
.
tableData
.
forEach
(
item
=>
{
if
(
item
.
bsmSj
===
val
.
bsmSj
)
{
item
.
children
=
val
.
children
}
})
this
.
previewImg
.
imgList
=
_
.
cloneDeep
(
val
.
children
)
if
(
this
.
previewImg
.
index
==
this
.
previewImg
.
imgList
.
length
)
{
this
.
previewImg
.
index
=
this
.
previewImg
.
index
-
1
}
}
else
{
this
.
previewImg
.
imgList
=
[]
this
.
tableData
.
forEach
((
item
,
index
)
=>
{
if
(
this
.
treeCheckId
==
item
.
bsmSj
)
{
item
.
children
=
[]
that
.
treeCheckIndex
=
index
}
})
}
},
// 添加材料目录
handleAdd
()
{
console
.
log
(
"新增"
);
this
.
isDialog
=
true
;
},
// 新增弹窗保存
addSave
(
data
)
{
let
obj
=
{
bsmSlsq
:
this
.
$parent
.
bsmSlsq
,
isrequired
:
"1"
,
sjmc
:
data
.
clmc
,
sjsl
:
0
,
smzt
:
''
,
ys
:
0
,
sjlx
:
data
.
cllx
,
sfxjcl
:
"1"
,
// 是否必选
};
saveClml
(
obj
).
then
(
async
(
res
)
=>
{
if
(
res
.
code
==
200
)
{
let
res
=
await
this
.
clmlInitList
(
2
)
if
(
res
==
200
)
this
.
$message
({
message
:
"新增成功"
,
type
:
"success"
,
})
}
});
},
closeDialog
()
{
this
.
$popupCacel
()
this
.
$refs
[
'form'
].
resetFields
();
// this.resetTableFields();
}
// 材料目录点击选中
treeClick
(
item
,
index
)
{
this
.
previewImg
.
index
=
0
this
.
treeCheckId
=
item
?.
bsmSj
this
.
treeCheckIndex
=
index
this
.
previewImg
.
imgList
=
item
?.
children
this
.
previewImg
.
bsmSj
=
item
?.
bsmSj
},
// 小图片点击
imgClick
(
item
,
index
)
{
this
.
showImg
=
item
;
this
.
titleYs
=
index
+
1
;
},
// 字典
dicStatus
(
val
,
code
)
{
let
data
=
this
.
$store
.
getters
.
dictData
[
code
],
name
=
"暂无"
;
if
(
data
)
{
data
.
map
((
item
)
=>
{
if
(
item
.
dcode
==
val
)
{
name
=
item
.
dname
}
});
return
name
}
},
//查看明细
viewDetail
()
{
console
.
log
(
"查看明细"
);
this
.
$popupDialog
(
"查看明细"
,
"djbBook/components/clxxDetailDialog"
,
{
data
:
this
.
tableData
},
"60%"
)
},
//设置tableData
setTableData
(
tableData
)
{
this
.
$nextTick
(
res
=>
{
this
.
tableData
=
tableData
;
})
},
},
};
</
script
>
...
...
@@ -104,18 +540,237 @@ export default {
@import
"~@/styles/mixin.scss"
;
@import
"~@/styles/public.scss"
;
.jtfccx-edit
{
.from-clues-header
{
@include
flex;
flex-direction
:
column
;
overflow-y
:
hidden
;
max-height
:
85vh
;
height
:
620px
;
padding
:
0
2px
;
.btn
{
margin-top
:
40px
;
margin-bottom
:
20px
;
text-align
:
center
;
}
}
//
审批意见样式
.spyj
{
.box
{
overflow-x
:
auto
;
width
:
100%
;
height
:
95%
;
background
:
#fff
;
text-align
:
center
;
padding
:
4px
;
overflow-y
:
scroll
;
padding-top
:
20px
;
padding
:
20px
40px
;
/deep/.el-input__inner
{
width
:
200px
;
border
:
none
;
}
}
.spyj_title
{
line-height
:
68px
;
border
:
1px
solid
$
borderColor
;
text-align
:
center
;
font-size
:
22px
;
font-weight
:
400
;
background-color
:
#eceef2
;
display
:
block
;
border-bottom
:
none
;
}
/
deep
/
.el-form-item
{
margin-bottom
:
0
;
}
.bottom10
{
margin-bottom
:
15px
;
}
.spyj_form
{
display
:
flex
;
border
:
1px
solid
$
borderColor
;
.item_left
{
width
:
150px
;
background-color
:
#f8f8fa
;
color
:
#606266
;
display
:
flex
;
font-size
:
14px
;
text-indent
:
80px
;
align-items
:
center
;
border-right
:
1px
solid
$
borderColor
;
}
.item_right
{
flex
:
1
;
width
:
100%
;
/deep/.el-form-item__label
{
background-color
:
#f8f8fa
;
}
/
deep
/
.el-form-item__content
{
display
:
block
;
text-align
:
left
;
text-indent
:
10px
;
}
.opinion_item
{
/deep/.el-form-item__error
{
margin-top
:
-16px
!important
;
left
:
3px
;
}
border-bottom
:
1px
solid
$
borderColor
;
}
.opinion
{
position
:
relative
;
font-size
:
14px
;
.btn{
text-align
:
center
;
/deep/.el-textarea__inner
{
border
:
none
;
}
}
}
.opinion_btn
{
position
:
absolute
;
right
:
15px
;
bottom
:
10px
;
}
}
}
.submit_button
{
text-align
:
center
;
margin
:
15px
0
;
}
}
//
材料信息样式
.active
{
background
:
$
light-blue
!important
;
color
:
#fff
;
}
.required
{
font-size
:
12px
;
color
:
$
pink
;
float
:
left
;
}
.cl_number
{
float
:
right
;
}
.clxx
{
width
:
100%
;
display
:
flex
;
padding-left
:
5px
;
height
:
calc
(
100vh
-
125px
);
.left
{
display
:
flex
;
flex-direction
:
column
;
justify-content
:
space-between
;
.item
{
width
:
28px
;
height
:
49%
;
@include
flex-center;
background-color
:
#e4e7ed
;
border-bottom-right-radius
:
10px
;
padding
:
5px
;
cursor
:
pointer
;
transition
:
all
0.3s
;
&:hover
{
@extend
.active;
}
}
}
.right
{
width
:
100%
;
height
:
100%
;
.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
;
}
}
.clyl-box
{
width
:
100%
;
height
:
100%
;
display
:
flex
;
.menu-tree
{
width
:
20%
;
min-width
:
160px
;
height
:
100%
;
margin-right
:
10px
;
border-right
:
1px
dotted
#d9d9d9
;
padding
:
0
15px
;
.item
{
line-height
:
30px
;
padding-top
:
5px
;
border-bottom
:
1px
solid
#e8e8e8
;
font-size
:
16px
;
text-align
:
center
;
color
:
$
light-blue
;
.itemIcon
{
float
:
right
;
line-height
:
60px
;
cursor
:
pointer
;
}
.child
{
line-height
:
32px
;
border-bottom
:
1px
solid
#e8e8e8
;
padding-left
:
10px
;
color
:
#6b6b6b
;
cursor
:
pointer
;
box-sizing
:
border-box
;
border-radius
:
6px
;
line-height
:
20px
;
transition
:
all
0.3s
;
padding
:
8px
0
;
}
.child
:hover
{
color
:
$
light-blue
;
transform
:
scale
(
1.1
);
}
.checked
{
border
:
1px
solid
$
light-blue
;
color
:
$
light-blue
;
}
}
}
.clyl-img
{
width
:
75%
;
height
:
100%
;
background
:
#f3f4f7
;
margin
:
0
auto
;
position
:
relative
;
}
}
}
}
</
style
>
...
...
src/views/djbBook/components/tabsconcent/clxxAddDialog.vue
0 → 100644
View file @
3c8e2f8
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-09 09:20:10
-->
<
template
>
<dialogBox
title=
"新建材料信息"
width=
"20%"
isMain
v-model=
"myValue"
@
closeDialog=
"closeDialog"
@
submitForm=
"handleSubmit"
:isFullscreen=
"false"
>
<el-form
:model=
"ruleForm"
ref=
"ruleForm"
label-width=
"70px"
>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"材料类型"
>
<el-select
v-model=
"ruleForm.cllx"
class=
"width100"
placeholder=
"请选择"
>
<el-option
v-for=
"item in dictData['A40']"
:key=
"item.dcode"
:label=
"item.dname"
:value=
"item.dcode"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"材料名称"
>
<el-input
v-model=
"ruleForm.clmc"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</dialogBox>
</
template
>
<
script
>
import
{
mapGetters
}
from
"vuex"
;
export
default
{
props
:
{
value
:
{
type
:
Boolean
,
default
:
false
},
},
data
()
{
return
{
myValue
:
this
.
value
,
ruleForm
:
{
cllx
:
""
,
clmc
:
""
,
},
};
},
computed
:
{
...
mapGetters
([
"dictData"
]),
},
watch
:
{
value
(
val
)
{
this
.
myValue
=
val
;
},
},
methods
:
{
closeDialog
()
{
this
.
$emit
(
"input"
,
false
);
this
.
ruleForm
=
{
cllx
:
""
,
clmc
:
""
,
}
},
handleSubmit
()
{
this
.
$parent
.
addSave
(
this
.
ruleForm
);
this
.
ruleForm
=
{
cllx
:
""
,
clmc
:
""
,
}
this
.
$emit
(
"input"
,
false
);
},
},
};
</
script
>
<
style
scoped
lang=
"scss"
>
.submit-button
{
text-align
:
center
;
height
:
52px
;
padding-top
:
10px
;
background-color
:
#fff
;
}
</
style
>
src/views/djbBook/components/tabsconcent/clxxUnify.vue
0 → 100644
View file @
3c8e2f8
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-17 10:40:38
-->
<
template
>
<div
class=
"clxx"
>
<div
class=
"right"
>
<!-- 材料预览 -->
<div
class=
"clyl-box"
>
<div
class=
"menu-tree"
>
<el-button
type=
"primary"
native-type=
"submit"
@
click=
"viewDetail"
style=
"width:100%;margin-top:10px;"
>
查看明细
</el-button>
<div
class=
"item"
>
材料目录(
{{
tableData
.
length
}}
)
<div
style=
"margin-top:10px"
>
<div
style=
"text-align: center;line-height:20px;color:black;font-size:14px"
v-if=
"tableData.length == 0"
>
暂无数据
</div>
<div
v-for=
"(item,index) in tableData"
:key=
"item.bsmSj"
:class=
"['child', treeCheckId == item.bsmSj ? 'checked' : '']"
@
click=
"treeClick(item,index)"
>
<span
v-if=
"item.isrequired==1"
class=
"required"
>
必选
</span>
{{
item
.
sjmc
}}
<span
class=
"cl_number"
>
(
{{
item
.
children
?
item
.
children
.
length
:
0
}}
)
</span>
</div>
</div>
</div>
<el-button
type=
"primary"
native-type=
"submit"
style=
"width:100%"
@
click=
"handleAdd()"
v-if=
"!this.$route.query.viewtype"
>
新增
</el-button>
</div>
<image-preview
ref=
'imageRef'
:previewImg=
"previewImg"
@
updateList=
"updateList"
@
nextPriview=
"nextPriview"
@
prevPriview=
"prevPriview"
/>
</div>
</div>
<clxxAddDialog
v-model=
"isDialog"
/>
</div>
</
template
>
<
script
>
import
{
mapGetters
}
from
"vuex"
;
import
clxxAddDialog
from
"./clxxAddDialog.vue"
;
import
{
InitClml
,
saveClml
,
deleteSjClml
,
moveClml
}
from
"@/api/clxx.js"
;
export
default
{
components
:
{
clxxAddDialog
},
data
()
{
return
{
isDialog
:
false
,
iclass
:
""
,
// 材料目录选中
treeCheckIndex
:
0
,
treeCheckId
:
""
,
key
:
0
,
tableData
:
[],
previewImg
:
{
// 收件标识码
bsmSj
:
''
,
bsmSlsq
:
this
.
$parent
.
bsmSlsq
,
index
:
0
,
selectedIndex
:
0
,
imgList
:
[]
}
}
},
computed
:
{
...
mapGetters
([
"dictData"
])
},
created
()
{
this
.
clmlInitList
(
1
)
},
methods
:
{
// 自动预览
nextPriview
()
{
if
(
this
.
treeCheckIndex
<
this
.
tableData
.
length
)
{
this
.
treeCheckIndex
++
this
.
treeCheckId
=
this
.
tableData
[
this
.
treeCheckIndex
].
bsmSj
this
.
previewImg
.
index
=
0
this
.
previewImg
.
imgList
=
this
.
tableData
[
this
.
treeCheckIndex
].
children
this
.
previewImg
.
bsmSj
=
this
.
tableData
[
this
.
treeCheckIndex
].
bsmSj
}
},
prevPriview
()
{
if
(
this
.
treeCheckIndex
>=
1
)
{
this
.
treeCheckIndex
--
this
.
treeCheckId
=
this
.
tableData
[
this
.
treeCheckIndex
].
bsmSj
this
.
previewImg
.
index
=
this
.
previewImg
.
imgList
.
length
this
.
previewImg
.
imgList
=
this
.
tableData
[
this
.
treeCheckIndex
].
children
this
.
previewImg
.
bsmSj
=
this
.
tableData
[
this
.
treeCheckIndex
].
bsmSj
}
},
// 材料目录明细初始化
clmlInitList
(
type
)
{
//type 1:列表初始化 2:新增材料
return
new
Promise
(
resolve
=>
{
this
.
unitData
=
this
.
$parent
.
unitData
;
var
formdata
=
new
FormData
();
formdata
.
append
(
"bsmSldy"
,
this
.
unitData
[
0
]?.
bsmSldy
);
formdata
.
append
(
"bsmSlsq"
,
this
.
$parent
.
bsmSlsq
);
InitClml
(
formdata
).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
resolve
(
res
.
code
)
if
(
res
.
result
&&
res
.
result
.
length
>
0
)
{
this
.
tableData
=
res
.
result
;
if
(
type
==
1
)
{
this
.
treeClick
(
this
.
tableData
[
0
],
0
);
}
else
{
//新增材料后刷新列表焦点置于新增的对象上
this
.
treeClick
(
this
.
tableData
[
this
.
tableData
.
length
-
1
],
this
.
tableData
.
length
-
1
);
}
}
}
else
{
this
.
$message
.
error
(
res
.
message
)
}
})
})
},
setChecked
(
item
)
{
this
.
treeCheckId
=
item
.
bsmSj
;
this
.
title
=
item
.
sjmc
;
this
.
titleYs
=
1
;
this
.
titleNum
=
item
.
children
.
length
;
this
.
previewImg
.
imgList
=
item
.
children
;
this
.
previewImg
.
bsmSj
=
item
.
bsmSj
;
},
updateList
(
val
)
{
let
that
=
this
if
(
val
!=
null
)
{
//删除最后一张图片时 val=null
this
.
tableData
.
forEach
(
item
=>
{
if
(
item
.
bsmSj
===
val
.
bsmSj
)
{
item
.
children
=
val
.
children
}
})
this
.
previewImg
.
imgList
=
_
.
cloneDeep
(
val
.
children
)
if
(
this
.
previewImg
.
index
==
this
.
previewImg
.
imgList
.
length
)
{
this
.
previewImg
.
index
=
this
.
previewImg
.
index
-
1
}
}
else
{
this
.
previewImg
.
imgList
=
[]
this
.
tableData
.
forEach
((
item
,
index
)
=>
{
if
(
this
.
treeCheckId
==
item
.
bsmSj
)
{
item
.
children
=
[]
that
.
treeCheckIndex
=
index
}
})
}
},
// 添加材料目录
handleAdd
()
{
this
.
isDialog
=
true
;
},
// 新增弹窗保存
addSave
(
data
)
{
let
obj
=
{
bsmSlsq
:
this
.
$parent
.
bsmSlsq
,
isrequired
:
"1"
,
sjmc
:
data
.
clmc
,
sjsl
:
0
,
smzt
:
''
,
ys
:
0
,
sjlx
:
data
.
cllx
,
sfxjcl
:
"1"
,
// 是否必选
};
saveClml
(
obj
).
then
(
async
(
res
)
=>
{
if
(
res
.
code
==
200
)
{
let
res
=
await
this
.
clmlInitList
(
2
)
if
(
res
==
200
)
this
.
$message
({
message
:
"新增成功"
,
type
:
"success"
,
})
}
});
},
// 材料目录点击选中
treeClick
(
item
,
index
)
{
this
.
previewImg
.
index
=
0
this
.
treeCheckId
=
item
?.
bsmSj
this
.
treeCheckIndex
=
index
this
.
previewImg
.
imgList
=
item
?.
children
this
.
previewImg
.
bsmSj
=
item
?.
bsmSj
},
// 小图片点击
imgClick
(
item
,
index
)
{
this
.
showImg
=
item
;
this
.
titleYs
=
index
+
1
;
},
// 字典
dicStatus
(
val
,
code
)
{
let
data
=
this
.
$store
.
getters
.
dictData
[
code
],
name
=
"暂无"
;
if
(
data
)
{
data
.
map
((
item
)
=>
{
if
(
item
.
dcode
==
val
)
{
name
=
item
.
dname
}
});
return
name
}
},
//查看明细
viewDetail
()
{
this
.
$popupDialog
(
"查看明细"
,
"workflow/components/dialog/clxxDetailDialog"
,
{
data
:
this
.
tableData
},
"60%"
)
},
//设置tableData
setTableData
(
tableData
)
{
this
.
$nextTick
(
res
=>
{
this
.
tableData
=
tableData
;
})
},
},
};
</
script
>
<
style
scoped
lang=
'scss'
>
@import
"~@/styles/mixin.scss"
;
.active
{
background
:
$
light-blue
!important
;
color
:
#fff
;
}
.required
{
font-size
:
12px
;
color
:
$
pink
;
float
:
left
;
}
.cl_number
{
float
:
right
;
}
.clxx
{
width
:
100%
;
display
:
flex
;
padding-left
:
5px
;
height
:
calc
(
100vh
-
125px
);
.left
{
display
:
flex
;
flex-direction
:
column
;
justify-content
:
space-between
;
.item
{
width
:
28px
;
height
:
49%
;
@include
flex-center;
background-color
:
#e4e7ed
;
border-bottom-right-radius
:
10px
;
padding
:
5px
;
cursor
:
pointer
;
transition
:
all
0.3s
;
&:hover
{
@extend
.active;
}
}
}
.right
{
width
:
100%
;
height
:
100%
;
.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
;
}
}
.clyl-box
{
width
:
100%
;
height
:
100%
;
display
:
flex
;
.menu-tree
{
width
:
20%
;
min-width
:
160px
;
height
:
100%
;
margin-right
:
10px
;
border-right
:
1px
dotted
#d9d9d9
;
padding
:
0
15px
;
.item
{
line-height
:
30px
;
padding-top
:
5px
;
border-bottom
:
1px
solid
#e8e8e8
;
font-size
:
16px
;
text-align
:
center
;
color
:
$
light-blue
;
.itemIcon
{
float
:
right
;
line-height
:
60px
;
cursor
:
pointer
;
}
.child
{
line-height
:
32px
;
border-bottom
:
1px
solid
#e8e8e8
;
padding-left
:
10px
;
color
:
#6b6b6b
;
cursor
:
pointer
;
box-sizing
:
border-box
;
border-radius
:
6px
;
line-height
:
20px
;
transition
:
all
0.3s
;
padding
:
8px
0
;
}
.child
:hover
{
color
:
$
light-blue
;
transform
:
scale
(
1.1
);
}
.checked
{
border
:
1px
solid
$
light-blue
;
color
:
$
light-blue
;
}
}
}
.clyl-img
{
width
:
75%
;
height
:
100%
;
background
:
#f3f4f7
;
margin
:
0
auto
;
position
:
relative
;
}
}
}
}
</
style
>
src/views/djbBook/components/tabsconcent/spyj.vue
0 → 100644
View file @
3c8e2f8
<!--
* @Description: 功能:审批意见
* @Autor: renchao
* @LastEditTime: 2023-05-17 10:41:24
-->
<
template
>
<div
class=
'spyj loadingtext'
>
<div
class=
"box"
>
<b
class=
"spyj_title"
>
审批表
</b>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"120px"
>
<div
class=
"spyj_form"
v-for=
"(item, index) in tableData"
:key=
"index"
>
<div
class=
"item_left"
>
{{
item
.
jdmc
}}
意见
</div>
<div
class=
"item_right"
>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label-width=
"0"
class=
"opinion_item"
prop=
"shyj"
>
<el-input
type=
"textarea"
:rows=
"4"
class=
"opinion"
placeholder=
"请输入审批意见"
v-if=
"item.stepShjy == '1' && ableOperation"
v-model=
"ruleForm.shyj"
></el-input>
<el-input
type=
"textarea"
:rows=
"4"
class=
"opinion"
v-model=
"item.shyj"
v-else
:disabled=
"true"
>
</el-input>
<el-button
class=
"opinion_btn"
@
click=
"commonOpinion"
v-if=
"item.stepShjy == '1' && ableOperation"
>
常用意见
</el-button>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"16"
>
<el-form-item
label=
"审查人"
prop=
"shryxm"
>
{{
item
.
shryxm
}}
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"审核时间"
prop=
"shjssj"
:key=
"refresh"
>
{{
item
.
shjssj
}}
</el-form-item>
</el-col>
</el-row>
</div>
</div>
<div
class=
"submit_button"
v-if=
"ableOperation"
>
<el-button
type=
"primary"
@
click=
"onSubmit"
>
保存
</el-button>
</div>
</el-form>
</div>
<el-empty
v-if=
"isNoData"
description=
"暂无数据"
></el-empty>
</div>
</
template
>
<
script
>
import
{
getSpyjList
,
saveSpyj
,
saveSpyjBySlsq
}
from
"@/api/fqsq.js"
;
import
{
mapGetters
}
from
'vuex'
export
default
{
computed
:
{
...
mapGetters
([
'userData'
,
'yjsqOptions'
])
},
data
()
{
return
{
isNoData
:
false
,
bsmSlsq
:
''
,
//刷新值
refresh
:
10
,
ableOperation
:
true
,
bsmSlsq
:
this
.
$route
.
query
.
bsmSlsq
,
bestepid
:
this
.
$route
.
query
.
bestepid
,
ruleForm
:
{},
rules
:
{
shyj
:
[
{
required
:
true
,
message
:
'请输入审批意见'
,
trigger
:
'blur'
}
],
},
tableData
:
[],
propsParam
:
{}
}
},
watch
:
{
yjsqOptions
:
{
handler
(
val
)
{
this
.
ruleForm
.
shyj
=
val
},
deep
:
true
,
immediate
:
true
},
},
mounted
()
{
this
.
propsParam
=
this
.
$attrs
;
if
(
this
.
$route
.
query
.
viewtype
)
{
this
.
ableOperation
=
false
}
this
.
list
();
},
methods
:
{
//审批意见数据初始化
list
()
{
let
that
=
this
this
.
$startLoading
()
var
formdata
=
new
FormData
();
formdata
.
append
(
"bsmBusiness"
,
this
.
propsParam
.
bsmBusiness
);
formdata
.
append
(
"bestepid"
,
this
.
$route
.
query
.
bestepid
);
formdata
.
append
(
"ableOperation"
,
this
.
ableOperation
)
getSpyjList
(
formdata
).
then
((
res
)
=>
{
this
.
$endLoading
()
if
(
res
.
code
===
200
&&
res
.
result
)
{
this
.
tableData
=
res
.
result
?
res
.
result
:
[]
if
(
res
.
result
.
length
==
0
)
{
that
.
isNoData
=
true
}
this
.
ruleForm
=
res
.
result
[
res
.
result
.
length
-
1
]
}
})
},
onSubmit
()
{
this
.
ruleForm
.
bsmSlsq
=
this
.
bsmSlsq
this
.
ruleForm
.
bestepid
=
this
.
bestepid
saveSpyjBySlsq
(
this
.
ruleForm
).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
this
.
$message
.
success
(
"保存成功"
)
this
.
refresh
+=
1
}
else
{
this
.
$message
.
error
(
res
.
message
)
}
})
},
//打开常用意见列表弹窗
commonOpinion
()
{
this
.
$popupDialog
(
"常用意见"
,
"workflow/components/dialog/commonOpinion"
,
{},
"70%"
,
true
)
},
//使用常用意见
useOpinion
(
opinion
)
{
this
.
ruleForm
.
shyj
=
opinion
}
}
}
</
script
>
<
style
scoped
lang=
'scss'
>
@import
"~@/styles/mixin.scss"
;
.spyj
{
width
:
100%
;
height
:
100%
;
background-color
:
#f5f5f5
;
padding
:
5px
;
.box
{
overflow-x
:
auto
;
width
:
100%
;
height
:
95%
;
background
:
#fff
;
text-align
:
center
;
padding
:
4px
;
overflow-y
:
scroll
;
padding-top
:
20px
;
padding
:
20px
40px
;
}
.spyj_title
{
line-height
:
68px
;
border
:
1px
solid
$
borderColor
;
text-align
:
center
;
font-size
:
22px
;
font-weight
:
400
;
background-color
:
#eceef2
;
display
:
block
;
border-bottom
:
none
;
}
/
deep
/
.el-form-item
{
margin-bottom
:
0
;
}
.bottom10
{
margin-bottom
:
15px
;
}
.spyj_form
{
display
:
flex
;
border
:
1px
solid
$
borderColor
;
.item_left
{
width
:
150px
;
background-color
:
#f8f8fa
;
color
:
#606266
;
display
:
flex
;
font-size
:
14px
;
text-indent
:
80px
;
align-items
:
center
;
border-right
:
1px
solid
$
borderColor
;
}
.item_right
{
flex
:
1
;
width
:
100%
;
/deep/.el-form-item__label
{
background-color
:
#f8f8fa
;
}
/
deep
/
.el-form-item__content
{
display
:
block
;
text-align
:
left
;
text-indent
:
10px
;
}
.opinion_item
{
/deep/.el-form-item__error
{
margin-top
:
-16px
!important
;
left
:
3px
;
}
border-bottom
:
1px
solid
$
borderColor
;
}
.opinion
{
position
:
relative
;
font-size
:
14px
;
/deep/.el-textarea__inner
{
border
:
none
;
}
}
.opinion_btn
{
position
:
absolute
;
right
:
15px
;
bottom
:
10px
;
}
}
}
.submit_button
{
text-align
:
center
;
margin
:
15px
0
;
}
}
</
style
>
src/views/djbBook/jsydsyq.vue
View file @
3c8e2f8
<!--
* @Description :国有建设用地使用权
* @Autor : miaofang
* @LastEditTime : 2023-06-0
2 17:11:35
* @LastEditTime : 2023-06-0
5 15:40:51
-->
<
template
>
<div
class=
"djxxTable"
>
...
...
@@ -78,6 +78,7 @@
},
methods
:
{
loadData
()
{
console
.
log
(
" this.propsParam"
,
this
.
propsParam
);
getJsydsyqList
({
bdcdyid
:
this
.
propsParam
.
bdcdyid
,
qllx
:
this
.
propsParam
.
qllx
,
...
...
src/views/djbworkflow/components/clxxUnify.vue
View file @
3c8e2f8
<!--
* @Description:
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-05-17 10:40:38
-->
...
...
@@ -335,4 +335,4 @@
}
}
}
</
style
>
\ No newline at end of file
</
style
>
...
...
src/views/djbworkflow/components/leftmenu/ordinaryMenu.vue
View file @
3c8e2f8
...
...
@@ -7,7 +7,7 @@
<div
class=
"leftmenu"
:class=
"
{ 'animation-map-drawer': isShowdrawer }">
<div
v-if=
"this.isShowdrawer"
>
<div
class=
"title"
>
登记簿列表
登记簿
补录业务
列表
</div>
<el-tree
ref=
"tree"
:data=
"treedata"
:props=
"defaultProps"
@
node-click=
"handleNodeClick"
:default-expand-all=
"true"
:expand-on-click-node=
"false"
node-key=
"id"
:default-checked-keys=
"[showTab]"
>
...
...
@@ -105,10 +105,13 @@ import { loadTreeData, getNode } from "./djbFrameData.js";
bdcdyh
:
this
.
bdcdyh
,
qllx
:
this
.
qllx
,
bsmQlxx
:
this
.
bsmQlxx
,
bestepid
:
this
.
bestepid
};
// this.$parent.stepForm();
},
handleNodeClick
(
data
,
node
,
elem
)
{
console
.
log
(
"this.currentSelectProps"
,
this
.
currentSelectProps
);
console
.
log
(
"data"
,
data
);
this
.
$parent
.
loadComponent
(
this
.
currentSelectProps
,
data
);
this
.
$parent
.
tabset
();
},
...
...
Please
register
or
sign in
to post a comment