wangxiaoqian %!s(int64=2) %!d(string=hai) anos
pai
achega
c74191e251

+ 2 - 1
.env.production

@@ -5,4 +5,5 @@ VUE_APP_TITLE = 夜来香后台管理系统
 ENV = 'production'
 
 # 若依管理系统/生产环境
-VUE_APP_BASE_API = '/prod-api'
+# VUE_APP_BASE_API = '/prod-api'
+VUE_APP_BASE_API = 'https://test.baoxianzhanggui.com/nightFragrance'

+ 45 - 0
src/api/system/alarm.js

@@ -0,0 +1,45 @@
+import request from '@/utils/request'
+
+// 查询报警记录列表
+export function listAlarm(query) {
+  return request({
+    url: '/ylxAlarm/getAlarmList',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询报警记录详细
+export function getAlarm(id) {
+  return request({
+    url: '/system/alarm/' + id,
+    method: 'get'
+  })
+}
+
+// 新增报警记录
+export function addAlarm(data) {
+  return request({
+    url: '/system/alarm',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改报警记录
+export function updateAlarm(data) {
+  return request({
+    url: '/ylxAlarm/handleAlarm',
+    method: 'post',
+    data: data
+  })
+}
+
+// 删除报警记录
+export function delAlarm(data) {
+  return request({
+    url: '/ylxAlarm/deleteAlarm',
+    method: 'post',
+    data:data
+  })
+}

+ 16 - 0
src/api/system/js.js

@@ -43,4 +43,20 @@ export function delJs(data) {
     method: 'post',
     data:data
   })
+}
+// 审核
+export function auditJs(data) {
+  return request({
+    url: '/api/js/v1/auditing',
+    method: 'post',
+    data:data
+  })
+}
+// 退回
+export function repulseJs(data) {
+  return request({
+    url: '/api/js/v1/repulse',
+    method: 'post',
+    data:data
+  })
 }

+ 1 - 1
src/api/system/order.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询订单列表
 export function listOrder(data) {
   return request({
-    url: '/api/order/v1/select',
+    url: '/api/order/v1/wx/getOrder',
     method: 'get',
     params: data
   })

+ 8 - 0
src/api/system/record.js

@@ -42,3 +42,11 @@ export function delRecord(cId) {
     method: 'delete'
   })
 }
+// 审核
+export function auditRecord(data) {
+  return request({
+    url: '/api/tx/record/wx/auditing', 
+    method: 'post',
+    data: data
+  })
+}

+ 44 - 0
src/api/system/wxuser.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询微信用户列表
+export function listUser(query) {
+  return request({
+    url: '/wx/pc/getUserList',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询微信用户详细
+export function getUser(id) {
+  return request({
+    url: '/system/user/' + id,
+    method: 'get'
+  })
+}
+
+// 新增微信用户
+export function addUser(data) {
+  return request({
+    url: '/system/user',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改微信用户
+export function updateUser(data) {
+  return request({
+    url: '/system/user',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除微信用户
+export function delUser(id) {
+  return request({
+    url: '/system/user/' + id,
+    method: 'delete'
+  })
+}

+ 31 - 1
src/router/index.js

@@ -178,6 +178,36 @@ export const constantRoutes = [
       }
     ]
   },
+  // 微信用户信息
+  {
+    path: '/WxUser',
+    component: Layout,
+    hidden: true,
+    redirect: 'noredirect',
+    children: [
+      {
+        path: '',
+        component: () => import('@/views/WxUser/index'),
+        name: 'WxUser',
+        meta: { title: '微信用户管理' }
+      }
+    ]
+  },
+  // 报警工单
+  {
+    path: '/alarmWorksheet',
+    component: Layout,
+    hidden: true,
+    redirect: 'noredirect',
+    children: [
+      {
+        path: '',
+        component: () => import('@/views/alarmWorksheet/index'),
+        name: 'AlarmWorksheet',
+        meta: { title: '报警工单' }
+      }
+    ]
+  },
 ]
 
 // 动态路由,基于用户权限动态去加载
@@ -267,7 +297,7 @@ Router.prototype.replace = function push(location) {
 }
 
 export default new Router({
-  mode: 'history', // 去掉url中的#
+  mode: 'hash', // 去掉url中的#
   scrollBehavior: () => ({ y: 0 }),
   routes: constantRoutes
 })

+ 6 - 2
src/views/carousel/index.vue

@@ -73,8 +73,12 @@
         <el-table-column type="selection" width="55" align="center" />
         <el-table-column label="序号" align="center" prop="cSort" />
         <!-- <el-table-column label="主键" align="center" prop="cId" /> -->
-        <el-table-column label="图片地址" align="center" prop="cImgUrl" />
-
+        <!-- <el-table-column label="图片地址" align="center" prop="cImgUrl" /> -->
+        <el-table-column label="图片" align="center" prop="cImgUrl" width="100">
+          <template slot-scope="scope">
+            <image-preview :src="scope.row.cImgUrl" :width="50" :height="50"/>
+          </template>
+        </el-table-column>
         <!-- <el-table-column label="是否删除0否1是" align="center" prop="nDel" /> -->
         <el-table-column label="描述" align="center" prop="cDescribe" />
         <!-- <el-table-column label="文本内容" align="center" prop="cContent" /> -->

+ 1 - 0
src/views/login.vue

@@ -142,6 +142,7 @@ export default {
           }
           this.$store.dispatch("Login", this.loginForm).then(() => {
             this.$router.push({ path: this.redirect || "/" }).catch(()=>{});
+            console.log(this.redirect,"this.redirect")
           }).catch(() => {
             this.loading = false;
             if (this.captchaEnabled) {

+ 31 - 9
src/views/order/index.vue

@@ -9,6 +9,16 @@
             @keyup.enter.native="handleQuery"
           />
         </el-form-item>
+        <el-form-item label="订单状态" prop="cName">
+          <el-select v-model="queryParams.nTong" placeholder="请选择" style="width: 100px">
+            <el-option
+                v-for="item in orderStatus"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
+              </el-option>
+          </el-select>
+        </el-form-item>
         <!-- <el-form-item label="创建时间" prop="dtCreateTime">
           <el-date-picker clearable
             v-model="queryParams.dtCreateTime"
@@ -38,21 +48,24 @@
   
       <el-table v-loading="loading" :data="orderList" @selection-change="handleSelectionChange">
         <el-table-column type="selection" width="55" align="center" />
-        <!-- <el-table-column label="${comment}" align="center" prop="cId" /> -->
+        <el-table-column label="订单号" align="center" prop="orderNo" />
         <!-- <el-table-column label="技师id" align="center" prop="cJsId" />
         <el-table-column label="用户openid" align="center" prop="cOpenId" /> -->
         <!-- <el-table-column label="订单明细" align="center" prop="cGoods" /> -->
         <el-table-column label="订单金额" align="center" prop="dTotalMoney" />
-        <el-table-column label="地址" align="center" prop="cAddress" />
-        <el-table-column label="姓名" align="center" prop="cName" />
-        <el-table-column label="电话" align="center" prop="cPhone" />
-        <el-table-column label="备注" align="center" prop="cNote" />
+        <!-- <el-table-column label="地址" align="center" prop="cAddress" /> -->
+        <el-table-column label="用户姓名" align="center" prop="cName" />
+        <el-table-column label="用户电话" align="center" prop="cPhone" />
+
+        <el-table-column label="技师姓名" align="center" prop="js.cName" />
+        <el-table-column label="技师电话" align="center" prop="js.cPhone" />
+        <!-- <el-table-column label="备注" align="center" prop="cNote" /> -->
         <el-table-column label="订单状态" align="center" prop="nStatus" width="180">
           <template slot-scope="scope">
             <span>{{ scope.row.nStatus ==0?'待接单':(scope.row.nStatus ==1 ? '服务中':'待评价')}}</span>
           </template>
         </el-table-column>
-        <!-- <el-table-column label="时间" align="center" prop="cTime" /> -->
+        <el-table-column label="时间" align="center" prop="dtCreateTime" />
         <!-- <el-table-column label="推荐者id" align="center" prop="cTjOpenId" /> -->
         <!-- <el-table-column label="创建时间" align="center" prop="dtCreateTime" width="180">
           <template slot-scope="scope">
@@ -136,9 +149,9 @@
           <el-form-item label="订单金额" prop="dTotalMoney">
             <el-input v-model="form.dTotalMoney" placeholder="请输入订单金额" />
           </el-form-item>
-          <el-form-item label="地址" prop="cAddress">
+          <!-- <el-form-item label="地址" prop="cAddress">
             <el-input v-model="form.cAddress" placeholder="请输入地址" />
-          </el-form-item>
+          </el-form-item> -->
           <el-form-item label="姓名" prop="cName">
             <el-input v-model="form.cName" placeholder="请输入姓名" />
           </el-form-item>
@@ -170,7 +183,6 @@
       </el-dialog>
     </div>
   </template>
-  
   <script>
   import { listOrder, getOrder, delOrder, addOrder, updateOrder } from "@/api/system/order";
   
@@ -178,6 +190,16 @@
     name: "Order",
     data() {
       return {
+        orderStatus:[
+          {value:0,label:'待接单'},
+          {value:1,label:'已接单'},
+          {value:2,label:'已到达'},
+          {value:3,label:'服务中'},
+          {value:4,label:'待评价'},
+          {value:-1,label:'已取消'},
+          {value:-2,label:'已拒绝'},
+          {value:-3,label:'已完成'},
+        ],
         subShow:true,
         drawer:false,
         // 遮罩层

+ 30 - 13
src/views/record/index.vue

@@ -25,17 +25,18 @@
       <el-table v-loading="loading" :data="recordList" @selection-change="handleSelectionChange">
         <el-table-column type="selection" width="55" align="center" />
         <!-- <el-table-column label="${comment}" align="center" prop="cId" /> -->
-        <el-table-column label="提现用户" align="center" prop="cOpenId" />
+        <el-table-column label="提现单号" align="center" prop="cashNo" />
         <el-table-column label="提现金额" align="center" prop="dPrice" />
-        <el-table-column label="提现时间" align="center" prop="cTime" />
+        <el-table-column label="开户行" align="center" prop="openingBank" />
+        <el-table-column label="银行账户" align="center" prop="bankAccount" />
         <el-table-column label="手机号" align="center" prop="cPhone" />
         <el-table-column label="姓名" align="center" prop="cName" />
-        <el-table-column label="提现图片" align="center" prop="cImage" width="100">
+        <!-- <el-table-column label="提现图片" align="center" prop="cImage" width="100">
           <template slot-scope="scope">
             <image-preview :src="scope.row.cImage" :width="50" :height="50"/>
           </template>
-        </el-table-column>
-        <!-- <el-table-column label="审核中0 审核通过1" align="center" prop="nStatus" /> -->
+        </el-table-column> -->
+        
         <el-table-column label="是否审核" align="center" prop="nStatus" width="100">
           <template slot-scope="scope">
             <span>{{ scope.row.nStatus ===1?'审核通过' :'审核中' }}</span>
@@ -46,24 +47,23 @@
             <span>{{ parseTime(scope.row.dtCreateTime, '{y}-{m}-{d}') }}</span>
           </template>
         </el-table-column>
-        <!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
           <template slot-scope="scope">
             <el-button
               size="mini"
               type="text"
               icon="el-icon-edit"
-              @click="handleUpdate(scope.row)"
-              v-hasPermi="['system:record:edit']"
-            >修改</el-button>
-            <el-button
+              @click="auditIn(scope.row)"
+            >审核</el-button>
+            <!-- <el-button
               size="mini"
               type="text"
               icon="el-icon-delete"
               @click="handleDelete(scope.row)"
               v-hasPermi="['system:record:remove']"
-            >删除</el-button>
+            >删除</el-button> -->
           </template>
-        </el-table-column> -->
+        </el-table-column>
       </el-table>
       
       <el-pagination
@@ -115,7 +115,7 @@
   </template>
   
   <script>
-  import { listRecord, getRecord, delRecord, addRecord, updateRecord } from "@/api/system/record";
+  import { listRecord, getRecord, delRecord, addRecord, updateRecord,auditRecord } from "@/api/system/record";
   
   export default {
     name: "Record",
@@ -163,6 +163,23 @@
       this.getList();
     },
     methods: {
+      auditIn(e){
+        console.log(e.cId,"wwwwwwwwww")
+        var ids= {
+          cId:e.cId,
+          nStatus:1
+        }
+        auditRecord(ids).then(res =>{
+          // console.log(res.data,"eeeeeeeeeeeeeeeeeeee")
+          if(res.code == 200){
+            this.$modal.msgSuccess("审核成功");
+            this.getList();
+          }else{
+            this.$modal.msgError(res.data.msg);
+          }
+          
+        })
+      },
       handleSizeChange(val){
             // console.log(val,"handleSizeChange")
             this.queryParams.size = val

+ 243 - 37
src/views/technician/index.vue

@@ -9,33 +9,49 @@
             @keyup.enter.native="handleQuery"
           />
         </el-form-item>
-        <!-- <el-form-item label="审核状态" prop="nTong">
+        <el-form-item label="电话" prop="cName">
           <el-input
-            v-model="queryParams.nTong"
-            placeholder="请输入审核状态"
+            v-model="queryParams.cPhone"
+            placeholder="请输入姓名"
             clearable
             @keyup.enter.native="handleQuery"
           />
-        </el-form-item> -->
+        </el-form-item>
+        <el-form-item label="审核状态" prop="nTong">
+          <el-select v-model="queryParams.nTong" placeholder="请选择" style="width: 100px">
+            <el-option
+                v-for="item in auditStatus"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
+              </el-option>
+          </el-select>
+        </el-form-item> 
+        <el-form-item label="服务状态" prop="nStatus">
+          <el-select v-model="queryParams.nStatus" placeholder="请选择" style="width: 100px">
+            <el-option
+                v-for="item in serviceState"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
+              </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="性别" prop="nSex">
+          <el-select v-model="queryParams.nSex" placeholder="请选择" style="width: 100px">
+            <el-option
+                v-for="item in sex"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
+              </el-option>
+          </el-select>
+        </el-form-item>
         <el-form-item>
           <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
           <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
         </el-form-item>
       </el-form>
-  
-      <!-- <el-row :gutter="10" class="mb8">
-        <el-col :span="1.5">
-          <el-button
-            type="primary"
-            plain
-            icon="el-icon-plus"
-            size="mini"
-            @click="handleAdd"
-          >新增</el-button>
-        </el-col>
-        <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
-      </el-row> -->
-  
       <el-table v-loading="loading" :data="jsList" @selection-change="handleSelectionChange">
         <el-table-column type="selection" width="55" align="center" />
         <!-- <el-table-column label="${comment}" align="center" prop="cOpenId" /> -->
@@ -49,7 +65,7 @@
         <!-- <el-table-column label="生活照 JsonArray" align="center" prop="cImgList" /> -->
 
         <!-- <el-table-column label="身份证图片 JsonArray" align="center" prop="cSfzImg" /> -->
-        <el-table-column label="身份证图片" align="center" prop="cSfzImg">
+        <!-- <el-table-column label="身份证图片" align="center" prop="cSfzImg">
             <template slot-scope="scope">
                 <div class="demo-image__preview">
                     <el-button
@@ -68,7 +84,7 @@
                     >查看</el-button>
                 </div>
             </template>
-        </el-table-column>
+        </el-table-column> -->
         <!-- <el-table-column label="昵称" align="center" prop="cNickName" /> -->
         <!-- <el-table-column label="头像" align="center" prop="cPortrait" /> -->
         <el-table-column label="头像" align="center" >
@@ -80,7 +96,7 @@
         </el-table-column>
         
         <el-table-column label="电话" align="center" prop="cPhone" />
-        <el-table-column label="地址" align="center" prop="cAddress" />
+        <!-- <el-table-column label="地址" align="center" prop="cAddress" /> -->
         <!-- <el-table-column label="个人简介" align="center" prop="cJianjie" /> -->
         <el-table-column label="评分" align="center" prop="nStar" />
         <el-table-column label="佣金比例" align="center" prop="nBili" />
@@ -90,14 +106,14 @@
             <span>{{ scope.row.nStatus ===1?'服务中' :'可服务' }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="上岗状态" align="center" prop="nStatus">
+        <!-- <el-table-column label="上岗状态" align="center" prop="nStatus">
             <template slot-scope="scope">
             <span>{{ scope.row.nStatus2 ===0?'已上岗' :'未上岗' }}</span>
           </template>
-        </el-table-column>
+        </el-table-column> -->
         <el-table-column label="审核状态" align="center" prop="nStatus">
             <template slot-scope="scope">
-            <span>{{ scope.row.nTong ===0?'未通过' :'已通过' }}</span>
+            <span>{{ scope.row.nTong ===0 ? '未通过' :scope.row.nTong ===1 ? '已通过' :'已退回' }}</span>
           </template>
         </el-table-column>
         <!-- <el-table-column label="注册时间" align="center" prop="cTime" /> -->
@@ -109,8 +125,14 @@
             <span>{{ parseTime(scope.row.dtCreateTime, '{y}-{m}-{d}') }}</span>
           </template>
         </el-table-column> -->
-        <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
           <template slot-scope="scope">
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-notebook-1"
+              @click="handleDetail(scope.row)"
+            >详情</el-button>
             <el-button
               size="mini"
               type="text"
@@ -138,7 +160,7 @@
       </el-pagination>
       <!-- 添加或修改技师对话框 -->
       <el-dialog :title="title" :visible.sync="open" width="700px" append-to-body>
-        <el-form ref="form" :inline="true" :model="form" :rules="rules" label-width="100px">
+        <el-form ref="form"  :model="form" :rules="rules" label-width="100px">
           <!-- <el-form-item label="可预约项目编号 JsonArray" prop="cBhList">
             <el-input v-model="form.cBhList" type="textarea" placeholder="请输入内容" />
           </el-form-item> -->
@@ -206,9 +228,9 @@
           </el-form-item>
           
           
-          <el-form-item label="地址" prop="cAddress">
+          <!-- <el-form-item label="地址" prop="cAddress">
             <el-input v-model="form.cAddress" type="textarea" placeholder="请输入内容" />
-          </el-form-item>
+          </el-form-item> -->
           <el-form-item label="个人简介" prop="cJianjie">
             <el-input v-model="form.cJianjie" type="textarea" placeholder="请输入内容" />
           </el-form-item>
@@ -228,13 +250,12 @@
               <el-radio :label="0">已上岗</el-radio>
             </el-radio-group>
           </el-form-item>
-          <el-form-item label="审核状态" prop="nTong">
-            <!-- <el-input v-model="form.nTong" placeholder="请输入审核状态 0  " /> -->
+          <!-- <el-form-item label="审核状态" prop="nTong">
             <el-radio-group v-model="form.nTong">
               <el-radio :label="0">未通过</el-radio>
               <el-radio :label="1">已通过</el-radio>
             </el-radio-group>
-          </el-form-item>
+          </el-form-item> -->
           <!-- <el-form-item label="注册时间" prop="cTime">
             <el-input v-model="form.cTime" placeholder="请输入注册时间" />
           </el-form-item> -->
@@ -287,16 +308,73 @@
           <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
         </span>
       </el-dialog>
+      <!-- 查看技师详情 -->
+      <el-drawer
+        title="技师详情"
+        :visible.sync="drawer"
+        direction="rtl"
+        size="50%"
+        >
+          <div class="jsInfo">
+            <div class="js_head"><img :src="jsInfos.cPortrait" /></div>
+            <div class="js_box">
+              <div class="js_name"><b>姓名:</b><span>{{ jsInfos.cName}}</span>  </div>
+              <div class="js_name"><b>性别:</b> <span>{{ jsInfos.nSex===0 ? '女' :'男'}}</span>  </div>
+            </div>
+            <div class="js_box">
+              <div class="js_name"><b>电话:</b> <span>{{ jsInfos.cPhone}}</span>  </div>
+              <div class="js_name"><b>评分:</b> <span>{{ jsInfos.nStar}}</span>  </div>
+            </div>
+            <div class="js_box">
+              <div class="js_name"><b>佣金比例:</b> <span>{{ jsInfos.nBili +'%'}}</span>  </div>
+              <div class="js_name"><b>已服务数量:</b> <span>{{ jsInfos.nNum + '个'}}</span>  </div>
+            </div>
+            <div class="js_box">
+              <div class="js_name"><b>审核状态:</b> <span>{{ jsInfos.nTong === 0 ? '待审核' : jsInfos.nTong === 1 ?'已通过' : '已退回' }}</span>  </div>
+              <div class="js_name"><b>擅长项目:</b> <span v-for="(item,index) in jsInfos.projects" :key="index" style="padding-right: 20px;">{{ item.cTitle}}</span>  </div>
+            </div>
+            <div class="js_name js_imgs" style="width: 100%;" v-if="jsInfos.cSfzImg">
+              <b>身份证照片:</b>
+              <span v-for="(item,index) in jsInfos.cSfzImg" :key="index">
+                <!-- <image-preview :src="item[0]" :width="50" :height="50"/> -->
+                <img :src="item" alt="">
+              </span>
+            </div>
+            <div class="js_name js_imgs" style="width: 100%;" v-if="jsInfos.cImgList">
+              <b>生活照:</b>
+              <span v-for="(item,index) in jsInfos.cImgList" :key="index">
+                <!-- <image-preview :src="item[0]" :width="50" :height="50"/> -->
+                <img :src="item" alt="">
+              </span>
+            </div>
+            <div class="js_name" style="height: auto;width: 100%;">
+              <b>个人简介:</b>
+              <span>{{ jsInfos.cJianjie }}</span>
+            </div>
+            <div class="js_name" style="height: auto;width: 100%;">
+              <b>地址:</b>
+              <span>{{ jsInfos.cAddress }}</span>
+              <!-- <span>{{ JSON.parse(jsInfos.cAddress).address +'('+ JSON.parse(jsInfos.cAddress).name +')'}}</span> -->
+            </div>
+            <div></div>
+          </div>
+          <div class="demo-drawer__footer" style="text-align: center;padding:20px 0;" v-if="auditShow">
+            <el-button @click="auditJs(jsInfos.id)">审核</el-button>
+            <el-button type="primary" @click="returnJs(jsInfos.id)">退回</el-button>
+          </div>
+      </el-drawer>
     </div>
   </template>
   
   <script>
-  import { listJs, getJs, delJs, addJs, updateJs } from "@/api/system/js";
+  import { listJs, getJs, delJs, addJs, updateJs,auditJs,repulseJs } from "@/api/system/js";
   import { upload } from "@/api/public";
   export default {
     name: "Js",
     data() {
       return {
+        auditShow:false,
+        drawer: false,
         dialogVisible:false,
         // 遮罩层
         loading: true,
@@ -355,12 +433,95 @@
         imgList2:[],
         updataImg2:[],
         updataImg22:[],
+        auditStatus:[
+          {value:0,label:'待审核'},
+          {value:1,label:'已通过'},
+          {value:2,label:'已退回'},
+        ],
+        serviceState:[
+          {value:0,label:'可服务'},
+          {value:1,label:'服务中'},
+        ],
+        sex:[
+          {value:0,label:'女'},
+          {value:1,label:'男'},
+        ],
+        jsInfos:'',
+        ifTong:0,
       };
     },
     created() {
       this.getList();
     },
     methods: {
+      auditJs(ids){
+        if(this.ifTong == 0){
+          var data = {
+            id:ids,
+          }
+          auditJs(data).then(response => {
+            this.$modal.msgSuccess("审核通过");
+            this.drawer = false;
+            this.getList();
+          });
+        }else{
+          this.$modal.msgSuccess("该技师已操作");
+        }
+        
+      }, 
+      returnJs(ids){
+        if(this.ifTong == 0){
+          var data = {
+            id:ids,
+          }
+          repulseJs(data).then(response => {
+            this.$modal.msgSuccess("已退回");
+            this.drawer = false;
+            this.getList();
+          });
+        }else{
+          this.$modal.msgSuccess("该技师已操作");
+        }
+       
+      },
+      handleDetail(row){
+        this.drawer = true
+        this.jsInfos = []
+        const cOpenId = {
+          id :row.id || this.ids
+        }
+        if(row.nTong === 1 || row.nTong === 2){
+          this.auditShow = false;
+        }else{
+          this.auditShow = true;
+        }
+
+        // this.imgUrl1 = this.form.cImgList
+        getJs(cOpenId).then(response => {
+          var imgs = []
+          var imgs2 = []
+          response.data.cPortrait = process.env.VUE_APP_BASE_API + response.data.cPortrait;
+          response.data.cImgList.forEach(element => {
+            element = process.env.VUE_APP_BASE_API +  element
+            imgs.push(element)
+          });
+          if(response.data.cSfzImg){
+            response.data.cSfzImg.forEach(element => {
+              element = process.env.VUE_APP_BASE_API +  element
+              imgs2.push(element)
+            });
+          }
+          console.log(response.data,"cAddress")
+          
+          this.jsInfos = response.data;
+          this.jsInfos.cImgList = imgs
+          this.jsInfos.cSfzImg = imgs2
+          this.jsInfos.cAddress = JSON.parse(response.data.cAddress).address + '('+JSON.parse(response.data.cAddress).name +')'
+          this.ifTong = this.jsInfos.nTong
+          // console.log(this.jsInfos,"rrrrrrrrrrrrrrrrrrr")
+        });
+
+      },
       removeImgs(index){
         this.updataImg1.splice(index, 1);
         this.updataImg11.splice(index, 1)
@@ -538,10 +699,13 @@
             element = process.env.VUE_APP_BASE_API +  element
             imgs.push(element)
           });
-          response.data.cSfzImg.forEach(element => {
-            element = process.env.VUE_APP_BASE_API +  element
-            imgs2.push(element)
-          });
+          if(response.data.cSfzImg){
+            response.data.cSfzImg.forEach(element => {
+              element = process.env.VUE_APP_BASE_API +  element
+              imgs2.push(element)
+            });
+          }
+          
           this.form = response.data;
           this.updataImg1 = imgs
           this.updataImg11 = response.data.cImgList
@@ -590,7 +754,49 @@
     }
   };
   </script>
-<style>
+<style lang="scss" scoped>
+.jsInfo{
+  padding:0 15px;
+  .js_box{
+    display: flex;
+    justify-content: space-around;
+  }
+  .js_head{
+    text-align: center;
+    img{
+      width: 100px;
+    }
+  }
+  .js_name{
+    height: 40px;
+    line-height: 40px;
+    color: #8c939d;
+    font-size: 14px;
+    width: 50%;
+    b{
+      display: inline-block;
+      width: 86px;
+      text-align: right;
+    }
+    span{
+      color: #333;
+    }
+  }
+  .js_imgs{
+    height: auto;
+    span{
+      display: inline-flex;
+      justify-content: center;
+      margin-right: 20px;
+      height: 100px;
+      border: 1px solid #ccc;
+    }
+    img{
+      width: 100px;
+      height: auto;
+    }
+  }
+}
 .avatar-uploader .el-upload {
       border: 1px dashed #d9d9d9;
       border-radius: 6px;

+ 2 - 1
vue.config.js

@@ -18,7 +18,7 @@ module.exports = {
   // 部署生产环境和开发环境下的URL。
   // 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上
   // 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。
-  publicPath: process.env.NODE_ENV === "production" ? "/" : "/",
+  publicPath: process.env.NODE_ENV === "production" ? "./" : "./",
   // 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist)
   outputDir: 'dist',
   // 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下)
@@ -36,6 +36,7 @@ module.exports = {
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
         target: `http://192.168.0.36:8080`,
+        // target: `https://test.baoxianzhanggui.com/nightFragrance`,
         changeOrigin: true,
         pathRewrite: {
           ['^' + process.env.VUE_APP_BASE_API]: ''