From 09fe674d3554035bafa6171ff30a2c6b0684056d Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 01 九月 2025 09:03:04 +0800
Subject: [PATCH] 1.密码强校验
---
src/views/CNAS/personnel/personnelInfo/tabs/mandate.vue | 404 +++++++++++++++++++++-----------------------------------
1 files changed, 153 insertions(+), 251 deletions(-)
diff --git a/src/views/CNAS/personnel/personnelInfo/tabs/mandate.vue b/src/views/CNAS/personnel/personnelInfo/tabs/mandate.vue
index 72b75ba..691970d 100644
--- a/src/views/CNAS/personnel/personnelInfo/tabs/mandate.vue
+++ b/src/views/CNAS/personnel/personnelInfo/tabs/mandate.vue
@@ -1,47 +1,31 @@
<template>
- <div class="flex_column">
-<!-- <TableCard :showForm="isDepartment" title="浠昏亴鎺堟潈璁板綍">-->
-<!-- <template v-slot:form>-->
-<!-- <div v-if="isDepartment" class="w100 items_center justify_between">-->
-<!-- <div></div>-->
-<!-- <div>-->
-<!-- <el-button size="small" type="primary" @click="openDialog">鏂板</el-button>-->
-<!-- </div>-->
-<!-- </div>-->
-<!-- </template>-->
-<!-- <template v-slot:table>-->
-<!-- <ZTTable-->
-<!-- :column="columnData"-->
-<!-- :height="'calc(100vh - 21em)'"-->
-<!-- :table-data="tableData"-->
-<!-- :table-loading="loading"-->
-<!-- style="margin-top: 18px; padding: 0 15px;"-->
-<!-- ></ZTTable>-->
-<!-- <el-divider></el-divider>-->
-<!-- <div class="pagination">-->
-<!-- <div></div>-->
-<!-- <el-pagination-->
-<!-- :page-size="pagination.pageSize"-->
-<!-- :page-sizes="[10, 20, 30, 40]"-->
-<!-- :total="pagination.total"-->
-<!-- layout="total, sizes, prev, pager, next, jumper"-->
-<!-- @current-change="currentChange"-->
-<!-- @size-change="sizeChange"-->
-<!-- >-->
-<!-- </el-pagination>-->
-<!-- </div>-->
-<!-- </template>-->
-<!-- </TableCard>-->
- <Add ref="mandateModal" @refresh="getTableData"></Add>
+ <div class="flex_column">
+ <div>
+ <div v-if="isDepartment" style="display: flex;justify-content: space-between;margin-bottom: 10px">
+ <el-button size="small" type="primary" @click="getTableData">鍒锋柊</el-button>
+ <el-button size="small" type="primary" icon="el-icon-plus" @click="openDialog">鏂板</el-button>
+ </div>
+ <lims-table :tableData="tableData" :column="columnData"
+ @pagination="page" :height="'calc(100vh - 18em)'"
+ :page="pagination" :tableLoading="loading"></lims-table>
</div>
+ <Add ref="mandateModal" @refresh="getTableData"></Add>
+ </div>
</template>
<script>
-// import Add from "./Add.vue"
+import Add from "../components/mandateAdd.vue"
+import limsTable from "@/components/Table/lims-table.vue";
+import {
+ deletePersonPostAuthorizationRecord, exportPersonPostAuthorizationRecord,
+ PersonPostAuthorizationRecordPage
+} from "@/api/cnas/personal/personPostAuthorizationRecord";
+import {delCustomById} from "@/api/system/customer";
export default {
- components: {
- // Add
- },
+ components: {
+ limsTable,
+ Add
+ },
props: {
departId: {
type: Number,
@@ -54,223 +38,141 @@
default: false
}
},
- data() {
- return {
- // departId: 0,
- columnData: [
- {
- label: '搴忓彿',
- prop: 'id'
- }, {
- label: '璇佷功缂栧彿',
- prop: 'certificateNumber'
- }, {
- label: '琚换鑱屼汉鍛�',
- prop: 'userName'
- }, {
- label: '浠昏亴宀椾綅',
- prop: 'post'
- }, {
- label: '鐞嗚鑰冭瘯鎴愮哗',
- prop: 'num1'
- },{
- label: '鎿嶄綔鎶�鑳借�冭瘯鎴愮哗',
- prop: 'num2'
- },{
- label: '鎿嶄綔鏃堕棿',
- prop: 'updateTime'
- }, {
- label: '澶囨敞',
- prop: 'remarks',
- width: 300
- }, {
- label: '鎿嶄綔',
- dataType: 'action',
- width: 160,
- fixed: 'right',
- operation: [
- {
- name: '缂栬緫',
- type: 'text',
- clickFun: (row) => {
- this.openDialog(row, true)
- }
- }, {
- name: '涓嬭浇',
- type: 'text',
- clickFun: (row) => {
- this.handleDown(row)
- }
- }, {
- name: '鍒犻櫎',
- type: 'text',
- color: '#f56c6c',
- clickFun: (row) => {
- this.deleteNotify(row.id)
- }
- }
- ]
- },
- ],
- tableData: [],
- pagination: {
- current: 1,
- pageSize: 20,
- total: 0
- },
- loading: false
- }
- },
- mounted() {
- this.getTableData()
- console.log(this.departId)
- },
- methods: {
- openDialog(row, type=false) {
- this.$refs.mandateModal.openDialog(row, type)
- },
- /**
- * @desc 鏌ヨ琛ㄦ牸鏁版嵁
- */
- async getTableData() {
- this.loading = true
- const params = this.isDepartment ? {
- departLimsId: this.departId,
- current: this.pagination.current,
- size: this.pagination.pageSize
- } : {
- userId: this.departId,
- current: this.pagination.current,
- size: this.pagination.pageSize
- }
- const { code, data } = await this.$axios({
- method: 'get',
- url: getPersonPostAuthorizationRecordPage,
- params: params
- })
- if(code == 200) {
- this.pagination.total = data.total
- this.tableData = data.records
- this.loading = false
- }
- },
- /**
- * @desc 褰撳墠椤垫敼鍙�
- */
- currentChange(current) {
- this.pagination.current = current
- this.getTableData()
- },
- /**
- * @desc 姣忛〉涓暟鏀瑰彉
- */
- sizeChange(pageSize) {
- this.pagination.pageSize = pageSize
- this.getTableData()
- },
- /**
- * @desc 鍒犻櫎浠昏亴璁板綍
- */
- deleteNotify(id) {
- this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ枃浠�, 鏄惁缁х画?', '鎻愮ず', {
- confirmButtonText: '纭畾',
- cancelButtonText: '鍙栨秷',
- type: 'warning'
- }).then(() => {
- this.delMandate(id)
- })
- },
- /**
- * @desc api鍒犻櫎
- */
- async delMandate(id) {
- const formData = new FormData()
- formData.append('id', id)
- const { code, data } = await this.$axios({
- method: 'delete',
- url: deletePersonPostAuthorizationRecord,
- data: formData,
- noQs: true
- })
- if(code == 200) {
- this.$message({ message: '鍒犻櫎鎴愬姛', type: 'success' })
- this.getTableData()
- } else {
- this.$message({ message: '鍒犻櫎澶辫触', type: 'error' })
- }
- },
- /**
- * @desc 鑾峰彇璁惧id
- */
- getDepart(id) {
- this.departId = id
- this.getTableData()
- },
- handleDown(row){
- this.$axios.post(this.$api.personPostAuthorizationRecord.exportPersonPostAuthorizationRecord,{id:row.id},{responseType: "blob"}).then(res => {
- if(res.code == 201){
- this.$message.error(res.message)
- return
- }
- const blob = new Blob([res],{ type: 'application/octet-stream' });
- //灏咮lob 瀵硅薄杞崲鎴愬瓧绗︿覆
- let reader = new FileReader();
- reader.readAsText(blob, 'utf-8');
- reader.onload = () => {
- try {
- let result = JSON.parse(reader.result);
- if (result.message) {
- this.$message.error(result.message);
- } else {
- const url = URL.createObjectURL(blob);
- const link = document.createElement('a');
- link.href = url;
- link.download = '浠昏亴鎺堟潈-'+row.certificateNumber+'-'+row.post + '.docx';
- link.click();
- this.$message.success('瀵煎嚭鎴愬姛')
- }
- } catch (err) {
- console.log(err);
- const url = URL.createObjectURL(blob);
- const link = document.createElement('a');
- link.href = url;
- link.download = '浠昏亴鎺堟潈-'+row.certificateNumber+'-'+row.post + '.docx';
- link.click();
- this.$message.success('瀵煎嚭鎴愬姛')
+ data() {
+ return {
+ columnData: [
+ {
+ label: '搴忓彿',
+ prop: 'id'
+ }, {
+ label: '璇佷功缂栧彿',
+ prop: 'certificateNumber'
+ }, {
+ label: '琚换鑱屼汉鍛�',
+ prop: 'userName'
+ }, {
+ label: '浠昏亴宀椾綅',
+ prop: 'post'
+ }, {
+ label: '鐞嗚鑰冭瘯鎴愮哗',
+ prop: 'num1',
+ width: 120
+ },{
+ label: '鎿嶄綔鎶�鑳借�冭瘯鎴愮哗',
+ prop: 'num2',
+ width: 150
+ },{
+ label: '鎿嶄綔鏃堕棿',
+ prop: 'updateTime'
+ }, {
+ label: '澶囨敞',
+ prop: 'remarks',
+ width: 300
+ }, {
+ label: '鎿嶄綔',
+ dataType: 'action',
+ width: 160,
+ fixed: 'right',
+ operation: [
+ {
+ name: '缂栬緫',
+ type: 'text',
+ clickFun: (row) => {
+ this.openDialog(row, true)
+ }
+ }, {
+ name: '涓嬭浇',
+ type: 'text',
+ clickFun: (row) => {
+ this.handleDown(row)
+ }
+ }, {
+ name: '鍒犻櫎',
+ type: 'text',
+ color: '#f56c6c',
+ clickFun: (row) => {
+ this.deleteNotify(row.id)
}
}
- })
- }
+ ]
+ },
+ ],
+ tableData: [],
+ pagination: {
+ current: 1,
+ size: 20,
+ total: 0
+ },
+ loading: false
+ }
+ },
+ mounted() {
+ this.getTableData()
+ },
+ methods: {
+ openDialog(row, type=false) {
+ this.$refs.mandateModal.openDialog(row, type)
},
-// watch: {
-// departId: {
-// handler(newId, oldId) {
-// if (newId) {
-// this.getTableData();
-// }
-// }
-// }
-// }
+ /**
+ * @desc 鏌ヨ琛ㄦ牸鏁版嵁
+ */
+ async getTableData() {
+ const params = this.isDepartment ? {
+ departLimsId: this.departId,
+ current: this.pagination.current,
+ size: this.pagination.pageSize
+ } : {
+ userId: this.departId,
+ current: this.pagination.current,
+ size: this.pagination.pageSize
+ }
+ this.loading = true
+ PersonPostAuthorizationRecordPage(params).then(res => {
+ this.loading = false
+ this.tableData = res.data.records
+ this.pagination.total = res.data.total
+ }).catch(err => {
+ this.loading = false
+ })
+ },
+ page (page) {
+ this.pagination.size = page.limit
+ this.getTableData()
+ },
+ /**
+ * @desc 鍒犻櫎浠昏亴璁板綍
+ */
+ deleteNotify(id) {
+ this.$confirm('鏄惁鍒犻櫎褰撳墠鏁版嵁?', "璀﹀憡", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
+ }).then(() => {
+ deletePersonPostAuthorizationRecord({id: id}).then(res => {
+ this.$message.success('鍒犻櫎鎴愬姛')
+ this.getTableData()
+ }).catch(e => {
+ this.$message.error('鍒犻櫎澶辫触')
+ })
+ }).catch(() => {})
+ },
+ handleDown(row){
+ exportPersonPostAuthorizationRecord({id:row.id}).then(res => {
+ const blob = new Blob([res],{ type: 'application/octet-stream' });
+ this.$download.saveAs(blob, '浠昏亴鎺堟潈-'+row.certificateNumber+'-'+row.post + '.docx')
+ })
+ }
+ },
+ watch: {
+ departId: {
+ handler(newId, oldId) {
+ if (newId) {
+ this.getTableData();
+ }
+ }
+ }
+ }
}
</script>
<style scoped>
-.flex_column {
- display: flex;
- flex-direction: column;
- justify-content: space-between;
-}
-.w100 {
- width: 100%;
-}
-.pagination {
- display: flex;
- justify-content: space-between
-}
-.items_center {
- display: flex;
- align-items: center;
-}
-.justify_between {
- justify-content: space-between
-}
</style>
--
Gitblit v1.9.3