diff --git a/attendance-performance-manager-ui/admin/src/components/FileUpload.vue b/attendance-performance-manager-ui/admin/src/components/FileUpload.vue
index 246c9d98e5fc1eaf32856c6f863dfe31d204ef93..aae2efa712de7d9f0842fa90672bbd8c52e60a4c 100644
--- a/attendance-performance-manager-ui/admin/src/components/FileUpload.vue
+++ b/attendance-performance-manager-ui/admin/src/components/FileUpload.vue
@@ -44,7 +44,13 @@
         class="el-upload-list__item ele-upload-list__item-content"
         v-for="(file, index) in list"
       >
-        <el-link :href="baseUrl + file.url" :underline="false" target="_blank">
+        <el-link
+          :href="
+            file.url[0].indexOf('https') == -1 ? baseUrl + file.url : file.url
+          "
+          :underline="false"
+          target="_blank"
+        >
           <span class="el-icon-document" style="font-size: 12px">
             {{ getFileName(file.name) }}
           </span>
@@ -145,15 +151,23 @@ export default {
     list() {
       let temp = 1;
       if (this.value) {
-        console.log("value", this.value);
         // 棣栧厛灏嗗€艰浆涓烘暟缁�
         const list = Array.isArray(this.value) ? this.value : [this.value];
+        list &&
+          list.forEach((v) => {
+            v.url.indexOf("https") >= 0 ? (v.url = JSON.parse(v.url)) : v.url;
+          });
         // 鐒跺悗灏嗘暟缁勮浆涓哄璞℃暟缁�
         this.fileList = list.map((item) => {
-          item = { name: item.name, url: item.url };
+          item = {
+            name: item.name,
+            url:
+              item.url.indexOf("[`\`") >= 0 ? JSON.parse(item.url) : item.url,
+          };
           item.uid = item.uid || new Date().getTime() + temp++;
           return item;
         });
+
         return this.fileList;
       } else {
         this.fileList = [];
diff --git a/attendance-performance-manager-ui/admin/src/views/attendance/leave/record/list.vue b/attendance-performance-manager-ui/admin/src/views/attendance/leave/record/list.vue
index 8cc05b09000a825bb904e019e323078d60577a31..e27fefda388aa9d101242d1768df8c4e4ad80a28 100644
--- a/attendance-performance-manager-ui/admin/src/views/attendance/leave/record/list.vue
+++ b/attendance-performance-manager-ui/admin/src/views/attendance/leave/record/list.vue
@@ -164,7 +164,7 @@ export default {
             prop: "auditResult",
             formatter: this.formatter,
           },
-          { label: "瀹℃壒璐熻矗浜�", prop: "approver" },
+          // { label: "瀹℃壒璐熻矗浜�", prop: "approver" },
 
           {
             label: "鍒涘缓鐢ㄦ埛",
diff --git a/attendance-performance-manager-ui/admin/src/views/check/window/perform/drawershow.vue b/attendance-performance-manager-ui/admin/src/views/check/window/perform/drawershow.vue
index 0e931aa6de24b3e20b114c43ad4b7c8637bda69d..e98f4e5f4fd5083e0776dfb5accaa073d6ef883e 100644
--- a/attendance-performance-manager-ui/admin/src/views/check/window/perform/drawershow.vue
+++ b/attendance-performance-manager-ui/admin/src/views/check/window/perform/drawershow.vue
@@ -7,7 +7,177 @@
     :destroy-on-close="true"
     size="50%"
   >
-    <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+    <div class="content_box">
+      <div class="text_line">
+        <div class="text_box">
+          <span>绐楀彛璐熻矗浜猴細</span>
+          <span>{{ form.ownerName }}</span>
+        </div>
+        <div class="text_box">
+          <span>鐧昏骞存湀锛�</span>
+          <span>{{
+            `${form.year ? form.year : "--"}-${
+              form.month
+                ? [1, 2, 3, 4, 5, 6, 7, 8, 9].includes(form.month)
+                  ? "0" + form.month
+                  : form.month
+                : "--"
+            }`
+          }}</span>
+        </div>
+        <div class="text_box">
+          <span>绐楀彛缂栧彿锛�</span>
+          <span>{{ form.windowName }}</span>
+        </div>
+      </div>
+      <div class="text_line">
+        <div class="text_box">
+          <span>宸ヤ綔鎬荤粨锛�</span>
+          <span>{{ form.workSummary }}</span>
+        </div>
+      </div>
+      <div class="text_line">
+        <div class="text_box">
+          <span>鍔犲垎鐢虫姤锛�</span>
+          <span>{{ form.bonusReport }}</span>
+        </div>
+      </div>
+      <div class="text_line">
+        <div class="text_box">
+          <span>鍔犲垎浣愯瘉鏉愭枡锛�</span>
+          <span>{{ form.bonusReport }}</span>
+        </div>
+      </div>
+      <div class="text_line">
+        <div class="text_box">
+          <span>鎵e垎鎯呭喌锛�</span>
+          <span>{{ form.deductStatement }}</span>
+        </div>
+      </div>
+      <div class="text_line">
+        <div class="text_box">
+          <span>鎵e垎鍒嗗€硷細</span>
+          <span>{{ form.deductScore }}</span>
+        </div>
+      </div>
+      <div class="text_line">
+        <div class="text_box">
+          <span>鑷瘎寰楀垎锛�</span>
+          <span style="width: 820px;"
+            ><el-table :data="tableData" border style="width: 100%">
+              <el-table-column
+                prop="discipline"
+                label="宸ヤ綔绾緥"
+                align="center"
+              >
+              </el-table-column>
+              <el-table-column
+                prop="specification"
+                label="鏈嶅姟瑙勮寖"
+                align="center"
+              >
+              </el-table-column>
+              <el-table-column prop="bonusScore" label="鍔犲垎" align="center">
+              </el-table-column>
+              <el-table-column prop="sumScore" label="鍚堣寰楀垎" align="center">
+              </el-table-column>
+              <el-table-column prop="selfLevel" label="鑷瘎绛夌骇" align="center">
+              </el-table-column>
+            </el-table>
+          </span>
+        </div>
+      </div>
+      <div class="text_line">
+        <div class="text_box">
+          <span>澶囨敞锛�</span>
+          <span>{{ form.remark }}</span>
+        </div>
+      </div>
+      <div class="text_line">
+        <div class="text_box">
+          <span>闄勪欢鏉愭枡锛�</span>
+          <span>{{ form.annex }}</span>
+        </div>
+      </div>
+      <div class="hecha_box">
+        <div class="hecha_title">
+          <span class="line"></span>
+          <span>鏍告煡鎯呭喌</span>
+        </div>
+        <div class="hecha_content">
+          <el-form ref="form" :model="form" :rules="rules" label-width="180px">
+            <el-row>
+              <el-form-item label="鏀垮姟鏈嶅姟绠$悊绉戣瘎鑽愭剰瑙侊細" prop="checkResult">
+                <div
+                  v-if="form.view == '鏌ョ湅'"
+                  style="display: flex; justify-content: space-between;"
+                >
+                  <span class="left">
+                    {{ form.manageCheckResult }}
+                  </span>
+                  <span class="right">
+                    {{ form.manageCheckPerson }}
+                    {{ functionTime(form.manageCheckTime) }} 鏍告煡
+                  </span>
+                </div>
+                <el-radio-group v-model="form.manageCheckResult" v-else>
+                  <el-radio
+                    v-for="(val, i) in dict.manageCheckResult"
+                    :key="i"
+                    :label="val"
+                    >{{ val }}</el-radio
+                  >
+                </el-radio-group>
+              </el-form-item>
+              <el-form-item label="绠$悊缁勬牳鏌ヨ鏄庯細" prop="manageCheckDesc">
+                <el-input
+                  v-model="form.manageCheckDesc"
+                  type="textarea"
+                  placeholder="璇峰~鍐欒鏄�"
+                  :disabled="form.view == '鏌ョ湅'"
+                ></el-input>
+              </el-form-item>
+              <el-form-item label="棰嗗灏忕粍瀹″畾鎰忚锛�" prop="leaderCheckResult">
+                <div
+                  v-if="form.view == '鏌ョ湅'"
+                  style="display: flex; justify-content: space-between;"
+                >
+                  <span class="left">
+                    {{ form.leaderCheckResult }}
+                  </span>
+                  <span class="right">
+                    {{ form.leaderCheckPerson }}
+                    {{ functionTime(form.leaderCheckTime) }} 鏍告煡
+                  </span>
+                </div>
+                <el-radio-group v-model="form.leaderCheckResult" v-else>
+                  <el-radio
+                    v-for="(val, i) in dict.leaderCheckResult"
+                    :key="i"
+                    :label="val"
+                    >{{ val }}</el-radio
+                  >
+                </el-radio-group>
+              </el-form-item>
+              <el-form-item label="棰嗗灏忕粍鏍告煡璇存槑锛�" prop="leaderCheckDesc">
+                <el-input
+                  v-model="form.leaderCheckDesc"
+                  type="textarea"
+                  placeholder="璇峰~鍐欒鏄�"
+                  :disabled="form.view == '鏌ョ湅'"
+                ></el-input>
+              </el-form-item>
+            </el-row>
+            <form-buttons
+              @submit="submitForm"
+              v-if="pageInfo.type != 'view'"
+              noCancelBtn
+            />
+          </el-form>
+        </div>
+      </div>
+    </div>
+    <!-- <el-form ref="form" :model="form" :rules="rules" label-width="120px">
       <el-row>
         <Field
           label="璁板綍ID"
@@ -168,12 +338,14 @@
         v-if="pageInfo.type != 'view'"
         noCancelBtn
       />
-    </el-form>
+    </el-form> -->
   </el-drawer>
 </template>
 
 <script>
 import form from "@/assets/mixins/formdialog";
+import { timestampToTime } from "@/assets/utils/dateFormat.js";
+
 export default {
   name: "CheckWindowPerformDetail",
   mixins: [form],
@@ -194,18 +366,76 @@ export default {
       toDate: ["submitDate", "manageCheckTime", "leaderCheckTime"],
       // 琛ㄥ崟鏍¢獙
       rules: {},
+      tableData: [],
     };
   },
 
   methods: {
+    functionTime(val) {
+      let time = timestampToTime(val, 6);
+      return time;
+    },
     /** 缂栬緫 */
-    edit(row) {
+    async edit(row) {
+      //   this.reset();
+      //   this.query = { id: row.id };
+      this.urls.currUrl = "check/window/perform/save";
+      //   this.getData();
+      //   this.pageInfo.type = "edit";
+      //   this.title = "淇敼绐楀彛鑰冩牳鏍告煡";
+      this.form = row;
       this.reset();
       this.query = { id: row.id };
-      this.urls.currUrl = "check/window/perform/edit";
-      this.getData();
+      await this.$get("/window/perform/info", { id: row.id }).then((res) => {
+        if (res.code == 1) {
+          this.form = res.data;
+          this.dict = res.dict;
+        } else {
+          this.form = row;
+        }
+        for (let key in this.form) {
+          key == "fillDate"
+            ? (this.form[key] = timestampToTime(this.form[key], 6))
+            : key == "createTime"
+            ? (this.form[key] = timestampToTime(this.form[key], 6))
+            : key == "deductTime"
+            ? (this.form[key] = timestampToTime(this.form[key], 6))
+            : key == "updateTime"
+            ? (this.form[key] = timestampToTime(this.form[key], 6))
+            : key == "checkTime"
+            ? (this.form[key] = timestampToTime(this.form[key], 6))
+            : key == "reviewTime"
+            ? (this.form[key] = timestampToTime(this.form[key], 6))
+            : "";
+        }
+        this.$get("/check/window/perform/info", { id: row.id }).then(
+          (response) => {
+            if (response.code == 1) {
+              this.form = { ...this.form, ...response.data };
+
+              this.dict = { ...this.dict, ...response.dict };
+            }
+          }
+        );
+        this.tableData = [];
+        this.tableData.push({
+          discipline: this.form["discipline"] ? this.form["discipline"] : "--",
+          specification: this.form["specification"]
+            ? this.form["specification"]
+            : "--",
+          bonusScore: this.form["bonusScore"] ? this.form["bonusScore"] : "--",
+          sumScore: this.form["sumScore"] ? this.form["sumScore"] : "--",
+          selfLevel: this.form["selfLevel"]
+            ? this.form["selfLevel"] == 1
+              ? "绾㈡棗绐楀彛"
+              : "榛戞棗绐楀彛"
+            : "--",
+        });
+        this.form.view = "淇敼";
+        this.open = true;
+      });
       this.pageInfo.type = "edit";
-      this.title = "淇敼绐楀彛鑰冩牳鏍告煡";
+      this.title = "鑷瘎缁╂晥鏍告煡";
     },
     /** 鏂板 */
     add(row) {
@@ -216,13 +446,66 @@ export default {
       this.title = "鏂板绐楀彛鑰冩牳鏍告煡";
     },
     /** 鏌ョ湅*/
-    view(row) {
+    async view(row) {
+      //   this.reset();
+      //   this.query = { id: row.id };
+      //   this.urls.currUrl = "check/window/perform/view";
+      //   this.getData();
+      //   this.pageInfo.type = "view";
+      //   this.title = "绐楀彛鑰冩牳鏍告煡璇︾粏";
+      this.form = row;
       this.reset();
       this.query = { id: row.id };
-      this.urls.currUrl = "check/window/perform/view";
-      this.getData();
+      await this.$get("/window/perform/info", { id: row.id }).then((res) => {
+        if (res.code == 1) {
+          this.form = res.data;
+          this.dict = res.dict;
+        } else {
+          this.form = row;
+        }
+        for (let key in this.form) {
+          key == "fillDate"
+            ? (this.form[key] = timestampToTime(this.form[key], 6))
+            : key == "createTime"
+            ? (this.form[key] = timestampToTime(this.form[key], 6))
+            : key == "deductTime"
+            ? (this.form[key] = timestampToTime(this.form[key], 6))
+            : key == "updateTime"
+            ? (this.form[key] = timestampToTime(this.form[key], 6))
+            : key == "checkTime"
+            ? (this.form[key] = timestampToTime(this.form[key], 6))
+            : key == "reviewTime"
+            ? (this.form[key] = timestampToTime(this.form[key], 6))
+            : "";
+        }
+        this.$get("/check/window/perform/info", { id: row.id }).then(
+          (response) => {
+            if (response.code == 1) {
+              this.form = { ...this.form, ...response.data };
+
+              this.dict = { ...this.dict, ...response.dict };
+            }
+          }
+        );
+        this.tableData = [];
+        this.tableData.push({
+          discipline: this.form["discipline"] ? this.form["discipline"] : "--",
+          specification: this.form["specification"]
+            ? this.form["specification"]
+            : "--",
+          bonusScore: this.form["bonusScore"] ? this.form["bonusScore"] : "--",
+          sumScore: this.form["sumScore"] ? this.form["sumScore"] : "--",
+          selfLevel: this.form["selfLevel"]
+            ? this.form["selfLevel"] == 1
+              ? "绾㈡棗绐楀彛"
+              : "榛戞棗绐楀彛"
+            : "--",
+        });
+        this.form.view = "鏌ョ湅";
+        this.open = true;
+      });
       this.pageInfo.type = "view";
-      this.title = "绐楀彛鑰冩牳鏍告煡璇︾粏";
+      this.title = "鑷瘎缁╂晥鏍告煡淇℃伅璇︾粏";
     },
     /**鍙栨秷鎸夐挳 */
     cancel() {
@@ -276,3 +559,28 @@ export default {
   },
 };
 </script>
+<style lang="less" scoped>
+.content_box {
+  padding: 0 20px;
+  font-size: 14px;
+  .text_line {
+    width: 100%;
+    display: flex;
+    margin-bottom: 25px;
+    .text_box:nth-child(2) {
+      margin: 0 100px;
+    }
+    .text_box {
+      display: flex;
+      span {
+        text-align: end;
+        width: 100px;
+        display: inline-block;
+      }
+      span:nth-child(2) {
+        text-align: start;
+      }
+    }
+  }
+}
+</style>
diff --git a/attendance-performance-manager-ui/admin/src/views/check/window/perform/list.vue b/attendance-performance-manager-ui/admin/src/views/check/window/perform/list.vue
index 56f4667f4586ed7bdc83eb2d4757d36650bec05e..bcc7a39b3724de03b5345e5e1d621e4b2e11c801 100644
--- a/attendance-performance-manager-ui/admin/src/views/check/window/perform/list.vue
+++ b/attendance-performance-manager-ui/admin/src/views/check/window/perform/list.vue
@@ -66,7 +66,6 @@ export default {
     },
     // 鍒囨崲琛ㄦ牸
     changeRadio() {
-      console.log(this.radio1);
       this.radio1 == 2
         ? this.$router.push("/check/window/workman/perform/list?page=1")
         : "";
@@ -98,37 +97,50 @@ export default {
             fuzzy: false,
           },
           {
-            name: "staffName",
+            name: "ownerName",
             type: "text",
-            label: "璇疯緭鍏ョ獥鍙h礋璐d汉濮撳悕鎼滅储",
+            width: 200,
+            label: "绐楀彛璐熻矗浜哄鍚嶆悳绱�",
             fuzzy: false,
           },
         ],
         columns: [
           { type: "selection", width: 60 },
           { type: "index", label: "搴忓彿", width: 50 },
+          { label: "绐楀彛璐熻矗浜�", prop: "ownerName" },
 
           {
-            label: "绠$悊缁勬牳鏌ユ椂闂�",
-            prop: "manageCheckTime",
-            formatter: this.formatterDate,
+            label: "鐧昏骞存湀",
+            formatter: (row) => {
+              return `${row.year ? row.year : "--"}-${
+                row.month
+                  ? [1, 2, 3, 4, 5, 6, 7, 8, 9].includes(row.month)
+                    ? "0" + row.month
+                    : row.month
+                  : "--"
+              }`;
+            },
           },
 
-          { label: "绠$悊缁勬牳鏌ヨ鏄�", prop: "manageCheckDesc" },
-
-          { label: "绠$悊缁勬牳鏌ョ粨鏋�", prop: "manageCheckResult" },
+          { label: "鎵€灞炲ぇ鍘�", prop: "salaName" },
 
           {
-            label: "棰嗗缁勬牳鏌ユ椂闂�",
-            prop: "leaderCheckTime",
-            formatter: this.formatterDate,
+            label: "鎵€灞為儴闂�",
+            prop: "deptName",
           },
 
-          { label: "棰嗗缁勬牳鏌ヨ鏄�", prop: "leaderCheckDesc" },
+          { label: "鑰冩牳绐楀彛", prop: "windowName" },
 
-          { label: "棰嗗缁勬牳鏌ョ粨鏋�", prop: "leaderCheckResult" },
+          { label: "琛ㄥ崟鍚嶇О", prop: "fromName" },
 
+          { label: "鎬诲垎鍒嗗€�", prop: "sumScore", formatter: this.formatter },
+          {
+            label: "鎻愪氦鏃堕棿",
+            prop: "submitDate",
+            formatter: this.formatterDate,
+          },
           { label: "澶勭悊鐘舵€�", prop: "checkStatus", formatter: this.formatter },
+
           {
             label: "鎿嶄綔",
             width: 240,
@@ -136,6 +148,10 @@ export default {
               return (
                 <table-buttons
                   noAdd
+                  noDel
+                  noEdit
+                  reCheck
+                  text={"鑷瘎鏍告煡"}
                   row={row}
                   onEdit={this.toEdit}
                   onView={this.toView}
diff --git a/attendance-performance-manager-ui/admin/src/views/check/window/workman/perform/drawershow.vue b/attendance-performance-manager-ui/admin/src/views/check/window/workman/perform/drawershow.vue
index 716408f8b93deddaf47edd924420b947e392b780..566527bb66f7e3c0184fa7c06e4c4648e22cd540 100644
--- a/attendance-performance-manager-ui/admin/src/views/check/window/workman/perform/drawershow.vue
+++ b/attendance-performance-manager-ui/admin/src/views/check/window/workman/perform/drawershow.vue
@@ -1,142 +1,533 @@
 <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-drawer
+    :title="title"
+    :visible.sync="open"
+    :direction="direction"
+    :destroy-on-close="true"
+    size="50%"
+  >
+    <div class="content_box">
+      <div class="text_line">
+        <div class="text_box">
+          <span>绐楀彛璐熻矗浜猴細</span>
+          <span>{{ form.ownerName }}</span>
+        </div>
+        <div class="text_box">
+          <span>鐧昏骞存湀锛�</span>
+          <span>{{
+            `${form.year ? form.year : "--"}-${
+              form.month
+                ? [1, 2, 3, 4, 5, 6, 7, 8, 9].includes(form.month)
+                  ? "0" + form.month
+                  : form.month
+                : "--"
+            }`
+          }}</span>
+        </div>
+      </div>
+      <div class="text_line">
+        <div class="text_box">
+          <span style="width: 920px;"
+            ><el-table :data="tableData" border style="width: 100%">
+              <el-table-column type="index" label="搴忓彿" width="50">
+              </el-table-column>
+              <el-table-column prop="staffName" label="濮撳悕" align="center">
+              </el-table-column>
+              <el-table-column label="鑰冩牳寰楀垎锛堝垎锛�">
+                <el-table-column
+                  prop="discipline"
+                  label="宸ヤ綔绾緥"
+                  align="center"
+                >
+                </el-table-column>
+                <el-table-column
+                  prop="specification"
+                  label="鏈嶅姟瑙勮寖"
+                  align="center"
+                >
+                </el-table-column>
+                <el-table-column
+                  prop="management"
+                  label="缁煎悎绠$悊"
+                  align="center"
+                >
+                </el-table-column>
+                <el-table-column
+                  prop="evaluation"
+                  label="缇や紬璇勮"
+                  align="center"
+                >
+                </el-table-column>
+                <el-table-column
+                  prop="efficiency"
+                  label="宸ヤ綔鏁堣兘"
+                  align="center"
+                >
+                </el-table-column>
+                <el-table-column prop="bonusScore" label="鍔犲垎" align="center">
+                </el-table-column>
+              </el-table-column>
+              <el-table-column
+                prop="sumScore"
+                label="缁煎悎璇勫畾鎵撳垎"
+                align="center"
+              >
+              </el-table-column>
+              <el-table-column
+                prop="selfLevel"
+                label="寤鸿鑰冩牳绛夌骇"
+                align="center"
+              >
+              </el-table-column>
+            </el-table>
+          </span>
+        </div>
+      </div>
+      <div class="text_line">
+        <div class="text_box">
+          <span>澶囨敞锛�</span>
+          <span>{{ form.remark }}</span>
+        </div>
+      </div>
+      <div class="text_line">
+        <div class="text_box">
+          <span>闄勪欢鏉愭枡锛�</span>
+          <span>{{ form.annex }}</span>
+        </div>
+      </div>
+      <div class="hecha_box">
+        <div class="hecha_title">
+          <span class="line"></span>
+          <span>鏍告煡鎯呭喌</span>
+        </div>
+        <div class="hecha_content">
+          <el-form ref="form" :model="form" :rules="rules" label-width="180px">
             <el-row>
-                                            <Field label="璁板綍ID" prop="recordId" v-model="form.recordId" placeholder="璇疯緭鍏ヨ褰旾D"/>
-                            <Field label="鑰冩牳骞村害" prop="year" v-model="form.year" placeholder="璇疯緭鍏ヨ€冩牳骞村害"/>
-                            <Field label="鑰冩牳鏈堜唤" prop="month" v-model="form.month" placeholder="璇疯緭鍏ヨ€冩牳鏈堜唤"/>
-                            <Field label="绐楀彛ID" prop="windowId" v-model="form.windowId" placeholder="璇疯緭鍏ョ獥鍙D"/>
-                            <Field label="绐楀彛鍚嶇О" prop="windowName" v-model="form.windowName" placeholder="璇疯緭鍏ョ獥鍙e悕绉�"/>
-                            <Field label="绐楀彛璐熻矗浜篿d" prop="ownerId" v-model="form.ownerId" placeholder="璇疯緭鍏ョ獥鍙h礋璐d汉id"/>
-                            <Field label="绐楀彛璐熻矗浜哄悕绉�" prop="ownerName" v-model="form.ownerName" placeholder="璇疯緭鍏ョ獥鍙h礋璐d汉鍚嶇О"/>
-                            <Field label="鎵€灞為儴闂╥d" prop="deptId" v-model="form.deptId" placeholder="璇疯緭鍏ユ墍灞為儴闂╥d"/>
-                            <Field label="鎵€灞為儴闂ㄥ悕绉�" prop="deptName" v-model="form.deptName" type="textarea" placeholder="璇疯緭鍏ユ墍灞為儴闂ㄥ悕绉�"/>
-                            <Field label="鎵€灞炲ぇ鍘�" prop="salaId" v-model="form.salaId" placeholder="璇疯緭鍏ユ墍灞炲ぇ鍘�"/>
-                            <Field label="鎵€灞炲ぇ鍘呭悕绉�" prop="salaName" v-model="form.salaName" placeholder="璇疯緭鍏ユ墍灞炲ぇ鍘呭悕绉�"/>
-                            <Field label="鑰冩牳琛ㄥ崟鍚嶇О" prop="fromName" v-model="form.fromName" placeholder="璇疯緭鍏ヨ€冩牳琛ㄥ崟鍚嶇О"/>
-                            <Field label="鎻愪氦鏃堕棿" prop="submitDate" v-model="form.submitDate" type="date" />
-                            <Field label="绠$悊缁勬牳鏌ヤ汉鍛�" prop="manageCheckPerson" v-model="form.manageCheckPerson" placeholder="璇疯緭鍏ョ鐞嗙粍鏍告煡浜哄憳"/>
-                            <Field label="绠$悊缁勬牳鏌ユ椂闂�" prop="manageCheckTime" v-model="form.manageCheckTime" type="date" />
-                            <Field label="绠$悊缁勬牳鏌ヨ鏄�" prop="manageCheckDesc" v-model="form.manageCheckDesc" type="textarea" placeholder="璇疯緭鍏ョ鐞嗙粍鏍告煡璇存槑"/>
-                            <Field label="绠$悊缁勬牳鏌ョ粨鏋�" prop="manageCheckResult" v-model="form.manageCheckResult" type="radio" :enumData="dict.manageCheckResult" />
-                            <Field label="澶囨敞" prop="remark" v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ娉�"/>
-
+              <el-form-item label="鏀垮姟鏈嶅姟绠$悊绉戣瘎鑽愭剰瑙侊細" prop="checkResult">
+                <div
+                  v-if="form.view == '鏌ョ湅'"
+                  style="display: flex; justify-content: space-between;"
+                >
+                  <span class="left">
+                    {{ form.manageCheckResult }}
+                  </span>
+                  <span class="right">
+                    {{ form.manageCheckPerson }}
+                    {{ functionTime(form.manageCheckTime) }} 鏍告煡
+                  </span>
+                </div>
+                <el-radio-group v-model="form.manageCheckResult" v-else>
+                  <el-radio
+                    v-for="(val, i) in dict.manageCheckResult"
+                    :key="i"
+                    :label="val"
+                    >{{ val }}</el-radio
+                  >
+                </el-radio-group>
+              </el-form-item>
+              <el-form-item label="绠$悊缁勬牳鏌ヨ鏄庯細" prop="manageCheckDesc">
+                <el-input
+                  v-model="form.manageCheckDesc"
+                  type="textarea"
+                  placeholder="璇峰~鍐欒鏄�"
+                  :disabled="form.view == '鏌ョ湅'"
+                ></el-input>
+              </el-form-item>
             </el-row>
+            <form-buttons
+              @submit="submitForm"
+              v-if="pageInfo.type != 'view'"
+              noCancelBtn
+            />
+          </el-form>
+        </div>
+      </div>
+    </div>
+    <!-- <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+      <el-row>
+        <Field
+          label="璁板綍ID"
+          prop="recordId"
+          v-model="form.recordId"
+          placeholder="璇疯緭鍏ヨ褰旾D"
+        />
+        <Field
+          label="鑰冩牳骞村害"
+          prop="year"
+          v-model="form.year"
+          placeholder="璇疯緭鍏ヨ€冩牳骞村害"
+        />
+        <Field
+          label="鑰冩牳鏈堜唤"
+          prop="month"
+          v-model="form.month"
+          placeholder="璇疯緭鍏ヨ€冩牳鏈堜唤"
+        />
+        <Field
+          label="绐楀彛ID"
+          prop="windowId"
+          v-model="form.windowId"
+          placeholder="璇疯緭鍏ョ獥鍙D"
+        />
+        <Field
+          label="绐楀彛鍚嶇О"
+          prop="windowName"
+          v-model="form.windowName"
+          placeholder="璇疯緭鍏ョ獥鍙e悕绉�"
+        />
+        <Field
+          label="绐楀彛璐熻矗浜篿d"
+          prop="ownerId"
+          v-model="form.ownerId"
+          placeholder="璇疯緭鍏ョ獥鍙h礋璐d汉id"
+        />
+        <Field
+          label="绐楀彛璐熻矗浜哄悕绉�"
+          prop="ownerName"
+          v-model="form.ownerName"
+          placeholder="璇疯緭鍏ョ獥鍙h礋璐d汉鍚嶇О"
+        />
+        <Field
+          label="鎵€灞為儴闂╥d"
+          prop="deptId"
+          v-model="form.deptId"
+          placeholder="璇疯緭鍏ユ墍灞為儴闂╥d"
+        />
+        <Field
+          label="鎵€灞為儴闂ㄥ悕绉�"
+          prop="deptName"
+          v-model="form.deptName"
+          type="textarea"
+          placeholder="璇疯緭鍏ユ墍灞為儴闂ㄥ悕绉�"
+        />
+        <Field
+          label="鎵€灞炲ぇ鍘�"
+          prop="salaId"
+          v-model="form.salaId"
+          placeholder="璇疯緭鍏ユ墍灞炲ぇ鍘�"
+        />
+        <Field
+          label="鎵€灞炲ぇ鍘呭悕绉�"
+          prop="salaName"
+          v-model="form.salaName"
+          placeholder="璇疯緭鍏ユ墍灞炲ぇ鍘呭悕绉�"
+        />
+        <Field
+          label="鑰冩牳琛ㄥ崟鍚嶇О"
+          prop="fromName"
+          v-model="form.fromName"
+          placeholder="璇疯緭鍏ヨ€冩牳琛ㄥ崟鍚嶇О"
+        />
+        <Field
+          label="鎻愪氦鏃堕棿"
+          prop="submitDate"
+          v-model="form.submitDate"
+          type="date"
+        />
+        <Field
+          label="绠$悊缁勬牳鏌ヤ汉鍛�"
+          prop="manageCheckPerson"
+          v-model="form.manageCheckPerson"
+          placeholder="璇疯緭鍏ョ鐞嗙粍鏍告煡浜哄憳"
+        />
+        <Field
+          label="绠$悊缁勬牳鏌ユ椂闂�"
+          prop="manageCheckTime"
+          v-model="form.manageCheckTime"
+          type="date"
+        />
+        <Field
+          label="绠$悊缁勬牳鏌ヨ鏄�"
+          prop="manageCheckDesc"
+          v-model="form.manageCheckDesc"
+          type="textarea"
+          placeholder="璇疯緭鍏ョ鐞嗙粍鏍告煡璇存槑"
+        />
+        <Field
+          label="绠$悊缁勬牳鏌ョ粨鏋�"
+          prop="manageCheckResult"
+          v-model="form.manageCheckResult"
+          type="radio"
+          :enumData="dict.manageCheckResult"
+        />
+        <Field
+          label="澶囨敞"
+          prop="remark"
+          v-model="form.remark"
+          type="textarea"
+          placeholder="璇疯緭鍏ュ娉�"
+        />
+      </el-row>
 
-            <form-buttons @submit='submitForm' v-if="pageInfo.type!='view'" noCancelBtn />
-        </el-form>
-
-    </el-drawer>
+      <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: "CheckWindowWorkmanPerformDetail",
-        mixins: [form],
-        components: {
+import form from "@/assets/mixins/formdialog";
+import { timestampToTime } from "@/assets/utils/dateFormat.js";
 
-        },
-        created() {
-            this.changePath("check/window/workman/perform")
-        },
-        data() {
-            return {
-                // 閬僵灞�
-                loading: true,
-                // 寮瑰嚭灞傛爣棰�
-                title: "绐楀彛浜哄憳鑰冩牳姹囨€绘牳鏌�",
-                // 鏄惁鏄剧ず寮瑰嚭灞�
-                open: false,
-                direction:"rtl",
-                toString:[
-                ],
-                toDate:[
-                    "submitDate",
-                    "manageCheckTime",
-                ],
-                // 琛ㄥ崟鏍¢獙
-                rules: {
-                }
-            };
-        },
+export default {
+  name: "CheckWindowWorkmanPerformDetail",
+  mixins: [form],
+  components: {},
+  created() {
+    this.changePath("check/window/workman/perform");
+  },
+  data() {
+    return {
+      // 閬僵灞�
+      loading: true,
+      // 寮瑰嚭灞傛爣棰�
+      title: "绐楀彛浜哄憳鑰冩牳姹囨€绘牳鏌�",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
+      direction: "rtl",
+      toString: [],
+      toDate: ["submitDate", "manageCheckTime"],
+      // 琛ㄥ崟鏍¢獙
+      rules: {},
+      tableData: [],
+    };
+  },
 
-        methods: {
-            /** 缂栬緫 */
-            edit(row) {
-                this.reset()
-                this.query = { id: row.id };
-                this.urls.currUrl ="check/window/workman/perform/edit";
-                this.getData();
-                this.pageInfo.type="edit"
-                this.title = "淇敼绐楀彛浜哄憳鑰冩牳姹囨€绘牳鏌�";
-            },
-            /** 鏂板 */
-            add(row) {
-                this.reset()
-                this.urls.currUrl = "check/window/workman/perform/add";
-                this.getData();
-                this.pageInfo.type="add"
-                this.title = "鏂板绐楀彛浜哄憳鑰冩牳姹囨€绘牳鏌�";
-            },
-            /** 鏌ョ湅*/
-            view(row) {
-                this.reset()
-                this.query = { id: row.id };
-                this.urls.currUrl ="check/window/workman/perform/view";
-                this.getData();
-                this.pageInfo.type="view"
-                this.title = "绐楀彛浜哄憳鑰冩牳姹囨€绘牳鏌ヨ缁�";
-            },
-            /**鍙栨秷鎸夐挳 */
-            cancel() {
-                this.open = false;
-            },
-            /**鑾峰彇鏁版嵁鍚庡脊妗� */
-            afterRender(data) {
-                this.open = true;
-            },
+  methods: {
+    functionTime(val) {
+      let time = timestampToTime(val, 6);
+      return time;
+    },
+    /** 缂栬緫 */
+    async edit(row) {
+      //   this.reset();
+      //   this.query = { id: row.id };
+      this.urls.currUrl = "check/window/workman/perform/save";
+      //   this.getData();
+      //   this.pageInfo.type = "edit";
+      //   this.title = "淇敼绐楀彛浜哄憳鑰冩牳姹囨€绘牳鏌�";
+      this.form = row;
+      this.reset();
+      this.query = { id: row.id };
+      await this.$get("/check/window/workman/perform/info", {
+        id: row.id,
+      }).then((res) => {
+        if (res.code == 1) {
+          this.form = res.data;
+          this.dict = res.dict;
+        } else {
+          this.form = row;
+        }
+        for (let key in this.form) {
+          key == "fillDate"
+            ? (this.form[key] = timestampToTime(this.form[key], 6))
+            : key == "createTime"
+            ? (this.form[key] = timestampToTime(this.form[key], 6))
+            : key == "deductTime"
+            ? (this.form[key] = timestampToTime(this.form[key], 6))
+            : key == "updateTime"
+            ? (this.form[key] = timestampToTime(this.form[key], 6))
+            : key == "checkTime"
+            ? (this.form[key] = timestampToTime(this.form[key], 6))
+            : key == "reviewTime"
+            ? (this.form[key] = timestampToTime(this.form[key], 6))
+            : "";
+        }
+        this.$get("/window/workman/perform/detail/info", { id: row.id }).then(
+          (response) => {
+            if (response.code == 1) {
+              this.form = { ...this.form, ...response.data };
 
-            afterSubmit(data) {
-                this.open = false;
-                this.$emit("ok");
-            },
+              this.dict = { ...this.dict, ...response.dict };
+            }
+          }
+        );
+        this.$get("/window/workman/perform/info", { id: row.id }).then(
+          (responses) => {
+            if (responses.code == 1) {
+              this.form = { ...this.form, ...responses.data };
 
-            // 琛ㄥ崟閲嶇疆
-            reset() {
-                this.form = {
-                    recordId : null,
-                    year : null,
-                    month : null,
-                    windowId : null,
-                    windowName : "",
-                    ownerId : null,
-                    ownerName : "",
-                    deptId : null,
-                    deptName : "",
-                    salaId : null,
-                    salaName : "",
-                    fromName : "",
-                    submitDate : null,
-                    manageCheckPerson : "",
-                    manageCheckTime : null,
-                    manageCheckDesc : "",
-                    manageCheckResult : "",
-                    remark : "",
-                };
-                this.resetForm("form");
-            },
-            resetForm(refName) {
-                if (this.$refs[refName]) {
-                    this.$refs[refName].resetFields();
-                }
-            },
-        },
-    };
+              this.dict = { ...this.dict, ...responses.dict };
+            }
+          }
+        );
+        this.tableData = [];
+        this.tableData.push({
+          staffName: this.form["staffName"] ? this.form["staffName"] : "--",
+          discipline: this.form["discipline"] ? this.form["discipline"] : "--",
+          specification: this.form["specification"]
+            ? this.form["specification"]
+            : "--",
+          management: this.form["management"] ? this.form["management"] : "--",
+          evaluation: this.form["evaluation"] ? this.form["evaluation"] : "--",
+          efficiency: this.form["efficiency"] ? this.form["efficiency"] : "--",
+          bonusScore: this.form["bonusScore"] ? this.form["bonusScore"] : "--",
+          sumScore: this.form["sumScore"] ? this.form["sumScore"] : "--",
+          examineLevel: this.form["examineLevel"]
+            ? this.dict["examineLevel"]
+            : "--",
+        });
+        this.form.view = "淇敼";
+        this.open = true;
+      });
+      this.pageInfo.type = "edit";
+      this.title = "绐楀彛浜哄憳鑷瘎缁╂晥鏍告煡";
+    },
+    /** 鏂板 */
+    add(row) {
+      this.reset();
+      this.urls.currUrl = "check/window/workman/perform/add";
+      this.getData();
+      this.pageInfo.type = "add";
+      this.title = "鏂板绐楀彛浜哄憳鑰冩牳姹囨€绘牳鏌�";
+    },
+    /** 鏌ョ湅*/
+    async view(row) {
+      //   this.reset();
+      //   this.query = { id: row.id };
+      //   this.urls.currUrl = "check/window/workman/perform/view";
+      //   this.getData();
+      //   this.pageInfo.type = "view";
+      //   this.title = "绐楀彛浜哄憳鑰冩牳姹囨€绘牳鏌ヨ缁�";
+      this.form = row;
+      this.reset();
+      this.query = { id: row.id };
+      await this.$get("/check/window/workman/perform/info", {
+        id: row.id,
+      }).then((res) => {
+        if (res.code == 1) {
+          this.form = res.data;
+          this.dict = res.dict;
+        } else {
+          this.form = row;
+        }
+        for (let key in this.form) {
+          key == "fillDate"
+            ? (this.form[key] = timestampToTime(this.form[key], 6))
+            : key == "createTime"
+            ? (this.form[key] = timestampToTime(this.form[key], 6))
+            : key == "deductTime"
+            ? (this.form[key] = timestampToTime(this.form[key], 6))
+            : key == "updateTime"
+            ? (this.form[key] = timestampToTime(this.form[key], 6))
+            : key == "checkTime"
+            ? (this.form[key] = timestampToTime(this.form[key], 6))
+            : key == "reviewTime"
+            ? (this.form[key] = timestampToTime(this.form[key], 6))
+            : "";
+        }
+        this.$get("/window/workman/perform/detail/info", { id: row.id }).then(
+          (response) => {
+            if (response.code == 1) {
+              this.form = { ...this.form, ...response.data };
+
+              this.dict = { ...this.dict, ...response.dict };
+            }
+          }
+        );
+        this.$get("/window/workman/perform/info", { id: row.id }).then(
+          (responses) => {
+            if (responses.code == 1) {
+              this.form = { ...this.form, ...responses.data };
+
+              this.dict = { ...this.dict, ...responses.dict };
+            }
+          }
+        );
+        this.tableData = [];
+        this.tableData.push({
+          staffName: this.form["staffName"] ? this.form["staffName"] : "--",
+          discipline: this.form["discipline"] ? this.form["discipline"] : "--",
+          specification: this.form["specification"]
+            ? this.form["specification"]
+            : "--",
+          management: this.form["management"] ? this.form["management"] : "--",
+          evaluation: this.form["evaluation"] ? this.form["evaluation"] : "--",
+          efficiency: this.form["efficiency"] ? this.form["efficiency"] : "--",
+          bonusScore: this.form["bonusScore"] ? this.form["bonusScore"] : "--",
+          sumScore: this.form["sumScore"] ? this.form["sumScore"] : "--",
+          examineLevel: this.form["examineLevel"]
+            ? this.dict["examineLevel"]
+            : "--",
+        });
+        this.form.view = "鏌ョ湅";
+        this.open = true;
+      });
+      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 = {
+        recordId: null,
+        year: null,
+        month: null,
+        windowId: null,
+        windowName: "",
+        ownerId: null,
+        ownerName: "",
+        deptId: null,
+        deptName: "",
+        salaId: null,
+        salaName: "",
+        fromName: "",
+        submitDate: null,
+        manageCheckPerson: "",
+        manageCheckTime: null,
+        manageCheckDesc: "",
+        manageCheckResult: "",
+        remark: "",
+      };
+      this.resetForm("form");
+    },
+    resetForm(refName) {
+      if (this.$refs[refName]) {
+        this.$refs[refName].resetFields();
+      }
+    },
+  },
+};
 </script>
+<style lang="less" scoped>
+.content_box {
+  padding: 0 20px;
+  font-size: 14px;
+  .text_line {
+    width: 100%;
+    display: flex;
+    margin-bottom: 25px;
+    .text_box:nth-child(2) {
+      margin: 0 100px;
+    }
+    .text_box {
+      display: flex;
+      span {
+        text-align: end;
+        width: 100px;
+        display: inline-block;
+      }
+      span:nth-child(2) {
+        text-align: start;
+      }
+    }
+  }
+}
+</style>
diff --git a/attendance-performance-manager-ui/admin/src/views/check/window/workman/perform/list.vue b/attendance-performance-manager-ui/admin/src/views/check/window/workman/perform/list.vue
index 9def7d3f3d46b5d1a436c1c4efe192442b578039..4b93e766647dc9c45ba4376f4b2c2dce79a9094e 100644
--- a/attendance-performance-manager-ui/admin/src/views/check/window/workman/perform/list.vue
+++ b/attendance-performance-manager-ui/admin/src/views/check/window/workman/perform/list.vue
@@ -98,25 +98,57 @@ export default {
             fuzzy: false,
           },
           {
-            name: "staffName",
+            name: "ownerName",
             type: "text",
-            label: "璇疯緭鍏ョ獥鍙h礋璐d汉濮撳悕鎼滅储",
+            width: 200,
+            label: "绐楀彛璐熻矗浜哄鍚嶆悳绱�",
             fuzzy: false,
           },
         ],
         columns: [
           { type: "selection", width: 60 },
           { type: "index", label: "搴忓彿", width: 50 },
+          { label: "绐楀彛璐熻矗浜�", prop: "ownerName" },
 
           {
-            label: "绠$悊缁勬牳鏌ユ椂闂�",
-            prop: "manageCheckTime",
-            formatter: this.formatterDate,
+            label: "鐧昏骞存湀",
+            formatter: (row) => {
+              return `${row.year ? row.year : "--"}-${
+                row.month
+                  ? [1, 2, 3, 4, 5, 6, 7, 8, 9].includes(row.month)
+                    ? "0" + row.month
+                    : row.month
+                  : "--"
+              }`;
+            },
+          },
+
+          { label: "鎵€灞炲ぇ鍘�", prop: "salaName" },
+
+          {
+            label: "鎵€灞為儴闂�",
+            prop: "deptName",
           },
 
-          { label: "绠$悊缁勬牳鏌ヨ鏄�", prop: "manageCheckDesc" },
+          { label: "鑰冩牳绐楀彛", prop: "windowName" },
+
+          { label: "琛ㄥ崟鍚嶇О", prop: "fromName" },
+
+          { label: "鎬诲垎鍒嗗€�", prop: "sumScore", formatter: this.formatter },
+          {
+            label: "鎻愪氦鏃堕棿",
+            prop: "submitDate",
+            width: 110,
+            formatter: this.formatterDate,
+          },
+          {
+            label: "鏈€鏂版牳鏌ユ椂闂�",
+            prop: "updateTime",
+            width: 150,
+            formatter: this.formatterDate,
+          },
+          { label: "澶勭悊鐘舵€�", prop: "checkStatus", formatter: this.formatter },
 
-          { label: "绠$悊缁勬牳鏌ョ粨鏋�", prop: "manageCheckResult" },
           {
             label: "鎿嶄綔",
             width: 240,
@@ -124,6 +156,10 @@ export default {
               return (
                 <table-buttons
                   noAdd
+                  noDel
+                  noEdit
+                  reCheck
+                  text={"鑷瘎鏍告煡"}
                   row={row}
                   onEdit={this.toEdit}
                   onView={this.toView}