Commit 0b5e08f8 by 杨树贤

寄售合同回传需求

parent af519277
......@@ -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, '上传成功');
}
}
......@@ -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('上传签署合同文件');
}
}
......@@ -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;
}
}
......@@ -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;
}
......@@ -39,7 +39,7 @@
//图片上传
upload.render({
elem: '.upload-img'
, url: UploadImgUrl
url: UploadImgUrl
, field: 'upload'
, data: {
k1: k1,
......
......@@ -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',
......
<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>
......@@ -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>
......
......@@ -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
......
<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">&#xe67c;</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>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment