zhang 4 лет назад
Родитель
Сommit
9ed9ee21fa

+ 1 - 1
index.html

@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width,initial-scale=1.0">
-    <title>hot-water-manager-web</title>
+    <title>welcomeRegister-web</title>
   </head>
   <body>
     <div id="app"></div>

+ 41 - 18
src/components/fankuijilu/fankuijilu.vue

@@ -23,17 +23,40 @@
     </el-row>
     <el-row>
       <el-col :span="24" class="third-row">
-        <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%" highlight-current-row>
+        <!-- <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%" highlight-current-row>
           <el-table-column prop="id" label="学号" width="260" align="center"></el-table-column>
           <el-table-column prop="stuName" label="姓名" width="200" align="center"></el-table-column>
           <el-table-column prop="tel" label="联系方式" width="270"></el-table-column>
-          <el-table-column prop="time" label="时间" width="220"></el-table-column>
-          <el-table-column prop="content" label="内容" width="400" id="content" align="center" widshow-overflow-tooltip>
+          <el-table-column prop="time" label="时间" width="280" align="center"></el-table-column>
+          <el-table-column label="内容" width="340" id="content" align="center" widshow-overflow-tooltip>
+            <el-popover placement="top-start" width="200" trigger="hover" slot-scope="scope"
+              :content="scope.row.content">
+              <div slot="reference">{{ scope.row.content.substr(0,10) }}....</div>
+            </el-popover>
+          </el-table-column>
+          <el-table-column label="操作" align="center" width="160" id="state">
+            <div slot-scope="scope" @click="handleEdit(scope.$index, scope.row)">
+              <el-tag :type="scope.row.state === '未处理' ? 'danger' : 'success'" disable-transitions>{{scope.row.state}}
+              </el-tag>
+            </div>
           </el-table-column>
-          <el-table-column label="操作" width="120" id="state">
-            <el-button id="show-btn" slot-scope="scope" @click="handleEdit(scope.$index, scope.row)">
-              {{scope.row.state}}
-            </el-button>
+        </el-table> -->
+        <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%" highlight-current-row>
+          <el-table-column prop="id" label="学号" align="center"></el-table-column>
+          <el-table-column prop="stuName" label="姓名" align="center"></el-table-column>
+          <el-table-column prop="tel" label="联系方式"></el-table-column>
+          <el-table-column prop="time" label="时间"></el-table-column>
+          <el-table-column label="内容" id="content" align="center" widshow-overflow-tooltip>
+            <el-popover placement="top-start" trigger="hover" slot-scope="scope"
+              :content="scope.row.content">
+              <div slot="reference">{{ scope.row.content.substr(0,10) }}....</div>
+            </el-popover>
+          </el-table-column>
+          <el-table-column label="操作" align="center"id="state">
+            <div slot-scope="scope" @click="handleEdit(scope.$index, scope.row)">
+              <el-tag :type="scope.row.state === '未处理' ? 'danger' : 'success'" disable-transitions>{{scope.row.state}}
+              </el-tag>
+            </div>
           </el-table-column>
         </el-table>
         <div style="margin-top: 20px" class="table-footer">
@@ -53,7 +76,7 @@
             <div id="logo-center"></div>
           </div>
           <div id="item-txt">
-            <span class="item-text">是否理成功?</span>
+            <span class="item-text">是否理成功?</span>
           </div>
           <span slot="footer" class="dialog-footer">
             <el-button type="primary" @click="handleSelect">确 定</el-button>
@@ -133,22 +156,22 @@
       //确定处理反馈信息
       handleSelect() {
         this.editdialogFormVisible = false
-        this.handleInfo('http://192.168.161.230:9998/tuitionpayment/feedbackmsg/info/' + this.tableData[this.index].idNo)
+        this.handleInfo(this.$Api.fankuiHandle + this.tableData[this.index].idNo)
       },
       //修改信息
       handleInfo(url) {
         this.$axios.defaults.headers.common['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8';
         this.$axios.defaults.headers.common['admin_token'] = this.user_token;
         this.$axios.put(url)
-        .then(res => {
-          console.log(this.index)
-          if(res.data.message == '执行成功'){
-            // console.log(this.tableData[this.index].state)
-            this.tableData[this.index].state = '已处理'
-          }
-        }).catch(err => {
-          console.log(err)
-        })
+          .then(res => {
+            console.log(this.index)
+            if (res.data.message == '执行成功') {
+              // console.log(this.tableData[this.index].state)
+              this.tableData[this.index].state = '已处理'
+            }
+          }).catch(err => {
+            console.log(err)
+          })
       },
       onSubmit() {
         console.log('submit!')

+ 7 - 6
src/components/index/Index.css

@@ -5,9 +5,10 @@
 }
 
 .menu-left {
-  width: 235px;
-  /* width: 20%; */
-  height: 100%;
+  /* width: 235px; */
+  width: 15%;
+  /* height: 100%;*/
+  height: 1061px;
   background: #4393F8;
   overflow: hidden;
 }
@@ -199,10 +200,10 @@
 
 /* main */
 .right-main {
-  margin: 29px 29px 0 31px;
+  margin: 20px 29px 0 20px;
   padding: 32px 40px 53px 40px;
-  width: 1600px;
-  /* width: 95%; */
+  /* width: 1600px; */
+  width: calc(100% -49px);
   height: 961px;
   background: #FFFFFF;
 }

+ 10 - 3
src/components/index/Index.vue

@@ -56,7 +56,6 @@
               <div class="logout-btn"></div>
               <div class="user-name">退出</div>
             </div>
-
           </div>
         </el-col>
       </el-row>
@@ -100,15 +99,23 @@
           // console.log(aData.getTime())
           _this.now_date = aData.getFullYear() + "-" + month + "-" + date + ' ' + week + " " + aData.getHours() +
             ":" + aData.getMinutes() + ":" + aData.getSeconds();
-        }, 1000);
+        }, 50);
         // console.log(this.now_date) //2019-8-20
       },
+      //提示
+      getMessage() {
+        setTimeout(this.$message({
+          showClose: true,
+          message: '登录成功',
+          type: 'success'
+        }),3000)
+      },
       //判断身份
       determineIdentify(){
         // console.log(this.user_info)
         if( this.user_info == null || this.user_info.userName != 'admin' || this.user_info.password != '123456'){
           this.$router.push({
-            path: '/jiaofei/'
+            path: '/'
           })
         }
       },

+ 4 - 8
src/components/login/Login.vue

@@ -74,12 +74,11 @@
         // console.log(this.ruleForm.uname)
         this.getLogin(this.$Api.login)
       },
-      getLogin(url){
+      //登录
+      getLogin(url) {
         this.$axios.post(url + '?' + this.$qs.stringify({
             userName: this.ruleForm.uname,
             password: this.ruleForm.upass
-            // userName: 'admin',
-            // password: '123456'
           }), {
             headers: {
               'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8',
@@ -87,25 +86,22 @@
             }
           })
           .then(res => {
-            // console.log(res.data.code)
             if (res.data.code == 1) {
               this.user_info.userName = this.ruleForm.uname
               this.user_info.password = this.ruleForm.upass
-              // this.user_info.userName = 'admin'
-              // this.user_info.password = '12345'
               this.user_info.token = res.data.data.token
               let user_info_Str = JSON.stringify(this.user_info)
               sessionStorage.setItem('usr_info', user_info_Str)
+              this.$message.success('用户登录成功')
               this.$router.push({
                 path: '/index'
               })
-            }else{
+            } else {
               this.$message.error('用户名或密码错误');
             }
           })
           .catch(err => {
             console.log(err)
-
           })
       },
       // submitForm(formName) {

+ 5 - 3
src/components/login/login.css

@@ -1,8 +1,8 @@
 .container {
 	width: 100%;
 	height: 100%;
-	min-width: 1900px;
-	min-height: 1080px;
+/* 	min-width: 1900px;
+	min-height: 1080px; */
 	max-width: 1920px;
 	max-height: 1080px;
 	background: url(../../../static/images/bg.png) no-repeat;
@@ -23,7 +23,9 @@
 	flex-direction: column;
 	justify-content: center;
 	align-items: center;
-	padding: 230px 0 0 1015px;
+  padding-top: 10%;
+  padding-left: 48%;
+	/* padding: 230px 0 0 1015px; */
 	width: 600px;
 }
 

+ 30 - 3
src/components/orderList/orderList.vue

@@ -33,7 +33,7 @@
     </el-row>
     <el-row>
       <el-col :span="24" class="third-row">
-        <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%" highlight-current-row>
+        <!-- <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%" highlight-current-row>
           <el-table-column label="订单号" width="280" align="center">
             <template slot-scope="scope">{{ scope.row.order }}</template>
           </el-table-column>
@@ -48,6 +48,22 @@
               </el-tag>
             </template>
           </el-table-column>
+          </el-table> -->
+          <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%" highlight-current-row>
+          <el-table-column label="订单号" align="center">
+            <template slot-scope="scope">{{ scope.row.order }}</template>
+          </el-table-column>
+          <el-table-column prop="id" label="学号"></el-table-column>
+          <el-table-column prop="stuName" label="姓名"></el-table-column>
+          <el-table-column prop="class" label="班级"></el-table-column>
+          <el-table-column prop="money" label="金额(元)"></el-table-column>
+          <el-table-column prop="time" label="时间" widshow-overflow-tooltip></el-table-column>
+          <el-table-column label="状态" align="center">
+            <template slot-scope="scope">
+              <el-tag :type="scope.row.state === '支付失败' ? 'danger' : 'success'" disable-transitions>{{scope.row.state}}
+              </el-tag>
+            </template>
+          </el-table-column>
         </el-table>
         <div style="margin-top: 20px" class="table-footer">
           <div class="pages">
@@ -61,7 +77,7 @@
       <el-col :span="24" class="forth-row">
         <!-- 编辑对话框 -->
         <el-dialog v-if="selectM" title="请选择月份" :visible.sync="editdialogFormVisible" width="400px" top="0vh"
-          class="my-dialog">
+          class="my-dialog" :before-close="handleClose">
           <div id="month">
             <el-date-picker v-model="monthValue" type="month" placeholder="选择月" value-format="yyyy-MM"
               @change="handleSelectMonth">
@@ -73,7 +89,7 @@
           </div>
         </el-dialog>
         <el-dialog v-if="!selectM" title="请选择日期" :visible.sync="editdialogFormVisible" width="400px" top="0vh"
-          class="my-dialog">
+          class="my-dialog"  :before-close="handleClose">
           <div id="month">
             <el-date-picker v-model="dayValue" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"
               @change="handleSelectDay">
@@ -142,10 +158,12 @@
           this.editdialogFormVisible = true
           this.selectM = true
           this.flag = 2
+          // this.$message.success("请选择月份")
         } else if (val == 'day') {
           this.editdialogFormVisible = true
           this.selectM = false
           this.flag = 3
+          // this.$message.success("请选择日期")
         } else {
           this.tableData = []
           this.all_money = 0
@@ -174,6 +192,7 @@
         this.tableData = []
         this.all_money = 0
         this.getTableData(this.$Api.orderList, this.flag, 1, '', this.monthValue)
+        this.$message.success("选择成功")
       },
       //确定选择日期
       selectDay() {
@@ -183,11 +202,19 @@
         this.tableData = []
         this.all_money = 0
         this.getTableData(this.$Api.orderList, this.flag, 1, '', this.dayValue)
+        this.$message.success("选择成功")
       },
       //退出选择
       selectLogout() {
         this.editdialogFormVisible = false
         this.formInline.value = '请重新选择'
+        this.$message.warning("请重新选择")
+      },
+      //关闭对话框
+      handleClose(){
+        this.editdialogFormVisible = false
+        this.formInline.value = '请重新选择'
+        this.$message.warning("请重新选择")
       },
       //根据关键字查找订单
       onSubmit() {

+ 7 - 1
src/components/payNameList/payNameList.css

@@ -37,6 +37,11 @@
   /* line-height: 54px; */
 }
 
+.font{
+  color: #4392F7;
+  font-size: 20px;
+}
+
 >>>#first-right {
   width: 210px;
   display: flex;
@@ -186,7 +191,8 @@
 }
 
 .pages {
-  width: 1000px;
+  /* width: 1000px; */
+  width: 56%;
   display: flex;
   justify-content: flex-end;
 }

+ 77 - 6
src/components/payNameList/payNameList.vue

@@ -7,9 +7,12 @@
           <div class="tag">缴费名单</div>
         </div>
         <div id="first-right">
-          <el-button type="primary" class="first-right-btn">表格导入</el-button>
+          <el-upload class="upload-demo" action="" accept=".xlsx" :http-request="uploadXLS" :show-file-list="false">
+            <el-button type="primary" class="first-right-btn">表格导入</el-button>
+          </el-upload>
           <div class="first-right-text">
-            <el-link>模板下载</el-link>
+            <el-link type="primary" @click="downLoadFile">模板下载</el-link>
+            <!-- <a class="font" href="../../../static/template.xlsx" target="_blank" download="缴费名单模板.xlsx">模板下载</a> -->
           </div>
         </div>
       </el-col>
@@ -30,7 +33,7 @@
     </el-row>
     <el-row>
       <el-col :span="24" class="third-row">
-        <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%" highlight-current-row>
+        <!-- <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%" highlight-current-row>
           <el-table-column label="学号" width="300" align="center">
             <template slot-scope="scope">{{ scope.row.id }}</template>
           </el-table-column>
@@ -43,6 +46,20 @@
             <el-button class="show-btn" slot-scope="scope" @click="handleEdit(scope.$index, scope.row)">详情
             </el-button>
           </el-table-column>
+          </el-table> -->
+        <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%" highlight-current-row>
+          <el-table-column label="学号" align="center">
+            <template slot-scope="scope">{{ scope.row.id }}</template>
+          </el-table-column>
+          <el-table-column prop="stuName" label="姓名"></el-table-column>
+          <el-table-column prop="institute" label="学院"></el-table-column>
+          <el-table-column prop="major" label="专业"></el-table-column>
+          <el-table-column prop="class" label="班级"></el-table-column>
+          <el-table-column prop="money" label="缴费余额(元)" widshow-overflow-tooltip></el-table-column>
+          <el-table-column label="操作" align="center">
+            <el-button class="show-btn" slot-scope="scope" @click="handleEdit(scope.$index, scope.row)">详情
+            </el-button>
+          </el-table-column>
         </el-table>
         <div style="margin-top: 20px" class="table-footer">
           <div class="pages">
@@ -80,21 +97,75 @@
         currentPage: 1, //当前页
         totalCount: 0, //名单数量总数
         selectName: '', //搜索名称
+        fileList: [], //文件路径
+        url: '',
+        headers: {},
       }
     },
     created: function() {
       this.user_info = JSON.parse(sessionStorage.getItem('usr_info'))
       this.user_token = this.user_info.token
-      // this.determineIdentify()
+      this.determineIdentify()
       this.getTableData(this.$Api.paylist)
     },
     methods: {
+      /**
+       * 导入xls文件
+       * @param {Object} param
+       */
+      uploadXLS(param) {
+        console.log(param);
+        let form = new FormData();
+        form.append('file', param.file);
+        this.$axios({
+            method: "post",
+            url: this.$Api.upLoadFile,
+            headers: {
+              'Content-type': 'multipart/form-data',
+              'admin_token': this.user_token
+            },
+            data: form
+          })
+          .then(res => {
+            this.$message.success('文件上传成功!')
+          })
+          .catch(err => {
+            this.$message.error('文件上传失败')
+          })
+      },
+      //下载模板文件
+      downLoadFile() {
+        this.$confirm('是否下载缴费名单模板?', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          window.location.href = '../../../static/缴费名单模板.xlsx'
+          this.$message({
+            type: 'success',
+            message: '下载成功!'
+          });
+        }).catch(() => {
+          this.$message({
+            type: 'info',
+            message: '取消下载'
+          });
+        });
+
+      },
       //搜索
       onSubmit() {
-        // console.log(this.selectName)
         this.tableData = []
         this.getTableData(this.$Api.paylist, 1, this.selectName)
       },
+      // //提示
+      // getMessage() {
+      //   setTimeout(this.$message({
+      //     showClose: true,
+      //     message: '登录成功',
+      //     type: 'success'
+      //   }),3000)
+      // },
       //分页
       handleCurrentChange(val) {
         this.currentPage = val;
@@ -117,7 +188,7 @@
       determineIdentify() {
         if (this.user_info == null || this.user_info.userName != 'admin' || this.user_info.password != '123456') {
           this.$router.push({
-            path: '/jiaofei/'
+            path: '/'
           })
         }
       },

+ 29 - 1
src/components/wrongOrder/wrongOrder.vue

@@ -23,7 +23,7 @@
     </el-row>
     <el-row>
       <el-col :span="24" class="third-row">
-        <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%"
+        <!-- <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%"
           @selection-change="handleSelectionChange" highlight-current-row>
           <el-table-column label="订单号" width="220" align="center">
             <template slot-scope="scope">{{ scope.row.order }}</template>
@@ -50,6 +50,34 @@
               {{scope.row.state}}
             </el-button>
           </el-table-column>
+        </el-table> -->
+        <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%"
+          @selection-change="handleSelectionChange" highlight-current-row>
+          <el-table-column label="订单号" align="center">
+            <template slot-scope="scope">{{ scope.row.order }}</template>
+          </el-table-column>
+          <el-table-column prop="id" label="学号" ></el-table-column>
+          <el-table-column prop="stuName" label="姓名"></el-table-column>
+          <el-table-column prop="class" label="班级"></el-table-column>
+          <el-table-column prop="money" label="金额(元)"></el-table-column>
+          <el-table-column prop="time" label="时间"></el-table-column>
+          <el-table-column label="学校状态" align="center">
+            <template slot-scope="scope">
+              <el-tag :type="scope.row.school_state === '支付失败' ? 'danger' : 'success'" disable-transitions>{{scope.row.school_state}}
+              </el-tag>
+            </template>
+          </el-table-column>
+          <el-table-column label="银行状态" align="center">
+            <template slot-scope="scope">
+              <el-tag :type="scope.row.bank_state === '支付失败' ? 'danger' : 'success'" disable-transitions>{{scope.row.bank_state}}
+              </el-tag>
+            </template>
+          </el-table-column>
+          <el-table-column label="操作">
+            <el-button id="show-btn" slot-scope="scope" @click="handleEdit(scope.$index, scope.row)">
+              {{scope.row.state}}
+            </el-button>
+          </el-table-column>
         </el-table>
         <div style="margin-top: 20px" class="table-footer">
           <div class="pages">

+ 4 - 2
src/interface/index.js

@@ -1,6 +1,6 @@
 // 配置主机地址和端口号(可以有多个,需要测试那个环境字节打开那个base即可)
 // let base = "https://jtishfw.ncjti.edu.cn/jiaofei/backendApi/"
- let base = "http://192.168.161.230:9998/"
+ let base = "http://192.168.161.230:9999/"
 
 
 // 在线api接口路径,需要和项目后台确认
@@ -11,6 +11,8 @@ let online_url = {
 
     //学生缴费列表
     paylist:base + "tuitionpayment/payableinfo/list",
+    //文件上传
+    upLoadFile:base + "tuitionpayment/payableinfo/importByExcel",
 
     //订单列表
     orderList: base + "tuitionpayment/payorder/list",
@@ -19,7 +21,7 @@ let online_url = {
 
     //反馈列表
     fankui: base + "tuitionpayment/feedbackmsg/list",
-    
+
     //反馈信息处理
     fankuiHandle: base + "tuitionpayment/feedbackmsg/info/"
 

BIN
static/images/diwen.png


BIN
static/images/feilvshezhi.png


BIN
static/images/susheguanli.png


BIN
static/images/yonghuguanli.png


BIN
static/images/yongshuifenxi.png


BIN
static/images/yue.png