Ver Fonte

页面接口修改

yanliming há 4 semanas atrás
pai
commit
f21a2ac7be

+ 6 - 1
src/api/base/customerInfo.js

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

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

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

+ 6 - 6
src/views/base/customerInfo-detail.vue

@@ -32,6 +32,9 @@
           <el-form-item label="所在地区" prop="region">
             <el-input v-model="formModel.region" placeholder="请输入所在地区" style="width: 300px"></el-input>
           </el-form-item>
+          <el-form-item label="统一信用代码" prop="businessCode">
+            <el-input v-model="formModel.businessCode" placeholder="请输入统一社会信用代码" style="width: 300px"></el-input>
+          </el-form-item>
           <el-form-item label="头像" prop="image">
               <el-upload
                   style="width:300px"
@@ -68,17 +71,14 @@
       return {
           showPwd: true,
           ruleValidate: {
-              userName: [
-              { required: true, message: "用户名不能为空", trigger: "blur" },
-              ],
               realName: [
-              { required: true, message: "真实名称不能为空", trigger: "blur" },
+              { required: true, message: "管理员姓名不能为空", trigger: "blur" },
               ],
               phone: [
               { required: true, message: "联系电话不能为空", trigger: "blur" },
               ],
-              idCard: [
-              { required: true, message: "身份证号不能为空", trigger: "blur" },
+              companyName: [
+              { required: true, message: "企业名称不能为空", trigger: "blur" },
               ],
               age: [
               { required: true, message: "年龄不能为空", trigger: "blur" },

+ 27 - 3
src/views/base/customerInfo-list.vue

@@ -17,9 +17,6 @@
         <el-form-item label="联系电话" prop="phone">
           <el-input type="text" size="mini" v-model="queryModel.phone"></el-input>
         </el-form-item>
-        <el-form-item label="身份证号" prop="idCard">
-          <el-input type="text" size="mini" v-model="queryModel.idCard"></el-input>
-        </el-form-item>
         <el-form-item>
           <el-button
             type="primary"
@@ -66,6 +63,7 @@
         <el-table-column  prop="phone"  label="联系电话"></el-table-column>
         <el-table-column  prop="idCard"  label="身份证号" width="180"></el-table-column>
         <el-table-column  prop="region"  label="所在地区" width="180"></el-table-column>
+        <el-table-column  prop="businessCode"  label="统一社会信用代码" width="180"></el-table-column>
         <el-table-column  prop="status"  label="审核状态" >
           <template slot-scope="{row}">
             <span v-if="row.status=='0'">未审核</span>
@@ -75,6 +73,7 @@
         <el-table-column label="操作">
           <template slot-scope="{row}" >
             <el-link type="primary" @click="handleEdit(row)">编辑-</el-link>
+            <el-link v-if="row.status=='0'" type="success" @click="handleChecked(row)">审核-</el-link>
             <el-link type="danger" @click="handleDelete(row)">删除</el-link>
           </template>
         </el-table-column>
@@ -257,6 +256,31 @@
           });
         });
       },
+      handleChecked(record) {
+        var self = this;
+  
+        this.$confirm("是否确认审核?", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(() => {
+            customerInfoApi.checked(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;
   

+ 246 - 0
src/views/base/technicianInfo-detail.vue

@@ -0,0 +1,246 @@
+
+<template>
+    <el-dialog
+      :visible.sync="showDialog"
+      :title="title"
+      :modal-append-to-body="false"
+      style="text-align: left;"
+      @close="closeDialog"
+      :close-on-click-modal="false"
+      width="900px"
+    >
+      <div class="user-panel" v-loading="loading">
+        <el-form
+          ref="form"
+          :model="formModel"
+          :rules="ruleValidate"
+          :label-width="'100px'"
+          :inline="true"
+        >
+          <el-form-item label="师傅姓名" prop="realName">
+            <el-input v-model="formModel.realName" placeholder="请输入真实姓名" style="width: 300px"></el-input>
+          </el-form-item>
+          <el-form-item label="师傅电话" prop="phone">
+            <el-input v-model="formModel.phone" placeholder="请输入联系电话" style="width: 300px"></el-input>
+          </el-form-item>
+          <el-form-item label="身份证号" prop="idCard">
+            <el-input v-model="formModel.idCard" placeholder="请输入身份证号" style="width: 300px"></el-input>
+          </el-form-item>
+          <el-form-item label="所在地区" prop="region">
+            <el-input v-model="formModel.region" placeholder="请输入所在地区" style="width: 300px"></el-input>
+          </el-form-item>
+          <el-form-item label="性别" prop="gender">
+            <el-input v-model="formModel.gender" placeholder="请输入性别" style="width: 300px"></el-input>
+          </el-form-item>
+          <el-form-item label="简介" prop="introduction">
+            <el-input v-model="formModel.introduction" placeholder="请输入简介" style="width: 300px"></el-input>
+          </el-form-item>
+          <el-form-item label="服务信息" prop="serviceInfo">
+            <el-input v-model="formModel.serviceInfo" placeholder="请输入服务信息" style="width: 300px"></el-input>
+          </el-form-item>
+          <el-form-item label="业务范围" prop="businessScope">
+            <el-input v-model="formModel.businessScope" placeholder="请输入业务范围" style="width: 300px"></el-input>
+          </el-form-item>
+          <el-form-item label="推广码" prop="promoCode">
+            <el-input v-model="formModel.promoCode" placeholder="请输入推广码" style="width: 300px"></el-input>
+          </el-form-item>
+          <el-form-item label="状态" prop="status">
+            <el-input v-model="formModel.status" placeholder="请输入状态" style="width: 300px"></el-input>
+          </el-form-item>
+          <el-form-item label="会员等级" prop="level">
+            <el-input v-model="formModel.level" placeholder="请输入会员等级" style="width: 300px"></el-input>
+          </el-form-item>
+          <el-form-item label="保证金" prop="businessCode">
+            <el-input v-model="formModel.businessCode" placeholder="请输入统一社会信用代码" style="width: 300px"></el-input>
+          </el-form-item>
+          <el-form-item label="头像" prop="image">
+              <el-upload
+                  style="width:300px"
+                  class="avatar-uploader"
+                  name="photoFile"
+                  :action="uploadUrl"
+                  :headers="headers"
+                  :data="uploadData"
+                  :show-file-list="false"
+                  :on-success="handleAvatarSuccess"
+                  :before-upload="beforeAvatarUpload">
+                  <img v-if="fileUrl" :src="fileUrl" class="avatar">
+                  <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+              </el-upload>
+          </el-form-item>
+        </el-form>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="closeDialog">取 消</el-button>
+        <el-button type="primary" @click="handleSubmit" :loading="submitting"
+          >确 定</el-button
+        >
+      </span>
+    </el-dialog>
+  </template>
+  <script>
+  import Constant from "@/constant";
+  import { getToken } from "@/utils/auth"; // get token from cookie
+  import technicianInfoApi from "@/api/base/technicianInfo";
+  
+  export default {
+    props: ["businessKey", "title"],
+    data() {
+      return {
+          showPwd: true,
+          ruleValidate: {
+              realName: [
+              { required: true, message: "管理员姓名不能为空", trigger: "blur" },
+              ],
+              phone: [
+              { required: true, message: "联系电话不能为空", trigger: "blur" },
+              ],
+              companyName: [
+              { required: true, message: "企业名称不能为空", trigger: "blur" },
+              ],
+              age: [
+              { required: true, message: "年龄不能为空", trigger: "blur" },
+              ],
+              gender: [
+              { required: true, message: "性别不能为空", trigger: "blur" },
+              ],
+          },
+          roleList: [],
+          formModel: {},
+          showDialog: true,
+          loading: false,
+          submitting: false,
+          enterpriseList:[],
+          //上传地址
+          uploadUrl: Constant.serverUrl + "/uploadPicture",
+          uploadData: {
+              subFolder: "water-tank",
+          },
+          fileUrl: "",
+          headers: {
+              Authorization: getToken(),
+          },
+      };
+    },
+    created() {
+    },
+    methods: {
+      closeDialog() {
+        this.$emit("close", false);
+      },
+      handleSubmit() {
+        var self = this;
+  
+        this.$refs["form"].validate((valid) => {
+          if (valid) {
+            (function () {
+              var id = self.formModel.id;
+  
+              if (id == null || id.length == 0) {
+                return technicianInfoApi.add(self.formModel);
+              } else {
+                return technicianInfoApi.update(self.formModel);
+              }
+            })().then(function (response) {
+              var jsonData = response.data;
+  
+              if (jsonData.result) {
+                self.$message({
+                  message: "保存成功!",
+                  type: "success",
+                });
+  
+                self.$emit("close", true);
+              } else {
+                self.$message({
+                  message: jsonData.message + "",
+                  type: "warning",
+                });
+  
+                self.$emit("close", false);
+              }
+            });
+          }
+        });
+      },
+      handleAvatarSuccess(res, file) {
+          var self = this;
+          self.formModel.image = res.data;
+  
+          self.fileUrl =
+            res.data + "?x-oss-process=image/resize,m_lfit,h_300,w_300";
+      },
+      beforeAvatarUpload(file) {
+          const isLt2M = file.size / 1024 / 1024 < 2;
+          if (!isLt2M) {
+              this.$message.error('上传头像图片大小不能超过 2MB!');
+          }
+          return isLt2M;
+      }
+    },
+    async mounted() {
+      var self = this;
+      self.loading = true;
+  
+      (function () {
+        if (self.businessKey != null && self.businessKey.length > 0) {
+          return technicianInfoApi.edit(self.businessKey);
+        } else {
+          return technicianInfoApi.create();
+        }
+      })()
+        .then((response) => {
+          var jsonData = response.data;
+  
+          if (jsonData.result) {
+              self.formModel = jsonData.data;
+  
+              let image = self.formModel.image;
+              if (image != null) {
+                  self.fileUrl = image 
+              }
+  
+              self.showModal = true;
+          } else {
+            self.$message.error(jsonData.message + "");
+          }
+  
+          self.loading = false;
+        })
+        .catch((error) => {
+          self.$message.error(error + "");
+          self.loading = false;
+        });
+    },
+    components: {
+    },
+  };
+  </script>
+  <style scoped>
+  .user-panel {
+    margin: 10px auto;
+  }
+  .avatar-uploader .el-upload {
+      border: 1px dashed #d9d9d9;
+      border-radius: 6px;
+      cursor: pointer;
+      position: relative;
+      overflow: hidden;
+    }
+    .avatar-uploader .el-upload:hover {
+      border-color: #409EFF;
+    }
+    .avatar-uploader-icon {
+      font-size: 28px;
+      color: #8c939d;
+      width: 178px;
+      height: 178px;
+      line-height: 178px;
+      text-align: center;
+    }
+    .avatar {
+      width: 178px;
+      height: 178px;
+      display: block;
+    }
+  </style>

+ 6 - 20
src/views/base/technicianInfo-list.vue

@@ -50,20 +50,6 @@
           :disabled="multipleSelection.length==0"
           @click="handleBatchDelete"
         >删除选中项</el-button>
-        <el-button
-          type="primary"
-          size="small"
-          plain
-          icon="el-icon-upload"
-          @click="batchImportVisible = true"
-        >导入</el-button>
-        <el-button
-          type="primary"
-          size="small"
-          plain
-          icon="el-icon-upload2"
-          @click="exportXls"
-        >导出数据</el-button>
       </el-row>
       <el-table
         :data="tableData"
@@ -75,7 +61,7 @@
       >
         <el-table-column type="selection" width="55"></el-table-column>
         <el-table-column  prop="realName"  label="姓名"></el-table-column>
-        <el-table-column  prop="phone"  label="联系电话"></el-table-column>
+        <el-table-column  prop="phone"  label="联系电话" width="150"></el-table-column>
         <el-table-column  prop="idCard"  label="身份证号" width="180"></el-table-column>
         <el-table-column  prop="gender"  label="性别">
             <template slot-scope="{row}">
@@ -85,18 +71,18 @@
         </el-table-column>
         <el-table-column  prop="age"  label="年龄"></el-table-column>
         <el-table-column  prop="region"  label="所在地区" width="180"></el-table-column>
-        <el-table-column  prop="applicationCheckTime"  label="申请认证时间" width="180"></el-table-column>
-        <el-table-column  prop="checkTime"  label="认证时间" width="180"></el-table-column>
+        <el-table-column  prop="applicationCheckTime"  label="申请认证时间" width="150"></el-table-column>
+        <el-table-column  prop="checkTime"  label="认证时间" width="150"></el-table-column>
         <el-table-column  prop="status"  label="认证状态">
             <template slot-scope="{row}">
                 <span v-if="row.status=='0'" style="color: #F56C6C;">未认证</span>
                 <span v-else-if="row.status=='1'" style="color: #67C23A;">已认证</span>
           </template>
         </el-table-column>
-        <el-table-column label="操作">
+        <el-table-column label="操作" width="180">
           <template slot-scope="{row}" >
-            <el-link type="primary" @click="handleEdit(row)">编辑--</el-link>
-            <el-link type="success" v-if="row.status==0&&row.idCard!=null" @click="handleCheck(row)">认证--</el-link>
+            <el-link type="primary" @click="handleEdit(row)">编辑-</el-link>
+            <el-link type="success" v-if="row.status==0&&row.idCard!=null" @click="handleCheck(row)">认证-</el-link>
             <el-link type="danger" @click="handleDelete(row)">删除</el-link>
           </template>
         </el-table-column>

+ 44 - 5
src/views/base/workOrder-list.vue

@@ -60,22 +60,35 @@
         @selection-change="handleSelectionChange"
       >
         <el-table-column type="selection" width="55"></el-table-column>
-        <el-table-column  prop="number"  label="工单号"></el-table-column>
+        <el-table-column  prop="number"  label="工单号" width="120"></el-table-column>
         <el-table-column  prop="title"  label="标题" width="180"></el-table-column>
         <el-table-column  prop="address"  label="地址" width="180"></el-table-column>
         <el-table-column  prop="date"  label="日期" width="150"></el-table-column>
         <el-table-column  prop="location"  label="所在地区" width="180"></el-table-column>
         <el-table-column  prop="price"  label="报价"></el-table-column>
-        <el-table-column  prop="companyName"  label="发起客户" width="180"></el-table-column>
+        <el-table-column  prop="companyName"  label="发起客户"></el-table-column>
         <el-table-column  prop="status"  label="工单状态">
             <template slot-scope="{row}">
-                <span v-if="row.status=='1'" style="color: #F56C6C;">未接单</span>
-                <span v-else-if="row.status=='2'" style="color: #67C23A;" >已接单</span>
+                <span v-if="row.status=='0'">未确认</span>
+                <span v-else-if="row.status=='1'">待接单</span>
+                <span v-else-if="row.status=='2'">施工中</span>
+                <span v-else-if="row.status=='3'">待验收</span>
+                <span v-else-if="row.status=='4'">完结待结算</span>
+                <span v-else-if="row.status=='5'">质保中</span>
+                <span v-else-if="row.status=='6'">已出保</span>
+                <span v-else-if="row.status=='7'">已取消</span>
           </template>
         </el-table-column>
-        <el-table-column label="操作">
+        <el-table-column  prop="payStatus"  label="支付状态">
+            <template slot-scope="{row}">
+                <span v-if="row.payStatus=='0'">未支付</span>
+                <span v-else-if="row.payStatus=='1'">已支付</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="操作" width="150">
           <template slot-scope="{row}" >
             <el-link type="primary" @click="handleEdit(row)">查看-</el-link>
+            <el-link v-if="row.status=='0'" type="success" @click="handleConfirm(row)">确认-</el-link>
             <el-link type="danger" @click="handleDelete(row)">删除</el-link>
           </template>
         </el-table-column>
@@ -208,6 +221,8 @@
                     self.tableData = page.data;
                     self.totalPages = page.totalPages;
                     self.totalElements = page.recordsTotal;
+
+                    //alert(JSON.stringify(page))
                 }
             }
             else{
@@ -270,6 +285,30 @@
           });
         });
       },
+      handleConfirm(record) {
+        var self = this;
+  
+        this.$confirm("是否确认?", "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(() => {
+            workOrderApi.confirm(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;