新增发票关联合同协议功能
This commit is contained in:
parent
2dd16db21c
commit
8a89885779
@ -19,15 +19,30 @@ class Api extends BaseController
|
|||||||
{
|
{
|
||||||
$param = get_params();
|
$param = get_params();
|
||||||
$where = array();
|
$where = array();
|
||||||
|
$whereOr = array();
|
||||||
if (!empty($param['keywords'])) {
|
if (!empty($param['keywords'])) {
|
||||||
$where[] = ['id|name', 'like', '%' . $param['keywords'] . '%'];
|
$where[] = ['id|name', 'like', '%' . $param['keywords'] . '%'];
|
||||||
}
|
}
|
||||||
$where[] = ['delete_time', '=', 0];
|
$where[] = ['delete_time', '=', 0];
|
||||||
|
$where[] = ['check_status', '=', 2];
|
||||||
|
$uid = $this->uid;
|
||||||
|
$auth = isAuth($uid,'contract');
|
||||||
|
if($auth==0){
|
||||||
|
$whereOr[] =['admin_id|prepared_uid|sign_uid|keeper_uid', '=', $uid];
|
||||||
|
$whereOr[] = ['', 'exp', Db::raw("FIND_IN_SET('{$uid}',share_ids)")];
|
||||||
|
$dids = get_department_role($this->uid);
|
||||||
|
if(!empty($dids)){
|
||||||
|
$whereOr[] =['sign_did', 'in', $dids];
|
||||||
|
}
|
||||||
|
}
|
||||||
$rows = empty($param['limit']) ? get_config('app.page_size') : $param['limit'];
|
$rows = empty($param['limit']) ? get_config('app.page_size') : $param['limit'];
|
||||||
$list = Db::name('Contract')
|
$list = Db::name('Contract')
|
||||||
->field('id,name,sign_uid,sign_time')
|
->field('id,name,sign_uid,sign_time')
|
||||||
->order('end_time asc')
|
->order('end_time asc')
|
||||||
->where($where)
|
->where($where)
|
||||||
|
->where(function ($query) use($whereOr) {
|
||||||
|
$query->whereOr($whereOr);
|
||||||
|
})
|
||||||
->paginate($rows, false)->each(function($item, $key){
|
->paginate($rows, false)->each(function($item, $key){
|
||||||
$item['sign_name'] = Db::name('Admin')->where('id',$item['sign_uid'])->value('name');
|
$item['sign_name'] = Db::name('Admin')->where('id',$item['sign_uid'])->value('name');
|
||||||
$item['sign_time'] = date('Y-m-d', $item['sign_time']);
|
$item['sign_time'] = date('Y-m-d', $item['sign_time']);
|
||||||
|
@ -93,6 +93,12 @@ class Invoice extends Model
|
|||||||
$detail['open_time'] = '-';
|
$detail['open_time'] = '-';
|
||||||
$detail['open_admin'] = '-';
|
$detail['open_admin'] = '-';
|
||||||
}
|
}
|
||||||
|
if ($detail['contract_id'] > 0) {
|
||||||
|
$detail['contract_name'] = Db::name('Contract')->where(['id' => $detail['contract_id']])->value('name');
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$detail['contract_name'] = '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return $detail;
|
return $detail;
|
||||||
}
|
}
|
||||||
|
@ -345,6 +345,11 @@ const moduleInit = ['tool','employeepicker'];
|
|||||||
, { field: 'title', title: '项目名称' }
|
, { field: 'title', title: '项目名称' }
|
||||||
]]
|
]]
|
||||||
});
|
});
|
||||||
|
//项目搜索提交
|
||||||
|
form.on('submit(search_form)', function (data) {
|
||||||
|
projectTable.reload({ where: { keywords: data.field.keywords }, page: { curr: 1 } });
|
||||||
|
return false;
|
||||||
|
});
|
||||||
},
|
},
|
||||||
btn: ['确定'],
|
btn: ['确定'],
|
||||||
yes: function () {
|
yes: function () {
|
||||||
@ -362,11 +367,6 @@ const moduleInit = ['tool','employeepicker'];
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
//项目搜索提交
|
|
||||||
form.on('submit(search_form)', function (data) {
|
|
||||||
projectTable.reload({ where: { keywords: data.field.keywords }, page: { curr: 1 } });
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
//监听提交
|
//监听提交
|
||||||
form.on('submit(webform)', function(data){
|
form.on('submit(webform)', function(data){
|
||||||
|
@ -62,6 +62,13 @@
|
|||||||
<td class="layui-td-gray">地址</td>
|
<td class="layui-td-gray">地址</td>
|
||||||
<td colspan="3"><input type="text" name="invoice_address" class="layui-input" value=""></td>
|
<td colspan="3"><input type="text" name="invoice_address" class="layui-input" value=""></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="layui-td-gray">关联合同</td>
|
||||||
|
<td colspan="5">
|
||||||
|
<input type="text" class="layui-input contract-picker" name="contract_name" placeholder="请选择需要关联的合同" readonly value="">
|
||||||
|
<input type="hidden" class="layui-input" name="contract_id" value="0">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="layui-td-gray">备注信息</td>
|
<td class="layui-td-gray">备注信息</td>
|
||||||
<td colspan="5"><textarea name="remark" placeholder="请输入备注信息" class="layui-textarea"></textarea></td>
|
<td colspan="5"><textarea name="remark" placeholder="请输入备注信息" class="layui-textarea"></textarea></td>
|
||||||
@ -149,6 +156,13 @@
|
|||||||
<td class="layui-td-gray">地址</td>
|
<td class="layui-td-gray">地址</td>
|
||||||
<td colspan="3"><input type="text" name="invoice_address" class="layui-input" value="{$detail.invoice_address}"></td>
|
<td colspan="3"><input type="text" name="invoice_address" class="layui-input" value="{$detail.invoice_address}"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="layui-td-gray">关联合同</td>
|
||||||
|
<td colspan="5">
|
||||||
|
<input type="text" class="layui-input contract-picker" name="contract_name" placeholder="请选择需要关联的合同" readonly value="{$detail.contract_name}">
|
||||||
|
<input type="hidden" class="layui-input" name="contract_id" value="{$detail.contract_id}">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="layui-td-gray">备注信息</td>
|
<td class="layui-td-gray">备注信息</td>
|
||||||
<td colspan="5"><textarea name="remark" placeholder="请输入备注信息" class="layui-textarea">{$detail.remark}</textarea></td>
|
<td colspan="5"><textarea name="remark" placeholder="请输入备注信息" class="layui-textarea">{$detail.remark}</textarea></td>
|
||||||
@ -232,11 +246,7 @@ Array.prototype.remove = function (val) {
|
|||||||
|
|
||||||
const moduleInit = ['tool','employeepicker'];
|
const moduleInit = ['tool','employeepicker'];
|
||||||
function gouguInit() {
|
function gouguInit() {
|
||||||
var form = layui.form,
|
var form = layui.form,upload = layui.upload,tool=layui.tool,table=layui.table,employeepicker = layui.employeepicker,laydate = layui.laydate;
|
||||||
upload = layui.upload,
|
|
||||||
tool=layui.tool,
|
|
||||||
employeepicker = layui.employeepicker,
|
|
||||||
laydate = layui.laydate;
|
|
||||||
|
|
||||||
//选择抬头类型
|
//选择抬头类型
|
||||||
form.on('radio(type)', function (data) {
|
form.on('radio(type)', function (data) {
|
||||||
@ -248,6 +258,59 @@ function gouguInit() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//选择关联合同
|
||||||
|
$('.contract-picker').on('click', function () {
|
||||||
|
contractProject();
|
||||||
|
});
|
||||||
|
var contractTable;
|
||||||
|
function contractProject() {
|
||||||
|
layer.open({
|
||||||
|
title: '选择合同',
|
||||||
|
area: ['600px', '580px'],
|
||||||
|
type: 1,
|
||||||
|
content: '<div class="picker-table">\
|
||||||
|
<form class="layui-form pb-2">\
|
||||||
|
<div class="layui-input-inline" style="width:480px;">\
|
||||||
|
<input type="text" name="keywords" placeholder="合同名称" class="layui-input" autocomplete="off" />\
|
||||||
|
</div>\
|
||||||
|
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="search_form">提交搜索</button>\
|
||||||
|
</form>\
|
||||||
|
<div id="contractTable"></div></div>',
|
||||||
|
success: function () {
|
||||||
|
contractTable = table.render({
|
||||||
|
elem: '#contractTable'
|
||||||
|
, url: '/contract/api/get_contract'
|
||||||
|
, page: true //开启分页
|
||||||
|
, limit: 10
|
||||||
|
, cols: [[
|
||||||
|
{ type: 'radio', title: '选择' }
|
||||||
|
, { field: 'id', width: 100, title: '编号', align: 'center' }
|
||||||
|
, { field: 'name', title: '合同名称' }
|
||||||
|
]]
|
||||||
|
});
|
||||||
|
//项目搜索提交
|
||||||
|
form.on('submit(search_form)', function (data) {
|
||||||
|
contractTable.reload({ where: { keywords: data.field.keywords }, page: { curr: 1 } });
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
btn: ['确定'],
|
||||||
|
yes: function () {
|
||||||
|
var checkStatus = table.checkStatus(contractTable.config.id);
|
||||||
|
var data = checkStatus.data;
|
||||||
|
if (data.length > 0) {
|
||||||
|
$('[name="contract_name"]').val(data[0].name);
|
||||||
|
$('[name="contract_id"]').val(data[0].id);
|
||||||
|
layer.closeAll();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
layer.msg('请先选择合同');
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//监听提交
|
//监听提交
|
||||||
form.on('submit(webform)', function(data){
|
form.on('submit(webform)', function(data){
|
||||||
|
@ -101,6 +101,12 @@
|
|||||||
<td class="layui-td-gray">地址</td>
|
<td class="layui-td-gray">地址</td>
|
||||||
<td colspan="3">{$detail.invoice_address}</td>
|
<td colspan="3">{$detail.invoice_address}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
{if condition="$detail.contract_id > 0"}
|
||||||
|
<tr>
|
||||||
|
<td class="layui-td-gray">关联的合同</td>
|
||||||
|
<td colspan="5">{$detail.contract_name}</td>
|
||||||
|
</tr>
|
||||||
|
{/if}
|
||||||
{notempty name="$detail.remark"}
|
{notempty name="$detail.remark"}
|
||||||
<tr>
|
<tr>
|
||||||
<td class="layui-td-gray">备注信息</td>
|
<td class="layui-td-gray">备注信息</td>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user