Compare commits
4 Commits
5364df097b
...
8eb2495cea
| Author | SHA1 | Date | |
|---|---|---|---|
| 8eb2495cea | |||
| 8df05405b4 | |||
| 9dbcab4e89 | |||
| aa37f75a07 |
@@ -77,7 +77,7 @@ class Contract extends Common
|
|||||||
{
|
{
|
||||||
$param = request()->post();
|
$param = request()->post();
|
||||||
|
|
||||||
$FirstLeveType = db('partner_company')->where('company_type & 0x01', 1)->field('company_id as id, company_name as name')->select();
|
$FirstLeveType = db('partner_company')->where('company_type & 0x01', 1)->field('company_id as id, company_name as name')->order('company_name asc')->select();
|
||||||
|
|
||||||
for ($i = 0; $i < count($FirstLeveType); $i++)
|
for ($i = 0; $i < count($FirstLeveType); $i++)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -129,4 +129,46 @@ class Customer extends Common
|
|||||||
return $this->sendSuccess($ret);
|
return $this->sendSuccess($ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 客户检索 - 分页查询合作伙伴公司
|
||||||
|
public function SearchPartnerCompany()
|
||||||
|
{
|
||||||
|
$param = request()->post();
|
||||||
|
|
||||||
|
$currPage = isset($param['page']) ? $param['page'] : 1;
|
||||||
|
$pageSize = isset($param['limit']) ? $param['limit'] : 10;
|
||||||
|
$company_name = isset($param['company_name']) ? $param['company_name'] : '';
|
||||||
|
|
||||||
|
// 构建查询条件
|
||||||
|
$query = db('partner_company');
|
||||||
|
|
||||||
|
// 查询客户类型
|
||||||
|
$query->whereIn('company_type', [1, 5]);
|
||||||
|
|
||||||
|
if (!empty($company_name)) {
|
||||||
|
$query->where('company_name', 'like', '%' . $company_name . '%');
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询列表数据
|
||||||
|
$list = $query->page($currPage, $pageSize)
|
||||||
|
->order('company_id desc')
|
||||||
|
->select();
|
||||||
|
|
||||||
|
// 查询总记录数
|
||||||
|
$totalQuery = db('partner_company');
|
||||||
|
$totalQuery->whereIn('company_type', [1, 5]);
|
||||||
|
|
||||||
|
if (!empty($company_name)) {
|
||||||
|
$totalQuery->where('company_name', 'like', '%' . $company_name . '%');
|
||||||
|
}
|
||||||
|
|
||||||
|
$total = $totalQuery->count();
|
||||||
|
|
||||||
|
$result = [
|
||||||
|
'list' => $list,
|
||||||
|
'total' => $total
|
||||||
|
];
|
||||||
|
|
||||||
|
return $this->sendSuccess($result);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -237,6 +237,7 @@ class Partner extends Common
|
|||||||
//查找所有的签约客户公司
|
//查找所有的签约客户公司
|
||||||
$result = db('partner_company')->where('company_type & 0x01', 1)
|
$result = db('partner_company')->where('company_type & 0x01', 1)
|
||||||
->field('company_id as id, company_name as name')
|
->field('company_id as id, company_name as name')
|
||||||
|
->order('company_name asc')
|
||||||
->select();
|
->select();
|
||||||
|
|
||||||
for ($i=0; $i<count($result); $i++)
|
for ($i=0; $i<count($result); $i++)
|
||||||
@@ -271,6 +272,7 @@ class Partner extends Common
|
|||||||
//查找所有的业主公司
|
//查找所有的业主公司
|
||||||
$OwnerList = db('partner_company')->where('company_type & 0x02', 2)
|
$OwnerList = db('partner_company')->where('company_type & 0x02', 2)
|
||||||
->field('company_id as id, company_name as name')
|
->field('company_id as id, company_name as name')
|
||||||
|
->order('company_name asc')
|
||||||
->select();
|
->select();
|
||||||
$ret = [];
|
$ret = [];
|
||||||
$item = [];
|
$item = [];
|
||||||
|
|||||||
@@ -227,7 +227,6 @@ class Work extends Common
|
|||||||
->field('s.*, i.project_name, i.project_number, t.desp as issue_state_name, i.involve_manager,1 as project_types')
|
->field('s.*, i.project_name, i.project_number, t.desp as issue_state_name, i.involve_manager,1 as project_types')
|
||||||
->select();
|
->select();
|
||||||
|
|
||||||
|
|
||||||
for ($i = 0; $i < count($ret); $i++) {
|
for ($i = 0; $i < count($ret); $i++) {
|
||||||
$info = $user->GetUserInfoByLoginId($ret[$i]['issue_processor']);
|
$info = $user->GetUserInfoByLoginId($ret[$i]['issue_processor']);
|
||||||
if ($info != "")
|
if ($info != "")
|
||||||
@@ -239,6 +238,8 @@ class Work extends Common
|
|||||||
$ret[$i]['issue_processor_name'] = '-';
|
$ret[$i]['issue_processor_name'] = '-';
|
||||||
}
|
}
|
||||||
$info = $user->GetUserInfoByLoginId($ret[$i]['issue_creator']);
|
$info = $user->GetUserInfoByLoginId($ret[$i]['issue_creator']);
|
||||||
|
|
||||||
|
// error_log("ret: " . print_r($info, true));
|
||||||
$ret[$i]['issue_creator_name'] = $info['name'];
|
$ret[$i]['issue_creator_name'] = $info['name'];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -292,10 +293,10 @@ class Work extends Common
|
|||||||
if (1 == $user_info['user_role'])
|
if (1 == $user_info['user_role'])
|
||||||
{
|
{
|
||||||
$where = [];
|
$where = [];
|
||||||
if($param['task_state'] != ''){
|
if(isset($param['task_state']) && $param['task_state'] != ''){
|
||||||
$where['s.task_state'] = $param['task_state'];
|
$where['s.task_state'] = $param['task_state'];
|
||||||
}
|
}
|
||||||
if($param['task_processor'] != ''){
|
if(isset($param['task_processor']) && $param['task_processor'] != ''){
|
||||||
$where['s.task_processor'] = $param['task_processor'];
|
$where['s.task_processor'] = $param['task_processor'];
|
||||||
}
|
}
|
||||||
$ret = db('work_task_info')->alias('s')
|
$ret = db('work_task_info')->alias('s')
|
||||||
@@ -317,7 +318,7 @@ class Work extends Common
|
|||||||
return $this->sendSuccess($ret);
|
return $this->sendSuccess($ret);
|
||||||
}else{
|
}else{
|
||||||
$where = [];
|
$where = [];
|
||||||
if($param['task_state'] != ''){
|
if(isset($param['task_state']) && $param['task_state'] != ''){
|
||||||
$where['s.task_state'] = $param['task_state'];
|
$where['s.task_state'] = $param['task_state'];
|
||||||
}
|
}
|
||||||
$ret = db('work_task_info')->alias('s')
|
$ret = db('work_task_info')->alias('s')
|
||||||
@@ -444,7 +445,7 @@ class Work extends Common
|
|||||||
if (1 == $user_info['user_role'])
|
if (1 == $user_info['user_role'])
|
||||||
{
|
{
|
||||||
$where = [];
|
$where = [];
|
||||||
if($param['task_state'] != ''){
|
if(isset($param['task_state']) && $param['task_state'] != ''){
|
||||||
$where['s.task_state'] = $param['task_state'];
|
$where['s.task_state'] = $param['task_state'];
|
||||||
}
|
}
|
||||||
$ret = db('work_task_info')->alias('s')
|
$ret = db('work_task_info')->alias('s')
|
||||||
@@ -467,7 +468,7 @@ class Work extends Common
|
|||||||
return $this->sendSuccess($ret);
|
return $this->sendSuccess($ret);
|
||||||
}else{
|
}else{
|
||||||
$where = [];
|
$where = [];
|
||||||
if($param['task_state'] != ''){
|
if(isset($param['task_state']) && $param['task_state'] != ''){
|
||||||
$where['s.task_state'] = $param['task_state'];
|
$where['s.task_state'] = $param['task_state'];
|
||||||
}
|
}
|
||||||
$ret = db('work_task_info')->alias('s')
|
$ret = db('work_task_info')->alias('s')
|
||||||
@@ -571,7 +572,7 @@ class Work extends Common
|
|||||||
if (1 == $user_info['user_role'])
|
if (1 == $user_info['user_role'])
|
||||||
{
|
{
|
||||||
$where = [];
|
$where = [];
|
||||||
if($param['task_state'] != ''){
|
if(isset($param['task_state']) && $param['task_state'] != ''){
|
||||||
$where['s.task_state'] = $param['task_state'];
|
$where['s.task_state'] = $param['task_state'];
|
||||||
}
|
}
|
||||||
$ret = db('work_task_info')->alias('s')
|
$ret = db('work_task_info')->alias('s')
|
||||||
@@ -585,7 +586,7 @@ class Work extends Common
|
|||||||
return $ret;
|
return $ret;
|
||||||
}else{
|
}else{
|
||||||
$where = [];
|
$where = [];
|
||||||
if($param['task_state'] != ''){
|
if(isset($param['task_state']) && $param['task_state'] != ''){
|
||||||
$where['s.task_state'] = $param['task_state'];
|
$where['s.task_state'] = $param['task_state'];
|
||||||
}
|
}
|
||||||
$ret = db('work_task_info')->alias('s')
|
$ret = db('work_task_info')->alias('s')
|
||||||
@@ -823,4 +824,294 @@ class Work extends Common
|
|||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//获取内部客户参与的项目 - 分页版本
|
||||||
|
public function GetWorkInfoByLoginIdPaginated()
|
||||||
|
{
|
||||||
|
$param = request()->post();
|
||||||
|
$user_id = $param['user_id'];
|
||||||
|
$currPage = isset($param['currPage']) ? $param['currPage'] : 1;
|
||||||
|
$pageSize = isset($param['pageSize']) ? $param['pageSize'] : 10;
|
||||||
|
$project_name = isset($param['project_name']) ? $param['project_name'] : '';
|
||||||
|
|
||||||
|
$user = new User();
|
||||||
|
$project_work = $this->GetProjectListPaginated($user_id, $currPage, $pageSize, $project_name);
|
||||||
|
|
||||||
|
for ($i = 0; $i < count($project_work['list']); $i++) {
|
||||||
|
$involve_manager = $project_work['list'][$i]['involve_manager'];
|
||||||
|
$info = $user->GetUserInfoByLoginId($involve_manager);
|
||||||
|
if ($info && isset($info['name'])) {
|
||||||
|
$project_work['list'][$i]['issue_creator_name'] = $info['name'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$res['list'] = $project_work['list'];
|
||||||
|
$res['total'] = $project_work['total'];
|
||||||
|
return $this->sendSuccess($res);
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取参与的客户项目列表 - 分页版本
|
||||||
|
public function GetProjectListPaginated($user_id, $currPage, $pageSize, $project_name = '')
|
||||||
|
{
|
||||||
|
//判断登录用户的角色,如果是管理员,就获取所有的项目信息
|
||||||
|
$user_info = db('system_user')->where('id', $user_id)->find();
|
||||||
|
|
||||||
|
$query = db('project_info')->alias('p')
|
||||||
|
->join('project_state s', 's.id =p.project_state', 'left')
|
||||||
|
->where('p.project_state', '<', 10) //未关闭的项目
|
||||||
|
->field('p.*, s.desp as project_state_name,1 as project_types');
|
||||||
|
|
||||||
|
// 添加项目名称模糊查询
|
||||||
|
if (!empty($project_name)) {
|
||||||
|
$query->where('p.project_name', 'like', '%' . $project_name . '%');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (1 != $user_info['user_role']) {
|
||||||
|
$query->where(function ($query) use ($user_id) {
|
||||||
|
$query->where('p.involve_manager', $user_id)
|
||||||
|
->whereor('p.involve_members', 'like', $user_id . ',%')
|
||||||
|
->whereor('p.involve_members', 'like', '%,' . $user_id . ',%')
|
||||||
|
->whereor('p.involve_members', 'like', $user_id . '')
|
||||||
|
->whereor('p.involve_members', 'like', '%,' . $user_id);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取分页数据
|
||||||
|
$ret = $query->page($currPage, $pageSize)->select();
|
||||||
|
|
||||||
|
// 获取总数
|
||||||
|
$totalQuery = db('project_info')->alias('p')
|
||||||
|
->join('project_state s', 's.id =p.project_state', 'left')
|
||||||
|
->where('p.project_state', '<', 10);
|
||||||
|
|
||||||
|
// 添加项目名称模糊查询到总数查询
|
||||||
|
if (!empty($project_name)) {
|
||||||
|
$totalQuery->where('p.project_name', 'like', '%' . $project_name . '%');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (1 != $user_info['user_role']) {
|
||||||
|
$totalQuery->where(function ($query) use ($user_id) {
|
||||||
|
$query->where('p.involve_manager', $user_id)
|
||||||
|
->whereor('p.involve_members', 'like', $user_id . ',%')
|
||||||
|
->whereor('p.involve_members', 'like', '%,' . $user_id . ',%')
|
||||||
|
->whereor('p.involve_members', 'like', $user_id . '')
|
||||||
|
->whereor('p.involve_members', 'like', '%,' . $user_id);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
$total = $totalQuery->count();
|
||||||
|
|
||||||
|
//统计每个项目与登录用户有关的任务数
|
||||||
|
for ($i = 0; $i < count($ret); $i++) {
|
||||||
|
$ret[$i]['issue_count'] = $this->GetProjectIssueCount($user_id, $ret[$i]['project_id']);
|
||||||
|
$ret[$i]['task_count'] = $this->GetProjectTaskCount($user_id, $ret[$i]['project_id']);
|
||||||
|
}
|
||||||
|
|
||||||
|
return [
|
||||||
|
'list' => $ret,
|
||||||
|
'total' => $total
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取项目问题列表 - 分页版本
|
||||||
|
public function GetProjectIssueListPaginated()
|
||||||
|
{
|
||||||
|
$param = request()->post();
|
||||||
|
$user = new User();
|
||||||
|
$user_id = $param['user_id'];
|
||||||
|
$project_id = $param['project_id'];
|
||||||
|
$issue_state = $param['issue_state'];
|
||||||
|
$currPage = isset($param['currPage']) ? $param['currPage'] : 1;
|
||||||
|
$pageSize = isset($param['pageSize']) ? $param['pageSize'] : 10;
|
||||||
|
|
||||||
|
$user_info = db('system_user')->where('id', $user_id)->find();
|
||||||
|
|
||||||
|
if (1 == $user_info['user_role']) {
|
||||||
|
$where = [];
|
||||||
|
if ($issue_state == 1) {
|
||||||
|
$where['s.issue_state'] = array('<', 10); //未关闭
|
||||||
|
} else if ($issue_state == 2) {
|
||||||
|
$where['s.issue_state'] = array('>', 10);//已关闭
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取分页数据
|
||||||
|
$query = db('project_issues')->alias('s')
|
||||||
|
->join('project_info i', 'i.project_id =s.project_id', 'left')
|
||||||
|
->join('project_issue_state t', 't.id =s.issue_state', 'left')
|
||||||
|
->where('s.project_id', $project_id)
|
||||||
|
->where($where)
|
||||||
|
->field('s.*, i.project_name, i.project_number, t.desp as issue_state_name, i.involve_manager,1 as project_types');
|
||||||
|
|
||||||
|
$ret = $query->page($currPage, $pageSize)->select();
|
||||||
|
|
||||||
|
// 获取总数
|
||||||
|
$total = db('project_issues')->alias('s')
|
||||||
|
->join('project_info i', 'i.project_id =s.project_id', 'left')
|
||||||
|
->join('project_issue_state t', 't.id =s.issue_state', 'left')
|
||||||
|
->where('s.project_id', $project_id)
|
||||||
|
->where($where)
|
||||||
|
->count();
|
||||||
|
|
||||||
|
for ($i = 0; $i < count($ret); $i++) {
|
||||||
|
$info = $user->GetUserInfoByLoginId($ret[$i]['issue_processor']);
|
||||||
|
if ($info != "") {
|
||||||
|
$ret[$i]['issue_processor_name'] = $info['name'];
|
||||||
|
} else {
|
||||||
|
$ret[$i]['issue_processor_name'] = '-';
|
||||||
|
}
|
||||||
|
$info = $user->GetUserInfoByLoginId($ret[$i]['issue_creator']);
|
||||||
|
$ret[$i]['issue_creator_name'] = $info['name'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$res['list'] = $ret;
|
||||||
|
$res['total'] = $total;
|
||||||
|
return $this->sendSuccess($res);
|
||||||
|
} else {
|
||||||
|
$where = [];
|
||||||
|
if ($issue_state == 1) {
|
||||||
|
$where['s.issue_state'] = array('<', 10); //未关闭
|
||||||
|
} else if ($issue_state == 2) {
|
||||||
|
$where['s.issue_state'] = array('>', 10);//已关闭
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取分页数据
|
||||||
|
$query = db('project_issues')->alias('s')
|
||||||
|
->join('project_info i', 'i.project_id =s.project_id', 'left')
|
||||||
|
->join('project_issue_state t', 't.id =s.issue_state', 'left')
|
||||||
|
->where('s.project_id', $project_id)
|
||||||
|
->where(function ($query) use ($user_id) {
|
||||||
|
$query->where('s.issue_processor', $user_id)
|
||||||
|
->whereor('s.issue_creator', $user_id)
|
||||||
|
->whereor('i.involve_manager', $user_id);
|
||||||
|
})
|
||||||
|
->where($where)
|
||||||
|
->field('s.*, i.project_name, i.project_number, t.desp as issue_state_name, i.involve_manager,1 as project_types');
|
||||||
|
|
||||||
|
$ret = $query->page($currPage, $pageSize)->select();
|
||||||
|
|
||||||
|
// 获取总数
|
||||||
|
$total = db('project_issues')->alias('s')
|
||||||
|
->join('project_info i', 'i.project_id =s.project_id', 'left')
|
||||||
|
->join('project_issue_state t', 't.id =s.issue_state', 'left')
|
||||||
|
->where('s.project_id', $project_id)
|
||||||
|
->where(function ($query) use ($user_id) {
|
||||||
|
$query->where('s.issue_processor', $user_id)
|
||||||
|
->whereor('s.issue_creator', $user_id)
|
||||||
|
->whereor('i.involve_manager', $user_id);
|
||||||
|
})
|
||||||
|
->where($where)
|
||||||
|
->count();
|
||||||
|
|
||||||
|
for ($i = 0; $i < count($ret); $i++) {
|
||||||
|
$info = $user->GetUserInfoByLoginId($ret[$i]['issue_processor']);
|
||||||
|
if ($info != "") {
|
||||||
|
$ret[$i]['issue_processor_name'] = $info['name'];
|
||||||
|
} else {
|
||||||
|
$ret[$i]['issue_processor_name'] = '-';
|
||||||
|
}
|
||||||
|
$info = $user->GetUserInfoByLoginId($ret[$i]['issue_creator']);
|
||||||
|
$ret[$i]['issue_creator_name'] = $info['name'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$res['list'] = $ret;
|
||||||
|
$res['total'] = $total;
|
||||||
|
return $this->sendSuccess($res);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取运营Story列表 - 分页版本
|
||||||
|
public function GetOperationStoryListPaginated()
|
||||||
|
{
|
||||||
|
$param = request()->post();
|
||||||
|
$user = new User();
|
||||||
|
$user_id = $param['user_id'];
|
||||||
|
$currPage = isset($param['currPage']) ? $param['currPage'] : 1;
|
||||||
|
$pageSize = isset($param['pageSize']) ? $param['pageSize'] : 10;
|
||||||
|
|
||||||
|
$user_info = db('system_user')->where('id', $user_id)->find();
|
||||||
|
|
||||||
|
if (1 == $user_info['user_role']) {
|
||||||
|
$where = [];
|
||||||
|
if(isset($param['story_state']) && $param['story_state'] != ''){
|
||||||
|
$where['y.story_state'] = $param['story_state'];
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取分页数据
|
||||||
|
$query = db('work_story_info')->alias('y')
|
||||||
|
->join('work_story_state p', 'p.id =y.story_state', 'left')
|
||||||
|
->where('y.story_type', 2)
|
||||||
|
->where('y.story_state', '<', 4) //未完成的Story
|
||||||
|
->where($where)
|
||||||
|
->field('y.*, p.desp as story_state_desp');
|
||||||
|
|
||||||
|
$ret = $query->page($currPage, $pageSize)->select();
|
||||||
|
|
||||||
|
// 获取总数
|
||||||
|
$total = db('work_story_info')->alias('y')
|
||||||
|
->join('work_story_state p', 'p.id =y.story_state', 'left')
|
||||||
|
->where('y.story_type', 2)
|
||||||
|
->where('y.story_state', '<', 4)
|
||||||
|
->where($where)
|
||||||
|
->count();
|
||||||
|
|
||||||
|
for ($i=0; $i<count($ret); $i++) {
|
||||||
|
//根据登录账号获取Story管理员用户姓名
|
||||||
|
$user_info = $user->GetUserInfoByLoginId($ret[$i]['story_manager']);
|
||||||
|
$ret[$i]['story_manager_name'] = $user_info['name'];
|
||||||
|
$ret[$i]['story_tasks'] = $this->GetOperationTaskCount($user_id,$ret[$i]['story_id']);
|
||||||
|
}
|
||||||
|
|
||||||
|
$res['list'] = $ret;
|
||||||
|
$res['total'] = $total;
|
||||||
|
return $this->sendSuccess($res);
|
||||||
|
} else {
|
||||||
|
$where = [];
|
||||||
|
if(isset($param['story_state']) && $param['story_state'] != ''){
|
||||||
|
$where['y.story_state'] = $param['story_state'];
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取分页数据
|
||||||
|
$query = db('work_story_info')->alias('y')
|
||||||
|
->join('work_story_state p', 'p.id =y.story_state', 'left')
|
||||||
|
->where('y.story_type', 2)
|
||||||
|
->where('y.story_state', '<', 4) //未完成的Story
|
||||||
|
->where($where)
|
||||||
|
->where(function ($query) use ($user_id) {
|
||||||
|
$query->where('y.story_manager', $user_id)
|
||||||
|
->whereor('y.story_member', 'like', $user_id . ',%')
|
||||||
|
->whereor('y.story_member', 'like', '%,' . $user_id . ',%')
|
||||||
|
->whereor('y.story_member', $user_id)
|
||||||
|
->whereor('y.story_member', 'like', '%,' . $user_id);
|
||||||
|
})
|
||||||
|
->field('y.*, p.desp as story_state_desp');
|
||||||
|
|
||||||
|
$ret = $query->page($currPage, $pageSize)->select();
|
||||||
|
|
||||||
|
// 获取总数
|
||||||
|
$total = db('work_story_info')->alias('y')
|
||||||
|
->join('work_story_state p', 'p.id =y.story_state', 'left')
|
||||||
|
->where('y.story_type', 2)
|
||||||
|
->where('y.story_state', '<', 4)
|
||||||
|
->where($where)
|
||||||
|
->where(function ($query) use ($user_id) {
|
||||||
|
$query->where('y.story_manager', $user_id)
|
||||||
|
->whereor('y.story_member', 'like', $user_id . ',%')
|
||||||
|
->whereor('y.story_member', 'like', '%,' . $user_id . ',%')
|
||||||
|
->whereor('y.story_member', $user_id)
|
||||||
|
->whereor('y.story_member', 'like', '%,' . $user_id);
|
||||||
|
})
|
||||||
|
->count();
|
||||||
|
|
||||||
|
for ($i=0; $i<count($ret); $i++) {
|
||||||
|
//根据登录账号获取Story管理员用户姓名
|
||||||
|
$user_info = $user->GetUserInfoByLoginId($ret[$i]['story_manager']);
|
||||||
|
$ret[$i]['story_manager_name'] = $user_info['name'];
|
||||||
|
$ret[$i]['story_tasks'] = $this->GetOperationTaskCount($user_id,$ret[$i]['story_id']);
|
||||||
|
}
|
||||||
|
|
||||||
|
$res['list'] = $ret;
|
||||||
|
$res['total'] = $total;
|
||||||
|
return $this->sendSuccess($res);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
NODE_ENV: '"development"',
|
NODE_ENV: '"development"',
|
||||||
ENV_CONFIG: '"dev"',
|
ENV_CONFIG: '"dev"',
|
||||||
BASE_WMS_API: '"http://127.0.0.1:8080/api"',
|
BASE_WMS_API: '"http://127.0.0.1:8011/api"',
|
||||||
BASE_WMS_FILE: '"http://127.0.0.1:8080/"'
|
BASE_WMS_FILE: '"http://127.0.0.1:8011/"'
|
||||||
// 47.101.147.253
|
// 47.101.147.253
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
NODE_ENV: '"production"',
|
NODE_ENV: '"production"',
|
||||||
ENV_CONFIG: '"prod"',
|
ENV_CONFIG: '"prod"',
|
||||||
BASE_WMS_API: '"http://127.0.0.1:8080/api"',
|
BASE_WMS_API: '"http://127.0.0.1:8011/api"',
|
||||||
BASE_WMS_FILE: '"http://127.0.0.1:8080/"'
|
BASE_WMS_FILE: '"http://127.0.0.1:8011/"'
|
||||||
////BASE_AGV_API: '"http://192.168.3.223:55200/v1"',
|
////BASE_AGV_API: '"http://192.168.3.223:55200/v1"',
|
||||||
//BASE_WMS_API: '"http://169.254.71.103/api"',
|
//BASE_WMS_API: '"http://169.254.71.103/api"',
|
||||||
//BASE_AGV_API: '"http://127.0.0.1:55200/v1"',
|
//BASE_AGV_API: '"http://127.0.0.1:55200/v1"',
|
||||||
|
|||||||
@@ -1,76 +1,89 @@
|
|||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
|
|
||||||
export default {
|
// 获取客户信息列表
|
||||||
|
export function GetCustomerList(param) {
|
||||||
//获取客户信息列表
|
|
||||||
GetCustomerList(param) {
|
|
||||||
return request({
|
return request({
|
||||||
url: `/Customer/GetCustomerList`,
|
url: `/Customer/GetCustomerList`,
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: param
|
data: param
|
||||||
})
|
})
|
||||||
},
|
}
|
||||||
|
|
||||||
//添加客户信息
|
// 添加客户信息
|
||||||
AddCustomerInfo(param) {
|
export function AddCustomerInfo(param) {
|
||||||
return request({
|
return request({
|
||||||
url: `/Customer/AddCustomerInfo`,
|
url: `/Customer/AddCustomerInfo`,
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: param
|
data: param
|
||||||
})
|
})
|
||||||
},
|
}
|
||||||
|
|
||||||
GetProjectInfoList(param) {
|
export function GetProjectInfoList(param) {
|
||||||
return request({
|
return request({
|
||||||
url: `/Project/GetProjectInfoList`,
|
url: `/Project/GetProjectInfoList`,
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: param
|
data: param
|
||||||
})
|
})
|
||||||
},
|
}
|
||||||
|
|
||||||
|
export function AddProjectInfo(param) {
|
||||||
AddProjectInfo(param) {
|
|
||||||
return request({
|
return request({
|
||||||
url: `/Project/AddProjectInfo`,
|
url: `/Project/AddProjectInfo`,
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: param
|
data: param
|
||||||
})
|
})
|
||||||
},
|
}
|
||||||
|
|
||||||
UpdateProjectInfo(param) {
|
export function UpdateProjectInfo(param) {
|
||||||
return request({
|
return request({
|
||||||
url: `/Project/updateProjectInfo`,
|
url: `/Project/updateProjectInfo`,
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: param
|
data: param
|
||||||
})
|
})
|
||||||
},
|
}
|
||||||
|
|
||||||
//添加客户联系人
|
// 添加客户联系人
|
||||||
AddCustomerMemberInfo(param) {
|
export function AddCustomerMemberInfo(param) {
|
||||||
return request({
|
return request({
|
||||||
url: `/Customer/AddCustomerMemberInfo`,
|
url: `/Customer/AddCustomerMemberInfo`,
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: param
|
data: param
|
||||||
})
|
})
|
||||||
},
|
}
|
||||||
|
|
||||||
GetCustomerMemberList(param) {
|
export function GetCustomerMemberList(param) {
|
||||||
return request({
|
return request({
|
||||||
url: `/Customer/GetCustomerMemberList`,
|
url: `/Customer/GetCustomerMemberList`,
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: param
|
data: param
|
||||||
})
|
})
|
||||||
},
|
}
|
||||||
|
|
||||||
GetCustomerInfo(param) {
|
export function GetCustomerInfo(param) {
|
||||||
return request({
|
return request({
|
||||||
url: `/Customer/GetCustomerInfo`,
|
url: `/Customer/GetCustomerInfo`,
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data: param
|
data: param
|
||||||
})
|
})
|
||||||
},
|
}
|
||||||
|
|
||||||
|
// 客户检索 - 搜索合作伙伴公司
|
||||||
|
export function searchPartnerCompany(param) {
|
||||||
|
return request({
|
||||||
|
url: `/Customer/SearchPartnerCompany`,
|
||||||
|
method: 'post',
|
||||||
|
data: param
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export default {
|
||||||
|
GetCustomerList,
|
||||||
|
AddCustomerInfo,
|
||||||
|
GetProjectInfoList,
|
||||||
|
AddProjectInfo,
|
||||||
|
UpdateProjectInfo,
|
||||||
|
AddCustomerMemberInfo,
|
||||||
|
GetCustomerMemberList,
|
||||||
|
GetCustomerInfo,
|
||||||
|
searchPartnerCompany
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,15 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
//获取项目类型列表 - 分页版本
|
||||||
|
GetWorkInfoByLoginIdPaginated(param) {
|
||||||
|
return request({
|
||||||
|
url: `/work/GetWorkInfoByLoginIdPaginated`,
|
||||||
|
method: "post",
|
||||||
|
data: param
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
GetDevelopIssueList(param) {
|
GetDevelopIssueList(param) {
|
||||||
return request({
|
return request({
|
||||||
url: `/work/GetDevelopIssueList`,
|
url: `/work/GetDevelopIssueList`,
|
||||||
@@ -26,6 +35,15 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
//获取项目问题列表 - 分页版本
|
||||||
|
GetProjectIssueListPaginated(param) {
|
||||||
|
return request({
|
||||||
|
url: `/work/GetProjectIssueListPaginated`,
|
||||||
|
method: "post",
|
||||||
|
data: param
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
GetProjectTaskList(param) {
|
GetProjectTaskList(param) {
|
||||||
return request({
|
return request({
|
||||||
url: `/work/GetProjectTaskList`,
|
url: `/work/GetProjectTaskList`,
|
||||||
@@ -50,6 +68,15 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
//获取运营Story列表 - 分页版本
|
||||||
|
GetOperationStoryListPaginated(param) {
|
||||||
|
return request({
|
||||||
|
url: `/work/GetOperationStoryListPaginated`,
|
||||||
|
method: "post",
|
||||||
|
data: param
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
GetProjectDevelopProcessor(param) {
|
GetProjectDevelopProcessor(param) {
|
||||||
return request({
|
return request({
|
||||||
url: `/work/GetProjectDevelopProcessor`,
|
url: `/work/GetProjectDevelopProcessor`,
|
||||||
|
|||||||
@@ -59,36 +59,36 @@ export const constantRouterMap = [
|
|||||||
{
|
{
|
||||||
path: "/",
|
path: "/",
|
||||||
component: Layout,
|
component: Layout,
|
||||||
meta: {
|
|
||||||
title: "系统首页",
|
|
||||||
icon: "camera"
|
|
||||||
},
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
path: "/dashboard",
|
|
||||||
component: () => import("@/views/dashboard/index"),
|
|
||||||
name: "系统首页",
|
|
||||||
meta: { title: "系统首页", icon: "component", noCache: true }
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/workbench",
|
|
||||||
component: Layout,
|
|
||||||
meta: {
|
meta: {
|
||||||
title: "我的工作台",
|
title: "我的工作台",
|
||||||
icon: "camera"
|
icon: "camera"
|
||||||
},
|
},
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: "/workbench",
|
path: "/dashboard",
|
||||||
component: () => import("@/views/workbench/index"),
|
component: () => import("@/views/workbench/index"),
|
||||||
name: "我的工作台",
|
name: "我的工作台",
|
||||||
meta: { title: "我的工作台", icon: "component", noCache: true }
|
meta: { title: "我的工作台", icon: "component", noCache: true }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
];
|
// {
|
||||||
|
// path: "/workbench",
|
||||||
|
// component: Layout,
|
||||||
|
// meta: {
|
||||||
|
// title: "我的工作台",
|
||||||
|
// icon: "camera"
|
||||||
|
// },
|
||||||
|
// children: [
|
||||||
|
// {
|
||||||
|
// path: "/workbench",
|
||||||
|
// component: () => import("@/views/workbench/index"),
|
||||||
|
// name: "我的工作台",
|
||||||
|
// meta: { title: "我的工作台", icon: "component", noCache: true }
|
||||||
|
// }
|
||||||
|
// ]
|
||||||
|
// }
|
||||||
|
]
|
||||||
|
|
||||||
//需要权限的路由表
|
//需要权限的路由表
|
||||||
export const asyncRouterMap = [
|
export const asyncRouterMap = [
|
||||||
|
|||||||
@@ -74,7 +74,7 @@
|
|||||||
|
|
||||||
<!-- 添加项目对话框 -->
|
<!-- 添加项目对话框 -->
|
||||||
<el-dialog title="添加联系人" :visible.sync="dialogVisibleAddContacts" width="30%" :close-on-click-modal="false"
|
<el-dialog title="添加联系人" :visible.sync="dialogVisibleAddContacts" width="30%" :close-on-click-modal="false"
|
||||||
append-to-body>
|
append-to-body custom-class="nested-dialog">
|
||||||
<el-form :model="newContacts" label-width="100px">
|
<el-form :model="newContacts" label-width="100px">
|
||||||
<el-form-item label="联系人姓名">
|
<el-form-item label="联系人姓名">
|
||||||
<el-input v-model="newContacts.name"></el-input>
|
<el-input v-model="newContacts.name"></el-input>
|
||||||
@@ -96,7 +96,8 @@
|
|||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<!-- 添加项目对话框 -->
|
<!-- 添加项目对话框 -->
|
||||||
<el-dialog title="编辑联系人" :visible.sync="dialogVisibleUpdateContacts" width="30%" :close-on-click-modal="false">
|
<el-dialog title="编辑联系人" :visible.sync="dialogVisibleUpdateContacts" width="30%" :close-on-click-modal="false"
|
||||||
|
append-to-body custom-class="nested-dialog">
|
||||||
<el-form :model="editContacts" label-width="100px">
|
<el-form :model="editContacts" label-width="100px">
|
||||||
<el-form-item label="联系人姓名">
|
<el-form-item label="联系人姓名">
|
||||||
<el-input v-model="editContacts.contacts_name"></el-input>
|
<el-input v-model="editContacts.contacts_name"></el-input>
|
||||||
@@ -118,7 +119,8 @@
|
|||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<!-- 添加合作伙伴对话框 -->
|
<!-- 添加合作伙伴对话框 -->
|
||||||
<el-dialog title="添加公司信息" :visible.sync="dialogVisibleAddPartner" width="30%" :close-on-click-modal="false">
|
<el-dialog title="添加公司信息" :visible.sync="dialogVisibleAddPartner" width="30%" :close-on-click-modal="false"
|
||||||
|
append-to-body custom-class="nested-dialog">
|
||||||
<el-form :model="newPartner" label-width="100px">
|
<el-form :model="newPartner" label-width="100px">
|
||||||
<el-form-item label="公司名称">
|
<el-form-item label="公司名称">
|
||||||
<el-input v-model="newPartner.company_name"></el-input>
|
<el-input v-model="newPartner.company_name"></el-input>
|
||||||
@@ -139,7 +141,8 @@
|
|||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<!-- 编辑合作伙伴对话框 -->
|
<!-- 编辑合作伙伴对话框 -->
|
||||||
<el-dialog title="编辑公司信息" :visible.sync="dialogVisibleUpdatePartner" width="30%" :close-on-click-modal="false">
|
<el-dialog title="编辑公司信息" :visible.sync="dialogVisibleUpdatePartner" width="30%" :close-on-click-modal="false"
|
||||||
|
append-to-body custom-class="nested-dialog">
|
||||||
<el-form :model="editPartner" label-width="100px">
|
<el-form :model="editPartner" label-width="100px">
|
||||||
<el-form-item label="公司名称">
|
<el-form-item label="公司名称">
|
||||||
<el-input v-model="editPartner.company_name"></el-input>
|
<el-input v-model="editPartner.company_name"></el-input>
|
||||||
@@ -160,7 +163,8 @@
|
|||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<!-- 添加项目对话框 -->
|
<!-- 添加项目对话框 -->
|
||||||
<el-dialog title="添加项目" :visible.sync="dialogVisibleCreateProject" width="30%" :close-on-click-modal="false">
|
<el-dialog title="添加项目" :visible.sync="dialogVisibleCreateProject" width="30%" :close-on-click-modal="false"
|
||||||
|
append-to-body custom-class="nested-dialog">
|
||||||
<el-form :model="newProject" label-width="100px">
|
<el-form :model="newProject" label-width="100px">
|
||||||
<el-form-item label="项目名称">
|
<el-form-item label="项目名称">
|
||||||
<el-input v-model="newProject.project_name"></el-input>
|
<el-input v-model="newProject.project_name"></el-input>
|
||||||
@@ -188,7 +192,8 @@
|
|||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
<!-- 编辑项目对话框 -->
|
<!-- 编辑项目对话框 -->
|
||||||
<el-dialog title="编辑项目" :visible.sync="dialogVisibleEditProject" width="30%" :close-on-click-modal="false">
|
<el-dialog title="编辑项目" :visible.sync="dialogVisibleEditProject" width="30%" :close-on-click-modal="false"
|
||||||
|
append-to-body custom-class="nested-dialog">
|
||||||
<el-form :model="editProject" label-width="100px">
|
<el-form :model="editProject" label-width="100px">
|
||||||
<el-form-item label="项目名称">
|
<el-form-item label="项目名称">
|
||||||
<el-input v-model="editProject.project_name"></el-input>
|
<el-input v-model="editProject.project_name"></el-input>
|
||||||
@@ -457,3 +462,19 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
/* 嵌套对话框样式 - 确保在父对话框之上显示 */
|
||||||
|
.nested-dialog {
|
||||||
|
z-index: 3000 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 全局样式调整嵌套对话框 */
|
||||||
|
:deep(.nested-dialog) {
|
||||||
|
z-index: 3000 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.nested-dialog .el-overlay) {
|
||||||
|
z-index: 2999 !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
@@ -5,25 +5,173 @@
|
|||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>客户检索</span>
|
<span>客户检索</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 搜索表单 -->
|
||||||
|
<el-form :inline="true" :model="searchForm" class="search-form">
|
||||||
|
<el-form-item label="公司名称">
|
||||||
|
<el-input
|
||||||
|
v-model="searchForm.company_name"
|
||||||
|
placeholder="请输入公司名称"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleSearch"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button :loading="loading" type="primary" @click="handleSearch">搜索</el-button>
|
||||||
|
<el-button @click="handleReset">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<!-- 数据表格 -->
|
||||||
|
<el-table
|
||||||
|
v-loading="loading"
|
||||||
|
:data="tableData"
|
||||||
|
border
|
||||||
|
style="width: 100%">
|
||||||
|
<el-table-column prop="company_id" label="公司ID" width="80"/>
|
||||||
|
<el-table-column prop="company_name" label="公司名称" min-width="200">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button type="text" @click="showPartnerDetail(scope.row)">
|
||||||
|
{{ scope.row.company_name }}
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="company_intro" label="公司介绍" min-width="200"/>
|
||||||
|
<el-table-column prop="company_type" label="公司类型" width="120">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-tag v-if="scope.row.company_type == 1" type="primary">客户</el-tag>
|
||||||
|
<el-tag v-else type="warning">供应商/客户</el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- <el-table-column prop="contact_person" label="联系人" width="120"></el-table-column>-->
|
||||||
|
<!-- <el-table-column prop="contact_phone" label="联系电话" width="140"></el-table-column>-->
|
||||||
|
<!-- <el-table-column prop="contact_email" label="联系邮箱" min-width="180"></el-table-column>-->
|
||||||
|
<el-table-column prop="address" label="地址" min-width="200"/>
|
||||||
|
<el-table-column prop="create_time" label="创建时间" width="160"/>
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
<!-- 分页 -->
|
||||||
|
<div class="pagination-container">
|
||||||
|
<el-pagination
|
||||||
|
:current-page="pagination.page"
|
||||||
|
:page-sizes="[10, 20, 50, 100]"
|
||||||
|
:page-size="pagination.limit"
|
||||||
|
:total="pagination.total"
|
||||||
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
|
@size-change="handleSizeChange"
|
||||||
|
@current-change="handleCurrentChange"/>
|
||||||
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
|
<!-- 客户详情对话框 -->
|
||||||
|
<el-dialog
|
||||||
|
title="客户详情"
|
||||||
|
:visible.sync="dialogVisible"
|
||||||
|
width="80%"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
:modal-append-to-body="false"
|
||||||
|
custom-class="customer-detail-dialog"
|
||||||
|
append-to-body>
|
||||||
|
<PartnerInfo
|
||||||
|
:partner_id="selectedPartnerId"
|
||||||
|
:partner_type="1"
|
||||||
|
:service_type="0"
|
||||||
|
:add_support="false"
|
||||||
|
v-if="dialogVisible"/>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="dialogVisible = false">关闭</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
import { searchPartnerCompany } from '@/api/customer'
|
||||||
data() {
|
import PartnerInfo from '@/views/components/PartnerInfo'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
PartnerInfo
|
||||||
|
},
|
||||||
|
data() {
|
||||||
return {
|
return {
|
||||||
};
|
loading: false,
|
||||||
|
searchForm: {
|
||||||
|
company_name: ''
|
||||||
|
},
|
||||||
|
tableData: [],
|
||||||
|
pagination: {
|
||||||
|
page: 1,
|
||||||
|
limit: 10,
|
||||||
|
total: 0
|
||||||
|
},
|
||||||
|
dialogVisible: false,
|
||||||
|
selectedPartnerId: null
|
||||||
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
this.getList()
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 获取列表数据
|
||||||
|
getList() {
|
||||||
|
this.loading = true
|
||||||
|
const params = {
|
||||||
|
page: this.pagination.page,
|
||||||
|
limit: this.pagination.limit,
|
||||||
|
company_name: this.searchForm.company_name
|
||||||
|
}
|
||||||
|
|
||||||
|
searchPartnerCompany(params).then(response => {
|
||||||
|
console.log('API响应:', response) // 调试用
|
||||||
|
if (response.data.success || response.data.code === 20000) {
|
||||||
|
this.tableData = response.data.data.list
|
||||||
|
this.pagination.total = response.data.data.total
|
||||||
|
} else {
|
||||||
|
this.$message.error(response.data.message || '获取数据失败')
|
||||||
|
}
|
||||||
|
this.loading = false
|
||||||
|
}).catch(error => {
|
||||||
|
console.error('获取数据失败:', error)
|
||||||
|
this.$message.error('获取数据失败')
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 搜索
|
||||||
|
handleSearch() {
|
||||||
|
this.pagination.page = 1
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
|
||||||
|
// 重置
|
||||||
|
handleReset() {
|
||||||
|
this.searchForm.company_name = ''
|
||||||
|
this.pagination.page = 1
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
|
||||||
|
// 每页显示条数改变
|
||||||
|
handleSizeChange(val) {
|
||||||
|
this.pagination.limit = val
|
||||||
|
this.pagination.page = 1
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
|
||||||
|
// 当前页改变
|
||||||
|
handleCurrentChange(val) {
|
||||||
|
this.pagination.page = val
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
|
||||||
|
// 显示客户详情
|
||||||
|
showPartnerDetail(row) {
|
||||||
|
this.selectedPartnerId = row.company_id
|
||||||
|
this.dialogVisible = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@@ -34,4 +182,31 @@ export default {
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.search-form {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pagination-container {
|
||||||
|
margin-top: 20px;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 客户详情对话框样式 */
|
||||||
|
.customer-detail-dialog {
|
||||||
|
z-index: 2000 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 确保内部对话框有更高的层级 */
|
||||||
|
.customer-detail-dialog .el-dialog__wrapper {
|
||||||
|
z-index: 2001 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 内部对话框遮罩层调整 */
|
||||||
|
:deep(.el-dialog__wrapper) {
|
||||||
|
z-index: 2010 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.el-overlay) {
|
||||||
|
z-index: 2009 !important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -87,6 +87,21 @@
|
|||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>我参与的项目</span>
|
<span>我参与的项目</span>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 添加搜索表单 -->
|
||||||
|
<el-form :inline="true" size="small" style="margin-bottom: 15px;">
|
||||||
|
<el-form-item label="项目名称">
|
||||||
|
<el-input
|
||||||
|
v-model="work_info_project_name"
|
||||||
|
placeholder="请输入项目名称"
|
||||||
|
clearable
|
||||||
|
style="width: 200px;"
|
||||||
|
@keyup.enter.native="handleProjectSearch"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleProjectSearch">搜索</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
<el-table :data="work_info_list" border fit highlight-current-row style="width: 100%; margin-left: 2px;">
|
<el-table :data="work_info_list" border fit highlight-current-row style="width: 100%; margin-left: 2px;">
|
||||||
<!--el-table-column prop="project_number" label="项目编号" align="left">
|
<!--el-table-column prop="project_number" label="项目编号" align="left">
|
||||||
</el-table-column-->
|
</el-table-column-->
|
||||||
@@ -132,13 +147,35 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
<pagination v-show="work_info_total > 0" :total="work_info_total" :page.sync="work_info_pageNum" :limit.sync="work_info_pageSize"
|
||||||
|
@pagination="get_work_info_list" />
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<el-card class="box-card">
|
<el-card class="box-card">
|
||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>我参与的工作</span>
|
<span>我参与的工作</span>
|
||||||
<WorkStoryList :project_id="project_id" />
|
|
||||||
</div>
|
</div>
|
||||||
|
<el-table :data="work_story_list" border fit highlight-current-row style="width: 100%; margin-left: 2px;">
|
||||||
|
<el-table-column prop="story_intro" label="Story描述" align="left" width="300">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="story_manager_name" label="Story管理员" align="left" width="200">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="story_state_desp" label="Story状态" align="left" width="200">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="计划处理时间" align="left">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ scope.row.create_time }}~{{ scope.row.plan_close_time }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="Task信息" align="left">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.story_tasks }}
|
||||||
|
<el-button class="el-icon-view" @click="showWorkTask(scope.row.story_id)" type="text"></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<pagination v-show="work_story_total > 0" :total="work_story_total" :page.sync="work_story_pageNum" :limit.sync="work_story_pageSize"
|
||||||
|
@pagination="get_work_story_list" />
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<!-- 分配责任人对话框 -->
|
<!-- 分配责任人对话框 -->
|
||||||
@@ -193,6 +230,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
|
<el-dialog title="工作任务列表" v-if="update_view == false" :visible.sync="dialogVisibleShowWorkTask"
|
||||||
|
:close-on-click-modal="false" width="95%" style="position: fixed;top:-10%" append-to-body>
|
||||||
|
<div class="custom-dialog">
|
||||||
|
<WorkTaskList :story_id="story_id" />
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -203,6 +247,7 @@ import notice from '@/api/notice'
|
|||||||
import ProjectIssueList from './projectissuelist.vue'
|
import ProjectIssueList from './projectissuelist.vue'
|
||||||
import ProjectTaskList from './projecttasklist.vue'
|
import ProjectTaskList from './projecttasklist.vue'
|
||||||
import WorkStoryList from './workstorylist.vue'
|
import WorkStoryList from './workstorylist.vue'
|
||||||
|
import WorkTaskList from './worktasklist.vue'
|
||||||
import ProjectDetail from '@/views/components/ProjectDetail.vue'
|
import ProjectDetail from '@/views/components/ProjectDetail.vue'
|
||||||
import project from '@/api/project'
|
import project from '@/api/project'
|
||||||
import develop from '@/api/develop'
|
import develop from '@/api/develop'
|
||||||
@@ -214,12 +259,21 @@ export default {
|
|||||||
ProjectIssueList,
|
ProjectIssueList,
|
||||||
ProjectTaskList,
|
ProjectTaskList,
|
||||||
WorkStoryList,
|
WorkStoryList,
|
||||||
|
WorkTaskList,
|
||||||
ProjectDetail
|
ProjectDetail
|
||||||
},
|
},
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
work_info_list: [],
|
work_info_list: [],
|
||||||
|
work_info_total: 0,
|
||||||
|
work_info_pageNum: 1,
|
||||||
|
work_info_pageSize: 10,
|
||||||
|
work_info_project_name: '', // 添加项目名称搜索变量
|
||||||
|
work_story_list: [],
|
||||||
|
work_story_total: 0,
|
||||||
|
work_story_pageNum: 1,
|
||||||
|
work_story_pageSize: 10,
|
||||||
dialogVisibleShowProjectIssueList: false,
|
dialogVisibleShowProjectIssueList: false,
|
||||||
dialogVisibleShowProjectTaskList: false,
|
dialogVisibleShowProjectTaskList: false,
|
||||||
dialogVisibleUpdateProcessorType: false,
|
dialogVisibleUpdateProcessorType: false,
|
||||||
@@ -227,6 +281,8 @@ export default {
|
|||||||
dialogVisibleAddMember: false,
|
dialogVisibleAddMember: false,
|
||||||
dialogVisibleShowLog: false,
|
dialogVisibleShowLog: false,
|
||||||
dialogVisibleShowProjectDetail: false,
|
dialogVisibleShowProjectDetail: false,
|
||||||
|
dialogVisibleShowWorkTask: false,
|
||||||
|
story_id: 0,
|
||||||
project_id: 0,
|
project_id: 0,
|
||||||
update_view: false,
|
update_view: false,
|
||||||
issue_list: [],
|
issue_list: [],
|
||||||
@@ -285,6 +341,7 @@ export default {
|
|||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.get_work_info_list()
|
this.get_work_info_list()
|
||||||
|
this.get_work_story_list()
|
||||||
this.get_issue_type_list()
|
this.get_issue_type_list()
|
||||||
this.handleSelectChange(this.selectedIssueTypeId)
|
this.handleSelectChange(this.selectedIssueTypeId)
|
||||||
},
|
},
|
||||||
@@ -556,13 +613,41 @@ export default {
|
|||||||
},
|
},
|
||||||
get_work_info_list() {
|
get_work_info_list() {
|
||||||
var param = {
|
var param = {
|
||||||
user_id: localStorage.getItem('user_id')
|
user_id: localStorage.getItem('user_id'),
|
||||||
|
currPage: this.work_info_pageNum,
|
||||||
|
pageSize: this.work_info_pageSize,
|
||||||
|
project_name: this.work_info_project_name
|
||||||
}
|
}
|
||||||
work.GetWorkInfoByLoginId(param).then(res => {
|
work.GetWorkInfoByLoginIdPaginated(param).then(res => {
|
||||||
this.work_info_list = res.data.data
|
this.work_info_list = res.data.data.list
|
||||||
|
this.work_info_total = res.data.data.total
|
||||||
console.log(res)
|
console.log(res)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
get_work_story_list() {
|
||||||
|
var param = {
|
||||||
|
user_id: localStorage.getItem('user_id'),
|
||||||
|
currPage: this.work_story_pageNum,
|
||||||
|
pageSize: this.work_story_pageSize
|
||||||
|
}
|
||||||
|
work.GetOperationStoryListPaginated(param).then(res => {
|
||||||
|
this.work_story_list = res.data.data.list
|
||||||
|
this.work_story_total = res.data.data.total
|
||||||
|
console.log(res)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
handleProjectSearch() {
|
||||||
|
this.work_info_pageNum = 1 // 重置到第一页
|
||||||
|
this.get_work_info_list()
|
||||||
|
},
|
||||||
|
|
||||||
|
showWorkTask(storyId) {
|
||||||
|
this.story_id = storyId
|
||||||
|
this.dialogVisibleShowWorkTask = true
|
||||||
|
this.update_sub_component()
|
||||||
|
},
|
||||||
|
|
||||||
showIssueList(project) {
|
showIssueList(project) {
|
||||||
this.project_id = project.project_id
|
this.project_id = project.project_id
|
||||||
//客户项目
|
//客户项目
|
||||||
|
|||||||
Reference in New Issue
Block a user