更新数据关联查询,以及基本的数据的编辑,部分有待进一步完善。

This commit is contained in:
panx
2025-01-06 00:06:03 +08:00
parent d70fcccc1d
commit 018322d8c1
22 changed files with 1693 additions and 748 deletions

View File

@@ -58,27 +58,70 @@ class PdmFootprint extends AdminController
* @throws DbException
* @throws ModelNotFoundException
*/
public static function dataList(array $params): array
public function dataList(array $params): array
{
$where = array();
if (!empty($params['footprint'])) {
$where[] = ['footprint','like','%'.$params['footprint'].'%'];
}
if (!empty($params['content'])) {
$where[] = ['content','like','%'.$params['content'].'%'];
}
$model = new PdmFootprintModel();
// $model = $this->model;
$count = $model->where($where)->count();
// $list = $model->where($where)->order('sort asc')->select()->toArray();
$list = $model->where($where)->order('sort asc')->select();
// $where = array();
// if (!empty($params['footprint'])) {
// $where[] = ['footprint','like','%'.$params['footprint'].'%'];
// }
// if (!empty($params['content'])) {
// $where[] = ['content','like','%'.$params['content'].'%'];
// }
// $model = new PdmFootprintModel();
// // $model = $this->model;
// $count = $model->where($where)->count();
// // $list = $model->where($where)->order('sort asc')->select()->toArray();
// $list = $model->where($where)->order('sort asc')->select();
// foreach($list as $key => $value){
// // throw new \Exception(json_encode($value));
// // throw new \Exception(json_encode($list[$key]->admin['nickname']));
// $list[$key]['creator'] =__($list[$key]->admin['nickname']);
// }
// return [$count, $list->toArray()];
$where = $this->buildSelectParams();
$count = $this->model->where($where)->count();
$fieldList = $this->model->getFields();
$order = !array_key_exists('sort', $fieldList) ? 'id' : 'sort';
$subQuery = $this->model->field('id')->where($where)->order($order, 'asc')->buildSql();
$subQuery = '( SELECT object.id FROM ' . $subQuery . ' AS object )';
// $list = $this->model->with($this->relationModel)->where('id in' . $subQuery)->order($order, 'asc')->select()->toArray(); // 如果是'desc' list_to_tree 函数返回为空!
$list = $this->model->with($this->relationModel)->where('id in' . $subQuery)->order($order, 'asc')->select(); // 如果是'desc' list_to_tree 函数返回为空!
foreach($list as $key => $value){
// throw new \Exception(json_encode($value));
// throw new \Exception(json_encode($list[$key]->admin['nickname']));
$list[$key]['creator'] =__($list[$key]->admin['nickname']);
// $list[$key]['creator'] =__($list[$key]->admin['nickname']);
$list[$key]->admin;
}
return [$count, $list->toArray()];
$list = $list->toArray();
if(!empty($list) && is_array($list)){
$nodeid = array();
foreach($list as $key => $value){
if($value['pid'] == 0 ){
$nodeid[] = $value['id'];
}
}
foreach($list as $key => $value){
if(!in_array($value['pid'],$nodeid) && $value['pid'] > 0){
$nodeid[] = $value['pid'];
$nodevalue = $this->model->find($value['pid']);
$nodevalue = $this->model->find($value['pid'])->toArray();
if(!empty($nodevalue)){
$list[] = &$nodevalue;
}
}
}
$list = list_sort_by($list,'id','asc');
// usort($list, function($a, $b) {
// return $a['id'] <=> $b['id']; // 对 'id' 进行升序排序
// });
// throw new \Exception(json_encode($list));
}
return [$count, $list];
}
/**

View File

@@ -37,26 +37,6 @@ class PdmMfgName extends AdminController
*/
public function index(): Response
{
$params = request()->all();
$where = array();
if (!empty($params['mfgname'])) {
$where[] = ['mfgname','like','%'.$params['mfgname'].'%'];
// $where[] = ['mfgname','like','%'.'ABRACON'.'%'];
}
if (!empty($params['mfgsite'])) {
$where[] = ['mfgsite','like','%'.$params['mfgsite'].'%'];
}
// $where[] = ['mfgname','like','%'.'ABRACON'.'%'];
$listtemp = $this->model->where($where)->select();
// $listtemp = $this->model->where($where);
// $listtemp = $this->model->find(1);
// throw new \Exception(json_encode($listtemp));
// $admin = $this->model->admin()->where($where)->select()->toArray();
// $admin = $listtemp->admin;
// throw new \Exception(json_encode($admin));
if (request()->isAjax()) {
list($count, $list) = PdmMfgName::dataList(request()->all());
// $rules = list_to_tree($list,'id','pid','children',0);
@@ -77,54 +57,54 @@ class PdmMfgName extends AdminController
* @throws DbException
* @throws ModelNotFoundException
*/
public static function dataList(array $params): array
public function dataList(array $params): array
{
$where = array();
if (!empty($params['mfgname'])) {
$where[] = ['mfgname','like','%'.$params['mfgname'].'%'];
}
if (!empty($params['mfgsite'])) {
$where[] = ['mfgsite','like','%'.$params['mfgsite'].'%'];
}
$model = new PdmMfgNameModel();
$count = $model->where($where)->count();
// $list = $model->where($where)->order('sort asc')->select()->toArray();
$list = $model->where($where)->order('sort asc')->select();
foreach($list as $key => $value){
// throw new \Exception(json_encode($value));
// throw new \Exception(json_encode($lists[$key]->admin['nickname']));
$list[$key]['creator'] =__($list[$key]->admin['nickname']);
}
// $pidlist = array();
foreach ($list as $key => $value) {
$list[$key]['mfgname'] = __($value['mfgname']);
}
// $users = array();
// $users = $model->usernames();
// // throw new \Exception(json_encode($users));
// foreach ($list as $key => $value) {
// foreach ($users as $keyuser => $valueuser) {
// // if ($users[$keyuser]['id'] == $list[$key]['id']){
// // // $list[$key]['creatorid'] = __($users[$keyuser]['nickname']);
// // $list[$key]['creatorid'] = __($users[$keyuser]['name']);
// // break;
// // }
// if ($value['creatorid'] == $valueuser['id']) {
// // $list[$key]['creatorid'] = __($valueuser['name']);
// $list[$key]['creatorid'] = __($valueuser['nickname']);
// break;
// }else{
// $list[$key]['creatorid'] =$list[$key]['creatorid'].'|'. __('未知用户');
// }
// }
// $where = array();
// if (!empty($params['mfgname'])) {
// $where[] = ['mfgname','like','%'.$params['mfgname'].'%'];
// }
// if (!empty($params['mfgsite'])) {
// $where[] = ['mfgsite','like','%'.$params['mfgsite'].'%'];
// }
// $model = new PdmMfgNameModel();
// $count = $model->where($where)->count();
// // $list = $model->where($where)->order('sort asc')->select()->toArray();
// $list = $model->where($where)->order('sort asc')->select();
// foreach($list as $key => $value){
// // throw new \Exception(json_encode($value));
// // throw new \Exception(json_encode($lists[$key]->admin['nickname']));
// $list[$key]['creator'] =__($list[$key]->admin['nickname']);
// }
return [$count, $list->toArray()];
// // $pidlist = array();
// foreach ($list as $key => $value) {
// $list[$key]['mfgname'] = __($value['mfgname']);
// }
$page = (int)input('page', 1);
$limit = (int)input('limit', 18);
$where = $this->buildSelectParams();
$count = $this->model->where($where)->count();
$fieldList = $this->model->getFields();
$order = !array_key_exists('sort', $fieldList) ? 'id' : 'sort';
// $subQuery = $this->model->field('id')->where($where)->order($order, 'asc')->buildSql();
$subQuery = $this->model->field('id')->where($where)->order($order, 'desc')->limit($limit)->page($page)->buildSql();
$subQuery = '( SELECT object.id FROM ' . $subQuery . ' AS object )';
// $list = $this->model->with($this->relationModel)->where('id in' . $subQuery)->order($order, 'asc')->select()->toArray(); // 如果是'desc' list_to_tree 函数返回为空!
// $list = $this->model->with($this->relationModel)->where('id in' . $subQuery)->order($order, 'asc')->select(); // 如果是'desc' list_to_tree 函数返回为空!
$list = $this->model->with($this->relationModel)->where('id in' . $subQuery)->order($order, 'desc')->select(); // 如果是'desc' list_to_tree 函数返回为空!
foreach($list as $key => $value){
// throw new \Exception(json_encode($value));
// throw new \Exception(json_encode($list[$key]->admin['nickname']));
// $list[$key]['creator'] =__($list[$key]->admin['nickname']);
$list[$key]->admin;
}
$list = $list->toArray();
return [$count, $list];
}

View File

@@ -5,6 +5,7 @@ namespace app\admin\controller;
use app\AdminController;
use Webman\Http\Request;
use app\admin\model\PdmPartitemIndex as PdmPartitemIndexModel;
use app\admin\model\PdmParttype as PdmParttypeModel;
use support\Response;
/**
@@ -58,35 +59,90 @@ class PdmPartitemIndex extends AdminController
* @throws DbException
* @throws ModelNotFoundException
*/
public static function dataList(array $params): array
public function dataList(array $params): array
{
$where = array();
if (!empty($params['partnumber'])) {
$where[] = ['partnumber','like','%'.$params['partnumber'].'%'];
}
if (!empty($params['content'])) {
$where[] = ['content','like','%'.$params['content'].'%'];
}
$model = new PdmPartitemIndexModel();
// $model = $this->model;
$count = $model->where($where)->count();
// $list = $model->where($where)->order('sort asc')->select()->toArray();
$list = $model->where($where)->order('sort asc')->select();
// $where = array();
// if (!empty($params['partnumber'])) {
// $where[] = ['partnumber','like','%'.$params['partnumber'].'%'];
// }
// if (!empty($params['content'])) {
// $where[] = ['content','like','%'.$params['content'].'%'];
// }
// $model = new PdmPartitemIndexModel();
// // $model = $this->model;
// $count = $model->where($where)->count();
// // $list = $model->where($where)->order('sort asc')->select()->toArray();
// $list = $model->where($where)->order('sort asc')->select();
// foreach($list as $key => $value){
// // throw new \Exception(json_encode($value));
// // throw new \Exception(json_encode($list[$key]->admin['nickname']));
// $list[$key]['creator'] =__($list[$key]->admin == null?'': $list[$key]->admin['nickname']);
// $list[$key]['parttype'] =__($list[$key]->parttype ==null?'': $list[$key]->parttype['name']);
// $list[$key]['mfg_name'] =__($list[$key]->mfgname == null ?'': $list[$key]->mfgname['mfgname']);
// // if($list[$key]->mfgname == null){
// // $list[$key]['mfg_name'] ='';
// // }else{
// // $list[$key]['mfg_name'] =$list[$key]->mfgname['mfgname'];
// // }
// }
// return [$count, $list->toArray()];
$page = (int)input('page', 1);
$limit = (int)input('limit', 18);
$where = $this->buildSelectParams();
$count = $this->model->where($where)->count();
$fieldList = $this->model->getFields();
$order = !array_key_exists('sort', $fieldList) ? 'id' : 'sort';
$subQuery = $this->model->field('id')->where($where)->order($order, 'desc')->limit($limit)->page($page)->buildSql();
$subQuery = '( SELECT object.id FROM ' . $subQuery . ' AS object )';
// $list = $this->model->with($this->relationModel)->where('id in' . $subQuery)->order($order, 'asc')->select()->toArray(); // 如果是'desc' list_to_tree 函数返回为空!
$list = $this->model->with($this->relationModel)->where('id in' . $subQuery)->order($order, 'asc')->select(); // 如果是'desc' list_to_tree 函数返回为空!
foreach($list as $key => $value){
// throw new \Exception(json_encode($value));
// throw new \Exception(json_encode($list[$key]->admin['nickname']));
$list[$key]['creator'] =__($list[$key]->admin == null?'': $list[$key]->admin['nickname']);
$list[$key]['parttype'] =__($list[$key]->parttype ==null?'': $list[$key]->parttype['name']);
$list[$key]['mfg_name'] =__($list[$key]->mfgname == null ?'': $list[$key]->mfgname['mfgname']);
$list[$key]['parttype'] =__($list[$key]->pdmParttype ==null?'': $list[$key]->pdmParttype['name']);
$list[$key]['mfg_name'] =__($list[$key]->pdmMfgName == null ?'': $list[$key]->pdmMfgName['mfgname']);
$list[$key]['mpn'] =__($list[$key]->pdmPurchasecode == null ?'': $list[$key]->pdmPurchasecode['mpn']);
// if($list[$key]->mfgname == null){
// $list[$key]['mfg_name'] ='';
// }else{
// $list[$key]['mfg_name'] =$list[$key]->mfgname['mfgname'];
// }
}
return [$count, $list->toArray()];
$list = $list->toArray();
if(!empty($list) && is_array($list)){
$nodeid = array();
foreach($list as $key => $value){
if($value['pid'] == 0 ){
$nodeid[] = $value['id'];
}
}
foreach($list as $key => $value){
if(!in_array($value['pid'],$nodeid) && $value['pid'] > 0){
$nodeid[] = $value['pid'];
$nodevalue = $this->model->find($value['pid']);
$nodevalue = $this->model->find($value['pid'])->toArray();
if(!empty($nodevalue)){
$list[] = &$nodevalue;
}
}
}
$list = list_sort_by($list,'id','asc');
// usort($list, function($a, $b) {
// return $a['id'] <=> $b['id']; // 对 'id' 进行升序排序
// });
// throw new \Exception(json_encode($list));
}
return [$count, $list];
}
/**
@@ -95,6 +151,8 @@ class PdmPartitemIndex extends AdminController
*/
public function add(): Response
{
$parttype = PdmParttypeModel::select()->toArray();
if (request()->isPost()) {
$post = \request()->post();
// validate(\app\common\validate\system\AdminRules::class . '.add')->check($post);
@@ -114,7 +172,9 @@ class PdmPartitemIndex extends AdminController
list($count, $list) = PdmPartitemIndex::dataList(request()->all());
return view('/pdm_partitem_index/add', [
'data' => $data,
'rules' => json_encode( list_to_tree($list), JSON_UNESCAPED_UNICODE),
'parttype' => json_encode( list_to_tree($parttype), JSON_UNESCAPED_UNICODE),
// 'parttype' => $this->parttype,
'list' => json_encode( list_to_tree($list), JSON_UNESCAPED_UNICODE),
]);
}
@@ -129,6 +189,15 @@ class PdmPartitemIndex extends AdminController
{
$id = input('id', 0);
$data = $this->model->find($id);
$parttypeid = $data['parttypeid'];
// $parems['id'] = input('parttypeid', 0);
$parems = PdmParttypeModel::find($parttypeid)->toArray();
// throw new \Exception(json_encode($parems));
// $parttype = PdmParttypeModel::find($parttypeid);
list($count, $parttype) = \app\admin\controller\PdmParttype::dataList($parems);
// $parttype = PdmParttypeModel::select()->toArray();
if (request()->isPost()) {
$post = \request()->post();
// validate(\app\common\validate\system\AdminRules::class . '.edit')->check($post);
@@ -137,10 +206,14 @@ class PdmPartitemIndex extends AdminController
}
}
list($count, $list) = PdmPartitemIndex::dataList(request()->all());
list($count, $list) = PdmPartitemIndex::dataList(request()->all());
// throw new \Exception(json_encode($parttype));
// throw new \Exception( json_encode(list_to_tree($parttype)));
return view('/pdm_partitem_index/add', [
'data' => $data,
'rules' => json_encode( list_to_tree($list), JSON_UNESCAPED_UNICODE),
'parttype' => json_encode( list_to_tree($parttype), JSON_UNESCAPED_UNICODE),
// 'parttype' => json_encode( $parttype, JSON_UNESCAPED_UNICODE),
'list' => json_encode( list_to_tree($list), JSON_UNESCAPED_UNICODE),
]);
}

View File

@@ -5,6 +5,7 @@ namespace app\admin\controller;
use app\AdminController;
use Webman\Http\Request;
use app\admin\model\PdmPartitemRelation as PdmPartitemRelationModel;
use support\Response;
/**
* pdm_partitem_relation
@@ -30,7 +31,118 @@ class PdmPartitemRelation extends AdminController
* 默认生成的方法为index/add/edit/del/status 五个方法
* 当创建CURD的时候DIY的函数体和模板为空请自行编写代码
*/
public function index(): Response
{
if (request()->isAjax()) {
list($count, $list) = PdmPartitemRelation::dataList(request()->all());
// $rules = list_to_tree($list,'id','pid','children',0);
$lists = list_to_tree($list,'id','pid','children',0);
return $this->success('获取成功', '/',$lists, $count);
// return $this->success('获取成功', '/');
}
return view('/pdm_partitem_relation/index');
}
/**
* 获取资源列表
* @param array $params
* @return array
* @throws DataNotFoundException
* @throws DbException
* @throws ModelNotFoundException
*/
public function dataList(array $params): array
{
// $where = array();
// if (!empty($params['partnumber'])) {
// $where[] = ['partnumber','like','%'.$params['partnumber'].'%'];
// }
// if (!empty($params['content'])) {
// $where[] = ['content','like','%'.$params['content'].'%'];
// }
// $model = new PdmPartitemIndexModel();
// // $model = $this->model;
// $count = $model->where($where)->count();
// // $list = $model->where($where)->order('sort asc')->select()->toArray();
// $list = $model->where($where)->order('sort asc')->select();
// foreach($list as $key => $value){
// // throw new \Exception(json_encode($value));
// // throw new \Exception(json_encode($list[$key]->admin['nickname']));
// $list[$key]['creator'] =__($list[$key]->admin == null?'': $list[$key]->admin['nickname']);
// $list[$key]['parttype'] =__($list[$key]->parttype ==null?'': $list[$key]->parttype['name']);
// $list[$key]['mfg_name'] =__($list[$key]->mfgname == null ?'': $list[$key]->mfgname['mfgname']);
// // if($list[$key]->mfgname == null){
// // $list[$key]['mfg_name'] ='';
// // }else{
// // $list[$key]['mfg_name'] =$list[$key]->mfgname['mfgname'];
// // }
// }
// return [$count, $list->toArray()];
$page = (int)input('page', 1);
$limit = (int)input('limit', 18);
$where = $this->buildSelectParams();
$count = $this->model->where($where)->count();
$fieldList = $this->model->getFields();
$order = !array_key_exists('sort', $fieldList) ? 'id' : 'sort';
$subQuery = $this->model->field('id')->where($where)->order($order, 'desc')->limit($limit)->page($page)->buildSql();
$subQuery = '( SELECT object.id FROM ' . $subQuery . ' AS object )';
// $list = $this->model->with($this->relationModel)->where('id in' . $subQuery)->order($order, 'asc')->select()->toArray(); // 如果是'desc' list_to_tree 函数返回为空!
$list = $this->model->with($this->relationModel)->where('id in' . $subQuery)->order($order, 'asc')->select(); // 如果是'desc' list_to_tree 函数返回为空!
foreach($list as $key => $value){
// throw new \Exception(json_encode($value));
// throw new \Exception(json_encode($list[$key]->admin['nickname']));
$list[$key]['creator'] =__($list[$key]->admin == null?'': $list[$key]->admin['nickname']);
// $list[$key]['parttype'] =__($list[$key]->pdmParttype ==null?'': $list[$key]->pdmParttype['name']);
// $list[$key]['mfg_name'] =__($list[$key]->pdmMfgName == null ?'': $list[$key]->pdmMfgName['mfgname']);
// $list[$key]['mpn'] =__($list[$key]->pdmPurchasecode == null ?'': $list[$key]->pdmPurchasecode['mpn']);
$list[$key]['purchasecode'] =__($list[$key]->pdmPartitemIndex == null ?'': $list[$key]->pdmPartitemIndex['purchasecode']);
$list[$key]['symbolname'] =__($list[$key]->pdmSymbol == null ?'': $list[$key]->pdmSymbol['symbolname']);
$list[$key]['footprint'] =__($list[$key]->pdmFootprint == null ?'': $list[$key]->pdmFootprint['footprint']);
$list[$key]['departmenttitle'] =__($list[$key]->department == null ?'': $list[$key]->department['title']);
// if($list[$key]->mfgname == null){
// $list[$key]['mfg_name'] ='';
// }else{
// $list[$key]['mfg_name'] =$list[$key]->mfgname['mfgname'];
// }
}
$list = $list->toArray();
if(!empty($list) && is_array($list)){
$nodeid = array();
foreach($list as $key => $value){
if($value['pid'] == 0 ){
$nodeid[] = $value['id'];
}
}
foreach($list as $key => $value){
if(!in_array($value['pid'],$nodeid) && $value['pid'] > 0){
$nodeid[] = $value['pid'];
$nodevalue = $this->model->find($value['pid']);
$nodevalue = $this->model->find($value['pid'])->toArray();
if(!empty($nodevalue)){
$list[] = &$nodevalue;
}
}
}
$list = list_sort_by($list,'id','asc');
// usort($list, function($a, $b) {
// return $a['id'] <=> $b['id']; // 对 'id' 进行升序排序
// });
// throw new \Exception(json_encode($list));
}
return [$count, $list];
}
}

View File

@@ -34,21 +34,25 @@ class PdmPartitemView extends AdminController
public function index(): \support\Response
{
// $post = input();
// $post = request()->post();
$post = request()->all();
// $post['partnumber'] = input('partnumber');
$pid = input('pid');
$limit = input('limit') ?? 10;
$page = input('page') ?? 1;
// if ($pid == null) {
// $pid = (string)$this->model->minId();
// }
if (request()->isAjax()) {
// $post = input();
// $post = request()->post();
$post = request()->all();
// $post['partnumber'] = input('partnumber');
// $pid = input('pid');
$limit = (int)input('limit') ?? 10;
$page = (int)input('page') ?? 1;
// if ($pid == null) {
// $pid = (string)$this->model->minId();
// }
// 生成查询数据
// $pid = !str_contains($pid, ',') ? $pid : explode(',',$pid);
$where = $this->buildSelectParams();
$fieldList = $this->model->getFields();
$order = !array_key_exists('sort', $fieldList) ? 'id' : 'sort';
// $where[] = ['pid','in',$pid];
// $where[] = [];
if (!empty($post['keyword'])) {
@@ -56,22 +60,15 @@ class PdmPartitemView extends AdminController
// $where[] = ['reference','like','%'.$post['keyword'].'%'];
// $where[] = ['content','like','%'.$post['keyword'].'%'];
// $where[] = ['item','like','%'.$post['keyword'].'%'];
}else{
// $where[] = ['pid','in',$pid];
// $where[] = ['partnumber','like','%'.$post['partnumber'].'%'];
$where[] = ['partnumber|purchasecode|parttype|value|description|mpn|mfgname|symbol|footprint|datasheet|usernickname|department','like','%'.'%'];
}
}
$count = $this->model->where($where)->count();
// $list = $this->model->where($where)->limit((int)$limit)->page((int)$page)->select()
// ->each(function($item,$key) use ($pid){
// if ($key == 0 && $pid == '0') {
// $item['LAY_CHECKED'] = true;
// }
$subQuery = $this->model->field('id')->where($where)->order($order, 'desc')->limit($limit)->page($page)->buildSql();
$subQuery = '( SELECT object.id FROM ' . $subQuery . ' AS object )';
// return $item;
// });
$list = $this->model->where($where)->limit((int)$limit)->page((int)$page)->select();
// $list = $this->model->where($where)->limit((int)$limit)->page((int)$page)->select();
$list = $this->model->with($this->relationModel)->where('id in' . $subQuery)->order($order, 'asc')->select() ;
// $list = $this->model->where($where)->limit((int)$limit)->page((int)$page)->select();
return $this->success('查询成功', null, $list, $count);
}

View File

@@ -58,6 +58,13 @@ class PdmPartlist extends AdminController
// 生成查询数据
$pid = !str_contains($pid, ',') ? $pid : explode(',',$pid);
$page = (int)input('page', 1);
$limit = (int)input('limit', 10);
$where = $this->buildSelectParams();
$fieldList = $this->model->getFields();
$order = !array_key_exists('sort', $fieldList) ? 'id' : 'sort';
$where[] = ['pid','in',$pid];
if (!empty($post['keyword'])) {
$where[] = ['partnumber|reference|content|item','like','%'.$post['keyword'].'%'];
@@ -68,9 +75,12 @@ class PdmPartlist extends AdminController
// $where[] = ['pid','in',$pid];
// $where[] = ['partnumber','like','%'.$post['partnumber'].'%'];
}
// throw new \Exception(json_encode($where));
$count = $this->model->where($where)->count();
$list = $this->model->where($where)->limit((int)$limit)->page((int)$page)->select()
$subQuery = $this->model->field('id')->where($where)->order($order, 'desc')->limit($limit)->page($page)->buildSql();
$subQuery = '( SELECT object.id FROM ' . $subQuery . ' AS object )';
$list = $this->model->with($this->relationModel)->where('id in' . $subQuery)->order($order, 'asc')->select() // 如果是'desc' list_to_tree 函数返回为空!
// $list = $this->model->where($where)->limit((int)$limit)->page((int)$page)->select()
->each(function($item,$key) use ($pid){
if ($key == 0 && $pid == '0') {
$item['LAY_CHECKED'] = true;

View File

@@ -55,31 +55,144 @@ class PdmParttype extends AdminController
* @throws DbException
* @throws ModelNotFoundException
*/
// public function dataList(array $params): array
// {
// // $where = array();
// // if (!empty($params['name'])) {
// // $where[] = ['name','like','%'.$params['name'].'%'];
// // }
// // if (!empty($params['value'])) {
// // $where[] = ['value','like','%'.$params['value'].'%'];
// // }
// // $model = new PdmParttypeModel();
// // $count = $model->where($where)->count();
// // // $list = $model->where($where)->order('sort asc')->select()->toArray();
// // $list = $model->where($where)->order('sort asc')->select();
// // foreach ($list as $key => $value) {
// // // $list[$key]['name'] = __($value['name']);
// // $list[$key]['creator'] = __($list[$key]->admin['nickname']);
// // }
// // return [$count, $list->toArray()];
// $where = $this->buildSelectParams();
// $count = $this->model->where($where)->count();
// $fieldList = $this->model->getFields();
// $order = !array_key_exists('sort', $fieldList) ? 'id' : 'sort';
// $subQuery = $this->model->field('id')->where($where)->order($order, 'asc')->buildSql();
// $subQuery = '( SELECT object.id FROM ' . $subQuery . ' AS object )';
// // $list = $this->model->with($this->relationModel)->where('id in' . $subQuery)->order($order, 'asc')->select()->toArray(); // 如果是'desc' list_to_tree 函数返回为空!
// $list = $this->model->with($this->relationModel)->where('id in' . $subQuery)->order($order, 'asc')->select(); // 如果是'desc' list_to_tree 函数返回为空!
// foreach($list as $key => $value){
// // throw new \Exception(json_encode($value));
// // throw new \Exception(json_encode($list[$key]->admin['nickname']));
// // $list[$key]['creator'] =__($list[$key]->admin['nickname']);
// $list[$key]->admin;
// }
// $list = $list->toArray();
// if(!empty($list) && is_array($list)){
// $nodeid = array();
// foreach($list as $key => $value){
// if($value['pid'] == 0 ){
// $nodeid[] = $value['id'];
// }
// }
// foreach($list as $key => $value){
// if(!in_array($value['pid'],$nodeid) && $value['pid'] > 0){
// $nodeid[] = $value['pid'];
// $nodevalue = $this->model->find($value['pid']);
// $nodevalue = $this->model->find($value['pid'])->toArray();
// if(!empty($nodevalue)){
// $list[] = &$nodevalue;
// }
// }
// }
// $list = list_sort_by($list,'id','asc');
// // usort($list, function($a, $b) {
// // return $a['id'] <=> $b['id']; // 对 'id' 进行升序排序
// // });
// // throw new \Exception(json_encode($list));
// }
// return [$count, $list];
// }
public static function dataList(array $params): array
{
$where = array();
if (!empty($params['name'])) {
$where[] = ['name','like','%'.$params['name'].'%'];
}
if (!empty($params['value'])) {
$where[] = ['value','like','%'.$params['value'].'%'];
}
$model = new PdmParttypeModel();
$count = $model->where($where)->count();
// $list = $model->where($where)->order('sort asc')->select()->toArray();
$list = $model->where($where)->order('sort asc')->select();
// $where = array();
// if (!empty($params['name'])) {
// $where[] = ['name','like','%'.$params['name'].'%'];
// }
// if (!empty($params['value'])) {
// $where[] = ['value','like','%'.$params['value'].'%'];
// }
// $model = new PdmParttypeModel();
// $count = $model->where($where)->count();
// // $list = $model->where($where)->order('sort asc')->select()->toArray();
// $list = $model->where($where)->order('sort asc')->select();
foreach ($list as $key => $value) {
// $list[$key]['name'] = __($value['name']);
$list[$key]['creator'] = __($list[$key]->admin['nickname']);
// foreach ($list as $key => $value) {
// // $list[$key]['name'] = __($value['name']);
// $list[$key]['creator'] = __($list[$key]->admin['nickname']);
}
// }
// return [$count, $list->toArray()];
$controller = new PdmParttype();
$where = $controller->buildSelectParams();
$count = $controller->model->where($where)->count();
$fieldList = $controller->model->getFields();
$order = !array_key_exists('sort', $fieldList) ? 'id' : 'sort';
$subQuery = $controller->model->field('id')->where($where)->order($order, 'asc')->buildSql();
$subQuery = '( SELECT object.id FROM ' . $subQuery . ' AS object )';
// $list = $this->model->with($this->relationModel)->where('id in' . $subQuery)->order($order, 'asc')->select()->toArray(); // 如果是'desc' list_to_tree 函数返回为空!
$list = $controller->model->with($controller->relationModel)->where('id in' . $subQuery)->order($order, 'asc')->select(); // 如果是'desc' list_to_tree 函数返回为空!
foreach($list as $key => $value){
// throw new \Exception(json_encode($value));
// throw new \Exception(json_encode($list[$key]->admin['nickname']));
// $list[$key]['creator'] =__($list[$key]->admin['nickname']);
$list[$key]->admin;
}
$list = $list->toArray();
if(!empty($list) && is_array($list)){
$nodeid = array();
foreach($list as $key => $value){
if($value['pid'] == 0 ){
$nodeid[] = $value['id'];
}
}
foreach($list as $key => $value){
if(!in_array($value['pid'],$nodeid) && $value['pid'] > 0){
$nodeid[] = $value['pid'];
$nodevalue = $controller->model->find($value['pid']);
$nodevalue = $controller->model->find($value['pid'])->toArray();
if(!empty($nodevalue)){
$list[] = &$nodevalue;
}
}
}
$list = list_sort_by($list,'id','asc');
// usort($list, function($a, $b) {
// return $a['id'] <=> $b['id']; // 对 'id' 进行升序排序
// });
// throw new \Exception(json_encode($list));
}
return [$count, $list];
return [$count, $list->toArray()];
}
/**
* 添加节点数据
* @return Response

View File

@@ -30,7 +30,51 @@ class PdmPurchasecode extends AdminController
* 默认生成的方法为index/add/edit/del/status 五个方法
* 当创建CURD的时候DIY的函数体和模板为空请自行编写代码
*/
public function index(): \support\Response
{
if (request()->isAjax()) {
// $post = input();
// $post = request()->post();
$post = request()->all();
// $post['partnumber'] = input('partnumber');
// $pid = input('pid');
$limit = (int)input('limit') ?? 10;
$page = (int)input('page') ?? 1;
// if ($pid == null) {
// $pid = (string)$this->model->minId();
// }
// 生成查询数据
$where = $this->buildSelectParams();
$fieldList = $this->model->getFields();
$order = !array_key_exists('sort', $fieldList) ? 'id' : 'sort';
// $where[] = ['pid','in',$pid];
// $where[] = [];
if (!empty($post['keyword'])) {
$where[] = ['partnumber|purchasecode|parttype|value|description|mpn|mfgname|symbol|footprint|datasheet|usernickname|department','like','%'.$post['keyword'].'%'];
// $where[] = ['reference','like','%'.$post['keyword'].'%'];
// $where[] = ['content','like','%'.$post['keyword'].'%'];
// $where[] = ['item','like','%'.$post['keyword'].'%'];
}
$count = $this->model->where($where)->count();
$subQuery = $this->model->field('id')->where($where)->order($order, 'desc')->limit($limit)->page($page)->buildSql();
$subQuery = '( SELECT object.id FROM ' . $subQuery . ' AS object )';
// $list = $this->model->where($where)->limit((int)$limit)->page((int)$page)->select();
$list = $this->model->with($this->relationModel)->where('id in' . $subQuery)->order($order, 'asc')->select() ;
// $list = $this->model->where($where)->limit((int)$limit)->page((int)$page)->select();
return $this->success('查询成功', null, $list, $count);
}
return $this->view();
// return view('/pdm_partitem_view/index',[ ]);
}
}

View File

@@ -58,27 +58,66 @@ class PdmSymbol extends AdminController
* @throws DbException
* @throws ModelNotFoundException
*/
public static function dataList(array $params): array
public function dataList(array $params): array // static 限定后, $this-> 不可用。
{
$where = array();
if (!empty($params['symbolname'])) {
$where[] = ['symbolname','like','%'.$params['symbolname'].'%'];
}
if (!empty($params['content'])) {
$where[] = ['content','like','%'.$params['content'].'%'];
}
$model = new PdmSymbolModel();
// $model = $this->model;
$count = $model->where($where)->count();
// $list = $model->where($where)->order('sort asc')->select()->toArray();
$list = $model->where($where)->order('sort asc')->select();
// $where = array();
// if (!empty($params['status'])) {
// // $where[] = ['status','=',$params['status']];
// $where[]=['status','=',$params['status']==1?0:1];
// }
// if (!empty($params['keyword'])) {
// $where[] = ['symbolname|view|attachment|content','like','%'.$params['keyword'].'%'];
// }
// $count = $this->model->where($where)->count();
// $list = $this->model->where($where)->order('sort asc')->select()->toArray();
$where = $this->buildSelectParams();
$count = $this->model->where($where)->count();
$fieldList = $this->model->getFields();
$order = !array_key_exists('sort', $fieldList) ? 'id' : 'sort';
$subQuery = $this->model->field('id')->where($where)->order($order, 'asc')->buildSql();
$subQuery = '( SELECT object.id FROM ' . $subQuery . ' AS object )';
// $list = $this->model->with($this->relationModel)->where('id in' . $subQuery)->order($order, 'asc')->select()->toArray(); // 如果是'desc' list_to_tree 函数返回为空!
$list = $this->model->with($this->relationModel)->where('id in' . $subQuery)->order($order, 'asc')->select(); // 如果是'desc' list_to_tree 函数返回为空!
foreach($list as $key => $value){
// throw new \Exception(json_encode($value));
// throw new \Exception(json_encode($list[$key]->admin['nickname']));
$list[$key]['creator'] =__($list[$key]->admin['nickname']);
// $list[$key]['creator'] =__($list[$key]->admin['nickname']);
$list[$key]->admin;
}
return [$count, $list->toArray()];
$list = $list->toArray();
if(!empty($list) && is_array($list)){
$nodeid = array();
foreach($list as $key => $value){
if($value['pid'] == 0 ){
$nodeid[] = $value['id'];
}
}
// throw new \Exception(json_encode($pidlist));
foreach($list as $key => $value){
if(!in_array($value['pid'],$nodeid) && $value['pid'] > 0){
$nodeid[] = $value['pid'];
$nodevalue = $this->model->find($value['pid']);
// throw new \Exception(json_encode($nodevalue));
$nodevalue = $this->model->find($value['pid'])->toArray();
// throw new \Exception(json_encode($nodevalue));
// throw new \Exception(json_encode($list));
if(!empty($nodevalue)){
$list[] = &$nodevalue;
}
}
}
$list = list_sort_by($list,'id','asc');
// usort($list, function($a, $b) {
// return $a['id'] <=> $b['id']; // 对 'id' 进行升序排序
// });
// throw new \Exception(json_encode($list));
}
// throw new \Exception(json_encode($list));
return [$count, $list];
}
/**

View File

@@ -39,7 +39,7 @@ class PdmPartitemIndex extends Model
* @localKey parttypeid
* @bind name
*/
public function parttype()
public function pdmParttype()
{
return $this->hasOne(\app\admin\model\PdmParttype::Class,'id','parttypeid')->bind(['name']);
}
@@ -49,11 +49,21 @@ class PdmPartitemIndex extends Model
* @localKey parttypeid
* @bind name
*/
public function mfgname()
public function pdmMfgName()
{
return $this->hasOne(\app\admin\model\PdmMfgName::Class,'id','mfg_id')->bind(['mfgname']);
}
/**
* 定义 sa_admin 关联模型
* @localKey parttypeid
* @bind name
*/
public function pdmPurchasecode()
{
return $this->hasOne(\app\admin\model\PdmPurchasecode::Class,'purchasecode','purchasecode')->bind(['mpn']);
}
public function setPartattributeAttr($value)
{
if (!empty($value) && is_array($value)) {

View File

@@ -32,6 +32,42 @@ class PdmPartitemRelation extends Model
{
return $this->hasOne(\app\common\model\system\Admin::Class,'id','creatorid')->bind(['name','nickname']);
}
/**
* 定义 sa_pdm_partitem_index 关联模型
* @localKey partnumber
* @bind description,value,purchasecode
*/
public function pdmPartitemIndex()
{
return $this->hasOne(\app\admin\model\PdmPartitemIndex::Class,'partnumber','partnumber')->bind(['description','value','purchasecode']);
}
/**
* 定义 sa_pdm_symbol 关联模型
* @localKey symbolid
* @bind symbolname,view,attachment
*/
public function pdmSymbol()
{
return $this->hasOne(\app\admin\model\PdmSymbol::Class,'id','symbolid')->bind(['symbolname','view','attachment']);
}
/**
* 定义 sa_pdm_footprint 关联模型
* @localKey footprintid
* @bind footprint,manufacture,view,attachment
*/
public function pdmFootprint()
{
return $this->hasOne(\app\admin\model\PdmFootprint::Class,'id','footprintid')->bind(['footprint','manufacture','view','attachment']);
}
/**
* 定义 sa_department 关联模型
* @localKey departmentid
* @bind title
*/
public function department()
{
return $this->hasOne(\app\common\model\system\Department::Class,'id','departmentid')->bind(['title']);
}

View File

@@ -7,7 +7,7 @@
<div class="layui-form">
<!-- // 自定义搜索参数 -->
<div id="laytable-search" class="layui-form-item">
<div class="layui-inline">
<!-- <div class="layui-inline">
<div class="layui-form-label">{:__('ID')}</div>
<div class="layui-input-inline ">
<input name="id" class="layui-input" type="text" placeholder="{:__('ID')}" />
@@ -26,7 +26,7 @@
<div class="layui-input-inline ">
<input name="sort" class="layui-input" type="text" placeholder="{:__('排序')}" />
</div>
</div>
</div> -->
<div class="layui-inline">
<div class="layui-form-label">{:__('封装预览')}</div>
@@ -45,7 +45,7 @@
<div class="layui-inline">
<div class="layui-form-label">{:__('创建者')}</div>
<div class="layui-input-inline ">
<input name="creator" class="layui-input" type="text" placeholder="{:__('者')}" />
<input name="nickname" class="layui-input" type="text" placeholder="{:__('创建者')}" />
</div>
</div>
@@ -91,7 +91,7 @@
</div>
<div class="layui-inline">
<!-- // 默认搜索 -->
<button class="layui-btn icon-btn" lay-filter="formSearch" lay-submit><i
<button class="layui-btn icon-btn" lay-filter="treeSearch" lay-submit><i
class="layui-icon layui-icon-search"></i>{:__('搜索')}</button>
<!--formBegin-->
<button class="layui-btn icon-btn" lay-open="" data-title="{:__('添加')}" data-area="1100px,750px"
@@ -155,8 +155,8 @@
toolbar: '#tableButton',
defaultToolbar: ['filter', 'exports', 'print', 'search'],
cellMinWidth: 160,
page: true,
limit: 18,
//page: true,
//limit: 18,
tree: {
customName: {
pid: 'pid',
@@ -202,6 +202,11 @@
let whereURL = '',
field = data.field;
for (const key in field) {
if (!field[key]) {
delete field[key];
}
}
for (let key in field) {
whereURL += key + '=' + field[key];
whereURL += '&';

View File

@@ -6,99 +6,105 @@
<div class="layui-card-header layadmin-card-header-auto ">
<div class="layui-form">
<!-- // 自定义搜索参数 -->
<div id="laytable-search" class="layui-form-item" >
<div class="layui-inline">
<div class="layui-form-label">{:__('ID')}</div>
<div class="layui-input-inline ">
<input name="id" class="layui-input" type="text" placeholder="{:__('ID')}"/>
<div id="laytable-search" class="layui-form-item">
<!-- <div class="layui-inline">
<div class="layui-form-label">{:__('ID')}</div>
<div class="layui-input-inline ">
<input name="id" class="layui-input" type="text" placeholder="{:__('ID')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('父ID')}</div>
<div class="layui-input-inline ">
<input name="pid" class="layui-input" type="text" placeholder="{:__('父ID')}"/>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('父ID')}</div>
<div class="layui-input-inline ">
<input name="pid" class="layui-input" type="text" placeholder="{:__('父ID')}" />
</div>
</div> -->
<div class="layui-inline">
<div class="layui-form-label">{:__('网站主页')}</div>
<div class="layui-input-inline ">
<input name="mfgsite" class="layui-input" type="text" placeholder="{:__('网站主页')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('网站主页')}</div>
<div class="layui-input-inline ">
<input name="mfgsite" class="layui-input" type="text" placeholder="{:__('网站主页')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('备注')}</div>
<div class="layui-input-inline ">
<input name="mfgrmark" class="layui-input" type="text" placeholder="{:__('备注')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('备注')}</div>
<div class="layui-input-inline ">
<input name="mfgrmark" class="layui-input" type="text" placeholder="{:__('备注')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('排序')}</div>
<div class="layui-input-inline ">
<input name="sort" class="layui-input" type="text" placeholder="{:__('排序')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('排序')}</div>
<div class="layui-input-inline ">
<input name="sort" class="layui-input" type="text" placeholder="{:__('排序')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('注释')}</div>
<div class="layui-input-inline ">
<input name="content" class="layui-input" type="text" placeholder="{:__('注释')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('注释')}</div>
<div class="layui-input-inline ">
<input name="content" class="layui-input" type="text" placeholder="{:__('注释')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('创建者')}</div>
<div class="layui-input-inline ">
<input name="creatorid" class="layui-input" type="text" placeholder="{:__('创建者')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('创建者')}</div>
<div class="layui-input-inline ">
<input name="creatorid" class="layui-input" type="text" placeholder="{:__('创建者')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('更新时间')}</div>
<div class="layui-input-inline ">
<input name="update_time" lay-datetime data-range="true" data-type="date" data-dateformat="yyyy/MM/dd" class="layui-input" type="text" placeholder="{:__('更新时间')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('更新时间')}</div>
<div class="layui-input-inline ">
<input name="update_time" lay-datetime data-range="true" data-type="date"
data-dateformat="yyyy/MM/dd" class="layui-input" type="text"
placeholder="{:__('更新时间')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('创建时间')}</div>
<div class="layui-input-inline ">
<input name="create_time" lay-datetime data-range="true" data-type="date" data-dateformat="yyyy/MM/dd" class="layui-input" type="text" placeholder="{:__('创建时间')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('创建时间')}</div>
<div class="layui-input-inline ">
<input name="create_time" lay-datetime data-range="true" data-type="date"
data-dateformat="yyyy/MM/dd" class="layui-input" type="text"
placeholder="{:__('创建时间')}" />
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<select name="status">
<option value="">{:__('按状态查询')}</option>
<option value="2" >{:__('正常')}</option>
<option value="1" >{:__('关闭')}</option>
</select>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('制造商名称')}</div>
<div class="layui-input-inline ">
<input name="mfgname" class="layui-input" type="text" placeholder="{:__('制造商名称')}"/>
<div class="layui-inline">
<select name="status">
<option value="">{:__('按状态查询')}</option>
<option value="2">{:__('正常')}</option>
<option value="1">{:__('关闭')}</option>
</select>
</div>
</div>
<div class="layui-inline" >
<div class="layui-inline">
<div class="layui-form-label">{:__('制造商名称')}</div>
<div class="layui-input-inline ">
<input name="mfgname" class="layui-input" type="text" placeholder="{:__('制造商名称')}" />
</div>
</div>
<div class="layui-inline">
<!-- // 默认搜索 -->
<button class="layui-btn icon-btn" lay-filter="formSearch" lay-submit><i class="layui-icon layui-icon-search"></i>{:__('搜索')}</button>
<button class="layui-btn icon-btn" lay-filter="formSearch" lay-submit><i
class="layui-icon layui-icon-search"></i>{:__('搜索')}</button>
<!--formBegin-->
<button class="layui-btn icon-btn" lay-open="" data-title="{:__('添加')}" data-area="1100px,750px" data-maxmin="true" data-url="{:url('/PdmMfgName/add')}" >
<button class="layui-btn icon-btn" lay-open="" data-title="{:__('添加')}" data-area="1100px,750px"
data-maxmin="true" data-url="{:url('/PdmMfgName/add')}">
<i class="layui-icon layui-icon-add-1"></i>{:__('添加')}
</button>
<!--formEnd-->
</div>
</div>
</div>
</div>
</div>
<!-- // 创建数据实例 -->
<table id="lay-tableList" lay-filter="lay-tableList"></table>
<table id="lay-tableList" lay-filter="lay-tableList"></table>
</div>
</div>
@@ -106,15 +112,15 @@
<script type="text/html" id="columnStatus">
<input type="checkbox" lay-filter="switchStatus" data-url="{:url('/PdmMfgName/status')}" value="{{d.id}}" lay-skin="switch" {{d.status==1?'checked':''}} />
</script>
<!-- // 列表工具栏 -->
<script type="text/html" id="tableBar">
<!--formBegin-->
<a class="layui-table-text" data-title="{:__('编辑')}" data-area="1100px,750px" data-maxmin="true"
data-url="{:url('/PdmMfgName/edit')}?id={{d.id}}" lay-event="edit" >{:__('编辑')}</a>
<div class="layui-divider layui-divider-vertical"></div>
<!--formEnd-->
<a class="layui-table-text" data-url="{:url('/PdmMfgName/del')}?id={{d.id}}" lay-event="del" >{:__('删除')}</a>
<a class="layui-table-text" data-title="{:__('编辑')}" data-area="1100px,750px" data-maxmin="true"
data-url="{:url('/PdmMfgName/edit')}?id={{d.id}}" lay-event="edit">{:__('编辑')}</a>
<div class="layui-divider layui-divider-vertical"></div>
<!--formEnd-->
<a class="layui-table-text" data-url="{:url('/PdmMfgName/del')}?id={{d.id}}" lay-event="del">{:__('删除')}</a>
</script>
@@ -123,7 +129,7 @@
<include file="/public/footer" />
<script>
layui.use(['admin','table'], function () {
layui.use(['admin', 'table'], function () {
var admin = layui.admin;
var table = layui.table;
@@ -133,27 +139,30 @@
*/
var isTable = table.render({
elem: "#lay-tableList"
,url: "{:url('/PdmMfgName/index')}"
,toolbar: '#tableButton'
,defaultToolbar: ['filter', 'exports', 'print','search']
,cellMinWidth: 160
,page: true
,limit: 18
,cols: [[
, url: "{:url('/PdmMfgName/index')}"
, toolbar: '#tableButton'
, defaultToolbar: ['filter', 'exports', 'print', 'search']
, cellMinWidth: 100
, page: true
, limit: 18
, cols: [[
<!-- {type: 'checkbox', width: 50}, -->
{field: 'id', align: 'center',sort: true,width: 80, title: 'ID'},
{field:'mfgname',title:'{:__("制造商名称")}'},
{field:'mfgsite',title:'{:__("网站主页")}',templet: function(d) {
return '<a href="' +d.mfgsite+ '" target="_blank">'+ d.mfgsite +'</a>';
} },
{field:'mfgrmark',title:'{:__("备注")}'},
{field:'content',title:'{:__("注释")}',width: 350}, //,fixed: 'right'
<!-- {field:'creatorid',title:'{:__("创建者ID")}',align: 'center'}, -->
{field:'creator',title:'{:__("创建者")}',align: 'center'},
{field:'status',templet: '#columnStatus',title:'{:__("状态")}',width: 100,fixed: 'right'},
{align: 'center', toolbar: '#tableBar', width:160, fixed: 'right', title: '{:__("操作")}'},
{ field: 'id', align: 'center', sort: true, title: 'ID' },//width: 80,
{ field: 'mfgname', title: '{:__("制造商名称")}' },
{
field: 'mfgsite', title: '{:__("网站主页")}', templet: function (d) {
return '<a href="' + d.mfgsite + '" target="_blank">' + d.mfgsite + '</a>';
}
},
{ field: 'mfgrmark', title: '{:__("备注")}' },
{ field: 'content', title: '{:__("注释")}', width: 350 }, //,fixed: 'right'
//{ field: 'creatorid', title: '{:__("创建者ID")}', align: 'center' },
//{ field: 'creator', title: '{:__("创建者")}', align: 'center' },
{ field: 'nickname', title: '{:__("创建者")}', align: 'center' },
{ field: 'status', templet: '#columnStatus', title: '{:__("状态")}' }, //width: 100, fixed: 'right'
{ align: 'center', toolbar: '#tableBar', width: 160, fixed: 'right', title: '{:__("操作")}' },
]]
})
})
</script>
</script>

View File

@@ -1,81 +1,194 @@
<include file="/public/header" />
<!-- // 重定位style -->
<!--partmanage-->
<link href="__STATICADMIN__css/content.css" rel="stylesheet" type="text/css" />
<div class="layui-fluid">
<form class="layui-form layui-card" >
<div class="layui-card-body">
<gt name="$data.id" value="0">
<input type="text" name="id" value="{$data.id}" hidden="">
<else/>
<input type="text" name="id" value="" hidden="">
</gt>
<div class="layui-form-item" >
<label class="layui-form-label">PartNumber</label>
<div class="layui-input-block"><input class="layui-input" name="partnumber" placeholder="请输入" lay-verify=""value="{$data.partnumber}" ></div>
</div>
<include file="/public/header" />
<!-- // 重定位style -->
<!--partmanage-->
<link href="__STATICADMIN__css/content.css" rel="stylesheet" type="text/css" />
<div class="layui-fluid">
<form class="layui-form layui-card" lay-filter="adminforms">
<div class="layui-form-item" >
<label class="layui-form-label">ParttypeID</label>
<div class="layui-input-block"><input class="layui-input" name="parttypeid" placeholder="请输入" lay-verify=""value="{$data.parttypeid}" ></div>
</div>
<div class="layui-card-body">
<gt name="$data.id" value="0">
<input type="text" name="id" value="{$data.id}" hidden="">
<else />
<input type="text" name="id" value="" hidden="">
</gt>
<div class="layui-form-item">
<label class="layui-form-label">PartNumber</label>
<div class="layui-input-block"><input class="layui-input" name="partnumber" placeholder="请输入"
lay-verify="" value="{$data.partnumber}"></div>
</div>
<div class="layui-form-item" >
<label class="layui-form-label">采购编码</label>
<div class="layui-input-block"><input class="layui-input" name="purchasecode" placeholder="请输入" lay-verify=""value="{$data.purchasecode}" ></div>
</div>
<div class="layui-form-item">
<div class="layui-form-item" >
<label class="layui-form-label">Value</label>
<div class="layui-input-block"><input class="layui-input" name="value" placeholder="请输入" lay-verify=""value="{$data.value}" ></div>
</div>
<div class="layui-form-item" >
<label class="layui-form-label">描述</label>
<div class="layui-input-block"><textarea class="layui-textarea" name="description" placeholder="请输入" >{$data.description}</textarea></div>
</div>
<div class="layui-form-item" >
<label class="layui-form-label">MFGID</label>
<div class="layui-input-block"><input class="layui-input" name="mfg_id" placeholder="请输入" lay-verify=""value="{$data.mfg_id}" ></div>
</div>
<div class="layui-form-item" >
<label class="layui-form-label">规格书</label>
<div class="layui-input-block"><input class="layui-input" name="datasheet" placeholder="请输入" lay-verify=""value="{$data.datasheet}" ></div>
</div>
<div class="layui-form-item" >
<label class="layui-form-label">部件属性</label>
<div class="layui-input-block"> <table class="layui-table">
<thead>
<tr>
<th>名称</th>
<th>变量值</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<notempty name="data.partattribute">
<volist name="data.partattribute" id="vo" key="i">
<tr>
<td><input type="text" class="layui-input" name="partattribute[key][]" value="{$key}" ></td>
<td><input type="text" class="layui-input" name="partattribute[value][]" value="{$vo}"></td>
<td><i class="layui-icon fa-times" data-name="partattribute" onclick="layui.admin.resetInput(this);"></i></td>
</tr>
<!-- <label class="layui-form-label">ParttypeID</label>
<div class="layui-input-block">
<input class="layui-input" name="parttypeid" placeholder="请输入"
lay-verify="" value="{$data.parttypeid}">
</div> -->
<label class="layui-form-label">Parttype</label>
<div class="layui-input-block">
<!-- <div class="parttype" name="parttype_id" ></div> -->
<div id="treeNode" name="parttypeid" lay-filter="treeNode" data-pid="{$data.PdmParttype.id|default=0}"></div>
<!-- <select name="parttype_id">
<option value="">{:__('按用户组查询')}</option>
<volist name="parttype" id="vo">
<option value="{$vo.id}" >{$vo.name}</option>
</volist>
</notempty>
</tbody>
</table>
<button type="button" class="layui-btn layui-btn-normal layui-jsonvar-add" data-name="partattribute">追加</button></div>
</select> -->
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">采购编码</label>
<div class="layui-input-block"><input class="layui-input" name="purchasecode" placeholder="请输入"
lay-verify="" value="{$data.purchasecode}"></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">Value</label>
<div class="layui-input-block"><input class="layui-input" name="value" placeholder="请输入" lay-verify=""
value="{$data.value}"></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">描述</label>
<div class="layui-input-block"><textarea class="layui-textarea" name="description"
placeholder="请输入">{$data.description}</textarea></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">MFGID</label>
<div class="layui-input-block"><input class="layui-input" name="mfg_id" placeholder="请输入" lay-verify=""
value="{$data.mfg_id}"></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">规格书</label>
<div class="layui-input-block"><input class="layui-input" name="datasheet" placeholder="请输入"
lay-verify="" value="{$data.datasheet}"></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">部件属性</label>
<div class="layui-input-block">
<table class="layui-table">
<thead>
<tr>
<th>名称</th>
<th>变量值</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<notempty name="data.partattribute">
<volist name="data.partattribute" id="vo" key="i">
<tr>
<td><input type="text" class="layui-input" name="partattribute[key][]"
value="{$key}"></td>
<td><input type="text" class="layui-input" name="partattribute[value][]"
value="{$vo}"></td>
<td><i class="layui-icon fa-times" data-name="partattribute"
onclick="layui.admin.resetInput(this);"></i></td>
</tr>
</volist>
</notempty>
</tbody>
</table>
<button type="button" class="layui-btn layui-btn-normal layui-jsonvar-add"
data-name="partattribute">追加</button>
</div>
</div>
<div class="layui-footer layui-form-footer">
<button class="layui-btn layui-btn-primary" type="button" sa-event="closeDialog">{:__('取消')}</button>
<button class="layui-btn" type="button" lay-filter="submitIframe" lay-submit>{:__('提交')}</button>
</div>
</form>
</div>
<div class="layui-footer layui-form-footer">
<button class="layui-btn layui-btn-primary" type="button" sa-event="closeDialog">{:__('取消')}</button>
<button class="layui-btn" type="button" lay-filter="submitIframe" lay-submit>{:__('提交')}</button>
</div>
</form>
</div>
<include file="/public/static" />
<include file="/public/footer" />
<script src="__STATICADMIN__module/xmselect/xmselect.js?v={:release()}"></script>
<include file="/public/static" />
<include file="/public/footer" />
<script>
layui.use(['jquery', 'iconPicker','form'],function() {
let $ = layui.jquery;
let show = layui.show;
let form = layui.form;
let iconPicker = layui.iconPicker;
let data = {$list|raw};
let parttypedata = {$parttype|raw};
// 提交参数
form.on("submit(submit)",function(data){
$.post("{:Url('/PdmPartitemIndex/')}"+app_Config.action,data.field,function(res){
if(res.code === 200){
show.msg(res.msg);
parent.layui.table.reloadData('lay-tableList');
parent.layer.closeAll();
// 调用接口更新菜单
top.layui.admin.reloadLayout();
}else{
show.error(res.msg);
}
});
return false;
})
xmSelect.render({
el: '#treeNode',
tips: '请选择上级菜单',
// name: 'pid',
name: 'parttypeid',
height: '260px',
data: parttypedata,
// data: data,
radio: true,
clickClose: true,
initValue:[$('#treeNode').data('pid')],
prop: {
value: 'id',
name:'name'
},
tree: {
show: true,
strict: false,
showLine: false,
clickExpand: false,
},
model: {
icon: 'hidden',
label: {
type: 'text'
}
},
theme: {
color: '#1890FF'
}
})
// iconPicker.render({
// elem: '#iconPicker',
// type: 'fontClass',
// search: true,
// cellWidth: "19%",
// page: true,
// limit: 12,
// // 点击回调
// click: function(data) { // 点击回调
// $('#iconPicker').val(data.icon);
// },
// success: function(d) { // 渲染成功后的回调
// }
// });
// $('.router').bind('input change',function(data){
// let router = $('.router').val();
// router = router.substring(1);
// $('.alias').val(router.replaceAll('/',':'));
// })
})
</script>

View File

@@ -7,7 +7,7 @@
<div class="layui-form">
<!-- // 自定义搜索参数 -->
<div id="laytable-search" class="layui-form-item">
<div class="layui-inline">
<!-- <div class="layui-inline">
<div class="layui-form-label">{:__('ID')}</div>
<div class="layui-input-inline ">
<input name="id" class="layui-input" type="text" placeholder="{:__('ID')}" />
@@ -26,7 +26,7 @@
<div class="layui-input-inline ">
<input name="sort" class="layui-input" type="text" placeholder="{:__('排序')}" />
</div>
</div>
</div> -->
<div class="layui-inline">
<div class="layui-form-label">{:__('ParttypeID')}</div>
@@ -172,6 +172,47 @@
<script type="text/html" id="tableButton"></script>
<!-- 文件预览模板 -->
<!-- 内部模板的嵌套 {-{ }-} 会有问题-->
<script type="text/html" id="filepreviewtpl">
{{#
if(d.datasheet) {
var fileExt = d.datasheet.split('.').pop().toLowerCase();
var imageExts = ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp'];
if (imageExts.indexOf(fileExt) !== -1) {
}}
<!-- 图片文件显示图片并链接到原文件 -->
<a href="/upload/datasheet/{{d.datasheet}}" target="_blank">
<img class="filesuffix" src="/upload/datasheet/{{d.datasheet}}" alt="Image Preview" style="max-width: 100px; height: auto;" />
</a>
{{#
} else if (fileExt === 'pdf') {
}}
<!-- PDF 文件显示 PDF 图标并链接到 PDF 文件 -->
<a href="/upload/datasheet/{{d.datasheet}}" target="_blank" style="display: flex; align-items: center;">
<i class="layui-icon layui-icon-file" style="font-size: 24px; color: #e64340; margin-right: 5px;"></i>
<span>PDF{{d.datasheet}}</span>
</a>
{{#
} else {
}}
<!-- 其他文件类型显示通用文件图标并链接到文件 -->
<a href="/upload/datasheet/{{d.datasheet}}" target="_blank" style="display: flex; align-items: center;">
<i class="layui-icon layui-icon-file" style="font-size: 24px; color: #1E9FFF; margin-right: 5px;"></i>
<span>Other{{d.datasheet}}</span>
</a>
{{#
}
}
}}
</script>
<include file="/public/footer" />
<script>
layui.use(['admin', 'table'], function () {
@@ -187,28 +228,31 @@
, url: "{:url('/PdmPartitemIndex/index')}"
, toolbar: '#tableButton'
, defaultToolbar: ['filter', 'exports', 'print', 'search']
, cellMinWidth: 160
, cellMinWidth: 80
, page: true
, limit: 18
, cols: [[
<!-- { type: 'checkbox', width: 50 }, -->
<!-- { type: 'checkbox', width: 60 }, -->
{ field: 'id', align: 'center', sort: true, width: 60, title: 'ID' },
{ field: 'partnumber',width: 100, title: '{:__("PartNumber")}' },
<!-- { field: 'parttypeid', width: 80, title: '{:__("ParttypeID")}' }, -->
{ field: 'parttype', width: 60, title: '{:__("Parttype")}' },
{ field: 'purchasecode', width: 100, title: '{:__("采购编码")}' },
{ field: 'value', title: '{:__("Value")}' },
{ field: 'description',width: 250, title: '{:__("描述")}' },
<!-- { field: 'mfg_id', title: '{:__("MFGID")}' }, -->
{ field: 'mfg_name', title: '{:__("MFG")}' },
{ field: 'partnumber', width: 180, title: '{:__("PartNumber")}' },
//{ field: 'parttypeid', width: 80, title: '{:__("ParttypeID")}' },
{ field: 'parttype', width: 80, title: '{:__("Parttype")}' },
{ field: 'purchasecode', width: 150, title: '{:__("采购编码")}' },
{ field: 'value', width: 120, title: '{:__("Value")}' },
{ field: 'description', width: 250, title: '{:__("描述")}' },
//{ field: 'mfg_id', title: '{:__("MFGID")}' },
{ field: 'mpn',width: 160, title: '{:__("MPN")}' },
{ field: 'mfg_name',width: 120, title: '{:__("MFG")}' },
{ field: 'datasheet',templet: function (d) {
return '<a href="/upload/' + d.datasheet + '" target="_blank" ><img class="filesuffix" src="/upload/' + d.datasheet + '"></a>';
}, title: '{:__("规格书")}' },
<!-- { field: 'creatorid', title: '{:__("创建者")}' }, -->
{ field: 'nickname', title: '{:__("创建者")}' },
{ field: 'status', templet: '#columnStatus', title: '{:__("状态")}' },
//{
// field: 'datasheet', width: 160, templet: function (d) {
// return '<a href="/upload/' + d.datasheet + '" target="_blank" ><img class="filesuffix" src="/upload/' + d.datasheet + '"></a>';
// }, title: '{:__("规格书")}'
//},
{ field: 'datasheet', width: 160, templet: '#filepreviewtpl', title: '{:__("规格书")}' },
//{ field: 'creatorid', title: '{:__("创建者")}' },
{ field: 'nickname',width: 120, title: '{:__("创建者")}' },
{ field: 'status',width: 80, templet: '#columnStatus', title: '{:__("状态")}' },
{ align: 'center', toolbar: '#tableBar', width: 160, fixed: 'right', title: '{:__("操作")}' },
]]
})

View File

@@ -7,7 +7,7 @@
<div class="layui-form">
<!-- // 自定义搜索参数 -->
<div id="laytable-search" class="layui-form-item">
<div class="layui-inline">
<!-- <div class="layui-inline">
<div class="layui-form-label">{:__('ID')}</div>
<div class="layui-input-inline ">
<input name="id" class="layui-input" type="text" placeholder="{:__('ID')}" />
@@ -26,7 +26,7 @@
<div class="layui-input-inline ">
<input name="sort" class="layui-input" type="text" placeholder="{:__('排序')}" />
</div>
</div>
</div> -->
<div class="layui-inline">
<div class="layui-form-label">{:__('SymbolID')}</div>
@@ -151,17 +151,22 @@
, url: "{:url('/PdmPartitemRelation/index')}"
, toolbar: '#tableButton'
, defaultToolbar: ['filter', 'exports', 'print', 'search']
, cellMinWidth: 160
, cellMinWidth: 80
, page: true
, limit: 18
, cols: [[
{ type: 'checkbox', width: 50 },
//{ type: 'checkbox', width: 50 },
{ field: 'id', align: 'center', sort: true, width: 80, title: 'ID' },
{ field: 'partnumber', title: '{:__("PartNumber")}' },
{ field: 'symbolid', title: '{:__("SymbolID")}' },
{ field: 'footprintid', title: '{:__("FootprintID")}' },
{ field: 'creatorid', title: '{:__("创建者ID")}' },
{ field: 'departmentid', title: '{:__("部门ID")}' },
{ field: 'partnumber', width: 180, title: '{:__("PartNumber")}' },
//{ field: 'symbolid', title: '{:__("SymbolID")}' },
{ field: 'symbolname', width: 180,title: '{:__("Symbol")}' },
//{ field: 'footprintid', title: '{:__("FootprintID")}' },
{ field: 'footprint', width: 180,title: '{:__("Footprint")}' },
{ field: 'manufacture', width: 120,title: '{:__("Manufacture")}' },
//{ field: 'creatorid', title: '{:__("创建者ID")}' },
{ field: 'creator', title: '{:__("创建者")}' },
//{ field: 'departmentid', title: '{:__("部门ID")}' },
{ field: 'departmenttitle', title: '{:__("部门")}' },
{ field: 'status', templet: '#columnStatus', title: '{:__("状态")}' },
{ align: 'center', toolbar: '#tableBar', width: 160, fixed: 'right', title: '{:__("操作")}' },
]]

View File

@@ -126,10 +126,48 @@
<a class="layui-table-text" data-url="{:url('/PdmPartitemView/del')}?id={{d.id}}" lay-event="del">{:__('删除')}</a>
</script>
<script type="text/html" id="tableButton"></script>
<!-- 文件预览模板 -->
<!-- 内部模板的嵌套 {-{ }-} 会有问题-->
<script type="text/html" id="filepreviewtpl">
{{#
if(d.datasheet) {
var fileExt = d.datasheet.split('.').pop().toLowerCase();
var imageExts = ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp'];
if (imageExts.indexOf(fileExt) !== -1) {
}}
<!-- 图片文件显示图片并链接到原文件 -->
<a href="/upload/datasheet/{{d.datasheet}}" target="_blank">
<img class="filesuffix" src="/upload/datasheet/{{d.datasheet}}" alt="Image Preview" style="max-width: 100px; height: auto;" />
</a>
{{#
} else if (fileExt === 'pdf') {
}}
<!-- PDF 文件显示 PDF 图标并链接到 PDF 文件 -->
<a href="/upload/datasheet/{{d.datasheet}}" target="_blank" style="display: flex; align-items: center;">
<i class="layui-icon layui-icon-file" style="font-size: 24px; color: #e64340; margin-right: 5px;"></i>
<span>PDF{{d.datasheet}}</span>
</a>
{{#
} else {
}}
<!-- 其他文件类型显示通用文件图标并链接到文件 -->
<a href="/upload/datasheet/{{d.datasheet}}" target="_blank" style="display: flex; align-items: center;">
<i class="layui-icon layui-icon-file" style="font-size: 24px; color: #1E9FFF; margin-right: 5px;"></i>
<span>Other{{d.datasheet}}</span>
</a>
{{#
}
}
}}
</script>
<include file="/public/footer" />
<script>
layui.use(['admin', 'table'], function () {
@@ -145,24 +183,30 @@
, url: "{:url('/PdmPartitemView/index')}"
, toolbar: '#tableButton'
, defaultToolbar: ['filter', 'exports', 'print', 'search']
, cellMinWidth: 160
, cellMinWidth: 80
, page: true
, limit: 18
, cols: [[
<!-- {type: 'checkbox', width: 50}, -->
{ field: 'id', align: 'center', sort: true, width: 40, fixed: 'left', title: 'ID' },
{ field: 'partnumber', width: 80, fixed: 'left', title: '{:__("PartNumber")}' },
{ field: 'purchasecode', width: 80, title: '{:__("采购编码")}' },
{ field: 'parttype', sort: true,width: 80, title: '{:__("PartType")}' },
{ field: 'value', sort: true,width: 80, title: '{:__("Value")}' },
{ field: 'description', width: 200, title: '{:__("描述")}' },
{ field: 'mpn', sort: true, width: 80, title: '{:__("MPN")}' },
{ field: 'mfgname', sort: true, width: 80, title: '{:__("制造商名称")}' },
{ field: 'symbol', title: '{:__("SymbolName")}' },
{ field: 'footprint', sort: true, title: '{:__("Footprint")}' },
{ field: 'datasheet', title: '{:__("规格书")}' },
{ field: 'usernickname', sort: true, title: '{:__("用户昵称")}' },
{ field: 'department', sort: true, title: '{:__("部门名称")}' },
{ field: 'partnumber', width: 160, fixed: 'left', title: '{:__("PartNumber")}' },
{ field: 'purchasecode', width: 160, title: '{:__("采购编码")}' },
{ field: 'parttype', sort: true,width: 100, title: '{:__("PartType")}' },
{ field: 'value', sort: true,width: 160, title: '{:__("Value")}' },
{ field: 'description', width: 250, title: '{:__("描述")}' },
{ field: 'mpn', sort: true, width: 160, title: '{:__("MPN")}' },
{ field: 'mfgname', sort: true, width: 160, title: '{:__("制造商名称")}' },
{ field: 'symbol', width: 160, title: '{:__("SymbolName")}' },
{ field: 'footprint',width: 160, sort: true, title: '{:__("Footprint")}' },
//{ field: 'datasheet', title: '{:__("规格书")}' },
//{
// field: 'datasheet', templet: function (d) {
// return '<a href="/upload/datasheet/' + d.datasheet + '" target="_blank" ><img class="filesuffix" src="/upload/datasheet/' + d.datasheet + '"></a>';
// }, title: '{:__("规格书")}'
//},
{ field: 'datasheet', width: 160, templet: '#filepreviewtpl', title: '{:__("规格书")}' },
{ field: 'usernickname',width: 120, sort: true, title: '{:__("用户昵称")}' },
{ field: 'department',width: 120, sort: true, title: '{:__("部门名称")}' },
{ align: 'center', toolbar: '#tableBar', width: 160, fixed: 'right', title: '{:__("操作")}' },
]]
})

View File

@@ -44,12 +44,12 @@
<div class="layui-inline layui-hide" id="toolbar">
<!-- // 打开添加页面 -->
<button class="layui-btn icon-btn" lay-open="add" data-title="{:__('添加BOM')}" data-area="600px"
data-url="#editforms" callback="edit">
data-url="#editforms_bom" callback="edit">
<i class="layui-icon layui-icon-add-1"></i>{:__('添加')}
</button>
<!-- // 修改页面 -->
<button class="layui-btn icon-btn" lay-open="edit" data-title="{:__('修改BOM')}" data-area="600px"
data-url="#editforms" callback="edit">
data-url="#editforms_bom" callback="edit">
<i class="layui-icon layui-icon-edit"></i>{:__('修改')}
</button>
<!-- // 删除所有 -->
@@ -67,23 +67,58 @@
</div>
</div>
<div class="layui-col-md8">
<div class="layui-col-md8" >
<!-- // 展示数据 -->
<div class="layui-fluid">
<div class="layui-card">
<!-- // 默认操作按钮 -->
<div class="layui-card-header layadmin-card-header-auto ">
<div class="layui-form">
<!-- // 自定义搜索参数 -->
<div id="laytable-search" class="layui-form-item">
<div class="layui-inline">
<div class="layui-form-label">{:__('Partnumber')}</div>
<div class="layui-input-inline ">
<input name="partnumber" class="layui-input" type="text" placeholder="{:__('Partnumber')}" />
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">{:__('Purchasecode')}</label>
<div class="layui-input-inline ">
<input name="purchasecode" class="layui-input" type="text" placeholder="{:__('Purchasecode')}" />
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">{:__('Value')}</label>
<div class="layui-input-inline ">
<input name="value" class="layui-input" type="text" placeholder="{:__('Value')}" />
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">{:__('MPN')}</label>
<div class="layui-input-inline ">
<input name="mpn" class="layui-input" type="text" placeholder="{:__('MPN')}" />
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">{:__('Reference')}</label>
<div class="layui-input-inline ">
<input name="reference" class="layui-input" type="text" placeholder="{:__('Reference')}" />
</div>
</div>
</div>
<div class="layui-form-item">
<!-- <div class="layui-inline">
<div class="layui-input-inline">
<select name="status">
<option value="">{:__('按状态查询')}</option>
<option value="2" >{:__('正常')}</option>
<option value="1" >{:__('关闭')}</option>
</select>
</div>
</div> -->
<div class="layui-input-inline">
<select name="status">
<option value="">{:__('按状态查询')}</option>
<option value="2" >{:__('正常')}</option>
<option value="1" >{:__('关闭')}</option>
</select>
</div>
</div> -->
<div class="layui-inline">
<div class="layui-input-inline ">
@@ -105,6 +140,12 @@
data-url="{:url('/PdmPartlist/del')}">
<i class="layui-icon layui-icon-delete"></i>{:__('删除')}
</button>
<!-- 自定义导出按钮 -->
<button id="exportExcel" class="layui-btn layui-btn-primary">
<i class="layui-icon layui-icon-export"></i> 导出 Excel
</button>
</div>
</div>
</div>
@@ -116,6 +157,74 @@
</div>
</div>
<!-- // 添加编辑数据 -->
<section id="editforms_bom" class="layui-hide">
<div class="layui-fluid layui-bg-white">
<form class="layui-form layui-form-fixed" lay-filter="editforms_bom">
<input type="text" name="id" hidden="">
<input type="text" class="pid" name="pid" value="{$pid}" hidden="">
<!-- <div class="layui-form-item">
<label class="layui-form-label">{:__('Item')}</label>
<div class="layui-input-block">
<input name="item" placeholder="{:__('请输入item')}" type="text" class="layui-input" lay-verify="" />
</div>
</div> -->
<div class="layui-form-item">
<label class="layui-form-label"><span style="color: red; ">* </span>{:__('BOM编码')}</label>
<div class="layui-input-block">
<input name="partnumber" placeholder="{:__('请输入BOM编码')}" type="text" class="layui-input" lay-verify="required" />
</div>
</div>
<!-- <div class="layui-form-item">
<label class="layui-form-label">{:__('位号')}</label>
<div class="layui-input-block">
<input name="reference" placeholder="{:__('请输入位号')}" class="layui-input" lay-verify="" />
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{:__('用量')}</label>
<div class="layui-input-block">
<input name="quantity" placeholder="{:__('请输入用量')}" class="layui-input" lay-verify="" />
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{:__('单位')}</label>
<div class="layui-input-block">
<input name="unit" placeholder="{:__('请输入单位')}" class="layui-input" lay-verify="" />
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">{:__('排序号')}</label>
<div class="layui-input-block">
<input name="sort" placeholder="{:__('默认自动生成')}" type="number" class="layui-input" />
</div>
</div> -->
<div class="layui-form-item">
<label class="layui-form-label">{:__('BOM备注')}</label>
<div class="layui-input-block">
<textarea name="content" id="content" style="min-height: 80px;" placeholder="{:__('请输入BOM备注')}"
class="layui-textarea"></textarea>
</div>
</div>
<div class="layui-footer layui-form-item layui-center">
<button class="layui-btn layui-btn-primary" type="button"
sa-event="closePageDialog">{:__('取消')}</button>
<button class="layui-btn" lay-add="{:url('/PdmPartlist/add')}" lay-edit="{:url('/PdmPartlist/edit')}"
lay-filter="submitPage" lay-submit>{:__('提交')}</button>
</div>
</form>
</div>
</section>
<!-- // 添加编辑数据 -->
<section id="editforms" class="layui-hide">
<div class="layui-fluid layui-bg-white">
@@ -189,6 +298,13 @@
<a class="layui-table-text" data-url="{:url('/PdmPartlist/del')}?id={{d.id}}" lay-event="del" >{:__('删除')}</a>
</script>
<script type="text/html" id="tableButton"></script>
<!-- 在页面底部(通常在 </body> 标签之前)引入 SheetJS 库 -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.18.5/xlsx.full.min.js"></script>
<include file="/public/footer" />
<script>
layui.use(['admin', 'jquery', 'table', 'form'], function () {
@@ -197,6 +313,7 @@
let $ = layui.jquery;
let table = layui.table;
let form = layui.form;
let count = {$count|default=300};
// 定义表格URL
let tableURL = "{:url('/PdmPartlist/index')}";
@@ -221,7 +338,11 @@
let isTable = table.render({
elem: "#lay-tableList"
, url: tableURL
,toolbar: '#tableButton'
// ,defaultToolbar: ['filter', 'exports', 'print', 'search']
,defaultToolbar: ['filter', 'print', 'search']
, page: true
//, page: false
, limit: 18
, cols: [[
{type: 'checkbox'},
@@ -248,7 +369,7 @@
{ align: 'center', toolbar: '#tableBar', width: 135, fixed:'right', title: '{:__("操作")}' },
]]
})
// 表格选择行事件
table.on('radio(lay-tableGroup)', function (obj) {
let data = table.checkStatus('lay-tableGroup').data;
let ids = [];
@@ -265,10 +386,83 @@
// 获取最后点击
if (obj.checked === true) {
$('#editforms').find('.pid').attr('value', obj.data.id);
$('#editforms_bom').find('.pid').attr('value', obj.data.id);
}
}
});
// 自定义导出按钮点击事件
document.getElementById('exportExcel').addEventListener('click', function () {
// 确认用户希望导出全部数据
layer.confirm('确定导出所有数据到 Excel 吗?', { icon: 3, title: '导出确认' }, function(index){
layer.close(index);
exportAllDataToExcel();
});
});
// 自定义导出功能
function exportAllDataToExcel(){
// 获取当前的过滤条件例如pid
let selectedData = table.checkStatus('lay-tableGroup').data;
let pid = selectedData.length ? selectedData[0].id : 0;
// 异步获取所有数据(不分页)
layer.msg('异步获取所有数据不分页超时限制30s');
$.ajax({
url: tableURL + "?pid=" + pid + "&export=1&limit=" +count ,// 后端需要根据 'export=1' 返回所有数据
// method: 'GET',
type: 'POST',
dataType: 'json',
timeout: 30000,
success: function(res){
if(res.code === 200){
layer.msg('获取数据总数:'+ res.data.length);
let data = res.data;
if(data.length === 0){
layer.msg('没有数据可导出');
return;
}
// 转换数据为 SheetJS 格式
layer.msg('转换数据为 SheetJS 格式');
// let worksheetData = data.map(row => {
let worksheetData = data.map(row => {
return {
'Item': row.item,
'Partnumber': row.partnumber,
'Parttype': row.parttype,
'Purchasecode': row.purchasecode,
'Value': row.value,
'Description': row.description,
'MPN': row.mpn,
'MFG': row.mfgname,
'Footprint': row.footprint,
'Manufacture': row.manufacture,
'Reference': row.reference,
'Quantity': row.quantity,
'Unit': row.unit,
'备注': row.content,
// 添加其他需要导出的字段
};
});
// 创建工作簿和工作表
layer.msg('创建工作簿和工作表');
let worksheet = XLSX.utils.json_to_sheet(worksheetData);
let workbook = XLSX.utils.book_new();
XLSX.utils.book_append_sheet(workbook, worksheet, "BOM数据");
// 生成 Excel 文件并下载,设置自定义文件名
const filename = "BOM_Export_" + new Date().toISOString().slice(0,10) + ".xlsx"; // 自定义文件名
layer.msg('生成 Excel 文件并下载,设置自定义文件名:'+filename);
XLSX.writeFile(workbook, filename);
layer.msg('生成 Excel 文件并下载,文件名:'+filename);
}
},
error: function(res){
layer.msg('数据获取失败,请稍后重试:'+res.msg);
}
});
}
// 全局回调函数
admin.callback.edit = function (clickthis, colletction, config) {
@@ -278,6 +472,7 @@
if (action === 'edit') {
status = false;
form.val('editforms', data[0]);
form.val('editforms_bom', data[0]);
}
form.on("submit(submitPage)", function (post) {

View File

@@ -7,7 +7,7 @@
<div class="layui-form">
<!-- // 自定义搜索参数 -->
<div id="laytable-search" class="layui-form-item">
<div class="layui-inline">
<!-- <div class="layui-inline">
<div class="layui-form-label">{:__('ID')}</div>
<div class="layui-input-inline ">
<input name="id" class="layui-input" type="text" placeholder="{:__('ID')}" />
@@ -26,10 +26,10 @@
<div class="layui-input-inline ">
<input name="sort" class="layui-input" type="text" placeholder="{:__('排序')}" />
</div>
</div>
</div> -->
<div class="layui-inline">
<div class="layui-form-label">{:__('PartType')}</div>
<div class="layui-form-label">{:__('分类简述')}</div>
<div class="layui-input-inline ">
<input name="value" class="layui-input" type="text" placeholder="{:__('PartType')}" />
</div>
@@ -52,7 +52,7 @@
<div class="layui-inline">
<div class="layui-form-label">{:__('创建者')}</div>
<div class="layui-input-inline ">
<input name="creator" class="layui-input" type="text" placeholder="{:__('创建者')}" />
<input name="nickname" class="layui-input" type="text" placeholder="{:__('创建者')}" />
</div>
</div>
@@ -82,13 +82,13 @@
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<!-- <div class="layui-inline">
<select name="status">
<option value="">{:__('按状态查询')}</option>
<option value="2">{:__('正常')}</option>
<option value="1">{:__('关闭')}</option>
</select>
</div>
</div> -->
<div class="layui-inline">
<div class="layui-form-label">{:__('PartType')}</div>
@@ -98,7 +98,7 @@
</div>
<div class="layui-inline">
<!-- // 默认搜索 -->
<button class="layui-btn icon-btn" lay-filter="formSearch" lay-submit><i
<button class="layui-btn icon-btn" lay-filter="treeSearch" lay-submit><i
class="layui-icon layui-icon-search"></i>{:__('搜索')}</button>
<!--formBegin-->
<button class="layui-btn icon-btn" lay-open="" data-title="{:__('添加')}" data-area="1100px,750px"
@@ -128,9 +128,15 @@
<!-- // 列表工具栏 -->
<script type="text/html" id="tableBar">
<!--formBegin-->
{{# if(d.pid ===0) {
}}
<a class="layui-table-text" lay-open data-title="{:__('添加菜单')}" data-url="{:url('/PdmParttype/add')}?pid={{d.id}}"
data-area="1100px,750px">{:__('添加')}</a>
<div class="layui-divider layui-divider-vertical"></div>
{{#
}
}}
<a class="layui-table-text" data-title="{:__('编辑')}" data-area="1100px,750px" data-maxmin="true"
data-url="{:url('/PdmParttype/edit')}?id={{d.id}}" lay-event="edit">{:__('编辑')}</a>
<div class="layui-divider layui-divider-vertical"></div>
@@ -160,8 +166,8 @@
toolbar: '#tableButton',
defaultToolbar: ['filter', 'exports', 'print', 'search'],
cellMinWidth: 160,
page: true,
limit: 18,
//page: true,
//limit: 18,
tree: {
customName: {
pid: 'pid',
@@ -183,7 +189,8 @@
return d.name;
},
},
{ field: 'value', title: '{:__("述")}' },
{ field: 'value', title: '{:__("分类简述")}' },
{ field: 'description', title: '{:__("分类描述")}' },
//{
// field: 'creatorid', title: '{:__("创建者ID")}', templet: function (d) {
// return d.creatorid;
@@ -209,6 +216,12 @@
let whereURL = '',
field = data.field;
for (const key in field) {
if (!field[key]) {
delete field[key];
}
}
for (let key in field) {
whereURL += key + '=' + field[key];
whereURL += '&';

View File

@@ -1,120 +1,158 @@
<include file="/public/header" />
<!-- // 重定位style -->
<!--partmanage-->
<link href="__STATICADMIN__css/content.css" rel="stylesheet" type="text/css" />
<div class="layui-fluid">
<form class="layui-form layui-card" >
<div class="layui-card-body">
<gt name="$data.id" value="0">
<input type="text" name="id" value="{$data.id}" hidden="">
<else/>
<input type="text" name="id" value="" hidden="">
</gt>
<div class="layui-form-item layui-row" ><div class="layui-col-md6 layui-grid-0" data-index="0"><div class="layui-form-item" >
<label class="layui-form-label"><font color="red">* </font>物料编码</label>
<div class="layui-input-block"><input class="layui-input" name="purchasecode" placeholder="请输入" required="1" lay-verify=""value="{$data.purchasecode}" ></div>
</div>
</div><div class="layui-col-md6 layui-grid-1" data-index="1"><div class="layui-form-item" >
<label class="layui-form-label">物料描述</label>
<div class="layui-input-block"><input class="layui-input" name="mpn" placeholder="请输入" lay-verify=""value="{$data.mpn}" ></div>
</div>
</div></div>
<div class="layui-form-item layui-row" ><div class="layui-col-md6 layui-grid-0" data-index="0"><div class="layui-form-item" >
<label class="layui-form-label">优选等级</label>
<div class="layui-input-block"><input class="layui-input" name="preferencelevel" placeholder="请输入" lay-verify=""value="{$data.preferencelevel}" ></div>
</div>
</div><div class="layui-col-md6 layui-grid-1" data-index="1"><div class="layui-form-item" >
<label class="layui-form-label">交期</label>
<div class="layui-input-block"><input class="layui-input" name="ltime" placeholder="请输入" lay-verify="number"value="{$data.ltime}" ></div>
</div>
</div></div>
<div class="layui-form-item" >
<label class="layui-form-label">MOQ</label>
<div class="layui-input-block"><input class="layui-input" name="moq" placeholder="请输入" lay-verify=""value="{$data.moq}" ></div>
</div>
<include file="/public/header" />
<!-- // 重定位style -->
<!--partmanage-->
<link href="__STATICADMIN__css/content.css" rel="stylesheet" type="text/css" />
<div class="layui-fluid">
<form class="layui-form layui-card">
<div class="layui-form-item" >
<label class="layui-form-label">MPQ</label>
<div class="layui-input-block"><input class="layui-input" name="mpq" placeholder="请输入" lay-verify=""value="{$data.mpq}" ></div>
</div>
<div class="layui-card-body">
<gt name="$data.id" value="0">
<input type="text" name="id" value="{$data.id}" hidden="">
<else />
<input type="text" name="id" value="" hidden="">
</gt>
<div class="layui-form-item layui-row">
<div class="layui-col-md6 layui-grid-0" data-index="0">
<div class="layui-form-item">
<label class="layui-form-label">
<font color="red">* </font>物料编码
</label>
<div class="layui-input-block"><input class="layui-input" name="purchasecode" placeholder="请输入"
required="1" lay-verify="" value="{$data.purchasecode}"></div>
</div>
</div>
<div class="layui-col-md6 layui-grid-1" data-index="1">
<div class="layui-form-item">
<label class="layui-form-label">物料描述</label>
<div class="layui-input-block"><input class="layui-input" name="mpn" placeholder="请输入"
lay-verify="" value="{$data.mpn}"></div>
</div>
</div>
</div>
<div class="layui-form-item layui-row">
<div class="layui-col-md6 layui-grid-0" data-index="0">
<div class="layui-form-item">
<label class="layui-form-label">优选等级</label>
<div class="layui-input-block"><input class="layui-input" name="preferencelevel"
placeholder="请输入" lay-verify="" value="{$data.preferencelevel}"></div>
</div>
</div>
<div class="layui-col-md6 layui-grid-1" data-index="1">
<div class="layui-form-item">
<label class="layui-form-label">交期</label>
<div class="layui-input-block"><input class="layui-input" name="ltime" placeholder="请输入"
lay-verify="number" value="{$data.ltime}"></div>
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">MOQ</label>
<div class="layui-input-block"><input class="layui-input" name="moq" placeholder="请输入" lay-verify=""
value="{$data.moq}"></div>
</div>
<div class="layui-form-item" >
<label class="layui-form-label">产地</label>
<div class="layui-input-block"><input class="layui-input" name="origin" placeholder="请输入" lay-verify=""value="{$data.origin}" ></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">MPQ</label>
<div class="layui-input-block"><input class="layui-input" name="mpq" placeholder="请输入" lay-verify=""
value="{$data.mpq}"></div>
</div>
<div class="layui-form-item" >
<label class="layui-form-label">汇天独有</label>
<div class="layui-input-block"> <input type="hidden" type="checkbox" name="specificforht" value="0" />
<input type="checkbox" name="specificforht" value="1" <eq name="$data.specificforht" value="1" > checked </eq> lay-skin="switch" /></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">产地</label>
<div class="layui-input-block"><input class="layui-input" name="origin" placeholder="请输入" lay-verify=""
value="{$data.origin}"></div>
</div>
<div class="layui-form-item" >
<label class="layui-form-label">小鹏共用</label>
<div class="layui-input-block"> <input type="hidden" type="checkbox" name="sharewithxp" value="0" />
<input type="checkbox" name="sharewithxp" value="1" <eq name="$data.sharewithxp" value="1" > checked </eq> lay-skin="switch" /></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">汇天独有</label>
<div class="layui-input-block"> <input type="hidden" type="checkbox" name="specificforht" value="0" />
<input type="checkbox" name="specificforht" value="1" <eq name="$data.specificforht" value="1">
checked </eq> lay-skin="switch" />
</div>
</div>
<div class="layui-form-item" >
<label class="layui-form-label">是否EOL</label>
<div class="layui-input-block"> <input type="hidden" type="checkbox" name="eol" value="0" />
<input type="checkbox" name="eol" value="1" <eq name="$data.eol" value="1" > checked </eq> lay-skin="switch" /></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">小鹏共用</label>
<div class="layui-input-block"> <input type="hidden" type="checkbox" name="sharewithxp" value="0" />
<input type="checkbox" name="sharewithxp" value="1" <eq name="$data.sharewithxp" value="1"> checked
</eq> lay-skin="switch" />
</div>
</div>
<div class="layui-form-item" >
<label class="layui-form-label">是否NRND</label>
<div class="layui-input-block"> <input type="hidden" type="checkbox" name="nrnd" value="0" />
<input type="checkbox" name="nrnd" value="1" <eq name="$data.nrnd" value="1" > checked </eq> lay-skin="switch" /></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">是否EOL</label>
<div class="layui-input-block"> <input type="hidden" type="checkbox" name="eol" value="0" />
<input type="checkbox" name="eol" value="1" <eq name="$data.eol" value="1"> checked </eq>
lay-skin="switch" />
</div>
</div>
<div class="layui-form-item" >
<label class="layui-form-label">是否NCNR</label>
<div class="layui-input-block"> <input type="hidden" type="checkbox" name="ncnr" value="0" />
<input type="checkbox" name="ncnr" value="1" <eq name="$data.ncnr" value="1" > checked </eq> lay-skin="switch" /></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">是否NRND</label>
<div class="layui-input-block"> <input type="hidden" type="checkbox" name="nrnd" value="0" />
<input type="checkbox" name="nrnd" value="1" <eq name="$data.nrnd" value="1"> checked </eq>
lay-skin="switch" />
</div>
</div>
<div class="layui-form-item" >
<label class="layui-form-label">状态</label>
<div class="layui-input-block"> <input type="hidden" type="checkbox" name="status" value="0" />
<input type="checkbox" name="status" value="1" <eq name="$data.status" value="1" > checked </eq> lay-skin="switch" /></div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">是否NCNR</label>
<div class="layui-input-block"> <input type="hidden" type="checkbox" name="ncnr" value="0" />
<input type="checkbox" name="ncnr" value="1" <eq name="$data.ncnr" value="1"> checked </eq>
lay-skin="switch" />
</div>
</div>
<div class="layui-form-item" >
<label class="layui-form-label">物料属性</label>
<div class="layui-input-block"> <table class="layui-table">
<thead>
<tr>
<th>名称</th>
<th>变量值</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<notempty name="data.attribute">
<volist name="data.attribute" id="vo" key="i">
<div class="layui-form-item">
<label class="layui-form-label">状态</label>
<div class="layui-input-block"> <input type="hidden" type="checkbox" name="status" value="0" />
<input type="checkbox" name="status" value="1" <eq name="$data.status" value="1"> checked </eq>
lay-skin="switch" />
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">物料属性</label>
<div class="layui-input-block">
<table class="layui-table">
<thead>
<tr>
<td><input type="text" class="layui-input" name="attribute[key][]" value="{$key}" ></td>
<td><input type="text" class="layui-input" name="attribute[value][]" value="{$vo}"></td>
<td><i class="layui-icon fa-times" data-name="attribute" onclick="layui.admin.resetInput(this);"></i></td>
<th>名称</th>
<th>变量值</th>
<th>操作</th>
</tr>
</volist>
</notempty>
</tbody>
</table>
<button type="button" class="layui-btn layui-btn-normal layui-jsonvar-add" data-name="attribute">追加</button></div>
</div>
</thead>
<tbody>
<notempty name="data.attribute">
<volist name="data.attribute" id="vo" key="i">
<tr>
<td><input type="text" class="layui-input" name="attribute[key][]"
value="{$key}"></td>
<td><input type="text" class="layui-input" name="attribute[value][]"
value="{$vo}"></td>
<td><i class="layui-icon fa-times" data-name="attribute"
onclick="layui.admin.resetInput(this);"></i></td>
</tr>
</volist>
</notempty>
</tbody>
</table>
<button type="button" class="layui-btn layui-btn-normal layui-jsonvar-add"
data-name="attribute">追加</button>
</div>
</div>
<div class="layui-form-item" >
<label class="layui-form-label">注释</label>
<div class="layui-input-block"> <textarea id="content" lay-editor class="layui-hide" name="content" type="layui-textarea" >{$data.content}</textarea></div>
<div class="layui-form-item">
<label class="layui-form-label">注释</label>
<div class="layui-input-block"> <textarea id="content" lay-editor class="layui-hide" name="content"
type="layui-textarea">{$data.content}</textarea></div>
</div>
<div class="layui-footer layui-form-footer">
<button class="layui-btn layui-btn-primary" type="button" sa-event="closeDialog">{:__('取消')}</button>
<button class="layui-btn" type="button" lay-filter="submitIframe" lay-submit>{:__('提交')}</button>
</div>
</form>
</div>
<div class="layui-footer layui-form-footer">
<button class="layui-btn layui-btn-primary" type="button" sa-event="closeDialog">{:__('取消')}</button>
<button class="layui-btn" type="button" lay-filter="submitIframe" lay-submit>{:__('提交')}</button>
</div>
</form>
</div>
<include file="/public/static" />
<include file="/public/static" />
<include file="/public/footer" />

View File

@@ -6,169 +6,175 @@
<div class="layui-card-header layadmin-card-header-auto ">
<div class="layui-form">
<!-- // 自定义搜索参数 -->
<div id="laytable-search" class="layui-form-item" >
<div class="layui-inline">
<div class="layui-form-label">{:__('ID')}</div>
<div class="layui-input-inline ">
<input name="id" class="layui-input" type="text" placeholder="{:__('ID')}"/>
<div id="laytable-search" class="layui-form-item">
<!-- <div class="layui-inline">
<div class="layui-form-label">{:__('ID')}</div>
<div class="layui-input-inline ">
<input name="id" class="layui-input" type="text" placeholder="{:__('ID')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('父ID')}</div>
<div class="layui-input-inline ">
<input name="pid" class="layui-input" type="text" placeholder="{:__('父ID')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('父ID')}</div>
<div class="layui-input-inline ">
<input name="pid" class="layui-input" type="text" placeholder="{:__('父ID')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('排序')}</div>
<div class="layui-input-inline ">
<input name="sort" class="layui-input" type="text" placeholder="{:__('排序')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('排序')}</div>
<div class="layui-input-inline ">
<input name="sort" class="layui-input" type="text" placeholder="{:__('排序')}" />
</div>
</div> -->
<div class="layui-inline">
<div class="layui-form-label">{:__('物料描述')}</div>
<div class="layui-input-inline ">
<input name="mpn" class="layui-input" type="text" placeholder="{:__('物料描述')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('物料描述')}</div>
<div class="layui-input-inline ">
<input name="mpn" class="layui-input" type="text" placeholder="{:__('物料描述')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('优选等级')}</div>
<div class="layui-input-inline ">
<input name="preferencelevel" class="layui-input" type="text" placeholder="{:__('优选等级')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('优选等级')}</div>
<div class="layui-input-inline ">
<input name="preferencelevel" class="layui-input" type="text" placeholder="{:__('优选等级')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('物料属性')}</div>
<div class="layui-input-inline ">
<input name="attribute" class="layui-input" type="text" placeholder="{:__('物料属性')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('物料属性')}</div>
<div class="layui-input-inline ">
<input name="attribute" class="layui-input" type="text" placeholder="{:__('物料属性')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('是否EOL')}</div>
<div class="layui-input-inline ">
<input name="eol" class="layui-input" type="text" placeholder="{:__('是否EOL')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('是否EOL')}</div>
<div class="layui-input-inline ">
<input name="eol" class="layui-input" type="text" placeholder="{:__('是否EOL')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('MOQ')}</div>
<div class="layui-input-inline ">
<input name="moq" class="layui-input" type="text" placeholder="{:__('MOQ')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('MOQ')}</div>
<div class="layui-input-inline ">
<input name="moq" class="layui-input" type="text" placeholder="{:__('MOQ')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('MPQ')}</div>
<div class="layui-input-inline ">
<input name="mpq" class="layui-input" type="text" placeholder="{:__('MPQ')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('MPQ')}</div>
<div class="layui-input-inline ">
<input name="mpq" class="layui-input" type="text" placeholder="{:__('MPQ')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('是否NRND')}</div>
<div class="layui-input-inline ">
<input name="nrnd" class="layui-input" type="text" placeholder="{:__('是否NRND')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('是否NRND')}</div>
<div class="layui-input-inline ">
<input name="nrnd" class="layui-input" type="text" placeholder="{:__('是否NRND')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('是否NCNR')}</div>
<div class="layui-input-inline ">
<input name="ncnr" class="layui-input" type="text" placeholder="{:__('是否NCNR')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('是否NCNR')}</div>
<div class="layui-input-inline ">
<input name="ncnr" class="layui-input" type="text" placeholder="{:__('是否NCNR')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('交期')}</div>
<div class="layui-input-inline ">
<input name="ltime" class="layui-input" type="text" placeholder="{:__('交期')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('交期')}</div>
<div class="layui-input-inline ">
<input name="ltime" class="layui-input" type="text" placeholder="{:__('交期')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('产地')}</div>
<div class="layui-input-inline ">
<input name="origin" class="layui-input" type="text" placeholder="{:__('产地')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('产地')}</div>
<div class="layui-input-inline ">
<input name="origin" class="layui-input" type="text" placeholder="{:__('产地')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('汇天独有')}</div>
<div class="layui-input-inline ">
<input name="specificforht" class="layui-input" type="text" placeholder="{:__('汇天独有')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('汇天独有')}</div>
<div class="layui-input-inline ">
<input name="specificforht" class="layui-input" type="text" placeholder="{:__('汇天独有')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('小鹏共用')}</div>
<div class="layui-input-inline ">
<input name="sharewithxp" class="layui-input" type="text" placeholder="{:__('小鹏共用')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('小鹏共用')}</div>
<div class="layui-input-inline ">
<input name="sharewithxp" class="layui-input" type="text" placeholder="{:__('小鹏共用')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('创建者')}</div>
<div class="layui-input-inline ">
<input name="creatorid" class="layui-input" type="text" placeholder="{:__('创建者')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('创建者')}</div>
<div class="layui-input-inline ">
<input name="creatorid" class="layui-input" type="text" placeholder="{:__('创建者')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('注释')}</div>
<div class="layui-input-inline ">
<input name="content" class="layui-input" type="text" placeholder="{:__('注释')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('注释')}</div>
<div class="layui-input-inline ">
<input name="content" class="layui-input" type="text" placeholder="{:__('注释')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('更新时间')}</div>
<div class="layui-input-inline ">
<input name="update_time" lay-datetime data-range="true" data-type="date"
data-dateformat="yyyy/MM/dd" class="layui-input" type="text"
placeholder="{:__('更新时间')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('更新时间')}</div>
<div class="layui-input-inline ">
<input name="update_time" lay-datetime data-range="true" data-type="date" data-dateformat="yyyy/MM/dd" class="layui-input" type="text" placeholder="{:__('更新时间')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('创建时间')}</div>
<div class="layui-input-inline ">
<input name="create_time" lay-datetime data-range="true" data-type="date"
data-dateformat="yyyy/MM/dd" class="layui-input" type="text"
placeholder="{:__('创建时间')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('创建时间')}</div>
<div class="layui-input-inline ">
<input name="create_time" lay-datetime data-range="true" data-type="date" data-dateformat="yyyy/MM/dd" class="layui-input" type="text" placeholder="{:__('创建时间')}"/>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<select name="status">
<option value="">{:__('按状态查询')}</option>
<option value="2" >{:__('正常')}</option>
<option value="1" >{:__('关闭')}</option>
</select>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('采购编码')}</div>
<div class="layui-input-inline ">
<input name="purchasecode" class="layui-input" type="text" placeholder="{:__('采购编码')}"/>
<div class="layui-inline">
<select name="status">
<option value="">{:__('按状态查询')}</option>
<option value="2">{:__('正常')}</option>
<option value="1">{:__('关闭')}</option>
</select>
</div>
</div>
<div class="layui-inline" >
<div class="layui-inline">
<div class="layui-form-label">{:__('采购编码')}</div>
<div class="layui-input-inline ">
<input name="purchasecode" class="layui-input" type="text" placeholder="{:__('采购编码')}" />
</div>
</div>
<div class="layui-inline">
<!-- // 默认搜索 -->
<button class="layui-btn icon-btn" lay-filter="formSearch" lay-submit><i class="layui-icon layui-icon-search"></i>{:__('搜索')}</button>
<button class="layui-btn icon-btn" lay-filter="formSearch" lay-submit><i
class="layui-icon layui-icon-search"></i>{:__('搜索')}</button>
<!--formBegin-->
<button class="layui-btn icon-btn" lay-open="" data-title="{:__('添加')}" data-area="1000px,750px" data-maxmin="true" data-url="{:url('/PdmPurchasecode/add')}" >
<button class="layui-btn icon-btn" lay-open="" data-title="{:__('添加')}" data-area="1000px,750px"
data-maxmin="true" data-url="{:url('/PdmPurchasecode/add')}">
<i class="layui-icon layui-icon-add-1"></i>{:__('添加')}
</button>
<!--formEnd-->
</div>
</div>
</div>
</div>
</div>
<!-- // 创建数据实例 -->
<table id="lay-tableList" lay-filter="lay-tableList"></table>
<table id="lay-tableList" lay-filter="lay-tableList"></table>
</div>
</div>
@@ -176,15 +182,15 @@
<script type="text/html" id="columnStatus">
<input type="checkbox" lay-filter="switchStatus" data-url="{:url('/PdmPurchasecode/status')}" value="{{d.id}}" lay-skin="switch" {{d.status==1?'checked':''}} />
</script>
<!-- // 列表工具栏 -->
<script type="text/html" id="tableBar">
<!--formBegin-->
<a class="layui-table-text" data-title="{:__('编辑')}" data-area="1000px,750px" data-maxmin="true"
data-url="{:url('/PdmPurchasecode/edit')}?id={{d.id}}" lay-event="edit" >{:__('编辑')}</a>
<div class="layui-divider layui-divider-vertical"></div>
<!--formEnd-->
<a class="layui-table-text" data-url="{:url('/PdmPurchasecode/del')}?id={{d.id}}" lay-event="del" >{:__('删除')}</a>
<a class="layui-table-text" data-title="{:__('编辑')}" data-area="1000px,750px" data-maxmin="true"
data-url="{:url('/PdmPurchasecode/edit')}?id={{d.id}}" lay-event="edit">{:__('编辑')}</a>
<div class="layui-divider layui-divider-vertical"></div>
<!--formEnd-->
<a class="layui-table-text" data-url="{:url('/PdmPurchasecode/del')}?id={{d.id}}" lay-event="del">{:__('删除')}</a>
</script>
@@ -193,7 +199,7 @@
<include file="/public/footer" />
<script>
layui.use(['admin','table'], function () {
layui.use(['admin', 'table'], function () {
var admin = layui.admin;
var table = layui.table;
@@ -203,26 +209,26 @@
*/
var isTable = table.render({
elem: "#lay-tableList"
,url: "{:url('/PdmPurchasecode/index')}"
,toolbar: '#tableButton'
,defaultToolbar: ['filter', 'exports', 'print','search']
,cellMinWidth: 160
,page: true
,limit: 18
,cols: [[
{type: 'checkbox', width: 50},
{field: 'id', align: 'center',sort: true,width: 80, title: 'ID'},
{field:'purchasecode',title:'{:__("采购编码")}'},
{field:'mpn',title:'{:__("物料描述")}'},
{field:'preferencelevel',title:'{:__("优选等级")}'},
{field:'eol',title:'{:__("是否EOL")}'},
{field:'moq',title:'{:__("MOQ")}'},
{field:'mpq',title:'{:__("MPQ")}'},
{field:'ltime',title:'{:__("交期")}'},
{field:'status',templet: '#columnStatus',title:'{:__("状态")}'},
{align: 'center', toolbar: '#tableBar', width:160, fixed: 'right', title: '{:__("操作")}'},
, url: "{:url('/PdmPurchasecode/index')}"
, toolbar: '#tableButton'
, defaultToolbar: ['filter', 'exports', 'print', 'search']
, cellMinWidth: 80
, page: true
, limit: 18
, cols: [[
{ type: 'checkbox', width: 50 },
{ field: 'id', align: 'center', sort: true, width: 80, title: 'ID' },
{ field: 'purchasecode', width: 200,title: '{:__("采购编码")}' },
{ field: 'mpn',width: 250, title: '{:__("物料描述")}' },
{ field: 'preferencelevel', title: '{:__("优选等级")}' },
{ field: 'eol', title: '{:__("是否EOL")}' },
{ field: 'moq', title: '{:__("MOQ")}' },
{ field: 'mpq', title: '{:__("MPQ")}' },
{ field: 'ltime', title: '{:__("交期")}' },
{ field: 'status', templet: '#columnStatus', title: '{:__("状态")}' },
{ align: 'center', toolbar: '#tableBar', width: 160, fixed: 'right', title: '{:__("操作")}' },
]]
})
})
</script>
</script>

View File

@@ -6,105 +6,111 @@
<div class="layui-card-header layadmin-card-header-auto ">
<div class="layui-form">
<!-- // 自定义搜索参数 -->
<div id="laytable-search" class="layui-form-item" >
<div class="layui-inline">
<div class="layui-form-label">{:__('ID')}</div>
<div class="layui-input-inline ">
<input name="id" class="layui-input" type="text" placeholder="{:__('ID')}"/>
<div id="laytable-search" class="layui-form-item">
<!-- <div class="layui-inline">
<div class="layui-form-label">{:__('ID')}</div>
<div class="layui-input-inline ">
<input name="id" class="layui-input" type="text" placeholder="{:__('ID')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('父ID')}</div>
<div class="layui-input-inline ">
<input name="pid" class="layui-input" type="text" placeholder="{:__('父ID')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('父ID')}</div>
<div class="layui-input-inline ">
<input name="pid" class="layui-input" type="text" placeholder="{:__('父ID')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('排序')}</div>
<div class="layui-input-inline ">
<input name="sort" class="layui-input" type="text" placeholder="{:__('排序')}"/>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('排序')}</div>
<div class="layui-input-inline ">
<input name="sort" class="layui-input" type="text" placeholder="{:__('排序')}" />
</div>
</div> -->
<div class="layui-inline">
<div class="layui-form-label">{:__('SymbolView')}</div>
<div class="layui-input-inline ">
<input name="view" class="layui-input" type="text" placeholder="{:__('SymbolView')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('SymbolView')}</div>
<div class="layui-input-inline ">
<input name="view" class="layui-input" type="text" placeholder="{:__('SymbolView')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('Symbol文件')}</div>
<div class="layui-input-inline ">
<input name="attachment" class="layui-input" type="text" placeholder="{:__('Symbol文件')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('Symbol文件')}</div>
<div class="layui-input-inline ">
<input name="attachment" class="layui-input" type="text" placeholder="{:__('Symbol文件')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('创建者')}</div>
<div class="layui-input-inline ">
<input name="creator" class="layui-input" type="text" placeholder="{:__('创建者')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('创建者')}</div>
<div class="layui-input-inline ">
<input name="nickname" class="layui-input" type="text" placeholder="{:__('创建者')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('注释')}</div>
<div class="layui-input-inline ">
<input name="content" class="layui-input" type="text" placeholder="{:__('注释')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('注释')}</div>
<div class="layui-input-inline ">
<input name="content" class="layui-input" type="text" placeholder="{:__('注释')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('更新时间')}</div>
<div class="layui-input-inline ">
<input name="update_time" lay-datetime data-range="true" data-type="date" data-dateformat="yyyy/MM/dd" class="layui-input" type="text" placeholder="{:__('更新时间')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('更新时间')}</div>
<div class="layui-input-inline ">
<input name="update_time" lay-datetime data-range="true" data-type="date"
data-dateformat="yyyy/MM/dd" class="layui-input" type="text"
placeholder="{:__('更新时间')}" />
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('创建时间')}</div>
<div class="layui-input-inline ">
<input name="create_time" lay-datetime data-range="true" data-type="date" data-dateformat="yyyy/MM/dd" class="layui-input" type="text" placeholder="{:__('创建时间')}"/>
<div class="layui-inline">
<div class="layui-form-label">{:__('创建时间')}</div>
<div class="layui-input-inline ">
<input name="create_time" lay-datetime data-range="true" data-type="date"
data-dateformat="yyyy/MM/dd" class="layui-input" type="text"
placeholder="{:__('创建时间')}" />
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<select name="status">
<option value="">{:__('按状态查询')}</option>
<option value="2" >{:__('正常')}</option>
<option value="1" >{:__('关闭')}</option>
</select>
</div>
<div class="layui-inline">
<div class="layui-form-label">{:__('SymbolName')}</div>
<div class="layui-input-inline ">
<input name="symbolname" class="layui-input" type="text" placeholder="{:__('SymbolName')}"/>
<div class="layui-inline">
<select name="status">
<option value="">{:__('按状态查询')}</option>
<option value="2">{:__('正常')}</option>
<option value="1">{:__('关闭')}</option>
</select>
</div>
</div>
<div class="layui-inline" >
<div class="layui-inline">
<div class="layui-form-label">{:__('SymbolName')}</div>
<div class="layui-input-inline ">
<input name="symbolname" class="layui-input" type="text" placeholder="{:__('SymbolName')}" />
</div>
</div>
<div class="layui-inline">
<!-- // 默认搜索 -->
<button class="layui-btn icon-btn" lay-filter="formSearch" lay-submit><i class="layui-icon layui-icon-search"></i>{:__('搜索')}</button>
<button class="layui-btn icon-btn" lay-filter="treeSearch" lay-submit><i
class="layui-icon layui-icon-search"></i>{:__('搜索')}</button>
<!--formBegin-->
<button class="layui-btn icon-btn" lay-open="" data-title="{:__('添加')}" data-area="1100px,750px" data-maxmin="true" data-url="{:url('/PdmSymbol/add')}" >
<button class="layui-btn icon-btn" lay-open="" data-title="{:__('添加')}" data-area="1100px,650px"
data-maxmin="true" data-url="{:url('/PdmSymbol/add')}">
<i class="layui-icon layui-icon-add-1"></i>{:__('添加')}
</button>
<button class="layui-btn layui-btn-primary icon-btn" id="expandAll"><i
class="layui-icon layui-icon-templeate-1"></i>{:__('展开全部')}</button>
class="layui-icon layui-icon-templeate-1"></i>{:__('展开全部')}</button>
<button class="layui-btn layui-btn-danger icon-btn" id="foldAll"><i
class="layui-icon layui-icon-add-1"></i>{:__('折叠全部')}</button>
<!--formEnd-->
</div>
</div>
</div>
</div>
</div>
<!-- // 创建数据实例 -->
<table id="lay-tableList" lay-filter="lay-tableList"></table>
<table id="lay-tableList" lay-filter="lay-tableList"></table>
</div>
</div>
@@ -112,18 +118,24 @@
<script type="text/html" id="columnStatus">
<input type="checkbox" lay-filter="switchStatus" data-url="{:url('/PdmSymbol/status')}" value="{{d.id}}" lay-skin="switch" {{d.status==1?'checked':''}} />
</script>
<!-- // 列表工具栏 -->
<script type="text/html" id="tableBar">
<!--formBegin-->
{{# if(d.pid ===0) {
}}
<a class="layui-table-text" lay-open data-title="{:__('添加菜单')}" data-url="{:url('/PdmFootprint/add')}?pid={{d.id}}"
data-area="1100px,750px">{:__('添加')}</a>
data-area="1100px,650px">{:__('添加')}</a>
<div class="layui-divider layui-divider-vertical"></div>
<a class="layui-table-text" data-title="{:__('编辑')}" data-area="1100px,750px" data-maxmin="true"
data-url="{:url('/PdmSymbol/edit')}?id={{d.id}}" lay-event="edit" >{:__('编辑')}</a>
{{#
}
}}
<a class="layui-table-text" data-title="{:__('编辑')}" data-area="1100px,650px" data-maxmin="true"
data-url="{:url('/PdmSymbol/edit')}?id={{d.id}}" lay-event="edit">{:__('编辑')}</a>
<div class="layui-divider layui-divider-vertical"></div>
<!--formEnd-->
<a class="layui-table-text" data-url="{:url('/PdmSymbol/del')}?id={{d.id}}" lay-event="del" >{:__('删除')}</a>
<a class="layui-table-text" data-url="{:url('/PdmSymbol/del')}?id={{d.id}}" lay-event="del">{:__('删除')}</a>
</script>
@@ -149,9 +161,10 @@
url: tableURL,
toolbar: '#tableButton',
defaultToolbar: ['filter', 'exports', 'print', 'search'],
cellMinWidth: 160,
page: true,
limit: 18,
//defaultToolbar: ['filter', 'exports', 'print'],
cellMinWidth: 80,
//page: true,
//limit: 18,
tree: {
customName: {
pid: 'pid',
@@ -182,10 +195,10 @@
field: 'attachment', templet: function (d) {
return '<a href="' + d.attachment + '" target="_blank" ><img class="filesuffix" src="' + d.attachment + '"></a>';
}, title: '{:__("Symbol文件")}'
},
{ field: 'nickname', title: '{:__("创建者")}' },
{field:'content',title:'{:__("注释")}'},
},
{ field: 'nickname', title: '{:__("创建者")}' },
{ field: 'content', title: '{:__("注释")}' },
{ field: 'status', templet: '#columnStatus', title: '{:__("状态")}' },
{ align: 'center', toolbar: '#tableBar', width: 220, fixed: 'right', title: '{:__("操作")}' },
]]
@@ -197,6 +210,11 @@
let whereURL = '',
field = data.field;
for (const key in field) {
if (!field[key]) {
delete field[key];
}
}
for (let key in field) {
whereURL += key + '=' + field[key];
whereURL += '&';
@@ -223,6 +241,4 @@
});
</script>
</script>