Prechádzať zdrojové kódy

数据做本地暂存

noob 3 rokov pred
rodič
commit
a8a66082fd

+ 10 - 44
src/pages/main/performance/analysis.vue

@@ -2,7 +2,7 @@
  * @Author       : yuanrunwei
  * @Date         : 2021-12-03 15:18:11
  * @LastEditors  : yuanrunwei
- * @LastEditTime : 2021-12-04 18:23:59
+ * @LastEditTime : 2021-12-06 17:12:48
  * @FilePath     : \spfm-market-front\src\pages\main\performance\analysis.vue
 -->
 <template>
@@ -26,48 +26,7 @@ export default {
     },
     data() {
         return {
-            table_list: [
-                {
-                    index: 1,
-                    subject: "政企能力攻坚工程",
-                    origin: "八大工程",
-                    content:
-                        "1、推进项目支撑能力升级,优化智慧中台运营能\n2、推进风险防控质量升级,打造风险防控体系\n3、推进集团价值能力提升,打造业务运营监控体系\n",
-                    mark: "1、推进项目支撑能力升级:\n1.1、4月完成资金管理、响应交付功能上线;\n1.2、6月完成政企沙盘、行业库、标杆项目库功能上线;\n1.3、12月完成商机管理、角色管理、欠费管理、ESOP迁移、六项重点产品甩单支撑能力建设、ICT项目支撑能力升级。",
-                    score: "1",
-                    leader: "邱钰",
-                },
-                {
-                    index: 2,
-                    subject: "政企能力攻坚工程",
-                    origin: "八大工程",
-                    content:
-                        "1、推进项目支撑能力升级,优化智慧中台运营能\n2、推进风险防控质量升级,打造风险防控体系\n3、推进集团价值能力提升,打造业务运营监控体系\n",
-                    mark: "1、推进项目支撑能力升级:\n1.1、4月完成资金管理、响应交付功能上线;\n1.2、6月完成政企沙盘、行业库、标杆项目库功能上线;\n1.3、12月完成商机管理、角色管理、欠费管理、ESOP迁移、六项重点产品甩单支撑能力建设、ICT项目支撑能力升级。",
-                    score: "1",
-                    leader: "邱钰",
-                },
-                {
-                    index: 3,
-                    subject: "政企能力攻坚工程",
-                    origin: "八大工程",
-                    content:
-                        "1、推进项目支撑能力升级,优化智慧中台运营能\n2、推进风险防控质量升级,打造风险防控体系\n3、推进集团价值能力提升,打造业务运营监控体系\n",
-                    mark: "1、推进项目支撑能力升级:\n1.1、4月完成资金管理、响应交付功能上线;\n1.2、6月完成政企沙盘、行业库、标杆项目库功能上线;\n1.3、12月完成商机管理、角色管理、欠费管理、ESOP迁移、六项重点产品甩单支撑能力建设、ICT项目支撑能力升级。",
-                    score: "1",
-                    leader: "邱钰",
-                },
-                {
-                    index: 4,
-                    subject: "政企能力攻坚工程",
-                    origin: "八大工程",
-                    content:
-                        "1、推进项目支撑能力升级,优化智慧中台运营能\n2、推进风险防控质量升级,打造风险防控体系\n3、推进集团价值能力提升,打造业务运营监控体系\n",
-                    mark: "1、推进项目支撑能力升级:\n1.1、4月完成资金管理、响应交付功能上线;\n1.2、6月完成政企沙盘、行业库、标杆项目库功能上线;\n1.3、12月完成商机管理、角色管理、欠费管理、ESOP迁移、六项重点产品甩单支撑能力建设、ICT项目支撑能力升级。",
-                    score: "1",
-                    leader: "邱钰",
-                }
-            ],
+            table_list: [],
             table_loading: false,
             table_config: [
                 {
@@ -142,11 +101,18 @@ export default {
         };
     },
     methods: {
-        handleInit() {},
+        handleInit() {
+            this.table_list = JSON.parse(
+                sessionStorage.global_data
+            )[0].template_excel;
+        },
         handleEdit() {},
         handleCheck() {},
         handleDelete() {},
     },
+    mounted() {
+        this.handleInit();
+    },
 };
 </script>
 

+ 5 - 2
src/pages/main/performance/components/table.vue

@@ -2,7 +2,7 @@
  * @Author       : yuanrunwei
  * @Date         : 2021-11-01 18:02:58
  * @LastEditors  : yuanrunwei
- * @LastEditTime : 2021-12-06 09:57:43
+ * @LastEditTime : 2021-12-06 17:32:53
  * @FilePath     : \spfm-market-front\src\pages\main\performance\components\table.vue
 -->
 <template>
@@ -37,6 +37,9 @@
                 <div v-else-if="type === 'textarea'">
                     <pre>{{ scope.row[props] }}</pre>
                 </div>
+                <div v-else-if="type === 'date'">
+                    <div>{{  $formatDate(scope.row[props], "YYYY-MM-DD") }}</div>
+                </div>
                 <div v-else-if="type === 'click'">
                     <div
                         class="simple-table-click cursor-pointer"
@@ -95,10 +98,10 @@
                         <el-popconfirm
                             v-if="popconfirm"
                             :title="`确定要${label}吗?`"
+                            @confirm="handleClick(props, scope.row)"
                         >
                             <el-button
                                 slot="reference"
-                                @click="handleClick(props, scope.row)"
                                 type="text"
                                 size="small"
                                 >{{ label }}</el-button

+ 315 - 375
src/pages/main/performance/department.vue

@@ -1,121 +1,144 @@
 <template>
-  <div>
-    <div class="simple-container">
-      <simple-form :form="table_form" @search="handleSearch">
-        <!-- :handle="table_handle"
+    <div>
+        <div class="simple-container">
+            <simple-form :form="table_form" @search="handleSearch">
+                <!-- :handle="table_handle"
       @add="handleRulesVisible"
       @class="handleDrawer('class')"
       @download="handleDownload" -->
-      </simple-form>
-      <simple-table
-        :list="table_list"
-        :config="table_config"
-        :loading="table_loading"
-        :handle-row="table_handle_row"
-        @check="handleCheck"
-        @edit="handleEdit"
-      ></simple-table>
-      <simple-pagination
-        :page="page"
-        :total="total"
-        @change="handleChange"
-      ></simple-pagination>
-    </div>
-    <simple-dialog
-      fullscreen
-      title="部门绩效"
-      :visible="visible"
-      
-      :reload="reload"
-      width="1200px"
-      @cancel="handleCancel('visible')"
-    >
-      <template>
-        <!-- 按钮部分 -->
-        <div class="flex-justify-between padding-right-20 padding-left-20">
-          <div>
-            <el-button type="primary">转派</el-button>
-            <el-button type="primary" @click="handleApprove">审批</el-button>
-            <el-button type="primary" @click="handleTrack">流程跟踪</el-button>
-            <el-button type="primary">导出</el-button>
-          </div>
-          <div>
-            <el-button @click="handleCancel('visible')" type="primary"
-              >返回</el-button
-            >
-          </div>
-        </div>
-        <!-- 主体部分 -->
-        <analysis />
-      </template>
-      <template v-slot:footer><div></div></template>
-    </simple-dialog>
-    <simple-dialog
-      title="审批"
-      :visible="approve_visible"
-      :reload="reload"
-      width="500px"
-      props="approve_visible"
-      @cancel="handleCancel('approve_visible')"
-    >
-      <el-form :model="approveForm" :rules="approverules" ref="approveForm"
-        ><el-form-item label="审批意见" prop="comments" label-width="80px"
-          ><el-input
-            type="textarea"
-            v-model="approveForm.comments"
-            autosize /></el-form-item
-      ></el-form>
-      <template v-slot:footer
-        ><div>
-          <div v-if="type === '1'">
-            <el-button @click="handleCancel('approve_visible')">结束</el-button>
-            <el-button @click="handleTurn(type)" type="primary"
-              >转副总审批</el-button
-            >
-          </div>
-          <div v-else-if="type === '2'">
-            <el-button @click="handleCancel('approve_visible')">结束</el-button>
-            <el-button @click="handleCancel('approve_visible')">打回</el-button>
-            <el-button @click="handleTurn(type)" type="primary"
-              >转总经理审批</el-button
-            >
-          </div>
-          <div v-else>
-            <el-button @click="handleCancel('approve_visible')">打回</el-button>
-            <el-button @click="handleTurn(type)" type="primary">同意</el-button>
-          </div>
+            </simple-form>
+            <simple-table
+                :list="table_list"
+                :config="table_config"
+                :loading="table_loading"
+                :handle-row="table_handle_row"
+                @check="handleCheck"
+                @edit="handleEdit"
+            ></simple-table>
+            <simple-pagination
+                :page="page"
+                :total="total"
+                @change="handleChange"
+            ></simple-pagination>
         </div>
-      </template>
-    </simple-dialog>
-    <simple-dialog
-      title="流程跟踪"
-      :visible="track_visible"
-      :reload="reload"
-      width="600px"
-      props="track_visible"
-      @confirm="handleConfirm"
-      @cancel="handleCancel('track_visible')"
-    >
-      <el-table :data="trackList" border>
-        <el-table-column
-          prop="link"
-          label="流程环节"
-          align="center"
-          width="180"
+        <simple-dialog
+            fullscreen
+            title="部门绩效"
+            :visible="visible"
+            :reload="reload"
+            width="1200px"
+            @cancel="handleCancel('visible')"
+        >
+            <template>
+                <!-- 按钮部分 -->
+                <div
+                    class="flex-justify-between padding-right-20 padding-left-20"
+                >
+                    <div>
+                        <el-button type="primary">转派</el-button>
+                        <el-button type="primary" @click="handleApprove"
+                            >审批</el-button
+                        >
+                        <el-button type="primary" @click="handleTrack"
+                            >流程跟踪</el-button
+                        >
+                        <el-button type="primary">导出</el-button>
+                    </div>
+                    <div>
+                        <el-button
+                            @click="handleCancel('visible')"
+                            type="primary"
+                            >返回</el-button
+                        >
+                    </div>
+                </div>
+                <!-- 主体部分 -->
+                <analysis />
+            </template>
+            <template v-slot:footer><div></div></template>
+        </simple-dialog>
+        <simple-dialog
+            title="审批"
+            :visible="approve_visible"
+            :reload="reload"
+            width="500px"
+            props="approve_visible"
+            @cancel="handleCancel('approve_visible')"
         >
-        </el-table-column>
-        <el-table-column
-          prop="creatperson"
-          label="处理人"
-          align="center"
-          width="180"
+            <el-form
+                :model="approveForm"
+                :rules="approverules"
+                ref="approveForm"
+                ><el-form-item
+                    label="审批意见"
+                    prop="comments"
+                    label-width="80px"
+                    ><el-input
+                        type="textarea"
+                        v-model="approveForm.comments"
+                        autosize /></el-form-item
+            ></el-form>
+            <template v-slot:footer
+                ><div>
+                    <div v-if="type === '1'">
+                        <el-button @click="handleCancel('approve_visible')"
+                            >结束</el-button
+                        >
+                        <el-button @click="handleTurn(type)" type="primary"
+                            >转副总审批</el-button
+                        >
+                    </div>
+                    <div v-else-if="type === '2'">
+                        <el-button @click="handleCancel('approve_visible')"
+                            >结束</el-button
+                        >
+                        <el-button @click="handleCancel('approve_visible')"
+                            >打回</el-button
+                        >
+                        <el-button @click="handleTurn(type)" type="primary"
+                            >转总经理审批</el-button
+                        >
+                    </div>
+                    <div v-else>
+                        <el-button @click="handleCancel('approve_visible')"
+                            >打回</el-button
+                        >
+                        <el-button @click="handleTurn(type)" type="primary"
+                            >同意</el-button
+                        >
+                    </div>
+                </div>
+            </template>
+        </simple-dialog>
+        <simple-dialog
+            title="流程跟踪"
+            :visible="track_visible"
+            :reload="reload"
+            width="600px"
+            props="track_visible"
+            @confirm="handleConfirm"
+            @cancel="handleCancel('track_visible')"
         >
-        </el-table-column>
-        <el-table-column prop="explain" label="审批说明" align="center">
-        </el-table-column>
-      </el-table>
-    </simple-dialog>
-  </div>
+            <el-table :data="trackList" border>
+                <el-table-column
+                    prop="link"
+                    label="流程环节"
+                    align="center"
+                    width="180"
+                >
+                </el-table-column>
+                <el-table-column
+                    prop="creatperson"
+                    label="处理人"
+                    align="center"
+                    width="180"
+                >
+                </el-table-column>
+                <el-table-column prop="explain" label="审批说明" align="center">
+                </el-table-column>
+            </el-table>
+        </simple-dialog>
+    </div>
 </template>
 
 <script>
@@ -125,282 +148,199 @@ import simplePagination from "./components/pagination.vue";
 import simpleDialog from "./components/dialog.vue";
 import analysis from "./analysis.vue";
 export default {
-  components: {
-    simpleForm,
-    simpleTable,
-    simplePagination,
-    simpleDialog,
-    analysis,
-  },
-  data() {
-    return {
-      page: 1,
-      total: 5,
-      //   dialog 参数
-      visible: false,
-      approve_visible: false,
-      track_visible: false,
-      reload: 0,
-      // 判断类型
-      type: "2",
-      approverules: {
-        comments: [
-          {
-            required: true,
-            message: "请输入审批意见",
-            trigger: "blur",
-          },
-        ],
-      },
-      // 审批意见
-      approveForm: { comments: "" },
-      trackList: [
-        {
-          link: "发起工单",
-          creatperson: "XXX  2021-06-08",
-          explain: "",
-        },
-      ],
-      //   顶部form
-      table_form: [
-        {
-          label: "绩效分类",
-          props: "department",
-          type: "select",
-          dictionary: [
-            {
-              label: "GS",
-              value: "1",
-            },
-            {
-              label: "KPI",
-              value: "2",
-            },
-          ],
-        },
-        {
-          label: "下发月份",
-          props: "month",
-          type: "month",
-        },
-        {
-          label: "状态",
-          props: "service",
-          type: "select",
-          dictionary: [
-            {
-              label: "待处理",
-              value: "1",
-            },
-            {
-              label: "待汇总",
-              value: "2",
-            },
-            {
-              label: "待审批",
-              value: "3",
-            },
-            {
-              label: "已完成",
-              value: "4",
+    components: {
+        simpleForm,
+        simpleTable,
+        simplePagination,
+        simpleDialog,
+        analysis,
+    },
+    data() {
+        return {
+            page: 1,
+            total: 5,
+            //   dialog 参数
+            visible: false,
+            approve_visible: false,
+            track_visible: false,
+            reload: 0,
+            // 判断类型
+            type: "2",
+            approverules: {
+                comments: [
+                    {
+                        required: true,
+                        message: "请输入审批意见",
+                        trigger: "blur",
+                    },
+                ],
             },
-          ],
-        },
-      ],
-      //   列表数据
-      table_list: [
-        {
-          preCata1: "GS",
-          preCata2: "信息技术中心2021年度部门GS绩效计划",
-          preCata3: "XXXXXXXXX",
-          preCata4: "XXXXXXXXX",
-          preCata5: "2021.02.01",
-          preCata6: "周钰",
-          preCata7: "待处理",
-        },
-        {
-          preCata1: "GS",
-          preCata2: "信息技术中心2021年度部门GS绩效计划",
-          preCata3: "XXXXXXXXX",
-          preCata4: "XXXXXXXXX",
-          preCata5: "2021.02.01",
-          preCata6: "周钰",
-          preCata7: "待汇总",
-        },
-        {
-          preCata1: "GS",
-          preCata2: "信息技术中心2021年度部门GS绩效计划",
-          preCata3: "XXXXXXXXX",
-          preCata4: "XXXXXXXXX",
-          preCata5: "2021.02.01",
-          preCata6: "周钰",
-          preCata7: "待审批",
-        },
-        {
-          preCata1: "GS",
-          preCata2: "信息技术中心2021年度部门GS绩效计划",
-          preCata3: "XXXXXXXXX",
-          preCata4: "XXXXXXXXX",
-          preCata5: "2021.02.01",
-          preCata6: "周钰",
-          preCata7: "待处理",
-        },
-        {
-          preCata1: "GS",
-          preCata2: "信息技术中心2021年度部门GS绩效计划",
-          preCata3: "XXXXXXXXX",
-          preCata4: "XXXXXXXXX",
-          preCata5: "2021.02.01",
-          preCata6: "周钰",
-          preCata7: "已完成",
-        },
-          {
-          preCata1: "KPI",
-          preCata2: "信息技术中心2021年度部门KPI绩效计划",
-          preCata3: "XXXXXXXXX",
-          preCata4: "XXXXXXXXX",
-          preCata5: "2021.02.01",
-          preCata6: "周钰",
-          preCata7: "待处理",
-        },
-        {
-          preCata1: "GS",
-          preCata2: "信息技术中心2021年度部门GS绩效计划",
-          preCata3: "XXXXXXXXX",
-          preCata4: "XXXXXXXXX",
-          preCata5: "2021.02.01",
-          preCata6: "周钰",
-          preCata7: "待汇总",
-        },
-        {
-          preCata1: "KPI",
-          preCata2: "信息技术中心2021年度部门KPI绩效计划",
-          preCata3: "XXXXXXXXX",
-          preCata4: "XXXXXXXXX",
-          preCata5: "2021.02.01",
-          preCata6: "周钰",
-          preCata7: "待审批",
-        },
-        {
-          preCata1: "GS",
-          preCata2: "信息技术中心2021年度部门GS绩效计划",
-          preCata3: "XXXXXXXXX",
-          preCata4: "XXXXXXXXX",
-          preCata5: "2021.02.01",
-          preCata6: "周钰",
-          preCata7: "待处理",
-        },
-        {
-          preCata1: "KPI",
-          preCata2: "信息技术中心2021年度部门KPI绩效计划",
-          preCata3: "XXXXXXXXX",
-          preCata4: "XXXXXXXXX",
-          preCata5: "2021.02.01",
-          preCata6: "周钰",
-          preCata7: "已完成",
+            // 审批意见
+            approveForm: { comments: "" },
+            trackList: [
+                {
+                    link: "发起工单",
+                    creatperson: "XXX  2021-06-08",
+                    explain: "",
+                },
+            ],
+            //   顶部form
+            table_form: [
+                {
+                    label: "绩效分类",
+                    props: "department",
+                    type: "select",
+                    dictionary: [
+                        {
+                            label: "GS",
+                            value: "1",
+                        },
+                        {
+                            label: "KPI",
+                            value: "2",
+                        },
+                    ],
+                },
+                {
+                    label: "下发月份",
+                    props: "month",
+                    type: "month",
+                },
+                {
+                    label: "状态",
+                    props: "service",
+                    type: "select",
+                    dictionary: [
+                        {
+                            label: "待处理",
+                            value: "1",
+                        },
+                        {
+                            label: "待汇总",
+                            value: "2",
+                        },
+                        {
+                            label: "待审批",
+                            value: "3",
+                        },
+                        {
+                            label: "已完成",
+                            value: "4",
+                        },
+                    ],
+                },
+            ],
+            //   列表数据
+            table_list: [],
+            table_loading: false,
+            //   表格里的操作按钮
+            table_handle_row: [
+                {
+                    label: "查看",
+                    props: "check",
+                },
+                {
+                    label: "处理",
+                    props: "edit",
+                    visible: {
+                        department_status: ["待处理", "待审批"],
+                    },
+                },
+            ],
+            //  表头配置
+            table_config: [
+                {
+                    label: "绩效分类",
+                    props: "performance_type",
+                },
+                {
+                    label: "模板名称",
+                    props: "template_name",
+                },
+                {
+                    label: "填报事由",
+                    props: "reason",
+                },
+                {
+                    label: "填报注意事项",
+                    props: "note",
+                },
+                {
+                    label: "截止时间",
+                    props: "date",
+                    type: "date",
+                },
+                {
+                    label: "发起人",
+                    props: "template_number",
+                },
+                {
+                    label: "状态",
+                    props: "department_status",
+                },
+            ],
+        };
+    },
+    mounted() {
+        this.handleInit();
+    },
+    methods: {
+        //   初始化
+        handleInit() {
+            this.table_list = JSON.parse(sessionStorage.global_data).filter(
+                (element) => element.issue_status
+            );
         },
-      ],
-      table_loading: false,
-      //   表格里的操作按钮
-      table_handle_row: [
-        {
-          label: "查看",
-          props: "check",
+        handleChange(page) {
+            this.page = page;
+            this.handleInit();
         },
-        {
-          label: "处理",
-          props: "edit",
-          visible: {
-            preCata7: ["待处理", "待审批"],
-          },
+        // 搜索事件
+        handleSearch(data) {
+            console.log(data);
         },
-      ],
-      //  表头配置
-      table_config: [
-        {
-          label: "绩效分类",
-          props: "preCata1",
+        // 编辑按钮
+        handleEdit(row) {
+            console.log(row, "row");
+            this.visible = true;
         },
-        {
-          label: "模板名称",
-          props: "preCata2",
+        handleCheck(row) {
+            console.log(row, "row");
+            this.visible = true;
         },
-        {
-          label: "填报事由",
-          props: "preCata3",
+        handleDelete() {},
+        // dialog事件
+        //权限管理事件
+        handleApprove() {
+            this.approve_visible = true;
         },
-        {
-          label: "填报注意事项",
-          props: "preCata4",
+        handleTrack() {
+            this.track_visible = true;
         },
-        {
-          label: "截止时间",
-          props: "preCata5",
+        handleTurn(type) {
+            this.handleCancel("approve_visible");
+            console.log(type);
         },
-        {
-          label: "发起人",
-          props: "preCata6",
+        handleConfirm(visible) {
+            console.log(visible);
+            this.track_visible = visible;
         },
-        {
-          label: "状态",
-          props: "preCata7",
+        // 关闭方法
+        handleCancel(data) {
+            switch (data) {
+                case "visible":
+                    this.visible = false;
+                    break;
+                case "approve_visible":
+                    this.approveForm.comments = "";
+                    this.approve_visible = false;
+                    break;
+                case "track_visible":
+                    this.track_visible = false;
+                    break;
+            }
         },
-      ],
-    };
-  },
-  methods: {
-    //   初始化
-    handleInit() {},
-    handleChange(page) {
-      this.page = page;
-      this.handleInit();
-    },
-    // 搜索事件
-    handleSearch(data) {
-      console.log(data);
-    },
-    // 编辑按钮
-    handleEdit(row) {
-      console.log(row, "row");
-      this.visible = true;
-    },
-    handleCheck(row) {
-       console.log(row, "row");
-      this.visible = true;
-    },
-    handleDelete() {},
-    // dialog事件
-    //权限管理事件
-    handleApprove() {
-      this.approve_visible = true;
-    },
-    handleTrack() {
-      this.track_visible = true;
-    },
-    handleTurn(type) {
-      this.handleCancel('approve_visible')
-      console.log(type);
-    },
-    handleConfirm(visible) {
-      console.log(visible);
-      this.track_visible = visible;
-    },
-    // 关闭方法
-    handleCancel(data) {
-      switch (data) {
-        case "visible": {
-          this.visible = false;
-        }
-        case "approve_visible": {
-          this.approveForm.comments = ''
-          this.approve_visible = false;
-        }
-        case "track_visible": {
-          this.track_visible = false;
-        }
-      }
     },
-  },
 };
 </script>
 

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 40 - 0
src/pages/main/performance/index.vue


+ 20 - 12
src/pages/main/performance/issue.vue

@@ -12,6 +12,7 @@
                 :handle-row="table_handle_row"
                 @receiver="handleVisible('receiver')"
                 @detail="handleVisible('template')"
+                @delete="handleDelete"
                 @edit="handleVisible('template')"
             ></simple-table>
             <simple-pagination
@@ -137,6 +138,7 @@ export default {
                 {
                     label: "截止时间",
                     props: "date",
+                    type: "date",
                 },
                 {
                     label: "接收人",
@@ -148,12 +150,12 @@ export default {
                 {
                     receiver: "邱钰",
                     department: "科室1",
-                    date: "2021.11.4",
+                    date: "",
                 },
                 {
                     receiver: "郭鹏",
-                    department: "科室1",
-                    date: "2021.11.4",
+                    department: "科室2",
+                    date: "",
                 },
             ],
             receiver_table_config: [
@@ -177,15 +179,12 @@ export default {
             this.table_loading = true;
             const data = [];
             let index = 0;
-            while (index < 10) {
-                data.push({
-                    performance_type: `GS`,
-                    template_name: `信息技术中心2021年度部门GS绩效计划(${index})`,
-                    reason: `填报事由${index}`,
-                    note: `填报注意事项${index}`,
-                    date: `2021.02.01`,
-                    receiver: `邱钰、郭鹏`,
-                });
+            while (index < 1) {
+                data.push(
+                    ...JSON.parse(sessionStorage.getItem("global_data")).filter(
+                        (element) => element.issue_status
+                    )
+                );
                 index = index + 1;
             }
             this.total = index;
@@ -214,6 +213,15 @@ export default {
         handleReset() {
             this.page = 1;
         },
+        handleDelete() {
+            const array = [{
+                ...JSON.parse(sessionStorage.global_data)[0],
+                issue_status: 0,
+            }];
+            sessionStorage.setItem("global_data", JSON.stringify(array));
+            this.$message.success("撤回成功");
+            this.handleInit()
+        },
     },
     mounted() {
         this.handleInit();

+ 313 - 294
src/pages/main/performance/mould.vue

@@ -1,141 +1,147 @@
 <template>
-  <div>
-    <div class="simple-container">
-      <simple-form
-        :form="table_form"
-        :handle="table_handle"
-        @search="handleSearch"
-        @add="handleVisible('add')"
-      ></simple-form>
-      <simple-table
-        :list="table_list"
-        :config="table_config"
-        :loading="table_loading"
-        :handle-row="table_handle_row"
-        @issue="handleVisible('issue')"
-        @detail="handleVisible('template')"
-      ></simple-table>
-      <simple-pagination
-        :page="page"
-        :total="total"
-        @change="handleChange"
-      ></simple-pagination>
-    </div>
-    <simple-dialog
-      title="查看模板"
-      fullscreen
-      @cancel="handleVisible('template')"
-      @confirm="handleVisible('template')"
-      :visible="template_visible"
-    >
-      <div class="flex-justify-between padding-right-20 padding-left-20">
-        <div>
-          <el-button type="primary" @click="handleVisible('power')">权限设置</el-button
-          ><el-button type="primary">导出</el-button>
-        </div>
-        <div>
-          <el-button @click="handleVisible('template')" type="primary"
-            >返回</el-button
-          >
+    <div>
+        <div class="simple-container">
+            <simple-form
+                :form="table_form"
+                :handle="table_handle"
+                @search="handleSearch"
+                @add="handleVisible('add')"
+            ></simple-form>
+            <simple-table
+                :list="table_list"
+                :config="table_config"
+                :loading="table_loading"
+                :handle-row="table_handle_row"
+                @issue="handleVisible('issue')"
+                @detail="handleVisible('template')"
+                @delete="handleDelete"
+            ></simple-table>
+            <simple-pagination
+                :page="page"
+                :total="total"
+                @change="handleChange"
+            ></simple-pagination>
         </div>
-      </div>
-      <analysis />
-      <template v-slot:footer><div></div></template>
-    </simple-dialog>
-    <simple-dialog
-      title="下发"
-      width="500px"
-      @cancel="handleVisible('issue')"
-      @confirm="handleVisible('issue')"
-      :visible="issue_visible"
-    >
-      <el-form label-width="100px" :model="form">
-        <el-form-item label="填报事由">
-          <el-input v-model="form.name"></el-input>
-        </el-form-item>
-        <el-form-item label="填报注意事项">
-          <el-input v-model="form.region"></el-input>
-        </el-form-item>
-        <el-form-item label="截止时间">
-          <el-input v-model="form.type"></el-input>
-        </el-form-item>
-        <el-form-item label="">
-          <el-upload
-            drag
-            action="https://jsonplaceholder.typicode.com/posts/"
-            multiple
-          >
-            <i class="el-icon-upload"></i>
-            <div>上传附件</div>
-          </el-upload>
-        </el-form-item>
-      </el-form>
-    </simple-dialog>
-    <simple-dialog
-      fullscreen
-      title="新增模板"
-      :visible="add_visible"
-      :reload="reload"
-      width="1200px"
-      @confirm="handleVisible('add')"
-      @cancel="handleVisible('add')"
-    >
-      <el-form inline :model="form" label-width="100px">
-        <el-form-item label="绩效类型">
-          <el-select v-model="form.type">
-            <el-option label="部门绩效" value="部门绩效"></el-option
-            ><el-option
-              label="员工绩效"
-              value="员工绩效"
-            ></el-option> </el-select
-        ></el-form-item>
-        <el-form-item label="绩效分类">
-          <el-select v-model="form.class">
-            <el-option label="GS" value="GS"></el-option
-            ><el-option label="KPI" value="KPI"></el-option> </el-select
-        ></el-form-item>
-        <el-form-item label="">
-          <el-button type="primary" @click="handleVisible('power')"
-            >权限设置</el-button
-          >
-        </el-form-item>
-      </el-form>
-      <simple-sheet />
-      <template v-slot:footer><div></div></template>
-    </simple-dialog>
-    <simple-dialog
-      title="权限设置"
-      :visible="power_visible"
-      :reload="reload"
-      width="700px"
-      @confirm="handleVisible('power')"
-      @cancel="handleVisible('power')"
-    >
-      <el-form :model="form" label-width="100px">
-        <el-form-item label="可编辑列"
-          ><el-input v-model="form.editrows"
-        /></el-form-item>
-        <el-form-item label="权限规则">
-          <el-select v-model="form.rule">
-            <el-option
-              v-for="item in ruleoptions"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            ></el-option> </el-select
-        ></el-form-item>
-        <el-form-item label="负责人">
-          <div>
-            <el-cascader-panel
-              v-model="form.charge"
-              :options="charge_options"
-              clearable
-              @change="handleCascader"
-            ></el-cascader-panel></div
-        ></el-form-item>
-      </el-form>
-    </simple-dialog>
-  </div>
+        <simple-dialog
+            title="查看模板"
+            fullscreen
+            @cancel="handleVisible('template')"
+            @confirm="handleVisible('template')"
+            :visible="template_visible"
+        >
+            <div class="flex-justify-between padding-right-20 padding-left-20">
+                <div>
+                    <el-button type="primary" @click="handleVisible('power')"
+                        >权限设置</el-button
+                    ><el-button type="primary">导出</el-button>
+                </div>
+                <div>
+                    <el-button @click="handleVisible('template')" type="primary"
+                        >返回</el-button
+                    >
+                </div>
+            </div>
+            <analysis />
+            <template v-slot:footer><div></div></template>
+        </simple-dialog>
+        <simple-dialog
+            title="下发"
+            width="500px"
+            @cancel="handleVisible('issue')"
+            @confirm="handleIssue"
+            :visible="issue_visible"
+        >
+            <el-form label-width="100px" :model="form">
+                <el-form-item label="填报事由">
+                    <el-input v-model="form.reason"></el-input>
+                </el-form-item>
+                <el-form-item label="填报注意事项">
+                    <el-input v-model="form.note"></el-input>
+                </el-form-item>
+                <el-form-item label="截止时间">
+                    <el-date-picker v-model="form.date" type="date">
+                    </el-date-picker>
+                </el-form-item>
+                <el-form-item label="">
+                    <el-upload
+                        drag
+                        action="https://jsonplaceholder.typicode.com/posts/"
+                        multiple
+                    >
+                        <i class="el-icon-upload"></i>
+                        <div>上传附件</div>
+                    </el-upload>
+                </el-form-item>
+            </el-form>
+        </simple-dialog>
+        <simple-dialog
+            fullscreen
+            title="新增模板"
+            :visible="add_visible"
+            :reload="reload"
+            width="1200px"
+            @confirm="handleVisible('add')"
+            @cancel="handleVisible('add')"
+        >
+            <el-form inline :model="form" label-width="100px">
+                <el-form-item label="绩效类型">
+                    <el-select v-model="form.type">
+                        <el-option label="部门绩效" value="部门绩效"></el-option
+                        ><el-option
+                            label="员工绩效"
+                            value="员工绩效"
+                        ></el-option> </el-select
+                ></el-form-item>
+                <el-form-item label="绩效分类">
+                    <el-select v-model="form.class">
+                        <el-option label="GS" value="GS"></el-option
+                        ><el-option
+                            label="KPI"
+                            value="KPI"
+                        ></el-option> </el-select
+                ></el-form-item>
+                <el-form-item label="">
+                    <el-button type="primary" @click="handleVisible('power')"
+                        >权限设置</el-button
+                    >
+                </el-form-item>
+            </el-form>
+            <simple-sheet />
+            <template v-slot:footer><div></div></template>
+        </simple-dialog>
+        <simple-dialog
+            title="权限设置"
+            :visible="power_visible"
+            :reload="reload"
+            width="700px"
+            @confirm="handleVisible('power')"
+            @cancel="handleVisible('power')"
+        >
+            <el-form :model="form" label-width="100px">
+                <el-form-item label="可编辑列"
+                    ><el-input v-model="form.editrows"
+                /></el-form-item>
+                <el-form-item label="权限规则">
+                    <el-select v-model="form.rule">
+                        <el-option
+                            v-for="item in ruleoptions"
+                            :key="item.value"
+                            :label="item.label"
+                            :value="item.value"
+                        ></el-option> </el-select
+                ></el-form-item>
+                <el-form-item label="负责人">
+                    <div>
+                        <el-cascader-panel
+                            v-model="form.charge"
+                            :options="charge_options"
+                            clearable
+                            @change="handleCascader"
+                        ></el-cascader-panel></div
+                ></el-form-item>
+            </el-form>
+        </simple-dialog>
+    </div>
 </template>
 
 <script>
@@ -146,174 +152,187 @@ import simpleTable from "./components/table.vue";
 import simpleDialog from "./components/dialog.vue";
 import simplePagination from "./components/pagination.vue";
 export default {
-  components: {
-    analysis,
-    simpleTable,
-    simpleDialog,
-    simpleForm,
-    simpleSheet,
-    simplePagination,
-  },
-  data() {
-    return {
-      page: 1,
-      rows: 10,
-      total: 0,
-      form: {},
-      reload: 0,
-      ruleoptions: [
-        {
-          value: "按行号",
-          label: "按行号",
-        },
-        {
-          value: "按科室分配",
-          label: "按科室分配",
-        },
-        {
-          value: "按负责人分配",
-          label: "按负责人分配",
-        },
-        {
-          value: "所有人员",
-          label: "",
-        },
-      ],
-      charge_options: [
-        {
-          label: "科室名称1",
-          value: "科室名称1",
-          children: [
-            {
-              label: "负责人",
-              value: "负责人",
-              children: [{ label: "尹强", value: "尹强" }],
-            },
-          ],
-        },
-      ],
-      add_visible: false,
-      power_visible: false,
-      template_visible: false,
-      issue_visible: false,
-      table_loading: false,
-      table_search: {},
-      table_form: [
-        {
-          label: "模板名称",
-          props: "template_name",
-          type: "input",
-        },
-      ],
-      table_list: [],
-      table_handle: [
-        {
-          label: "新增模板",
-          props: "add",
-        },
-      ],
-      table_handle_row: [
-        {
-          label: "下发",
-          props: "issue",
-        },
-        {
-          label: "查看",
-          props: "detail",
+    components: {
+        analysis,
+        simpleTable,
+        simpleDialog,
+        simpleForm,
+        simpleSheet,
+        simplePagination,
+    },
+    data() {
+        return {
+            page: 1,
+            rows: 10,
+            total: 0,
+            form: {},
+            reload: 0,
+            ruleoptions: [
+                {
+                    value: "按行号",
+                    label: "按行号",
+                },
+                {
+                    value: "按科室分配",
+                    label: "按科室分配",
+                },
+                {
+                    value: "按负责人分配",
+                    label: "按负责人分配",
+                },
+                {
+                    value: "所有人员",
+                    label: "",
+                },
+            ],
+            charge_options: [
+                {
+                    label: "科室名称1",
+                    value: "科室名称1",
+                    children: [
+                        {
+                            label: "负责人",
+                            value: "负责人",
+                            children: [{ label: "尹强", value: "尹强" }],
+                        },
+                    ],
+                },
+            ],
+            add_visible: false,
+            power_visible: false,
+            template_visible: false,
+            issue_visible: false,
+            table_loading: false,
+            table_search: {},
+            table_form: [
+                {
+                    label: "模板名称",
+                    props: "template_name",
+                    type: "input",
+                },
+            ],
+            table_list: [],
+            table_handle: [
+                {
+                    label: "新增模板",
+                    props: "add",
+                },
+            ],
+            table_handle_row: [
+                {
+                    label: "下发",
+                    props: "issue",
+                },
+                {
+                    label: "查看",
+                    props: "detail",
+                },
+                {
+                    label: "删除",
+                    props: "delete",
+                    popconfirm: true,
+                },
+            ],
+            table_config: [
+                {
+                    label: "模板名称",
+                    props: "template_name",
+                },
+                {
+                    label: "配置时间",
+                    props: "template_date",
+                },
+                {
+                    label: "配置工号",
+                    props: "template_number",
+                },
+                {
+                    label: "模板分类",
+                    props: "template_class",
+                },
+                {
+                    label: "模板状态",
+                    props: "template_status",
+                },
+                {
+                    label: "模板类型",
+                    props: "template_type",
+                },
+            ],
+        };
+    },
+    methods: {
+        async handleInit() {
+            this.table_loading = true;
+            const data = [];
+            let index = 0;
+            while (index < 1) {
+                data.push(...JSON.parse(sessionStorage.global_data));
+                index = index + 1;
+            }
+            this.total = index;
+            this.table_list = data;
+            this.table_loading = false;
         },
-        {
-          label: "删除",
-          props: "delete",
-          popconfirm: true,
+        handleSearch({ template_name }) {
+            this.table_search = { template_name };
+            this.handleReset();
+            this.handleInit();
         },
-      ],
-      table_config: [
-        {
-          label: "模板名称",
-          props: "template_name",
+        handleAdd() {},
+        // 级联选择
+        handleCascader(data) {
+            console.log(data, "data");
         },
-        {
-          label: "配置时间",
-          props: "template_date",
+        handlePower() {},
+        handleChange(page) {
+            this.page = page;
+            this.handleInit();
         },
-        {
-          label: "配置工号",
-          props: "template_number",
+        handleVisible(props) {
+            switch (props) {
+                case "add":
+                    this.add_visible = !this.add_visible;
+                    break;
+                case "power":
+                    this.power_visible = !this.power_visible;
+                    break;
+                case "template":
+                    this.template_visible = !this.template_visible;
+                    break;
+                case "issue":
+                    this.issue_visible = !this.issue_visible;
+                    break;
+            }
         },
-        {
-          label: "模板分类",
-          props: "template_class",
+        handleReset() {
+            this.page = 1;
         },
-        {
-          label: "模板状态",
-          props: "template_status",
+        handleDelete() {
+            sessionStorage.setItem("global_data", JSON.stringify([]));
+            this.$message.success("删除成功");
+            this.handleInit();
         },
-        {
-          label: "模板类型",
-          props: "template_type",
+        handleIssue() {
+            const array = [
+                {
+                    ...JSON.parse(sessionStorage.global_data)[0],
+                    issue_status: 1,
+                    performance_type: "GS",
+                    reason: this.form.reason,
+                    note: this.form.note,
+                    date: this.form.date,
+                    receiver: `邱钰,郭鹏`,
+                },
+            ];
+            sessionStorage.setItem("global_data", JSON.stringify(array));
+            this.$message.success("下发成功");
+            this.handleVisible("issue");
         },
-      ],
-    };
-  },
-  methods: {
-    async handleInit() {
-      this.table_loading = true;
-      const data = [];
-      let index = 0;
-      while (index < 10) {
-        data.push({
-          template_name: `模板${index}`,
-          template_date: "2021-12-01 12:00:00",
-          template_number: `NUMBER${index}`,
-          template_class: `部门绩效${index}`,
-          template_status: `在用`,
-          template_type: `科室绩效${index}`,
-        });
-        index = index + 1;
-      }
-      this.total = index;
-      this.table_list = data;
-      this.table_loading = false;
-    },
-    handleSearch({ template_name }) {
-      this.table_search = { template_name };
-      this.handleReset();
-      this.handleInit();
-    },
-    handleAdd() {},
-    // 级联选择
-    handleCascader(data) {
-      console.log(data, "data");
-    },
-    handlePower(){
-
-    },
-    handleChange(page) {
-      this.page = page;
-      this.handleInit();
-    },
-    handleVisible(props) {
-      switch (props) {
-        case "add":
-          this.add_visible = !this.add_visible;
-          break;
-        case "power":
-          this.power_visible = !this.power_visible;
-          break;
-        case "template":
-          this.template_visible = !this.template_visible;
-          break;
-        case "issue":
-          this.issue_visible = !this.issue_visible;
-      }
     },
-    handleReset() {
-      this.page = 1;
+    mounted() {
+        this.handleInit();
     },
-  },
-  mounted() {
-    this.handleInit();
-  },
 };
 </script>