|
@@ -230,478 +230,6 @@ class OaService extends Service
|
|
|
|
|
|
public function oaAdd($data)
|
|
public function oaAdd($data)
|
|
{
|
|
{
|
|
-
|
|
|
|
- $detail = [
|
|
|
|
- 'id' => 1,
|
|
|
|
- 'detail' => [
|
|
|
|
- [
|
|
|
|
- 'id' => 2,
|
|
|
|
- 'name' => '张三',
|
|
|
|
- 'rule' => [
|
|
|
|
- 'detail' => [
|
|
|
|
- [
|
|
|
|
- 'key' => 'area',
|
|
|
|
- 'value' => '南区',
|
|
|
|
- 'formula' => 'dengyu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'num',
|
|
|
|
- 'value' => '40',
|
|
|
|
- 'formula' => 'dayu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'brand',
|
|
|
|
- 'value' => 'A,B,C',
|
|
|
|
- 'formula' => 'baohan',
|
|
|
|
- ],
|
|
|
|
- ],
|
|
|
|
- 'click' => [
|
|
|
|
- 'area',
|
|
|
|
- 'num',
|
|
|
|
- 'brand',
|
|
|
|
- ],
|
|
|
|
- 'string' => '(area 并且 num) 或者 num'
|
|
|
|
- ],
|
|
|
|
- 'list' => [
|
|
|
|
- [
|
|
|
|
- 'id' => 4,
|
|
|
|
- 'name' => '张三三',
|
|
|
|
- 'rule' => [
|
|
|
|
- 'detail' => [
|
|
|
|
- [
|
|
|
|
- 'key' => 'area',
|
|
|
|
- 'value' => '南区',
|
|
|
|
- 'formula' => 'dengyu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'num',
|
|
|
|
- 'value' => '40',
|
|
|
|
- 'formula' => 'dayu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'brand',
|
|
|
|
- 'value' => 'A,B,C',
|
|
|
|
- 'formula' => 'baohan',
|
|
|
|
- ],
|
|
|
|
- ],
|
|
|
|
- 'click' => [
|
|
|
|
- 'area',
|
|
|
|
- 'num',
|
|
|
|
- 'brand',
|
|
|
|
- ],
|
|
|
|
- 'string' => '(area 并且 num) 或者 num'
|
|
|
|
- ],
|
|
|
|
- 'list' => [
|
|
|
|
- [
|
|
|
|
- 'id' => 5,
|
|
|
|
- 'name' => '张五',
|
|
|
|
- 'rule' => [
|
|
|
|
- 'detail' => [
|
|
|
|
- [
|
|
|
|
- 'key' => 'area',
|
|
|
|
- 'value' => '南区',
|
|
|
|
- 'formula' => 'dengyu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'num',
|
|
|
|
- 'value' => '40',
|
|
|
|
- 'formula' => 'dayu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'brand',
|
|
|
|
- 'value' => 'A,B,C',
|
|
|
|
- 'formula' => 'baohan',
|
|
|
|
- ],
|
|
|
|
- ],
|
|
|
|
- 'click' => [
|
|
|
|
- 'area',
|
|
|
|
- 'num',
|
|
|
|
- 'brand',
|
|
|
|
- ],
|
|
|
|
- 'string' => '(area 并且 num) 或者 num'
|
|
|
|
- ],
|
|
|
|
- 'list' => [
|
|
|
|
- [
|
|
|
|
- 'id' => 6,
|
|
|
|
- 'name' => '李六',
|
|
|
|
- 'rule' => [
|
|
|
|
- 'detail' => [
|
|
|
|
- [
|
|
|
|
- 'key' => 'area',
|
|
|
|
- 'value' => '南区',
|
|
|
|
- 'formula' => 'dengyu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'num',
|
|
|
|
- 'value' => '40',
|
|
|
|
- 'formula' => 'dayu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'brand',
|
|
|
|
- 'value' => 'A,B,C',
|
|
|
|
- 'formula' => 'baohan',
|
|
|
|
- ],
|
|
|
|
- ],
|
|
|
|
- 'click' => [
|
|
|
|
- 'area',
|
|
|
|
- 'num',
|
|
|
|
- 'brand',
|
|
|
|
- ],
|
|
|
|
- 'string' => '(area 并且 num) 或者 num'
|
|
|
|
- ],
|
|
|
|
- 'list' => []
|
|
|
|
- ]
|
|
|
|
- ]
|
|
|
|
- ], [
|
|
|
|
- 'id' => 7,
|
|
|
|
- 'name' => '张六',
|
|
|
|
- 'rule' => [
|
|
|
|
- 'detail' => [
|
|
|
|
- [
|
|
|
|
- 'key' => 'area',
|
|
|
|
- 'value' => '南区',
|
|
|
|
- 'formula' => 'dengyu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'num',
|
|
|
|
- 'value' => '40',
|
|
|
|
- 'formula' => 'dayu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'brand',
|
|
|
|
- 'value' => 'A,B,C',
|
|
|
|
- 'formula' => 'baohan',
|
|
|
|
- ],
|
|
|
|
- ],
|
|
|
|
- 'click' => [
|
|
|
|
- 'area',
|
|
|
|
- 'num',
|
|
|
|
- 'brand',
|
|
|
|
- ],
|
|
|
|
- 'string' => '(area 并且 num) 或者 num'
|
|
|
|
- ],
|
|
|
|
- 'list' => [
|
|
|
|
- [
|
|
|
|
- 'id' => 6,
|
|
|
|
- 'name' => '李六',
|
|
|
|
- 'rule' => [
|
|
|
|
- 'detail' => [
|
|
|
|
- [
|
|
|
|
- 'key' => 'area',
|
|
|
|
- 'value' => '南区',
|
|
|
|
- 'formula' => 'dengyu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'num',
|
|
|
|
- 'value' => '40',
|
|
|
|
- 'formula' => 'dayu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'brand',
|
|
|
|
- 'value' => 'A,B,C',
|
|
|
|
- 'formula' => 'baohan',
|
|
|
|
- ],
|
|
|
|
- ],
|
|
|
|
- 'click' => [
|
|
|
|
- 'area',
|
|
|
|
- 'num',
|
|
|
|
- 'brand',
|
|
|
|
- ],
|
|
|
|
- 'string' => '(area 并且 num) 或者 num'
|
|
|
|
- ],
|
|
|
|
- 'list' => []
|
|
|
|
- ]
|
|
|
|
- ]
|
|
|
|
- ],
|
|
|
|
- ],
|
|
|
|
- ], [
|
|
|
|
- 'id' => 44,
|
|
|
|
- 'name' => '张四四',
|
|
|
|
- 'rule' => [
|
|
|
|
- 'detail' => [
|
|
|
|
- [
|
|
|
|
- 'key' => 'area',
|
|
|
|
- 'value' => '南区',
|
|
|
|
- 'formula' => 'dengyu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'num',
|
|
|
|
- 'value' => '40',
|
|
|
|
- 'formula' => 'dayu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'brand',
|
|
|
|
- 'value' => 'A,B,C',
|
|
|
|
- 'formula' => 'baohan',
|
|
|
|
- ],
|
|
|
|
- ],
|
|
|
|
- 'click' => [
|
|
|
|
- 'area',
|
|
|
|
- 'num',
|
|
|
|
- 'brand',
|
|
|
|
- ],
|
|
|
|
- 'string' => '(area 并且 num) 或者 num'
|
|
|
|
- ],
|
|
|
|
- 'list' => [
|
|
|
|
- [
|
|
|
|
- 'id' => 55,
|
|
|
|
- 'name' => '张四四1',
|
|
|
|
- 'rule' => [
|
|
|
|
- 'detail' => [
|
|
|
|
- [
|
|
|
|
- 'key' => 'area',
|
|
|
|
- 'value' => '南区',
|
|
|
|
- 'formula' => 'dengyu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'num',
|
|
|
|
- 'value' => '40',
|
|
|
|
- 'formula' => 'dayu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'brand',
|
|
|
|
- 'value' => 'A,B,C',
|
|
|
|
- 'formula' => 'baohan',
|
|
|
|
- ],
|
|
|
|
- ],
|
|
|
|
- 'click' => [
|
|
|
|
- 'area',
|
|
|
|
- 'num',
|
|
|
|
- 'brand',
|
|
|
|
- ],
|
|
|
|
- 'string' => '(area 并且 num) 或者 num'
|
|
|
|
- ],
|
|
|
|
- 'list' => [
|
|
|
|
- [
|
|
|
|
- 'id' => 66,
|
|
|
|
- 'name' => '李六1',
|
|
|
|
- 'rule' => [
|
|
|
|
- 'detail' => [
|
|
|
|
- [
|
|
|
|
- 'key' => 'area',
|
|
|
|
- 'value' => '南区',
|
|
|
|
- 'formula' => 'dengyu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'num',
|
|
|
|
- 'value' => '40',
|
|
|
|
- 'formula' => 'dayu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'brand',
|
|
|
|
- 'value' => 'A,B,C',
|
|
|
|
- 'formula' => 'baohan',
|
|
|
|
- ],
|
|
|
|
- ],
|
|
|
|
- 'click' => [
|
|
|
|
- 'area',
|
|
|
|
- 'num',
|
|
|
|
- 'brand',
|
|
|
|
- ],
|
|
|
|
- 'string' => '(area 并且 num) 或者 num'
|
|
|
|
- ],
|
|
|
|
- 'list' => [
|
|
|
|
- [
|
|
|
|
- 'id' => 77,
|
|
|
|
- 'name' => 'li7',
|
|
|
|
- 'rule' => [
|
|
|
|
- 'detail' => [
|
|
|
|
- [
|
|
|
|
- 'key' => 'area',
|
|
|
|
- 'value' => '南区',
|
|
|
|
- 'formula' => 'dengyu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'num',
|
|
|
|
- 'value' => '40',
|
|
|
|
- 'formula' => 'dayu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'brand',
|
|
|
|
- 'value' => 'A,B,C',
|
|
|
|
- 'formula' => 'baohan',
|
|
|
|
- ],
|
|
|
|
- ],
|
|
|
|
- 'click' => [
|
|
|
|
- 'area',
|
|
|
|
- 'num',
|
|
|
|
- 'brand',
|
|
|
|
- ],
|
|
|
|
- 'string' => '(area 并且 num) 或者 num'
|
|
|
|
- ],
|
|
|
|
- 'list' => []
|
|
|
|
- ]
|
|
|
|
- ]
|
|
|
|
- ]
|
|
|
|
- ]
|
|
|
|
- ], [
|
|
|
|
- 'id' => 77,
|
|
|
|
- 'name' => '张四四2',
|
|
|
|
- 'rule' => [
|
|
|
|
- 'detail' => [
|
|
|
|
- [
|
|
|
|
- 'key' => 'area',
|
|
|
|
- 'value' => '南区',
|
|
|
|
- 'formula' => 'dengyu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'num',
|
|
|
|
- 'value' => '40',
|
|
|
|
- 'formula' => 'dayu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'brand',
|
|
|
|
- 'value' => 'A,B,C',
|
|
|
|
- 'formula' => 'baohan',
|
|
|
|
- ],
|
|
|
|
- ],
|
|
|
|
- 'click' => [
|
|
|
|
- 'area',
|
|
|
|
- 'num',
|
|
|
|
- 'brand',
|
|
|
|
- ],
|
|
|
|
- 'string' => '(area 并且 num) 或者 num'
|
|
|
|
- ],
|
|
|
|
- 'list' => [
|
|
|
|
- [
|
|
|
|
- 'id' => 6,
|
|
|
|
- 'name' => '李六',
|
|
|
|
- 'rule' => [
|
|
|
|
- 'detail' => [
|
|
|
|
- [
|
|
|
|
- 'key' => 'area',
|
|
|
|
- 'value' => '南区',
|
|
|
|
- 'formula' => 'dengyu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'num',
|
|
|
|
- 'value' => '40',
|
|
|
|
- 'formula' => 'dayu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'brand',
|
|
|
|
- 'value' => 'A,B,C',
|
|
|
|
- 'formula' => 'baohan',
|
|
|
|
- ],
|
|
|
|
- ],
|
|
|
|
- 'click' => [
|
|
|
|
- 'area',
|
|
|
|
- 'num',
|
|
|
|
- 'brand',
|
|
|
|
- ],
|
|
|
|
- 'string' => '(area 并且 num) 或者 num'
|
|
|
|
- ],
|
|
|
|
- 'list' => []
|
|
|
|
- ]
|
|
|
|
- ]
|
|
|
|
- ],
|
|
|
|
- ],
|
|
|
|
- ],
|
|
|
|
- ]
|
|
|
|
- ], [
|
|
|
|
- 'id' => 3,
|
|
|
|
- 'name' => '李四',
|
|
|
|
- 'rule' => [
|
|
|
|
- 'detail' => [
|
|
|
|
- [
|
|
|
|
- 'key' => 'area',
|
|
|
|
- 'value' => '南区',
|
|
|
|
- 'formula' => 'dengyu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'num',
|
|
|
|
- 'value' => '40',
|
|
|
|
- 'formula' => 'dayu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'brand',
|
|
|
|
- 'value' => 'A,B,C',
|
|
|
|
- 'formula' => 'baohan',
|
|
|
|
- ],
|
|
|
|
- ],
|
|
|
|
- 'click' => [
|
|
|
|
- 'area',
|
|
|
|
- 'num',
|
|
|
|
- 'brand',
|
|
|
|
- ],
|
|
|
|
- 'string' => '(area 并且 num) 或者 num'
|
|
|
|
- ],
|
|
|
|
- 'list' => [
|
|
|
|
- [
|
|
|
|
- 'id' => 8,
|
|
|
|
- 'name' => '李五',
|
|
|
|
- 'rule' => [
|
|
|
|
- 'detail' => [
|
|
|
|
- [
|
|
|
|
- 'key' => 'area',
|
|
|
|
- 'value' => '南区',
|
|
|
|
- 'formula' => 'dengyu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'num',
|
|
|
|
- 'value' => '40',
|
|
|
|
- 'formula' => 'dayu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'brand',
|
|
|
|
- 'value' => 'A,B,C',
|
|
|
|
- 'formula' => 'baohan',
|
|
|
|
- ],
|
|
|
|
- ],
|
|
|
|
- 'click' => [
|
|
|
|
- 'area',
|
|
|
|
- 'num',
|
|
|
|
- 'brand',
|
|
|
|
- ],
|
|
|
|
- 'string' => '(area 并且 num) 或者 num'
|
|
|
|
- ],
|
|
|
|
- 'list' => [
|
|
|
|
- [
|
|
|
|
- 'id' => 9,
|
|
|
|
- 'name' => '李六',
|
|
|
|
- 'rule' => [
|
|
|
|
- 'detail' => [
|
|
|
|
- [
|
|
|
|
- 'key' => 'area',
|
|
|
|
- 'value' => '南区',
|
|
|
|
- 'formula' => 'dengyu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'num',
|
|
|
|
- 'value' => '40',
|
|
|
|
- 'formula' => 'dayu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'brand',
|
|
|
|
- 'value' => 'A,B,C',
|
|
|
|
- 'formula' => 'baohan',
|
|
|
|
- ],
|
|
|
|
- ],
|
|
|
|
- 'click' => [
|
|
|
|
- 'area',
|
|
|
|
- 'num',
|
|
|
|
- 'brand',
|
|
|
|
- ],
|
|
|
|
- 'string' => '(area 并且 num) 或者 num'
|
|
|
|
- ],
|
|
|
|
- 'list' => [
|
|
|
|
- [
|
|
|
|
- 'id' => 6,
|
|
|
|
- 'name' => '李六',
|
|
|
|
- 'rule' => [
|
|
|
|
- 'detail' => [
|
|
|
|
- [
|
|
|
|
- 'key' => 'area',
|
|
|
|
- 'value' => '南区',
|
|
|
|
- 'formula' => 'dengyu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'num',
|
|
|
|
- 'value' => '40',
|
|
|
|
- 'formula' => 'dayu',
|
|
|
|
- ], [
|
|
|
|
- 'key' => 'brand',
|
|
|
|
- 'value' => 'A,B,C',
|
|
|
|
- 'formula' => 'baohan',
|
|
|
|
- ],
|
|
|
|
- ],
|
|
|
|
- 'click' => [
|
|
|
|
- 'area',
|
|
|
|
- 'num',
|
|
|
|
- 'brand',
|
|
|
|
- ],
|
|
|
|
- 'string' => '(area 并且 num) 或者 num'
|
|
|
|
- ],
|
|
|
|
- 'list' => []
|
|
|
|
- ]
|
|
|
|
- ]
|
|
|
|
- ]
|
|
|
|
- ]
|
|
|
|
- ]
|
|
|
|
- ]
|
|
|
|
- ],
|
|
|
|
- ],
|
|
|
|
- ];
|
|
|
|
- file_put_contents('121.txt', json_encode($detail));
|
|
|
|
- die;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- Log::channel('request')->info('request', ['param' => $data]);
|
|
|
|
-
|
|
|
|
-// $first = Oa::where('del_time', 0)->where('menu_id', $data['menu_id']);
|
|
|
|
-// if(isset($data['type'])) $first = $first->where('type',$data['type']);
|
|
|
|
-// $first = $first->first();
|
|
|
|
-
|
|
|
|
-// if ($first) return [false, '该菜单oa已存在!'];
|
|
|
|
$oa = new Oa();
|
|
$oa = new Oa();
|
|
|
|
|
|
|
|
|
|
@@ -739,9 +267,12 @@ class OaService extends Service
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
- public function oaEdit($data)
|
|
|
|
|
|
+ public function oaEdit($data,$user)
|
|
{
|
|
{
|
|
- $first = Oa::where('del_time', 0)->where('id', '<>', $data['id'])->where('menu_id', $data['menu_id']);
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ $first = Oa::where('del_time', 0)->where('menu_id', $data['menu_id']);
|
|
|
|
+ if(isset($data['id'])) $first = $first->where('id', '<>', $data['id']);
|
|
if (isset($data['type'])) $first = $first->where('type', $data['type']);
|
|
if (isset($data['type'])) $first = $first->where('type', $data['type']);
|
|
$first = $first->first();
|
|
$first = $first->first();
|
|
|
|
|
|
@@ -750,15 +281,19 @@ class OaService extends Service
|
|
|
|
|
|
try {
|
|
try {
|
|
DB::beginTransaction();
|
|
DB::beginTransaction();
|
|
- $oa = Oa::where('id', $data['id'])->first();
|
|
|
|
|
|
+ if(isset($data['id'])) $oa = Oa::where('id', $data['id'])->first();
|
|
|
|
+ $oa = new Oa();
|
|
$oa->menu_id = $data['menu_id'];
|
|
$oa->menu_id = $data['menu_id'];
|
|
- $oa->type = $data['type'];
|
|
|
|
|
|
+ $oa->crt_employee_id = $user['id'];
|
|
|
|
+ $oa->type = $data['type']??0;
|
|
$oa->save();
|
|
$oa->save();
|
|
$id = $oa->id;
|
|
$id = $oa->id;
|
|
$insert = [];
|
|
$insert = [];
|
|
OaSub::where('oa_id', $id)->update([
|
|
OaSub::where('oa_id', $id)->update([
|
|
'del_time' => time()
|
|
'del_time' => time()
|
|
]);
|
|
]);
|
|
|
|
+ //处理前端数据
|
|
|
|
+ $this->dealOaData($data,$id);
|
|
foreach ($data['detail'] as $v) {
|
|
foreach ($data['detail'] as $v) {
|
|
foreach ($v['employee_list'] as $vv) {
|
|
foreach ($v['employee_list'] as $vv) {
|
|
$insert[] = [
|
|
$insert[] = [
|
|
@@ -783,6 +318,24 @@ class OaService extends Service
|
|
return [true, '更新成功'];
|
|
return [true, '更新成功'];
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public function dealOaData($data,$id){
|
|
|
|
+ $data = $data['approval'];
|
|
|
|
+ $detail = [];
|
|
|
|
+ $sort = 0;
|
|
|
|
+ foreach ($data as $v){
|
|
|
|
+ $sort++;
|
|
|
|
+ foreach ($v['children'] as $vv){
|
|
|
|
+ $detail[] = [
|
|
|
|
+ 'h5_key' => $vv['index'],
|
|
|
|
+ 'emp_id' => $vv['emp_id'],
|
|
|
|
+ 'set' => $vv['set'],
|
|
|
|
+ 'sort' => $sort,
|
|
|
|
+ ];
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ dd($detail);die;
|
|
|
|
+ }
|
|
|
|
+
|
|
public function oaDel($data)
|
|
public function oaDel($data)
|
|
{
|
|
{
|
|
$id = $data['id'];
|
|
$id = $data['id'];
|