Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
杨树贤
/
liexin_supplier
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
0b5e08f8
authored
Feb 18, 2025
by
杨树贤
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
寄售合同回传需求
parent
af519277
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
304 additions
and
5 deletions
app/Http/Controllers/Api/SupplierContractApiController.php
app/Http/Controllers/SupplierContractController.php
app/Http/Services/SupplierContractService.php
public/plugins/assets/js/common.js
resources/views/script/SaveSupplierMemoScript.blade.php
resources/views/script/SupplierContractListScript.blade.php
resources/views/script/UploadSupplierSignContractFileScript.blade.php
resources/views/web/SaveSupplierContract.blade.php
resources/views/web/SupplierContractList.blade.php
resources/views/web/UploadSupplierSignContractFile.blade.php
app/Http/Controllers/Api/SupplierContractApiController.php
View file @
0b5e08f8
...
...
@@ -78,10 +78,11 @@ class SupplierContractApiController extends Controller
public
function
deleteSupplierContract
(
$request
)
{
$id
=
$request
->
input
(
'id'
);
$result
=
SupplierContractModel
::
where
(
'id'
,
$id
)
->
delete
(
);
$result
=
(
new
SupplierContractService
())
->
deleteSupplierContract
(
$id
);
if
(
!
$result
)
{
$this
->
response
(
-
1
,
'删除失败,请
练习
管理员'
);
$this
->
response
(
-
1
,
'删除失败,请
联系
管理员'
);
}
$this
->
response
(
0
,
'删除成功'
);
}
...
...
@@ -106,4 +107,26 @@ class SupplierContractApiController extends Controller
}
$this
->
response
(
0
,
'获取成功'
,
$result
);
}
//删除签署合同文件
public
function
DeleteSignContractFile
(
$request
)
{
$id
=
$request
->
input
(
'id'
);
$result
=
(
new
SupplierContractService
())
->
deleteSupplierSignContractFile
(
$id
);
if
(
!
$result
)
{
$this
->
response
(
-
1
,
'删除失败,请联系管理员'
);
}
$this
->
response
(
0
,
'删除成功'
);
}
//上传签署合同文件
public
function
UploadSupplierSignContractFile
(
$request
)
{
$data
=
$request
->
only
([
'id'
,
'sign_contract_file'
]);
$result
=
(
new
SupplierContractService
())
->
uploadSupplierSignContractFile
(
$data
);
if
(
!
$result
)
{
$this
->
response
(
-
1
,
'上传失败,请联系管理员'
);
}
$this
->
response
(
0
,
'上传成功'
);
}
}
app/Http/Controllers/SupplierContractController.php
View file @
0b5e08f8
...
...
@@ -72,4 +72,13 @@ class SupplierContractController extends Controller
$this
->
data
[
'supplierList'
]
=
$supplierList
;
return
$this
->
view
(
'合同列表'
);
}
public
function
UploadSupplierSignContractFile
(
$request
)
{
$id
=
$request
->
get
(
'id'
);
$contract
=
SupplierContractModel
::
where
(
'id'
,
$id
)
->
with
(
'supplier'
)
->
first
()
->
toArray
();
$contract
[
'supplier_name'
]
=
$contract
[
'supplier'
][
'supplier_name'
];
$this
->
data
[
'contract'
]
=
$contract
;
return
$this
->
view
(
'上传签署合同文件'
);
}
}
app/Http/Services/SupplierContractService.php
View file @
0b5e08f8
...
...
@@ -195,4 +195,32 @@ class SupplierContractService
$sequence
=
$contractId
;
return
$prefix
.
$date
.
str_pad
(
$sequence
,
4
,
'0'
,
STR_PAD_LEFT
);
}
//上传签署合同文件
public
function
uploadSupplierSignContractFile
(
$data
)
{
$result
=
SupplierContractModel
::
where
(
'id'
,
$data
[
'id'
])
->
update
([
'signed_contract_file'
=>
$data
[
'sign_contract_file'
],
'update_time'
=>
time
(),
'update_uid'
=>
request
()
->
user
->
userId
,
'update_name'
=>
request
()
->
user
->
name
]);
$supplierId
=
SupplierContractModel
::
where
(
'id'
,
$data
[
'id'
])
->
value
(
'supplier_id'
);
(
new
LogService
())
->
addLog
(
$supplierId
,
LogModel
::
UPDATE_OPERATE
,
'合同日志'
,
'上传签署合同文件,文件地址:'
.
$data
[
'sign_contract_file'
]);
return
$result
;
}
//删除签署合同文件
public
function
deleteSupplierSignContractFile
(
$id
)
{
$result
=
SupplierContractModel
::
where
(
'id'
,
$id
)
->
update
([
'signed_contract_file'
=>
''
,
'update_time'
=>
time
(),
'update_uid'
=>
request
()
->
user
->
userId
,
'update_name'
=>
request
()
->
user
->
name
]);
$supplierId
=
SupplierContractModel
::
where
(
'id'
,
$id
)
->
value
(
'supplier_id'
);
(
new
LogService
())
->
addLog
(
$supplierId
,
LogModel
::
UPDATE_OPERATE
,
'合同日志'
,
'删除签署合同文件'
);
return
$result
;
}
}
public/plugins/assets/js/common.js
View file @
0b5e08f8
...
...
@@ -151,4 +151,12 @@ function getFootstoneDomain() {
return
defaultDomain
;
}
function
getOssUploadDomain
()
{
var
defaultDomain
=
"http://file.liexindev.net"
;
if
(
document
.
domain
.
indexOf
(
"ichunt"
)
!==
-
1
)
{
defaultDomain
=
"https://files.ichunt.net"
;
}
return
defaultDomain
;
}
resources/views/script/SaveSupplierMemoScript.blade.php
View file @
0b5e08f8
...
...
@@ -39,7 +39,7 @@
//图片上传
upload
.
render
({
elem
:
'.upload-img'
,
url
:
UploadImgUrl
url
:
UploadImgUrl
,
field
:
'upload'
,
data
:
{
k1
:
k1
,
...
...
resources/views/script/SupplierContractListScript.blade.php
View file @
0b5e08f8
...
...
@@ -34,7 +34,7 @@
},
{
field
:
'contract_file'
,
title
:
'合同
文件
'
,
title
:
'合同
模板
'
,
align
:
'center'
,
width
:
120
,
templet
:
function
(
d
)
{
...
...
@@ -46,6 +46,20 @@
}
},
{
field
:
'signed_contract_file'
,
title
:
'签署合同文件'
,
align
:
'center'
,
width
:
120
,
templet
:
function
(
d
)
{
if
(
d
.
signed_contract_file
)
{
return
'
<
a
href
=
"' + d.signed_contract_file +
'"
target
=
"_blank"
style
=
"color:blue"
>
下载
<
/a> | <a href="javascript:void
(
0
)
" class="delete_sign_contract_file" id="'
+
d
.
id
+
'
" style="
color
:
blue
"
>
删除
<
/a>'
;
}
return
''
;
}
},
{
field
:
'supplier_code'
,
title
:
'供应商编码'
,
align
:
'center'
,
...
...
@@ -194,6 +208,60 @@
return
false
;
});
$
(
"#upload_sign_contract_file"
).
click
(
function
()
{
let
checkStatus
=
table
.
checkStatus
(
'contractList'
);
let
data
=
checkStatus
.
data
;
if
(
data
.
length
>
1
)
{
parent
.
layer
.
msg
(
'该操作不支持多选'
,
{
icon
:
5
});
return
;
}
if
(
!
data
.
length
)
{
parent
.
layer
.
msg
(
'请先选择要操作的记录'
,
{
icon
:
5
});
}
layer
.
open
({
type
:
2
,
content
:
'/supplier_contract/UploadSupplierSignContractFile?view=iframe&id='
+
data
[
0
].
id
,
area
:
[
'80%'
,
'90%'
],
title
:
'上传签署合同文件'
,
end
:
function
()
{
table
.
reload
(
'contractList'
);
}
});
return
false
;
});
//删除签署合同文件
$
(
document
).
on
(
'click'
,
'.delete_sign_contract_file'
,
function
()
{
let
id
=
$
(
this
).
attr
(
'id'
);
let
url
=
'/api/supplier_contract/DeleteSignContractFile'
;
parent
.
layer
.
confirm
(
'确定要删除签署合同文件吗?'
,
function
(
index
)
{
let
res
=
ajax
(
url
,
{
id
:
id
});
if
(
!
res
)
{
parent
.
layer
.
msg
(
'网络错误,请重试'
,
{
icon
:
5
});
return
;
}
if
(
res
.
err_code
===
0
)
{
parent
.
layer
.
msg
(
'操作成功'
,
{
icon
:
6
});
table
.
reload
(
'contractList'
);
}
else
{
parent
.
layer
.
msg
(
res
.
err_msg
,
{
icon
:
5
});
}
});
});
//初始化供应商编码下拉框
let
supplierSelect
=
xmSelect
.
render
({
el
:
'#supplier_id'
,
...
...
resources/views/script/UploadSupplierSignContractFileScript.blade.php
0 → 100644
View file @
0b5e08f8
<script>
layui
.
use
([
'table'
,
'form'
,
'element'
,
'layer'
,
'admin'
,
'laydate'
,
'xmSelect'
,
'upload'
],
function
()
{
let
admin
=
layui
.
admin
;
let
form
=
layui
.
form
;
let
element
=
layui
.
element
;
let
laydate
=
layui
.
laydate
;
let
xmSelect
=
layui
.
xmSelect
;
//上传文件
let
upload
=
layui
.
upload
;
//图片上传
upload
.
render
({
elem
:
'.upload-img'
,
url
:
getOssUploadDomain
()
+
'/uploadFile?sys_type=5&create_uid='
+
getCookie
(
'oa_user_id'
),
field
:
'upload'
,
data
:
{},
accept
:
'file'
,
field
:
'file'
,
size
:
10000
,
before
:
function
(
obj
)
{
layer
.
msg
(
'加载中'
,
{
icon
:
16
,
shade
:
0.01
});
let
item
=
this
.
item
;
//预读本地文件示例,不支持ie8
obj
.
preview
(
function
(
index
,
file
,
result
)
{
// if (file.type.indexOf('image') !== -1){
// $('#' + item.attr('preview')).attr('src', result); //图片链接(base64)
// }else{
// $('#' + item.attr('preview')).attr('src', '/images/file.png');
// }
});
},
done
:
function
(
res
)
{
if
(
res
.
code
===
0
)
{
layer
.
msg
(
'上传成功'
,
{
icon
:
6
});
let
item
=
this
.
item
;
$
(
'#'
+
item
.
attr
(
'data-obj'
)).
val
(
res
.
data
.
oss_file_url
);
$
(
'#sign_contract_file_url'
).
text
(
res
.
data
.
oss_file_url
);
return
false
;
}
else
{
layer
.
msg
(
'上传失败,'
+
res
.
message
,
{
icon
:
5
});
return
false
;
}
},
error
:
function
(
res
)
{
layer
.
msg
(
'上传失败:'
+
res
.
message
,
{
icon
:
5
});
return
false
;
}
});
form
.
on
(
'submit(load)'
,
function
(
data
)
{
let
loadIndex
=
layer
.
load
(
1
,
{
shade
:
[
0.1
,
'#fff'
],
});
// 添加loading效果
let
url
=
'/api/supplier_contract/UploadSupplierSignContractFile'
;
$
.
ajax
({
url
:
url
,
type
:
'POST'
,
data
:
data
.
field
,
success
:
function
(
res
)
{
layer
.
close
(
loadIndex
);
res
=
JSON
.
parse
(
res
);
if
(
res
.
err_code
==
0
)
{
layer
.
close
(
loadIndex
);
layer
.
msg
(
res
.
err_msg
,
{
icon
:
6
});
setTimeout
(
function
()
{
admin
.
closeThisDialog
();
},
1000
);
}
else
{
layer
.
close
(
loadIndex
);
layer
.
msg
(
res
.
err_msg
,
{
icon
:
5
});
}
},
error
:
function
()
{
layer
.
close
(
loadIndex
);
layer
.
msg
(
'网络错误,请重试'
,
{
icon
:
5
});
}
});
return
false
;
});
//cancel
form
.
on
(
'submit(cancel)'
,
function
(
data
)
{
admin
.
closeThisDialog
();
});
});
</script>
resources/views/web/SaveSupplierContract.blade.php
View file @
0b5e08f8
...
...
@@ -57,7 +57,7 @@
<div
class=
"layui-form-item"
>
<div
align=
"center"
style=
"margin-top: 20px"
>
<button
type=
"button"
class=
"layui-btn layui-btn-normal"
lay-submit
lay-filter=
"load"
>
生成合同
</button>
<button
type=
"button"
class=
"layui-btn layui-btn-normal"
lay-submit
lay-filter=
"load"
>
确认
</button>
<button
type=
"button"
class=
"layui-btn layui-btn-primary"
lay-submit
lay-filter=
"cancel"
>
取消
</button>
</div>
...
...
resources/views/web/SupplierContractList.blade.php
View file @
0b5e08f8
...
...
@@ -57,6 +57,7 @@
</div>
<div
class=
"layui-btn-group demoTable"
style=
"margin-top: 15px"
>
<button
type=
"button"
class=
"layui-btn layui-btn-sm"
id=
"create_contract"
>
生成寄售合同
</button>
<button
type=
"button"
class=
"layui-btn layui-btn-sm"
id=
"upload_sign_contract_file"
>
上传签署合同
</button>
@if (checkPerm('EditContract') || isAdmin())
<button
type=
"button"
class=
"layui-btn layui-btn-sm"
id=
"edit_contract"
>
编辑
</button>
@endif
...
...
resources/views/web/UploadSupplierSignContractFile.blade.php
0 → 100644
View file @
0b5e08f8
<style>
.layui-form-item
{
margin-bottom
:
5px
;
}
.layui-input-suffix
{
position
:
absolute
;
right
:
10px
;
top
:
0
;
line-height
:
38px
;
}
</style>
<div
class=
"layui-card"
>
<div
class=
"layui-card-body"
>
<form
class=
"layui-form"
action=
""
>
<input
type=
"hidden"
name=
"id"
value=
"{{ $contract['id'] or '' }}"
>
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label"
>
合同编号 :
</label>
<div
class=
"layui-input-block block-42"
>
<input
type=
"text"
id=
"contract_no"
placeholder=
"请输入合同编号"
class=
"layui-input layui-disabled"
value=
"{{ $contract['contract_no'] or '系统自动生成' }}"
readonly
>
</div>
</div>
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label"
>
供应商名称 :
</label>
<div
class=
"layui-input-block block-42"
>
<input
type=
"text"
id=
"supplier_name"
placeholder=
"请输入供应商名称"
class=
"layui-input layui-disabled"
value=
"{{ $contract['supplier_name'] or '' }}"
readonly
>
</div>
</div>
<div
class=
"layui-form-item"
>
<label
class=
"layui-form-label"
>
<span
style=
"color: red"
>
*
</span>
文件上传 :
</label>
<div
class=
"layui-input-block"
>
<input
type=
"hidden"
name=
"sign_contract_file"
id=
"sign_contract_file"
value=
"{{ $contract['sign_contract_file'] or '' }}"
>
<button
type=
"button"
class=
"layui-btn upload-img layui-btn-sm"
preview=
"preview"
data-obj=
"sign_contract_file"
>
<i
class=
"layui-icon"
>

</i>
点击上传
</button>
<a
target=
"_blank"
id=
"sign_contract_file_url"
style=
"color: blue"
href=
"{{ $contract['sign_contract_file'] or '' }}"
>
{{ $contract['sign_contract_file'] or '' }}
</a>
</div>
<p
style=
"padding-left: 110px"
>
合同上传仅支持小于10M文件
</p>
</div>
<div
class=
"layui-form-item"
>
<div
align=
"center"
style=
"margin-top: 20px"
>
<button
type=
"button"
class=
"layui-btn layui-btn-normal"
lay-submit
lay-filter=
"load"
>
确认
</button>
<button
type=
"button"
class=
"layui-btn layui-btn-primary"
lay-submit
lay-filter=
"cancel"
>
取消
</button>
</div>
</div>
</form>
</div>
</div>
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