Implementierung von Abteilungsleitungsfunktionen

WJ
Freigeben: 2020-06-10 09:39:20
nach vorne
3454 Leute haben es durchsucht

Implementierung von Abteilungsleitungsfunktionen

[1] Anzeige der Abteilungsliste

Analyse:

①控制器DeptController.class.php
②方法showList(不要使用list方法,因为list是关键词)
③模板文件:showList.html
Nach dem Login kopieren

Das Folgende wird Schritt für Schritt geschrieben

①Erstellen Sie die Methode showList um die Vorlage anzuzeigen

class DeptController extends Controller{
        public function showList(){
            $this->display();
        }
}
Nach dem Login kopieren

②Kopieren Sie die Vorlagendatei showList.html nach View/Dept (da der Controller Dept und die Methode showList ist, muss also eine Eins-zu-Eins-Entsprechung vorliegen)

③Ändern Sie den statischen Ressourcenpfad

④Ändern Sie die showList-Methode, um Abteilungsdaten abzurufen. Und an die Vorlage übergeben

public function showList(){
            $model = M('dept');//模型实例化
            $data = $model->order('sort asc')->select();//条件查询,升序排列
            $this->assign('data',$data);//变量分配传递到模板
            $this->display();
        }
Nach dem Login kopieren

⑤Template durchläuft die gelesenen Daten

<table border="1" cellspacing="0">
    <tr>
        <td>id</td><td>部门</td><td>所属部门</td><td>排序</td><td>备注</td><td>编辑数据</td><td>删除数据</td>
    </tr>
    <volist name=&#39;data&#39; id=&#39;vol&#39;>
        <tr>
            <td class="num">{$vol.id}</td>
            <td class="name">{$vol.name}</td>
            <td class="procress">
                <if condition="$vol.pid == 0">
                    顶级部门                <else/>
                    二级部门                </if>
            </td>
            <td class="node">{$vol.sort}</td>
            <td class="time">{$vol.remark}</td>
            <td><a href="javascript:;">编辑</a></td>
            <td><a href="javascript:;">删除</a></td>
        </tr>
    </volist></table>
Nach dem Login kopieren

注意:1. 模板的if判断,必须加空格

<if condition="$vol.pid == 0">顶级部门</if><br/>

2.<else />加/

[2] Abteilungsredakteur

Analyse:

Controller: DeptController.class.php

Methode: Bearbeiten (Vorlage anzeigen) Verarbeitungsübermittlung )

Vorlage: edit.html

Schreiben Sie den Code Schritt für Schritt

(1) Schreiben Sie die Bearbeitungsmethode, um die Vorlagenanzeige zu realisieren

public function edit(){
//展示模板
 $this->display();
}
Nach dem Login kopieren

(2) Schaltfläche „Bearbeiten“ ändern, beim Springen zur Seite die ID mitbringen

<td><a href="__CONTROLLER__/edit/id/{$vol.id}">编辑</a></td>
Nach dem Login kopieren

(3) Kopieren Sie die Vorlagendatei edit.html an den angegebenen Speicherort, Admin/View/Dept/edit.html; ändern Sie den statischen Ressourcenpfad

( 4) Ändern Sie die Bearbeitungsmethode, zeigen Sie die Originaldaten an

id:<input type="text" name="id" readonly="readonly" value="{$data.id}"><br/>部门:<input type="text" name="name" value="{$data.name}"><br/>所属部门:<select>
    <option value="0">顶级部门</option>
    <volist name="info" id="vol">
        <option value="{$vol.id}">{$vol.name}</option>
    </volist></select><br/>排序:<input type="text" name="sort" value="{$data.sort}"><br/>备注:<input type="text" name="id" value="{$data.remark}"><br/>
Nach dem Login kopieren

(5) Verarbeiten Sie die Formularübermittlungsseite

Verstecktes Feld: Aufgrund von Systemeinschränkungen kann keine Stapeländerung durchgeführt werden, daher der Primärschlüssel muss beim Ändern angegeben werden. Daher muss ein verstecktes Feld hinzugefügt werden, um die ID

<form action="" method="post">
    id:<input type="hidden" name="id" value="{$data.id}"><br/>
    <!-- 或者$Think.get.id -->
    部门:<input type="text" name="name" value="{$data.name}"><br/>
    所属部门:    <select name="pid">
        <option value="0">顶级部门</option>
        <volist name="info" id="vol">
            <option value="{$vol.id}">{$vol.name}</option>
        </volist>
    </select><br/>
    排序:<input type="text" name="sort" value="{$data.sort}"><br/>
    备注:<input type="text" name="remark" value="{$data.remark}"><br/>
    <button>提交</button></form>
Nach dem Login kopieren

jquery-Übermittlung zu übergeben:

<script type="text/javascript">
    $(document).ready(function(){
        $(&#39;button&#39;).on(&#39;click&#39;,function(){
            $(&#39;form&#39;).submit();//提交表单        })
    })</script>
Nach dem Login kopieren

(6) Speichern von Daten, Ändern des Codes der Bearbeitungsmethode

public function edit(){//展示模板或者post请求            if (IS_POST){                $post = I(&#39;post.&#39;);                // dump($post);die;                $model = M(&#39;dept&#39;);                //保存操作                $result = $model->save($post);                if ($result !== false) {                    $this->success(&#39;修改成功&#39;,U(&#39;showList&#39;),3);                }else{                    $this->error(&#39;修改失败&#39;);                }            }else{                //接收id                $id=I(&#39;get.id&#39;);                //实例化模型                $model = M(&#39;dept&#39;);                //查询指定记录                $data = $model->find($id);                // 查询全部的部门信息(不包含当前级),同于下拉。因为包含自己所在级别会在递归时陷入死循环?                $info = $model->where(&#39;id != &#39;.$id)->select();                //变量分配                $this->assign(&#39;data&#39;,$data);                $this->assign(&#39;info&#39;,$info);                //展示模板                $this->display();            }        }
Nach dem Login kopieren

[3] Abteilungslöschung

Analyse

Controller:DeptController.class.php

Methode: del

Vorlage: Zum Löschen ist keine Vorlagendatei erforderlich, da zum Löschen keine Vorlagedatei erforderlich ist ist ein Datenverarbeitungsprozess. Identisch mit Abmelden

Hinweis: Es gibt Einzellöschungen und Stapellöschungen. Die Bearbeitung kann nur einzeln erfolgen, nicht in Stapeln.

(1) Ändern Sie die Vorlage und fügen Sie das Kontrollkästchen hinzu

>
        
            <td><a href="__CONTROLLER__/edit/id/{$vol.id}">编辑</a></td>
            
id部门 所属部门排序备注编辑数据删除
{$vol.id} {$vol.name} 顶级部门 二级部门 {$vol.sort} {$vol.remark}
Nach dem Login kopieren

(2) Klicken Sie auf die Schaltfläche „Löschen“, um zu löschen.

①Klicken Sie auf „Löschen“, um den Wert des Kontrollkästchens abzurufen ( jquery erreichen). Gehen Sie dann zur PHP-Löschmethode

<script type="text/javascript">
    $(document).ready(function(){
        $(&#39;.del&#39;).on(&#39;click&#39;,function(){
            var id = &#39;&#39;;
            $.each($(&#39;input:checkbox:checked&#39;),function(){
                id += $(this).val()+&#39;,&#39;;
            });            // 去掉最后的,通过截取字符串获取
            id = id.substring(0,id.length-1);            //带着参数跳转到del方法
            window.location.href = &#39;__CONTROLLER__/del/id/&#39;+id;//删除方法和展示方法的控制器是同级,所以用模板常量__CONTROLLER__        })
    })</script>
Nach dem Login kopieren

②Schreiben Sie die Del-Methode, um das Löschen zu erreichen

// Echtes Löschen --- Stapel- und Einzellöschung
Alle Verwaltungsfunktionen.

Verwandte Referenzen:

Thinkphp-Tutorial

Das obige ist der detaillierte Inhalt vonImplementierung von Abteilungsleitungsfunktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:51dev.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage