Tartarus il y a 2 ans
Parent
commit
77f8c4cd33

+ 17 - 18
src/router/index.js

xqd xqd xqd xqd xqd xqd xqd
@@ -64,7 +64,6 @@ export const asyncRouterMap = [
         path: '/detail',
         name: 'detail',
         component: () => import('@/views/contracts/detail'),
-
         meta: { title: '合同详情', roles: ['admin', 'salesman', 'supplier'] },
         hidden: true
       },
@@ -80,21 +79,21 @@ export const asyncRouterMap = [
         path: 'contracts/addnewbill',
         name: 'addnewbill',
         component: () => import('@/views/contracts/addnewbill'),
-        meta: { title: '新增汇票', roles: ['admin', 'salesman'] },
+        meta: { title: '新增汇票', roles: ['admin', 'salesman','supplier'] },
         hidden: true
       },
       {
         path: 'contracts/billDetail',
         name: 'billDetail',
         component: () => import('@/views/contracts/billDetail'),
-        meta: { title: '汇票详情', roles: ['admin', 'salesman'] },
+        meta: { title: '汇票详情', roles: ['admin', 'salesman','supplier'] },
         hidden: true
       },
       {
         path: 'contracts/addcontract',
         name: 'addcontract',
         component: () => import('@/views/contracts/new_file'),
-        meta: { title: '新增合同', roles: ['admin', 'salesman'] },
+        meta: { title: '新增合同', roles: ['admin', 'salesman','supplier'] },
         hidden: true
       }
     ]
@@ -105,26 +104,26 @@ export const asyncRouterMap = [
     component: Layout,
     redirect: '/table',
     name: 'Example',
-    meta: { title: '承兑人列表', icon: 'el-icon-s-help', roles: ['admin', 'salesman'] },
+    meta: { title: '承兑人列表', icon: 'el-icon-s-help', roles: ['admin', 'salesman',] },
     children: [
       {
         path: 'table',
         name: 'Table',
         component: () => import('@/views/table/index'),
-        meta: { title: '承兑人列表', icon: 'el-icon-s-help', roles: ['admin', 'salesman'] }
+        meta: { title: '承兑人列表', icon: 'el-icon-s-help', roles: ['admin', 'salesman',] }
       },
       {
         path: '/table/addAcceptor',
         name: 'Table',
         component: () => import('@/views/table/addAcceptor'),
-        meta: { title: '新增承兑人', roles: ['admin', 'salesman'] },
+        meta: { title: '新增承兑人', roles: ['admin', 'salesman',] },
         hidden: true
       },
       {
         path: 'table/detail',
         name: 'Table',
         component: () => import('@/views/table/detail'),
-        meta: { title: '承兑人详情', roles: ['admin', 'salesman'] },
+        meta: { title: '承兑人详情', roles: ['admin', 'salesman',] },
         hidden: true
       }
     ]
@@ -138,20 +137,20 @@ export const asyncRouterMap = [
         path: 'index',
         name: 'Form',
         component: () => import('@/views/form/index'),
-        meta: { title: '出票人列表', icon: 'form', roles: ['admin', 'salesman'] }
+        meta: { title: '出票人列表', icon: 'form', roles: ['admin', 'salesman',] }
       },
       {
         path: '/form/addTicketdrawer',
         name: 'addTicketdrawer',
         component: () => import('@/views/form/addTicketdrawer'),
-        meta: { title: '新增出票人', roles: ['admin', 'salesman'] },
+        meta: { title: '新增出票人', roles: ['admin', 'salesman',] },
         hidden: true
       },
       {
         path: '/form/detail',
         name: 'detail',
         component: () => import('@/views/form/detail'),
-        meta: { title: '出票人详情', roles: ['admin', 'salesman'] },
+        meta: { title: '出票人详情', roles: ['admin', 'salesman',] },
         hidden: true
       }
     ]
@@ -164,13 +163,13 @@ export const asyncRouterMap = [
         path: 'index',
         name: 'delivery',
         component: () => import('@/views/delivery/index'),
-        meta: { title: '供应商账号', icon: 'el-icon-s-promotion', roles: ['admin', 'salesman'] }
+        meta: { title: '供应商账号', icon: 'el-icon-s-promotion', roles: ['admin', 'salesman',] }
       },
       {
         path: '/edit',
         name: 'edit',
         component: () => import('@/views/delivery/edit'),
-        meta: { title: '编辑', roles: ['admin', 'salesman'] },
+        meta: { title: '编辑', roles: ['admin', 'salesman',] },
         hidden: true
       }
     ]
@@ -183,27 +182,27 @@ export const asyncRouterMap = [
         path: '/shipments/index',
         name: 'shipments',
         component: () => import('@/views/shipments/index'),
-        meta: { title: '报表统计', icon: 'el-icon-s-marketing', roles: ['admin', 'salesman'] }
+        meta: { title: '报表统计', icon: 'el-icon-s-marketing', roles: ['admin', 'salesman',] }
       },
       {
         path: '/shipments1',
         name: 'shipments1',
         component: () => import('@/views/shipments/shipments1'),
-        meta: { title: '出票人分类报表', roles: ['admin', 'salesman'] },
+        meta: { title: '出票人分类报表', roles: ['admin', 'salesman',] },
         hidden: true
       },
       {
         path: '/shipments2',
         name: 'shipments2',
         component: () => import('@/views/shipments/shipments2'),
-        meta: { title: '合同统计列表', roles: ['admin', 'salesman'] },
+        meta: { title: '合同统计列表', roles: ['admin', 'salesman',] },
         hidden: true
       },
       {
         path: '/shipments3',
         name: 'shipments3',
         component: () => import('@/views/shipments/shipments3'),
-        meta: { title: '供应商统计列表', roles: ['admin', 'salesman'] },
+        meta: { title: '供应商统计列表', roles: ['admin', 'salesman',] },
         hidden: true
       }
 
@@ -255,7 +254,7 @@ export const asyncRouterMap = [
         path: 'index',
         name: 'databackup',
         component: () => import('@/views/databackup/index'),
-        meta: { title: '数据备份', icon: 'el-icon-upload', roles: [] }
+        meta: { title: '数据备份', icon: 'el-icon-upload', roles: ['admin'] }
       }
     ]
   },

+ 3 - 3
src/store/modules/user.js

xqd
@@ -69,11 +69,11 @@ const actions = {
         const roleId = userInfo.roleId
         let roles = []
         if (roleId === 0) {
-          roles = ['admin']
+          roles = ['admin']  //超级管理员
         } else if (roleId === 1) {
-          roles = ['salesman']
+          roles = ['salesman']  //业务管理员
         } else if (roleId === 999) {
-          roles = ['supplier']
+          roles = ['supplier']  //供应商
         }
         commit('SET_ROLES', roles)
 

+ 38 - 35
src/views/contracts/billDetail.vue

xqd xqd
@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-descriptions title="汇票详情">
+    <el-descriptions title="汇票详情" :column="3" :size="size" border style="margin: 10px;">
       <el-descriptions-item label="汇票名">{{ list[0].name }}</el-descriptions-item>
       <el-descriptions-item label="汇票编号">{{ list[0].draftNo }}</el-descriptions-item>
 	  <el-descriptions-item label="汇票状态">{{ list[0].draftStatusText }}</el-descriptions-item>
@@ -25,40 +25,43 @@
         <el-image  style="width: 100px; height: 100px" :src="list[0].feedbackPicList" :preview-src-list="list[0].picList" />
       </el-descriptions-item>
     </el-descriptions>
-    <el-input
-      v-permission="['admin']"
-      v-model="feed.feedback"
-      type="textarea"
-      placeholder="请输入审核反馈内容"
-      style="width: 200px;"
-    />
-    <el-row v-permission="['admin']">
-      <el-col style="margin:0 auto;">
-        <div class="titlesa">
-          <span>上传反馈截图</span>
-        </div>
-        <div>
-          <el-upload
-            accept=".pdf, .jpg, .jpeg, .png"
-            action="#"
-            :file-list="fileArr"
-            list-type="picture-card"
-            :show-file-list="true"
-            :auto-upload="false"
-            :before-upload="beforeUpload"
-            :on-success="upSuccess"
-            :on-error="upError"
-            :on-change="imgPreview"
-          >
-
-            <i class="el-icon-plus" />
-          </el-upload>
-          <el-dialog :visible.sync="dialogVisible">
-            <img width="100%" :src="feed.feedbackPicList" alt="">
-          </el-dialog>
-        </div>
-      </el-col>
-    </el-row>
+	<div style="margin-left: 50px;">
+		<el-input
+		  v-permission="['admin']"
+		  v-model="feed.feedback"
+		  type="textarea"
+		  placeholder="请输入审核反馈内容"
+		  style="width: 200px;"
+		/>
+		<el-row v-permission="['admin']">
+		  <el-col style="margin:0 auto;">
+		    <div class="titlesa">
+		      <span>上传反馈截图</span>
+		    </div>
+		    <div>
+		      <el-upload
+		        accept=".pdf, .jpg, .jpeg, .png"
+		        action="#"
+		        :file-list="fileArr"
+		        list-type="picture-card"
+		        :show-file-list="true"
+		        :auto-upload="false"
+		        :before-upload="beforeUpload"
+		        :on-success="upSuccess"
+		        :on-error="upError"
+		        :on-change="imgPreview"
+		      >
+		
+		        <i class="el-icon-plus" />
+		      </el-upload>
+		      <el-dialog :visible.sync="dialogVisible">
+		        <img width="100%" :src="feed.feedbackPicList" alt="">
+		      </el-dialog>
+		    </div>
+		  </el-col>
+		</el-row>
+	</div>
+    
     <div class="btn">
       <el-button v-permission="['admin']" type="success" @click="success">审核成功</el-button>
       <el-button v-permission="['admin']" type="danger" @click="failed">审核失败</el-button>

+ 18 - 17
src/views/contracts/new_file.vue

xqd xqd xqd xqd xqd
@@ -82,8 +82,10 @@
       v-for="(item, index) in form.contractDrafts"
       :key="item.id"
       class="form"
+	  style="margin: 20px;border: 1px solid #c0c0c0;padding: 10px;border-radius: 10px;"
     >
-      <el-form ref="form" :model="item" label-width="90px">
+      <el-form ref="form" :model="item" label-width="90px" >
+		 
         <el-form-item label="汇票名称">
           <el-input
             v-model="item.name"
@@ -136,15 +138,7 @@
             style="width: 220px"
           />
         </el-form-item>
-        <el-form-item label="金额">
-          <el-input
-            v-model="item.money"
-            class="ipwidth"
-            placeholder="请填写金额"
-            style="width: 220px"
-            @change="computed"
-          />
-        </el-form-item>
+       
         <el-form-item label="服务费">
           <el-input
             v-model="item.serviceMoney"
@@ -161,6 +155,15 @@
             style="width: 220px"
           />
         </el-form-item>
+		<el-form-item label="金额">
+		  <el-input
+		    v-model="item.money"
+		    class="ipwidth"
+		    placeholder="请填写金额"
+		    style="width: 220px"
+		    @change="computed"
+		  />
+		</el-form-item>
         <el-form-item label="利息">
           <el-input
             v-model="item.interest"
@@ -179,25 +182,24 @@
               style="color: darkorange"
               @click.native="addDrawer"
             />
-            <!-- <el-option
+            <el-option
               v-for="item in drawersName"
               :label="item"
               :value="item"
-            /> -->
+            />
           </el-select>
         </el-form-item>
         <el-form-item label="承兑人">
           <el-select v-model="form.acceptorName" placeholder="请选择承兑人">
-            <!-- <el-option
->>>>>>> a1c2ac8b58c433385ebdfcc2370495ca1407e386
+            <el-option
               v-for="val in acceptorName"
               :label="val"
               :value="val"
               @click.native="getRate"
-            /> -->
+            />
           </el-select>
         </el-form-item>
-
+		
         <el-form-item label="服务费率">
           <el-input
             v-model="item.serviceRate"
@@ -246,7 +248,6 @@
             </div>
           </el-col>
         </el-row>
-        >>>>>>> a1c2ac8b58c433385ebdfcc2370495ca1407e386
 
         <!-- 删除汇票 -->
         <el-button

+ 6 - 6
src/views/databackup/index.vue

xqd xqd xqd xqd
@@ -60,7 +60,7 @@
 			<el-table-column align="center" prop="created_at" label="操作" width="250">
 				<template slot-scope="scope">
 					<el-tag type="success" style="cursor: pointer;margin-right: 15px;" @click="recover(scope.row.fileName)">恢复</el-tag>
-					<el-tag type="warning" style="margin-right: 15px;cursor: pointer;" @click="download(scope.row.fileName)">下载</el-tag>
+					<el-tag type="warning" style="margin-right: 15px;cursor: pointer;" @click="download(scope.row.fileUrl)">下载</el-tag>
 					<el-tag type="danger" style="cursor: pointer;" @click="deleted(scope.row.fileName)">删除</el-tag>
 				</template>
 			</el-table-column>
@@ -140,9 +140,7 @@
 				value2: ''
 			}
 		},
-		created() {
-			// this.fetchData()
-		},
+	
 		mounted() {
 			this.$request({
 				url:"/api/Database/backups",
@@ -152,6 +150,7 @@
 					pageSize:100
 				}
 			}).then((res)=>{
+				console.log(res)
 				this.list=res.data.result
 				this.getPageData();
 			})
@@ -192,8 +191,9 @@
 				this.multipleSelection = data
 				console.log(this.multipleSelection)
 			},
-			download(fileName){
-				window.open('https://ht.9026.com/api/Database/export?fileName='+fileName)
+			download(url){
+				// window.open('https://ht.9026.com/api/Database/export?fileName='+fileName)
+				window.open(url)
 				// this.$request({
 				// 	url:'/api/Database/export',
 				// 	method:'post',

+ 2 - 4
src/views/delivery/edit.vue

xqd xqd
@@ -1,6 +1,6 @@
 <template>
   <div>
-    <el-descriptions title="供应商详情">
+    <el-descriptions title="供应商详情" :column="3" :size="size" border style="margin: 20px;">
       <el-descriptions-item label="供应商名称">{{ list.name }}</el-descriptions-item>
       <el-descriptions-item label="id">{{ list.id }}</el-descriptions-item>
       <el-descriptions-item label="社会统一信用代码">{{ list.socialCode }}</el-descriptions-item>
@@ -18,12 +18,10 @@
       </el-descriptions-item>
     </el-descriptions>
     <div style="display: flex;justify-content: center;">
-      <el-button type="primary" style="width: 100px; " @click="update">修改信息</el-button>
+      <!-- <el-button type="primary" style="width: 100px; " @click="update">修改信息</el-button> -->
       <el-button type="primary" style="width: 100px; " @click="back">返回</el-button>
     </div>
-
   </div>
-
 </template>
 
 <script>

+ 32 - 1
src/views/delivery/index.vue

xqd xqd
@@ -87,7 +87,8 @@
 					<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="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)">重置密码</el-tag>
 				</template>
 			</el-table-column>
 		</el-table>
@@ -432,6 +433,36 @@
 						this.getData()
 					}
 				})
+			},
+			// 重置供应商密码
+			reset(id){
+				console.log(id)
+				this.$prompt('请输入密码','重置密码',{
+					confirmButtonText:'确定',
+					cancleButtonText:'取消',
+				}).then(({value})=>{
+					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:'取消重置密码'
+					})
+				})
 			}
 		}
 	}

+ 18 - 11
src/views/form/detail.vue

xqd xqd xqd xqd
@@ -1,11 +1,16 @@
 <template>
-	<div class="form">
-		<el-descriptions title="详情信息">
-			<el-descriptions-item label="id">{{tableData.id}}</el-descriptions-item>
-			<el-descriptions-item label="起始时间">{{tableData.createdAt}}</el-descriptions-item>
-			<el-descriptions-item label="状态">{{tableData.statusText}}</el-descriptions-item>
-		</el-descriptions>
+	<div class="form" style="margin-top: 50px;">
+
 		<el-form ref="form" :model="tableData" label-width="80px">
+			<el-form-item label="id" prop="tableData.id">
+				<el-input v-model="tableData.id" style="width: 300px;" disabled></el-input>
+			</el-form-item>
+			<el-form-item label="起始时间" prop="tableData.createdAt">
+				<el-input v-model="tableData.createdAt" style="width: 300px;" disabled></el-input>
+			</el-form-item>
+			<el-form-item label="状态" prop="tableData.statusText">
+				<el-input v-model="tableData.statusText" style="width: 300px;" disabled></el-input>
+			</el-form-item>
 			<el-form-item label="姓名" prop="tableData.name">
 				<el-input v-model="tableData.name" style="width: 300px;"></el-input>
 			</el-form-item>
@@ -19,6 +24,8 @@
 				<el-button type="primary" @click="onSubmit">提交修改</el-button>
 			</el-form-item>
 		</el-form>
+
+
 	</div>
 </template>
 
@@ -31,10 +38,10 @@
 					bankAccount: '',
 					bankName: '',
 					id: '',
-					createdAt:'',
-					status:'',
-					statusText:'',
-					
+					createdAt: '',
+					status: '',
+					statusText: '',
+
 				},
 			}
 		},
@@ -73,7 +80,7 @@
 </script>
 
 <style lang="scss">
-	.form{
+	.form {
 		display: flex;
 		flex-direction: column;
 		justify-content: center;

+ 400 - 381
src/views/management/index.vue

xqd
@@ -1,395 +1,414 @@
 <template>
-  <div class="app-container">
-    <el-row type="flex" justify="space-between" style="margin-bottom:20px ;">
-      <div class="grid-content bg-purple">
-        <el-input v-model="input4" placeholder="业务管理员名称搜索" style="width: 100%;">
-          <i slot="prefix" class="el-input__icon el-icon-search" />
-        </el-input>
-      </div>
-      <div class="grid-content bg-purple">
-        <el-dropdown @command="handleCommand">
-          <div class="pulldown">
-            <span v-if="!status" class="el-dropdown-link">
-              业务管理员状态筛选
-            </span>
-            <span v-if="status" class="el-dropdown-link">
-              {{ status }}
-            </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-menu>
-        </el-dropdown>
-      </div>
-      <div class="grid-content bg-purple">
-        <el-dropdown @command="handlehpCommand()">
-          <div class="pulldown">
-            <span v-if="!hpstatus" class="el-dropdown-link">
-              审核状态筛选
-            </span>
-            <span v-if="hpstatus" class="el-dropdown-link">
-              {{ hpstatus }}
-            </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-menu>
-        </el-dropdown>
-      </div>
-      <div class="grid-content bg-purple" style="display: flex;justify-content: flex-end;margin-left: 10px;">
-        <el-button type="success" @click="success">审核成功</el-button>
-        <el-button type="danger" @click="failed">审核失败</el-button>
-        <el-button type="primary" @click="recover">恢复</el-button>
-        <el-button type="warning" @click="deleted">删除</el-button>
-        <el-button type="primary" @click="Exports">批量导出</el-button>
-      </div>
-    </el-row>
-    <el-table
-      v-loading="listLoading"
-      :data="srcList"
-      element-loading-text="Loading"
-      border
-      fit
-      highlight-current-row
-      @selection-change="handleSelectionChange"
-      @select-all="handleAll"
-    >
-      <el-table-column align="center" label="" width="55" type="selection" />
-      <el-table-column label="业务管理员姓名" align="center" width="180" prop="realName" />
-      <el-table-column label="账号" align="center" prop="account" />
-      <el-table-column label="联系电话" width="180" align="center" prop="mobile" />
-      <el-table-column label="业务管理员状态" align="center" prop="statusText" />
-      <el-table-column label="审核状态" align="center" prop="approveStatusText" />
-      <el-table-column label="时间" width="180" align="center" />
-      <el-table-column align="center" prop="created_at" label="操作" width="200">
-        <template slot-scope="scope">
-          <el-tag type="primary" style="cursor: pointer; margin:0 5px;" @click="">编辑</el-tag>
-          <el-tag type="success" style="cursor: pointer; margin:0 5px;" @click="Srecover(scope.row.id)" v-if="scope.row.status==1">恢复</el-tag>
-          <el-tag type="danger" style="cursor: pointer; margin:0 5px;" @click="Sdeleted(scope.row.id)" v-if="scope.row.status==0">删除</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
-        layout="prev, pager, next"
-        :total="list.length"
-        :page-size="11"
-        prev-text="上一页"
-        next-text="下一页"
-        @current-change="handleCurrentChange"
-        :hide-on-single-page="false"
-        ref="pagination"
-      />
-      <el-button
-        type="primary"
-        size="small"
-        style="background-color:#D8AB5A ;border-color:#D8AB5A ;margin: 0 20px;"
-        @click="jumpLastPage"
-      >尾页
-      </el-button>
-    </div>
-  </div>
+	<div class="app-container">
+		<el-row type="flex" justify="space-between" style="margin-bottom:20px ;">
+			<div class="grid-content bg-purple">
+				<el-input v-model="input4" placeholder="业务管理员名称搜索" style="width: 100%;">
+					<i slot="prefix" class="el-input__icon el-icon-search" />
+				</el-input>
+			</div>
+			<div class="grid-content bg-purple">
+				<el-dropdown @command="handleCommand">
+					<div class="pulldown">
+						<span v-if="!status" class="el-dropdown-link">
+							业务员状态筛选
+						</span>
+						<span v-if="status" class="el-dropdown-link">
+							{{ status }}
+						</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">
+				<el-dropdown @command="handlehpCommand()">
+					<div class="pulldown">
+						<span v-if="!hpstatus" class="el-dropdown-link">
+							审核状态筛选
+						</span>
+						<span v-if="hpstatus" class="el-dropdown-link">
+							{{ hpstatus }}
+						</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" style="display: flex;justify-content: flex-end;margin-left: 10px;">
+				<el-button type="success" @click="success">审核成功</el-button>
+				<el-button type="danger" @click="failed">审核失败</el-button>
+				<el-button type="primary" @click="recover">恢复</el-button>
+				<el-button type="warning" @click="deleted">删除</el-button>
+				<el-button type="primary" @click="Exports">批量导出</el-button>
+			</div>
+		</el-row>
+		<el-table v-loading="listLoading" :data="srcList" element-loading-text="Loading" border fit
+			highlight-current-row @selection-change="handleSelectionChange" @select-all="handleAll">
+			<el-table-column align="center" label="" width="55" type="selection" />
+			<el-table-column label="业务管理员姓名" align="center" width="180" prop="realName" />
+			<el-table-column label="账号" align="center" prop="account" />
+			<el-table-column label="联系电话" width="180" align="center" prop="mobile" />
+			<el-table-column label="业务管理员状态" align="center" prop="statusText" />
+			<el-table-column label="审核状态" align="center" prop="approveStatusText" />
+			<el-table-column label="时间" width="180" align="center" prop='createdAt' />
+			<el-table-column align="center" prop="created_at" label="操作" width="300">
+				<template slot-scope="scope">
+					<!-- <el-tag type="primary" style="cursor: pointer; margin:0 5px;" @click="">编辑</el-tag> -->
+					<el-tag type="success" style="cursor: pointer; margin:0 5px;" @click="Srecover(scope.row.id)"
+						v-if="scope.row.status==1">恢复</el-tag>
+					<el-tag type="danger" style="cursor: pointer; margin:0 5px;" @click="Sdeleted(scope.row.id)"
+						v-if="scope.row.status==0">删除</el-tag>
+					<el-tag type="primary" v-permission="['admin']" style="cursor: pointer; margin:0 5px;" @click="reset(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 layout="prev, pager, next" :total="list.length" :page-size="11" prev-text="上一页"
+				next-text="下一页" @current-change="handleCurrentChange" :hide-on-single-page="false" ref="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'
+	import {
+		getList
+	} from '@/api/table'
 	import {
 		dataConversionUtil
 	} from '../../utils/Excel.js'
-export default {
-  filters: {
-    statusFilter(status) {
-      const statusMap = {
-        published: 'success',
-        draft: 'gray',
-        deleted: 'danger'
-      }
-      return statusMap[status]
-    }
-  },
-  data() {
-    return {
-      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.getData()
-  },
-  methods: {
-		getData(){
-				 this.$request({
-				   url: '/api/Account/search',
-				   method: 'post',
-				   data: {
-				     pageIndex: 0,
-				     pageSize: 30
-				   }
-				 }).then((res) => {
-				   this.list = res.data.result
-				   console.log(res.data.result)
-				   this.getPageData()
-				 })
+	export default {
+		filters: {
+			statusFilter(status) {
+				const statusMap = {
+					published: 'success',
+					draft: 'gray',
+					deleted: 'danger'
+				}
+				return statusMap[status]
+			}
+		},
+		data() {
+			return {
+				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.getData()
 		},
-    toDetail() {
-      this.$router.push({
-        path: '/detail'
-      })
-    },
-    handleSelectionChange(data) {
-      this.multipleSelection = data
-      console.log(this.multipleSelection)
-    },
-    handleAll(data) {
-      this.multipleSelection = data
-      console.log(this.multipleSelection)
-    },
-    handleCommand(command) {
-      this.status = command
-    },
-    handlehpCommand(command) {
-      this.hpstatus = command
-    },
-    handleCurrentChange(val) {
-      this.currentPage = val
-      this.getPageData()
-    },
-    jumpFirstPage() {
-      this.$refs.pagination.handleCurrentChange(1)
-      this.$emit('handleCurrentChange', 1)
-    },
-    jumpLastPage() {
-      const font = this.$refs.pagination
-      const cpage = Math.ceil(font.total / font.pageSize)
-      font.handleCurrentChange(cpage)
-    },
-    getPageData() {
-      const start = (this.currentPage - 1) * this.pagesize
-      const end = start + this.pagesize
-      this.srcList = this.list.slice(start, end)
-    },
-    success() {
-      const ids = Array.from(this.multipleSelection, ({ id }) => id)
-      this.$request({
-        url: '/api/Account/manager',
-        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() {
-      const ids = Array.from(this.multipleSelection, ({ id }) => id)
-      this.$request({
-        url: '/api/Account/manager',
-        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() {
-      const ids = Array.from(this.multipleSelection, ({ id }) => id)
-      this.$request({
-        url: '/api/Account/manager',
-        method: 'post',
-        data: {
-          ids: ids,
-          operateType: 2
-        }
-      }).then((res) => {
-        if (res.code == 200) {
-          this.$message({
-            type: 'success',
-            message: '恢复成功'
-          })
-		  this.getData()
-        } else {
-          this.$message({
-            type: 'danger',
-            message: '恢复失败'
-          })
-		  this.getData()
-        }
-      })
-    },
-    deleted() {
-      const ids = Array.from(this.multipleSelection, ({ id }) => id)
-      this.$request({
-        url: '/api/Account/manager',
-        method: 'post',
-        data: {
-          ids: ids,
-          operateType: 1
-        }
-      }).then((res) => {
-        if (res.code == 200) {
-          this.$message({
-            type: 'success',
-            message: '删除成功'
-          })
-		  this.getData()
-        } else {
-          this.$message({
-            type: 'danger',
-            message: '删除失败'
-          })
-		  this.getData()
-        }
-      })
-    },
-    Srecover(id) {
-      this.$request({
-        url: '/api/Account/manager',
-        method: 'post',
-        data: {
-          ids: [id],
-          operateType: 2
-        }
-      }).then((res) => {
-        if (res.code == 200) {
-          this.$message({
-            type: 'success',
-            message: '恢复成功'
-          })
-		  this.getData()
-        } else {
-          this.$message({
-            type: 'danger',
-            message: '恢复失败'
-          })
-		  this.getData()
-        }
-      })
-    },
-    Sdeleted(id) {
-      this.$request({
-        url: '/api/Account/manager',
-        method: 'post',
-        data: {
-          ids: [id],
-          operateType: 1
-        }
-      }).then((res) => {
-        if (res.code == 200) {
-          this.$message({
-            type: 'success',
-            message: '删除成功'
-          })
-		  this.getData()
-        } else {
-          this.$message({
-            type: 'danger',
-            message: '删除失败'
-          })
-		  this.getData()
-        }
-      })
-    },
-		Exports(){
-			if(this.multipleSelection==""){
-				this.$message({
-					type:'warning',
-					message:'请选择数据!'
+		methods: {
+			getData() {
+				this.$request({
+					url: '/api/Account/search',
+					method: 'post',
+					data: {
+						pageIndex: 0,
+						pageSize: 30
+					}
+				}).then((res) => {
+					this.list = res.data.result
+					console.log(res.data.result)
+					this.getPageData()
 				})
-			}else{
-				var tableHeader = [
-					['序号', '业务管理员姓名', '账号', '联系电话', '业务管理员状态','审核状态', '时间'],
-				]
-				var dataList = []
-				this.multipleSelection.forEach((item, index) => {
-					dataList.push([index + 1, item.realName, item.account, item.mobile, item.statusText,item.approveStatusText, item
-						.createdAt
-					]);
+			},
+			toDetail() {
+				this.$router.push({
+					path: '/detail'
 				})
-				dataConversionUtil.dataToExcel('业务管理员列表', tableHeader, dataList)
-				this.$message.success('导出成功!');
-		}
+			},
+			handleSelectionChange(data) {
+				this.multipleSelection = data
+				console.log(this.multipleSelection)
+			},
+			handleAll(data) {
+				this.multipleSelection = data
+				console.log(this.multipleSelection)
+			},
+			handleCommand(command) {
+				this.status = command
+			},
+			handlehpCommand(command) {
+				this.hpstatus = command
+			},
+			handleCurrentChange(val) {
+				this.currentPage = val
+				this.getPageData()
+			},
+			jumpFirstPage() {
+				this.$refs.pagination.handleCurrentChange(1)
+				this.$emit('handleCurrentChange', 1)
+			},
+			jumpLastPage() {
+				const font = this.$refs.pagination
+				const cpage = Math.ceil(font.total / font.pageSize)
+				font.handleCurrentChange(cpage)
+			},
+			getPageData() {
+				const start = (this.currentPage - 1) * this.pagesize
+				const end = start + this.pagesize
+				this.srcList = this.list.slice(start, end)
+			},
+			success() {
+				const ids = Array.from(this.multipleSelection, ({
+					id
+				}) => id)
+				this.$request({
+					url: '/api/Account/manager',
+					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() {
+				const ids = Array.from(this.multipleSelection, ({
+					id
+				}) => id)
+				this.$request({
+					url: '/api/Account/manager',
+					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() {
+				const ids = Array.from(this.multipleSelection, ({
+					id
+				}) => id)
+				this.$request({
+					url: '/api/Account/manager',
+					method: 'post',
+					data: {
+						ids: ids,
+						operateType: 2
+					}
+				}).then((res) => {
+					if (res.code == 200) {
+						this.$message({
+							type: 'success',
+							message: '恢复成功'
+						})
+						this.getData()
+					} else {
+						this.$message({
+							type: 'danger',
+							message: '恢复失败'
+						})
+						this.getData()
+					}
+				})
+			},
+			deleted() {
+				const ids = Array.from(this.multipleSelection, ({
+					id
+				}) => id)
+				this.$request({
+					url: '/api/Account/manager',
+					method: 'post',
+					data: {
+						ids: ids,
+						operateType: 1
+					}
+				}).then((res) => {
+					if (res.code == 200) {
+						this.$message({
+							type: 'success',
+							message: '删除成功'
+						})
+						this.getData()
+					} else {
+						this.$message({
+							type: 'danger',
+							message: '删除失败'
+						})
+						this.getData()
+					}
+				})
+			},
+			Srecover(id) {
+				this.$request({
+					url: '/api/Account/manager',
+					method: 'post',
+					data: {
+						ids: [id],
+						operateType: 2
+					}
+				}).then((res) => {
+					if (res.code == 200) {
+						this.$message({
+							type: 'success',
+							message: '恢复成功'
+						})
+						this.getData()
+					} else {
+						this.$message({
+							type: 'danger',
+							message: '恢复失败'
+						})
+						this.getData()
+					}
+				})
+			},
+			Sdeleted(id) {
+				this.$request({
+					url: '/api/Account/manager',
+					method: 'post',
+					data: {
+						ids: [id],
+						operateType: 1
+					}
+				}).then((res) => {
+					if (res.code == 200) {
+						this.$message({
+							type: 'success',
+							message: '删除成功'
+						})
+						this.getData()
+					} else {
+						this.$message({
+							type: 'danger',
+							message: '删除失败'
+						})
+						this.getData()
+					}
+				})
+			},
+			Exports() {
+				if (this.multipleSelection == "") {
+					this.$message({
+						type: 'warning',
+						message: '请选择数据!'
+					})
+				} else {
+					var tableHeader = [
+						['序号', '业务管理员姓名', '账号', '联系电话', '业务管理员状态', '审核状态', '时间'],
+					]
+					var dataList = []
+					this.multipleSelection.forEach((item, index) => {
+						dataList.push([index + 1, item.realName, item.account, item.mobile, item.statusText, item
+							.approveStatusText, item
+							.createdAt
+						]);
+					})
+					dataConversionUtil.dataToExcel('业务管理员列表', tableHeader, dataList)
+					this.$message.success('导出成功!');
+				}
+			},
+			// 重置业务员密码
+			reset(id){
+				console.log(id)
+				this.$prompt('请输入密码','重置密码',{
+					confirmButtonText:'确定',
+					cancleButtonText:'取消',
+				}).then(({value})=>{
+					this.$request({
+						url:'/api/Account/password/resetUser',
+						method:'post',
+						data:{
+							password:value,
+							userId: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 {

+ 13 - 2
src/views/shipments/index.vue

xqd
@@ -5,15 +5,26 @@
 				<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}}
+							{{status}}
 						</span>
 						<i class="el-icon-arrow-down el-icon--right"></i>
 					</div>
 					<el-dropdown-menu slot="dropdown">
 						<el-dropdown-item command="1">1月</el-dropdown-item>
+						<el-dropdown-item command="2">2月</el-dropdown-item>
+						<el-dropdown-item command="3">3月</el-dropdown-item>
+						<el-dropdown-item command="4">4月</el-dropdown-item>
+						<el-dropdown-item command="5">5月</el-dropdown-item>
+						<el-dropdown-item command="6">6月</el-dropdown-item>
+						<el-dropdown-item command="7">7月</el-dropdown-item>
+						<el-dropdown-item command="8">8月</el-dropdown-item>
+						<el-dropdown-item command="9">9月</el-dropdown-item>
+						<el-dropdown-item command="10">10月</el-dropdown-item>
+						<el-dropdown-item command="11">11月</el-dropdown-item>
+						<el-dropdown-item command="12">12月</el-dropdown-item>
 					</el-dropdown-menu>
 				</el-dropdown>
 			</div>

+ 13 - 2
src/views/shipments/shipments1.vue

xqd
@@ -5,15 +5,26 @@
 					<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}}
+								{{status}}
 							</span>
 							<i class="el-icon-arrow-down el-icon--right"></i>
 						</div>
 						<el-dropdown-menu slot="dropdown">
 							<el-dropdown-item command="1">1月</el-dropdown-item>
+							<el-dropdown-item command="2">2月</el-dropdown-item>
+							<el-dropdown-item command="3">3月</el-dropdown-item>
+							<el-dropdown-item command="4">4月</el-dropdown-item>
+							<el-dropdown-item command="5">5月</el-dropdown-item>
+							<el-dropdown-item command="6">6月</el-dropdown-item>
+							<el-dropdown-item command="7">7月</el-dropdown-item>
+							<el-dropdown-item command="8">8月</el-dropdown-item>
+							<el-dropdown-item command="9">9月</el-dropdown-item>
+							<el-dropdown-item command="10">10月</el-dropdown-item>
+							<el-dropdown-item command="11">11月</el-dropdown-item>
+							<el-dropdown-item command="12">12月</el-dropdown-item>
 						</el-dropdown-menu>
 					</el-dropdown>
 				</div>

+ 7 - 4
src/views/sucuirtyaudit/annexList.vue

xqd xqd xqd
@@ -40,6 +40,7 @@
 				<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>
@@ -62,16 +63,15 @@
 				</template>
 				
 			</el-table-column>
-			<el-table-column align="center"  label="附件" width="800" prop="attachments">
+			<el-table-column align="center"  label="合同附件" width="800" prop="attachments">
 				<template slot-scope="scope">
-					<!-- <span>{{ scope.row.attachments }}</span> -->
 					<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="success" style="cursor: pointer;margin-right: 15px;" @click="todetail">查看详情</el-tag>
-
+					<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)">下载</el-tag>
 				</template>
 			</el-table-column>
 		</el-table>
@@ -211,6 +211,9 @@
 				this.srcList = this.list.slice(start, end);
 				this.temporaryList = this.srcList;
 			},
+			download(row){
+				console.log(row)
+			}
 		}
 	}
 </script>

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

xqd
@@ -39,10 +39,9 @@
 				
 	
 				<div class="grid-content bg-purple" style="display: flex;justify-content: flex-end;">
-
-					<!-- <el-button type="primary">数据备份</el-button> -->
 					<el-button type="primary" disabled>操作日志</el-button>
 					<el-button type="primary" @click="toannexList">附件列表</el-button>
+					<el-button type="primary" >批量下载</el-button>
 				</div>
 
 		</el-row>

+ 1 - 8
src/views/table/detail.vue

xqd
@@ -1,12 +1,5 @@
 <template>
-	<!-- <el-descriptions title="详情信息">
-		<el-descriptions-item label="姓名">{{tableData.name}}</el-descriptions-item>
-		<el-descriptions-item label="服务费率">{{tableData.serviceRate}}%</el-descriptions-item>
-		<el-descriptions-item label="利率">{{tableData.interest}}%</el-descriptions-item>
-		<el-descriptions-item label="银行账户">{{tableData.bankAccount}}</el-descriptions-item>
-		<el-descriptions-item label="银行名称">{{tableData.bankName}}</el-descriptions-item>
-	</el-descriptions> -->
-	<div class="form">
+	<div class="form" style="margin-top: 50px;">
 		<el-form ref="form" :model="tableData" label-width="80px" >
 		  <el-form-item label="姓名" prop="tableData.name">
 		    <el-input v-model="tableData.name" style="width: 300px;"></el-input>

+ 2 - 8
src/views/table/index.vue

xqd xqd xqd xqd xqd
@@ -38,7 +38,7 @@
 			<!-- </el-col> -->
 
 		</el-row>
-		<el-table v-loading="listLoading" :data="temporaryList" element-loading-text="Loading" border fit
+		<el-table v-loading="listLoading" :data="srcList" element-loading-text="Loading" border fit
 			highlight-current-row @select="handleSelectionChange" @select-all="handleAll">
 			<el-table-column align="center" label="" width="55" type="selection">
 
@@ -124,8 +124,6 @@
 				currentPage: 1,
 				pagesize: 11,
 				multipleSelection: [],
-				hpstatus: '',
-				checked: false,
 				pickerOptions: {
 					shortcuts: [{
 						text: '最近一周',
@@ -157,7 +155,6 @@
 				value2: ''
 			}
 		},
-		created() {},
 		mounted() {
 			this.getAllList()
 		},
@@ -185,9 +182,6 @@
 				}
 				console.log(this.srcList, "command")
 			},
-			handlehpCommand(command) {
-				this.hpstatus = command
-			},
 			handleSelectionChange(data) {
 				this.multipleSelection = data
 				console.log(this.multipleSelection)
@@ -282,7 +276,7 @@
 				let start = (this.currentPage - 1) * this.pagesize;
 				let end = start + this.pagesize;
 				this.srcList = this.list.slice(start, end);
-				this.temporaryList = this.srcList
+				// this.temporaryList = this.srcList
 			},
 			Exports() {
 				if(this.multipleSelection==""){