Bläddra i källkod

页面功能修改

yanliming 1 år sedan
förälder
incheckning
87670225cf

+ 4 - 1
src/api/base/wishInfo.js

@@ -41,7 +41,10 @@ function batchRemove(idList) {
   });
 }
 
+function deleteValidate(id) {
+  return request.post(constant.serverUrl + "/base/wishInfo/deleteValidate/" + id);
+}
 
 export default {
-  pageList, create, edit, add, update, remove, batchRemove
+  pageList, create, edit, add, update, remove, batchRemove,deleteValidate
 }

+ 5 - 1
src/api/base/wishInfoUserRecord.js

@@ -33,6 +33,10 @@ function remove(id) {
   return request.post(constant.serverUrl + "/base/wishInfoUserRecord/delete/" + id);
 }
 
+function changeStatus(formData) {
+  return request.post(constant.serverUrl + "/base/wishInfoUserRecord/changeStatus", formData);
+}
+
 function batchRemove(idList) {
   return request.post(constant.serverUrl + "/base/wishInfoUserRecord/batchDelete", idList, {
     headers: {
@@ -43,5 +47,5 @@ function batchRemove(idList) {
 
 
 export default {
-  pageList, create, edit, add, update, remove, batchRemove
+  pageList, create, edit, add, update, remove, batchRemove,changeStatus
 }

+ 2 - 2
src/routers/modules/base.js

@@ -32,7 +32,7 @@ var routers = [
         component: () => import('@/views/base/wishInfoUserRecord-list.vue'),
         meta: {
                 roles: ["admin"],
-                title: '互换记录管理'
+                title: '心愿互换记录'
         }
     },
     {
@@ -44,7 +44,7 @@ var routers = [
         component: () => import('@/views/base/loveProject-list.vue'),
         meta: {
                 roles: ["admin"],
-                title: '项目互助管理'
+                title: '爱心项目管理'
         }
     },
     {

+ 1 - 1
src/views/base/feedbackMethod-list.vue

@@ -6,7 +6,7 @@
           <a href="#">基础信息管理</a>
         </el-breadcrumb-item>
         <el-breadcrumb-item>
-          <a href="/base/regUser">用户管理</a>
+          回馈方式管理
         </el-breadcrumb-item>
       </el-breadcrumb>
       <el-divider></el-divider>

+ 2 - 2
src/views/base/loveProject-detail.vue

@@ -15,7 +15,7 @@
           :rules="ruleValidate"
           :label-width="'100px'"
         >
-        <el-form-item label="内容类型" prop="type">
+        <el-form-item label="项目类型" prop="type">
           <el-select v-model="formModel.type" placeholder="请选择" style="width: 90%">
             <el-option
               v-for="item in typeList"
@@ -65,7 +65,7 @@
                   style="width: 90%"
               ></mce-editor>
           </el-form-item>
-          <el-form-item label="图片" prop="image">
+          <el-form-item label="封面" prop="image">
             <el-upload
                 style="width:300px"
                 class="avatar-uploader"

+ 3 - 3
src/views/base/loveProject-list.vue

@@ -6,7 +6,7 @@
           <a href="#">基础信息管理</a>
         </el-breadcrumb-item>
         <el-breadcrumb-item>
-          <a href="/base/wishInfo">心愿管理</a>
+          <a href="/base/loveProject-list">爱心项目管理</a>
         </el-breadcrumb-item>
       </el-breadcrumb>
       <el-divider></el-divider>
@@ -17,7 +17,7 @@
         <el-form-item label="标题" prop="title">
           <el-input type="text" size="mini" v-model="queryModel.title"></el-input>
         </el-form-item>
-        <el-form-item label="内容类型" prop="type">
+        <el-form-item label="项目类型" prop="type">
           <el-select v-model="queryModel.type" placeholder="请选择" size="mini">
             <el-option
               v-for="item in typeList"
@@ -71,7 +71,7 @@
         ></el-table-column>
         <el-table-column
           prop="typeN"
-          label="内容类型"
+          label="项目类型"
         ></el-table-column>
         <el-table-column  prop="image"  label="图片">
           <template slot-scope="{row}">

+ 4 - 21
src/views/base/regUser-list.vue

@@ -14,8 +14,8 @@
         要resetFields起作用,必须配置:model和prop
       -->
       <el-form ref="queryForm" :model="queryModel" inline class="demo-form-inline">
-        <el-form-item label="真实名称" prop="realName">
-          <el-input type="text" size="mini" v-model="queryModel.realName"></el-input>
+        <el-form-item label="手机号码" prop="phone">
+          <el-input type="text" size="mini" v-model="queryModel.phone"></el-input>
         </el-form-item>
         <el-form-item>
           <el-button
@@ -141,10 +141,7 @@
   
       return {
         queryModel: {
-          userName: "",
-          realName: "",
-          roleId:"",
-          companyId:""
+          phone: "",
         },
         loading: false,
         tableData: [],
@@ -182,21 +179,7 @@
         formData.append("pageIndex", self.pageIndex);
         formData.append("pageSize", self.pageSize);
   
-        formData.append("userName", self.queryModel.userName);
-        formData.append("realName", self.queryModel.realName);
-        formData.append("companyId", self.queryModel.companyId);
-        
-  
-  
-        formData.append("roleId", self.queryModel.roleId);
-  
-        if (this.field != null) {
-          formData.append("field", this.field);
-        }
-  
-        if (this.direction != null) {
-          formData.append("direction", this.direction);
-        }
+        formData.append("phone", self.queryModel.phone);
   
         self.loading = true;
   

+ 2 - 2
src/views/base/wishInfo-detail.vue

@@ -50,7 +50,7 @@
                     :min="1"
                   ></el-input-number>
                 </el-form-item>
-                <el-form-item label="片" prop="image">
+                <el-form-item label="作品照片" prop="image">
                   <el-upload
                       style="width:300px"
                       class="avatar-uploader"
@@ -80,7 +80,7 @@
         </el-col>
         <el-col :span="10">
           <div class="grid-content bg-purple">
-            <el-card class="box-card" style="height:943px">
+            <el-card class="box-card" style="height:956px">
               <div slot="header" class="clearfix">
                 <span>学生心愿</span>
               </div>

+ 32 - 19
src/views/base/wishInfo-list.vue

@@ -46,14 +46,14 @@
       <el-divider></el-divider>
       <el-row class="button-group">
         <el-button type="primary" size="small" plain icon="el-icon-circle-plus" @click="handleAdd">新增</el-button>
-        <el-button
+        <!-- <el-button
           type="primary"
           size="small"
           plain
           icon="el-icon-remove"
           :disabled="multipleSelection.length==0"
           @click="handleBatchDelete"
-        >删除选中项</el-button>
+        >删除选中项</el-button> -->
       </el-row>
       <el-table
         :data="tableData"
@@ -73,7 +73,7 @@
           label="作品名"
           width="180"
         ></el-table-column>
-        <el-table-column  prop="image"  label="片">
+        <el-table-column  prop="image"  label="作品照片">
           <template slot-scope="{row}">
             <el-image
             style="width: 50px; height: 50px"
@@ -259,27 +259,40 @@
       },
       handleDelete(record) {
         var self = this;
+
+        wishInfoApi.deleteValidate(record.id).then(function(response1) {
+            var jsonData1 = response1.data;
   
-        this.$confirm("是否确认删除?", "提示", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(() => {
-            wishInfoApi.remove(record.id).then(function(response) {
-            var jsonData = response.data;
-  
-            if (jsonData.result) {
-              // var index = self.tableData.indexOf(record);
-              // self.tableData.splice(index, 1);
-              self.changePage(self.pageIndex);
-  
+            if (jsonData1.result) {
               self.$message({
-                type: "success",
-                message: "删除成功!"
+                type: "error",
+                message: "已经存在互换记录,该心愿不能删除!"
+              });
+            }
+            else{
+              self.$confirm("是否确认删除?", "提示", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning"
+              }).then(() => {
+                  wishInfoApi.remove(record.id).then(function(response) {
+                  var jsonData = response.data;
+        
+                  if (jsonData.result) {
+                    // var index = self.tableData.indexOf(record);
+                    // self.tableData.splice(index, 1);
+                    self.changePage(self.pageIndex);
+        
+                    self.$message({
+                      type: "success",
+                      message: "删除成功!"
+                    });
+                  }
+                });
               });
             }
-          });
         });
+
       },
       handleBatchDelete() {
         var self = this;

+ 69 - 92
src/views/base/wishInfoUserRecord-detail.vue

@@ -10,100 +10,74 @@
       width="1000px"
     >
       <div class="user-panel" v-loading="loading">
-        <el-descriptions class="margin-top" :column="3"  border>
-            <el-descriptions-item>
-            <template slot="label">
-                流水号
-            </template>
-            {{formModel.wishInfoUserRecord.num}}
-            </el-descriptions-item>
-            <el-descriptions-item>
-            <template slot="label">
-                爱心人士
-            </template>
-            {{formModel.wishInfoUserRecord.regUserName}}
-            </el-descriptions-item>
-            <el-descriptions-item>
-            <template slot="label">
-                是否现场互换心愿
-            </template>
-            <span v-if="formModel.wishInfoUserRecord.isSpot">是</span>
-            <span v-else>否</span>
-            </el-descriptions-item>
-            <el-descriptions-item>
-            <template slot="label">
+        <el-card class="box-card">
+          <div slot="header" class="clearfix">
+            <span>作品信息</span>
+          </div>
+          <div class="text item">
+            <el-row>
+              <el-col :span="6" >
+                <div class="grid-content bg-purple-light">
+                  <el-descriptions>
+                    <el-descriptions-item label="心愿图片">
+                      <el-link :href="formModel.wishInfo.image" target="blank_"  :underline="false">
+                          <el-image
+                              style="width: 100px; height: 100px"
+                              :src="formModel.wishInfo.image">
+                          </el-image>
+                      </el-link>
+                    </el-descriptions-item>
+                  </el-descriptions>
+                </div>
+              </el-col>
+              <el-col :span="18">
+                <div class="grid-content bg-purple-light">
+                  <el-descriptions >
+                      <el-descriptions-item label="作品名称">{{formModel.wishInfo.title}}</el-descriptions-item>
+                      <el-descriptions-item label="学生姓名">{{formModel.wishInfo.studentName}}</el-descriptions-item>
+                      <el-descriptions-item label="学生心愿">{{formModel.wishInfo.aspirationsName}}</el-descriptions-item>
+                  </el-descriptions>
+                </div>
+              </el-col>
+            </el-row>
+          </div>
+        </el-card>
 
-                学生心愿
-            </template>
-            篮球
-            </el-descriptions-item>
-            <el-descriptions-item span="2">
-            <template slot="label">
-                作品图片
-            </template>
-            <el-link :href="formModel.wishInfo.image" target="blank_"  :underline="false">
-                <el-image
-                    style="width: 100px; height: 100px"
-                    :src="formModel.wishInfo.image">
-                </el-image>
-            </el-link>
-            </el-descriptions-item>
-            <el-descriptions-item>
-            <template slot="label">
-                学生姓名
-            </template>
-            {{formModel.wishInfo.studentName}}
-            </el-descriptions-item>
-            <el-descriptions-item>
-            <template slot="label">
-                学生类型
-            </template>
-            {{formModel.wishInfo.studentType}}
-            </el-descriptions-item>
-            <el-descriptions-item>
-            <template slot="label">
-                互换状态
-            </template>
-            {{formModel.wishInfoUserRecord.statusN}}
-            </el-descriptions-item>
-            <el-descriptions-item>
-            <template slot="label">
-                收件人
-            </template>
-            {{formModel.wishInfoUserRecord.recipients}}
-            </el-descriptions-item>
-            <el-descriptions-item span="2">
-            <template slot="label">
-                收件人电话
-            </template>
-            {{formModel.wishInfoUserRecord.recipientsPhone}}
-            </el-descriptions-item>
-            <el-descriptions-item span="3">
-            <template slot="label">
-                收件人地址
-            </template>
-            {{formModel.wishInfoUserRecord.recipientsAddress}}
-            </el-descriptions-item>
+        <el-card class="box-card2">
+          <div slot="header" class="clearfix">
+            <span>爱心人士信息</span>
+          </div>
+          <div class="text item">
+            <el-descriptions>
+              <el-descriptions-item label="爱心人士">{{formModel.wishInfoUserRecord.regUserName}}</el-descriptions-item>
+              <el-descriptions-item label="手机号">18100000000</el-descriptions-item>
+              <el-descriptions-item label="居住地">苏州市</el-descriptions-item>
+              <el-descriptions-item label="是否现场互换心愿">
+                <span v-if="formModel.wishInfoUserRecord.isSpot">是</span>
+                <span v-else>否</span>
+              </el-descriptions-item>
+            </el-descriptions>
+          </div>
+        </el-card>
 
-            <el-descriptions-item>
-            <template slot="label">
-                寄件人
-            </template>
-            {{formModel.wishInfoUserRecord.sender}}
-            </el-descriptions-item>
-            <el-descriptions-item span="2">
-            <template slot="label">
-                寄件人电话
-            </template>
-            {{formModel.wishInfoUserRecord.senderPhone}}
-            </el-descriptions-item>
-            <el-descriptions-item>
-            <template slot="label">
-                寄件人地址
-            </template>
-            {{formModel.wishInfoUserRecord.senderAddress}}
-            </el-descriptions-item>
-        </el-descriptions>
+        <el-card class="box-card2">
+          <div slot="header" class="clearfix">
+            <span>校方信息</span>
+          </div>
+          <div class="text item">
+            <el-descriptions>
+              <el-descriptions-item label="收件人">{{formModel.wishInfoUserRecord.recipients}}</el-descriptions-item>
+              <el-descriptions-item label="收件人电话">{{formModel.wishInfoUserRecord.recipientsPhone}}</el-descriptions-item>
+              <el-descriptions-item label="收件人地址">{{formModel.wishInfoUserRecord.recipientsAddress}}</el-descriptions-item>
+
+              <el-descriptions-item label="寄件人">{{formModel.wishInfoUserRecord.sender}}</el-descriptions-item>
+              <el-descriptions-item label="寄件人电话">{{formModel.wishInfoUserRecord.senderPhone}}</el-descriptions-item>
+              <el-descriptions-item label="寄件人地址">{{formModel.wishInfoUserRecord.senderAddress}}</el-descriptions-item>
+              <el-descriptions-item label="流水号">{{formModel.wishInfoUserRecord.num}}</el-descriptions-item>
+              <el-descriptions-item label="互换状态">{{formModel.wishInfoUserRecord.statusN}}</el-descriptions-item>
+            </el-descriptions>
+          </div>
+        </el-card>
       </div>
       <span slot="footer" class="dialog-footer">
         <el-button @click="closeDialog">取 消</el-button>
@@ -287,4 +261,7 @@
       height: 178px;
       display: block;
     }
+    .box-card2{
+      margin-top:10px
+    }
   </style>

+ 111 - 22
src/views/base/wishInfoUserRecord-list.vue

@@ -6,7 +6,7 @@
           <a href="#">基础信息管理</a>
         </el-breadcrumb-item>
         <el-breadcrumb-item>
-          <a href="/base/wishInfo">心愿管理</a>
+          <a href="/base/wishInfo">心愿互换记录</a>
         </el-breadcrumb-item>
       </el-breadcrumb>
       <el-divider></el-divider>
@@ -14,8 +14,24 @@
         要resetFields起作用,必须配置:model和prop
       -->
       <el-form ref="queryForm" :model="queryModel" inline class="demo-form-inline">
-        <el-form-item label="标题" prop="title">
-          <el-input type="text" size="mini" v-model="queryModel.title"></el-input>
+        <el-form-item label="流水号" prop="num">
+          <el-input type="text" size="mini" v-model="queryModel.num"></el-input>
+        </el-form-item>
+        <el-form-item label="作品" prop="wishInfoTitle">
+          <el-input type="text" size="mini" v-model="queryModel.wishInfoTitle"></el-input>
+        </el-form-item>
+        <el-form-item label="作品类别" prop="category">
+          <el-select v-model="queryModel.category" placeholder="请选择" size="mini">
+              <el-option
+              v-for="item in categoryList"
+              :key="item.value"
+              :label="item.name"
+              :value="item.value">
+              </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="爱心人士电话" prop="phone">
+          <el-input type="text" size="mini" v-model="queryModel.phone"></el-input>
         </el-form-item>
         <el-form-item>
           <el-button
@@ -56,18 +72,28 @@
         <el-table-column
           prop="num"
           label="流水号"
+          width="150"
+        ></el-table-column>
+        <el-table-column
+          prop="categoryN"
+          label="作品类别"
+        ></el-table-column>
+        <el-table-column
+          prop="wishInfoTitle"
+          label="作品名"
         ></el-table-column>
         <el-table-column
           prop="regUserName"
           label="爱心人士"
         ></el-table-column>
         <el-table-column
-          prop="studentName"
-          label="学生姓名"
+          prop="regUserPhone"
+          label="爱心人士电话"
+          width="150"
         ></el-table-column>
         <el-table-column
-          prop="studentType"
-          label="学生类型"
+          prop="studentName"
+          label="学生姓名"
         ></el-table-column>
         <el-table-column  prop="isSpot"  label="是否现场互换心愿">
             <template slot-scope="{row}">
@@ -75,23 +101,31 @@
                 <span v-else>否</span>
           </template>
         </el-table-column>
-        <el-table-column  prop="status"  label="互换状态">
-            <template slot-scope="{row}">
-                <span v-if="row.status=='0'">互换中</span>
-                <span v-else-if="row.status=='1'" style="color:#67C23A">已完成</span>
-          </template>
-        </el-table-column>
         <el-table-column
           prop="deliveryTime"
           label="发货时间"
-          width="130"
+          width="150"
         ></el-table-column>
         <el-table-column
           prop="completionTime"
           label="完成时间"
-          width="130"
+          width="150"
         ></el-table-column>
-        <el-table-column label="操作">
+        <el-table-column  prop="status"  label="互换状态" width="120">
+            <template slot-scope="{row}">
+                <!-- <span v-if="row.status=='0'">互换中</span>
+                <span v-else-if="row.status=='1'" style="color:#67C23A">已完成</span> -->
+                <el-select v-model="row.status" placeholder="请选择" size="mini" @change="handleChange(row.id,$event)">
+                    <el-option
+                    v-for="item in statusList"
+                    :key="item.value"
+                    :label="item.name"
+                    :value="item.value">
+                    </el-option>
+                </el-select>
+            </template>
+        </el-table-column>
+        <el-table-column label="操作" width="200" fixed="right">
           <template slot-scope="{row}">
             <el-button size="mini" type="warning" @click="handleEdit(row)">详情</el-button>
             <el-button size="mini" type="danger" @click="handleDelete(row)">删除</el-button>
@@ -119,6 +153,7 @@
   import Constant from "@/constant";
   import wishInfoUserRecordDetail from "./wishInfoUserRecord-detail";
   import wishInfoUserRecordApi from "@/api/base/wishInfoUserRecord";
+  import dataDictionaryApi from "@/api/sys/dataDictionary";
   
   export default {
     name: 'regUserList',
@@ -127,7 +162,10 @@
   
       return {
         queryModel: {
-          title: "",
+          wishInfoTitle: "",
+          num:"",
+          phone:"",
+          category:"",
         },
         loading: false,
         tableData: [],
@@ -143,8 +181,17 @@
         businessKey: "",
         showModal: false,
         dialogFormVisible:false,
-        newPassword:"",
-        roleResult:[],
+        categoryList:[],
+        statusList:[
+          {
+            "name":"互换中",
+            "value":"0",
+          },
+          {
+            "name":"已完成",
+            "value":"1",
+          }
+        ],
         props: {
           // 配置项(必选)
           value: "id",
@@ -153,6 +200,13 @@
         },
       };
     },
+    created() {
+    dataDictionaryApi.findByCatalogName({catalogName: "心愿类型",})
+      .then((response) => {
+          var jsonData = response.data;
+          this.categoryList = jsonData.data;
+    });
+  },
     methods: {
       changePage(pageIndex) {
         var self = this;
@@ -164,7 +218,11 @@
   
         formData.append("pageIndex", self.pageIndex);
         formData.append("pageSize", self.pageSize);
-        formData.append("title", self.queryModel.title);
+        formData.append("wishInfoTitle", self.queryModel.wishInfoTitle);
+
+        formData.append("phone", self.queryModel.phone);
+        formData.append("num", self.queryModel.num);
+        formData.append("category", self.queryModel.category);
   
         self.loading = true;
   
@@ -215,14 +273,14 @@
       handleEdit(record) {
         var self = this;
         
-        self.modalTitle = "编辑";
+        self.modalTitle = "详情";
         self.businessKey = record.id;
         self.showModal = true;
       },
       handleDelete(record) {
         var self = this;
   
-        this.$confirm("是否确认删除" + record.userName + "?", "提示", {
+        this.$confirm("是否确认删除?", "提示", {
           confirmButtonText: "确定",
           cancelButtonText: "取消",
           type: "warning"
@@ -269,6 +327,37 @@
           });
         });
       },
+      handleChange(id,val){
+        var self = this;
+        var formData = new FormData();
+  
+        formData.append("id", id);
+        formData.append("status", val);
+
+        self.loading = true;
+
+        wishInfoUserRecordApi.changeStatus(formData).then(function(response) {
+          self.loading = false;
+
+          var jsonData = response.data;
+
+          if(jsonData.result){
+            self.changePage(self.pageIndex);
+            self.$message({
+                type: "success",
+                message: "修改成功!"
+            });
+          }
+          else {
+            self.$message({
+                message: jsonData.message + "",
+                type: "warning"
+            });
+          }
+        }).catch((error)=>{
+          self.loading = false;
+        });
+      },
       onDetailModalClose(refreshed) {
       this.showModal = false;