diff --git a/back/application/api/controller/Contract.php b/back/application/api/controller/Contract.php index 98a7567..ad2665a 100644 --- a/back/application/api/controller/Contract.php +++ b/back/application/api/controller/Contract.php @@ -235,11 +235,13 @@ class Contract extends Common $insert_info['contract_category']= $param['contract_category']; } - if($param['contract_url'] == ''){ + // 先检查键是否存在,再判断值是否为空 + if (!isset($param['contract_url']) || $param['contract_url'] == '') { $insert_info['contract_url'] = ''; - }else{ - $insert_info['contract_url'] = $param['contract_url']; - $insert_info['contract_file_name'] = $param['contract_file_name']; + } else { + $insert_info['contract_url'] = $param['contract_url']; + // 同理,contract_file_name 也建议做存在性检查,避免同理报错 + $insert_info['contract_file_name'] = isset($param['contract_file_name']) ? $param['contract_file_name'] : ''; } db('contract_info')->insert($insert_info); return $this->sendSuccess('添加成功'); @@ -320,4 +322,109 @@ class Contract extends Common return $this->sendError('删除失败'); } } + + // 合同检索 + public function searchContracts() + { + $param = request()->param(); + + $currPage = isset($param['currPage']) ? $param['currPage'] : 1; + $pageSize = isset($param['pageSize']) ? $param['pageSize'] : 20; + + // 构建查询条件 + $where = ['del_time' => null]; + + // 时间范围筛选 + if (isset($param['start_date']) && !empty($param['start_date'])) { + $where['create_time'] = ['>=', $param['start_date']]; + } + if (isset($param['end_date']) && !empty($param['end_date'])) { + if (isset($where['create_time'])) { + $where['create_time'] = [ + ['>=', $param['start_date']], + ['<=', $param['end_date']] + ]; + } else { + $where['create_time'] = ['<=', $param['end_date']]; + } + } + + // 合同分类筛选 + if (isset($param['contract_category']) && $param['contract_category'] !== '' && $param['contract_category'] !== '0') { + $where['contract_category'] = $param['contract_category']; + } + + // 查询合同列表 + $contractList = db('contract_info') + ->where($where) + ->order('contract_id', 'desc') + ->page($currPage, $pageSize) + ->select(); + + // 遍历合同列表,补充关联信息 + foreach ($contractList as &$contract) { + // 获取合同类型名称 + if ($contract['contract_type']) { + $contractType = db('contract_type') + ->where('type_id', $contract['contract_type']) + ->field('type_name') + ->find(); + $contract['contract_type_name'] = $contractType ? $contractType['type_name'] : ''; + } else { + $contract['contract_type_name'] = ''; + } + + // 获取合同分类名称 + switch ($contract['contract_category']) { + case 1: + $contract['contract_category_name'] = '销售合同'; + break; + case 2: + $contract['contract_category_name'] = '销售技术协议'; + break; + case 3: + $contract['contract_category_name'] = '采购合同'; + break; + case 4: + $contract['contract_category_name'] = '采购及技术协议'; + break; + case 5: + $contract['contract_category_name'] = '其他'; + break; + default: + $contract['contract_category_name'] = ''; + } + + // 获取项目名称 + if ($contract['project_id']) { + $project = db('project_info') + ->where('project_id', $contract['project_id']) + ->field('project_name') + ->find(); + $contract['project_name'] = $project ? $project['project_name'] : ''; + } else { + $contract['project_name'] = ''; + } + + // 获取合作伙伴名称 + if ($contract['partner_id']) { + $partner = db('partner_company') + ->where('company_id', $contract['partner_id']) + ->field('company_name') + ->find(); + $contract['partner_name'] = $partner ? $partner['company_name'] : ''; + } else { + $contract['partner_name'] = ''; + } + } + unset($contract); + + // 查询总记录数 + $total = db('contract_info')->where($where)->count(); + + $res['list'] = $contractList; + $res['total'] = $total; + + return $this->sendSuccess($res); + } } \ No newline at end of file diff --git a/back/application/api/controller/User.php b/back/application/api/controller/User.php index 8d889c5..f8fdddc 100644 --- a/back/application/api/controller/User.php +++ b/back/application/api/controller/User.php @@ -321,6 +321,7 @@ class User extends Common $ret['company'] = "苏州维达奇智能科技有限公司"; } $ret['id'] = $login_id; + $ret['name'] = $res['user_name']; } //客户 if (2 == $res['user_type']) @@ -332,6 +333,7 @@ class User extends Common ->field('i.contacts_name as name, i.contacts_idcard as idcard, c.company_name as company') ->find(); $ret['id'] = $login_id; + $ret['name'] = $res['user_name']; } } diff --git a/back/application/database.php b/back/application/database.php index ee2f927..ea49943 100644 --- a/back/application/database.php +++ b/back/application/database.php @@ -19,7 +19,7 @@ return [ // 用户名 'username' => 'root', // 密码 - 'password' => '123456', + 'password' => '12356', // 端口 'hostport' => '', // 连接dsn diff --git a/front/config/dev.env.js b/front/config/dev.env.js index 03831c9..1fba01b 100644 --- a/front/config/dev.env.js +++ b/front/config/dev.env.js @@ -1,7 +1,7 @@ module.exports = { NODE_ENV: '"development"', ENV_CONFIG: '"dev"', - BASE_WMS_API: '"http://47.111.78.178:8011/api"', - BASE_WMS_FILE: '"http://47.111.78.178:8011/"' + BASE_WMS_API: '"http://127.0.0.1:8080/api"', + BASE_WMS_FILE: '"http://127.0.0.1:8080/"' // 47.101.147.253 } diff --git a/front/config/prod.env.js b/front/config/prod.env.js index 8626731..9874c6a 100644 --- a/front/config/prod.env.js +++ b/front/config/prod.env.js @@ -1,8 +1,8 @@ module.exports = { NODE_ENV: '"production"', ENV_CONFIG: '"prod"', - BASE_WMS_API: '"http://47.111.78.178:8011/api"', - BASE_WMS_FILE: '"http://47.111.78.178:8011/"' + BASE_WMS_API: '"http://127.0.0.1:8080/api"', + BASE_WMS_FILE: '"http://127.0.0.1:8080/"' ////BASE_AGV_API: '"http://192.168.3.223:55200/v1"', //BASE_WMS_API: '"http://169.254.71.103/api"', //BASE_AGV_API: '"http://127.0.0.1:55200/v1"', diff --git a/front/src/api/contract.js b/front/src/api/contract.js index 48d4708..551d947 100644 --- a/front/src/api/contract.js +++ b/front/src/api/contract.js @@ -90,5 +90,14 @@ export default { method: 'post', data: param }) + }, + + // 合同检索 + searchContracts(param) { + return request({ + url: `/Contract/searchContracts`, + method: 'post', + data: param + }) } } diff --git a/front/src/views/contract-mgr/contractsearch.vue b/front/src/views/contract-mgr/contractsearch.vue index b3a5896..a2e9b37 100644 --- a/front/src/views/contract-mgr/contractsearch.vue +++ b/front/src/views/contract-mgr/contractsearch.vue @@ -8,53 +8,321 @@
暂无合同数据
+该文件类型({{ fileExtension }})需要下载后查看
+