Tartarus 2 vuotta sitten
vanhempi
commit
d75091fefe
3 muutettua tiedostoa jossa 583 lisäystä ja 603 poistoa
  1. 1 0
      src/utils/request.js
  2. 560 584
      src/views/delivery/index.vue
  3. 22 19
      src/views/sucuirtyaudit/annexList.vue

+ 1 - 0
src/utils/request.js

xqd
@@ -77,6 +77,7 @@ service.interceptors.response.use(
   response => {
     const res = response.data
     // if the custom code is not 20000, it is judged as an error.
+	console.log(res)
     if (res.code !== 200) {
       Message({
         message: res.msg || 'Error',

+ 560 - 584
src/views/delivery/index.vue

xqd
@@ -1,608 +1,584 @@
 <template>
-  <div class="app-container">
-    <el-row type="flex" justify="space-around" style="margin-bottom: 20px">
-      <div class="grid-content bg-purple">
-        <el-input
-          placeholder="请输入供应商名称"
-          v-model="formData.name"
-          @change="Search"
-          clearable
-          style="width: 100%"
-        >
-          <i slot="prefix" class="el-input__icon el-icon-search"></i>
-        </el-input>
-      </div>
-      <div class="grid-content bg-purple">
-        <el-dropdown @command="handleCommand">
-          <div class="pulldown">
-            <span class="el-dropdown-link" v-if="!providerStatus">
-              供应商状态
-            </span>
-            <span class="el-dropdown-link" v-if="providerStatus">
-              {{ providerStatus }}
-            </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-item command="删除">删除</el-dropdown-item>
-          </el-dropdown-menu>
-        </el-dropdown>
-      </div>
-      <div class="grid-content bg-purple">
-        <el-dropdown @command="AhandleCommand">
-          <div class="pulldown">
-            <span v-if="!Auditstatus" class="el-dropdown-link"> 审核状态 </span>
-            <span v-if="Auditstatus" class="el-dropdown-link">
-              {{ Auditstatus }}
-            </span>
-            <i class="el-icon-arrow-down el-icon--right" />
-          </div>
-          <el-dropdown-menu slot="dropdown">
-            <el-dropdown-item command="审核状态">审核状态</el-dropdown-item>
-            <el-dropdown-item command="已认证">已认证</el-dropdown-item>
-            <el-dropdown-item command="未认证">未认证</el-dropdown-item>
-          </el-dropdown-menu>
-        </el-dropdown>
-      </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>
-    </el-row>
+	<div class="app-container">
+		<el-row type="flex" justify="space-around" style="margin-bottom: 20px">
+			<div class="grid-content bg-purple">
+				<el-input placeholder="请输入供应商名称" v-model="formData.name" @change="Search" clearable style="width: 100%">
+					<i slot="prefix" class="el-input__icon el-icon-search"></i>
+				</el-input>
+			</div>
+			<div class="grid-content bg-purple">
+				<el-dropdown @command="handleCommand">
+					<div class="pulldown">
+						<span class="el-dropdown-link" v-if="!providerStatus">
+							供应商状态
+						</span>
+						<span class="el-dropdown-link" v-if="providerStatus">
+							{{ providerStatus }}
+						</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-item command="删除">删除</el-dropdown-item>
+					</el-dropdown-menu>
+				</el-dropdown>
+			</div>
+			<div class="grid-content bg-purple">
+				<el-dropdown @command="AhandleCommand">
+					<div class="pulldown">
+						<span v-if="!Auditstatus" class="el-dropdown-link"> 审核状态 </span>
+						<span v-if="Auditstatus" class="el-dropdown-link">
+							{{ Auditstatus }}
+						</span>
+						<i class="el-icon-arrow-down el-icon--right" />
+					</div>
+					<el-dropdown-menu slot="dropdown">
+						<el-dropdown-item command="审核状态">审核状态</el-dropdown-item>
+						<el-dropdown-item command="已认证">已认证</el-dropdown-item>
+						<el-dropdown-item command="未认证">未认证</el-dropdown-item>
+					</el-dropdown-menu>
+				</el-dropdown>
+			</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>
+		</el-row>
 
-    <el-table
-      v-loading="listLoading"
-      :data="temporaryList"
-      element-loading-text="Loading"
-      border
-      fit
-      highlight-current-row
-      @selection-change="handleSelectionChange"
-      @select-all="handleAll"
-    >
-      <el-table-column type="selection"> </el-table-column>
-      <el-table-column
-        label="供应商名称"
-        align="center"
-        prop="name"
-        width="200"
-      >
-      </el-table-column>
-      <el-table-column
-        label="社会统一信用代码"
-        width="200"
-        align="center"
-        prop="socialCode"
-      >
-      </el-table-column>
-      <el-table-column label="账号" width="150" align="center" prop="account">
-      </el-table-column>
-      <el-table-column
-        label="法人名称"
-        width="180"
-        align="center"
-        prop="legalPerson"
-      >
-      </el-table-column>
-      <el-table-column
-        label="联系人"
-        width="180"
-        align="center"
-        prop="contacts"
-      >
-      </el-table-column>
+		<el-table v-loading="listLoading" :data="temporaryList" element-loading-text="Loading" border fit
+			highlight-current-row @selection-change="handleSelectionChange" @select-all="handleAll">
+			<el-table-column type="selection"> </el-table-column>
+			<el-table-column label="供应商名称" align="center" prop="name" width="200">
+			</el-table-column>
+			<el-table-column label="社会统一信用代码" width="200" align="center" prop="socialCode">
+			</el-table-column>
+			<el-table-column label="账号" width="150" align="center" prop="account">
+			</el-table-column>
+			<el-table-column label="法人名称" width="180" align="center" prop="legalPerson">
+			</el-table-column>
+			<el-table-column label="联系人" width="180" align="center" prop="contacts">
+			</el-table-column>
 
-      <el-table-column
-        label="电话"
-        width="180"
-        align="center"
-        prop="contactsMobile"
-      >
-      </el-table-column>
-      <el-table-column
-        label="供应商状态"
-        width="180"
-        align="center"
-        prop="statusText"
-      >
-      </el-table-column>
-      <el-table-column label="状态" align="center" prop="isDeletedText">
-      </el-table-column>
-      <el-table-column align="center" prop="createdAt" label="时间" width="180">
-      </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="toedit(scope.row.id)"
-            >编辑
-          </el-tag>
-          <el-tag
-            type="success"
-            style="margin-right: 15px; cursor: pointer"
-            @click="Srecover(scope.row.id)"
-            v-if="scope.row.isDeleted == 1"
-            >恢复</el-tag
-          >
-          <el-tag
-            type="danger"
-            style="margin-right: 15px; cursor: pointer"
-            @click="Sdeleted(scope.row.id)"
-            v-if="scope.row.isDeleted == 0"
-            >禁用</el-tag
-          >
-        </template>
-      </el-table-column>
-    </el-table>
-    <div style="display: flex; justify-content: space-between">
-      <el-row type="flex" justify="end">
-        <div class="btn" style="display: flex; justify-content: flex-end">
-          <el-button type="primary" @click="failed">审核失败</el-button>
-          <el-button type="primary" @click="success">审核成功</el-button>
-          <el-button type="primary" @click="Exports">批量导出</el-button>
-          <el-button type="success" @click="recover">恢复</el-button>
-          <el-button type="danger" @click="deleted">禁用</el-button>
-        </div>
-      </el-row>
-      <div class="pagesip">
-        <el-button
-          type="primary"
-          size="small"
-          style="
+			<el-table-column label="电话" width="180" align="center" prop="contactsMobile">
+			</el-table-column>
+			<el-table-column label="供应商状态" width="180" align="center" prop="statusText">
+			</el-table-column>
+			<el-table-column label="状态" align="center" prop="isDeletedText">
+			</el-table-column>
+			<el-table-column align="center" prop="createdAt" label="时间" width="180">
+			</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="toedit(scope.row.id)">编辑
+					</el-tag>
+					<el-tag type="success" style="margin-right: 15px; cursor: pointer" @click="Srecover(scope.row.id)"
+						v-if="scope.row.isDeleted == 1">恢复</el-tag>
+					<el-tag type="danger" style="margin-right: 15px; cursor: pointer" @click="Sdeleted(scope.row.id)"
+						v-if="scope.row.isDeleted == 0">禁用</el-tag>
+					<el-tag type="primary" style="margin-right: 15px; cursor: pointer" @click="reset(scope.row.id)"
+						v-permission="['admin']">重置密码</el-tag>
+				</template>
+			</el-table-column>
+		</el-table>
+		<div style="display: flex; justify-content: space-between">
+			<el-row type="flex" justify="end">
+				<div class="btn" style="display: flex; justify-content: flex-end">
+					<el-button type="primary" @click="failed">审核失败</el-button>
+					<el-button type="primary" @click="success">审核成功</el-button>
+					<el-button type="primary" @click="Exports">批量导出</el-button>
+					<el-button type="success" @click="recover">恢复</el-button>
+					<el-button type="danger" @click="deleted">禁用</el-button>
+				</div>
+			</el-row>
+			<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="total,prev, pager, next"
-          :total="total"
-          :page-size="pagesize"
-          :current-page="currentPage"
-          prev-text="上一页"
-          next-text="下一页"
-          :hide-on-single-page="false"
-          ref="pagination"
-        >
-        </el-pagination>
-        <el-button
-          type="primary"
-          size="small"
-          style="
+          " @click="jumpFirstPage">首页
+				</el-button>
+				<el-pagination background @current-change="handleCurrentChange" layout="total,prev, pager, next"
+					:total="total" :page-size="pagesize" :current-page="currentPage" 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>
-  </div>
+          " @click="jumpLastPage">尾页
+				</el-button>
+			</div>
+		</div>
+	</div>
 </template>
 
 <script>
-import { dataConversionUtil } from "../../utils/Excel.js";
-import { getSupplierSearch } from "@/api/supplier";
+	import {
+		dataConversionUtil
+	} from "../../utils/Excel.js";
+	import {
+		getSupplierSearch
+	} from "@/api/supplier";
 
-export default {
-  filters: {
-    statusFilter(status) {
-      const statusMap = {
-        published: "success",
-        draft: "gray",
-        deleted: "danger",
-      };
-      return statusMap[status];
-    },
-  },
-  data() {
-    return {
-      // 表单数据
-      formData: {
-        startTime: "",
-        endTime: "",
-        name: "",
-        status: "",
-        socialCode: "",
-        legalPerson: "",
-      },
-      /* 当前页数 */
-      currentPage: 1,
-      /* 每页显示个数 */
-      pagesize: 10,
-      /* 总条数 */
-      total: 20,
-      srcList: [],
-      list: [],
-      temporaryList: [],
-      listLoading: false,
-      providerStatus: "",
-      search: "",
-      Auditstatus:'',
-      multipleSelection: [],
-      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.checked = this.$store.state.user.checked;
-    this.getAllList();
-  },
-  methods: {
-    /* 获取列表数据 */
-    getAllList(searchForm = {}) {
-      const params = {
-        pageIndex: this.currentPage,
-        pageSize: this.pagesize,
-      };
-      getSupplierSearch({ ...params, ...searchForm }).then((res) => {
-        const { data } = res;
-		console.log(data);
-        this.temporaryList = data.result;
-        this.srcList = data.result;
-        this.total = res.data.total;
-		
-      });
-    },
-    handleSelectionChange(data) {
-      this.multipleSelection = data;
-      console.log(this.multipleSelection);
-    },
-    handleAll(data) {
-      this.multipleSelection = data;
-      console.log(this.multipleSelection);
-    },
-    
-    toedit(id) {
-      this.$router.push({
-        path: "/edit",
-        query: {
-          id: id,
-        },
-      });
-    },
+	export default {
+		filters: {
+			statusFilter(status) {
+				const statusMap = {
+					published: "success",
+					draft: "gray",
+					deleted: "danger",
+				};
+				return statusMap[status];
+			},
+		},
+		data() {
+			return {
+				// 表单数据
+				formData: {
+					startTime: "",
+					endTime: "",
+					name: "",
+					status: "",
+					socialCode: "",
+					legalPerson: "",
+				},
+				/* 当前页数 */
+				currentPage: 1,
+				/* 每页显示个数 */
+				pagesize: 10,
+				/* 总条数 */
+				total: 20,
+				srcList: [],
+				list: [],
+				temporaryList: [],
+				listLoading: false,
+				providerStatus: "",
+				search: "",
+				Auditstatus: '',
+				multipleSelection: [],
+				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.checked = this.$store.state.user.checked;
+			this.getAllList();
+		},
+		methods: {
+			/* 获取列表数据 */
+			getAllList(searchForm = {}) {
+				const params = {
+					pageIndex: this.currentPage,
+					pageSize: this.pagesize,
+				};
+				getSupplierSearch({
+					...params,
+					...searchForm
+				}).then((res) => {
+					const {
+						data
+					} = res;
+					console.log(data);
+					this.temporaryList = data.result;
+					this.srcList = data.result;
+					this.total = res.data.total;
 
-	 // 日期审核状态查询
-    startEndTime() {
-      this.formData.startTime = this.value2[0]
-      this.formData.endTime = this.value2[1]
-      this.currentPage = 1
-      this.searchForm = { ...this.formData }
-      this.getAllList(this.searchForm)
-    },
-	/* 输入供应商状态查询 */
-    handleCommand(command) {
-      this.status = command;
-          if (command === '正常') {
-          this.formData.status = 5
-        }
-        if (command === '删除') {
-          this.formData.status = 4
-        }
-      this.currentPage = 1;
-      this.searchForm = { ...this.formData };
-      this.getAllList(this.searchForm);
-    },
+				});
+			},
+			handleSelectionChange(data) {
+				this.multipleSelection = data;
+				console.log(this.multipleSelection);
+			},
+			handleAll(data) {
+				this.multipleSelection = data;
+				console.log(this.multipleSelection);
+			},
 
-    /* 审核状态查询 */
-    AhandleCommand(command){
-      this.Auditstatus=command
-       if (command === '已认证') {
-          this.formData.status = 5
-        }
-        if (command === '未认证') {
-          this.formData.status = 4
-        }
-      this.currentPage = 1;
-      this.searchForm = { ...this.formData };
-      this.getAllList(this.searchForm);
-      
-    },
+			toedit(id) {
+				this.$router.push({
+					path: "/edit",
+					query: {
+						id: id,
+					},
+				});
+			},
 
-      /* 输入出票人名称查询 */
-    Search() {
-      this.currentPage = 1;
-      this.searchForm = { ...this.formData };
-      this.getAllList(this.searchForm);
-    },
+			// 日期审核状态查询
+			startEndTime() {
+				this.formData.startTime = this.value2[0]
+				this.formData.endTime = this.value2[1]
+				this.currentPage = 1
+				this.searchForm = {
+					...this.formData
+				}
+				this.getAllList(this.searchForm)
+			},
+			/* 输入供应商状态查询 */
+			handleCommand(command) {
+				this.status = command;
+				if (command === '正常') {
+					this.formData.status = 5
+				}
+				if (command === '删除') {
+					this.formData.status = 4
+				}
+				this.currentPage = 1;
+				this.searchForm = {
+					...this.formData
+				};
+				this.getAllList(this.searchForm);
+			},
 
-    /* 分页功能,改变当前页 */
-    handleCurrentChange(val) {
-      this.currentPage = val;
-      this.getAllList(this.searchForm);
-    },
+			/* 审核状态查询 */
+			AhandleCommand(command) {
+				this.Auditstatus = command
+				if (command === '已认证') {
+					this.formData.status = 5
+				}
+				if (command === '未认证') {
+					this.formData.status = 4
+				}
+				this.currentPage = 1;
+				this.searchForm = {
+					...this.formData
+				};
+				this.getAllList(this.searchForm);
 
-    /* 分页功能去首页 */
-    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);
-    },
-    
-    /* 导出 */
-    Exports() {
-      if (this.multipleSelection == "") {
-        this.$message({
-          type: "warning",
-          message: "请选择数据!",
-        });
-      } else {
-        var tableHeader = [
-          [
-            "序号",
-            "供应商名称",
-            "社会统一信用码",
-            "账号",
-            "法人名称",
-            "联系人",
-            "电话",
-            "审核状态",
-            "时间",
-          ],
-        ];
-        var dataList = [];
-        this.multipleSelection.forEach((item, index) => {
-          dataList.push([
-            index + 1,
-            item.name,
-            item.socialCode,
-            item.account,
-            item.legalPerson,
-            item.contacts,
-            item.contactsMobile,
-            item.statusText,
-            item.createdAt,
-          ]);
-        });
-        dataConversionUtil.dataToExcel("供应商列表", tableHeader, dataList);
-        this.$message.success("导出成功!");
-      }
-    },
-    success() {
-      let ids = Array.from(this.multipleSelection, ({ id }) => id);
-      this.$request({
-        url: "/api/Supplier/manage",
-        method: "post",
-        data: {
-          ids: ids,
-          operateType: 3,
-        },
-      }).then((res) => {
-        if (res.code == 200) {
-          this.$message({
-            type: "success",
-            message: res.msg,
-          });
-          this.getData();
-        } else {
-          this.$message({
-            type: "danger",
-            message: res.msg,
-          });
-          this.getData();
-        }
-      });
-    },
-    failed() {
-      let ids = Array.from(this.multipleSelection, ({ id }) => id);
-      this.$request({
-        url: "/api/Supplier/manage",
-        method: "post",
-        data: {
-          ids: ids,
-          operateType: 4,
-        },
-      }).then((res) => {
-        if (res.code == 200) {
-          this.$message({
-            type: "success",
-            message: res.msg,
-          });
-          this.getData();
-        } else {
-          this.$message({
-            type: "danger",
-            message: res.msg,
-          });
-          this.getData();
-        }
-      });
-    },
-    recover() {
-      let ids = Array.from(this.multipleSelection, ({ id }) => id);
-      this.$request({
-        url: "/api/Supplier/manage",
-        method: "post",
-        data: {
-          ids: ids,
-          operateType: 2,
-        },
-      }).then((res) => {
-        if (res.code == 200) {
-          this.$message({
-            type: "success",
-            message: res.msg,
-          });
-          this.getData();
-        } else {
-          this.$message({
-            type: "danger",
-            message: res.msg,
-          });
-          this.getData();
-        }
-      });
-    },
-    Srecover(id) {
-      this.$request({
-        url: "/api/Supplier/manage",
-        method: "post",
-        data: {
-          ids: [id],
-          operateType: 2,
-        },
-      }).then((res) => {
-        if (res.code == 200) {
-          this.$message({
-            type: "success",
-            message: res.msg,
-          });
-          this.getData();
-        } else {
-          this.$message({
-            type: "danger",
-            message: res.msg,
-          });
-          this.getData();
-        }
-      });
-    },
-    deleted() {
-      let ids = Array.from(this.multipleSelection, ({ id }) => id);
-      this.$request({
-        url: "/api/Supplier/manage",
-        method: "post",
-        data: {
-          ids: ids,
-          operateType: 1,
-        },
-      }).then((res) => {
-        if (res.code == 200) {
-          this.$message({
-            type: "success",
-            message: res.msg,
-          });
-          this.getData();
-        } else {
-          this.$message({
-            type: "danger",
-            message: res.msg,
-          });
-          this.getData();
-        }
-      });
-    },
-    Sdeleted(id) {
-      this.$request({
-        url: "/api/Supplier/manage",
-        method: "post",
-        data: {
-          ids: [id],
-          operateType: 1,
-        },
-      }).then((res) => {
-        if (res.code == 200) {
-          this.$message({
-            type: "success",
-            message: res.msg,
-          });
-          this.getData();
-        } else {
-          this.$message({
-            type: "danger",
-            message: res.msg,
-          });
-          this.getData();
-        }
-      });
-    },
-  },
-};
+			},
+
+			/* 输入出票人名称查询 */
+			Search() {
+				this.currentPage = 1;
+				this.searchForm = {
+					...this.formData
+				};
+				this.getAllList(this.searchForm);
+			},
+
+			/* 分页功能,改变当前页 */
+			handleCurrentChange(val) {
+				this.currentPage = val;
+				this.getAllList(this.searchForm);
+			},
+
+			/* 分页功能去首页 */
+			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);
+			},
+
+			/* 导出 */
+			Exports() {
+				if (this.multipleSelection == "") {
+					this.$message({
+						type: "warning",
+						message: "请选择数据!",
+					});
+				} else {
+					var tableHeader = [
+						[
+							"序号",
+							"供应商名称",
+							"社会统一信用码",
+							"账号",
+							"法人名称",
+							"联系人",
+							"电话",
+							"审核状态",
+							"时间",
+						],
+					];
+					var dataList = [];
+					this.multipleSelection.forEach((item, index) => {
+						dataList.push([
+							index + 1,
+							item.name,
+							item.socialCode,
+							item.account,
+							item.legalPerson,
+							item.contacts,
+							item.contactsMobile,
+							item.statusText,
+							item.createdAt,
+						]);
+					});
+					dataConversionUtil.dataToExcel("供应商列表", tableHeader, dataList);
+					this.$message.success("导出成功!");
+				}
+			},
+			success() {
+				let ids = Array.from(this.multipleSelection, ({
+					id
+				}) => id);
+				this.$request({
+					url: "/api/Supplier/manage",
+					method: "post",
+					data: {
+						ids: ids,
+						operateType: 3,
+					},
+				}).then((res) => {
+					if (res.code == 200) {
+						this.$message({
+							type: "success",
+							message: res.msg,
+						});
+						this.getAllList();
+					} else {
+						this.$message({
+							type: "danger",
+							message: res.msg,
+						});
+						this.getAllList();
+					}
+				});
+			},
+			failed() {
+				let ids = Array.from(this.multipleSelection, ({
+					id
+				}) => id);
+				this.$request({
+					url: "/api/Supplier/manage",
+					method: "post",
+					data: {
+						ids: ids,
+						operateType: 4,
+					},
+				}).then((res) => {
+					if (res.code == 200) {
+						this.$message({
+							type: "success",
+							message: res.msg,
+						});
+						this.getAllList();
+					} else {
+						this.$message({
+							type: "danger",
+							message: res.msg,
+						});
+						this.getAllList();
+					}
+				});
+			},
+			recover() {
+				let ids = Array.from(this.multipleSelection, ({
+					id
+				}) => id);
+				this.$request({
+					url: "/api/Supplier/manage",
+					method: "post",
+					data: {
+						ids: ids,
+						operateType: 2,
+					},
+				}).then((res) => {
+					if (res.code == 200) {
+						this.$message({
+							type: "success",
+							message: res.msg,
+						});
+						this.getAllList();
+					} else {
+						this.$message({
+							type: "danger",
+							message: res.msg,
+						});
+						this.getAllList();
+					}
+				});
+			},
+			Srecover(id) {
+				this.$request({
+					url: "/api/Supplier/manage",
+					method: "post",
+					data: {
+						ids: [id],
+						operateType: 2,
+					},
+				}).then((res) => {
+					if (res.code == 200) {
+						this.$message({
+							type: "success",
+							message: res.msg,
+						});
+						this.getAllList();
+					} else {
+						this.$message({
+							type: "danger",
+							message: res.msg,
+						});
+						this.getAllList();
+					}
+				});
+			},
+			deleted() {
+				let ids = Array.from(this.multipleSelection, ({
+					id
+				}) => id);
+				this.$request({
+					url: "/api/Supplier/manage",
+					method: "post",
+					data: {
+						ids: ids,
+						operateType: 1,
+					},
+				}).then((res) => {
+					if (res.code == 200) {
+						this.$message({
+							type: "success",
+							message: res.msg,
+						});
+						this.getAllList();
+					} else {
+						this.$message({
+							type: "danger",
+							message: res.msg,
+						});
+						this.getAllList();
+					}
+				});
+			},
+			Sdeleted(id) {
+				this.$request({
+					url: "/api/Supplier/manage",
+					method: "post",
+					data: {
+						ids: [id],
+						operateType: 1,
+					},
+				}).then((res) => {
+					if (res.code == 200) {
+						this.$message({
+							type: "success",
+							message: res.msg,
+						});
+						this.getAllList();
+					} else {
+						this.$message({
+							type: "danger",
+							message: res.msg,
+						});
+						this.getAllList();
+					}
+				});
+			},
+			reset(id) {
+				this.$prompt("请输入密码", "重置密码", {
+						confirmButtonText: "确定",
+						cancleButtonText: "取消",
+					})
+					.then(({
+						value
+					}) => {
+						if(value.length <6){
+							this.$message({
+								type:'error',
+								message:'密码至少六位!'
+							})
+						}else{
+							this.$request({
+								url: "/api/Account/password/resetSupplier",
+								method: "post",
+								data: {
+									password: value,
+									supplierId: id,
+								},
+							}).then((res) => {
+								console.log(res);
+								if (res.code === 200) {
+									this.$message({
+										type: "success",
+										message: "重置成功",
+									});
+								}
+							});
+						}
+						
+					})
+					.catch(() => {
+						this.$message({
+							type: "info",
+							message: "取消重置密码",
+						});
+					});
+			}
+		},
+	};
 </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;
-}
-.pagesip {
-  width: 100%;
-  margin: 20px auto;
-  display: flex;
-  // align-items: center;
-  justify-content: flex-end;
-}
+	.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;
+	}
 
-.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;
-}
-.btn {
-  padding: 20px;
-}
+	.el-col {
+		margin-bottom: 20px;
+	}
 
+	.btn {
+		padding: 20px;
+	}
 </style>

+ 22 - 19
src/views/sucuirtyaudit/annexList.vue

xqd
@@ -216,27 +216,30 @@
 					method: 'post',
 					data: {
 						contractIds: [id]
-					}
+					},
+					responseType:'blob'
 				}).then((res) => {
-					var zipName = "Bulk_Download"; // 下载的文件名
-					let blob = new Blob([res.data], {
-						type: "application/zip"
-					}); // 下载格式为zip
-					if ("download" in document.createElement("a")) {
-						非IE下载
-						let elink = document.createElement("a"); // 创建一个<a>标签
-						elink.style.display = "none"; // 隐藏标签
-						elink.href = window.URL.createObjectURL(blob); // 配置href
-						window.open(elink.href)
-						// elink.download = zipName;
-						// elink.click();
-						// URL.revokeObjectURL(elink.href); // 释放URL 对象
-						// document.body.removeChild(elink); // 移除<a>标签
-					} else {
-						//IE10+
-						navigator.msSaveBlob(blob, zipName);
-					}
+					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);
 			}
 		}
 	}