Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
patzn-cloud-web-back-soil
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
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangweidong
patzn-cloud-web-back-soil
Commits
8facabfc
Commit
8facabfc
authored
Jan 06, 2021
by
lichengming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改了委托单登记
parent
9fc27800
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
1165 additions
and
25 deletions
+1165
-25
BatchUpload.vue
components/file/entrust-file-manage/BatchUpload.vue
+170
-0
BatchUploadSample.vue
components/file/entrust-file-manage/BatchUploadSample.vue
+172
-0
FileManage.vue
components/file/entrust-file-manage/FileManage.vue
+35
-0
FileManageCont.vue
components/file/entrust-file-manage/FileManageCont.vue
+229
-0
FilesList.vue
components/file/entrust-file-manage/FilesList.vue
+458
-0
FilesListView.vue
components/file/file-manage-sample-view/FilesListView.vue
+2
-4
EntrustRegister.vue
pages/meter-entrust/entrust-register/EntrustRegister.vue
+20
-13
EntrustRegisterEdit.vue
pages/meter-entrust/entrust-register/EntrustRegisterEdit.vue
+79
-8
No files found.
components/file/entrust-file-manage/BatchUpload.vue
0 → 100644
View file @
8facabfc
<
template
>
<div>
<Modal
v-model=
"showEditModal"
:mask-closable=
"false"
width=
"600"
>
<p
slot=
"header"
>
{{
modalTitle
}}
</p>
<div>
<Upload
:action=
"action"
:show-upload-list=
"false"
:before-upload=
"_beupload"
multiple
>
<Button
type=
"dashed"
icon=
"ios-cloud-upload-outline"
>
上传文件(小于50MB)
</Button>
</Upload>
<div>
<Card
:dis-hover=
"true"
style=
"width: 100%;height: 400px;overflow: auto;"
>
<p
slot=
"title"
>
已上传文件列表
</p>
<div
v-for=
"(item,index) in fileList"
:key=
"index"
class=
"file-upload-list"
>
<div>
<div
class=
"file-upload-list-cover"
>
<Icon
@
click
.
native
.
stop=
"_handleRemove(item)"
type=
"md-trash"
style=
"color: white;font-size: 20px;"
></Icon>
</div>
</div>
{{
item
.
fileName
}}
</div>
</Card>
</div>
</div>
<div
slot=
"footer"
class=
"btn-width"
>
<Button
@
click=
"showEditModal = false"
>
取消
</Button>
<Button
@
click=
"_mutipleUpload"
:loading=
"isLoading"
type=
"primary"
>
{{
btnName
}}
</Button>
</div>
</Modal>
</div>
</
template
>
<
script
>
/**
* 上传文件,在文件夹下
*/
import
axios
from
'axios'
import
global
from
'../../../api/config'
import
loading
from
'../../../api/loading'
export
default
{
data
()
{
return
{
id
:
''
,
ID
:
''
,
action
:
''
,
modalTitle
:
''
,
showEditModal
:
false
,
name
:
''
,
isLoading
:
false
,
btnName
:
'上传'
,
fileList
:
[]
}
},
methods
:
{
_open
(
obj
)
{
this
.
fileList
=
[]
this
.
showEditModal
=
true
this
.
ID
=
obj
this
.
modalTitle
=
'上传文件'
},
_beupload
(
file
)
{
// 单个文件上传超过50M时,取消上传
const
isLt50M
=
file
.
size
/
1024
/
1024
<
50
const
fileName
=
file
.
name
.
split
(
'.'
)[
0
]
if
(
!
isLt50M
)
{
this
.
$Message
.
warning
({
content
:
'文件 '
+
fileName
+
' 大小超多50M,请重新上传!'
,
duration
:
3
})
this
.
isLoading
=
false
}
else
{
// 动态循环给文件命名
const
temObj
=
{
file
:
file
,
fileName
:
fileName
}
this
.
fileList
.
push
(
temObj
)
}
return
false
},
_mutipleUpload
()
{
if
(
this
.
fileList
.
length
>
0
&&
this
.
btnName
===
'上传'
)
{
this
.
isLoading
=
true
this
.
btnName
=
'上传中...'
// 创建formula对象
const
formData
=
new
FormData
()
formData
.
append
(
'entrustId'
,
this
.
ID
)
// 多个文件
for
(
let
i
=
0
;
i
<
this
.
fileList
.
length
;
i
++
)
{
formData
.
append
(
'file'
+
i
,
this
.
fileList
[
i
].
file
)
}
const
config
=
{
headers
:
{
'Content-Type'
:
'multipart/form-data'
}
}
const
instanceFile
=
axios
.
create
()
instanceFile
.
defaults
.
withCredentials
=
true
// 发起请求
instanceFile
.
post
(
global
.
baseURL
+
'/soil/v1/entrust_annex/upload_bath/'
+
this
.
ID
,
formData
,
{
headers
:
config
}
)
.
then
(
res
=>
{
if
(
res
.
data
.
code
===
'1'
)
{
this
.
$Message
.
success
(
'上传成功!'
)
this
.
showEditModal
=
false
this
.
$emit
(
'on-result-change'
)
}
else
if
(
res
.
data
.
code
===
'0'
)
{
loading
.
toast
.
show
(
res
.
data
.
code
,
res
.
data
.
msg
)
this
.
$Message
.
error
(
'操作失败'
)
}
this
.
_resetLoading
()
})
.
catch
(
err
=>
{
console
.
log
(
err
)
this
.
_resetLoading
()
})
}
else
{
this
.
$Message
.
warning
(
'请至少上传一个文件'
)
this
.
_resetLoading
()
}
},
_resetLoading
()
{
this
.
isLoading
=
false
this
.
btnName
=
'上传'
},
// 删除对应的上传的文件
_handleRemove
(
data
)
{
const
index
=
this
.
fileList
.
findIndex
(
item
=>
item
===
data
)
this
.
fileList
.
splice
(
index
,
1
)
}
}
}
</
script
>
<
style
>
.file-upload-list
{
display
:
inline-block
;
width
:
100px
;
height
:
100px
;
text-align
:
center
;
line-height
:
100px
;
border
:
1px
solid
transparent
;
border-radius
:
4px
;
overflow
:
hidden
;
background
:
#fff
;
position
:
relative
;
box-shadow
:
0
1px
1px
rgba
(
0
,
0
,
0
,
0.2
);
margin-right
:
4px
;
}
.file-upload-list
:hover
.file-upload-list-cover
{
display
:
block
;
}
.file-upload-list-cover
{
display
:
none
;
position
:
absolute
;
top
:
0
;
bottom
:
0
;
left
:
0
;
right
:
0
;
background
:
rgba
(
0
,
0
,
0
,
0.6
);
}
</
style
>
components/file/entrust-file-manage/BatchUploadSample.vue
0 → 100644
View file @
8facabfc
<
template
>
<div>
<Modal
v-model=
"showEditModal"
:mask-closable=
"false"
width=
"600"
>
<p
slot=
"header"
>
{{
modalTitle
}}
</p>
<div>
<Upload
:action=
"action"
:show-upload-list=
"false"
:before-upload=
"_beupload"
multiple
>
<Button
type=
"dashed"
icon=
"ios-cloud-upload-outline"
>
上传文件(小于50MB)
</Button>
</Upload>
<div>
<Card
:dis-hover=
"true"
style=
"width: 100%;height: 400px;overflow: auto;"
>
<p
slot=
"title"
>
已上传文件列表
</p>
<div
v-for=
"(item,index) in fileList"
:key=
"index"
class=
"file-upload-list"
>
<div>
<div
class=
"file-upload-list-cover"
>
<Icon
@
click
.
native
.
stop=
"_handleRemove(item)"
type=
"md-trash"
style=
"color: white;font-size: 20px;"
></Icon>
</div>
</div>
{{
item
.
fileName
}}
</div>
</Card>
</div>
</div>
<div
slot=
"footer"
class=
"btn-width"
>
<Button
@
click=
"showEditModal = false"
>
取消
</Button>
<Button
@
click=
"_mutipleUpload"
:loading=
"isLoading"
type=
"primary"
>
{{
btnName
}}
</Button>
</div>
</Modal>
</div>
</
template
>
<
script
>
/**
* 上传文件,在文件夹下
*/
import
axios
from
'axios'
import
global
from
'../../../api/config'
import
loading
from
'../../../api/loading'
export
default
{
data
()
{
return
{
id
:
''
,
ID
:
''
,
action
:
''
,
modalTitle
:
''
,
showEditModal
:
false
,
name
:
''
,
isLoading
:
false
,
btnName
:
'上传'
,
fileList
:
[]
}
},
methods
:
{
_open
(
obj
)
{
this
.
fileList
=
[]
this
.
showEditModal
=
true
this
.
ID
=
obj
this
.
modalTitle
=
'文件上传'
},
_beupload
(
file
)
{
// 单个文件上传超过50M时,取消上传
const
isLt50M
=
file
.
size
/
1024
/
1024
<
50
const
fileName
=
file
.
name
.
split
(
'.'
)[
0
]
if
(
!
isLt50M
)
{
this
.
$Message
.
warning
({
content
:
'文件 '
+
fileName
+
' 大小超多50M,请重新上传!'
,
duration
:
3
})
this
.
isLoading
=
false
}
else
{
// 动态循环给文件命名
const
temObj
=
{
file
:
file
,
fileName
:
fileName
}
this
.
fileList
.
push
(
temObj
)
}
return
false
},
_mutipleUpload
()
{
if
(
this
.
fileList
.
length
>
0
&&
this
.
btnName
===
'上传'
)
{
this
.
isLoading
=
true
this
.
btnName
=
'上传中...'
// 创建formula对象
const
formData
=
new
FormData
()
formData
.
append
(
'entrustId'
,
this
.
ID
)
// 多个文件
for
(
let
i
=
0
;
i
<
this
.
fileList
.
length
;
i
++
)
{
formData
.
append
(
'file'
+
i
,
this
.
fileList
[
i
].
file
)
}
const
config
=
{
headers
:
{
'Content-Type'
:
'multipart/form-data'
}
}
const
instanceFile
=
axios
.
create
()
instanceFile
.
defaults
.
withCredentials
=
true
// 发起请求
instanceFile
.
post
(
global
.
baseURL
+
'/soil/v1/alone_sample_annex/upload_bath/'
+
this
.
ID
,
formData
,
{
headers
:
config
}
)
.
then
(
res
=>
{
if
(
res
.
data
.
code
===
'1'
)
{
this
.
$Message
.
success
(
'上传成功!'
)
this
.
showEditModal
=
false
this
.
$emit
(
'on-result-change'
)
}
else
if
(
res
.
data
.
code
===
'0'
)
{
loading
.
toast
.
show
(
res
.
data
.
code
,
res
.
data
.
msg
)
this
.
$Message
.
error
(
'操作失败'
)
}
this
.
_resetLoading
()
})
.
catch
(
err
=>
{
console
.
log
(
err
)
this
.
_resetLoading
()
})
}
else
{
this
.
$Message
.
warning
(
'请至少上传一个文件'
)
this
.
_resetLoading
()
}
},
_resetLoading
()
{
this
.
isLoading
=
false
this
.
btnName
=
'上传'
},
// 删除对应的上传的文件
_handleRemove
(
data
)
{
const
index
=
this
.
fileList
.
findIndex
(
item
=>
item
===
data
)
this
.
fileList
.
splice
(
index
,
1
)
}
}
}
</
script
>
<
style
>
.file-upload-list
{
display
:
inline-block
;
width
:
100px
;
height
:
100px
;
text-align
:
center
;
line-height
:
100px
;
border
:
1px
solid
transparent
;
border-radius
:
4px
;
overflow
:
hidden
;
background
:
#fff
;
position
:
relative
;
box-shadow
:
0
1px
1px
rgba
(
0
,
0
,
0
,
0.2
);
margin-right
:
4px
;
}
.file-upload-list
:hover
.file-upload-list-cover
{
display
:
block
;
}
.file-upload-list-cover
{
display
:
none
;
position
:
absolute
;
top
:
0
;
bottom
:
0
;
left
:
0
;
right
:
0
;
background
:
rgba
(
0
,
0
,
0
,
0.6
);
}
</
style
>
components/file/entrust-file-manage/FileManage.vue
0 → 100644
View file @
8facabfc
<
template
>
<div>
<Modal
v-model=
"showModal"
:width=
"900"
v-drag
class=
"modal-footer-none zIndex-1100"
>
<p
slot=
"header"
>
{{
modalTitle
}}
</p>
<div>
<FileManageCont
ref=
"fileCont"
:flag=
"flag"
></FileManageCont>
</div>
</Modal>
</div>
</
template
>
<
script
>
import
FileManageCont
from
'./FileManageCont'
export
default
{
components
:
{
FileManageCont
},
props
:
{
// 只能删除自己的标识
flag
:
null
},
data
()
{
return
{
showModal
:
false
,
modalTitle
:
'附件管理'
}
},
methods
:
{
_open
(
id
,
key
)
{
this
.
showModal
=
true
this
.
$refs
.
fileCont
.
_open
(
id
,
key
)
}
}
}
</
script
>
components/file/entrust-file-manage/FileManageCont.vue
0 → 100644
View file @
8facabfc
<
template
>
<div>
<!--内容-->
<Row>
<!--查询-->
<Col
span=
"24"
style=
"margin-bottom: -10px"
>
<Form
:label-width=
"70"
inline
onsubmit=
"return false"
>
<label
class=
"label-sign"
></label>
<Form-item
label=
"文件名称:"
>
<Input
v-model=
"fileName"
@
on-enter=
"_search"
placeholder=
"请输入文件名称"
style=
"width:200px"
clearable
/>
</Form-item>
<Form-item
class=
"search-btn"
>
<Button
@
click=
"_search"
type=
"primary"
>
搜索
</Button>
</Form-item>
</Form>
</Col>
<!--列表-->
<Col
span=
"24"
>
<FilesList
ref=
"fileModal"
:fileName=
"fileName"
@
on-result-change=
"_fileData"
></FilesList>
</Col>
</Row>
<!--删除提示框-->
<ModalConfirm
ref=
"confirmModal"
:content=
"modalContent"
:btnModalList=
"btnModalList"
@
on-result-change=
"_modalResult"
></ModalConfirm>
</div>
</
template
>
<
script
>
import
ModalConfirm
from
'../../base/ModalConfirm'
import
{
meterEntrust
}
from
'../../../api'
import
FilesList
from
'./FilesList'
export
default
{
components
:
{
FilesList
,
ModalConfirm
},
props
:
{
// 只能删除自己的标识
flag
:
null
},
data
()
{
return
{
fileName
:
''
,
selectIds
:
[],
getPage
:
{},
// ids
contractId
:
''
,
sampleId
:
''
,
subcontractorId
:
''
,
originalRecordId
:
''
,
curveId
:
''
,
// 用于区分是哪种附件(合同、委托、样品)
idKey
:
''
,
// 弹框的内容
modalContent
:
''
,
btnModalList
:
[
{
type
:
''
,
name
:
'取消'
},
{
type
:
'primary'
,
name
:
'确定'
}
],
//
deleteId
:
[],
urlData
:
{}
}
},
methods
:
{
/**
* msg:表示是哪种附件(委托,样品,分包商)
* pageUrl:page 请求地址
* deleteUrl:删除请求地址
* uploadFileUrl:上传地址
* downloadFileUrl:下载地址
* uri:预览请求地址
* viewUri:预览图片地址
* downloadBatch:批量打包下载
*/
_open
(
id
,
key
)
{
this
.
fileName
=
''
this
.
showModal
=
true
this
.
contractId
=
''
this
.
sampleId
=
''
this
.
subcontractorId
=
''
this
.
originalRecordId
=
''
this
.
curveId
=
''
this
.
entrustId
=
''
this
.
idKey
=
key
switch
(
key
)
{
// 委托
case
'contractId'
:
this
.
contractId
=
id
this
.
urlData
=
{
msg
:
'FoodContractAttachment'
,
pageUrl
:
'/meter/v1/entrust_attachment/page'
,
deleteUrl
:
'/meter/v1/entrust_attachment/?ids='
,
uploadFileUrl
:
'/meter/v1/entrust_attachment/upload/'
,
downloadFileUrl
:
'/meter/v1/entrust_attachment/download/'
,
downloadBatch
:
'/food/v1/contract_attachment/download_batch'
,
uri
:
'FoodContractAttachment/getByContractId'
,
viewUri
:
'/meter/v1/entrust_attachment/preview/'
}
break
case
'entrustId'
:
this
.
entrustId
=
id
this
.
urlData
=
{
msg
:
'FoodContractAttachment'
,
pageUrl
:
'soil/v1/entrust_annex/page'
,
deleteUrl
:
'/soil/v1/entrust_annex/?ids='
,
uploadFileUrl
:
'/soil/v1/entrust_annex/upload/'
,
downloadFileUrl
:
'/soil/v1/entrust_annex/download/'
,
downloadBatch
:
'/food/v1/contract_attachment/download_batch'
,
uri
:
'FoodContractAttachment/getByContractId'
,
viewUri
:
'/soil/v1/standard_annex/preview/'
}
break
case
'aloneSampleId'
:
// 样品
this
.
entrustId
=
id
this
.
urlData
=
{
msg
:
'FoodSampleAttachment'
,
pageUrl
:
'soil/v1/alone_sample_annex/page'
,
deleteUrl
:
'/soil/v1/alone_sample_annex/?ids='
,
uploadFileUrl
:
'/soil/v1/alone_sample_annex/upload/'
,
downloadFileUrl
:
'/soil/v1/alone_sample_annex/download/'
,
downloadBatch
:
'/food/v1/sample_attachment/download_batch'
,
uri
:
'FoodSampleAttachment/getBySampleId'
,
viewUri
:
'/food/v1/sample_attachment/view'
}
break
case
'subcontractorId'
:
// 分包商
this
.
subcontractorId
=
id
this
.
urlData
=
{
msg
:
'FoodSubContractAttachment'
,
pageUrl
:
'/meter/v1/contract_attachment/page'
,
deleteUrl
:
'/meter/v1/contract_attachment/?ids='
,
uploadFileUrl
:
'/meter/v1/contract_attachment/upload/'
,
downloadFileUrl
:
'/meter/v1/contract_attachment/download/'
,
downloadBatch
:
'/food/v1/subcontractor_attachment/download_batch'
,
uri
:
'FoodSubContractAttachment/getBySubcontractorId'
,
viewUri
:
'/food/v1/subcontractor_attachment/view'
}
break
case
'originalRecordId'
:
// 原始记录
this
.
originalRecordId
=
id
this
.
urlData
=
{
msg
:
'FoodOriginalRecordAttachment'
,
pageUrl
:
'FoodOriginalRecordAttachment/page'
,
deleteUrl
:
'FoodOriginalRecordAttachment/deleteByIds'
,
uploadFileUrl
:
'/food/v1/original_attachment/'
,
downloadFileUrl
:
'/food/v1/original_attachment/download/'
,
downloadBatch
:
'/food/v1/original_attachment/download_batch'
,
uri
:
'FoodOriginalRecordAttachment/getByOriginalRecordId'
,
viewUri
:
'/food/v1/original_attachment/preview'
}
break
case
'curveId'
:
// 采样记录
this
.
curveId
=
id
this
.
urlData
=
{
msg
:
'ElnCurveAttachment'
,
pageUrl
:
'ElnCurveAttachment/page'
,
deleteUrl
:
'ElnCurveAttachment/deleteByIds'
,
uploadFileUrl
:
'/print/v1/curve_attachment/'
,
downloadFileUrl
:
'/print/v1/curve_attachment/download/'
,
downloadBatch
:
'/print/v1/curve_attachment/download_batch'
,
uri
:
'ElnCurveAttachment/getById'
,
viewUri
:
'/print/v1/curve_attachment/view'
}
break
}
const
idsObj
=
{
contractId
:
this
.
contractId
,
sampleId
:
this
.
sampleId
,
subcontractorId
:
this
.
subcontractorId
,
originalRecordId
:
this
.
originalRecordId
,
curveId
:
this
.
curveId
,
entrustId
:
this
.
entrustId
}
this
.
$refs
.
fileModal
.
_setUploadData
(
Object
.
assign
({
id
:
id
},
this
.
urlData
),
idsObj
,
this
.
idKey
)
},
_deleteById
(
ids
)
{
this
.
deleteId
=
ids
this
.
modalContent
=
'确定要删除这 '
+
ids
.
length
+
' 个附件?'
this
.
$refs
.
confirmModal
.
_openModal
()
},
_delPage
:
async
function
(
data
)
{
console
.
log
(
data
)
const
result
=
await
meterEntrust
.
attachmentDelete
(
this
.
urlData
.
deleteUrl
,
data
.
id
)
if
(
result
)
{
this
.
$Message
.
success
(
'删除成功!'
)
this
.
$refs
.
fileModal
.
_page
()
}
this
.
$refs
.
confirmModal
.
_closeModal
()
this
.
deleteId
=
[]
},
// 删除提示框返回
_modalResult
(
msg
)
{
if
(
msg
===
'确定'
)
{
// 删除一条记录
if
(
this
.
flag
===
undefined
)
{
// 只能删除自己上传的
this
.
_delPage
({
id
:
this
.
deleteId
,
flag
:
1
})
}
else
{
// 可以删除全部
this
.
_delPage
({
id
:
this
.
deleteId
})
}
}
},
_fileData
(
msg
,
data
)
{
switch
(
msg
)
{
case
'delete'
:
this
.
_deleteById
(
data
)
break
}
},
// 搜索
_search
()
{
this
.
$refs
.
fileModal
.
_page
(
this
.
fileName
)
}
}
}
</
script
>
components/file/entrust-file-manage/FilesList.vue
0 → 100644
View file @
8facabfc
<
template
>
<div>
<Row>
<!--操作-->
<Col
span=
"24"
style=
"margin-bottom: 10px"
>
<div
class=
"btns-menu"
>
<!--查看方式-->
<Select
v-model=
"viewVal"
@
on-change=
"_view"
style=
"width:150px;float: left"
placeholder=
"请选择查看方式"
>
<Option
v-for=
"item in checkList"
:key=
"item.value"
:value=
"item.value"
>
{{
item
.
name
}}
</Option>
</Select>
<!--上传-->
<label>
<Upload
:action=
"action"
:on-success=
"_handelsuccess"
:before-upload=
"_beupload"
:on-progress=
"_handelprogress"
:data=
"dataObj"
:with-credentials=
"true"
:show-upload-list=
"false"
style=
"float: left"
>
<Button>
上传
</Button>
</Upload>
</label>
<Button
@
click=
"_batchUpload"
>
批量上传
</Button>
<Button
@
click=
"_exportList()"
>
列表导出
</Button>
<!--一系列操作-->
<!--非表格-->
<!--
<Button
v-if=
"viewStyle === 2 || viewStyle === 3"
v-for=
"item in menusListA"
:key=
"item.name"
@
click=
"_radioChange(item.value)"
--
>
<!-- >
{{
item
.
name
}}
-->
<!--
</Button>
-->
<!-- <!–表格–>-->
<!--
<Button
v-if=
"viewStyle === 1"
v-for=
"item in menusList"
:key=
"item.name"
@
click=
"_tableChange(item.value)"
--
>
<!-- style="margin-right: 5px">
{{
item
.
name
}}
-->
<!--
</Button>
-->
</div>
</Col>
<Col
span=
"24"
style=
"margin-bottom: 10px"
>
<!-- 默认是详细模式 -->
<div
v-show=
"viewStyle === 1"
>
<PTVXETable
ref=
"pageTable"
:pageColumns=
"pageColumns"
:tableHeight=
"tableHeight"
@
on-result-change=
"_tableResultChange"
:getPage=
"getPage"
select-data
>
<vxe-table-column
:field=
"item.key"
:title=
"item.title"
:min-width=
"item.width?item.width:200"
:fixed=
"item.fixed?item.fixed:undefined"
v-for=
"item in pageColumns"
:key=
"item.key"
sortable
>
<template
slot-scope=
"scope"
>
<span
v-if=
"item.dateTime"
>
{{
scope
.
row
[
item
.
key
]?
$dateformat
(
scope
.
row
[
item
.
key
],
'yyyy-mm-dd HH:MM'
):
''
}}
</span>
<span
v-else
>
{{
scope
.
row
[
item
.
key
]
}}
</span>
</
template
>
</vxe-table-column>
<vxe-table-column
title=
"操作"
align=
"center"
width=
"100"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<VXEIconList
:msg=
"scope.row.type === 'pdf'?iconMsgJpg:iconMsg"
@
on-result-change=
"_iconClick"
:rowData=
"scope.row"
></VXEIconList>
</
template
>
</vxe-table-column>
</PTVXETable>
</div>
<!--/-->
<!--缩略图 模式-->
<div
v-show=
"viewStyle === 2"
>
<ul
:style=
"{ 'height': 'auto' }"
class=
"thumbnailStyle"
>
<CheckboxGroup
@
on-change=
"_chkVal"
v-model=
"selectIds"
>
<li
v-for=
"item in getPage.records"
:key=
"item.id"
>
<div
class=
"thumbnailStyleImg"
>
<Tooltip
placement=
"top"
>
<img
:src=
" bigUrl+item.type+'.png' "
/>
<div
slot=
"content"
style=
"white-space: normal"
>
<p>
名称:{{item.fileName}}
</p>
</div>
</Tooltip>
</div>
<div
class=
"thumbnailStyleCheck clearCheck"
>
<Checkbox
:label=
"item.id"
><span
class=
"inline-span"
style=
"display: inline"
>
{{item.fileName}}
</span>
</Checkbox>
</div>
</li>
</CheckboxGroup>
</ul>
<div
style=
"margin-top: 10px"
>
共 {{getPage.total}} 条
</div>
</div>
<!--/-->
<!--列表 模式-->
<div
v-show=
"viewStyle === 3"
>
<ul
:style=
"{ 'height': 'auto' }"
class=
"listStyle"
>
<CheckboxGroup
@
on-change=
"_chkVal"
v-model=
"selectIds"
>
<li
v-for=
"item in getPage.records"
:key=
"item.id"
>
<div
class=
"listStyleCheck clearCheck"
>
<Tooltip
placement=
"top"
>
<span
class=
"spanImg"
>
<img
:src=
" smallUrl+item.type+'.png' "
/>
</span>
<span>
<Checkbox
:label=
"item.id"
><span>
{{item.fileName}}
</span></Checkbox>
</span>
<div
slot=
"content"
style=
"white-space: normal"
>
<p>
名称:{{item.fileName}}
</p>
</div>
</Tooltip>
</div>
</li>
</CheckboxGroup>
</ul>
<div
style=
"margin-top: 10px"
>
共 {{getPage.total}} 条
</div>
</div>
<!--/-->
</Col>
</Row>
<BatchUpload
ref=
"batchUpload"
@
on-result-change=
"_page"
></BatchUpload>
<BatchUploadSample
ref=
"batchUploadSample"
@
on-result-change=
"_page"
></BatchUploadSample>
<!--上传loading-->
<div
v-show=
"isLoad"
>
<Spin
fix
>
<Icon
type=
"load-c"
size=
18
class=
"file-spin-icon-load"
></Icon>
<div>
正在上传,请稍后...
</div>
</Spin>
</div>
<!--图片预览-->
<div>
<vue-gallery-slideshow
:images=
"imgViewList"
:index=
"imgViewIndex"
@
close=
"imgViewIndex = null"
></vue-gallery-slideshow>
</div>
</div>
</template>
<
script
>
// import VueGallerySlideshow from 'vue-gallery-slideshow'
import
global
from
'../../../api/config'
import
{
meterEntrust
}
from
'../../../api'
import
BatchUpload
from
'./BatchUpload'
import
BatchUploadSample
from
'./BatchUploadSample'
/**
* 公共组件modal 弹框(支持上传,下载,预览,删除附件等操作)
*/
export
default
{
components
:
{
BatchUpload
,
BatchUploadSample
},
props
:
{
fileName
:
null
},
data
()
{
return
{
imgViewList
:
[],
imgViewIndex
:
null
,
iconMsg
:
[
{
type
:
'md-remove-circle'
,
id
:
''
,
name
:
'删除'
},
{
type
:
'ios-download'
,
id
:
''
,
name
:
'下载'
}
],
iconMsgJpg
:
[
{
type
:
'md-remove-circle'
,
id
:
''
,
name
:
'删除'
},
{
type
:
'ios-download'
,
id
:
''
,
name
:
'下载'
},
{
type
:
'ios-eye'
,
id
:
''
,
name
:
'预览'
}
],
iconMsgDis
:
[
{
type
:
'trash-a'
,
id
:
''
,
name
:
'删除'
},
{
type
:
'ios-download'
,
id
:
''
,
name
:
'下载'
},
{
type
:
'images'
,
id
:
''
,
name
:
'预览'
,
disabled
:
true
}
],
selectIds
:
[],
getPage
:
{},
pageColumns
:
[
{
title
:
'文件名'
,
key
:
'fileName'
},
{
title
:
'类型'
,
key
:
'type'
,
width
:
120
},
{
title
:
'上传人'
,
key
:
'cname'
,
width
:
120
},
{
title
:
'上传时间'
,
key
:
'ctime'
,
width
:
140
,
dateTime
:
true
}
],
formObj
:
{
contractId
:
undefined
,
entrustId
:
undefined
},
viewVal
:
1
,
viewStyle
:
1
,
menusList
:
[
{
name
:
'下载'
,
value
:
'down'
},
{
name
:
'删除'
,
value
:
'delete'
}
],
menusListA
:
[{
name
:
'删除'
,
value
:
'delete'
}],
checkList
:
[
{
name
:
'详细模式'
,
value
:
1
},
{
name
:
'缩略图模式'
,
value
:
2
},
{
name
:
'列表模式'
,
value
:
3
}
],
Ids
:
[],
smallUrl
:
global
.
staticURL
+
'/img/smallfile/'
,
bigUrl
:
global
.
staticURL
+
'/img/bigfile/'
,
action
:
''
,
dataObj
:
{
file
:
''
// contractId: ''
},
isLoad
:
false
,
// 是否显示loading...
id
:
''
,
// 合同、委托、样品id
objectKey
:
[],
urlData
:
{},
idsObj
:
{}
}
},
computed
:
{
tableHeight
:
function
()
{
return
this
.
$tableHeight
(
'tableModal'
)
}
},
methods
:
{
_batchUpload
()
{
if
(
this
.
formObj
.
aloneSampleId
)
{
this
.
$refs
.
batchUploadSample
.
_open
(
this
.
id
)
}
else
{
this
.
$refs
.
batchUpload
.
_open
(
this
.
id
)
}
},
_setUploadData
(
data
,
idsObj
,
idKey
)
{
this
.
selectIds
=
[]
this
.
imgViewIndex
=
null
this
.
isLoad
=
false
this
.
id
=
data
.
id
const
pageKey
=
idKey
console
.
log
(
pageKey
)
this
.
$set
(
this
.
formObj
,
pageKey
,
data
.
id
)
console
.
log
(
this
.
formObj
)
// this.formObj.contractId = data.id
// this.formObj.entrustId = data.id
// 各个ids
this
.
idsObj
=
idsObj
this
.
urlData
=
data
this
.
action
=
global
.
baseURL
+
data
.
uploadFileUrl
+
data
.
id
this
.
downloadFileUrlFile
=
data
.
downloadFileUrl
this
.
$nextTick
(()
=>
{
this
.
_page
()
})
},
_page
:
async
function
(
fileName
)
{
if
(
fileName
)
{
this
.
formObj
.
fileName
=
fileName
}
else
{
this
.
formObj
.
fileName
=
undefined
}
Object
.
assign
(
this
.
formObj
,
this
.
$refs
.
pageTable
.
_searchParams
())
const
result
=
await
meterEntrust
.
attachmentPage
(
this
.
urlData
.
pageUrl
,
this
.
formObj
)
if
(
result
)
{
this
.
$refs
.
pageTable
.
_hideLoading
()
this
.
getPage
=
result
}
},
// _page: async function() {
// Object.assign(this.formObj, this.$refs.pageTable._searchParams())
// console.log('this.formObj', this.formObj)
// const result = await meterEntrust.attachmentPage(this.formObj)
// console.log('请求结果', result)
// if (result) {
// console.log(result)
// this.$refs.pageTable._hideLoading()
// this.getPage = result
// }
// },
_formSearch
()
{
this
.
$refs
.
pageTable
.
_pageChange
(
1
)
},
_searchParams
()
{
const
data
=
{}
Object
.
assign
(
data
,
{
fileName
:
this
.
fileName
},
this
.
idsObj
)
return
data
},
_tableResultChange
(
msg
,
data
)
{
switch
(
msg
)
{
case
'page'
:
this
.
Ids
=
[]
this
.
objectKey
=
[]
this
.
getPage
=
this
.
$store
.
state
[
this
.
urlData
.
msg
].
page
break
case
'selectData'
:
const
idList
=
[]
const
objectKey
=
[]
for
(
let
i
=
0
;
i
<
data
.
length
;
i
++
)
{
idList
.
push
(
data
[
i
].
id
)
objectKey
.
push
(
data
[
i
].
objectKey
)
}
this
.
Ids
=
idList
this
.
objectKey
=
objectKey
break
case
'iconClick'
:
this
.
_iconClick
(
data
.
name
,
data
.
rowData
)
break
case
'changeSize'
:
this
.
_page
()
break
}
},
_exportList
()
{
console
.
log
(
'列表导出'
)
},
_iconClick
(
res
,
data
)
{
switch
(
res
)
{
case
'下载'
:
window
.
open
(
global
.
baseURL
+
this
.
urlData
.
downloadFileUrl
+
data
.
id
,
'_blank'
)
break
case
'删除'
:
this
.
_deleteById
([
data
.
id
])
break
case
'预览'
:
this
.
_viewImg
(
data
)
break
}
},
// 预览图片(该合同下所有的)
_viewImg
(
data
)
{
this
.
$pdfView
(
data
.
objectKey
)
console
.
log
(
data
)
// console.log(data)
// if (this.urlData.viewUri === '/meter/v1/entrust_attachment/preview/') {
// const id = data.entrustId
// const result = await meterEntrust.entrustPreview(id)
// console.log(result)
// } else {
// const id = data.contractId
// const result = await meterEntrust.attachmentPreview(id)
// console.log(result)
// }
// ----
// const imgViewList = []
// imgViewList.push(global.baseURL + this.downloadFileUrlFile + data.id)
// this.imgViewList = imgViewList
// this.imgViewIndex = 0
// console.log(imgViewList)
// this.$store.dispatch(this.urlData.uri, this.id).then(() => {
// const viewUri = this.urlData.viewUri
// const result = this.$store.state[this.urlData.msg].list
// const imgViewList = []
// for (let i = 0; i
<
result
.
length
;
i
++
)
{
// imgViewList.push(
// global.baseURL +
// viewUri +
// '?id=' +
// result[i].id +
// '&objectKey=' +
// result[i].objectKey
// )
// }
// this.imgViewList = imgViewList
// // 打开的是当前第几张图片
// const salesUri =
// global.baseURL +
// viewUri +
// '?id=' +
// data.id +
// '&objectKey=' +
// data.objectKey
// const index = this.imgViewList.findIndex(item => item === salesUri)
// if (index === -1) {
// this.imgViewIndex = 0
// } else {
// this.imgViewIndex = index
// }
// })
},
// 删除
_deleteById
(
id
)
{
this
.
$emit
(
'on-result-change'
,
'delete'
,
id
)
},
// 查看方式改变
_view
(
val
)
{
this
.
viewStyle
=
val
this
.
selectIds
=
[]
if
(
val
===
1
)
{
this
.
_formSearch
()
}
},
_chkVal
(
val
)
{
this
.
selectIds
=
val
},
// 一系列操作返回的值
_radioChange
(
val
)
{
if
(
val
===
'down'
)
{
if
(
this
.
objectKey
.
length
===
0
)
{
this
.
$Message
.
warning
(
'请至少选择一条数据!'
)
}
else
{
this
.
_downloadAll
(
this
.
objectKey
)
}
}
if
(
val
===
'delete'
)
{
if
(
this
.
selectIds
.
length
===
0
)
{
this
.
$Message
.
warning
(
'请至少选择一条数据!'
)
}
else
{
this
.
_deleteById
(
this
.
selectIds
)
}
}
},
_tableChange
(
val
)
{
if
(
val
===
'down'
)
{
if
(
this
.
objectKey
.
length
===
0
)
{
this
.
$Message
.
warning
(
'请至少选择一条数据!'
)
}
else
{
this
.
_downloadAll
(
this
.
objectKey
)
}
}
if
(
val
===
'delete'
)
{
if
(
this
.
Ids
.
length
===
0
)
{
this
.
$Message
.
warning
(
'请至少选择一条数据!'
)
}
else
{
this
.
_deleteById
(
this
.
Ids
)
}
}
},
// 批量打包下载
_downloadAll
(
ids
)
{
window
.
open
(
global
.
baseURL
+
this
.
urlData
.
downloadBatch
+
'?objectKeys='
+
ids
)
},
_beupload
(
file
)
{
this
.
dataObj
.
file
=
file
.
name
},
_handelprogress
(
event
,
file
,
fileList
)
{
this
.
isLoad
=
true
},
_handelsuccess
(
response
,
file
,
fileList
)
{
// 上传成功
if
(
response
.
success
)
{
this
.
isLoad
=
false
this
.
$Message
.
success
(
'上传成功!'
)
this
.
_page
()
}
else
{
this
.
isLoad
=
true
this
.
$Message
.
error
(
response
.
msg
)
this
.
isLoad
=
false
}
}
}
}
</
script
>
<
style
>
.radio-display.ivu-radio-group-button
.ivu-radio-wrapper
:first-child
{
border-radius
:
4px
!important
;
margin-right
:
5px
!important
;
}
.radio-display
.
.ivu-radio-wrapper
:last-child
{
border-radius
:
4px
!important
;
border-left
:
1px
solid
#dddee1
!important
;
}
</
style
>
components/file/file-manage-sample-view/FilesListView.vue
View file @
8facabfc
...
@@ -120,13 +120,11 @@
...
@@ -120,13 +120,11 @@
</template>
</template>
<
script
>
<
script
>
import
VueGallerySlideshow
from
'vue-gallery-slideshow'
import
VueGallerySlideshow
from
'vue-gallery-slideshow'
import
ElementTable
from
'../../table/ElementTable'
import
IconList
from
'../../base/IconList'
import
IconList
from
'../../base/IconList'
import
global
from
'../../../api/config'
import
global
from
'../../../api/config'
import
{
http
}
from
'../../../api/http'
/* 样品附件--只读-附属 */
/* 样品附件--只读-附属 */
export
default
{
export
default
{
components
:
{
ElementTable
,
IconList
,
VueGallerySlideshow
},
components
:
{
IconList
,
VueGallerySlideshow
},
data
()
{
data
()
{
return
{
return
{
loading
:
false
,
loading
:
false
,
...
@@ -271,7 +269,7 @@ export default {
...
@@ -271,7 +269,7 @@ export default {
},
},
// 一系列操作返回的值
// 一系列操作返回的值
_tableChange
(
val
)
{
_tableChange
(
val
)
{
if
(
val
==
'down'
)
{
if
(
val
==
=
'down'
)
{
if
(
this
.
objectKey
.
length
===
0
)
{
if
(
this
.
objectKey
.
length
===
0
)
{
this
.
$Message
.
warning
(
'请选择一条数据!'
)
this
.
$Message
.
warning
(
'请选择一条数据!'
)
}
else
{
}
else
{
...
...
pages/meter-entrust/entrust-register/EntrustRegister.vue
View file @
8facabfc
...
@@ -6,24 +6,24 @@
...
@@ -6,24 +6,24 @@
<Row>
<Row>
<!--查询-->
<!--查询-->
<Col
span=
"24"
style=
"margin-top: 10px"
>
<Col
span=
"24"
style=
"margin-top: 10px"
>
<Form
v-show=
"searchOpen"
id=
"formId
"
:label-width=
"90"
inline
onsubmit=
"return false"
>
<Form
id=
"formId"
v-show=
"searchOpen
"
:label-width=
"90"
inline
onsubmit=
"return false"
>
<label
class=
"label-sign"
></label>
<label
class=
"label-sign"
></label>
<Form-item
class=
"search-item"
label=
"委托商:"
>
<Form-item
class=
"search-item"
label=
"委托商:"
>
<Input
v-model=
"formObj.client"
name=
"client"
placeholder=
"请输入委托单位"
clearable
@
on-enter=
"_formSearch"
/>
<Input
v-model=
"formObj.client"
@
on-enter=
"_formSearch"
name=
"client"
placeholder=
"请输入委托单位"
clearable
/>
</Form-item>
</Form-item>
<Form-item
class=
"search-item"
label=
"委托编号:"
>
<Form-item
class=
"search-item"
label=
"委托编号:"
>
<Input
v-model=
"formObj.entrustCode"
name=
"entrustCode"
placeholder=
"请输入委托编号"
clearable
@
on-enter=
"_formSearch"
/>
<Input
v-model=
"formObj.entrustCode"
@
on-enter=
"_formSearch"
name=
"entrustCode"
placeholder=
"请输入委托编号"
clearable
/>
</Form-item>
</Form-item>
<Form-item
class=
"search-btn"
>
<Form-item
class=
"search-btn"
>
<Button
type=
"primary"
@
click=
"_formSearch
"
>
搜索
</Button>
<Button
@
click=
"_formSearch"
type=
"primary
"
>
搜索
</Button>
</Form-item>
</Form-item>
</Form>
</Form>
</Col>
</Col>
<!--操作-->
<!--操作-->
<Col
span=
"24"
>
<Col
span=
"24"
>
<btn-list
:msg=
"btn"
:open=
"searchOpen"
:show-search-btn=
"true"
class=
"contHide
"
<btn-list
:msg=
"btn"
:open=
"searchOpen"
:show-search-btn=
"true"
@
on-result-change=
"_btnClick
"
@
on-result-change=
"_btnClick
"
></btn-list>
class=
"contHide
"
></btn-list>
</Col>
</Col>
<!--表格-->
<!--表格-->
<Col
span=
"24"
>
<Col
span=
"24"
>
...
@@ -49,7 +49,7 @@
...
@@ -49,7 +49,7 @@
</div>
</div>
<keep-alive>
<keep-alive>
<!-- eslint-disable-next-line vue/require-component-is -->
<!-- eslint-disable-next-line vue/require-component-is -->
<component
:is=
"currentComponent"
ref=
"refModal
"
@
on-result-change=
"_componentResult"
></component>
<component
ref=
"refModal"
:is=
"currentComponent
"
@
on-result-change=
"_componentResult"
></component>
</keep-alive>
</keep-alive>
</div>
</div>
</template>
</template>
...
@@ -59,6 +59,7 @@ import Operation from '../../../components/operation/Operation'
...
@@ -59,6 +59,7 @@ import Operation from '../../../components/operation/Operation'
import
SoilSampleManage
from
'../SoilSampleManage'
import
SoilSampleManage
from
'../SoilSampleManage'
import
importModal
from
'../../../components/import/DownloadTemplateImport'
import
importModal
from
'../../../components/import/DownloadTemplateImport'
import
SoilSampleItemManage
from
'../SoilSampleItemManageEdit'
import
SoilSampleItemManage
from
'../SoilSampleItemManageEdit'
import
EntrustFileManage
from
'../../../components/file/entrust-file-manage/FileManage'
import
EntrustRegisterEdit
from
'./EntrustRegisterEdit'
import
EntrustRegisterEdit
from
'./EntrustRegisterEdit'
export
default
{
export
default
{
components
:
{
components
:
{
...
@@ -71,7 +72,9 @@ export default {
...
@@ -71,7 +72,9 @@ export default {
// eslint-disable-next-line vue/no-unused-components
// eslint-disable-next-line vue/no-unused-components
importModal
,
importModal
,
// eslint-disable-next-line vue/no-unused-components
// eslint-disable-next-line vue/no-unused-components
SoilSampleItemManage
SoilSampleItemManage
,
// eslint-disable-next-line vue/no-unused-components
EntrustFileManage
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -142,15 +145,17 @@ export default {
...
@@ -142,15 +145,17 @@ export default {
pageColumns
:
[
pageColumns
:
[
{
title
:
'委托商'
,
key
:
'client'
,
width
:
230
},
{
title
:
'委托商'
,
key
:
'client'
,
width
:
230
},
{
title
:
'委托编号'
,
key
:
'entrustCode'
,
width
:
120
},
{
title
:
'委托编号'
,
key
:
'entrustCode'
,
width
:
120
},
{
title
:
'钻孔名称'
,
key
:
'boreholeName'
,
width
:
120
},
{
title
:
'水深(米)'
,
key
:
'waterDepth'
,
width
:
120
},
{
title
:
'平均容重'
,
key
:
'projectNo'
,
width
:
120
},
{
title
:
'项目负责人'
,
key
:
'projectLeader'
,
width
:
120
},
{
title
:
'驳回原因'
,
key
:
'backReasons'
,
width
:
120
},
{
title
:
'进度'
,
key
:
'progress'
,
width
:
95
,
status
:
true
},
{
title
:
'进度'
,
key
:
'progress'
,
width
:
95
,
status
:
true
},
{
title
:
'委托日期'
,
key
:
'entrustDate'
,
width
:
120
,
date
:
true
},
{
title
:
'委托日期'
,
key
:
'entrustDate'
,
width
:
120
,
date
:
true
},
{
title
:
'项目名称'
,
key
:
'projectName'
,
width
:
120
},
{
title
:
'项目名称'
,
key
:
'projectName'
,
width
:
120
},
{
title
:
'钻孔位置'
,
key
:
'boreholeLocation'
,
width
:
120
},
{
title
:
'钻孔位置'
,
key
:
'boreholeLocation'
,
width
:
120
},
{
title
:
'水深(米)'
,
key
:
'waterDepth'
,
width
:
120
},
{
title
:
'指标人'
,
key
:
'tabulater'
,
width
:
120
},
{
title
:
'钻孔名称'
,
key
:
'boreholeName'
,
width
:
120
},
{
title
:
'平均容重'
,
key
:
'projectNo'
,
width
:
120
},
{
title
:
'制表日期'
,
key
:
'tabulateDate'
,
width
:
120
,
date
:
true
},
{
title
:
'制表日期'
,
key
:
'tabulateDate'
,
width
:
120
,
date
:
true
},
{
title
:
'制表人'
,
key
:
'tabulater'
,
width
:
120
},
{
title
:
'批准日期'
,
key
:
'approveDate'
,
width
:
120
,
date
:
true
},
{
title
:
'批准日期'
,
key
:
'approveDate'
,
width
:
120
,
date
:
true
},
{
title
:
'批准人'
,
key
:
'approver'
,
width
:
120
},
{
title
:
'批准人'
,
key
:
'approver'
,
width
:
120
},
{
title
:
'检验类别'
,
key
:
'testType'
,
width
:
120
}
{
title
:
'检验类别'
,
key
:
'testType'
,
width
:
120
}
...
@@ -293,6 +298,8 @@ export default {
...
@@ -293,6 +298,8 @@ export default {
const
result
=
await
soilEntrust
.
submit
(
ids
)
const
result
=
await
soilEntrust
.
submit
(
ids
)
if
(
result
)
{
if
(
result
)
{
this
.
_resultChange
(
'提交成功'
)
this
.
_resultChange
(
'提交成功'
)
}
else
{
this
.
$refs
.
pageTable
.
_hideLoading
()
}
}
},
},
_subToSkipRe
:
async
function
(
ids
)
{
_subToSkipRe
:
async
function
(
ids
)
{
...
@@ -365,7 +372,7 @@ export default {
...
@@ -365,7 +372,7 @@ export default {
},
},
_upload
(
id
)
{
_upload
(
id
)
{
// 上传文件
// 上传文件
this
.
currentComponent
=
'FileManage'
this
.
currentComponent
=
'
Entrust
FileManage'
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
$refs
.
refModal
.
_open
(
id
,
'entrustId'
)
this
.
$refs
.
refModal
.
_open
(
id
,
'entrustId'
)
})
})
...
...
pages/meter-entrust/entrust-register/EntrustRegisterEdit.vue
View file @
8facabfc
...
@@ -18,31 +18,37 @@
...
@@ -18,31 +18,37 @@
@
on-result-change=
"_projectChange"
name=
"projectName"
placeholder=
"请输入或选择项目名称"
@
on-result-change=
"_projectChange"
name=
"projectName"
placeholder=
"请输入或选择项目名称"
></AutoComplete>
></AutoComplete>
</Form-item>
</Form-item>
<Form-item
label=
"钻孔名称"
prop=
"boreholeName"
class=
"width-48"
>
<Form-item
label=
"项目负责人"
prop=
"projectLeader"
class=
"width-48"
>
<Input
v-model=
"formObj.boreholeName"
name=
"boreholeName"
placeholder=
"请输入名称"
/>
<AutoComplete
ref=
"autoInput"
v-model=
"formObj.projectLeader"
:down-data=
"projectLeaderData"
@
on-result-change=
"_projectLeaderChange"
show-key=
"realname"
name=
"projectLeader"
placeholder=
"请输入或选择项目负责人"
></AutoComplete>
<!--
<Input
v-model=
"formObj.projectLeader"
name=
"projectLeader"
placeholder=
"请输入项目负责人"
/>
-->
</Form-item>
</Form-item>
<Form-item
label=
"钻孔位置"
prop=
"boreholeLocation"
class=
"width-48"
>
<Form-item
label=
"钻孔位置"
prop=
"boreholeLocation"
class=
"width-48"
>
<Input
v-model=
"formObj.boreholeLocation"
name=
"boreholeLocation"
placeholder=
"请输入钻孔位置"
/>
<Input
v-model=
"formObj.boreholeLocation"
name=
"boreholeLocation"
placeholder=
"请输入钻孔位置"
/>
</Form-item>
</Form-item>
<Form-item
label=
"
纬度"
prop=
"latitud
e"
class=
"width-48"
>
<Form-item
label=
"
钻孔名称"
prop=
"boreholeNam
e"
class=
"width-48"
>
<Input
v-model=
"formObj.
latitude"
name=
"latitude"
placeholder=
"请输入纬度
"
/>
<Input
v-model=
"formObj.
boreholeName"
name=
"boreholeName"
placeholder=
"请输入名称
"
/>
</Form-item>
</Form-item>
<Form-item
label=
"经度"
prop=
"longitude"
class=
"width-48"
>
<Form-item
label=
"经度"
prop=
"longitude"
class=
"width-48"
>
<Input
v-model=
"formObj.longitude"
name=
"longitude"
placeholder=
"请输入经度"
/>
<Input
v-model=
"formObj.longitude"
name=
"longitude"
placeholder=
"请输入经度"
/>
</Form-item>
</Form-item>
<Form-item
label=
"纬度"
prop=
"latitude"
class=
"width-48"
>
<Input
v-model=
"formObj.latitude"
name=
"latitude"
placeholder=
"请输入纬度"
/>
</Form-item>
<Form-item
label=
"水深(米)"
prop=
"waterDepth"
class=
"width-48"
>
<Form-item
label=
"水深(米)"
prop=
"waterDepth"
class=
"width-48"
>
<Input
v-model=
"formObj.waterDepth"
@
keydown
.
native=
"channelInputLimit"
type=
"number"
name=
"waterDepth"
placeholder=
"请输入深度"
/>
<Input
v-model=
"formObj.waterDepth"
@
keydown
.
native=
"channelInputLimit"
type=
"number"
name=
"waterDepth"
placeholder=
"请输入深度"
/>
</Form-item>
</Form-item>
<Form-item
label=
"平均容重"
prop=
"projectNo"
class=
"width-48"
>
<Form-item
label=
"平均容重"
prop=
"projectNo"
class=
"width-48"
>
<Input
v-model=
"formObj.projectNo"
name=
"projectNo"
placeholder=
"请输入平均容重"
/>
<Input
v-model=
"formObj.projectNo"
name=
"projectNo"
placeholder=
"请输入平均容重"
/>
</Form-item>
</Form-item>
<Form-item
@
click
.
native=
"_selectPerson"
label=
"制表人"
prop=
"tabulater"
class=
"width-48"
>
<Input
v-model=
"formObj.tabulater"
name=
"tabulater"
placeholder=
"请输入名称"
/>
</Form-item>
<Form-item
label=
"制单日期:"
prop=
"tabulateDate"
class=
"width-48"
>
<Form-item
label=
"制单日期:"
prop=
"tabulateDate"
class=
"width-48"
>
<Date-picker
v-model=
"formObj.tabulateDate"
@
on-change=
"_tabulateChange"
name=
"tabulateDate"
type=
"date"
split-panels
style=
"width:100%;"
<Date-picker
v-model=
"formObj.tabulateDate"
@
on-change=
"_tabulateChange"
name=
"tabulateDate"
type=
"date"
split-panels
style=
"width:100%;"
placeholder=
"请选择委托日期"
></Date-picker>
placeholder=
"请选择委托日期"
></Date-picker>
</Form-item>
</Form-item>
<Form-item
@
click
.
native=
"_selectPerson"
label=
"制表人"
prop=
"tabulater"
class=
"width-48"
>
<Input
v-model=
"formObj.tabulater"
name=
"tabulater"
placeholder=
"请输入名称"
/>
</Form-item>
<Form-item
label=
"检验类别:"
prop=
"testType"
class=
"width-48"
>
<Form-item
label=
"检验类别:"
prop=
"testType"
class=
"width-48"
>
<el-select
@
change=
"typeChange"
v-model=
"formObj.testType"
name=
"testType"
placeholder=
"请选择"
<el-select
@
change=
"typeChange"
v-model=
"formObj.testType"
name=
"testType"
placeholder=
"请选择"
size=
"small"
size=
"small"
...
@@ -123,7 +129,12 @@
...
@@ -123,7 +129,12 @@
/**
/**
* 添加编辑分包商
* 添加编辑分包商
*/
*/
import
{
meterEntrust
,
meterSample
,
soilEntrust
}
from
'../../../api'
import
{
meterEntrust
,
meterSample
,
soilEntrust
,
soilSample
}
from
'../../../api'
import
importModal
from
'../../../components/import/DownloadTemplateImport'
import
importModal
from
'../../../components/import/DownloadTemplateImport'
import
AutoComplete
from
'../../../components/base/AutoCompletes'
import
AutoComplete
from
'../../../components/base/AutoCompletes'
import
SampleItemSelect
from
'../../meter-aptitude/standard-manage/SampleItemSelect'
import
SampleItemSelect
from
'../../meter-aptitude/standard-manage/SampleItemSelect'
...
@@ -149,6 +160,8 @@ export default {
...
@@ -149,6 +160,8 @@ export default {
showBtn
:
true
,
showBtn
:
true
,
customerData
:
[],
customerData
:
[],
projectData
:
[],
projectData
:
[],
projectLeaderData
:
[],
projectLeaderName
:
[],
edit
:
false
,
edit
:
false
,
cityData
:
[],
cityData
:
[],
selectData
:
[],
selectData
:
[],
...
@@ -299,6 +312,48 @@ export default {
...
@@ -299,6 +312,48 @@ export default {
}
}
}
}
},
},
_getLeaderList
:
async
function
()
{
const
result
=
await
soilSample
.
getUserList
()
if
(
result
)
{
this
.
projectLeaderData
=
result
.
records
for
(
let
i
=
0
;
i
<
result
.
records
.
length
;
i
++
)
{
this
.
projectLeaderName
.
push
(
result
.
records
[
i
].
realname
)
}
}
},
_projectLeaderChange
(
msg
,
data
)
{
// 添加的时候选择单位
console
.
log
(
msg
,
data
)
switch
(
msg
)
{
case
'select'
:
this
.
_leaderMatch
(
data
)
break
case
'query'
:
this
.
_leaderQuery
(
data
)
break
}
},
_leaderMatch
(
data
)
{
console
.
log
(
'选中'
,
data
)
this
.
formObj
.
projectLeader
=
data
.
realname
if
(
data
.
id
)
{
this
.
formObj
.
projectLeaderId
=
data
.
id
}
},
_leaderQuery
(
query
)
{
this
.
formObj
.
projectLeader
=
query
.
realname
this
.
_queryUserList
(
query
)
},
_queryUserList
:
async
function
(
query
)
{
if
(
query
.
realname
===
''
)
{
this
.
$forceUpdate
()
this
.
formObj
.
projectLeader
=
''
}
const
result
=
await
soilSample
.
queryUserList
(
query
)
if
(
result
)
{
this
.
projectLeaderData
=
result
.
records
}
},
_selectPerson
()
{
_selectPerson
()
{
this
.
$refs
.
userModal
.
_openOrg
(
'选择制表人'
,
'itemTree'
)
this
.
$refs
.
userModal
.
_openOrg
(
'选择制表人'
,
'itemTree'
)
},
},
...
@@ -675,11 +730,25 @@ export default {
...
@@ -675,11 +730,25 @@ export default {
if
(
this
.
$string
(
this
.
id
).
isEmpty
())
{
if
(
this
.
$string
(
this
.
id
).
isEmpty
())
{
// 添加
// 添加
data
.
sampleList
=
this
.
getPage
.
records
data
.
sampleList
=
this
.
getPage
.
records
if
(
this
.
formObj
.
projectLeaderId
)
{
data
.
projectLeaderId
=
this
.
formObj
.
projectLeaderId
}
if
(
this
.
projectLeaderName
.
indexOf
(
data
.
projectLeader
)
===
-
1
)
{
data
.
projectLeader
=
undefined
data
.
projectLeaderId
=
undefined
}
this
.
_save
(
data
)
this
.
_save
(
data
)
}
else
{
}
else
{
data
.
id
=
this
.
id
data
.
id
=
this
.
id
data
.
sampleList
=
this
.
getPage
.
records
data
.
sampleList
=
this
.
getPage
.
records
console
.
log
(
data
)
console
.
log
(
data
)
if
(
this
.
formObj
.
projectLeaderId
)
{
data
.
projectLeaderId
=
this
.
formObj
.
projectLeaderId
}
if
(
this
.
projectLeaderName
.
indexOf
(
data
.
projectLeader
)
===
-
1
)
{
data
.
projectLeader
=
undefined
data
.
projectLeaderId
=
undefined
}
this
.
_edit
(
data
)
this
.
_edit
(
data
)
}
}
}
else
{
}
else
{
...
@@ -718,6 +787,7 @@ export default {
...
@@ -718,6 +787,7 @@ export default {
this
.
_getPackList
()
this
.
_getPackList
()
this
.
_getProjectList
()
this
.
_getProjectList
()
this
.
_getSoil
()
this
.
_getSoil
()
this
.
_getLeaderList
()
this
.
showBtn
=
true
this
.
showBtn
=
true
this
.
showModal
=
true
this
.
showModal
=
true
this
.
_hideLoading
()
this
.
_hideLoading
()
...
@@ -739,6 +809,7 @@ export default {
...
@@ -739,6 +809,7 @@ export default {
this
.
_getPackList
()
this
.
_getPackList
()
this
.
_getSoil
()
this
.
_getSoil
()
this
.
_getProjectList
()
this
.
_getProjectList
()
this
.
_getLeaderList
()
this
.
showBtn
=
false
this
.
showBtn
=
false
this
.
showModal
=
true
this
.
showModal
=
true
this
.
$refs
.
formObj
.
resetFields
()
this
.
$refs
.
formObj
.
resetFields
()
...
...
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