Ver código fonte

项目日志:合并修改7.27

gubai 2 anos atrás
pai
commit
4c0c45ded4

BIN
src/assets/pdf.png


+ 65 - 0
src/components/upload/upload.vue

xqd
@@ -0,0 +1,65 @@
+<template>
+  <div>
+    <el-upload
+      :action="url"
+      list-type="picture-card"
+      :on-success="handleImageSuccess"
+      :on-preview="handlePictureCardPreview"
+      :on-remove="handleRemove"
+    >
+      <i class="el-icon-plus" />
+    </el-upload>
+    <el-dialog :visible.sync="dialogVisible">
+      <img width="100%" :src="dialogImageUrl" alt="">
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'Upload',
+  props: {
+    value: {
+      type: [String, Array],
+      default: ''
+    },
+    url: {
+      type: String,
+      default: 'https://ht.9026.com/api/File'
+    }
+  },
+  data() {
+    return {
+      dialogVisible: false,
+      dialogImageUrl: '',
+      fileList: []
+    }
+  },
+  methods: {
+    emitInput() {
+      this.$emit('input', this.fileList)
+    },
+    // 查看图片
+    handlePictureCardPreview(file) {
+      this.dialogImageUrl = file.response.data.file
+      this.dialogVisible = true
+    },
+    // 文件上传成功
+    handleImageSuccess(res) {
+      if (res.code === 200) {
+        this.fileList.push(res.data.file)
+        this.emitInput()
+      } else {
+        this.$message.error('文件上传失败')
+      }
+    },
+    // 删除文件
+    handleRemove(file, fileList) {
+      this.fileList = fileList.map(o => {
+        return o.response.data.file
+      })
+      this.emitInput()
+    }
+  }
+}
+</script>

+ 2 - 0
src/main.js

xqd
@@ -16,7 +16,9 @@ import '@/directives'
 import '@/icons' // icon
 import '@/permission' // permission control
 import TableWrapper from '@/components/TableWrapper/TableWrapper.vue'
+import Upload from '@/components/upload/upload.vue'
 Vue.component('TableWrapper', TableWrapper)
+Vue.component('Upload', Upload)
 /**
  * If you don't want to use mock-server
  * you want to use MockJs for mock api

+ 350 - 270
src/router/index.js

xqd
@@ -3,290 +3,370 @@ import Router from 'vue-router'
 
 Vue.use(Router)
 import Layout from '@/layout'
-export const constantRouterMap = [
-  {
-    path: '/',
-    component: Layout,
-    redirect: {
-      name: 'login'
-    }
-  },
-  {
-    path: '/login',
-    name: 'login',
-    component: () => import('@/views/login/index')
-  },
-  {
-    path: '/register',
-    component: () => import('@/views/register/index')
-  },
-  {
-    path: '/home',
-    component: Layout,
-    children: [
-      {
-        path: '/home',
-        component: () => import('@/views/home'),
-        hidden: true
-      }
-    ]
-  },
-  {
-    path: '/404',
-    component: () => import('@/views/404'),
-    hidden: true
-  }
+export const constantRouterMap = [{
+		path: '/',
+		component: Layout,
+		redirect: {
+			name: 'login'
+		}
+	},
+	{
+		path: '/login',
+		name: 'login',
+		component: () => import('@/views/login/index')
+	},
+	{
+		path: '/register',
+		component: () => import('@/views/register/index')
+	},
+	{
+		path: '/home',
+		component: Layout,
+		children: [{
+			path: '/home',
+			component: () => import('@/views/home'),
+			hidden: true
+		}]
+	},
+	{
+		path: '/404',
+		component: () => import('@/views/404'),
+		hidden: true
+	}
 ]
-export const asyncRouterMap = [
-  {
-    path: '/contracts',
-    component: Layout,
-    name: 'Example',
-    meta: { title: '合同列表', icon: 'el-icon-s-order', roles: ['admin', 'salesman', 'supplier'] },
-    redirect: {
-      name: 'contracts'
-    },
-    children: [
-      {
-        path: 'list',
-        name: 'contracts-list',
-        component: () => import('@/views/contracts/list'),
-        meta: { title: '合同列表', icon: 'el-icon-s-order', roles: ['admin', 'salesman', 'supplier'] },
-        hidden: true
-      },
-      {
-        path: 'contracts',
-        name: 'contracts',
-        component: () => import('@/views/contracts/index'),
-        meta: { title: '合同列表', icon: 'el-icon-s-order', roles: ['admin', 'salesman', 'supplier'] }
-      },
-      {
-        path: '/detail',
-        name: 'detail',
-        component: () => import('@/views/contracts/detail'),
+export const asyncRouterMap = [{
+		path: '/contracts',
+		component: Layout,
+		name: 'Example',
+		meta: {
+			title: '合同列表',
+			icon: 'el-icon-s-order',
+			roles: ['admin', 'salesman', 'supplier']
+		},
+		redirect: {
+			name: 'contracts'
+		},
+		children: [{
+				path: 'list',
+				name: 'contracts-list',
+				component: () => import('@/views/contracts/list'),
+				meta: {
+					title: '合同列表',
+					icon: 'el-icon-s-order',
+					roles: ['admin', 'salesman', 'supplier']
+				},
+				hidden: true
+			},
+			{
+				path: 'contracts',
+				name: 'contracts',
+				component: () => import('@/views/contracts/index'),
+				meta: {
+					title: '合同列表',
+					icon: 'el-icon-s-order',
+					roles: ['admin', 'salesman', 'supplier']
+				}
+			},
+			{
+				path: '/detail',
+				name: 'detail',
+				component: () => import('@/views/contracts/detail'),
+				meta: {
+					title: '合同详情',
+					roles: ['admin', 'salesman', 'supplier']
+				},
+				hidden: true
+			},
+			// {
+			//   path: 'contracts/addcontract',
+			//   name: 'addcontract',
+			//   component: () => import('@/views/contracts/addcontract'),
+			//   meta: { title: '上传合同', roles: ['admin'] },
+			//   hidden: true
+			// },
 
-        meta: { title: '合同详情', roles: ['admin', 'salesman', 'supplier'] },
-        hidden: true
-      },
-      // {
-      //   path: 'contracts/addcontract',
-      //   name: 'addcontract',
-      //   component: () => import('@/views/contracts/addcontract'),
-      //   meta: { title: '上传合同', roles: ['admin'] },
-      //   hidden: true
-      // },
+			{
+				path: 'contracts/addnewbill',
+				name: 'addnewbill',
+				component: () => import('@/views/contracts/addnewbill'),
+				meta: {
+					title: '新增汇票',
+					roles: ['admin', 'salesman', 'supplier']
+				},
+				hidden: true
+			},
+			{
+				path: 'contracts/billDetail',
+				name: 'billDetail',
+				component: () => import('@/views/contracts/billDetail'),
+				meta: {
+					title: '汇票详情',
+					roles: ['admin', 'salesman', 'supplier']
+				},
+				hidden: true
+			},
+			{
+				path: 'contracts/addcontract',
+				name: 'addcontract',
+				component: () => import('@/views/contracts/new_file'),
+				meta: {
+					title: '新增合同',
+					roles: ['admin', 'salesman', 'supplier']
+				},
+				hidden: true
+			}
+		]
+	},
 
-      {
-        path: 'contracts/addnewbill',
-        name: 'addnewbill',
-        component: () => import('@/views/contracts/addnewbill'),
-        meta: { title: '新增汇票', roles: ['admin', 'salesman'] },
-        hidden: true
-      },
-      {
-        path: 'contracts/billDetail',
-        name: 'billDetail',
-        component: () => import('@/views/contracts/billDetail'),
-        meta: { title: '汇票详情', roles: ['admin', 'salesman'] },
-        hidden: true
-      },
-      {
-        path: 'contracts/addcontract',
-        name: 'addcontract',
-        component: () => import('@/views/contracts/new_file'),
-        meta: { title: '新增合同', roles: ['admin', 'salesman'] },
-        hidden: true
-      }
-    ]
-  },
+	{
+		path: '/table',
+		component: Layout,
+		redirect: '/table',
+		name: 'Example',
+		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', ]
+				}
+			},
+			{
+				path: '/table/addAcceptor',
+				name: 'Table',
+				component: () => import('@/views/table/addAcceptor'),
+				meta: {
+					title: '新增承兑人',
+					roles: ['admin', 'salesman', ]
+				},
+				hidden: true
+			},
+			{
+				path: 'table/detail',
+				name: 'Table',
+				component: () => import('@/views/table/detail'),
+				meta: {
+					title: '承兑人详情',
+					roles: ['admin', 'salesman', ]
+				},
+				hidden: true
+			}
+		]
+	},
 
-  {
-    path: '/table',
-    component: Layout,
-    redirect: '/table',
-    name: 'Example',
-    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'] }
-      },
-      {
-        path: '/table/addAcceptor',
-        name: 'Table',
-        component: () => import('@/views/table/addAcceptor'),
-        meta: { title: '新增承兑人', roles: ['admin', 'salesman'] },
-        hidden: true
-      },
-      {
-        path: 'table/detail',
-        name: 'Table',
-        component: () => import('@/views/table/detail'),
-        meta: { title: '承兑人详情', roles: ['admin', 'salesman'] },
-        hidden: true
-      }
-    ]
-  },
+	{
+		path: '/form',
+		component: Layout,
+		children: [{
+				path: 'index',
+				name: 'Form',
+				component: () => import('@/views/form/index'),
+				meta: {
+					title: '出票人列表',
+					icon: 'form',
+					roles: ['admin', 'salesman', ]
+				}
+			},
+			{
+				path: '/form/addTicketdrawer',
+				name: 'addTicketdrawer',
+				component: () => import('@/views/form/addTicketdrawer'),
+				meta: {
+					title: '新增出票人',
+					roles: ['admin', 'salesman', ]
+				},
+				hidden: true
+			},
+			{
+				path: '/form/detail',
+				name: 'detail',
+				component: () => import('@/views/form/detail'),
+				meta: {
+					title: '出票人详情',
+					roles: ['admin', 'salesman', ]
+				},
+				hidden: true
+			}
+		]
+	},
+	{
+		path: '/delivery',
+		component: Layout,
+		children: [{
+				path: 'index',
+				name: 'delivery',
+				component: () => import('@/views/delivery/index'),
+				meta: {
+					title: '供应商账号',
+					icon: 'el-icon-s-promotion',
+					roles: ['admin', 'salesman', ]
+				}
+			},
+			{
+				path: '/edit',
+				name: 'edit',
+				component: () => import('@/views/delivery/edit'),
+				meta: {
+					title: '编辑',
+					roles: ['admin', 'salesman', ]
+				},
+				hidden: true
+			}
+		]
+	},
+	{
+		path: '/shipments',
+		component: Layout,
+		children: [{
+				path: '/shipments/index',
+				name: 'shipments',
+				component: () => import('@/views/shipments/index'),
+				meta: {
+					title: '报表统计',
+					icon: 'el-icon-s-marketing',
+					roles: ['admin', 'salesman', ]
+				}
+			},
+			{
+				path: '/shipments1',
+				name: 'shipments1',
+				component: () => import('@/views/shipments/shipments1'),
+				meta: {
+					title: '出票人分类报表',
+					roles: ['admin', 'salesman', ]
+				},
+				hidden: true
+			},
+			{
+				path: '/shipments2',
+				name: 'shipments2',
+				component: () => import('@/views/shipments/shipments2'),
+				meta: {
+					title: '合同统计列表',
+					roles: ['admin', 'salesman', ]
+				},
+				hidden: true
+			},
+			{
+				path: '/shipments3',
+				name: 'shipments3',
+				component: () => import('@/views/shipments/shipments3'),
+				meta: {
+					title: '供应商统计列表',
+					roles: ['admin', 'salesman', ]
+				},
+				hidden: true
+			}
 
-  {
-    path: '/form',
-    component: Layout,
-    children: [
-      {
-        path: 'index',
-        name: 'Form',
-        component: () => import('@/views/form/index'),
-        meta: { title: '出票人列表', icon: 'form', roles: ['admin', 'salesman'] }
-      },
-      {
-        path: '/form/addTicketdrawer',
-        name: 'addTicketdrawer',
-        component: () => import('@/views/form/addTicketdrawer'),
-        meta: { title: '新增出票人', roles: ['admin', 'salesman'] },
-        hidden: true
-      },
-      {
-        path: '/form/detail',
-        name: 'detail',
-        component: () => import('@/views/form/detail'),
-        meta: { title: '出票人详情', roles: ['admin', 'salesman'] },
-        hidden: true
-      }
-    ]
-  },
-  {
-    path: '/delivery',
-    component: Layout,
-    children: [
-      {
-        path: 'index',
-        name: 'delivery',
-        component: () => import('@/views/delivery/index'),
-        meta: { title: '供应商账号', icon: 'el-icon-s-promotion', roles: ['admin', 'salesman'] }
-      },
-      {
-        path: '/edit',
-        name: 'edit',
-        component: () => import('@/views/delivery/edit'),
-        meta: { title: '编辑', roles: ['admin', 'salesman'] },
-        hidden: true
-      }
-    ]
-  },
-  {
-    path: '/shipments',
-    component: Layout,
-    children: [
-      {
-        path: '/shipments/index',
-        name: 'shipments',
-        component: () => import('@/views/shipments/index'),
-        meta: { title: '报表统计', icon: 'el-icon-s-marketing', roles: ['admin', 'salesman'] }
-      },
-      {
-        path: '/shipments1',
-        name: 'shipments1',
-        component: () => import('@/views/shipments/shipments1'),
-        meta: { title: '出票人分类报表', roles: ['admin', 'salesman'] },
-        hidden: true
-      },
-      {
-        path: '/shipments2',
-        name: 'shipments2',
-        component: () => import('@/views/shipments/shipments2'),
-        meta: { title: '合同统计列表', roles: ['admin', 'salesman'] },
-        hidden: true
-      },
-      {
-        path: '/shipments3',
-        name: 'shipments3',
-        component: () => import('@/views/shipments/shipments3'),
-        meta: { title: '供应商统计列表', roles: ['admin', 'salesman'] },
-        hidden: true
-      }
+		]
+	},
+	{
+		path: '/management',
+		component: Layout,
+		children: [{
+				path: 'index',
+				name: 'management',
+				component: () => import('@/views/management/index'),
+				meta: {
+					title: '业务管理员',
+					icon: 'el-icon-s-management',
+					roles: ['admin']
+				}
+			},
+		]
+	},
+	{
+		path: '/sucuirtyaudit',
+		component: Layout,
+		children: [{
+				path: 'index',
+				name: 'sucuirtyaudit',
+				component: () => import('@/views/sucuirtyaudit/index'),
+				meta: {
+					title: '安全审计',
+					icon: 'el-icon-s-check',
+					roles: ['admin']
+				}
+			},
+			{
+				path: '/annexList',
+				name: 'annexList',
+				component: () => import('@/views/sucuirtyaudit/annexList'),
+				meta: {
+					title: '附件列表',
+					roles: ['admin']
+				},
+				hidden: true
+			},
+			{
+				path: '/logdetail',
+				name: 'detail',
+				component: () => import('@/views/sucuirtyaudit/detail'),
+				meta: {
+					title: '审计日志详情',
+					roles: ['admin']
+				},
+				hidden: true
+			}
+		]
+	},
+	{
+		path: '/databackup',
+		component: Layout,
+		children: [{
+			path: 'index',
+			name: 'databackup',
+			component: () => import('@/views/databackup/index'),
+			meta: {
+				title: '数据备份',
+				icon: 'el-icon-upload',
+				roles: ['admin']
+			}
+		}]
+	},
+	{
+		path: '/mine',
+		component: Layout,
+		children: [{
+			path: 'index',
+			name: 'mine',
+			component: () => import('@/views/mine/index'),
+			meta: {
+				title: '个人资料',
+				icon: 'el-icon-s-custom',
+				roles: ['admin', 'salesman', 'supplier']
+			}
+		}]
+	},
 
-    ]
-  },
-  {
-    path: '/management',
-    component: Layout,
-    children: [
-      {
-        path: 'index',
-        name: 'management',
-        component: () => import('@/views/management/index'),
-        meta: { title: '业务管理员', icon: 'el-icon-s-management', roles: ['admin'] }
-      }
-    ]
-  },
-  {
-    path: '/sucuirtyaudit',
-    component: Layout,
-    children: [
-      {
-        path: 'index',
-        name: 'sucuirtyaudit',
-        component: () => import('@/views/sucuirtyaudit/index'),
-        meta: { title: '安全审计', icon: 'el-icon-s-check', roles: ['admin'] }
-      },
-      {
-        path: '/annexList',
-        name: 'annexList',
-        component: () => import('@/views/sucuirtyaudit/annexList'),
-        meta: { title: '附件列表', roles: ['admin'] },
-        hidden: true
-      },
-      {
-        path: '/logdetail',
-        name: 'detail',
-        component: () => import('@/views/sucuirtyaudit/detail'),
-        meta: { title: '审计日志详情', roles: ['admin'] },
-        hidden: true
-      }
-    ]
-  },
-  {
-    path: '/databackup',
-    component: Layout,
-    children: [
-      {
-        path: 'index',
-        name: 'databackup',
-        component: () => import('@/views/databackup/index'),
-        meta: { title: '数据备份', icon: 'el-icon-upload', roles: [] }
-      }
-    ]
-  },
-  {
-    path: '/mine',
-    component: Layout,
-    children: [
-      {
-        path: 'index',
-        name: 'mine',
-        component: () => import('@/views/mine/index'),
-        meta: { title: '个人资料', icon: 'el-icon-s-custom', roles: ['admin', 'salesman', 'supplier'] }
-      }
-    ]
-  },
-
-  { path: '*', redirect: '/404', hidden: true }
+	{
+		path: '*',
+		redirect: '/404',
+		hidden: true
+	}
 ]
 
 const createRouter = () => new Router({
-  // mode: 'history', // require service support
-  scrollBehavior: () => ({ y: 0 }),
-  routes: constantRouterMap
+	// mode: 'history', // require service support
+	scrollBehavior: () => ({
+		y: 0
+	}),
+	routes: constantRouterMap
 })
 
 const router = createRouter()
 
 // Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465
 export function resetRouter() {
-  const newRouter = createRouter()
-  router.matcher = newRouter.matcher // reset router
+	const newRouter = createRouter()
+	router.matcher = newRouter.matcher // reset router
 }
 
-export default router
+export default router

+ 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)
 

+ 1 - 1
src/utils/request.js

xqd
@@ -12,7 +12,7 @@ import {
 const service = axios.create({
   baseURL: 'https://ht.9026.com/', // url = base url + request url
   // withCredentials: true, // send cookies when cross-domain requests
-  timeout: 10 * 1000, // request timeout
+  timeout: 10 * 10000, // request timeout
   method: 'post',
   headers: {
     'Content-Type': 'application/json'

+ 72 - 69
src/views/contracts/billDetail.vue

xqd xqd xqd
@@ -56,25 +56,24 @@
       <el-descriptions-item label="审核状态">{{
         list[0].statusText
       }}</el-descriptions-item>
-      <el-descriptions-item  label="审核反馈">{{
+      <el-descriptions-item label="审核反馈">{{
         list[0].feedback
       }}</el-descriptions-item>
-      <el-descriptions-item  label="反馈截图">
+      <el-descriptions-item label="反馈截图">
         <el-image
           style="width: 100px; height: 100px"
           :src="list[0].feedbackPicList"
-  
         />
       </el-descriptions-item>
     </el-descriptions>
     <el-input
-      v-permission="['admin']"
       v-model="feed.feedback"
+      v-permission="['admin']"
       type="textarea"
       placeholder="请输入审核反馈内容"
       style="width: 200px"
     />
-    
+
     <el-row v-permission="['admin']">
       <el-col style="margin: 0 auto">
         <div class="titlesa">
@@ -89,18 +88,22 @@
             <i class="el-icon-plus" />
           </el-upload>
           <el-dialog :visible.sync="dialogVisible">
-            <img width="100%" :src="feed.feedbackPicList" />
+            <img width="100%" :src="feed.feedbackPicList">
           </el-dialog>
         </div>
       </el-col>
     </el-row>
     <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
-      >
+      <el-button
+        v-permission="['admin']"
+        type="success"
+        @click="success"
+      >审核成功</el-button>
+      <el-button
+        v-permission="['admin']"
+        type="danger"
+        @click="failed"
+      >审核失败</el-button>
       <el-button type="primary" @click="back">返回</el-button>
     </div>
   </div>
@@ -111,101 +114,101 @@ export default {
   data() {
     return {
       dialogVisible: false,
-      role: "",
+      role: '',
       list: [],
-      checked: "",
+      checked: '',
       /* 审核反馈和审核截图的数据 */
       feedbackPicListArray: [],
       feed: {
-        feedback: "",
+        feedback: '',
         feedbackPicList: [],
-        id: "",
-        approveStatus: "",
-      },
-    };
+        id: '',
+        approveStatus: ''
+      }
+    }
   },
   mounted() {
-    this.feed.id = this.$route.query.id;
-    this.role = this.$store.state.user.userInfo.type;
-    this.getData();
+    this.feed.id = this.$route.query.id
+    this.role = this.$store.state.user.userInfo.type
+    this.getData()
   },
   methods: {
 
     /* 反馈图片图片上传成功 */
-    handleFeedbackPicList(res){
-      //解构
-      const { file } = res.data;
-      this.feedbackPicListArray.push(file);
-      this.feed.feedbackPicList = this.feedbackPicListArray;
+    handleFeedbackPicList(res) {
+      // 解构
+      const { file } = res.data
+      this.feedbackPicListArray.push(file)
+      this.feed.feedbackPicList = this.feedbackPicListArray
     },
     getData() {
-      const id = this.$route.query.id;
+      const id = this.$route.query.id
       this.$request({
-        url: "/api/Contract/contractDraft/" + id,
-        method: "get",
+        url: '/api/Contract/contractDraft/' + id,
+        method: 'get'
       }).then((res) => {
-        this.list.push(res.data);
-        console.log(this.list);
-      });
+        this.list.push(res.data)
+        console.log(this.list)
+      })
     },
 
     success() {
-        /* 反馈图片赋值 */
-      this.feed.feedbackPicList = this.picList;
+      /* 反馈图片赋值 */
+      this.feed.feedbackPicList = this.picList
       /* 合同id赋值 */
-      this.feed.id = this.$route.query.id;
-      this.feed.approveStatus = 1;
+      this.feed.id = this.$route.query.id
+      this.feed.approveStatus = 1
       this.$request({
-        url: "api/Contract/approveContractDraft",
-        method: "post",
-        data: this.feed,
+        url: 'api/Contract/approveContractDraft',
+        method: 'post',
+        data: this.feed
       }).then((res) => {
         if (res.code == 200) {
           this.$message({
-            type: "success",
-            message: "提交成功",
-          });
-          this.$router.go(0);
+            type: 'success',
+            message: '提交成功'
+          })
+          this.$router.go(0)
         } else {
           this.$message({
-            type: "success",
-            message: "提交失败",
-          });
-          this.$router.go(0);
+            type: 'success',
+            message: '提交失败'
+          })
+          this.$router.go(0)
         }
-      });
+      })
     },
     failed() {
-        /* 反馈图片赋值 */
-      this.feed.feedbackPicList = this.picList;
+      /* 反馈图片赋值 */
+      this.feed.feedbackPicList = this.picList
       /* 合同id赋值 */
-      this.feed.id = this.$route.query.id;
-      this.feed.approveStatus = 2;
+      this.feed.id = this.$route.query.id
+      this.feed.approveStatus = 2
       this.$request({
-        url: "api/Contract/approveContractDraft",
-        method: "post",
-        data: this.feed,
+        url: 'api/Contract/approveContractDraft',
+        method: 'post',
+        data: this.feed
       }).then((res) => {
         if (res.code == 200) {
           this.$message({
-            type: "success",
-            message: "提交成功",
-          });
-          this.$router.go(0);
+            type: 'success',
+            message: '提交成功'
+          })
+          this.$router.go(0)
         } else {
           this.$message({
-            type: "success",
-            message: "提交失败",
-          });
-          this.$router.go(0);
+            type: 'success',
+            message: '提交失败'
+          })
+          this.$router.go(0)
         }
-      });
+      })
     },
     back() {
-      this.$router.go(-1);
-    },
-  },
-};
+      this.$router.go(-1)
+    }
+  }
+}
 </script>
 
 <style lang="scss">

+ 200 - 199
src/views/contracts/detail.vue

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -41,6 +41,7 @@
                   style="width: 100px; height: 100px"
                   :src="item"
                 />
+
               </div>
             </div>
           </div>
@@ -58,6 +59,7 @@
                   style="width: 100px; height: 100px"
                   :src="item"
                 />
+
               </div>
             </div>
           </div>
@@ -68,10 +70,8 @@
                 contract.contractStatusText
               }}</span>
             </div>
-            <span class="aoiisp"
-              >审核结果:
-              <p style="color: #d8ab5a">{{ contract.statusText }}</p></span
-            >
+            <span class="aoiisp">审核结果:
+              <p style="color: #d8ab5a">{{ contract.statusText }}</p></span>
           </div>
 
           <!-- 审核反馈和审核截图框  -->
@@ -97,44 +97,45 @@
                     <i class="el-icon-plus" />
                   </el-upload>
                   <el-dialog :visible.sync="dialogVisible">
-                    <img width="100%" :src="feed.feedbackPicList" />
+                    <img width="100%" :src="feed.feedbackPicList">
                   </el-dialog>
                 </div>
               </div>
             </el-col>
           </div>
           <div slot="" class="clearfix">
-            <el-button type="primary" style="float: right; margin-left: 10px"
-              >导出
+            <el-button
+              type="primary"
+              style="float: right; margin-left: 10px"
+            >导出
             </el-button>
             <el-button
               v-if="contract.contractStatus === 0"
               type="danger"
               style="float: right"
               @click="deletedContract"
-              >删除</el-button
-            >
+            >删除</el-button>
 
             <el-button
               v-if="contract.contractStatus === 1"
               type="primary"
               style="float: right"
               @click="recoverContract"
-              >恢复
+            >恢复
             </el-button>
             <el-button
               v-if="role === 1"
               type="warning"
               style="float: right"
               @click="failed"
-              >审核失败
+            >审核失败
             </el-button>
             <el-button
               v-if="role === 1"
               type="success"
               style="float: right"
               @click="success"
-              >审核成功
+            >审核成功
             </el-button>
           </div>
         </div>
@@ -187,47 +188,42 @@
               type="primary"
               style="cursor: pointer; margin-right: 15px"
               @click="tapDetail(scope.row.id)"
-              >查看详情</el-tag
-            >
+            >查看详情</el-tag>
             <el-tag
               v-if="scope.row.draftStatus == 1"
               type="success"
               style="margin-right: 15px; cursor: pointer"
               @click="recover(scope.row.id)"
-              >恢复</el-tag
-            >
+            >恢复</el-tag>
             <el-tag
               v-if="scope.row.draftStatus == 0"
               type="danger"
               style="margin-right: 15px; cursor: pointer"
               @click="deleted(scope.row.id)"
-              >删除</el-tag
-            >
+            >删除</el-tag>
           </template>
         </el-table-column>
       </el-table>
 
       <div class="pagesip">
         <el-button v-if="role === 2" type="primary" @click="addNewBill">
-          新增汇票</el-button
-        >
+          新增汇票</el-button>
         <el-button
           type="success"
           style="float: right"
           @click="recoverContractDraft"
-          >恢复
+        >恢复
         </el-button>
         <el-button
           type="danger"
           style="float: right"
           @click="deletedContractDraft"
-          >删除</el-button
-        >
+        >删除</el-button>
         <el-button
           type="primary"
           style="float: right; margin-left: 10px"
           @click="ExportsContractDraft"
-          >导出
+        >导出
         </el-button>
         <el-button
           type="primary"
@@ -238,7 +234,7 @@
             margin: 0 20px;
           "
           @click="jumpFirstPage"
-          >首页
+        >首页
         </el-button>
         <el-pagination
           ref="pagination"
@@ -260,7 +256,7 @@
             margin: 0 20px;
           "
           @click="jumpLastPage"
-          >尾页
+        >尾页
         </el-button>
         <el-button type="primary" size="small" @click="back">返回 </el-button>
       </div>
@@ -269,12 +265,13 @@
 </template>
 
 <script>
-import { dataConversionUtil } from "../../utils/Excel.js";
+import { dataConversionUtil } from '../../utils/Excel.js'
+import logo from '@/assets/pdf.png'
 export default {
   data() {
     return {
       dialogVisible: false,
-      role: "",
+      role: '',
       srcList: [],
       temporaryList: [],
       list: [],
@@ -283,33 +280,35 @@ export default {
       currentPage: 1,
       multipleSelection: [],
       pagesize: 11,
-      form: "",
+      form: '',
       invoicePicList: [],
       picList: [],
       tradePicList: [],
       feedbackPicListArray: [],
-
+      pdf: logo,
       /* 审核反馈和审核截图的数据 */
       feed: {
-        id: "",
-        feedback: "",
+        id: '',
+        feedback: '',
         feedbackPicList: [],
-        approveStatus: "",
-      },
-    };
+        approveStatus: ''
+      }
+    }
   },
 
   mounted() {
+
     this.role = this.$store.state.user.userInfo.type;
     this.checked = this.$store.state.user.checked;
     this.getData();
+
   },
   methods: {
     getData() {
-      const id = this.$route.query.id;
+      const id = this.$route.query.id
       this.$request({
-        url: "/api/Contract/" + id,
-        method: "get",
+        url: '/api/Contract/' + id,
+        method: 'get'
       }).then((res) => {
         this.contract = res.data;
         this.invoicePicList = this.contract.invoicePicList;
@@ -321,70 +320,71 @@ export default {
         this.feed.feedback = this.contract.feedback;
         this.getPageData();
       });
+
     },
     addNewBill() {
       this.$router.push({
-        name: "addnewbill",
-      });
+        name: 'addnewbill'
+      })
     },
     tapDetail(id) {
       this.$router.push({
-        name: "billDetail",
+        name: 'billDetail',
         query: {
-          id: id,
-        },
-      });
+          id: id
+        }
+      })
     },
     handleAll(data) {
-      this.multipleSelection = data;
-      console.log(this.multipleSelection);
+      this.multipleSelection = data
+      console.log(this.multipleSelection)
     },
     handleSelectionChange(data) {
-      this.multipleSelection = data;
-      console.log(this.multipleSelection);
+      this.multipleSelection = data
+      console.log(this.multipleSelection)
     },
     handleCurrentChange(val) {
-      this.currentPage = val;
-      this.getPageData();
+      this.currentPage = val
+      this.getPageData()
     },
     jumpFirstPage() {
-      this.$refs.pagination.handleCurrentChange(1);
-      this.$emit("handleCurrentChange", 1);
+      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);
+      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);
-      this.temporaryList = this.srcList;
+      const start = (this.currentPage - 1) * this.pagesize
+      const end = start + this.pagesize
+      this.srcList = this.list.slice(start, end)
+      this.temporaryList = this.srcList
     },
 
 
     /* 导出 */
     ExportsContractDraft() {
-      if (this.multipleSelection === "") {
+      if (this.multipleSelection === '') {
         this.$message({
-          type: "warning",
-          message: "请选择数据!",
-        });
+          type: 'warning',
+          message: '请选择数据!'
+        })
       } else {
         var tableHeader = [
           [
-            "序号",
-            "汇票名称",
-            "汇票编号",
-            "承兑人",
-            "金额",
-            "服务费",
-            "汇票状态",
-            "审核状态",
-          ],
-        ];
-        var dataList = [];
+            '序号',
+            '汇票名称',
+            '汇票编号',
+            '承兑人',
+            '金额',
+            '服务费',
+            '汇票状态',
+            '审核状态'
+          ]
+        ]
+        var dataList = []
         this.multipleSelection.forEach((item, index) => {
           dataList.push([
             index + 1,
@@ -394,232 +394,233 @@ export default {
             item.money,
             item.serviceMoney,
             item.draftStatusText,
-            item.statusText,
-          ]);
-        });
-        dataConversionUtil.dataToExcel("汇票列表", tableHeader, dataList);
-        this.$message.success("导出成功!");
+            item.statusText
+          ])
+        })
+        dataConversionUtil.dataToExcel('汇票列表', tableHeader, dataList)
+        this.$message.success('导出成功!')
       }
     },
 
     /* 反馈图片图片上传成功 */
+
     handleFeedbackPicList(res){
       //解构
       const { file } = res.data;
-      console.log(file);
       this.feedbackPicListArray.push(file)
       this.feed.feedbackPicList = this.feedbackPicListArray;
+
     },
 
-    /*审核成功发送请求  */
+    /* 审核成功发送请求  */
     success() {
       /* 反馈图片赋值 */
-      this.feed.feedbackPicList = this.picList;
+      this.feed.feedbackPicList = this.picList
       /* 合同id赋值 */
-      this.feed.id = this.$route.query.id;
+      this.feed.id = this.$route.query.id
       /* 反馈内容赋值 */
-      this.feed.approveStatus = 1;
+      this.feed.approveStatus = 1
       this.$request({
-        url: "/api/Contract/approveContract",
-        method: "post",
-        data: this.feed,
+        url: '/api/Contract/approveContract',
+        method: 'post',
+        data: this.feed
       }).then((res) => {
         if (res.code === 200) {
           this.$message({
-            type: "success",
-            message: res.msg,
-          });
-          this.getData();
+            type: 'success',
+            message: res.msg
+          })
+          this.getData()
         } else {
           this.$message({
-            type: "error",
-            message: "提交失败",
-          });
-          this.getData();
+            type: 'error',
+            message: '提交失败'
+          })
+          this.getData()
         }
-      });
+      })
     },
 
-    /*审核失败发送请求  */
+    /* 审核失败发送请求  */
     failed() {
-       /* 反馈图片赋值 */
-      this.feed.feedbackPicList = this.picList;
+      /* 反馈图片赋值 */
+      this.feed.feedbackPicList = this.picList
       /* 合同id赋值 */
-      this.feed.id = this.$route.query.id;
-      this.feed.approveStatus = 2;
+      this.feed.id = this.$route.query.id
+      this.feed.approveStatus = 2
       this.$request({
-        url: "/api/Contract/approveContract",
-        method: "post",
-        data: this.feed,
+        url: '/api/Contract/approveContract',
+        method: 'post',
+        data: this.feed
       }).then((res) => {
         if (res.code === 200) {
           this.$message({
-            type: "success",
-            message: res.msg,
-          });
-          this.getData();
+            type: 'success',
+            message: res.msg
+          })
+          this.getData()
         } else {
           this.$message({
-            type: "error",
-            message: "提交失败",
-          });
-          this.getData();
+            type: 'error',
+            message: '提交失败'
+          })
+          this.getData()
         }
-      });
+      })
     },
     recoverContract() {
-      const id = this.$route.query.id;
+      const id = this.$route.query.id
       this.$request({
-        url: "/api/Contract/manage",
-        method: "post",
+        url: '/api/Contract/manage',
+        method: 'post',
         data: {
           ids: [id],
-          operateType: 2,
-        },
+          operateType: 2
+        }
       }).then((res) => {
         if (res.code === 200) {
           this.$message({
-            type: "success",
-            message: res.msg,
-          });
-          this.getData();
+            type: 'success',
+            message: res.msg
+          })
+          this.getData()
         } else {
           this.$message({
-            type: "error",
-            message: "提交失败",
-          });
-          this.getData();
+            type: 'error',
+            message: '提交失败'
+          })
+          this.getData()
         }
-      });
+      })
     },
     deletedContract() {
-      const id = this.$route.query.id;
+      const id = this.$route.query.id
       this.$request({
-        url: "/api/Contract/manage",
-        method: "post",
+        url: '/api/Contract/manage',
+        method: 'post',
         data: {
           ids: [id],
-          operateType: 1,
-        },
+          operateType: 1
+        }
       }).then((res) => {
         if (res.code === 200) {
           this.$message({
-            type: "success",
-            message: res.msg,
-          });
-          this.getData();
+            type: 'success',
+            message: res.msg
+          })
+          this.getData()
         } else {
           this.$message({
-            type: "error",
-            message: "提交失败",
-          });
-          this.getData();
+            type: 'error',
+            message: '提交失败'
+          })
+          this.getData()
         }
-      });
+      })
     },
     recoverContractDraft() {
-      const ids = Array.from(this.multipleSelection, ({ id }) => id);
+      const ids = Array.from(this.multipleSelection, ({ id }) => id)
       this.$request({
-        url: "/api/Contract/contractDraft/manager",
-        method: "post",
+        url: '/api/Contract/contractDraft/manager',
+        method: 'post',
         data: {
           ids: ids,
-          operateType: 2,
-        },
+          operateType: 2
+        }
       }).then((res) => {
         if (res.code === 200) {
           this.$message({
-            type: "success",
-            message: res.msg,
-          });
-          this.getData();
+            type: 'success',
+            message: res.msg
+          })
+          this.getData()
         } else {
           this.$message({
-            type: "error",
-            message: "提交失败",
-          });
-          this.getData();
+            type: 'error',
+            message: '提交失败'
+          })
+          this.getData()
         }
-      });
+      })
     },
     deletedContractDraft() {
-      const ids = Array.from(this.multipleSelection, ({ id }) => id);
+      const ids = Array.from(this.multipleSelection, ({ id }) => id)
       this.$request({
-        url: "/api/Contract/contractDraft/manager",
-        method: "post",
+        url: '/api/Contract/contractDraft/manager',
+        method: 'post',
         data: {
           ids: ids,
-          operateType: 1,
-        },
+          operateType: 1
+        }
       }).then((res) => {
         if (res.code === 200) {
           this.$message({
-            type: "success",
-            message: res.msg,
-          });
-          this.getData();
+            type: 'success',
+            message: res.msg
+          })
+          this.getData()
         } else {
           this.$message({
-            type: "error",
-            message: "提交失败",
-          });
-          this.getData();
+            type: 'error',
+            message: '提交失败'
+          })
+          this.getData()
         }
-      });
+      })
     },
     recover(id) {
       this.$request({
-        url: "/api/Contract/contractDraft/manager",
-        method: "post",
+        url: '/api/Contract/contractDraft/manager',
+        method: 'post',
         data: {
           ids: [id],
-          operateType: 2,
-        },
+          operateType: 2
+        }
       }).then((res) => {
         if (res.code === 200) {
           this.$message({
-            type: "success",
-            message: res.msg,
-          });
-          this.getData();
+            type: 'success',
+            message: res.msg
+          })
+          this.getData()
         } else {
           this.$message({
-            type: "error",
-            message: "提交失败",
-          });
-          this.getData();
+            type: 'error',
+            message: '提交失败'
+          })
+          this.getData()
         }
-      });
+      })
     },
     deleted(id) {
       this.$request({
-        url: "/api/Contract/contractDraft/manager",
-        method: "post",
+        url: '/api/Contract/contractDraft/manager',
+        method: 'post',
         data: {
           ids: [id],
-          operateType: 1,
-        },
+          operateType: 1
+        }
       }).then((res) => {
         if (res.code === 200) {
           this.$message({
-            type: "success",
-            message: res.msg,
-          });
-          this.getData();
+            type: 'success',
+            message: res.msg
+          })
+          this.getData()
         } else {
           this.$message({
-            type: "error",
-            message: "提交失败",
-          });
-          this.getData();
+            type: 'error',
+            message: '提交失败'
+          })
+          this.getData()
         }
-      });
+      })
     },
     back() {
-      this.$router.go(-1);
-    },
-  },
-};
+      this.$router.go(-1)
+    }
+  }
+}
 </script>
 
 <style lang="scss">

+ 26 - 14
src/views/contracts/index.vue

xqd xqd xqd xqd xqd xqd xqd xqd
@@ -148,30 +148,29 @@
             @click="tapDetail(scope.row.id)"
           >查看详情</el-tag>
           <el-tag
-            v-if="checked === 0"
+           v-permission="['salesman','admin']"
             type="success"
             style="cursor: pointer"
             @click="Ssuccessed(scope.row.id)"
           >
             审核成功</el-tag>
           <el-tag
-            v-if="checked === 0"
+           v-permission="['salesman','admin']"
             type="danger"
             style="cursor: pointer"
             @click="Sfailed(scope.row.id)"
           >审核失败
           </el-tag>
-          <el-tag
-            v-if="checked === 1"
-            type="success"
+         <!-- <el-tag
+            v-permission="['salesman','admin']"
             style="cursor: pointer"
           >恢复
           </el-tag>
           <el-tag
-            v-if="checked === 1"
+            v-permission="['salesman','admin']"
             type="danger"
             style="cursor: pointer"
-          >删除</el-tag>
+          >删除</el-tag> -->
         </template>
       </el-table-column>
     </el-table>
@@ -179,20 +178,21 @@
       <el-row type="flex" justify="space-between">
         <div class="btn" style="display: flex; justify-content: flex-end">
           <el-button
-            v-permission="['admin']"
+            v-permission="['supplier']"
             type="primary"
             @click="addNewContract"
           >上传合同</el-button>
+		  <el-button
+		    v-permission="['salesman','admin']"
+		    type="primary"
+		    @click="successed"
+		  >审核成功</el-button>
           <el-button
-            v-if="checked === 0"
+            v-permission="['salesman','admin']"
             type="primary"
             @click="failed"
           >审核失败</el-button>
-          <el-button
-            v-if="checked === 0"
-            type="primary"
-            @click="successed"
-          >审核成功</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>
@@ -365,11 +365,13 @@ export default {
             type: 'success',
             message: res.msg
           })
+		  this.getData()
         } else {
           this.$message({
             type: 'danger',
             message: res.msg
           })
+		  this.getData()
         }
       })
     },
@@ -387,11 +389,13 @@ export default {
             type: 'success',
             message: res.msg
           })
+		  this.getData()
         } else {
           this.$message({
             type: 'danger',
             message: res.msg
           })
+		  this.getData()
         }
       })
     },
@@ -411,11 +415,13 @@ export default {
             type: 'success',
             message: res.msg
           })
+		  this.getData()
         } else {
           this.$message({
             type: 'danger',
             message: res.msg
           })
+		  this.getData()
         }
       })
     },
@@ -433,11 +439,13 @@ export default {
             type: 'success',
             message: res.msg
           })
+		  this.getData()
         } else {
           this.$message({
             type: 'danger',
             message: res.msg
           })
+		  this.getData()
         }
       })
     },
@@ -456,11 +464,13 @@ export default {
             type: 'success',
             message: res.msg
           })
+		  this.getData()
         } else {
           this.$message({
             type: 'danger',
             message: res.msg
           })
+		  this.getData()
         }
       })
     },
@@ -479,11 +489,13 @@ export default {
             type: 'success',
             message: res.msg
           })
+		  this.getData()
         } else {
           this.$message({
             type: 'danger',
             message: res.msg
           })
+		  this.getData()
         }
       })
     },

+ 179 - 157
src/views/contracts/new_file.vue

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -29,7 +29,8 @@
       </div>
       <div>
         <div>
-          <el-upload
+          <Upload v-model="form.pics" />
+          <!-- <el-upload
             action="https://ht.9026.com/api/File"
             list-type="picture-card"
             :on-success="handlepics"
@@ -38,8 +39,8 @@
           </el-upload>
 
           <el-dialog :visible.sync="dialogVisible">
-            <img width="100%" :src="form.pics" />
-          </el-dialog>
+            <img width="100%" :src="form.pics">
+          </el-dialog> -->
         </div>
       </div>
       <!-- 发票附件图片 -->
@@ -56,7 +57,7 @@
           <i class="el-icon-plus" />
         </el-upload>
         <el-dialog :visible.sync="dialogVisible">
-          <img width="100%" :src="form.invoicePics" />
+          <img width="100%" :src="form.invoicePics">
         </el-dialog>
       </div>
       <!-- 贸易附件图片 -->
@@ -73,7 +74,7 @@
           <i class="el-icon-plus" />
         </el-upload>
         <el-dialog :visible.sync="dialogVisible">
-          <img width="100%" :src="form.tradePics" />
+          <img width="100%" :src="form.tradePics">
         </el-dialog>
       </div>
     </el-card>
@@ -83,9 +84,12 @@
       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-item label="汇票名称">
           <el-input
             v-model="item.name"
@@ -143,6 +147,7 @@
             style="width: 220px"
           />
         </el-form-item>
+
         <!-- 金额 -->
         <el-form-item label="金额">
           <el-input
@@ -171,7 +176,17 @@
             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"
@@ -193,9 +208,9 @@
             />
             <el-option
               v-for="item in drawersName"
+              :key="item.id"
               :label="item"
               :value="item"
-              :key="item.id"
             />
           </el-select>
         </el-form-item>
@@ -204,15 +219,23 @@
           <el-select v-model="form.acceptorName" filterable placeholder="请选择承兑人">
             <el-option
               v-for="val in acceptorName"
+              :key="val"
               :label="val"
+
               :value="val"
-              :key="val"
               @click.native="getRate(index)"
-            >
-            </el-option>
+            />
+
           </el-select>
         </el-form-item>
+
+        <!--              @click.native="getRate(index)"
+              :key="val.id"
+            />
+          </el-select>
+        </el-form-item> -->
         <!-- 服务费率 -->
+
         <el-form-item label="服务费率">
           <el-input
             v-model="item.serviceRate"
@@ -237,9 +260,9 @@
           <el-col style="margin: 0 auto">
             <div class="titlesa">
               <span>附件</span>
-              <span style="color: #d05c39"
-                >*支持上传pdf、jpg/jpeg、png格式</span
-              >
+              <span
+                style="color: #d05c39"
+              >*支持上传pdf、jpg/jpeg、png格式</span>
             </div>
             <div>
               <el-upload
@@ -255,7 +278,7 @@
                   width="100%"
                   :src="form.contractDrafts[0].picUrls"
                   alt=""
-                />
+                >
               </el-dialog>
             </div>
           </el-col>
@@ -266,8 +289,7 @@
           type="primary"
           style="width: 100px; height: 50px; margin-top: 50px"
           @click="deletedraft(index)"
-          >删除汇票</el-button
-        >
+        >删除汇票</el-button>
       </div>
     </div>
     <!-- 新增汇票 -->
@@ -280,7 +302,7 @@
           type="warning"
           style="width: 180px; height: 45px; font-size: 16px"
           @click="onSubmit"
-          >确认上传
+        >确认上传
         </el-button>
       </div>
     </div>
@@ -300,106 +322,106 @@ export default {
       picsArray: [], // 合同图片上传数组
       invoicePicsArray: [], // 发票图片上传数组
       tradePicsArray: [], // 贸易图片上传数组
-      file: "",
+      file: '',
       form: {
         // 承兑人列表
         acceptorName: [],
         // 出票人列表
         drawersName: [],
-        contractNo: "",
+        contractNo: '',
         supplierId: 2,
-        name: "",
+        name: '',
         invoicePics: [],
         pics: [],
         tradePics: [],
         /* 汇票的数据 */
         contractDrafts: [
           {
-            name: "",
-            draftNo: "",
-            acceptorId: "",
-            drawersId: "",
-            money: "",
-            acceptDate: "",
-            loanLimit: "",
-            serviceRate: "",
-            serviceMoney: "",
-            interestRate: "",
-            interest: "",
+            name: '',
+            draftNo: '',
+            acceptorId: '',
+            drawersId: '',
+            money: '',
+            acceptDate: '',
+            loanLimit: '',
+            serviceRate: '',
+            serviceMoney: '',
+            interestRate: '',
+            interest: '',
             picUrls: [],
-            expectDiscountDate: "",
-            issueDate: "",
-            expireDate: "",
-            limitTime: "",
-            acceptDateTime: "",
-            expectDiscountDateTime: "",
-          },
-        ],
+            expectDiscountDate: '',
+            issueDate: '',
+            expireDate: '',
+            limitTime: '',
+            acceptDateTime: '',
+            expectDiscountDateTime: ''
+          }
+        ]
       },
       pickerOptions: {
         disabledDate(time) {
-          return time.getTime() > Date.now();
+          return time.getTime() > Date.now()
         },
         shortcuts: [
           {
-            text: "今天",
+            text: '今天',
             onClick(picker) {
-              picker.$emit("pick", new Date());
-            },
+              picker.$emit('pick', new Date())
+            }
           },
           {
-            text: "昨天",
+            text: '昨天',
             onClick(picker) {
-              const date = new Date();
-              date.setTime(date.getTime() - 3600 * 1000 * 24);
-              picker.$emit("pick", date);
-            },
+              const date = new Date()
+              date.setTime(date.getTime() - 3600 * 1000 * 24)
+              picker.$emit('pick', date)
+            }
           },
           {
-            text: "一周前",
+            text: '一周前',
             onClick(picker) {
-              const date = new Date();
-              date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
-              picker.$emit("pick", date);
-            },
-          },
-        ],
-      },
-    };
+              const date = new Date()
+              date.setTime(date.getTime() - 3600 * 1000 * 24 * 7)
+              picker.$emit('pick', date)
+            }
+          }
+        ]
+      }
+    }
   },
 
   mounted() {
     this.$request({
-      url: "/api/Contract/search",
-      method: "post",
+      url: '/api/Contract/search',
+      method: 'post',
       data: {
         pageIndex: 1,
-        pageSize: 100,
-      },
+        pageSize: 100
+      }
     }).then((res) => {
-      this.contractList = res.data.result;
-    });
+      this.contractList = res.data.result
+    })
     this.$request({
-      url: "/api/Acceptor/search",
-      method: "post",
+      url: '/api/Acceptor/search',
+      method: 'post',
       data: {
         pageIndex: 1,
-        pageSize: 100,
-      },
+        pageSize: 100
+      }
     }).then((res) => {
-      this.acceptorList = res.data.result;
-      this.acceptorName = Array.from(this.acceptorList, ({ name }) => name);
-    });
+      this.acceptorList = res.data.result
+      this.acceptorName = Array.from(this.acceptorList, ({ name }) => name)
+    })
     this.$request({
-      url: "/api/Drawer/search",
-      method: "post",
+      url: '/api/Drawer/search',
+      method: 'post',
       data: {
         pageIndex: 1,
-        pageSize: 100,
-      },
+        pageSize: 100
+      }
     }).then((res) => {
-      this.drawersList = res.data.result;
-      this.drawersName = Array.from(this.drawersList, ({ name }) => name);
+      this.drawersList = res.data.result
+      this.drawersName = Array.from(this.drawersList, ({ name }) => name)
       // 去除重复的出票人
       for (var i = 0; i < this.drawersName.length; i++) {
         // 首次遍历数组
@@ -407,94 +429,94 @@ export default {
           // 再次遍历数组
           if (this.drawersName[i] === this.drawersName[j]) {
             // 判断连个值是否相等
-            this.drawersName.splice(j, 1); // 相等删除后者
-            j--;
+            this.drawersName.splice(j, 1) // 相等删除后者
+            j--
           }
         }
       }
-    });
+    })
 
     /* 调用获取当前的时间 */
-    this.loadTime();
+    this.loadTime()
   },
   methods: {
     /* 确实上传按钮 */
     onSubmit() {
       this.$request({
-        url: "/api/Contract",
-        method: "post",
-        data: this.form,
+        url: '/api/Contract',
+        method: 'post',
+        data: this.form
       }).then((res) => {
-        console.log(res);
+        console.log(res)
         this.$message({
-          message: "上传成功",
-          type: "success",
-        });
-      });
+          message: '上传成功',
+          type: 'success'
+        })
+      })
     },
 
     /* 默认时间 */
     loadTime() {
-      let myDate = new Date();
-      let wk = parseInt(Date.now() / 100000).toFixed(0) * 100000;
-      let yy = String(myDate.getFullYear());
+      const myDate = new Date()
+      const wk = parseInt(Date.now() / 100000).toFixed(0) * 100000
+      const yy = String(myDate.getFullYear())
       // let mm = myDate.getMonth() + 1
-      let mm = String(
+      const mm = String(
         myDate.getMonth() + 1 < 10
-          ? "0" + (myDate.getMonth() + 1)
+          ? '0' + (myDate.getMonth() + 1)
           : myDate.getMonth() + 1
-      );
-      let dd = String(
-        myDate.getDate() < 10 ? "0" + myDate.getDate() : myDate.getDate()
-      );
-      let nowDate = yy + "-" + mm + "-" + dd;
+      )
+      const dd = String(
+        myDate.getDate() < 10 ? '0' + myDate.getDate() : myDate.getDate()
+      )
+      const nowDate = yy + '-' + mm + '-' + dd
       this.form.contractDrafts.forEach((item) => {
-        item.acceptDate = nowDate;
-        item.issueDate = nowDate;
-        item.expireDate = nowDate;
-        item.expectDiscountDate = nowDate;
-        item.expectDiscountDateTime = wk;
-        item.acceptDateTime = wk;
-        let nTime = item.acceptDateTime - item.expectDiscountDateTime;
-        item.limitTime = Math.floor(nTime / 86400000);
-      });
+        item.acceptDate = nowDate
+        item.issueDate = nowDate
+        item.expireDate = nowDate
+        item.expectDiscountDate = nowDate
+        item.expectDiscountDateTime = wk
+        item.acceptDateTime = wk
+        const nTime = item.acceptDateTime - item.expectDiscountDateTime
+        item.limitTime = Math.floor(nTime / 86400000)
+      })
     },
 
     /* 合同附件上传 */
     handlepics(res) {
       // 解构
-      const { file } = res.data;
-      this.picsArray.push(file);
-      this.form.pics = this.picsArray;
+      const { file } = res.data
+      this.picsArray.push(file)
+      this.form.pics = this.picsArray
     },
     /* 发票附件上传 */
     handleinvoicePics(res) {
-      const { file } = res.data;
-      this.invoicePicsArray.push(file);
-      this.form.invoicePics = this.invoicePicsArray;
+      const { file } = res.data
+      this.invoicePicsArray.push(file)
+      this.form.invoicePics = this.invoicePicsArray
     },
     /* 贸易附件上传 */
     handletradePics(res) {
-      const { file } = res.data;
-      this.tradePicsArray.push(file);
-      this.form.tradePics = this.tradePicsArray;
+      const { file } = res.data
+      this.tradePicsArray.push(file)
+      this.form.tradePics = this.tradePicsArray
     },
 
     /* 上传图片到浏览器成功回调 */
     handlepicUrls(res) {
       // 解构
-      const { file } = res.data;
-      this.filesArray.push(file);
-      this.form.contractDrafts[0].picUrls = this.filesArray;
+      const { file } = res.data
+      this.filesArray.push(file)
+      this.form.contractDrafts[0].picUrls = this.filesArray
     },
     getContractNo() {
       const temporaryList = this.contractList.filter(
         (item) => item.name === this.form.name
-      );
-      if (this.form.name === "" || temporaryList === "") {
-        this.form.contractNo = "";
+      )
+      if (this.form.name === '' || temporaryList === '') {
+        this.form.contractNo = ''
       } else {
-        this.form.contractNo = temporaryList[0].contractNo;
+        this.form.contractNo = temporaryList[0].contractNo
       }
     },
 
@@ -502,43 +524,43 @@ export default {
     getRate(index) {
       const list = this.acceptorList.filter(
         (item) => item.name === this.form.acceptorName
-      );
-      this.form.contractDrafts[index].interestRate = list[index].interest;
-      this.form.contractDrafts[index].serviceRate = list[index].serviceRate;
+      )
+      this.form.contractDrafts[index].interestRate = list[index].interest
+      this.form.contractDrafts[index].serviceRate = list[index].serviceRate
     },
     addDrawer() {
       this.$router.push({
-        path: "/form/addTicketdrawer",
-      });
+        path: '/form/addTicketdrawer'
+      })
     },
     // 新增汇票
     adddraft() {
       this.form.contractDrafts.push({
-        name: "",
-        draftNo: "",
-        acceptorId: "",
-        drawersId: "",
-        money: "",
-        acceptDate: "",
-        loanLimit: "",
-        serviceRate: "",
-        serviceMoney: "",
-        interestRate: "",
-        interest: "",
+        name: '',
+        draftNo: '',
+        acceptorId: '',
+        drawersId: '',
+        money: '',
+        acceptDate: '',
+        loanLimit: '',
+        serviceRate: '',
+        serviceMoney: '',
+        interestRate: '',
+        interest: '',
         picUrls: [],
-        expectDiscountDate: "",
-        issueDate: "",
-        expireDate: "",
-        limitTime: "",
-      });
+        expectDiscountDate: '',
+        issueDate: '',
+        expireDate: '',
+        limitTime: ''
+      })
     },
     // 删除汇票
     deletedraft(index) {
-      const contractDraftsLength = this.form.contractDrafts.length;
+      const contractDraftsLength = this.form.contractDrafts.length
       if (contractDraftsLength > 1) {
-        this.form.contractDrafts.splice(index, 1);
+        this.form.contractDrafts.splice(index, 1)
       } else {
-        this.$message.error("至少一个");
+        this.$message.error('至少一个')
       }
     },
 
@@ -547,9 +569,9 @@ export default {
 
     /* 获取金额 */
     getMoney(index) {
-      this.getloanLimt(index);
-      this.getSerMoney(index);
-      this.getInterMoney(index);
+      this.getloanLimt(index)
+      this.getSerMoney(index)
+      this.getInterMoney(index)
     },
     /* 计算最高贷款额度 */
     getloanLimt(i) {
@@ -565,7 +587,7 @@ export default {
             this.form.contractDrafts[i].limitTime) /
             360 +
           1
-        ).toFixed(2);
+        ).toFixed(2)
       }
     },
     /* 计算服务费 */
@@ -585,10 +607,10 @@ export default {
             this.form.contractDrafts[i].serviceRate *
             this.form.contractDrafts[i].limitTime) /
           360
-        ).toFixed(2);
+        ).toFixed(2)
       }
     },
-    /*利息*/
+    /* 利息*/
     getInterMoney(i) {
       if (
         this.form.contractDrafts[i].money &&
@@ -605,11 +627,11 @@ export default {
             this.form.contractDrafts[i].interestRate *
             this.form.contractDrafts[i].limitTime) /
           360
-        ).toFixed(2);
+        ).toFixed(2)
       }
-    },
-  },
-};
+    }
+  }
+}
 </script>
 
 <style lang="scss">

+ 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',

+ 156 - 50
src/views/delivery/edit.vue

xqd
@@ -1,57 +1,163 @@
 <template>
-  <div>
-    <el-descriptions title="供应商详情">
-      <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>
-      <el-descriptions-item label="账号">{{ list.account }}</el-descriptions-item>
-      <el-descriptions-item label="创建时间">{{ list.createdAt }}</el-descriptions-item>
-      <el-descriptions-item label="法人名称">{{ list.legalPerson }}</el-descriptions-item>
-      <el-descriptions-item label="联系人">{{ list.contacts }}</el-descriptions-item>
-      <el-descriptions-item label="电话">{{ list.contactsMobile }}</el-descriptions-item>
-      <el-descriptions-item label="审核状态">{{ list.statusText }}</el-descriptions-item>
-      <el-descriptions-item label="认证照片">
-        <el-image v-for="(item,index) in list.proxyFileList" :key="index" style="width: 100px; height: 100px" :src="item" />
-      </el-descriptions-item>
-      <el-descriptions-item label="授权委托书">
-        <el-image v-for="(item,index) in list.identifyPicList" :key="index" style="width: 100px; height: 100px" :src="item" />
-      </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="back">返回</el-button>
-    </div>
-
-  </div>
-
+	<div>
+		<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>
+			<el-descriptions-item label="账号">{{ list.account }}</el-descriptions-item>
+			<el-descriptions-item label="创建时间">{{ list.createdAt }}</el-descriptions-item>
+			<el-descriptions-item label="法人名称">{{ list.legalPerson }}</el-descriptions-item>
+			<el-descriptions-item label="联系人">{{ list.contacts }}</el-descriptions-item>
+			<el-descriptions-item label="电话">{{ list.contactsMobile }}</el-descriptions-item>
+			<el-descriptions-item label="审核状态">{{ list.statusText }}</el-descriptions-item>
+			<el-descriptions-item label="认证照片">
+				<el-image v-for="(item,index) in list.proxyFileList" :key="index" style="width: 100px; height: 100px"
+					:src="item" />
+			</el-descriptions-item>
+			<el-descriptions-item label="授权委托书">
+				<el-image v-for="(item,index) in list.identifyPicList" :key="index" style="width: 100px; height: 100px"
+					:src="item" />
+			</el-descriptions-item>
+		</el-descriptions>
+		<el-dialog title="修改供应商" :visible.sync="dialogVisible" width="40%">
+			<el-form ref="form" :model="form" label-width="100px">
+				<el-form-item label="账户">
+					<el-input v-model="form.account" style="width: 300px;"></el-input>
+				</el-form-item>
+				<el-form-item label="姓名">
+					<el-input v-model="form.name" style="width: 300px;"></el-input>
+				</el-form-item>
+				<el-form-item label="密码">
+					<el-input v-model="form.password" style="width: 300px;"></el-input>
+				</el-form-item>
+				<el-form-item label="社会信用码">
+					<el-input v-model="form.socialCode" style="width: 300px;"></el-input>
+				</el-form-item>
+				<el-form-item label="法人名称">
+					<el-input v-model="form.legalPerson" style="width: 300px;"></el-input>
+				</el-form-item>
+				<el-form-item label="联系人">
+					<el-input v-model="form.contacts" style="width: 300px;"></el-input>
+				</el-form-item>
+				<el-form-item label="联系电话">
+					<el-input v-model="form.contactsMobile" style="width: 300px;"></el-input>
+				</el-form-item>
+				<el-form-item label="认证照片">
+					<div class="boximg">
+						<el-upload action="https://ht.9026.com/api/File" list-type="picture-card"
+							:on-success="handleAvatarSuccess">
+							<i class="el-icon-plus" />
+						</el-upload>
+						<el-dialog :visible.sync="dialogVisibleimg">
+							<img width="100%" :src="form.identifyPics" alt="" />
+						</el-dialog>
+					</div>
+				</el-form-item>
+				<el-form-item label="授权委托书">
+					
+					<div class="boximg">
+						<el-upload action="https://ht.9026.com/api/File" list-type="picture-card"
+							:on-success="handleSuccess">
+							<i class="el-icon-plus" />
+						</el-upload>
+						<el-dialog :visible.sync="dialogVisibleimg">
+							<img width="100%" :src="form.proxyFile" alt="" />
+						</el-dialog>
+					</div>
+				</el-form-item>
+			</el-form>
+			<span slot="footer" class="dialog-footer">
+				<el-button @click="dialogVisible = false">取 消</el-button>
+				<el-button type="primary" @click="update">确 定</el-button>
+			</span>
+		</el-dialog>
+		<div style="display: flex;justify-content: center;">
+			<el-button type="primary" style="width: 100px; " @click="dialogVisible=true">修改信息</el-button>
+			<el-button type="primary" style="width: 100px; " @click="back">返回</el-button>
+		</div>
+	</div>
 </template>
 
 <script>
-export default {
-  data() {
-    return {
-      list: []
-    }
-  },
-  mounted() {
-    const id = this.$route.query.id
-    this.$request({
-      url: '/api/Supplier/' + id,
-      method: 'get'
-    }).then((res) => {
-      this.list = res.data
-      console.log(this.list)
-    })
-  },
-  methods: {
-    back() {
-      this.$router.go(-1)
-    },
-    update() {
-      console.log('更新信息')
-    }
-  }
-}
+	export default {
+		data() {
+			return {
+				form: {
+					account: '',
+					password: '',
+					name: '',
+					socialCode: '',
+					legalPerson: '',
+					contacts: '',
+					contactsMobile: '',
+					identifyPics: [],
+					proxyFile: [],
+					id: ''
+				},
+				dialogVisibleimg:false,
+				dialogVisible: false,
+				list: [],
+				/* 供应商上传身份证图片用数组保存 */
+				identifyPicsArray:[],
+				/* 供应商上传委托书图片用数组保存 */
+				 proxyFileArray: [],
+			}
+		},
+		mounted() {
+			const id = this.$route.query.id
+			this.$request({
+				url: '/api/Supplier/' + id,
+				method: 'get'
+			}).then((res) => {
+				this.list = res.data
+			})
+		},
+		methods: {
+			back() {
+				this.$router.go(-1)
+			},
+			update() {
+				const id = this.$route.query.id
+				this.form.id=id
+				this.$request({
+					url:'/api/Supplier/update',
+					method:'post',
+					data:this.form
+				}).then((res)=>{
+					console.log(res)
+					if(res.code===200){
+						this.$message({
+							type:'success',
+							message:'修改成功!'
+						})
+						this.$router.go(0)
+					}else{
+						this.$message({
+							type:'error',
+							message:'修改失败!'
+						})
+					}
+				})
+				this.dialogVisible = false
+			},
+			/* 供应商上传身份证图片上传成功 */
+			handleAvatarSuccess(res) {
+			  //解构
+			  let { file } = res.data;
+			  this.identifyPicsArray.push(file);
+			  this.form.identifyPics = this.identifyPicsArray;
+			},
+			/* 供应商上传委托书图片上传成功  */
+			handleSuccess(res) {
+				//解构
+				let {
+					file
+				} = res.data;
+				this.proxyFileArray.push(file);
+				this.form.proxyFile = this.proxyFileArray;
+			},
+		}
+	}
 </script>
 
 <style>

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

xqd
@@ -611,4 +611,5 @@ export default {
 .btn {
   padding: 20px;
 }
+
 </style>

+ 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;

+ 2 - 0
src/views/form/index.vue

xqd xqd
@@ -1,4 +1,5 @@
 <template>
+
   <div class="app-container">
     <el-row type="flex" justify="space-between" style="margin-bottom: 20px">
       <div class="grid-content bg-purple">
@@ -324,6 +325,7 @@ export default {
       this.getAllList(this.searchForm);
     },
 
+
     /* 分页功能,改变当前页 */
     handleCurrentChange(val) {
       this.currentPage = val;

+ 0 - 8
src/views/management/detail.vue

xqd
@@ -1,8 +0,0 @@
-<template>
-</template>
-
-<script>
-</script>
-
-<style>
-</style>

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

xqd
@@ -1,395 +1,409 @@
 <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="id" align="center"  prop="id" />
+			<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="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
-					]);
+			},
+			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()
+					}
 				})
-				dataConversionUtil.dataToExcel('业务管理员列表', tableHeader, dataList)
-				this.$message.success('导出成功!');
-		}
+			},
+			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 {

+ 630 - 809
src/views/register/index.vue

xqd
@@ -1,830 +1,651 @@
 <template>
-  <div class="login-container">
-    <el-row>
-      <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="flex1">
-        <div v-if="checked == 0" class="overcicle">
-          <el-form
-            ref="loginForm"
-            :model="loginForm"
-            :rules="loginRules"
-            class="login-form"
-            auto-complete="on"
-            label-position="left"
-          >
-            <div class="title-container">
-              <p class="title">业务管理员注册</p>
-            </div>
-            <el-form-item prop="name">
-              <span class="svg-container"> 姓名 </span>
-              <el-input
-                ref="name"
-                v-model="loginForm.realName"
-                placeholder="输入业务员真实姓名"
-                name="name"
-                type="text"
-                tabindex="1"
-              />
-            </el-form-item>
-            <el-form-item prop="username">
-              <span class="svg-container"> 账户 </span>
-              <el-input
-                ref="username"
-                v-model="loginForm.account"
-                placeholder="输入账户名称"
-                name="username"
-                type="text"
-                tabindex="2"
-              />
-            </el-form-item>
-            <el-form-item prop="username">
-              <span class="svg-container"> 密码 </span>
-              <el-input
-                ref="password"
-                v-model="loginForm.password"
-                placeholder="至少6位数的字母数字组合"
-                name="password"
-                :type="passwordType"
-                tabindex="3"
-              />
-            </el-form-item>
-            <el-form-item prop="password">
-              <span class="svg-container"> 确认密码 </span>
-              <el-input
-                :key="passwordType"
-                ref="password"
-                v-model="loginForm.surepsd"
-                :type="passwordType"
-                placeholder="至少6位数的字母数字组合"
-                name="password"
-                tabindex="4"
-                auto-complete="on"
-                @keyup.enter.native="handleLogin"
-              />
-              <!-- <span class="show-pwd" @click="showPwd">
+	<div class="login-container">
+		<el-row>
+			<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="flex1">
+				<div v-if="checked == 0" class="overcicle">
+					<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form"
+						auto-complete="on" label-position="left">
+						<div class="title-container">
+							<p class="title">业务管理员注册</p>
+						</div>
+						<el-form-item prop="name">
+							<span class="svg-container"> 姓名 </span>
+							<el-input ref="name" v-model="loginForm.realName" placeholder="输入业务员真实姓名" name="name"
+								type="text" tabindex="1" />
+						</el-form-item>
+						<el-form-item prop="username">
+							<span class="svg-container"> 账户 </span>
+							<el-input ref="username" v-model="loginForm.account" placeholder="输入账户名称" name="username"
+								type="text" tabindex="2" />
+						</el-form-item>
+						<el-form-item prop="username">
+							<span class="svg-container"> 密码 </span>
+							<el-input ref="password" v-model="loginForm.password" placeholder="至少6位数的字母数字组合"
+								name="password" :type="passwordType" tabindex="3" />
+						</el-form-item>
+						<el-form-item prop="password">
+							<span class="svg-container"> 确认密码 </span>
+							<el-input :key="passwordType" ref="password" v-model="loginForm.surepsd"
+								:type="passwordType" placeholder="至少6位数的字母数字组合" name="password" tabindex="4"
+								auto-complete="on" @keyup.enter.native="handleLogin" />
+							<!-- <span class="show-pwd" @click="showPwd">
                     <svg-icon :icon-class="passwordType === 'password' ? 'eye' : 'eye-open'" />
                   </span> -->
-            </el-form-item>
-            <el-form-item prop="mobile">
-              <span class="svg-container"> 联系电话 </span>
-              <el-input
-                ref="mobile"
-                v-model="loginForm.mobile"
-                type="text"
-                placeholder="请输入业务员联系电话"
-                name="mobile"
-                tabindex="5"
-                auto-complete="on"
-                @keyup.enter.native="handleLogin"
-              />
-            </el-form-item>
-
-            <el-button
-              :loading="loading"
-              type="primary"
-              class="loginbtn"
-              @click.native.prevent="handleLogin(loginForm)"
-              >注册账号
-            </el-button>
-            <div class="registerbtn flex3">
-              <div class="forgect">
-                <p class="asp">已有账号?</p>
-              </div>
-              <div class="forgect" @click="backLogin()">
-                <p class="nes">马上登录</p>
-              </div>
-            </div>
-          </el-form>
-        </div>
-
-        <div v-if="checked == 1 && showNext" class="overcicle">
-          <div class="title-container">
-            <p class="title">供货商注册</p>
-          </div>
-          <el-form
-            ref="providerForm"
-            :model="providerForm"
-            :rules="loginRules"
-            class="login-form"
-            auto-complete="on"
-            label-position="left"
-          >
-            <el-form-item prop="username">
-              <span class="svg-container"> 账户 </span>
-              <el-input
-                ref="username"
-                v-model="providerForm.username"
-                placeholder="输入账户名称"
-                name="username"
-                type="text"
-                tabindex="2"
-              />
-            </el-form-item>
-            <el-form-item prop="username">
-              <span class="svg-container"> 密码 </span>
-              <el-input
-                ref="password"
-                v-model="providerForm.password"
-                placeholder="至少6位数的字母数字组合"
-                name="password"
-                type="passwordType"
-                tabindex="3"
-              />
-            </el-form-item>
-            <el-form-item prop="password">
-              <span class="svg-container"> 确认密码 </span>
-              <el-input
-                :key="passwordType"
-                ref="password"
-                v-model="providerForm.surepsd"
-                :type="passwordType"
-                placeholder="至少6位数的字母数字组合"
-                name="password"
-                tabindex="4"
-                auto-complete="on"
-                @keyup.enter.native="handleLogin"
-              />
-              <!-- <span class="show-pwd" @click="showPwd">
+						</el-form-item>
+						<el-form-item prop="mobile">
+							<span class="svg-container"> 联系电话 </span>
+							<el-input ref="mobile" v-model="loginForm.mobile" type="text" placeholder="请输入业务员联系电话"
+								name="mobile" tabindex="5" auto-complete="on" @keyup.enter.native="handleLogin" />
+						</el-form-item>
+
+						<el-button :loading="loading" type="primary" class="loginbtn"
+							@click.native.prevent="handleLogin(loginForm)">注册账号
+						</el-button>
+						<div class="registerbtn flex3">
+							<div class="forgect">
+								<p class="asp">已有账号?</p>
+							</div>
+							<div class="forgect" @click="backLogin()">
+								<p class="nes">马上登录</p>
+							</div>
+						</div>
+					</el-form>
+				</div>
+
+				<div v-if="checked == 1 && showNext" class="overcicle">
+					<div class="title-container">
+						<p class="title">供货商注册</p>
+					</div>
+					<el-form ref="providerForm" :model="providerForm" :rules="loginRules" class="login-form"
+						auto-complete="on" label-position="left">
+						<el-form-item prop="username">
+							<span class="svg-container"> 账户 </span>
+							<el-input ref="username" v-model="providerForm.username" placeholder="输入账户名称"
+								name="username" type="text" tabindex="2" />
+						</el-form-item>
+						<el-form-item prop="username">
+							<span class="svg-container"> 密码 </span>
+							<el-input ref="password" v-model="providerForm.password" placeholder="至少6位数的字母数字组合"
+								name="password" type="passwordType" tabindex="3" />
+						</el-form-item>
+						<el-form-item prop="password">
+							<span class="svg-container"> 确认密码 </span>
+							<el-input :key="passwordType" ref="password" v-model="providerForm.surepsd"
+								:type="passwordType" placeholder="至少6位数的字母数字组合" name="password" tabindex="4"
+								auto-complete="on" @keyup.enter.native="handleLogin" />
+							<!-- <span class="show-pwd" @click="showPwd">
                     <svg-icon :icon-class="passwordType === 'password' ? 'eye' : 'eye-open'" />
                   </span> -->
-            </el-form-item>
-            <el-form-item prop="mobile">
-              <span class="svg-container"> 联系电话 </span>
-              <el-input
-                ref="mobile"
-                v-model="providerForm.mobile"
-                type="text"
-                placeholder="请输入业务员联系电话"
-                name="mobile"
-                tabindex="5"
-                auto-complete="on"
-                @keyup.enter.native="handleLogin"
-              />
-            </el-form-item>
-
-            <el-button
-              :loading="loading"
-              type="primary"
-              class="loginbtn"
-              @click.native.prevent="handleLogin"
-              >注册账号
-            </el-button>
-            <div class="registerbtn flex3">
-              <div class="forgect">
-                <p class="asp">已有账号?</p>
-              </div>
-              <div class="forgect" @click="backLogin()">
-                <p class="nes">马上登录</p>
-              </div>
-            </div>
-          </el-form>
-        </div>
-
-        <!-- 供货商注册 -->
-        <div
-          v-if="checked == 1 && !showNext"
-          style="margin-top: 670px"
-          class="overcicle"
-        >
-          <el-form
-            ref="providerForm"
-            :model="providerForm"
-            :rules="loginRules"
-            class="login-form"
-            auto-complete="on"
-            label-position="left"
-          >
-            <div class="title-container">
-              <p class="title">供货商注册</p>
-            </div>
-            <el-form-item prop="name">
-              <span class="svg-container"> 供货商 </span>
-              <el-input
-                ref="name"
-                v-model="providerForm.name"
-                placeholder="输入供货商名称"
-                name="name"
-                type="text"
-                tabindex="1"
-              />
-            </el-form-item>
-            <el-form-item prop="username">
-              <span class="svg-container"> 账户 </span>
-              <el-input
-                ref="username"
-                v-model="providerForm.account"
-                placeholder="输入账户名称"
-                name="username"
-                type="text"
-                tabindex="2"
-              />
-            </el-form-item>
-            <el-form-item prop="username">
-              <span class="svg-container"> 联系人 </span>
-              <el-input
-                ref="password"
-                v-model="providerForm.contacts"
-                placeholder="输入联系人的真实姓名"
-                name="password"
-                type="passwordType"
-                tabindex="3"
-              />
-            </el-form-item>
-            <el-form-item prop="username">
-              <span class="svg-container"> 统一社会信用代码 </span>
-              <el-input
-                ref="username"
-                v-model="providerForm.socialCode"
-                placeholder="输入统一社会信用代码"
-                name="username"
-                type="text"
-                tabindex="2"
-              />
-            </el-form-item>
-            <el-form-item prop="username">
-              <span class="svg-container"> 法人姓名 </span>
-              <el-input
-                ref="password"
-                v-model="providerForm.legalPerson"
-                placeholder="输入法人的真实姓名"
-                name="password"
-                type="passwordType"
-                tabindex="3"
-              />
-            </el-form-item>
-            <el-form-item prop="password">
-              <span class="svg-container"> 密码 </span>
-              <el-input
-                :key="passwordType"
-                ref="password"
-                v-model="providerForm.password"
-                :type="passwordType"
-                placeholder="至少6位数的字母数字组合"
-                name="password"
-                tabindex="4"
-                auto-complete="on"
-                @keyup.enter.native="handleLogin"
-              />
-              <!-- <span class="show-pwd" @click="showPwd">
+						</el-form-item>
+						<el-form-item prop="mobile">
+							<span class="svg-container"> 联系电话 </span>
+							<el-input ref="mobile" v-model="providerForm.mobile" type="text" placeholder="请输入业务员联系电话"
+								name="mobile" tabindex="5" auto-complete="on" @keyup.enter.native="handleLogin" />
+						</el-form-item>
+
+						<el-button :loading="loading" type="primary" class="loginbtn"
+							@click.native.prevent="handleLogin">注册账号
+						</el-button>
+						<div class="registerbtn flex3">
+							<div class="forgect">
+								<p class="asp">已有账号?</p>
+							</div>
+							<div class="forgect" @click="backLogin()">
+								<p class="nes">马上登录</p>
+							</div>
+						</div>
+					</el-form>
+				</div>
+
+				<!-- 供货商注册 -->
+				<div v-if="checked == 1 && !showNext" style="margin-top: 670px" class="overcicle">
+					<el-form ref="providerForm" :model="providerForm" :rules="loginRules" class="login-form"
+						auto-complete="on" label-position="left">
+						<div class="title-container">
+							<p class="title">供货商注册</p>
+						</div>
+						<el-form-item prop="name">
+							<span class="svg-container"> 供货商 </span>
+							<el-input ref="name" v-model="providerForm.name" placeholder="输入供货商名称" name="name"
+								type="text" tabindex="1" />
+						</el-form-item>
+						<el-form-item prop="username">
+							<span class="svg-container"> 账户 </span>
+							<el-input ref="username" v-model="providerForm.account" placeholder="输入账户名称" name="username"
+								type="text" tabindex="2" />
+						</el-form-item>
+						<el-form-item prop="username">
+							<span class="svg-container"> 联系人 </span>
+							<el-input ref="password" v-model="providerForm.contacts" placeholder="输入联系人的真实姓名"
+								name="password" type="passwordType" tabindex="3" />
+						</el-form-item>
+						<el-form-item prop="username">
+							<span class="svg-container"> 统一社会信用代码 </span>
+							<el-input ref="username" v-model="providerForm.socialCode" placeholder="输入统一社会信用代码"
+								name="username" type="text" tabindex="2" />
+						</el-form-item>
+						<el-form-item prop="username">
+							<span class="svg-container"> 法人姓名 </span>
+							<el-input ref="password" v-model="providerForm.legalPerson" placeholder="输入法人的真实姓名"
+								name="password" type="passwordType" tabindex="3" />
+						</el-form-item>
+						<el-form-item prop="password">
+							<span class="svg-container"> 密码 </span>
+							<el-input :key="passwordType" ref="password" v-model="providerForm.password"
+								:type="passwordType" placeholder="至少6位数的字母数字组合" name="password" tabindex="4"
+								auto-complete="on" @keyup.enter.native="handleLogin" />
+							<!-- <span class="show-pwd" @click="showPwd">
                     <svg-icon :icon-class="passwordType === 'password' ? 'eye' : 'eye-open'" />
                   </span> -->
-            </el-form-item>
-            <el-form-item prop="mobile" style="margin-bottom: 0">
-              <span class="svg-container"> 联系电话 </span>
-              <el-input
-                ref="mobile"
-                v-model="providerForm.contactsMobile"
-                type="text"
-                placeholder="请输入业务员联系电话"
-                name="mobile"
-                tabindex="5"
-              />
-            </el-form-item>
-
-            <!-- 供应商上传身份证图片 -->
-            <div class="choosepic">
-              <el-form-item
-                style="background-color: transparent; margin: 0; padding: 0"
-              >
-                <span
-                  class="svg-container"
-                  style="
+						</el-form-item>
+						<el-form-item prop="mobile" style="margin-bottom: 0">
+							<span class="svg-container"> 联系电话 </span>
+							<el-input ref="mobile" v-model="providerForm.contactsMobile" type="text"
+								placeholder="请输入业务员联系电话" name="mobile" tabindex="5" />
+						</el-form-item>
+
+						<!-- 供应商上传身份证图片 -->
+						<div class="choosepic">
+							<el-form-item style="background-color: transparent; margin: 0; padding: 0">
+								<span class="svg-container" style="
                     background-color: transparent;
                     margin: 0;
                     padding: 0;
                     margin-top: 5px;
-                  "
-                >
-                  认证照片
-                </span>
-                <div class="boximg">
-                  <el-upload
-                    action="https://ht.9026.com/api/File"
-                    list-type="picture-card"
-                    :on-success="handleAvatarSuccess"
-                  >
-                    <i class="el-icon-plus" />
-                  </el-upload>
-
-                  <el-dialog :visible.sync="dialogVisible">
-                    <img width="100%" :src="providerForm.identifyPics" alt="" />
-                  </el-dialog>
-                </div>
-                <p class="usa">*注意上传法人手持身份证半身照</p>
-              </el-form-item>
-            </div>
-
-            <!-- 供应商上传委托书图片 -->
-            <div class="choosepic">
-              <el-form-item
-                style="background-color: transparent; margin: 0; padding: 0"
-              >
-                <span
-                  class="svg-container"
-                  style="background-color: transparent; margin: 0; padding: 0"
-                >
-                  授权委托书
-                </span>
-                <div class="boximg">
-                  <!-- <el-upload
-                    action="https://ht.9026.com/api/File"
-                    list-type="picture-card"
-                    :auto-upload="false"
-                    :on-change="handleSuccess"
-                    :file-list="providerForm.proxyFile"
-                  >
-                    <i slot="default" class="el-icon-plus" />
-                    <div slot="file" slot-scope="{ file }">
-                      <img
-                        class="el-upload-list__item-thumbnail"
-                        :src="file.url"
-                        alt=""
-                      />
-                    </div>
-                  </el-upload>
-                  <el-dialog :visible.sync="dialogVisible">
-                    <img width="" :src="providerForm.proxyFile" alt="" />
-                  </el-dialog> -->
-				<el-upload
-                    action="https://ht.9026.com/api/File"
-                    list-type="picture-card"
-                    :on-success="handleSuccess"
-                  >
-                    <i class="el-icon-plus" />
-                  </el-upload>
-                  <el-dialog :visible.sync="dialogVisible">
-                    <img width="100%" :src="providerForm.proxyFile" alt="" />
-                  </el-dialog>
-                </div>
-                <p class="usa">*注意上传法人签署的授权委托书</p>
-              </el-form-item>
-            </div>
-            <!-- <el-button :loading="loading" type="primary" class="loginbtn" @click.native.prevent="nextStep">下一步
-            </el-button> -->
-            <el-button
-              :loading="loading"
-              type="primary"
-              class="loginbtn"
-              @click.native.prevent="handleLogin(providerForm)"
-              >注册账号
-            </el-button>
-            <div class="registerbtn flex3">
-              <div class="forgect">
-                <p class="asp">已有账号?</p>
-              </div>
-              <div class="forgect" @click="backLogin()">
-                <p class="nes">马上登录</p>
-              </div>
-            </div>
-          </el-form>
-        </div>
-      </el-col>
-    </el-row>
-  </div>
+                  ">
+									认证照片
+								</span>
+								<div class="boximg">
+									<el-upload action="https://ht.9026.com/api/File" list-type="picture-card"
+										:on-success="handleAvatarSuccess">
+										<i class="el-icon-plus" />
+									</el-upload>
+
+									<el-dialog :visible.sync="dialogVisible">
+										<img width="100%" :src="providerForm.identifyPics" alt="" />
+									</el-dialog>
+								</div>
+								<p class="usa">*注意上传法人手持身份证半身照</p>
+							</el-form-item>
+						</div>
+
+						<!-- 供应商上传委托书图片 -->
+						<div class="choosepic">
+							<el-form-item style="background-color: transparent; margin: 0; padding: 0">
+								<span class="svg-container"
+									style="background-color: transparent; margin: 0; padding: 0">
+									授权委托书
+								</span>
+								<div class="boximg">
+									<el-upload action="https://ht.9026.com/api/File" list-type="picture-card"
+										:on-success="handleSuccess">
+										<i class="el-icon-plus" />
+									</el-upload>
+									<el-dialog :visible.sync="dialogVisible">
+										<img width="100%" :src="providerForm.proxyFile" alt="" />
+									</el-dialog>
+								</div>
+								<p class="usa">*注意上传法人签署的授权委托书</p>
+							</el-form-item>
+						</div>
+						<el-button :loading="loading" type="primary" class="loginbtn"
+							@click.native.prevent="handleLogin(providerForm)">注册账号
+						</el-button>
+						<div class="registerbtn flex3">
+							<div class="forgect">
+								<p class="asp">已有账号?</p>
+							</div>
+							<div class="forgect" @click="backLogin()">
+								<p class="nes">马上登录</p>
+							</div>
+						</div>
+					</el-form>
+				</div>
+			</el-col>
+		</el-row>
+	</div>
 </template>
 
 <script>
-let that;
-import { validUsername } from "@/utils/validate";
-import logo from "/src/assets/img/logo.png";
-import upself from "/src/assets/img/upuer.png";
-import upweituo from "/src/assets/img/upattor.png";
-import request from "@/utils/request";
-export default {
-  name: "Login",
-  data() {
-    const validatename = (rule, value, callback) => {
-      if (value.length == 0) {
-        callback(new Error("请输入业务员真实姓名"));
-      } else {
-        callback();
-      }
-    };
-    const validateUsername = (rule, value, callback) => {
-      if (!validUsername(value)) {
-        callback(new Error("请输入账户名称"));
-      } else {
-        callback();
-      }
-    };
-    const validatePassword = (rule, value, callback) => {
-      if (value.length < 6) {
-        callback(new Error("请输入大于6位数密码"));
-      } else {
-        callback();
-      }
-    };
-    const validatemobile = (rule, value, callback) => {
-      if (value.length == 0) {
-        callback(new Error("请输入电话号码"));
-      } else {
-        callback();
-      }
-    };
-    return {
-      dialogVisible: false,
-      disabled: false,
-      upself: upself,
-      upweituo: upweituo,
-      fit: "cover",
-      imageUrl: "",
-      loginForm: {
-        realName: "",
-        account: "",
-        password: "",
-        surepsd: "",
-        mobile: "",
-      },
-      /* 供应商数据 */
-      providerForm: {
-        account: "",
-        password: "",
-        name: "",
-        socialCode: "",
-        legalPerson: "",
-        contacts: "",
-        contactsMobile: "",
-        identifyPics: [],
-        proxyFile: [],
-      },
-
-      /* 供应商上传身份证图片用数组保存 */
-      identifyPicsArray: [],
-	   /* 供应商上传委托书图片用数组保存 */
-      proxyFileArray: [],
-
-      loginRules: {
-        realName: [
-          {
-            required: true,
-            trigger: "blur",
-            validator: validatename,
-          },
-        ],
-        account: [
-          {
-            required: true,
-            trigger: "blur",
-            validator: validateUsername,
-          },
-        ],
-        password: [
-          {
-            required: true,
-            trigger: "blur",
-            validator: validatePassword,
-          },
-        ],
-        mobile: [
-          {
-            required: true,
-            trigger: "blur",
-            validator: validatemobile,
-          },
-        ],
-      },
-      loading: false,
-      passwordType: "password",
-      redirect: undefined,
-      src: logo,
-      checked: 0,
-      showNext: false,
-    };
-  },
-  watch: {
-    $route: {
-      handler: function (route) {
-        this.redirect = route.query && route.query.redirect;
-      },
-      immediate: true,
-    },
-  },
-  mounted() {
-    that = this;
-    this.checked = this.$route.query.checked;
-  },
-  methods: {
-    nextStep() {
-      this.showNext = true;
-    },
-    /* 供应商上传身份证图片上传成功 */
-    handleAvatarSuccess(res) {
-      //解构
-      let { file } = res.data;
-      this.identifyPicsArray.push(file);
-      this.providerForm.identifyPics = this.identifyPicsArray;
-    },
-
-	 /* 供应商上传委托书图片上传成功  */ 
-    handleSuccess(res) {
-	 //解构
-      let { file } = res.data;
-      this.proxyFileArray.push(file);
-      this.providerForm.proxyFile = this.proxyFileArray;
-    },
-    handlePictureCardPreview(file) {
-      console.log(file, 88);
-      this.imageUrl = file.url;
-    },
-    showPwd() {
-      if (this.passwordType === "password") {
-        this.passwordType = "";
-      } else {
-        this.passwordType = "password";
-      }
-      this.$nextTick(() => {
-        this.$refs.password.focus();
-      });
-    },
-    backLogin() {
-      this.$router.replace({
-        path: "/login",
-        query: {},
-      });
-    },
-
-    /* 供应商注册发送请求 */
-    handleLogin(form) {
-      if (form == this.loginForm) {
-        request({
-          url: "/api/Account/register",
-          method: "post",
-          data: form,
-        }).then((res) => {
-          this.$message("注册成功");
-          this.$router.push({
-            path: "/login",
-          });
-        });
-      } else {
-        this.$request({
-          url: "/api/Supplier/register",
-          method: "post",
-          data: form,
-        }).then((res) => {
-          this.$message("注册成功");
-          this.$router.push({
-            path: "/login",
-            query: {
-              checked: this.checked,
-            },
-          });
-        });
-      }
-    },
-  },
-};
+	let that;
+	import {
+		validUsername
+	} from "@/utils/validate";
+	import logo from "/src/assets/img/logo.png";
+	import upself from "/src/assets/img/upuer.png";
+	import upweituo from "/src/assets/img/upattor.png";
+	import request from "@/utils/request";
+	export default {
+		name: "Login",
+		data() {
+			const validatename = (rule, value, callback) => {
+				if (value.length == 0) {
+					callback(new Error("请输入业务员真实姓名"));
+				} else {
+					callback();
+				}
+			};
+			const validateUsername = (rule, value, callback) => {
+				if (!validUsername(value)) {
+					callback(new Error("请输入账户名称"));
+				} else {
+					callback();
+				}
+			};
+			const validatePassword = (rule, value, callback) => {
+				if (value.length < 6) {
+					callback(new Error("请输入大于6位数密码"));
+				} else {
+					callback();
+				}
+			};
+			const validatemobile = (rule, value, callback) => {
+				if (value.length == 0) {
+					callback(new Error("请输入电话号码"));
+				} else {
+					callback();
+				}
+			};
+			return {
+				dialogVisible: false,
+				disabled: false,
+				upself: upself,
+				upweituo: upweituo,
+				fit: "cover",
+				imageUrl: "",
+				loginForm: {
+					realName: "",
+					account: "",
+					password: "",
+					surepsd: "",
+					mobile: "",
+				},
+				/* 供应商数据 */
+				providerForm: {
+					account: "",
+					password: "",
+					name: "",
+					socialCode: "",
+					legalPerson: "",
+					contacts: "",
+					contactsMobile: "",
+					identifyPics: [],
+					proxyFile: [],
+				},
+
+				/* 供应商上传身份证图片用数组保存 */
+				identifyPicsArray: [],
+				/* 供应商上传委托书图片用数组保存 */
+				proxyFileArray: [],
+
+				loginRules: {
+					realName: [{
+						required: true,
+						trigger: "blur",
+						validator: validatename,
+					}, ],
+					account: [{
+						required: true,
+						trigger: "blur",
+						validator: validateUsername,
+					}, ],
+					password: [{
+						required: true,
+						trigger: "blur",
+						validator: validatePassword,
+					}, ],
+					mobile: [{
+						required: true,
+						trigger: "blur",
+						validator: validatemobile,
+					}, ],
+				},
+				loading: false,
+				passwordType: "password",
+				redirect: undefined,
+				src: logo,
+				checked: 0,
+				showNext: false,
+			};
+		},
+		watch: {
+			$route: {
+				handler: function(route) {
+					this.redirect = route.query && route.query.redirect;
+				},
+				immediate: true,
+			},
+		},
+		mounted() {
+			that = this;
+			this.checked = this.$route.query.checked;
+		},
+		methods: {
+			nextStep() {
+				this.showNext = true;
+			},
+			/* 供应商上传身份证图片上传成功 */
+			handleAvatarSuccess(res) {
+				//解构
+				let {
+					file
+				} = res.data;
+				this.identifyPicsArray.push(file);
+				this.providerForm.identifyPics = this.identifyPicsArray;
+			},
+
+			/* 供应商上传委托书图片上传成功  */
+			handleSuccess(res) {
+				//解构
+				let {
+					file
+				} = res.data;
+				this.proxyFileArray.push(file);
+				this.providerForm.proxyFile = this.proxyFileArray;
+			},
+			handlePictureCardPreview(file) {
+				console.log(file, 88);
+				this.imageUrl = file.url;
+			},
+			showPwd() {
+				if (this.passwordType === "password") {
+					this.passwordType = "";
+				} else {
+					this.passwordType = "password";
+				}
+				this.$nextTick(() => {
+					this.$refs.password.focus();
+				});
+			},
+			backLogin() {
+				this.$router.replace({
+					path: "/login",
+					query: {},
+				});
+			},
+
+			/* 供应商注册发送请求 */
+			handleLogin(form) {
+				if (form == this.loginForm) {
+					request({
+						url: "/api/Account/register",
+						method: "post",
+						data: form,
+					}).then((res) => {
+						this.$message("注册成功");
+						this.$router.push({
+							path: "/login",
+						});
+					});
+				} else {
+					this.$request({
+						url: "/api/Supplier/register",
+						method: "post",
+						data: form,
+					}).then((res) => {
+						this.$message("注册成功");
+						this.$router.push({
+							path: "/login",
+							query: {
+								checked: this.checked,
+							},
+						});
+					});
+				}
+			},
+		},
+	};
 </script>
 
 <style lang="scss">
-$bg: #f6f6f6;
-$light_gray: #bebdbb;
-$cursor: #bebdbb;
-
-@supports (-webkit-mask: none) and (not (cater-color: $cursor)) {
-  .login-container .el-input input {
-    color: $cursor;
-  }
-}
-
-/* reset element-ui css */
-.login-container {
-  overflow: auto;
-  background: url("../../assets/img/registerbg.png") no-repeat;
-  background-size: 100%;
-
-  .el-input {
-    display: inline-block;
-    height: 47px;
-    width: 70%;
-    background-color: #f6f6f6;
-
-    input {
-      background: #f6f6f6;
-      border: 0px;
-      -webkit-appearance: none;
-      border-radius: 0px;
-      padding: 12px 5px 12px 15px;
-      color: $light_gray;
-      height: 47px;
-      caret-color: $cursor;
-
-      &:-webkit-autofill {
-        box-shadow: 0 0 0px 1000px $bg inset !important;
-        -webkit-text-fill-color: $cursor !important;
-      }
-    }
-  }
-
-  .el-form-item {
-    border: 1px solid rgba(255, 255, 255, 0.1);
-    background: #f6f6f6;
-    border-radius: 5px;
-    color: #454545;
-  }
-}
+	$bg: #f6f6f6;
+	$light_gray: #bebdbb;
+	$cursor: #bebdbb;
+
+	@supports (-webkit-mask: none) and (not (cater-color: $cursor)) {
+		.login-container .el-input input {
+			color: $cursor;
+		}
+	}
+
+	/* reset element-ui css */
+	.login-container {
+		overflow: auto;
+		background: url("../../assets/img/registerbg.png") no-repeat;
+		background-size: 100%;
+
+		.el-input {
+			display: inline-block;
+			height: 47px;
+			width: 70%;
+			background-color: #f6f6f6;
+
+			input {
+				background: #f6f6f6;
+				border: 0px;
+				-webkit-appearance: none;
+				border-radius: 0px;
+				padding: 12px 5px 12px 15px;
+				color: $light_gray;
+				height: 47px;
+				caret-color: $cursor;
+
+				&:-webkit-autofill {
+					box-shadow: 0 0 0px 1000px $bg inset !important;
+					-webkit-text-fill-color: $cursor !important;
+				}
+			}
+		}
+
+		.el-form-item {
+			border: 1px solid rgba(255, 255, 255, 0.1);
+			background: #f6f6f6;
+			border-radius: 5px;
+			color: #454545;
+		}
+	}
 </style>
 
 <style lang="scss" scoped>
-$bg: #2d3a4b;
-$dark_gray: #f6f6f6;
-$light_gray: #eee;
-
-.login-container {
-  height: 100%;
-  width: 100%;
-  // background-color: $bg;
-  // overflow: hidden;
-
-  .login-form {
-    position: relative;
-    width: 470px;
-    max-width: 100%;
-    padding: 0 35px 0;
-    margin: 0 auto;
-    // overflow: hidden;
-  }
-
-  .tips {
-    font-size: 14px;
-    color: #fff;
-    margin-bottom: 10px;
-
-    span {
-      &:first-of-type {
-        margin-right: 16px;
-      }
-    }
-  }
-
-  .svg-container {
-    padding: 6px 5px 6px 15px;
-    color: #1f242a;
-    vertical-align: middle;
-    // width: 30px;
-    display: inline-block;
-  }
-
-  .title-container {
-    position: relative;
-
-    .title {
-      font-size: 48px;
-      color: #1f242a;
-      margin: 0px auto 40px auto;
-      text-align: center;
-      font-weight: bold;
-    }
-  }
-
-  .show-pwd {
-    position: absolute;
-    right: 10px;
-    top: 7px;
-    font-size: 16px;
-    color: $dark_gray;
-    cursor: pointer;
-    user-select: none;
-  }
-}
-
-.el-row {
-  height: 100%;
-}
-
-.el-col {
-  height: 100%;
-}
-
-.business {
-  width: 305px;
-  height: 90px;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  text-align: center;
-  // background-color: #D8AB5A;
-  border-raotherdius: 20rpx;
-  color: #ffffff;
-  margin-top: 57rpx;
-}
-
-.business {
-  width: 305rpx;
-  height: 90rpx;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  text-align: center;
-  // background-color: #D8AB5A;
-  border-raotherdius: 20rpx;
-  color: #ffffff;
-  margin-top: 57rpx;
-  // line-height: 110rpx;
-}
-
-.bnesper {
-  background-size: 100%;
-  background-image: url("../../assets/img/loginbtn4.png");
-  background-repeat: no-repeat;
-  padding-top: 10rpx;
-  color: #fff1d8;
-
-  .asp {
-    padding-bottom: 5px;
-  }
-}
-
-.applyper {
-  background-image: url("../../assets/img/loginbt1.png");
-  background-repeat: no-repeat;
-  background-size: 100%;
-  padding-top: 10rpx;
-  color: #fff1d8;
-
-  .asp {
-    padding-bottom: 5px;
-  }
-}
-
-.actapp {
-  background-image: url("../../assets/img/loginbtn3.png");
-  background-repeat: no-repeat;
-  background-size: 100%;
-  color: #d05c39;
-  margin-bottom: 80rpx;
-
-  .as {
-    padding-bottom: 20px;
-  }
-
-  // line-height: 180rpx;
-}
-
-.actbnes {
-  background-image: url("../../assets/img/loginbt2.png");
-  background-repeat: no-repeat;
-  background-size: 100%;
-  color: #d05c39;
-
-  .asp {
-    padding-bottom: 20px;
-  }
-}
-
-.loginbtn {
-  width: 100%;
-  margin-top: 30px;
-  background: linear-gradient(to right, #ffe1ad, #d07539);
-  border: none;
-  height: 56px;
-  border-radius: 10px;
-  font-size: 18px;
-}
-
-.registerbtn {
-  margin-top: 0px;
-  margin-bottom: 30px;
-  font-size: 16px;
-
-  .forgect {
-    cursor: pointer;
-  }
-
-  .nes {
-    color: #d05c39;
-  }
-}
-
-.boximg {
-  width: 100%;
-  height: 240px;
-  border-radius: 10px;
-  background-color: #f6f6f6;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-
-  image {
-    width: 290px;
-    height: 150px;
-  }
-}
-
-.choosepic {
-  .el-form-item__content {
-  }
-}
-
-.usa {
-  color: #d05c39;
-  text-align: center;
-  padding: 0 !important;
-  margin: 0;
-}
-
-.overcicle {
-  border: 1px solid #ffe2ae;
-  padding-top: 50px;
-  box-sizing: border-box;
-}
+	$bg: #2d3a4b;
+	$dark_gray: #f6f6f6;
+	$light_gray: #eee;
+
+	.login-container {
+		height: 100%;
+		width: 100%;
+		// background-color: $bg;
+		// overflow: hidden;
+
+		.login-form {
+			position: relative;
+			width: 470px;
+			max-width: 100%;
+			padding: 0 35px 0;
+			margin: 0 auto;
+			// overflow: hidden;
+		}
+
+		.tips {
+			font-size: 14px;
+			color: #fff;
+			margin-bottom: 10px;
+
+			span {
+				&:first-of-type {
+					margin-right: 16px;
+				}
+			}
+		}
+
+		.svg-container {
+			padding: 6px 5px 6px 15px;
+			color: #1f242a;
+			vertical-align: middle;
+			// width: 30px;
+			display: inline-block;
+		}
+
+		.title-container {
+			position: relative;
+
+			.title {
+				font-size: 48px;
+				color: #1f242a;
+				margin: 0px auto 40px auto;
+				text-align: center;
+				font-weight: bold;
+			}
+		}
+
+		.show-pwd {
+			position: absolute;
+			right: 10px;
+			top: 7px;
+			font-size: 16px;
+			color: $dark_gray;
+			cursor: pointer;
+			user-select: none;
+		}
+	}
+
+	.el-row {
+		height: 100%;
+	}
+
+	.el-col {
+		height: 100%;
+	}
+
+	.business {
+		width: 305px;
+		height: 90px;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		text-align: center;
+		// background-color: #D8AB5A;
+		border-raotherdius: 20rpx;
+		color: #ffffff;
+		margin-top: 57rpx;
+	}
+
+	.business {
+		width: 305rpx;
+		height: 90rpx;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		text-align: center;
+		// background-color: #D8AB5A;
+		border-raotherdius: 20rpx;
+		color: #ffffff;
+		margin-top: 57rpx;
+		// line-height: 110rpx;
+	}
+
+	.bnesper {
+		background-size: 100%;
+		background-image: url("../../assets/img/loginbtn4.png");
+		background-repeat: no-repeat;
+		padding-top: 10rpx;
+		color: #fff1d8;
+
+		.asp {
+			padding-bottom: 5px;
+		}
+	}
+
+	.applyper {
+		background-image: url("../../assets/img/loginbt1.png");
+		background-repeat: no-repeat;
+		background-size: 100%;
+		padding-top: 10rpx;
+		color: #fff1d8;
+
+		.asp {
+			padding-bottom: 5px;
+		}
+	}
+
+	.actapp {
+		background-image: url("../../assets/img/loginbtn3.png");
+		background-repeat: no-repeat;
+		background-size: 100%;
+		color: #d05c39;
+		margin-bottom: 80rpx;
+
+		.as {
+			padding-bottom: 20px;
+		}
+
+		// line-height: 180rpx;
+	}
+
+	.actbnes {
+		background-image: url("../../assets/img/loginbt2.png");
+		background-repeat: no-repeat;
+		background-size: 100%;
+		color: #d05c39;
+
+		.asp {
+			padding-bottom: 20px;
+		}
+	}
+
+	.loginbtn {
+		width: 100%;
+		margin-top: 30px;
+		background: linear-gradient(to right, #ffe1ad, #d07539);
+		border: none;
+		height: 56px;
+		border-radius: 10px;
+		font-size: 18px;
+	}
+
+	.registerbtn {
+		margin-top: 0px;
+		margin-bottom: 30px;
+		font-size: 16px;
+
+		.forgect {
+			cursor: pointer;
+		}
+
+		.nes {
+			color: #d05c39;
+		}
+	}
+
+	.boximg {
+		width: 100%;
+		height: 240px;
+		border-radius: 10px;
+		background-color: #f6f6f6;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+
+		image {
+			width: 290px;
+			height: 150px;
+		}
+	}
+
+	.choosepic {
+		.el-form-item__content {}
+	}
+
+	.usa {
+		color: #d05c39;
+		text-align: center;
+		padding: 0 !important;
+		margin: 0;
+	}
+
+	.overcicle {
+		border: 1px solid #ffe2ae;
+		padding-top: 50px;
+		box-sizing: border-box;
+	}
 </style>

+ 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>

+ 20 - 8
src/views/sucuirtyaudit/detail.vue

xqd xqd
@@ -1,12 +1,23 @@
 <template>
-	<el-descriptions title="详情信息">
-		<el-descriptions-item label="姓名">{{tableData.userName}}</el-descriptions-item>
-		<el-descriptions-item label="状态">{{tableData.status}}</el-descriptions-item>
-		<el-descriptions-item label="id">{{tableData.recordId}}</el-descriptions-item>
-		<el-descriptions-item label="事件名称">{{tableData.event}}</el-descriptions-item>
-		<!-- <el-descriptions-item label="更新前">{{tableData.before}}</el-descriptions-item> -->
-		<!-- <el-descriptions-item label="更新后">{{tableData.after}}</el-descriptions-item> -->
-	</el-descriptions>
+	<div>
+		<el-descriptions title="详情信息" :column="2" :size="size" border >
+			<el-descriptions-item label="姓名">{{tableData.userName}}</el-descriptions-item>
+			<el-descriptions-item label="状态">{{tableData.status}}</el-descriptions-item>
+			<el-descriptions-item label="id">{{tableData.recordId}}</el-descriptions-item>
+			<el-descriptions-item label="事件名称">{{tableData.event}}</el-descriptions-item>
+		</el-descriptions>
+		<!-- <el-table
+		    :data="tableData"
+		    stripe
+		    style="width: 100%">
+		    <el-table-column
+		      prop="date"
+		      label="日期"
+		      width="180">
+		    </el-table-column>
+		</el-table> -->
+	</div>
+	
 </template>
 
 <script>
@@ -23,6 +34,7 @@
 				method: 'get',
 			}).then((res) => {
 				this.tableData=res.data
+				console.log(this.tableData)
 				let string=res.data.after
 				let obj=eval('('+string+')')
 				console.log(obj)

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

xqd 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>
@@ -71,7 +70,7 @@
 			</el-table-column>
 			<el-table-column align="center"  label="操作" width="250">
 				<template slot-scope="scope">
-					<el-tag type="success" style="cursor: pointer;margin-right: 15px;" @click="todetail(scope.row.id)">查看详情</el-tag>
+					<el-tag type="primary" style="cursor: pointer;margin-right: 15px;" @click="todetail(scope.row.id)">查看详情</el-tag>
 				</template>
 			</el-table-column>
 		</el-table>

+ 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>

+ 5 - 0
src/views/table/index.vue

xqd xqd xqd xqd
@@ -1,4 +1,5 @@
 <template>
+
   <div class="app-container">
     <el-row type="flex" justify="space-between" style="margin-bottom: 20px">
       <div class="grid-content bg-purple">
@@ -129,6 +130,7 @@
   </div>
 </template>
 
+
 <script>
 import { getList } from "@/api/table";
 import { dataConversionUtil } from "../../utils/Excel.js";
@@ -318,6 +320,7 @@ export default {
       this.getAllList(this.searchForm);
     },
 
+
     /* 分页功能,改变当前页 */
     handleCurrentChange(val) {
       this.currentPage = val;
@@ -374,6 +377,8 @@ export default {
     },
   },
 };
+
+
 </script>
 <style lang="scss">
 .pulldown {