jiangping
2025-03-26 ac0dd084332a6fad4ff7dc15ed4f8984d611a91f
最新版本541200007
已修改10个文件
122 ■■■■ 文件已修改
admin/src/api/business/visits.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaVisitreasonWindow.vue 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/router/index.js 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/reportRecord.vue 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/visitOrigin.vue 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/visits.vue 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarsDTO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/api/business/visits.js
@@ -68,3 +68,6 @@
export function visitResend (visitId) {
  return request.get(`/visitsAdmin/cloudService/business/visits/visitResend?visitId=${visitId}`)
}
export function visitsCancel (visitId) {
  return request.get(`/visitsAdmin/cloudService/business/visits/visitsCancel?visitId=${visitId}`)
}
admin/src/components/business/OperaVisitreasonWindow.vue
@@ -10,6 +10,17 @@
          <el-form-item label="事由" prop="title">
            <el-input v-model="form.title" placeholder="请输入名称" v-trim/>
          </el-form-item>
          <el-form-item label="是否施工作业" prop="constructionType">
              <el-switch
                  style="width: 200px"
                  active-color="#13ce66"
                  inactive-color="#ff4949"
                  v-model="form.constructionType"
                  :active-value="1"
                  :inactive-value="0"
              >
              </el-switch>
          </el-form-item>
          <el-form-item label="排序码(升序)" prop="sortnum">
            <el-input v-model="form.sortnum" type="number" placeholder="请输入排序码" v-trim/>
          </el-form-item>
@@ -31,7 +42,8 @@
      form: {
        id: null,
        title: null,
        sortnum: null
        sortnum: null,
        constructionType: 0
      },
      // 验证规则
      rules: {
admin/src/router/index.js
@@ -99,17 +99,22 @@
})
router.afterEach((to, from, failure) => {
  setTimeout(function () { computeTableHeightIndex() }, 1000)
  window.addEventListener('resize', computeTableHeightIndex())
  setTimeout(function () {
    computeTableHeightIndex()
    window.addEventListener('resize', function(){
      computeTableHeightIndex()}
    )
  }, 1000)
})
function computeTableHeightIndex () {
  const height = window.innerHeight
  console.log('beforeEach========================:' + height)
  // console.log('beforeEach========================:' + height)
  const height13 = getEleHeghtByClassName('common-header', 0)
  const height4 = getEleHeghtByClassName('table-pagination', 0,-20)
  const height5 = document.getElementsByTagName('thead') && document.getElementsByTagName('thead')[0] ? document.getElementsByTagName('thead')[0].clientHeight : 0
  if (document.getElementsByClassName('main_app') && document.getElementsByClassName('main_app')[0]) {
    console.log('main_app========================')
    // console.log('main_app========================')
    // alert(height)
    const height3 = getEleHeghtByClassName('main-header', 0)
    const height2 = getEleHeghtByClassName('toolbar', 0)
@@ -122,7 +127,7 @@
    router.app.$store.commit('setTableHeightNew', height -10 - height2 - height3 - height4 - height5 - height6 - height7 - height9 - height10 - height11 - height12 - height13)
    console.log('gableHeightNew', router.app.$store.state.tableHeightNew)
  } else {
    console.log('tableLayout========================')
    // console.log('tableLayout========================')
    const height1 = getEleHeghtByClassName('table-search-form', 40, 16)
    const height3 = getEleHeghtByClassName('main-header', 0)
    // const height4 = getEleHeghtByClassName('table-pagination', 0,-20)
@@ -137,7 +142,7 @@
  if ((document.getElementsByClassName(name) && document.getElementsByClassName(name)[0])) {
    let t = 0
    document.getElementsByClassName(name).forEach(e => {
      console.log(name + '========================' + t + ':' + e.clientHeight)
      // console.log(name + '========================' + t + ':' + e.clientHeight)
      t++
    })
    return document.getElementsByClassName(name)[document.getElementsByClassName(name).length - 1].clientHeight + (margin || 0)
admin/src/views/business/reportRecord.vue
@@ -82,13 +82,14 @@
          <span v-if="row.status === 9" style="color: gray">已失效</span>
        </template>
      </el-table-column>
      <el-table-column label="操作" align="center" width="180" fixed="right">
      <el-table-column label="操作" align="center" width="240" fixed="right">
        <template slot-scope="{ row }">
          <el-button
            type="text"
            @click="handleDetail(row)"
            v-permissions="['business:company:update']">查看详情</el-button>
          <el-button  type="text"  icon="el-icon-delete" @click="deleteById(row)" style="color: red" v-permissions="['business:visits:delete']">删除</el-button>
          <el-button type="text" @click="cancel(row.id)"   v-permissions="['business:visits:cancel']"  v-if="(row.status == 0 || row.status == 1 || row.status == 2|| row.status == 5)"  icon="el-icon-delete" style="color: red"  >取消预约</el-button>
        </template>
      </el-table-column>
    </el-table>
@@ -108,10 +109,11 @@
// import ReportDetail from './page-components/ReportDetail.vue'
import ReportDetail from '@/views/task/visReportDetail.vue'
import OperaVisitsReportWindow from '@/components/business/operaVisitsReportWindow.vue'
import { fetchList, exportExcel, deleteById } from '@/api/business/visits'
import BaseComputHeight from "@/components/base/BaseComputHeight";
import { fetchList, exportExcel, deleteById ,visitsCancel} from '@/api/business/visits'
import BasePage from '@/components/base/BasePage'
import {mapState } from "vuex";
export default {
  extends: BaseComputHeight,
  extends: BasePage,
  components: {
    ReportDetail,
    QueryForm,
@@ -157,10 +159,28 @@
      total: 0
    }
  },
  computed: {
    ...mapState(['userInfo'])
  },
  created () {
    this.getList()
  },
  methods: {
    cancel (id) {
      this.$confirm('确定取消预约吗, 是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        visitsCancel(id)
          .then(res => {
            this.pagination.page = 1
            this.getList()
          })
      }).catch(() => {
      })
    },
    exportExcel () {
      this.$dialog.exportConfirm('确认导出吗?')
        .then(() => {
admin/src/views/business/visitOrigin.vue
@@ -25,6 +25,13 @@
      >
        <el-table-column type="selection" width="55"></el-table-column>
        <el-table-column prop="title" label="拜访事由" min-width="200px"></el-table-column>
        <el-table-column prop="constructionType" label="是否施工作业" min-width="200px">
            <template slot-scope="{row}">
              <el-switch @change="changeType($event, row)" v-model="row.constructionType" active-color="#13ce66"
                         inactive-color="#ff4949" :active-value="1" :inactive-value="0">
              </el-switch>
            </template>
          </el-table-column>
        <el-table-column prop="sortnum" label="排序码"  min-width="100px"></el-table-column>
        <el-table-column prop="editDate" label="操作时间" min-width="200px"></el-table-column>
        <el-table-column
@@ -56,12 +63,14 @@
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaVisitreasonWindow from '@/components/business/OperaVisitreasonWindow'
import { updateWorkStatus } from '@/api/business/member'
export default {
  name: 'areaSet',
  extends: BaseTable,
  components: { TableLayout, Pagination, OperaVisitreasonWindow },
  data () {
    return {
      working: false,
      // 搜索
      searchForm: {
        title: ''
@@ -78,6 +87,21 @@
    this.search()
  },
  methods: {
    changeType (e, row) {
      this.working = true
      this.api.updateById({ id: row.id, constructionType: e })
        .then(res => {
          this.$tip.apiSuccess(res || '操作成功')
          this.search()
        })
        .catch(e => {
          this.$tip.apiFailed(e)
        })
        .finally(() => {
          this.working = false
        })
        .catch(() => { })
    }
  }
}
</script>
admin/src/views/business/visits.vue
@@ -91,13 +91,12 @@
          </template>
        </el-table-column>
        <el-table-column prop="remark" label="下发备注" min-width="100px"></el-table-column>
        <el-table-column v-if="containPermissions(['business:visits:update', 'business:visits:delete'])" label="操作"
        <el-table-column   label="操作"
          min-width="200" fixed="right">
          <template slot-scope="{row}">
            <!--           <el-button type="text" @click="cancel(row.id)" v-permissions="['business:visits:cancel']"
                      icon="el-icon-delete" style="color: red" v-if="row.status == 5">取消预约</el-button>-->
            <el-button type="text" @click="resend(row.id)" v-permissions="['business:visits:update']" icon="el-icon-edit" v-if="row.status == 6">重新下发</el-button>
            <el-button type="text" @click="handleDetail(row)" icon="el-icon-view">详情</el-button>
            <el-button type="text" @click="resend(row.id)" v-permissions="['business:visits:update']" icon="el-icon-edit" v-if="row.status == 6">重新下发</el-button>
            <el-button type="text" @click="cancel(row.id)"   v-permissions="['business:visits:cancel']"  v-if="(row.status == 0 || row.status == 1 || row.status == 2|| row.status == 5)"  icon="el-icon-delete" style="color: red"  >取消预约</el-button>
            <el-button type="text" @click="departure(row.id)" icon="el-icon-delete" style="color: red" v-if="row.status == 7">离场</el-button>
            <el-button  type="text"  icon="el-icon-delete" @click="deleteById(row)" style="color: red" v-permissions="['business:visits:delete']">删除</el-button>
          </template>
@@ -121,6 +120,7 @@
import OperaVisitsDesWindow from '@/components/business/OperaVisitsDesWindow'
import OperaVisitsWindow from '@/components/business/operaVisitsWindow'
import TaskDetail from '@/views/task/visSubDetail.vue'
import {mapState} from "vuex";
export default {
  name: 'Visits',
@@ -140,7 +140,10 @@
      }
    }
  },
  created() {
  computed: {
    ...mapState(['userInfo'])
  },
  created () {
    this.config({
      module: '访客申请信息表',
      api: '/business/visits',
@@ -187,13 +190,13 @@
      })
    },
    cancel(id) {
    cancel( id) {
      this.$confirm('确定取消预约吗, 是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        this.api.visitCancel(id)
        this.api.visitsCancel(id)
          .then(res => {
            this.page = 1
            this.search()
server/visits/dmvisit_service/src/main/java/com/doumee/dao/admin/response/CarsDTO.java
@@ -1,5 +1,6 @@
package com.doumee.dao.admin.response;
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
@@ -61,4 +62,6 @@
    @ApiModelProperty(value = "创建时间")
    @ExcelColumn(name="创建时间")
    private Date createDate;
    @ApiModelProperty(value = "车主是否删除", example = "1")
    private Integer memberDeleted;
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
@@ -367,6 +367,7 @@
        queryWrapper.selectAll(Cars.class);
        queryWrapper.selectAs(Member::getType,Cars::getMemberType);
        queryWrapper.selectAs(Member::getName,Cars::getMemberName);
        queryWrapper.selectAs(Member::getIsdeleted,Cars::getMemberDeleted);
        queryWrapper.selectAs(SystemUser::getRealname,Cars::getEditorName);
        queryWrapper.selectAs(Member::getPhone,Cars::getMemberPhone);
        queryWrapper.selectAs(Member::getSex,Cars::getMemberSex);
@@ -423,6 +424,9 @@
                    cars.setGroupCateName(StringUtils.defaultString(cars.getCatePName(),"") + "/" + StringUtils.defaultString(cars.getCateName(),""));
                }
               cars.setParkBookList(getParkbookListByCode(cars,parkBooks));
                if(Constants.equalsInteger(cars.getMemberDeleted(),Constants.ONE)){
                    cars.setMemberId(null);
                }
            }
        }
        return PageData.from(result);
@@ -460,6 +464,7 @@
                .leftJoin(Parks.class,Parks::getId,ParkBook::getParkId);
        wrapper.selectAs(ParkBook::getCarCode,CarsDTO::getCode)
                .selectAs(ParkBook::getParkId,CarsDTO::getParkId)
                .selectAs(Member::getIsdeleted,CarsDTO::getMemberDeleted)
                .selectAs(ParkBook::getRemark,CarsDTO::getRemark)
                .selectAs(Parks::getName,CarsDTO::getParkName)
                .selectAs(ParkBook::getMemberId,CarsDTO::getMemberId)
@@ -472,7 +477,13 @@
                .selectAs(ParkBook::getCreateDate,CarsDTO::getCreateDate);
        wrapper.orderByDesc(ParkBook::getCreateDate);
        IPage<CarsDTO> carsDTOIPage = parkBookJoinMapper.selectJoinPage(page, CarsDTO.class, wrapper);
        if(carsDTOIPage!=null && carsDTOIPage.getRecords()!=null && carsDTOIPage.getRecords().size()>0){
            for(CarsDTO cars :carsDTOIPage.getRecords()){
                if(Constants.equalsInteger(cars.getMemberDeleted(),Constants.ONE)){
                    cars.setMemberId(null);
                }
            }
        }
        return PageData.from(carsDTOIPage);
    }
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -615,6 +615,7 @@
                   carsMapper.update(null,new UpdateWrapper<Cars>().lambda()
                           .eq(Cars::getId,car.getId())
                           .set(Cars::getStartTime,null)
//                           .set(Cars::getMemberId,null)
                           .set(Cars::getEndTime,null)
                           .set(Cars::getAuthTimeType,null)
                           .set(Cars::getAuthStatus,Constants.ZERO)
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -1958,6 +1958,4 @@
                        .eq(Notices::getObjType,Constants.equalsInteger(s.getType(),Constants.ZERO)?Constants.noticesObjectType.visit:Constants.noticesObjectType.visitReporting)
        );
    }
}