diff --git a/admin/src/router.js b/admin/src/router.js
index 50ca1ad5e9bab287721f65ffee4a70eeba9be9d3..eb27d84e266095f3cad5f298e013adde4fcf008d 100644
--- a/admin/src/router.js
+++ b/admin/src/router.js
@@ -41,7 +41,9 @@ const router = new Router({
         ...restBuilder("task", "system/task"), // 绯荤粺绠$悊--浠诲姟绠$悊
 
         ...restBuilder("ph/queue", "ph/queue"), //鎺掑彿
+        ...restBuilder("ph/queue/stat", "ph/queue/stat"), //鎺掑彿
         ...restBuilder("pj/evaluate", "pj/evaluate"), //璇勪环
+        ...restBuilder("pj/evaluate/stat", "pj/evaluate/stat"), //璇勪环
 
         //浠ヤ笅涓哄熀纭€璺敱閰嶇疆
         builder("", "Home"),
diff --git a/admin/src/views/ph/queue/drawershow.vue b/admin/src/views/ph/queue/drawershow.vue
index 53671c26fae4eb6ad84f73be80e54a5ae0b92cce..3ad143d4a35ec262729a16e31b0d9fcc106e2b3f 100644
--- a/admin/src/views/ph/queue/drawershow.vue
+++ b/admin/src/views/ph/queue/drawershow.vue
@@ -13,7 +13,7 @@
                             <Field label="涓氬姟鍚�" prop="business" v-model="form.business" placeholder="璇疯緭鍏ヤ笟鍔″悕"/>
                             <Field label="绐楀彛鍚�" prop="windowName" v-model="form.windowName" placeholder="璇疯緭鍏ョ獥鍙e悕"/>
                             <Field label="绐楀彛缂栧彿" prop="windowFromnum" v-model="form.windowFromnum" placeholder="璇疯緭鍏ョ獥鍙g紪鍙�"/>
-                            <Field label="娴佹按缂栧彿,褰撳ぉ鐨勭xxx鍙�" prop="flownum" v-model="form.flownum" placeholder="璇疯緭鍏ユ祦姘寸紪鍙�,褰撳ぉ鐨勭xxx鍙�"/>
+                            <Field label="娴佹按缂栧彿" prop="flownum" v-model="form.flownum" placeholder="璇疯緭鍏ユ祦姘寸紪鍙�,褰撳ぉ鐨勭xxx鍙�"/>
                             <Field label="鍛煎彨杞Щ鍙�" prop="formernum" v-model="form.formernum" placeholder="璇疯緭鍏ュ懠鍙浆绉诲彿"/>
                             <Field label="韬唤璇佸彿" prop="peopleIdcard" v-model="form.peopleIdcard" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�"/>
                             <Field label="濮撳悕" prop="peopleName" v-model="form.peopleName" placeholder="璇疯緭鍏ュ鍚�"/>
@@ -21,11 +21,11 @@
                             <Field label="鎵嬫満鍙�" prop="peoplePhone" v-model="form.peoplePhone" placeholder="璇疯緭鍏ユ墜鏈哄彿"/>
                             <Field label="宸ヤ綔浜哄憳濮撳悕" prop="workmanName" v-model="form.workmanName" placeholder="璇疯緭鍏ュ伐浣滀汉鍛樺鍚�"/>
                             <Field label="宸ヤ綔浜哄憳宸ュ彿" prop="workmanNumber" v-model="form.workmanNumber" placeholder="璇疯緭鍏ュ伐浣滀汉鍛樺伐鍙�"/>
-                            <Field label="鍙栧彿鏃堕棿" prop="taketime" v-model="form.taketime" type="date" />
-                            <Field label="鍙彿鏃堕棿" prop="calltime" v-model="form.calltime" type="date" />
-                            <Field label="缁撴潫鏃堕棿" prop="endtime" v-model="form.endtime" type="date" />
-                            <Field label="绛夊緟鏃堕棿,鍗曚綅s" prop="waitTime" v-model="form.waitTime" placeholder="璇疯緭鍏ョ瓑寰呮椂闂�,鍗曚綅s"/>
-                            <Field label="鍔炵悊鏃堕棿,鍗曚綅s" prop="handleTime" v-model="form.handleTime" placeholder="璇疯緭鍏ュ姙鐞嗘椂闂�,鍗曚綅s"/>
+                            <Field label="鍙栧彿鏃堕棿" prop="taketime" v-model="form.taketime" type="datetime" />
+                            <Field label="鍙彿鏃堕棿" prop="calltime" v-model="form.calltime" type="datetime" />
+                            <Field label="缁撴潫鏃堕棿" prop="endtime" v-model="form.endtime" type="datetime" />
+                            <Field label="绛夊緟鏃堕棿" prop="waitTime" v-model="form.waitTime" placeholder="璇疯緭鍏ョ瓑寰呮椂闂�,鍗曚綅s"/>
+                            <Field label="鍔炵悊鏃堕棿" prop="handleTime" v-model="form.handleTime" placeholder="璇疯緭鍏ュ姙鐞嗘椂闂�,鍗曚綅s"/>
                             <Field label="鍙栧彿璁惧鍚�" prop="deviceName" v-model="form.deviceName" placeholder="璇疯緭鍏ュ彇鍙疯澶囧悕"/>
                             <Field label="鍛煎彨璁惧" prop="callName" v-model="form.callName" placeholder="璇疯緭鍏ュ懠鍙澶�"/>
                             <Field label="浜嬮」鍚�" prop="matterName" v-model="form.matterName" type="textarea" placeholder="璇疯緭鍏ヤ簨椤瑰悕"/>
diff --git a/admin/src/views/ph/queue/list.vue b/admin/src/views/ph/queue/list.vue
index a1221c2880bf1aee9b8b723017351e43d8456a83..b16c7451d3ca7aea011339dc34aa32d93c0d8dcd 100644
--- a/admin/src/views/ph/queue/list.vue
+++ b/admin/src/views/ph/queue/list.vue
@@ -33,9 +33,11 @@
                 this.$refs.drawerform.edit(row);
             },
             /** 閲嶅啓鏌ョ湅鏂规硶 */
+/*
             toView(row) {
                 this.$refs.drawerform.view(row);
             },
+*/
 
         },
         data() {
diff --git a/admin/src/views/ph/queue/stat/drawershow.vue b/admin/src/views/ph/queue/stat/drawershow.vue
new file mode 100644
index 0000000000000000000000000000000000000000..4fd6ea4ba82c27c0384b69ec23c0635eab291e43
--- /dev/null
+++ b/admin/src/views/ph/queue/stat/drawershow.vue
@@ -0,0 +1,151 @@
+<template>
+    <!-- 寮瑰嚭妗嗚〃鍗� -->
+    <el-drawer
+            :title="title"
+            :visible.sync="open"
+            :direction="direction"
+            :destroy-on-close="true"
+            size="50%">
+        <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+            <el-row>
+                                            <Field label="绔欑偣Id" prop="siteId" v-model="form.siteId" placeholder="璇疯緭鍏ョ珯鐐笽d"/>
+                            <Field label="绔欑偣缂栫爜" prop="siteCode" v-model="form.siteCode" placeholder="璇疯緭鍏ョ珯鐐圭紪鐮�"/>
+                            <Field label="绔欑偣鍚嶇О" prop="siteName" v-model="form.siteName" placeholder="璇疯緭鍏ョ珯鐐瑰悕绉�"/>
+                            <Field label="涓氬姟鍚�" prop="business" v-model="form.business" placeholder="璇疯緭鍏ヤ笟鍔″悕"/>
+                            <Field label="閮ㄩ棬" prop="sectionName" v-model="form.sectionName" placeholder="璇疯緭鍏ラ儴闂�"/>
+                            <Field label="绐楀彛缂栧彿" prop="windowFromnum" v-model="form.windowFromnum" placeholder="璇疯緭鍏ョ獥鍙g紪鍙�"/>
+                            <Field label="鍙栧彿鏁伴噺" prop="pjCount" v-model="form.pjCount" placeholder="璇疯緭鍏ュ彇鍙锋暟閲�"/>
+                            <Field label="骞�" prop="year" v-model="form.year" placeholder="璇疯緭鍏ュ勾"/>
+                            <Field label="鏈�" prop="month" v-model="form.month" placeholder="璇疯緭鍏ユ湀"/>
+                            <Field label="鏃�" prop="day" v-model="form.day" placeholder="璇疯緭鍏ユ棩"/>
+
+            </el-row>
+
+            <form-buttons @submit='submitForm' v-if="pageInfo.type!='view'" noCancelBtn />
+        </el-form>
+
+    </el-drawer>
+</template>
+
+<script>
+    import form from "@/assets/mixins/formdialog";
+    export default {
+        name: "PhQueueStatDetail",
+        mixins: [form],
+        components: {
+
+        },
+        created() {
+            this.changePath("ph/queue/stat")
+        },
+        data() {
+            return {
+                // 閬僵灞�
+                loading: true,
+                // 寮瑰嚭灞傛爣棰�
+                title: "鎺掗槦鍙彿姹囨€荤粺璁�",
+                // 鏄惁鏄剧ず寮瑰嚭灞�
+                open: false,
+                direction:"rtl",
+                toString:[
+                ],
+                toDate:[
+                ],
+                // 琛ㄥ崟鏍¢獙
+                rules: {
+                    business: [
+                        {required: true,message: "璇疯緭鍏ヤ笟鍔″悕", trigger: "blur" },
+                        {max: 128,message: "鏈€澶氬彧鑳藉綍鍏�128涓瓧绗�",trigger: "blur",},
+                    ],
+                    sectionName: [
+                        {required: true,message: "璇疯緭鍏ラ儴闂�", trigger: "blur" },
+                        {max: 128,message: "鏈€澶氬彧鑳藉綍鍏�128涓瓧绗�",trigger: "blur",},
+                    ],
+                    windowFromnum: [
+                        {required: true,message: "璇疯緭鍏ョ獥鍙g紪鍙�", trigger: "blur" },
+                        {max: 128,message: "鏈€澶氬彧鑳藉綍鍏�128涓瓧绗�",trigger: "blur",},
+                    ],
+                    pjCount: [
+                        {required: true,message: "璇疯緭鍏ュ彇鍙锋暟閲�", trigger: "blur" },
+                    ],
+                    year: [
+                        {required: true,message: "璇疯緭鍏ュ勾", trigger: "blur" },
+                    ],
+                    month: [
+                        {required: true,message: "璇疯緭鍏ユ湀", trigger: "blur" },
+                    ],
+                    day: [
+                        {required: true,message: "璇疯緭鍏ユ棩", trigger: "blur" },
+                    ],
+                    createTime: [
+                        {required: true,message: "璇烽€夋嫨鍒涘缓鏃堕棿" },
+                    ],
+                }
+            };
+        },
+
+        methods: {
+            /** 缂栬緫 */
+            edit(row) {
+                this.reset()
+                this.query = { id: row.id };
+                this.urls.currUrl ="ph/queue/stat/edit";
+                this.getData();
+                this.pageInfo.type="edit"
+                this.title = "淇敼鎺掗槦鍙彿姹囨€荤粺璁�";
+            },
+            /** 鏂板 */
+            add(row) {
+                this.reset()
+                this.urls.currUrl = "ph/queue/stat/add";
+                this.getData();
+                this.pageInfo.type="add"
+                this.title = "鏂板鎺掗槦鍙彿姹囨€荤粺璁�";
+            },
+            /** 鏌ョ湅*/
+            view(row) {
+                this.reset()
+                this.query = { id: row.id };
+                this.urls.currUrl ="ph/queue/stat/view";
+                this.getData();
+                this.pageInfo.type="view"
+                this.title = "鎺掗槦鍙彿姹囨€荤粺璁¤缁�";
+            },
+            /**鍙栨秷鎸夐挳 */
+            cancel() {
+                this.open = false;
+            },
+            /**鑾峰彇鏁版嵁鍚庡脊妗� */
+            afterRender(data) {
+                this.open = true;
+            },
+
+            afterSubmit(data) {
+                this.open = false;
+                this.$emit("ok");
+            },
+
+            // 琛ㄥ崟閲嶇疆
+            reset() {
+                this.form = {
+                    siteId : 0,
+                    siteCode : null,
+                    siteName : null,
+                    business : null,
+                    sectionName : null,
+                    windowFromnum : null,
+                    pjCount : null,
+                    year : null,
+                    month : null,
+                    day : null,
+                };
+                this.resetForm("form");
+            },
+            resetForm(refName) {
+                if (this.$refs[refName]) {
+                    this.$refs[refName].resetFields();
+                }
+            },
+        },
+    };
+</script>
diff --git a/admin/src/views/ph/queue/stat/list.vue b/admin/src/views/ph/queue/stat/list.vue
new file mode 100644
index 0000000000000000000000000000000000000000..c5ecb295528b22f38ece78ba66e6a8bec611dcb5
--- /dev/null
+++ b/admin/src/views/ph/queue/stat/list.vue
@@ -0,0 +1,80 @@
+<template>
+    <div class="page">
+        <LayoutTable :data="tableData" :config="tableConfig">
+                    </LayoutTable>
+
+
+        <drawer-show ref="drawerform" @ok="getData" />
+    </div>
+</template>
+
+<script>
+    /** 琛ㄥ崟寮瑰嚭妗嗘ā寮忛渶寮曞叆 */
+    import drawerShow from "./drawershow";
+    import table from "@/assets/mixins/table";
+    export default {
+        name: "PhQueueStatList",
+        components: {
+            drawerShow
+},
+        mixins: [table],
+        created() {
+        },
+        methods: {
+            /** 閲嶅啓鏂板鏂规硶 */
+            toAdd(row) {
+                this.$refs.drawerform.add(row);
+            },
+            /** 閲嶅啓缂栬緫鏂规硶 */
+            toEdit(row) {
+                this.$refs.drawerform.edit(row);
+            },
+            /** 閲嶅啓鏌ョ湅鏂规硶 */
+            toView(row) {
+                this.$refs.drawerform.view(row);
+            },
+
+        },
+        data() {
+            return {
+                config: {
+                    search: [
+                    ],
+                    columns: [
+                        {type: "selection", width: 60},
+                        {type: "index",label: "搴忓彿",width: 50},
+
+                        {label: "绔欑偣Id", prop: "siteId", formatter: this.formatter},
+
+                        {label: "绔欑偣缂栫爜", prop: "siteCode"},
+
+                        {label: "绔欑偣鍚嶇О", prop: "siteName"},
+
+                        {label: "涓氬姟鍚�", prop: "business"},
+
+                        {label: "閮ㄩ棬", prop: "sectionName"},
+
+                        {label: "绐楀彛缂栧彿", prop: "windowFromnum"},
+
+                        {label: "鍙栧彿鏁伴噺", prop: "pjCount",formatter: this.formatter},
+
+                        {label: "骞�", prop: "year",formatter: this.formatter},
+
+                        {label: "鏈�", prop: "month",formatter: this.formatter},
+
+                        {label: "鏃�", prop: "day",formatter: this.formatter},
+                        {
+                            label: "鎿嶄綔",
+                            width: 240,
+                            formatter: row => {
+                                return (
+                                    <table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
+                            );
+                            }
+                        }
+                    ]
+                }
+            };
+        }
+    };
+</script>
\ No newline at end of file
diff --git a/admin/src/views/ph/queue/stat/view.vue b/admin/src/views/ph/queue/stat/view.vue
new file mode 100644
index 0000000000000000000000000000000000000000..66de70278b3e457b1e245f2de1d6ad440ca84479
--- /dev/null
+++ b/admin/src/views/ph/queue/stat/view.vue
@@ -0,0 +1,84 @@
+<template>
+    <layout-view>
+        <el-descriptions  :title="title" :column="column" :size="size" :colon="false" border>
+            <template slot="title">
+                <i class="el-icon-tickets"></i>
+                鍩烘湰璇︾粏淇℃伅
+            </template>
+            <template slot="extra">
+                <el-button type="primary" @click="$router.go(-1)" size="small">杩斿洖</el-button>
+            </template>
+                                    <el-descriptions-item label="绔欑偣Id" label-class-name="labelClass" content-class-name="contentClass">
+                            {{form.siteId}}
+                        </el-descriptions-item>
+                        <el-descriptions-item label="绔欑偣缂栫爜" label-class-name="labelClass" content-class-name="contentClass">
+                            {{form.siteCode}}
+                        </el-descriptions-item>
+                        <el-descriptions-item label="绔欑偣鍚嶇О" label-class-name="labelClass" content-class-name="contentClass">
+                            {{form.siteName}}
+                        </el-descriptions-item>
+                        <el-descriptions-item label="涓氬姟鍚�" label-class-name="labelClass" content-class-name="contentClass">
+                            {{form.business}}
+                        </el-descriptions-item>
+                        <el-descriptions-item label="閮ㄩ棬" label-class-name="labelClass" content-class-name="contentClass">
+                            {{form.sectionName}}
+                        </el-descriptions-item>
+                        <el-descriptions-item label="绐楀彛缂栧彿" label-class-name="labelClass" content-class-name="contentClass">
+                            {{form.windowFromnum}}
+                        </el-descriptions-item>
+                        <el-descriptions-item label="鍙栧彿鏁伴噺" label-class-name="labelClass" content-class-name="contentClass">
+                            {{form.pjCount}}
+                        </el-descriptions-item>
+                        <el-descriptions-item label="骞�" label-class-name="labelClass" content-class-name="contentClass">
+                            {{form.year}}
+                        </el-descriptions-item>
+                        <el-descriptions-item label="鏈�" label-class-name="labelClass" content-class-name="contentClass">
+                            {{form.month}}
+                        </el-descriptions-item>
+                        <el-descriptions-item label="鏃�" label-class-name="labelClass" content-class-name="contentClass">
+                            {{form.day}}
+                        </el-descriptions-item>
+        </el-descriptions>
+
+    </layout-view>
+</template>
+
+<script>
+    import view from "@/assets/mixins/view";
+    export default {
+        mixins: [view],
+        components: {
+        },
+        methods: {
+
+        },
+        data() {
+            return {
+                size:"small",
+                column:2,
+                toString:[
+                ],
+                toArrays: [
+
+                ],
+                toDate: [
+
+                ]
+            }
+        }
+    }
+</script>
+<style lang="less">
+    .labelClass{
+        width: 200px;
+    }
+    .el-descriptions__body{
+        margin-left: 5px;
+        margin-right: 5px;
+        color: #606266;
+        background-color: #FFF;
+    }
+    .contentClass{
+        width: 600px;
+    }
+</style>
\ No newline at end of file
diff --git a/admin/src/views/pj/evaluate/drawershow.vue b/admin/src/views/pj/evaluate/drawershow.vue
index e3b8cdc0e9b3de87789e6b675ba303fd029a49bf..49b86b6bc35729ab174f85baa643ec5022249af1 100644
--- a/admin/src/views/pj/evaluate/drawershow.vue
+++ b/admin/src/views/pj/evaluate/drawershow.vue
@@ -34,8 +34,7 @@
                             <Field label="闊抽瑙嗛鍦板潃" prop="process" v-model="form.process" type="textarea" placeholder="璇疯緭鍏ラ煶棰戣棰戝湴鍧€"/>
                             <Field label="璇勪环鏍囪 " prop="eyevaluate" v-model="form.eyevaluate" type="select" :enumData="dict.eyevaluate" placeholder="璇烽€夋嫨璇勪环鏍囪 "/>
                             <Field label="璇勪环鎸囧悜 " prop="pjType" v-model="form.pjType" type="select" :enumData="dict.pjType" placeholder="璇烽€夋嫨璇勪环鎸囧悜 "/>
-                            <Field label="璇勪环鏃堕棿" prop="pjTime" v-model="form.pjTime" type="date" />
-                            <Field label="绔欑偣Id" prop="siteId" v-model="form.siteId" placeholder="璇疯緭鍏ョ珯鐐笽d"/>
+                            <Field label="璇勪环鏃堕棿" prop="pjTime" v-model="form.pjTime" type="datetime" />
                             <Field label="绔欑偣缂栫爜" prop="siteCode" v-model="form.siteCode" placeholder="璇疯緭鍏ョ珯鐐圭紪鐮�"/>
                             <Field label="绔欑偣鍚嶇О" prop="siteName" v-model="form.siteName" placeholder="璇疯緭鍏ョ珯鐐瑰悕绉�"/>
                             <Field label="鎵╁睍缂栧彿" prop="extNum" v-model="form.extNum" placeholder="璇疯緭鍏ユ墿灞曠紪鍙�"/>
diff --git a/admin/src/views/pj/evaluate/stat/drawershow.vue b/admin/src/views/pj/evaluate/stat/drawershow.vue
new file mode 100644
index 0000000000000000000000000000000000000000..d0acbf2eed4839766ef129220131c3fd66f8c2b6
--- /dev/null
+++ b/admin/src/views/pj/evaluate/stat/drawershow.vue
@@ -0,0 +1,151 @@
+<template>
+    <!-- 寮瑰嚭妗嗚〃鍗� -->
+    <el-drawer
+            :title="title"
+            :visible.sync="open"
+            :direction="direction"
+            :destroy-on-close="true"
+            size="50%">
+        <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+            <el-row>
+                                            <Field label="绔欑偣Id" prop="siteId" v-model="form.siteId" placeholder="璇疯緭鍏ョ珯鐐笽d"/>
+                            <Field label="绔欑偣缂栫爜" prop="siteCode" v-model="form.siteCode" placeholder="璇疯緭鍏ョ珯鐐圭紪鐮�"/>
+                            <Field label="绔欑偣鍚嶇О" prop="siteName" v-model="form.siteName" placeholder="璇疯緭鍏ョ珯鐐瑰悕绉�"/>
+                            <Field label="閮ㄩ棬" prop="sectionName" v-model="form.sectionName" placeholder="璇疯緭鍏ラ儴闂�"/>
+                            <Field label="璇勪环閫夐」" prop="pjOption" v-model="form.pjOption" type="select" :enumData="dict.pjOption" placeholder="璇烽€夋嫨璇勪环閫夐」"/>
+                            <Field label="绐楀彛缂栧彿" prop="windowFromnum" v-model="form.windowFromnum" placeholder="璇疯緭鍏ョ獥鍙g紪鍙�"/>
+                            <Field label="璇勪环鏁伴噺" prop="pjCount" v-model="form.pjCount" placeholder="璇疯緭鍏ヨ瘎浠锋暟閲�"/>
+                            <Field label="骞�" prop="year" v-model="form.year" placeholder="璇疯緭鍏ュ勾"/>
+                            <Field label="鏈�" prop="month" v-model="form.month" placeholder="璇疯緭鍏ユ湀"/>
+                            <Field label="鏃�" prop="day" v-model="form.day" placeholder="璇疯緭鍏ユ棩"/>
+
+            </el-row>
+
+            <form-buttons @submit='submitForm' v-if="pageInfo.type!='view'" noCancelBtn />
+        </el-form>
+
+    </el-drawer>
+</template>
+
+<script>
+    import form from "@/assets/mixins/formdialog";
+    export default {
+        name: "PjEvaluateStatDetail",
+        mixins: [form],
+        components: {
+
+        },
+        created() {
+            this.changePath("pj/evaluate/stat")
+        },
+        data() {
+            return {
+                // 閬僵灞�
+                loading: true,
+                // 寮瑰嚭灞傛爣棰�
+                title: "璇勪环姹囨€荤粺璁�",
+                // 鏄惁鏄剧ず寮瑰嚭灞�
+                open: false,
+                direction:"rtl",
+                toString:[
+                ],
+                toDate:[
+                ],
+                // 琛ㄥ崟鏍¢獙
+                rules: {
+                    sectionName: [
+                        {required: true,message: "璇疯緭鍏ラ儴闂�", trigger: "blur" },
+                        {max: 128,message: "鏈€澶氬彧鑳藉綍鍏�128涓瓧绗�",trigger: "blur",},
+                    ],
+                    pjOption: [
+                        {required: true,message: "璇疯緭鍏ヨ瘎浠烽€夐」", trigger: "blur" },
+                        {max: 32,message: "鏈€澶氬彧鑳藉綍鍏�32涓瓧绗�",trigger: "blur",},
+                    ],
+                    windowFromnum: [
+                        {required: true,message: "璇疯緭鍏ョ獥鍙g紪鍙�", trigger: "blur" },
+                        {max: 128,message: "鏈€澶氬彧鑳藉綍鍏�128涓瓧绗�",trigger: "blur",},
+                    ],
+                    pjCount: [
+                        {required: true,message: "璇疯緭鍏ヨ瘎浠锋暟閲�", trigger: "blur" },
+                    ],
+                    year: [
+                        {required: true,message: "璇疯緭鍏ュ勾", trigger: "blur" },
+                    ],
+                    month: [
+                        {required: true,message: "璇疯緭鍏ユ湀", trigger: "blur" },
+                    ],
+                    day: [
+                        {required: true,message: "璇疯緭鍏ユ棩", trigger: "blur" },
+                    ],
+                    createTime: [
+                        {required: true,message: "璇烽€夋嫨鍒涘缓鏃堕棿" },
+                    ],
+                }
+            };
+        },
+
+        methods: {
+            /** 缂栬緫 */
+            edit(row) {
+                this.reset()
+                this.query = { id: row.id };
+                this.urls.currUrl ="pj/evaluate/stat/edit";
+                this.getData();
+                this.pageInfo.type="edit"
+                this.title = "淇敼璇勪环姹囨€荤粺璁�";
+            },
+            /** 鏂板 */
+            add(row) {
+                this.reset()
+                this.urls.currUrl = "pj/evaluate/stat/add";
+                this.getData();
+                this.pageInfo.type="add"
+                this.title = "鏂板璇勪环姹囨€荤粺璁�";
+            },
+            /** 鏌ョ湅*/
+            view(row) {
+                this.reset()
+                this.query = { id: row.id };
+                this.urls.currUrl ="pj/evaluate/stat/view";
+                this.getData();
+                this.pageInfo.type="view"
+                this.title = "璇勪环姹囨€荤粺璁¤缁�";
+            },
+            /**鍙栨秷鎸夐挳 */
+            cancel() {
+                this.open = false;
+            },
+            /**鑾峰彇鏁版嵁鍚庡脊妗� */
+            afterRender(data) {
+                this.open = true;
+            },
+
+            afterSubmit(data) {
+                this.open = false;
+                this.$emit("ok");
+            },
+
+            // 琛ㄥ崟閲嶇疆
+            reset() {
+                this.form = {
+                    siteId : 0,
+                    siteCode : null,
+                    siteName : null,
+                    sectionName : null,
+                    pjOption : null,
+                    windowFromnum : null,
+                    pjCount : null,
+                    year : null,
+                    month : null,
+                    day : null,
+                };
+                this.resetForm("form");
+            },
+            resetForm(refName) {
+                if (this.$refs[refName]) {
+                    this.$refs[refName].resetFields();
+                }
+            },
+        },
+    };
+</script>
diff --git a/admin/src/views/pj/evaluate/stat/list.vue b/admin/src/views/pj/evaluate/stat/list.vue
new file mode 100644
index 0000000000000000000000000000000000000000..0804df36bdd7995801eae4dedc91a63687e70fd8
--- /dev/null
+++ b/admin/src/views/pj/evaluate/stat/list.vue
@@ -0,0 +1,80 @@
+<template>
+    <div class="page">
+        <LayoutTable :data="tableData" :config="tableConfig">
+                    </LayoutTable>
+
+
+        <drawer-show ref="drawerform" @ok="getData" />
+    </div>
+</template>
+
+<script>
+    /** 琛ㄥ崟寮瑰嚭妗嗘ā寮忛渶寮曞叆 */
+    import drawerShow from "./drawershow";
+    import table from "@/assets/mixins/table";
+    export default {
+        name: "PjEvaluateStatList",
+        components: {
+            drawerShow
+},
+        mixins: [table],
+        created() {
+        },
+        methods: {
+            /** 閲嶅啓鏂板鏂规硶 */
+            toAdd(row) {
+                this.$refs.drawerform.add(row);
+            },
+            /** 閲嶅啓缂栬緫鏂规硶 */
+            toEdit(row) {
+                this.$refs.drawerform.edit(row);
+            },
+            /** 閲嶅啓鏌ョ湅鏂规硶 */
+            toView(row) {
+                this.$refs.drawerform.view(row);
+            },
+
+        },
+        data() {
+            return {
+                config: {
+                    search: [
+                    ],
+                    columns: [
+                        {type: "selection", width: 60},
+                        {type: "index",label: "搴忓彿",width: 50},
+
+                        {label: "绔欑偣Id", prop: "siteId", formatter: this.formatter},
+
+                        {label: "绔欑偣缂栫爜", prop: "siteCode"},
+
+                        {label: "绔欑偣鍚嶇О", prop: "siteName"},
+
+                        {label: "閮ㄩ棬", prop: "sectionName"},
+
+                        {label: "璇勪环閫夐」", prop: "pjOption"},
+
+                        {label: "绐楀彛缂栧彿", prop: "windowFromnum"},
+
+                        {label: "璇勪环鏁伴噺", prop: "pjCount",formatter: this.formatter},
+
+                        {label: "骞�", prop: "year",formatter: this.formatter},
+
+                        {label: "鏈�", prop: "month",formatter: this.formatter},
+
+                        {label: "鏃�", prop: "day",formatter: this.formatter},
+                        {
+                            label: "鎿嶄綔",
+                            width: 240,
+                            formatter: row => {
+                                return (
+                                    <table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
+                            );
+                            }
+                        }
+                    ]
+                }
+            };
+        }
+    };
+</script>
\ No newline at end of file
diff --git a/admin/src/views/pj/evaluate/stat/view.vue b/admin/src/views/pj/evaluate/stat/view.vue
new file mode 100644
index 0000000000000000000000000000000000000000..8275a74af0cc8047f23aa16f2b0fe90bc5922d9e
--- /dev/null
+++ b/admin/src/views/pj/evaluate/stat/view.vue
@@ -0,0 +1,84 @@
+<template>
+    <layout-view>
+        <el-descriptions  :title="title" :column="column" :size="size" :colon="false" border>
+            <template slot="title">
+                <i class="el-icon-tickets"></i>
+                鍩烘湰璇︾粏淇℃伅
+            </template>
+            <template slot="extra">
+                <el-button type="primary" @click="$router.go(-1)" size="small">杩斿洖</el-button>
+            </template>
+                                    <el-descriptions-item label="绔欑偣Id" label-class-name="labelClass" content-class-name="contentClass">
+                            {{form.siteId}}
+                        </el-descriptions-item>
+                        <el-descriptions-item label="绔欑偣缂栫爜" label-class-name="labelClass" content-class-name="contentClass">
+                            {{form.siteCode}}
+                        </el-descriptions-item>
+                        <el-descriptions-item label="绔欑偣鍚嶇О" label-class-name="labelClass" content-class-name="contentClass">
+                            {{form.siteName}}
+                        </el-descriptions-item>
+                        <el-descriptions-item label="閮ㄩ棬" label-class-name="labelClass" content-class-name="contentClass">
+                            {{form.sectionName}}
+                        </el-descriptions-item>
+                        <el-descriptions-item label="璇勪环閫夐」" label-class-name="labelClass" content-class-name="contentClass">
+                            {{ util_formatters("pjOption", form.pjOption) }}
+                        </el-descriptions-item>
+                        <el-descriptions-item label="绐楀彛缂栧彿" label-class-name="labelClass" content-class-name="contentClass">
+                            {{form.windowFromnum}}
+                        </el-descriptions-item>
+                        <el-descriptions-item label="璇勪环鏁伴噺" label-class-name="labelClass" content-class-name="contentClass">
+                            {{form.pjCount}}
+                        </el-descriptions-item>
+                        <el-descriptions-item label="骞�" label-class-name="labelClass" content-class-name="contentClass">
+                            {{form.year}}
+                        </el-descriptions-item>
+                        <el-descriptions-item label="鏈�" label-class-name="labelClass" content-class-name="contentClass">
+                            {{form.month}}
+                        </el-descriptions-item>
+                        <el-descriptions-item label="鏃�" label-class-name="labelClass" content-class-name="contentClass">
+                            {{form.day}}
+                        </el-descriptions-item>
+        </el-descriptions>
+
+    </layout-view>
+</template>
+
+<script>
+    import view from "@/assets/mixins/view";
+    export default {
+        mixins: [view],
+        components: {
+        },
+        methods: {
+
+        },
+        data() {
+            return {
+                size:"small",
+                column:2,
+                toString:[
+                ],
+                toArrays: [
+
+                ],
+                toDate: [
+
+                ]
+            }
+        }
+    }
+</script>
+<style lang="less">
+    .labelClass{
+        width: 200px;
+    }
+    .el-descriptions__body{
+        margin-left: 5px;
+        margin-right: 5px;
+        color: #606266;
+        background-color: #FFF;
+    }
+    .contentClass{
+        width: 600px;
+    }
+</style>
\ No newline at end of file