liukangdong
2024-07-04 7c7c4ae64b84be1766a5ebbe3ba5ee97cba8c6da
‘’
已删除4个文件
已修改23个文件
360 ■■■■■ 文件已修改
admin/src/components/business/OperaCarDriverWindow.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaCarUseBookWindow.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaHiddenDangerParamWindow.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/operaVisitsWindow.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/operation/OperCarUseBookParamWindow.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/approvalConfiguration.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/approvalReport.vue 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/meeting/bookings.vue 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/meeting/components/OperaBookingsWindow.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/meeting/rooms.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/operation/serviceCar/apprConfig.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/task/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/task/visSubDetail.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/App.vue 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/ic_driver@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
h5/ic_staff@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
h5/ic_visitor@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
h5/login_bg@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
h5/main.js 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/answer/answer.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/index/index.vue 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/notice/notice.vue 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/staff/index.vue 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/staff/task/index.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/staff/vehicle/applePeo.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/visitorApplication/visitorApplication.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/store/index.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaCarDriverWindow.vue
@@ -88,7 +88,8 @@
    },
    loadMember () {
      allList({
        type: 2
        type: 2,
        companyType: 1
      })
        .then(res => {
          this.memberList = res
admin/src/components/business/OperaCarUseBookWindow.vue
@@ -111,7 +111,7 @@
    <!--  -->
    <template   v-slot:footer>
      <el-button @click="agreeOpen"  type="primary"  v-if="model.approveDateVO!=null&& model.approveDateVO.canBeApproved!=null &&model.approveDateVO.canBeApproved ==1 "  class="status-red">同意</el-button>
      <el-button @click="isBackProblem=true"  type="danger"  v-if="model.approveDateVO!=null&& model.approveDateVO.canBeApproved!=null &&model.approveDateVO.canBeApproved ==1 "  >拒绝</el-button>
      <el-button @click="jectOpen"  type="danger"  v-if="model.approveDateVO!=null&& model.approveDateVO.canBeApproved!=null &&model.approveDateVO.canBeApproved ==1 "  >拒绝</el-button>
      <el-button @click="visible=false">返回</el-button>
    </template>
    <el-dialog
@@ -241,8 +241,19 @@
    },
    agreeOpen () {
      this.isShowProblem = true
      this.dealForm = {
        driveId: null,
        checkInfo: null
      }
      this.loadMemberList()
    },
    jectOpen () {
      this.isBackProblem = true
      this.dealForm = {
        driveId: null,
        checkInfo: null
      }
    },
    backDo () {
      this.$refs.backForm.validate((valid) => {
        if (!valid) {
admin/src/components/business/OperaHiddenDangerParamWindow.vue
@@ -92,7 +92,8 @@
    },
    loadMember () {
      allList({
        type: 2
        type: 2,
        companyType: 1
      })
        .then(res => {
          this.memberList = res
admin/src/components/business/operaVisitsWindow.vue
@@ -257,6 +257,8 @@
        if (!valid) {
          return
        }
        const { param } = this
        if (param.starttime.slice(0, 10) !== param.endtime.slice(0, 10)) return this.$tip.error('入园时间和离园时间不可跨天')
        // 调用新建接口
        this.isWorking = true
        createFk({
admin/src/components/operation/OperCarUseBookParamWindow.vue
@@ -538,7 +538,8 @@
        this.carsList = res
      })
      findTypeMemberInfo({
        type: '2'
        type: '2',
        companyType: 1
      }).then(res => {
        this.memberList = res || []
      })
admin/src/views/business/approvalConfiguration.vue
@@ -163,6 +163,7 @@
          <div class="config_data_submit">
            <el-button
              @click="onSubmit"
              :loading="subLoading"
              style="background: #435ebe"
              type="primary"
              >保存配置项</el-button
@@ -243,6 +244,7 @@
  data () {
    return {
      activeType: '0',
      subLoading: false,
      apprList: [
        { remark: '审批人', active: false, type: '0', objIds: [] },
        { remark: '抄送人', active: false, type: '1', objIds: [] }
@@ -323,13 +325,15 @@
          item.objIds = ''
        }
      })
      this.subLoading = true
      approveTemplSave({
        type: activeType,
        paramList: temp
      }).then(res => {
        // if (res.code === 200) {
        this.$message.success('保存成功')
        // }
        this.subLoading = false
        this.$tip.success('保存成功')
      }, () => {
        this.subLoading = false
      })
    },
    handleDel () {
admin/src/views/business/approvalReport.vue
@@ -26,15 +26,26 @@
              >
                <div class="head">{{ item.remark }}</div>
                <div class="content">
                  <div v-if="item.objIds && item.objIds.length === 1 ">
                    <span>{{ item.objIds[0].name }} {{ item.objIds[0].companyName }}</span>
                    <span v-if="item.approveType == 0 && item.type == '0'"> 或签</span>
                    <span v-if="item.approveType == 1 && item.type == '0'"> 会签</span>
                  <div v-if="item.objIds && item.objIds.length === 1">
                    <span
                      >{{ item.objIds[0].name }}
                      {{ item.objIds[0].companyName }}</span
                    >
                    <span v-if="item.approveType == 0 && item.type == '0'">
                      或签</span
                    >
                    <span v-if="item.approveType == 1 && item.type == '0'">
                      会签</span
                    >
                  </div>
                  <div v-else-if="item.objIds && item.objIds.length > 1">
                    <span>{{ item.objIds[0].name }} 等</span>
                    <span v-if="item.approveType == 0 && item.type == '0'"> 或签</span>
                    <span v-if="item.approveType == 1 && item.type == '0'"> 会签</span>
                    <span v-if="item.approveType == 0 && item.type == '0'">
                      或签</span
                    >
                    <span v-if="item.approveType == 1 && item.type == '0'">
                      会签</span
                    >
                  </div>
                  <div v-else>请选择</div>
                  <i class="el-icon-arrow-right"></i>
@@ -96,7 +107,7 @@
              </div>
              <div class="config_data_item_reviewed_content">
                <div
                  v-for="mem,memIndex in apprList[activeIndex].objIds"
                  v-for="(mem, memIndex) in apprList[activeIndex].objIds"
                  :key="mem.id"
                  class="config_data_item_reviewed_content_item"
                >
@@ -116,7 +127,7 @@
              <div class="config_data_item_reviewed_r">
                <span>被访人的</span>
                <el-select
                  v-model="apprList[activeIndex].level"
                  v-model="apprList[activeIndex].objLevel"
                  placeholder="请选择"
                  style="margin: 0 20px 0 10px"
                >
@@ -159,6 +170,7 @@
          <div class="config_data_submit">
            <el-button
              @click="onSubmit"
              :loading="subLoading"
              style="background: #435ebe"
              type="primary"
              >保存配置项</el-button
@@ -239,6 +251,7 @@
  data () {
    return {
      activeType: '2',
      subLoading: false,
      apprList: [
        { remark: '审批人', active: false, type: '0', objIds: [] },
        { remark: '抄送人', active: false, type: '1', objIds: [] }
@@ -310,13 +323,15 @@
          item.objIds = ''
        }
      })
      this.subLoading = true
      approveTemplSave({
        type: activeType,
        paramList: temp
      }).then(res => {
        if (res.code === 200) {
          this.$message.success('保存成功')
        }
        this.subLoading = false
        this.$tip.success('保存成功')
      }, () => {
        this.subLoading = false
      })
    },
    handleDel () {
admin/src/views/meeting/bookings.vue
@@ -57,7 +57,7 @@
      </el-form-item>
      <el-form-item label="会议状态" prop="status">
        <el-select
          v-model="searchForm.status"
          v-model="searchForm.meetingStatus"
          filterable
          clearable
          placeholder="请选择状态"
@@ -169,12 +169,13 @@
          align="center"
          min-width="100px"
        ></el-table-column>
        <el-table-column label="状态" align="center" min-width="60px">
        <el-table-column label="会议状态" align="center" min-width="60px">
          <template slot-scope="{ row }">
            <span v-if="row.status == 0" style="color: rgb(127, 178, 53)"
              >正常</span
            >
            <span v-else style="color: rgb(234, 54, 38)">取消</span>
            <span v-if="row.meetingStatus == 1">未开始</span>
            <span v-if="row.meetingStatus == 2">进行中</span>
            <span v-if="row.meetingStatus == 3">已结束</span>
            <span v-if="row.meetingStatus == 4">即将开始</span>
            <span v-if="row.meetingStatus == 5">已撤销</span>
            <!-- {{ row.status==0 ? '正常' : '取消' }} -->
          </template>
        </el-table-column>
@@ -182,7 +183,7 @@
          prop="createDate"
          label="创建时间"
          align="center"
          min-width="100px"
          min-width="150px"
        ></el-table-column>
        <!-- <el-table-column prop="content" label="会议内容" min-width="100px"></el-table-column> -->
        <el-table-column
@@ -204,9 +205,9 @@
                @click="$refs.operaBookingsDetailWindow.open('会议详情', row)"
                >查看详情</el-button
              >
              <!-- <el-button v-if="row.flag == 0" type="text" @click="$refs.operaBookingsWindow.open('编辑会议预约', row)" v-permissions="['business:bookings:update']">修改</el-button> -->
              <el-button v-if="row.meetingStatus == '1'" type="text" @click="$refs.operaBookingsWindow.open('编辑会议预约', row)" v-permissions="['business:bookings:update']">编辑</el-button>
              <!-- <el-button type="text" @click="copy(row)">复制</el-button> -->
              <!-- <el-button v-if="row.flag == 0"  type="text" @click="cancelMeeting(row.id)" v-permissions="['business:bookings:update']">取消</el-button> -->
              <el-button v-if="row.meetingStatus == '1'"  type="text" @click="cancelMeeting(row.id)" v-permissions="['business:bookings:update']">撤回</el-button>
            </template>
            <!-- <el-button v-else type="text" @click="deleteById(row)" v-permissions="['business:bookings:delete']">删除</el-button> -->
          </template>
@@ -247,7 +248,7 @@
  name: 'Bookings',
  extends: BaseTable,
  components: { TableLayout, Pagination, OperaBookingsWindow, OperaBookingsDetailWindow },
  data() {
  data () {
    return {
      date: [],
      // 搜索
@@ -256,7 +257,7 @@
        // departmentId: [],
        department: [],
        realName: '',
        status: '',
        meetingStatus: '',
        createDate: '',
        editor: '',
        editDate: '',
@@ -280,19 +281,21 @@
        { name: '开发部门', id: '0' }
      ],
      status: [
        { name: '全部', id: '' },
        { name: '正常', id: '0' },
        { name: '取消', id: '1' }
        { name: '未开始', id: 1 },
        { name: '即将开始', id: 4 },
        { name: '进行中', id: 2 },
        { name: '已撤销', id: 5 },
        { name: '已结束', id: 3 }
      ],
      link: 'https://dmtest.ahapp.net/meeting_h5/' // H5_LINK_ADDR
    }
  },
  provide() {
  provide () {
    return {
      rooms: () => this.rooms
    }
  },
  created() {
  created () {
    this.config({
      module: '会议室预定信息表',
      api: '/meeting/bookings',
@@ -315,7 +318,7 @@
    this.changeRadio('0')
  },
  methods: {
    changeRadio(e) {
    changeRadio (e) {
      if (e === '0') {
        this.searchForm.startTime = timeForMat(0)[0]
        this.searchForm.endTime = timeForMat(0)[1]
@@ -331,7 +334,7 @@
      }
      this.search()
    },
    newTree(tree) {
    newTree (tree) {
      if (tree == null) {
        return []
      }
@@ -348,12 +351,12 @@
        return newItem
      })
    },
    selectDate(v) {
    selectDate (v) {
      this.searchForm.endTime = v[1] + ' 23:59:59'
      this.searchForm.startTime = v[0] + ' 00:00:00'
      this.searchForm.radio = null
    },
    reset() {
    reset () {
      this.$refs.searchForm.resetFields()
      this.date = []
      this.searchForm.radio = '0'
@@ -361,7 +364,7 @@
      this.searchForm.endTime = ''
      this.changeRadio('0')
    },
    copy(row) {
    copy (row) {
      const text = `${row.realName} 邀请您加入会议\n会议主题:${row.name}\n会议室:${row.roomName}\n会议时间:${row.meetingTime}\n点击链接直接加入会议:\n${this.link}?id=${row.id}`
      this.$copyText(text)
        .then(() => {
@@ -370,7 +373,7 @@
        .catch(e => {
        })
    },
    cancelMeeting(id) {
    cancelMeeting (id) {
      this.$dialog.messageWaring('取消会议', '是否取消当前会议?')
        .then(() => {
          cancelById({ id })
@@ -382,7 +385,7 @@
            })
        })
    },
    showDetail(id) {
    showDetail (id) {
      bookingsDetail(id)
        .then(res => {
          this.$refs.operaBookingsDetailWindow.open('会议详情', res)
@@ -390,7 +393,7 @@
        .catch(e => {
        })
    },
    editBookings(id) {
    editBookings (id) {
      bookingsDetail(id)
        .then(res => {
          this.$refs.operaBookingsWindow.open('编辑会议预约', res)
@@ -398,7 +401,7 @@
        .catch(e => {
        })
    },
    handlePageChange(pageIndex) {
    handlePageChange (pageIndex) {
      this.__checkApi()
      this.tableData.pagination.pageIndex = pageIndex || this.tableData.pagination.pageIndex
      this.isWorking.search = true
admin/src/views/meeting/components/OperaBookingsWindow.vue
@@ -198,7 +198,7 @@
    userList({
      page: 1,
      capacity: 9999,
      model: { realname: this.filterText }
      model: { realname: this.filterText, memberType: 2 }
    })
      .then(res => {
        console.log('userList', res)
admin/src/views/meeting/rooms.vue
@@ -167,6 +167,7 @@
    userList({
      page: 1,
      capacity: 9999,
      memberType: 2,
      model: { realname: this.filterText }
    })
      .then(res => {
admin/src/views/operation/serviceCar/apprConfig.vue
@@ -120,7 +120,7 @@
              <div class="config_data_item_reviewed_r">
                <span>被访人的</span>
                <el-select
                  v-model="apprList[activeIndex].level"
                  v-model="apprList[activeIndex].objLevel"
                  placeholder="请选择"
                  style="margin: 0 20px 0 10px"
                >
@@ -172,6 +172,7 @@
          <div class="config_data_submit">
            <el-button
              @click="onSubmit"
              :loading="subLoading"
              style="background: #435ebe"
              type="primary"
              >保存配置项</el-button
@@ -252,6 +253,7 @@
  data () {
    return {
      activeType: '3',
      subLoading: false,
      apprList: [
        { remark: '审批人', active: false, type: '0', objIds: [] },
        { remark: '抄送人', active: false, type: '1', objIds: [] }
@@ -332,13 +334,15 @@
          item.objIds = ''
        }
      })
      this.subLoading = true
      approveTemplSave({
        type: activeType,
        paramList: temp
      }).then(res => {
        // if (res.code === 200) {
        this.subLoading = false
        this.$tip.success('保存成功')
        // }
      }, () => {
        this.subLoading = false
      })
    },
    handleDel () {
admin/src/views/task/index.vue
@@ -211,7 +211,7 @@
        })
      }
      if (row.objType === 2) {
        this.$refs.OperaDetailsWindow.open('公务车申请详情', row)
        this.$refs.OperaDetailsWindow.open('公务车申请详情', { ...row, id: row.objId })
        return
      }
      if (row.objType === 1) {
admin/src/views/task/visSubDetail.vue
@@ -244,7 +244,7 @@
    <!--  同意/拒绝 -->
    <el-dialog
      append-to-body
      :title="apprTitle"
      :title="param.status == 2 ? '同意' : '拒绝'"
      :visible.sync="isShowAppr"
      width="480px"
    >
@@ -406,6 +406,9 @@
    handleAppr (val) {
      this.$set(this.param, 'status', val)
      this.isShowAppr = true
      this.$nextTick(() => {
        this.$refs.ruleForm.clearValidate()
      })
    },
    confirm () {
      console.log('--')
h5/App.vue
@@ -2,51 +2,7 @@
import { wxAuthorize, refreshToken } from '@/api'
export default {
  onLaunch: function () {
    var that = this
    if (!that.$store.state.openid) {
      let url = window.location.href
      let code = ''
      let source = ''
      if (url.indexOf('code=') !== -1) {
        const query = url.split('?')
        console.log('app-app', url)
        for (const q of query) {
          if (q.indexOf('code=') !== -1) {
            code = q.substring(q.indexOf('code=') + 5, q.length)
          }
          if (q.indexOf('source=') !== -1) {
            source = q.substring(q.indexOf('source=') + 7,q.indexOf('source=') + 8 )
          }
        }
        wxAuthorize({
          code: code,
          source
        }).then(res => {
          console.log('app_ress', res)
          if (res.code === 200) {
            that.$store.commit('setOpenId', res.data.openid)
            if (res.data.member) {
              that.$store.commit('setMember', res.data.member)
            }
          }
        })
      } else {
        // const appID = 'wx4d7c10bdec51942b'
        // let uri = encodeURIComponent(url)
        // let authURL =
        //   `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appID}&redirect_uri=${uri}&response_type=code&scope=snsapi_base&state=123#wechat_redirect`
        // window.location.href = authURL
      }
    }
    // 刷新token
    const token = uni.getStorageSync('token')
    // if (token) {
    //    refreshToken().then(res => {
    //        if(res.code && res.code === 200){
    //           this.$store.commit('setToken', res.data)
    //       }
    //   })
    // }
  },
  onShow: function () {
    console.log('App Show')
@@ -226,8 +182,8 @@
  color: #333333;
}
.popupShow {
    overflow: hidden;
    position: fixed;
  overflow: hidden;
  position: fixed;
  width: 100%;
}
.placeholder6 {
h5/ic_driver@2x.png
Binary files differ
h5/ic_staff@2x.png
Binary files differ
h5/ic_visitor@2x.png
Binary files differ
h5/login_bg@2x.png
Binary files differ
h5/main.js
@@ -4,25 +4,18 @@
import './uni.promisify.adaptor'
import uView from "uview-ui"
import store from './store/index.js'
import Tabbar from '@/components/tarbar.vue'
import navigation from '@/components/Header.vue'
Vue.config.productionTip = false
// 异步hook
// Vue.prototype.$baseUrl = 'https://dmtest.ahapp.net/h5_api/';
// Vue.prototype.$baseUrl = 'http://facepay.huasunsolar.com/web_interface/';
// Vue.prototype.$baseUrl = 'http://218.23.218.228:8018/web_interface/'
Vue.use(uView)
Vue.component('Tabbar', Tabbar)
Vue.component('navigation', navigation)
Vue.prototype.$store = store
Vue.prototype.$jump = (url) => {
    uni.navigateTo({
        url
    })
}
Vue.prototype.$jump = (url) => {uni.navigateTo({url})}
Vue.prototype.$goBack = () => { uni.navigateBack() }
Vue.prototype.$eventBus = new Vue()
Vue.prototype.$onWait = new Promise((resolve) => {
h5/pages/answer/answer.vue
@@ -304,7 +304,6 @@
              item.status = '0'
              item.selAnswer = null
            })
            console.log(res.data)
            this.list = res.data
          }
          // res.param.problemsDOList.forEach(item => {
@@ -316,7 +315,7 @@
    },
    // 单选选择中题目
    select(line, i) {
      if (this.status === '2') return
      if (this.status != '0') return
      this.list.forEach((item, index) => {
        if (index === i) {
          item.selAnswer = line.code
@@ -325,7 +324,7 @@
      // this.problemIndex = index
    },
    changeBox(index, jeck) {
      if (this.status === '2') return
      if (this.status != '0') return
      this.list.forEach((item, i) => {
        if (index === i) {
          item.options.forEach((item2, j) => {
h5/pages/index/index.vue
@@ -29,8 +29,7 @@
</template>
<script>
import image from 'uview-ui/libs/config/props/image'
import { wxAuthorize } from '@/api'
export default {
  data() {
@@ -44,6 +43,45 @@
    })
    return true
  },
  onLoad() {
    var that = this
    // if (!that.$store.state.openid) {
      let url = window.location.href
      let code = ''
      let source = ''
      if (url.indexOf('code=') !== -1) {
        const query = url.split('?')
        console.log('app-app', url)
        for (const q of query) {
          if (q.indexOf('code=') !== -1) {
            code = q.substring(q.indexOf('code=') + 5, q.length)
          }
          // if (q.indexOf('source=') !== -1) {
          //   source = q.substring(q.indexOf('source=') + 7, q.indexOf('source=') + 8)
          // }
          // 来源:0=司机;1=访客;2=内部员工
        }
        wxAuthorize({
          code: code,
          source: 1
        }).then(res => {
          console.log('app_ress', res)
          if (res.code === 200) {
            that.$store.commit('setOpenId', res.data.openid)
            if (res.data.member) {
              that.$store.commit('setMember', res.data.member)
            }
          }
        })
      } else {
        // const appID = 'wx4d7c10bdec51942b'
        // let uri = encodeURIComponent(url)
        // let authURL =
        //   `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appID}&redirect_uri=${uri}&response_type=code&scope=snsapi_base&state=123#wechat_redirect`
        // window.location.href = authURL
      }
    // }
  },
  methods: {
    jump(type) {
      switch (type) {
h5/pages/notice/notice.vue
@@ -9,7 +9,7 @@
      </view>
      <view class="empty"></view>
    </scroll-view>
    <view class="button" :class="{disable: num > 0}" @click="toapply">
    <view class="button" :class="{ disable: num > 0 }" @click="toapply">
      已知晓,下一步
      <text v-if="num > 0">({{ num }}秒)</text>
    </view>
@@ -33,12 +33,6 @@
    if (!this.$store.state.openId) {
      this.initToken()
    }
    timer = setInterval(() => {
      this.num--
      if (this.num === 0) {
        clearInterval(timer)
      }
    }, 1000)
  },
  methods: {
    initToken() {
@@ -59,6 +53,21 @@
          this.content = res.data.code
        }
      })
      // 倒计时时间
      getSystemDictData({
        dictCode: 'SYSTEM',
        label: 'NOTICE_CUTNTDOWN'
      }).then(res => {
        if (res.code === 200) {
          this.num = res.data.code
          timer = setInterval(() => {
            this.num--
            if (this.num === 0) {
              clearInterval(timer)
            }
          }, 1000)
        }
      })
      // 是否需要答题
      getSystemDictData({
        dictCode: 'SYSTEM',
@@ -70,7 +79,7 @@
      })
    },
    toapply() {
      if(this.num > 0) return
      if (this.num > 0) return
      if (this.answer === '0') {
        uni.navigateTo({
          url: '/pages/userinfo/userinfo'
@@ -125,7 +134,7 @@
    bottom: 30rpx;
    left: 30rpx;
  }
  .disable{
  .disable {
    background-color: #cccccc;
  }
}
h5/pages/staff/index.vue
@@ -63,7 +63,9 @@
        <image class="img" src="@/static/staff/ic_renwuzhongxin.png"></image>
        <view class="h1">任务中心</view>
        <view class="h2">TASK CENTER</view>
        <view class="task_num">{{ taskInfo.noticeWaitNum + taskInfo.noticeCopyNum }}</view>
        <view class="task_num">{{
          taskInfo.noticeWaitNum + taskInfo.noticeCopyNum
        }}</view>
      </view>
      <view class="img_wrap" @click="jump('/pages/staff/meetingCalendar')">
        <image class="img" src="@/static/staff/ic_wodehuiyi.png"></image>
@@ -89,7 +91,7 @@
</template>
<script>
import { logoutPost, stagingHead } from '@/api'
import { logoutPost, stagingHead, wxAuthorize, refreshToken } from '@/api'
export default {
  data() {
    return {
@@ -98,11 +100,62 @@
    }
  },
  onLoad() {
  },
  onShow() {
    if (this.userInfo && this.userInfo.memberId) {
      this.getTaskInfo()
    var that = this
    // if (!that.$store.state.openid) {
    let url = window.location.href
    let code = ''
    let source = ''
    if (url.indexOf('code=') !== -1) {
      const query = url.split('?')
      console.log('app-app', url)
      for (const q of query) {
        if (q.indexOf('code=') !== -1) {
          code = q.substring(q.indexOf('code=') + 5, q.length)
        }
        // if (q.indexOf('source=') !== -1) {
        //   source = q.substring(q.indexOf('source=') + 7, q.indexOf('source=') + 8)
        // }
        // 来源:0=司机;1=访客;2=内部员工
      }
      wxAuthorize({
        code: code,
        source: 2
      }).then(res => {
        console.log('app_ress', res)
        if (res.code === 200) {
          that.$store.commit('setOpenId', res.data.openid)
          if (res.data.member) {
            that.$store.commit('setMember', res.data.member)
          }
        }
      })
    } else {
      // const appID = 'wx4d7c10bdec51942b'
      // let uri = encodeURIComponent(url)
      // let authURL =
      //   `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appID}&redirect_uri=${uri}&response_type=code&scope=snsapi_base&state=123#wechat_redirect`
      // window.location.href = authURL
    }
    // }
    this.getTaskInfo()
    // 刷新token
    // const token = uni.getStorageSync('token')
    // if (token) {
    //   refreshToken().then(res => {
    //     if (res.code && res.code === 200) {
    //       this.$store.commit('setToken', res.data)
    //       console.log('res', res.data);
    //       // setTimeout(() => {
    //       //   this.getTaskInfo()
    //       // }, 1000)
    //     }
    //   })
    // }
  },
  mounted() {
    this.$eventBus.$on('taskBack', () => {
      this.getTaskInfo()
    })
  },
  methods: {
    jump(path) {
h5/pages/staff/task/index.vue
@@ -245,6 +245,12 @@
    // this.dataList = []
    this.getList()
  },
  onBackPress(options) {
    setTimeout(()=>{
      this.$eventBus.$emit('taskBack')
    })
    return false
  },
  onShow() {
    this.pagination.page = 0
    this.dataList = []
@@ -298,7 +304,6 @@
            i.param1 = JSON.parse(i.param1)
          }
        })
        console.log('dataList', this.dataList)
      })
    },
    getHeadList() {
h5/pages/staff/vehicle/applePeo.vue
@@ -141,13 +141,13 @@
  },
  methods: {
    initData() {
      const { param, pagination } = this
      const { param } = this
      findTypeMemberInfo({
        // model: {
        name: param.name,
        // },
        type: '2',
        ...pagination
        companyType: 1,
      }).then(res => {
        this.memberList = res.data || []
        this.memberList.forEach(i => {
h5/pages/visitorApplication/visitorApplication.vue
@@ -119,6 +119,7 @@
      v-if="form1.starttime"
      :show="show5"
      :minDate="formatTimeStamp(form1.starttime)"
      :maxDate="formatTimeStamp(form1.starttime.slice(0,10) + ' 23:59')"
      mode="datetime"
      @cancel="show5 = false"
      @confirm="setendtime"
@@ -775,7 +776,7 @@
      this.form1.starttime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM')
      // this.maxTime = getDaysAfterDate(uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM'), this.day)
      this.maxTime = this.form1.starttime
      console.log(this.form1.starttime)
      console.log(this.form1.starttime.slice(0,10))
      this.show4 = false
    },
    setendtime(e) {
h5/store/index.js
@@ -71,7 +71,7 @@
            state.sessionKey = val
            uni.setStorageSync('sessionKey', val)
        },
        // 清空所有缓存
        // 清空登录缓存
        empty(state) {
            state.token = ''
            state.userInfo = {}