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}