Chemex部署教程(五)高级定制Chemex界面及功能

Chemex部署教程(五)高级定制Chemex界面及功能(系列篇)

修改设备二维码

说明:系统自带的二维码扫描后,显示的内容是【资产类别(设备):资产编号】,我们可以根据需要,修改二维码内容,比如我想修改为扫描二维码,即可查看当前资产信息,也就是单机该设备所在行的显示按钮,如:http://172.16.21.224/device/records/1 ,所跳转的页面,既然我们知道了跳转的路径,那么我们就很好实现了。 原网站效果图: 修改文件位置:\app\Admin\Controllers\DeviceRecordController.php  源文件代码:
            $grid->column('asset_number_qrcode', '', $sort_columns)->qrcode(function () {
                return 'device:' . $this->asset_number;
            });
修改后文件代码:
            $grid->column('asset_number_qrcode', '', $sort_columns)->qrcode(function () {
                return "http://172.16.21.224/device/records/$this->id";
            });
            /**
             * 其中,172.16.21.224是你自己的Chemex的网站地址,写IP地址或者域名,都可以。
             * 
            */
修改后网站效果图:(虽然还是二维码,但是可以很明显的看出来,和刚才的二维码不一样) 注意事项:这样,我们就实现了扫码直接打开设备的信息了,同理,配件、软件、耗材、服务都可以通过这种形式去修改。

录入时,屏蔽个别字段

说明:系统默认在录入时有若干内置字段,虽然可以新增字段来补充,但是却不能删除内置字段,增加了录入的工作量。所以我们可以在新增界面,来通过代码屏蔽掉我们不需要的字段,减少我们的工作量。 原网站效果图: 修改文件位置:\app\Admin\Controllers\DeviceRecordController.php  源文件代码:
        return Form::make(new DeviceRecord(), function (Form $form) {
            $form->row(function (\Dcat\Admin\Form\Row $row) use ($form) {
                $row->width(6)->text('name')->required();
                if ($form->isCreating() || empty($form->model()->asset_number)) {
                    $row->text('asset_number')->required();
                } else {
                    $row->display('asset_number')->required();
                }

                $row->width(6)
                    ->select('category_id')
                    ->options(DeviceCategory::pluck('name', 'id'))
                    ->required();
                $row->width(6)
                    ->select('vendor_id')
                    ->options(VendorRecord::pluck('name', 'id'))
                    ->required();
                $row->width(6)
                    ->text('mac');
                $row->width(6)
                    ->text('ip');
                $row->width(6)
                    ->currency('price');
                $row->width(6)
                    ->select('depreciation_rule_id')
                    ->options(DepreciationRule::pluck('name', 'id'))
                    ->help(admin_trans_label('Depreciation Rule Help'));
                $row->width(6)
                    ->date('purchased');
                $row->width(6)
                    ->date('expired')
                    ->attribute('autocomplete', 'off');

                $row->width(6)
                    ->text('description');
                $row->width()
                    ->image('photo')
                    ->autoUpload()
                    ->uniqueName()
                    ->help(admin_trans_label('Photo Help'));
修改后文件代码: 上边的代码中, $row->width(6) ->text('mac'); 是录入mac的文本框, $row->width(6) ->text('ip'); 是录入ip的文本框,我们可以根据实际情况,进行修改,把不需要的字段屏蔽掉即可。屏蔽的方式就是把代码注释掉,在段落前加入/**,在段落后加入*/即可。
                /**我这里屏蔽了MAC、IP、价格三个
                $row->width(6)
                    ->text('mac');
                $row->width(6)
                    ->text('ip');
                $row->width(6)
                    ->currency('price');
                */
修改后网站效果图:和上图对比,已经没有了IP和mac输入框了。 注意事项:建议修改前备份源文件,同时不要删除源代码,只是给源代码注释掉,这样便于恢复。

修改设备打印标签页面

说明:默认打印标签显示的【固定资产标签】、【名称】、【编号】、【人员】、【二维码】,我们可以根据自己的需要修改标签内容,比如修改标签头、二维码显示资产编号,这样便于我们盘点。 原网站效果图:
  • 【修改标签标题】
  1. 修改文件位置:resources/views/device/print_tag.blade.php 
  2. 源文件代码图:
  3. 修改内容代码图:
  • 【修改标签字体和颜色】
  1. 将【font-weight: bold;】改为【font-weight: 600;】
  2. 将所有的【bgcolor="#23b14d"】改为【bgcolor="#fff"】,一共3处。
  3. 将所有的【class="STYLE4"】改为【class="STYLE4" style="color: #000;"】,一共3处,注意"STYLE4" style之间有空格。
修改后网站效果图:

修改资产编号为系统自动生成

在新增设备的时候,手动录入资产编号,会有乱、短的情况出现,所以我想让他根据我自定义的前缀+当前ID+1作为资产编号,于是,就有了下面的内容。 原网站效果图: 修改文件位置:
/app/Admin/Controllers/DeviceRecordController.php
源文件代码:    
    protected function form(): Form
    {
        return Form::make(new DeviceRecord(), function (Form $form) {
            $form->row(function (\Dcat\Admin\Form\Row $row) use ($form) {
                $row->width(6)->text('name')->required();
                if ($form->isCreating() || empty($form->model()->asset_number)) {
                    $row->text('asset_number')->required();
                } else {
                    $row->display('asset_number')->required();
                }
源文件代码图示:   修改文件代码:
    protected function form(): Form
    {
      
        
        return Form::make(new DeviceRecord(), function (Form $form) {
            $form->row(function (\Dcat\Admin\Form\Row $row) use ($form) {
                $row->width(6)->text('name')->required();
                if ($form->isCreating() || empty($form->model()->asset_number)) {
                    
                    $next_maxid=\App\Models\DeviceRecord::count('id');                                #【数据库记录条数用count,数据库最大ID用max】
                    $next_maxid=$next_maxid+1;                                                      #【下一条记录ID+1】
                    $next_maxid_str=(string)$next_maxid;                                            #【转成字符串】
                    $next_asset_number="默认前缀".str_pad($next_maxid_str, 7, "0", STR_PAD_LEFT);  #【和固定格式拼接】
                    #str_pad 从字符串左边,填充指定字符串“0”,为指定长度“7”
                     $row->text('asset_number') #【新增资产时,资产编号文本框】
                    ->value($next_asset_number) #【默认值改成拼接好的】
                    ->readonly() #【资产编号文本框只读】
                    ->help("资产编号已自动生成,请核对后提交") #【加个提示信息】
                    ->required();
                    /**
                    $row->text('asset_number')->required();
                    */
                    
                } else {
                    $row->display('asset_number')->required();
                }
修改文件代码图示:   修改后网站效果图: 注意:修改前建议备份源文件,便于恢复,按照这种思路,可以去修改其他你想要显示的字段~   

此博客中的热门博文

CentOS+宝塔部署seafile教程

onlyoffice添加中文字体和字号

为签到平台添加获取 Cookie 功能 GetCookies