Kaynağa Gözat

项目日志:7.29第二次

gubai 2 yıl önce
ebeveyn
işleme
a05f5a2ab2

+ 8 - 0
src/api/auditlog.js

xqd
@@ -6,4 +6,12 @@ export function getAuditLogSearch(data) {
     method: 'post',
     data
   })
+}
+
+export function getAuditLogAttachmentsSearch(data) {
+  return request({
+    url: '/api/AuditLog/attachments',
+    method: 'post',
+    data
+  })
 }

+ 2 - 2
src/layout/components/Sidebar/index.vue

xqd
@@ -1,10 +1,10 @@
 <template>
   <div :class="{'has-logo':showLogo}">
-    <div class="flex4 boxtitle">
+    <!-- <div class="flex4 boxtitle">
       <el-image :src="logo" style="width: 100px; height: 78px;" fit=" fill"></el-image>
       <span style="color: #1F242A ;">55</span>
             <span style="color: #BEBDBB;">2456165645625454151</span>
-    </div>
+    </div> -->
 
 
     <el-scrollbar wrap-class="scrollbar-wrapper">

+ 3 - 1
src/views/databackup/index.vue

xqd xqd
@@ -205,6 +205,7 @@ export default {
     };
   },
 
+  
   mounted() {
     this.getAllList();
   },
@@ -237,12 +238,13 @@ export default {
 	
 
 	 // 日期审核状态查询
-    startEndTime() {
+    startEndTime(val) {
       this.formData.startTime = this.value2[0];
       this.formData.endTime = this.value2[1];
       this.currentPage = 1;
       this.searchForm = { ...this.formData };
       this.getAllList(this.searchForm);
+      
     },
 
     /* 分页功能,改变当前页 */

+ 354 - 256
src/views/sucuirtyaudit/annexList.vue

xqd
@@ -1,276 +1,374 @@
 <template>
-	<div class="app-container">
-		<el-row type="flex" justify="space-between" style="margin-bottom:20px">
-			<div class="grid-content bg-purple">
-				<div class="grid-content bg-purple" style="margin-left: 30px;">
-					<el-input placeholder="请输入查询内容" v-model="input4" style="width: 80%;">
-						<i slot="prefix" class="el-input__icon el-icon-search"></i>
-					</el-input>
-				</div>
-			</div>
-			<div class="grid-content bg-purple">
-				<el-dropdown @command="handleCommand">
-					<div class="pulldown">
-						<span class="el-dropdown-link" v-if="!status">
-							操作人员
-						</span>
-						<span class="el-dropdown-link" v-if="status">
-							{{status}}
-						</span>
-						<i class="el-icon-arrow-down el-icon--right"></i>
-					</div>
-					<el-dropdown-menu slot="dropdown">
-						<el-dropdown-item command="供应商">供应商</el-dropdown-item>
-						<el-dropdown-item command="业务管理员">业务管理员</el-dropdown-item>
-					</el-dropdown-menu>
-				</el-dropdown>
-			</div>
+  <div class="app-container">
+    <el-row type="flex" justify="space-between" style="margin-bottom: 20px">
+      <div class="grid-content bg-purple">
+        <div class="grid-content bg-purple" style="margin-left: 30px">
+          <el-input
+            placeholder="请输入查询内容"
+            v-model="formData.content"
+            @change="Search"
+            style="width: 80%"
+          >
+            <i slot="prefix" class="el-input__icon el-icon-search"></i>
+          </el-input>
+        </div>
+      </div>
+      <div class="grid-content bg-purple">
+         <el-input
+          placeholder="操作人员查询"
+          v-model="formData.operateUser"
+          @change="SearchOperateUser"
+          style="width: 100%"
+        >
+          <i slot="prefix" class="el-input__icon el-icon-search"></i>
+        </el-input>
+      </div>
 
+      <div class="grid-content bg-purple">
+        <div class="block">
+          <el-date-picker
+            v-model="value2"
+            type="daterange"
+            align="right"
+            unlink-panels
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期"
+            value-format="yyyy-MM-dd"
+            :picker-options="pickerOptions"
+            @change="startEndTime"
+          >
+          </el-date-picker>
+        </div>
+      </div>
 
-			<div class="grid-content bg-purple">
-				<div class="block">
-					<el-date-picker v-model="value2" type="daterange" align="right" unlink-panels range-separator="至"
-						start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions">
-					</el-date-picker>
-				</div>
+      <div
+        class="grid-content bg-purple"
+        style="display: flex; justify-content: flex-end"
+      >
+        <el-button type="primary" @click="toindex">操作日志</el-button>
+        <el-button type="primary" disabled>附件列表</el-button>
+        <el-button type="primary">批量下载</el-button>
+      </div>
+    </el-row>
+    <el-table
+      v-loading="listLoading"
+      :data="temporaryList"
+      element-loading-text="Loading"
+      border
+      fit
+      highlight-current-row
+      @select="handleSelectionChange"
+      @select-all="handleAll"
+    >
+      <el-table-column align="center" label="" width="55" type="selection">
+      </el-table-column>
+      <el-table-column align="center" label="合同名称" width="200" prop="name">
+      </el-table-column>
 
-			</div>
+      <el-table-column
+        label="供应商"
+        align="center"
+        width="340"
+        prop="supplierName"
+      >
+      </el-table-column>
+      <el-table-column label="日期" width="200" align="center">
+        <template slot-scope="scope">
+          <i class="el-icon-time" />
+          <span>{{ scope.row.createdAt }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+        align="center"
+        label="合同附件"
+        width="800"
+        prop="attachments"
+      >
+        <template slot-scope="scope">
+          <img
+            width="100"
+            height="100"
+            v-for="item in scope.row.attachments"
+            :key="item.id"
+            :src="item"
+          />
+        </template>
+      </el-table-column>
+      <el-table-column
+        align="center"
+        prop="created_at"
+        label="操作"
+        width="250"
+      >
+        <template slot-scope="scope">
+          <el-tag type="primary" style="cursor: pointer; margin-right: 15px"
+            >查看详情</el-tag
+          >
+          <el-tag
+            type="primary"
+            style="cursor: pointer; margin-right: 15px"
+            @click="download(scope.row.id)"
+          >
+            下载</el-tag
+          >
+        </template>
+      </el-table-column>
+    </el-table>
+    <div class="pagesip">
+      <el-button
+        type="primary"
+        size="small"
+        style="background-color: #d8ab5a; border-color: #d8ab5a; margin: 0 20px"
+        @click="jumpFirstPage"
+        >首页
+      </el-button>
+      <el-pagination
+        ref="pagination"
+        background
+        layout="total,prev, pager, next"
+        :total="total"
+        :page-size="pagesize"
+        :current-page="currentPage"
+        prev-text="上一页"
+        next-text="下一页"
+        @current-change="handleCurrentChange"
+      />
+      <el-button
+        type="primary"
+        size="small"
+        style="background-color: #d8ab5a; border-color: #d8ab5a; margin: 0 20px"
+        @click="jumpLastPage"
+        >尾页
+      </el-button>
+    </div>
+  </div>
+</template>
 
-			<div class="grid-content bg-purple" style="display: flex;justify-content: flex-end;">
-				<el-button type="primary" @click="toindex">操作日志</el-button>
-				<el-button type="primary" disabled>附件列表</el-button>
-				<el-button type="primary">批量下载</el-button>
-			</div>
+<script>
+import { getAuditLogAttachmentsSearch } from "@/api/auditlog";
+export default {
+  filters: {
+    statusFilter(status) {
+      const statusMap = {
+        published: "success",
+        draft: "gray",
+        deleted: "danger",
+      };
+      return statusMap[status];
+    },
+  },
+  data() {
+    return {
+      // 表单数据
+      formData: {
+        startTime: "",
+        endTime: "",
+        name: "",
+        operateUser: "", //操作人员
+        content: "", //查询内容
+      },
+      /* 当前页数 */
+      currentPage: 1,
+      /* 每页显示个数 */
+      pagesize: 10,
+      /* 总条数 */
+      total: 20,
+      temporaryList: [],
+      srcList: [],
+      list: [],
+      listLoading: false,
+      status: "",
+      hpstatus: "",
+      input4: "",
+      checked: false,
+      pickerOptions: {
+        shortcuts: [
+          {
+            text: "最近一周",
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date();
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+              picker.$emit("pick", [start, end]);
+            },
+          },
+          {
+            text: "最近一个月",
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date();
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+              picker.$emit("pick", [start, end]);
+            },
+          },
+          {
+            text: "最近三个月",
+            onClick(picker) {
+              const end = new Date();
+              const start = new Date();
+              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+              picker.$emit("pick", [start, end]);
+            },
+          },
+        ],
+      },
+      value1: "",
+      value2: "",
+    };
+  },
+  mounted() {
+   this.getAllList();
+  },
+  methods: {
+	/* 获取列表数据 */
+    getAllList(searchForm = {}) {
+      const params = {
+        pageIndex: this.currentPage,
+        pageSize: this.pagesize,
+      };
+      getAuditLogAttachmentsSearch({ ...params, ...searchForm }).then((res) => {
+        const { data } = res;
+        console.log(data);
+        this.temporaryList = data.result;
+        this.srcList = data.result;
+        this.total = res.data.total;
+      });
+	},
 
-		</el-row>
-		<el-table v-loading="listLoading" :data="temporaryList" element-loading-text="Loading" border fit
-			highlight-current-row @select="handleSelectionChange" @select-all="handleAll">
-			<el-table-column align="center" label="" width="55" type="selection">
+    handleCommand(command) {
+      this.status = command;
+    },
+    handlehpCommand(command) {
+      this.hpstatus = command;
+    },
 
-			</el-table-column>
-			<el-table-column align="center" label="合同名称" width="200" prop="name">
+	/* 请输入查询内容 */
+    Search() {
+      this.currentPage = 1;
+      this.searchForm = { ...this.formData };
+      this.getAllList(this.searchForm);
+    },
+    /* 操作人员查询*/
+    SearchOperateUser() {
+      console.log("我是操作人员");
+      this.currentPage = 1;
+      this.searchForm = {
+        ...this.formData,
+      };
+      this.getAllList(this.searchForm);
+    },
 
-			</el-table-column>
+    // 日期审核状态查询
+    startEndTime() {
+      this.formData.startTime = this.value2[0];
+      this.formData.endTime = this.value2[1];
+      this.currentPage = 1;
+      this.searchForm = { ...this.formData };
+      this.getAllList(this.searchForm);
+    },
 
-			<el-table-column label="供应商" align="center" width="340" prop="supplierName">
+    /* 分页功能,改变当前页 */
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getAllList(this.searchForm);
+    },
 
-			</el-table-column>
-			<el-table-column label="日期" width="200" align="center">
-				<template slot-scope="scope">
-					<i class="el-icon-time" />
-					<span>{{ scope.row.createdAt }}</span>
-				</template>
+    /* 分页功能去首页 */
+    jumpFirstPage() {
+      this.$refs.pagination.handleCurrentChange(1);
+      this.$emit("handleCurrentChange", 1);
+    },
+    /* 分页功能:去尾页 */
+    jumpLastPage() {
+      let font = this.$refs.pagination;
+      let cpage = Math.ceil(font.total / font.pageSize);
+      font.handleCurrentChange(cpage);
+    },
 
-			</el-table-column>
-			<el-table-column align="center" label="合同附件" width="800" prop="attachments">
-				<template slot-scope="scope">
-					<img width='100' height="100" v-for="item in scope.row.attachments" :src="item">
-				</template>
-			</el-table-column>
-			<el-table-column align="center" prop="created_at" label="操作" width="250">
-				<template slot-scope="scope">
-					<el-tag type="primary" style="cursor: pointer;margin-right: 15px;" @click="">查看详情</el-tag>
-					<el-tag type="primary" style="cursor: pointer;margin-right: 15px;" @click="download(scope.row.id)">
-						下载</el-tag>
-				</template>
-			</el-table-column>
-		</el-table>
-		<div class="pagesip">
-			<el-button type="primary" size="small"
-				style="background-color:#D8AB5A ;border-color:#D8AB5A ; margin: 0 20px;" @click="jumpFirstPage">首页
-			</el-button>
-			<el-pagination background @current-change="handleCurrentChange" layout="prev, pager, next"
-				:total="list.length" :page-size="11" prev-text="上一页" next-text="下一页" :hide-on-single-page="false"
-				ref="pagination">
-			</el-pagination>
-			<el-button type="primary" size="small"
-				style="background-color:#D8AB5A ;border-color:#D8AB5A ;margin: 0 20px;" @click="jumpLastPage">尾页
-			</el-button>
-		</div>
-	</div>
-</template>
-
-<script>
-	import {
-		getList
-	} from '@/api/table'
 
-	export default {
-		filters: {
-			statusFilter(status) {
-				const statusMap = {
-					published: 'success',
-					draft: 'gray',
-					deleted: 'danger'
-				}
-				return statusMap[status]
-			}
-		},
-		data() {
-			return {
-				temporaryList: [],
-				srcList: [],
-				list: [],
-				listLoading: false,
-				status: '',
-				currentPage: 1,
-				pagesize: 11,
-				hpstatus: '',
-				input4: '',
-				checked: false,
-				pickerOptions: {
-					shortcuts: [{
-						text: '最近一周',
-						onClick(picker) {
-							const end = new Date();
-							const start = new Date();
-							start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
-							picker.$emit('pick', [start, end]);
-						}
-					}, {
-						text: '最近一个月',
-						onClick(picker) {
-							const end = new Date();
-							const start = new Date();
-							start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
-							picker.$emit('pick', [start, end]);
-						}
-					}, {
-						text: '最近三个月',
-						onClick(picker) {
-							const end = new Date();
-							const start = new Date();
-							start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
-							picker.$emit('pick', [start, end]);
-						}
-					}]
-				},
-				value1: '',
-				value2: ''
-			}
-		},
-		created() {},
-		mounted() {
-			this.$request({
-				url: '/api/AuditLog/attachments',
-				method: 'post',
-				data: {
-					pageIndex: 1,
-					pageSize: 100
-				}
-			}).then((res) => {
-				this.list = res.data.result
-				console.log(res)
-				this.getPageData();
-			})
-		},
-		methods: {
-			handleCommand(command) {
-				this.status = command
 
-			},
-			handlehpCommand(command) {
-				this.hpstatus = command
 
-			},
-			handleSelectionChange(data) {
-				this.multipleSelection = data;
-				console.log(this.multipleSelection);
-			},
-			handleAll(data) {
-				this.multipleSelection = data
-				console.log(this.multipleSelection)
-			},
-			todetail() {
-				this.$router.push({
-					path: '/detail'
-				})
-			},
-			toindex() {
-				this.$router.push({
-					path: '/sucuirtyaudit/index'
-				})
-			},
-			handleCurrentChange(val) {
-				this.currentPage = val;
-				this.getPageData();
-			},
-			jumpFirstPage() {
-				this.$refs.pagination.handleCurrentChange(1);
-				this.$emit('handleCurrentChange', 1);
-			},
-			jumpLastPage() {
-				let font = this.$refs.pagination
-				let cpage = Math.ceil(font.total / font.pageSize);
-				font.handleCurrentChange(cpage);
-			},
-			getPageData() {
-				let start = (this.currentPage - 1) * this.pagesize;
-				let end = start + this.pagesize;
-				this.srcList = this.list.slice(start, end);
-				this.temporaryList = this.srcList;
-			},
-			download(id) {
-				this.$request({
-					url: '/api/AuditLog/attachments/download',
-					method: 'post',
-					data: {
-						contractIds: [id]
-					},
-					responseType:'blob'
-				}).then((res) => {
-					console.log(res)
-					let filename = this.getFileName(res.headers["content-disposition"]);
-					let fileData = res.data;
-					let blob = new Blob([fileData],{ type: 'application/zip'})
-					let url = window.URL.createobjectURL(blob)
-					const link = document.createElement('a')
-					link.href = url
-					link.download = filename;
-					link.click()
-					// 释放内存
-					window . URL.revokeobjectURL(url);
-				})
-			},
-			getFileName(contentDisposition) {
-				var filename = '';
-				var filenameRegex = /filename[^;=\n]*=((['"]).*?\2][^;\n]*)/;
-				var matches = filenameRegex.exec(contentDisposition);
-				if (matches != null && matches[1]){
-				filename = matches[1].replace(/['"]/g,'');
-				}
-				return decodeURI(filename);
-			}
-		}
-	}
+    handleSelectionChange(data) {
+      this.multipleSelection = data;
+      console.log(this.multipleSelection);
+    },
+    handleAll(data) {
+      this.multipleSelection = data;
+      console.log(this.multipleSelection);
+    },
+    todetail() {
+      this.$router.push({
+        path: "/detail",
+      });
+    },
+    toindex() {
+      this.$router.push({
+        path: "/sucuirtyaudit/index",
+      });
+    },
+   
+    download(id) {
+      this.$request({
+        url: "/api/AuditLog/attachments/download",
+        method: "post",
+        data: {
+          contractIds: [id],
+        },
+        responseType: "blob",
+      }).then((res) => {
+        console.log(res);
+        let filename = this.getFileName(res.headers["content-disposition"]);
+        let fileData = res.data;
+        let blob = new Blob([fileData], { type: "application/zip" });
+        let url = window.URL.createobjectURL(blob);
+        const link = document.createElement("a");
+        link.href = url;
+        link.download = filename;
+        link.click();
+        // 释放内存
+        window.URL.revokeobjectURL(url);
+      });
+    },
+    getFileName(contentDisposition) {
+      var filename = "";
+      var filenameRegex = /filename[^;=\n]*=((['"]).*?\2][^;\n]*)/;
+      var matches = filenameRegex.exec(contentDisposition);
+      if (matches != null && matches[1]) {
+        filename = matches[1].replace(/['"]/g, "");
+      }
+      return decodeURI(filename);
+    },
+  },
+};
 </script>
 <style lang="scss">
-	.pulldown {
-		width: 185px;
-		height: 40px;
-		border: 1px solid #E8E8E8;
-		border-radius: 10px;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		justify-content: space-between;
-		padding: 0 20px;
-		color: #999999;
-	}
+.pulldown {
+  width: 185px;
+  height: 40px;
+  border: 1px solid #e8e8e8;
+  border-radius: 10px;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  justify-content: space-between;
+  padding: 0 20px;
+  color: #999999;
+}
 
-	.pagesip {
-		width: 100%;
-		margin: 20px auto;
-		display: flex;
-		// align-items: center;
-		justify-content: flex-end;
-	}
+.pagesip {
+  width: 100%;
+  margin: 20px auto;
+  display: flex;
+  // align-items: center;
+  justify-content: flex-end;
+}
 
-	.el-pagination.is-background .el-pager li:not(.disabled).active {
-		background-color: #D8AB5A;
-	}
+.el-pagination.is-background .el-pager li:not(.disabled).active {
+  background-color: #d8ab5a;
+}
 
-	.el-col {
-		margin-bottom: 20px;
-	}
+.el-col {
+  margin-bottom: 20px;
+}
 </style>

+ 2 - 2
src/views/sucuirtyaudit/index.vue

xqd
@@ -28,13 +28,13 @@
         <div class="block">
           <el-date-picker
             v-model="value2"
-            type="datetimerange"
+            type="daterange"
             align="right"
             unlink-panels
             range-separator="至"
             start-placeholder="开始日期"
             end-placeholder="结束日期"
-            value-format="yyyy-MM-dd HH:mm:ss"
+            value-format="yyyy-MM-dd "
             :picker-options="pickerOptions"
             @change="startEndTime"
           >