| | |
| | | NODE_ENV = 'development' |
| | | |
| | | VUE_APP_API_URL = 'http://localhost:10010' |
| | | VUE_APP_API_URL = 'http://192.168.0.139:10010' |
| | | VUE_APP_API_URL = 'http://192.168.137.1:10010' |
| | | # VUE_APP_API_URL = 'http://10.50.250.178:8088/gateway_interface' |
| | |
| | | export function cancelById (data) { |
| | | return request.post('/meetingAdmin/cloudService/business/meeting/reservationCancel', data) |
| | | } |
| | | // ç»æ |
| | | // å¼å§ |
| | | export function startById(data) { |
| | | return request.post('/meetingAdmin/cloudService/business/meeting/start', data) |
| | | } |
| | | // æåå¼å§ |
| | | export function startEarlyById(data) { |
| | | return request.post('/meetingAdmin/cloudService/business/meeting/startEarly', data) |
| | | } |
| | | // |
| | | export function overBookById (data) { |
| | | return request.post('/meetingAdmin/cloudService/business/meeting/reservationOver', data) |
| | | } |
| | |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="name" label="å§å" min-width="100px"></el-table-column> |
| | | <el-table-column prop="name" label="å§å" min-width="110px"> |
| | | <template slot-scope="{row}"> |
| | | <span>{{ row.name }}</span> |
| | | <span class="zhuguan" v-if="row.headStatus == 1">主管</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="phone" label="ææºå·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="idcardDecode" label="身份è¯å·" min-width="100px"></el-table-column> |
| | | <el-table-column label="æ§å«" min-width="100px"> |
| | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | @import '@/assets/style/variables.scss'; |
| | | .box { |
| | | width: 100%; |
| | | display: flex; |
| | |
| | | height: 100%; |
| | | } |
| | | } |
| | | .zhuguan{ |
| | | color: $primary-color; |
| | | border: 1px solid $primary-color; |
| | | padding: 0px 3px; |
| | | border-radius: 4px; |
| | | margin-left: 6px; |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:member:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form |
| | | ref="searchForm" |
| | | slot="search-form" |
| | | :model="searchForm" |
| | | label-width="100px" |
| | | inline |
| | | > |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="å§å" prop="name"> |
| | | <el-input |
| | | v-model="searchForm.name" |
| | | placeholder="请è¾å
¥è®¿å®¢åç§°" |
| | | @keypress.enter.native="search" |
| | | ></el-input> |
| | | <el-input v-model="searchForm.name" placeholder="请è¾å
¥è®¿å®¢åç§°" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ç»ç»åç§°" prop="companyName"> |
| | | <el-input |
| | | v-model="searchForm.companyName" |
| | | placeholder="请è¾å
¥ç»ç»åç§°" |
| | | @keypress.enter.native="search" |
| | | ></el-input> |
| | | <el-input v-model="searchForm.companyName" placeholder="请è¾å
¥ç»ç»åç§°" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ç¨æ·ç±»å" prop="type"> |
| | | <el-select v-model="searchForm.type" placeholder="è¯·éæ©"> |
| | |
| | | <!-- <ul class="toolbar" v-permissions="['business:member:create', 'business:member:delete']">--> |
| | | <!-- <li><el-button type="primary" v-permissions="['business:member:create']" @click="thaws">离åº</el-button></li>--> |
| | | <!-- </ul>--> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> |
| | | <!-- <el-table-column type="selection" width="55"></el-table-column>--> |
| | | <el-table-column |
| | | prop="name" |
| | | label="å§å" |
| | | min-width="100px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="phone" |
| | | label="ææºå·" |
| | | min-width="100px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="companyName" |
| | | label="ç»ç»" |
| | | min-width="100px" |
| | | ></el-table-column> |
| | | <el-table-column prop="name" label="å§å" min-width="100px"></el-table-column> |
| | | <el-table-column prop="phone" label="ææºå·" min-width="100px"></el-table-column> |
| | | <el-table-column prop="companyName" label="ç»ç»" min-width="100px"></el-table-column> |
| | | <el-table-column label="ç¨æ·ç±»å" min-width="100px"> |
| | | <template slot-scope="{ row }"> |
| | | <span v-if="row.type === 0">å³å¡è®¿å®¢</span> |
| | |
| | | <span v-if="row.type === 2">å
é¨äººå</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="inDate" |
| | | label="å¨åæ¶é´" |
| | | min-width="100px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="outDate" |
| | | label="ææå°ææ¶é´" |
| | | min-width="100px" |
| | | ></el-table-column> |
| | | <el-table-column prop="inDate" label="å¨åæ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column prop="outDate" label="ææå°ææ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column label="è¶
æ¶æ¶é¿" min-width="100px"> |
| | | <template slot-scope="{ row }"> |
| | | <span v-if="row.outStatus === 1" |
| | | >{{ row.timeOut.toString().replace("-", "") }}åé</span |
| | | > |
| | | <span v-if="row.outStatus === 1">{{ row.timeOut.toString().replace("-", "") }}åé</span> |
| | | <span v-else>-</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="ç¶æ" min-width="100px"> |
| | | <template slot-scope="{ row }"> |
| | | <span v-if="row.outStatus === 0">æªè¶
æ¶</span> |
| | | <span style="color: red" v-else-if="row.outStatus === 1" |
| | | >å·²è¶
æ¶</span |
| | | > |
| | | <span style="color: red" v-else-if="row.outStatus === 1">å·²è¶
æ¶</span> |
| | | <span v-else-if="row.outStatus === 2">å³å°è¶
æ¶</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | v-if=" |
| | | <el-table-column v-if=" |
| | | containPermissions([ |
| | | 'business:member:update', |
| | | 'business:member:delete', |
| | | ]) |
| | | " |
| | | label="æä½" |
| | | min-width="120" |
| | | fixed="right" |
| | | > |
| | | " label="æä½" min-width="120" fixed="right"> |
| | | <template slot-scope="{ row }"> |
| | | <el-button |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | v-permissions="['business:member:update']" |
| | | @click="departure(row.id)" |
| | | >离å</el-button |
| | | > |
| | | <el-button type="text" icon="el-icon-edit" v-permissions="['business:member:update']" |
| | | @click="departure(row.id)">离å</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination"> |
| | | </pagination> |
| | | </template> |
| | | </TableLayout> |
| | |
| | | }, |
| | | methods: { |
| | | departure(id) { |
| | | this.$confirm('ç¡®å®ç¦»åºå, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | this.$confirm('ç¡®å®ç¦»åå, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="idcardDecode" label="身份è¯å·" width="150px"></el-table-column> |
| | | <el-table-column prop="visitCompanyName" label="ç»ç»" min-width="100px"></el-table-column> |
| | | <el-table-column prop="visitsCount" label="æè®¿æ¬¡æ°" min-width="100px"></el-table-column> |
| | | <el-table-column prop="visitsLastDate" label="æåæè®¿æ¶é´" min-width="100px"></el-table-column> |
| | | <el-table-column prop="visitTimes" label="æè®¿æ¬¡æ°" min-width="100px"></el-table-column> |
| | | <el-table-column prop="lastVisitDate" label="æåæè®¿æ¶é´" min-width="100px"></el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul class="toolbar" v-permissions="['business:visits:create', 'business:visits:exportExcel']"> |
| | | <li><el-button type="primary" @click="handleEdit()" icon="el-icon-plus" v-permissions="['business:visits:create']">æ°å»º</el-button></li> |
| | | <li><el-button type="primary" :loading="isWorking.export" @click="exportExcel" v-permissions="['business:visits:exportExcel']">导åº</el-button></li> |
| | | <li><el-button type="primary" @click="handleEdit()" icon="el-icon-plus" |
| | | v-permissions="['business:visits:create']">æ°å»º</el-button></li> |
| | | <li><el-button type="primary" :loading="isWorking.export" @click="exportExcel" |
| | | v-permissions="['business:visits:exportExcel']">导åº</el-button></li> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55"></el-table-column> |
| | | <el-table-column prop="name" label="访客å§å" min-width="100px"></el-table-column> |
| | | <el-table-column prop="phone" label="ææºå·" min-width="100px"></el-table-column> |
| | |
| | | <span v-if="row.status === 9" style="color: gray">已失æ</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:visits:update', 'business:visits:delete'])" |
| | | label="æä½" |
| | | min-width="200" |
| | | fixed="right" |
| | | > |
| | | <el-table-column v-if="containPermissions(['business:visits:update', 'business:visits:delete'])" label="æä½" |
| | | min-width="200" fixed="right"> |
| | | <template slot-scope="{row}"> |
| | | <el-button type="text" @click="departure(row.id)" v-permissions="['business:visits:level']" icon="el-icon-delete" style="color: red" v-if="row.status == 7">离å</el-button> |
| | | <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="departure(row.id)" v-permissions="['business:visits:level']" |
| | | icon="el-icon-delete" style="color: red" v-if="row.status == 7">离å</el-button> |
| | | <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="$refs.OperaVisitsDesWindow.open('详æ
', row.id)" icon="el-icon-view">详æ
</el-button> --> |
| | | <el-button type="text" @click="handleDetail(row)" icon="el-icon-view">详æ
</el-button> |
| | | <!-- <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:visits:delete']">æ¥è¯¢å®¡æ¹ç»æ</el-button>--> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination"> |
| | | </pagination> |
| | | <!-- 详æ
--> |
| | | <!-- <OperaVisitsDesWindow ref="OperaVisitsDesWindow" /> --> |
| | |
| | | methods: { |
| | | handleDetail (row) { |
| | | this.isShowDetail = true |
| | | console.log('row', row); |
| | | console.log('row', row) |
| | | this.$nextTick(() => { |
| | | this.$refs.DetailRef.id = row.id |
| | | this.$refs.DetailRef.type = 0 |
| | |
| | | }) |
| | | }, |
| | | departure (id) { |
| | | this.$confirm('ç¡®å®ç¦»åºå, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | this.$confirm('ç¡®å®ç¦»åå, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | |
| | | <template> |
| | | <TableLayout :permissions="['business:bookings:query']"> |
| | | <!-- æç´¢è¡¨å --> |
| | | <el-form |
| | | ref="searchForm" |
| | | slot="search-form" |
| | | :model="searchForm" |
| | | label-width="100px" |
| | | inline |
| | | > |
| | | <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline> |
| | | <el-form-item label="ä¼è®®å®¤" prop="roomId"> |
| | | <el-select |
| | | v-model="searchForm.roomId" |
| | | filterable |
| | | clearable |
| | | placeholder="è¯·éæ©ä¼è®®å®¤" |
| | | > |
| | | <el-option |
| | | v-for="item in rooms" |
| | | :key="item.id" |
| | | :value="item.id" |
| | | :label="item.name" |
| | | /> |
| | | <el-select v-model="searchForm.roomId" filterable clearable placeholder="è¯·éæ©ä¼è®®å®¤"> |
| | | <el-option v-for="item in rooms" :key="item.id" :value="item.id" :label="item.name" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="é¢çº¦é¨é¨" prop="department"> |
| | | <el-cascader |
| | | v-model="searchForm.department" |
| | | :options="department" |
| | | :show-all-levels="false" |
| | | clearable |
| | | :props="props" |
| | | ></el-cascader> |
| | | <el-cascader v-model="searchForm.department" :options="department" :show-all-levels="false" clearable |
| | | :props="props"></el-cascader> |
| | | <!-- @change="handleChange" --> |
| | | <!-- <el-select |
| | | v-model="searchForm.departmentId" |
| | |
| | | </el-select> --> |
| | | </el-form-item> |
| | | <el-form-item label="ä¼è®®ä¸»é¢" prop="name"> |
| | | <el-input |
| | | v-model="searchForm.name" |
| | | placeholder="请è¾å
¥ä¼è®®ä¸»é¢" |
| | | @keypress.enter.native="search" |
| | | ></el-input> |
| | | <el-input v-model="searchForm.name" placeholder="请è¾å
¥ä¼è®®ä¸»é¢" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="é¢çº¦äºº" prop="realName"> |
| | | <el-input |
| | | v-model="searchForm.realName" |
| | | placeholder="请è¾å
¥é¢çº¦äºº" |
| | | @keypress.enter.native="search" |
| | | ></el-input> |
| | | <el-input v-model="searchForm.realName" placeholder="请è¾å
¥é¢çº¦äºº" @keypress.enter.native="search"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="ä¼è®®ç¶æ" prop="status"> |
| | | <el-select |
| | | v-model="searchForm.meetingStatus" |
| | | filterable |
| | | clearable |
| | | placeholder="è¯·éæ©ç¶æ" |
| | | > |
| | | <el-option |
| | | v-for="item in status" |
| | | :key="item.id" |
| | | :value="item.id" |
| | | :label="item.name" |
| | | /> |
| | | <el-select v-model="searchForm.meetingStatus" filterable clearable placeholder="è¯·éæ©ç¶æ"> |
| | | <el-option v-for="item in status" :key="item.id" :value="item.id" :label="item.name" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="èµ·æ¢æ¶é´" prop="startTime"> |
| | | <el-date-picker |
| | | v-model="date" |
| | | type="datetimerange" |
| | | range-separator="è³" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | :default-time="['00:00:00', '23:59:59']" |
| | | start-placeholder="å¼å§æ¶é´" |
| | | end-placeholder="ç»ææ¶é´" |
| | | @change="selectDate" |
| | | ></el-date-picker> |
| | | <el-date-picker v-model="date" type="datetimerange" range-separator="è³" value-format="yyyy-MM-dd HH:mm:ss" |
| | | :default-time="['00:00:00', '23:59:59']" start-placeholder="å¼å§æ¶é´" end-placeholder="ç»ææ¶é´" |
| | | @change="selectDate"></el-date-picker> |
| | | <!-- <el-date-picker v-model="searchForm.startTime" value-format="yyyy-MM-dd" placeholder="请è¾å
¥å¼å§æ¶é´" @change="search"/> --> |
| | | </el-form-item> |
| | | <el-radio-group |
| | | v-model="searchForm.radio" |
| | | size="small" |
| | | @input="changeRadio" |
| | | > |
| | | <el-radio-group v-model="searchForm.radio" size="small" @input="changeRadio"> |
| | | <el-radio-button label="0">å½å¤©</el-radio-button> |
| | | <el-radio-button label="1">è¿7天</el-radio-button> |
| | | <el-radio-button label="2">è¿30天</el-radio-button> |
| | |
| | | </el-form> |
| | | <!-- è¡¨æ ¼åå页 --> |
| | | <template v-slot:table-wrap> |
| | | <ul |
| | | class="toolbar" |
| | | v-permissions="[ |
| | | <ul class="toolbar" v-permissions="[ |
| | | 'business:bookings:create', |
| | | 'business:bookings:exportExcel', |
| | | ]" |
| | | > |
| | | ]"> |
| | | <li> |
| | | <el-button |
| | | type="primary" |
| | | @click="$refs.operaBookingsWindow.open('æ°å»ºä¼è®®')" |
| | | v-permissions="['business:bookings:create']" |
| | | >æ°å»º</el-button |
| | | > |
| | | <el-button type="primary" @click="$refs.operaBookingsWindow.open('æ°å»ºä¼è®®')" |
| | | v-permissions="['business:bookings:create']">æ°å»º</el-button> |
| | | </li> |
| | | <!-- <li><el-button @click="deleteByIdInBatch" v-permissions="['business:bookings:delete']">å é¤</el-button></li> --> |
| | | <li> |
| | | <el-button |
| | | :loading="isWorking.export" |
| | | v-permissions="['business:bookings:exportExcel']" |
| | | @click="exportExcel" |
| | | >导åº</el-button |
| | | > |
| | | <el-button :loading="isWorking.export" v-permissions="['business:bookings:exportExcel']" |
| | | @click="exportExcel">导åº</el-button> |
| | | </li> |
| | | </ul> |
| | | <el-table |
| | | v-loading="isWorking.search" |
| | | :data="tableData.list" |
| | | stripe |
| | | border |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table v-loading="isWorking.search" :data="tableData.list" stripe border |
| | | @selection-change="handleSelectionChange"> |
| | | <!-- <el-table-column type="selection" align="center" width="55"></el-table-column> --> |
| | | <el-table-column |
| | | prop="name" |
| | | label="ä¼è®®ä¸»é¢" |
| | | align="center" |
| | | min-width="120px" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="name" label="ä¼è®®ä¸»é¢" align="center" min-width="120px" show-overflow-tooltip> |
| | | <template slot-scope="{ row }"> |
| | | <span class="long-title-style">{{ row.name }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="roomName" |
| | | label="ä¼è®®å®¤" |
| | | align="center" |
| | | min-width="120px" |
| | | show-overflow-tooltip |
| | | > |
| | | <el-table-column prop="roomName" label="ä¼è®®å®¤" align="center" min-width="120px" show-overflow-tooltip> |
| | | <template slot-scope="{ row }"> |
| | | <span class="long-title-style">{{ row.roomName }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="meetingTime" |
| | | label="ä¼è®®æ¶é´" |
| | | align="center" |
| | | min-width="120px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="managerInfo" |
| | | label="é¢çº¦äºº" |
| | | align="center" |
| | | min-width="100px" |
| | | ></el-table-column> |
| | | <el-table-column prop="meetingTime" label="ä¼è®®æ¶é´" align="center" min-width="120px"></el-table-column> |
| | | <el-table-column prop="managerInfo" label="é¢çº¦äºº" align="center" min-width="100px"></el-table-column> |
| | | <el-table-column label="ä¼è®®ç¶æ" align="center" min-width="60px"> |
| | | <template slot-scope="{ row }"> |
| | | <span v-if="row.meetingStatus == 1">æªå¼å§</span> |
| | |
| | | <!-- {{ row.status==0 ? 'æ£å¸¸' : 'åæ¶' }} --> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="createDate" |
| | | label="å建æ¶é´" |
| | | align="center" |
| | | min-width="150px" |
| | | ></el-table-column> |
| | | <el-table-column prop="createDate" label="å建æ¶é´" align="center" min-width="150px"></el-table-column> |
| | | <!-- <el-table-column prop="content" label="ä¼è®®å
容" min-width="100px"></el-table-column> --> |
| | | <el-table-column |
| | | v-if=" |
| | | <el-table-column v-if=" |
| | | containPermissions([ |
| | | 'business:bookings:update', |
| | | 'business:bookings:delete', |
| | | ]) |
| | | " |
| | | label="æä½" |
| | | min-width="100" |
| | | align="center" |
| | | fixed="right" |
| | | > |
| | | " label="æä½" min-width="100" align="center" fixed="right"> |
| | | <template slot-scope="{ row }"> |
| | | <template> |
| | | <el-button |
| | | type="text" |
| | | @click="$refs.operaBookingsDetailWindow.open('ä¼è®®è¯¦æ
', row)" |
| | | >æ¥ç详æ
</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.meetingStatus == '1'" type="text" @click="cancelMeeting(row.id)" v-permissions="['business:bookings:update']">æ¤å</el-button> |
| | | <el-button type="text" @click="$refs.operaBookingsDetailWindow.open('ä¼è®®è¯¦æ
', row)">æ¥ç详æ
</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" v-if="row.meetingStatus == '1'" @click="handleStart(row)">å¼å§</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> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handlePageChange" |
| | | :pagination="tableData.pagination" |
| | | > |
| | | <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination"> |
| | | </pagination> |
| | | </template> |
| | | <!-- æ°å»º/ä¿®æ¹ --> |
| | | <OperaBookingsWindow |
| | | ref="operaBookingsWindow" |
| | | @success="handlePageChange" |
| | | /> |
| | | <OperaBookingsDetailWindow |
| | | @success="search" |
| | | ref="operaBookingsDetailWindow" |
| | | /> |
| | | <OperaBookingsWindow ref="operaBookingsWindow" @success="handlePageChange" /> |
| | | <OperaBookingsDetailWindow @success="search" ref="operaBookingsDetailWindow" /> |
| | | |
| | | </TableLayout> |
| | | </template> |
| | |
| | | import { findList } from '@/api/meeting/rooms' |
| | | import { getSystemDictData } from '@/api/system/dictData' |
| | | import { fetchList } from '@/api/business/company' |
| | | import { cancelById, bookingsDetail } from '@/api/meeting/bookings' |
| | | import { cancelById, bookingsDetail, startEarlyById, startById } from '@/api/meeting/bookings' |
| | | import { timeForMat } from '@/utils/util' |
| | | export default { |
| | | name: 'Bookings', |
| | |
| | | .catch(e => { |
| | | }) |
| | | }, |
| | | handleStart(row) { |
| | | this.$dialog.messageWaring('å¼å§ä¼è®®', 'æ¯å¦å¼å§å½åä¼è®®ï¼') |
| | | .then(() => { |
| | | let fn = new Date(row.startTime).getTime() > new Date().getTime() ? startEarlyById : startById |
| | | fn({ id: row.id }) |
| | | .then(() => { |
| | | this.$message.success('ä¼è®®å·²å¼å§') |
| | | this.handlePageChange() |
| | | }) |
| | | .catch(e => { |
| | | }) |
| | | }) |
| | | }, |
| | | cancelMeeting (id) { |
| | | this.$dialog.messageWaring('åæ¶ä¼è®®', 'æ¯å¦åæ¶å½åä¼è®®ï¼') |
| | | .then(() => { |
| | |
| | | <style lang="scss" scoped> |
| | | .detail_modal { |
| | | padding: 20px 16px; |
| | | |
| | | .title { |
| | | text-align: center; |
| | | font-weight: 600; |
| | | font-size: 16px; |
| | | margin-bottom: 20px; |
| | | } |
| | | |
| | | .h1 { |
| | | font-weight: 600; |
| | | font-size: 16px; |
| | | margin-bottom: 15px; |
| | | } |
| | | |
| | | .line { |
| | | display: flex; |
| | | margin-bottom: 10px; |
| | | |
| | | .label { |
| | | width: 70px; |
| | | color: #888888; |
| | | } |
| | | |
| | | .value { |
| | | color: #333333; |
| | | } |
| | |
| | | data |
| | | }) |
| | | } |
| | | // ä¼è®®å®¤ å¼å§ |
| | | export const startMeetignById = (data) => { |
| | | return http({ |
| | | url: 'meetingAdmin/cloudService/web/meeting/start', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | | // ä¼è®®å®¤ æåå¼å§ |
| | | export const startEarlyMeetignById = (data) => { |
| | | return http({ |
| | | url: 'meetingAdmin/cloudService/web/meeting/startEarly', |
| | | method: 'post', |
| | | data |
| | | }) |
| | | } |
| | |
| | | "proxy" : { |
| | | "/admin_interface" : { |
| | | // è¿ä¸ªå段åéä¸ä½ é
ç½®çbasePrefixUrlä¸è´ï¼ç³»ç»è¯å«å°å¸¦æ/dev-api请æ±çå°åæ¶ï¼ä¼å¨å颿¼æ¥ä¸ä»£çæå¡å¨å°å |
| | | "target" : "http://192.168.137.1:10010", // 代çæå¡å¨ååæIPå°å |
| | | "target" : "http://172.20.10.7:10010", // 代çæå¡å¨ååæIPå°å |
| | | // "target" : "http://192.168.31.42:10010", // 代çæå¡å¨ååæIPå°å |
| | | // "target" : "http://10.50.250.178:8088/gateway_interface", // 代çæå¡å¨ååæIPå°å |
| | | "changeOrigin" : true, // å
许跨å |
| | |
| | | <view class="empty empty2"></view> |
| | | <view class="main_footer" v-if="detail.meetingStatus == '1'"> |
| | | <view class="btn" @click="openCancel">æ¤å</view> |
| | | <view class="btn agree" @click="handleEdit">ä¿®æ¹</view> |
| | | <view class="btn edit" @click="handleEdit">ä¿®æ¹</view> |
| | | <view class="btn agree" @click="handleStart">å¼å§ä¼è®®</view> |
| | | </view> |
| | | <view class="main_footer" v-if="detail.meetingStatus == '2'"> |
| | | <view class="main_footer" v-if="detail.meetingStatus == '2' && detail.isAdmin == 1"> |
| | | <view class="btn agree" @click="openClose">ç»æ</view> |
| | | </view> |
| | | <!-- æ¤å --> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { meetingDetail, cancelById, closeMeetignById } from '@/api' |
| | | import { meetingDetail, cancelById, closeMeetignById,startMeetignById,startEarlyMeetignById } from '@/api' |
| | | export default { |
| | | data() { |
| | | return { |
| | |
| | | setTimeout(() => { |
| | | uni.showToast({ |
| | | title: 'æäº¤æå', |
| | | icon: 'success' |
| | | icon: 'none' |
| | | }) |
| | | }) |
| | | setTimeout(() => { |
| | | uni.navigateBack() |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | handleStart() { |
| | | const { id, detail } = this |
| | | let fn = new Date(detail.startTime).getTime() > new Date().getTime() ? startEarlyMeetignById : startMeetignById |
| | | fn({ id }).then(res => { |
| | | if (res.code === 200) { |
| | | setTimeout(() => { |
| | | uni.showToast({ |
| | | title: 'ä¼è®®å·²å¼å§', |
| | | icon: 'none' |
| | | }) |
| | | }) |
| | | setTimeout(() => { |
| | |
| | | background-color: #fff; |
| | | padding: 0 30rpx; |
| | | .btn { |
| | | flex: 1; |
| | | flex: 3; |
| | | height: 88rpx; |
| | | line-height: 88rpx; |
| | | background: #ffffff; |
| | |
| | | text-align: center; |
| | | margin: 16rpx 8rpx; |
| | | } |
| | | |
| | | .edit{ |
| | | color: $uni-color-primary; |
| | | border: 1rpx solid $uni-color-primary; |
| | | } |
| | | .agree { |
| | | flex: 5; |
| | | background: $uni-color-primary; |
| | | color: #fff; |
| | | border: 1rpx solid $uni-color-primary; |
| | |
| | | <template> |
| | | <view class="main_app" :class="{ popupShow: isShowSelMem }"> |
| | | <view class="search_inp df_ac"> |
| | | <image |
| | | class="mr12 search" |
| | | src="../../static/ic_search@2x.png" |
| | | mode="widthFix" |
| | | ></image> |
| | | <input |
| | | v-model="param.keyword" |
| | | @blur="initData()" |
| | | type="text" |
| | | placeholder="æç´¢" |
| | | placeholder-style="color: #999999;" |
| | | /> |
| | | <image class="mr12 search" src="../../static/ic_search@2x.png" mode="widthFix"></image>
|
| | | <input v-model="param.keyword" @blur="initData()" type="text" placeholder="æç´¢"
|
| | | placeholder-style="color: #999999;" />
|
| | | </view> |
| | | <view class="member_list"> |
| | | <view v-for="(item, index) in memberList" :key="item.id" class="line"> |
| | | <image |
| | | v-if="item.avatar" |
| | | :src="item.prefixUrl + item.avatar" |
| | | class="avatar" |
| | | mode="" |
| | | ></image> |
| | | <image v-if="item.avatar" :src="item.prefixUrl + item.avatar" class="avatar" mode=""></image>
|
| | | <view v-else class="avatar">{{ item.realname.slice(0, 1) }}</view> |
| | | <view class="content"> |
| | | <view class="info"> |
| | |
| | | </view> |
| | | <view class="depart">{{ item.departmentName }}</view> |
| | | </view> |
| | | <image |
| | | @click="changeMem(item, index)" |
| | | v-if="item.checked" |
| | | src="@/static/checkbox_sel@2x.png" |
| | | mode="widthFix" |
| | | class="checked" |
| | | ></image> |
| | | <image |
| | | @click="changeMem(item, index)" |
| | | v-if="!item.checked" |
| | | src="@/static/meeting/icon/ic_choose@2x.png" |
| | | mode="widthFix" |
| | | class="checked" |
| | | ></image> |
| | | <image @click="changeMem(item, index)" v-if="item.checked" src="@/static/checkbox_sel@2x.png" mode="widthFix"
|
| | | class="checked"></image>
|
| | | <image @click="changeMem(item, index)" v-if="!item.checked" src="@/static/meeting/icon/ic_choose@2x.png"
|
| | | mode="widthFix" class="checked"></image>
|
| | | <text></text> |
| | | </view> |
| | | <view class="empty"></view> |
| | |
| | | <view class="sel_mem"> |
| | | <text>已鿩ï¼</text> |
| | | <view class="members"> |
| | | <text v-for="(item, i) in selList" :key="i" |
| | | >{{ item.realname }}ï¼</text |
| | | > |
| | | <text v-for="(item, i) in selList" :key="i">{{ item.realname }}ï¼</text>
|
| | | </view> |
| | | <image |
| | | @click="isShowSelMem = true" |
| | | class="open_icon" |
| | | src="../../static/staff/renyuan_ic_open.png" |
| | | mode="" |
| | | ></image> |
| | | <image @click="openSeleter" class="open_icon" src="../../static/staff/renyuan_ic_open.png" mode=""></image>
|
| | | </view> |
| | | <view class="btn" @click="onSubmit" |
| | | >确认({{ selList.length }}/{{ param.limitNum }})</view |
| | | > |
| | | <view class="btn" @click="onSubmit">确认({{ selList.length }}/{{ param.limitNum }})</view>
|
| | | </view> |
| | | <!-- --> |
| | | <u-popup |
| | | catchtouchmove |
| | | :show="isShowSelMem" |
| | | :round="12" |
| | | mode="bottom" |
| | | @close="closeModal" |
| | | > |
| | | <u-popup catchtouchmove :show="isShowSelMem" :round="12" mode="bottom" @close="closeModal">
|
| | | <view class="modal"> |
| | | <view class="modal_header"> |
| | | <text class="status">已鿩ï¼{{ selList.length }}人</text> |
| | | <text class="status">已鿩ï¼{{ selList.filter(i => i.checkedTemp).length }}人</text>
|
| | | <text class="btn" @click="subSelMem">确认</text> |
| | | </view> |
| | | <view class="modal_mem_list"> |
| | | <view class="line" v-for="(item, i) in selList" :key="i"> |
| | | <image |
| | | v-if="item.avatar" |
| | | :src="item.prefixUrl + item.avatar" |
| | | class="avatar" |
| | | mode="" |
| | | ></image> |
| | | <template v-for="(item, i) in selList">
|
| | | <view class="line" v-if="item.checkedTemp">
|
| | | <image v-if="item.avatar" :src="item.prefixUrl + item.avatar" class="avatar" mode=""></image>
|
| | | <view v-else class="avatar">{{ item.realname.slice(0, 1) }}</view> |
| | | <view class="content"> |
| | | <view class="info"> |
| | |
| | | </view> |
| | | <view class="btn" @click="handleRemove(i)">ç§»é¤</view> |
| | | </view> |
| | | </template>
|
| | | </view> |
| | | </view> |
| | | </u-popup> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { userPagePost } from '@/api' |
| | | import {
|
| | | userPagePost
|
| | | } from '@/api'
|
| | | import dayjs from 'dayjs' |
| | | export default { |
| | | data() { |
| | |
| | | uni.navigateBack() |
| | | }, |
| | | changeMem(item, index) { |
| | | const { selList, param } = this |
| | | if (this.selList.length == param.limitNum && !item.checked) return uni.showToast({ |
| | | title: `该ä¼è®®å¯å®¹çº³${param.limitNum}人`, |
| | | icon: 'none' |
| | | }) |
| | | // const { selList, param } = this
|
| | | // if (this.selList.length == param.limitNum && !item.checked) return uni.showToast({
|
| | | // title: `该ä¼è®®å¯å®¹çº³${param.limitNum}人`,
|
| | | // icon: 'none'
|
| | | // })
|
| | | // item.checked = !item.checked
|
| | | // this.selList = this.memberList.filter(i => i.checked)
|
| | | // // |
| | | item.checked = !item.checked |
| | | this.selList = this.memberList.filter(i => i.checked) |
| | | // const arr = e.detail.value |
| | | // let arrTemp = arr.map(item => { |
| | | // let obj = {} |
| | | // this.memberList.forEach(ite => { |
| | | // if (item == ite.id) { |
| | | // obj.name = ite.name.split('-')[0] |
| | | // obj.componey = ite.name.split('-')[1] || '' |
| | | // obj.id = ite.id |
| | | // } |
| | | // }) |
| | | // return obj |
| | | // }) |
| | | // this.selList = arrTemp |
| | | const i = this.selList.findIndex(a => a.id === item.id)
|
| | | if (item.checked && i === -1) {
|
| | | this.selList.push(item)
|
| | | } else {
|
| | | this.selList.splice(i, 1)
|
| | | }
|
| | | this.$forceUpdate()
|
| | | },
|
| | | openSeleter() {
|
| | | this.isShowSelMem = true
|
| | | this.selList.forEach(item => {
|
| | | item.checkedTemp = true
|
| | | })
|
| | | this.$forceUpdate() |
| | | }, |
| | | initData() { |
| | | const { param, pagination } = this |
| | | const {
|
| | | param,
|
| | | pagination
|
| | | } = this
|
| | | userPagePost({ |
| | | model: { ...param }, |
| | | model: {
|
| | | ...param
|
| | | },
|
| | | ...pagination, |
| | | |
| | | }).then(res => { |
| | | this.memberList = res.data.records || [] |
| | | this.memberList.map(i => { |
| | | i.checked = false |
| | | this.memberList.forEach(i => {
|
| | | const index = this.selList.findIndex(ite => ite.id === i.id)
|
| | | i.checked = index > -1
|
| | | }) |
| | | }) |
| | | }, |
| | | closeModal() { |
| | | this.selList = this.memberList.filter(i => i.checked) |
| | | this.selList.forEach(item => {
|
| | | item.checkedTemp = true
|
| | | })
|
| | | this.isShowSelMem = false |
| | | }, |
| | | subSelMem() { |
| | | const { selList, memberList } = this |
| | | const {
|
| | | memberList
|
| | | } = this
|
| | | this.selList = this.selList.filter(i => i.checkedTemp)
|
| | | memberList.forEach(ite => { |
| | | ite.checked = false |
| | | selList.forEach(item => { |
| | | if (ite.id === item.id) { |
| | | ite.checked = true |
| | | } else { } |
| | | }) |
| | | const index = this.selList.findIndex(i => i.id === ite.id)
|
| | | ite.checked = index > -1
|
| | | }) |
| | | this.isShowSelMem = false |
| | | this.$forceUpdate() |
| | | }, |
| | | handleRemove(i) { |
| | | this.selList.splice(i, 1) |
| | | |
| | | // console.log(this.memberList); |
| | | this.selList[i].checkedTemp = false
|
| | | this.$forceUpdate() |
| | | }, |
| | | } |
| | |
| | | .modal { |
| | | padding: 40rpx 30rpx; |
| | | max-height: 1000rpx; |
| | |
|
| | | .modal_header { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | padding-bottom: 20rpx; |
| | |
|
| | | .status { |
| | | font-weight: 600; |
| | | } |
| | |
|
| | | .btn { |
| | | color: $uni-color-primary; |
| | | } |
| | | } |
| | |
|
| | | .modal_mem_list { |
| | | max-height: 860rpx; |
| | | overflow: auto; |
| | |
|
| | | .line { |
| | | display: flex; |
| | | align-items: center; |
| | | border-bottom: 1rpx solid #e5e5e5; |
| | | padding: 30rpx 0; |
| | |
|
| | | .avatar { |
| | | width: 64rpx; |
| | | height: 64rpx; |
| | |
| | | background-color: $uni-color-primary; |
| | | color: #fff; |
| | | } |
| | |
|
| | | .content { |
| | | flex: 1; |
| | |
|
| | | .depart { |
| | | font-size: 24rpx; |
| | | color: #666666; |
| | | } |
| | |
|
| | | .info { |
| | | display: flex; |
| | | margin-bottom: 16rpx; |
| | |
|
| | | .name { |
| | | font-size: 30rpx; |
| | | } |
| | | } |
| | | } |
| | |
|
| | | .btn { |
| | | width: 80rpx; |
| | | height: 48rpx; |
| | |
| | | } |
| | | } |
| | | } |
| | |
|
| | | .sub_wrap { |
| | | position: fixed; |
| | | bottom: 0; |
| | |
| | | width: 100%; |
| | | box-shadow: 0rpx 0rpx 6rpx 0rpx #b2b2b2; |
| | | padding: 30rpx 30rpx 64rpx; |
| | |
|
| | | .sel_mem { |
| | | display: flex; |
| | | align-items: center; |
| | |
|
| | | .members { |
| | | width: 500rpx; |
| | | color: $uni-color-primary; |
| | |
| | | text-overflow: ellipsis; |
| | | margin-right: 20rpx; |
| | | } |
| | |
|
| | | .open_icon { |
| | | width: 44rpx; |
| | | height: 44rpx; |
| | | } |
| | | } |
| | |
|
| | | .btn { |
| | | width: 690rpx; |
| | | height: 88rpx; |
| | |
| | | margin-top: 22rpx; |
| | | } |
| | | } |
| | |
|
| | | .member_list { |
| | | .line { |
| | | display: flex; |
| | | align-items: center; |
| | | border-bottom: 1rpx solid #e5e5e5; |
| | | padding: 30rpx 0; |
| | |
|
| | | .avatar { |
| | | width: 64rpx; |
| | | height: 64rpx; |
| | |
| | | overflow: hidden; |
| | | margin-right: 20rpx; |
| | | } |
| | |
|
| | | .content { |
| | | flex: 1; |
| | |
|
| | | .depart { |
| | | font-size: 24rpx; |
| | | color: #666666; |
| | | } |
| | |
|
| | | .info { |
| | | display: flex; |
| | | margin-bottom: 16rpx; |
| | |
|
| | | .name { |
| | | font-size: 30rpx; |
| | | } |
| | |
|
| | | .tag { |
| | | font-size: 24rpx; |
| | | border-radius: 4rpx; |
| | |
| | | } |
| | | } |
| | | } |
| | |
|
| | | .checked { |
| | | width: 48rpx; |
| | | } |
| | | } |
| | |
|
| | | .empty { |
| | | width: 100%; |
| | | height: 280rpx; |
| | | } |
| | | } |
| | |
|
| | | .search_inp { |
| | | height: 72rpx; |
| | | background: #f7f7f7; |
| | | border-radius: 4rpx; |
| | | padding-left: 16rpx; |
| | |
|
| | | .search { |
| | | width: 28rpx; |
| | | } |
| | |
|
| | | input { |
| | | flex: 1; |
| | | font-size: 28rpx; |
| | |
| | | <view class="member_list"> |
| | | <checkbox-group @change="changeMem"> |
| | | <view v-for="item in memberList" :key="item.id" class="line"> |
| | | <image |
| | | :src=" |
| | | item.faceImgFull |
| | | ? item.faceImgFull |
| | | : require('@/static/default_avatar.png') |
| | | " |
| | | class="avatar" |
| | | mode="" |
| | | ></image> |
| | | <image v-if="item.faceImgFull" :src="item.faceImgFull" class="avatar" ></image> |
| | | <span v-else class="img_name">{{item.name && item.name.slice(0,1)}}</span> |
| | | <view class="content"> |
| | | <view class="info"> |
| | | <text class="name">{{ item.name }}</text> |
| | |
| | | overflow: hidden; |
| | | margin-right: 20rpx; |
| | | } |
| | | .img_name{ |
| | | width: 64rpx; |
| | | height: 64rpx; |
| | | line-height: 64rpx; |
| | | text-align: center; |
| | | border-radius: 50%; |
| | | overflow: hidden; |
| | | margin-right: 20rpx; |
| | | background: $uni-color-primary; |
| | | color: #fff; |
| | | border: 1rpx solid $uni-color-primary; |
| | | } |
| | | .content { |
| | | flex: 1; |
| | | .depart { |
| | |
| | | <view class="img_wrap" v-for="item in info.submitFileList" :key="item.id">
|
| | | <image v-if="item.type == 0" :src="item.fileurlFull" @click="priviewImage(item.fileurlFull)" mode="widthFix"
|
| | | class="img" />
|
| | | <video v-if="item.type == 1" :src="item.fileurlFull" class="video" controls />
|
| | | <video v-if="item.type == 1" :src="item.fileurlFull" class="video" :controls="false" />
|
| | | </view>
|
| | | </view>
|
| | | <view class="text_wrap">
|
| | |
| | | <!-- -->
|
| | | <view class="emyty"></view>
|
| | | <view v-if="info.status == 1 || info.status == 2" class="module_list"> |
| | | <view class="flow_title">å¤çç»æ</view>
|
| | | <view class="title">å¤çç»æ</view>
|
| | | <view class="item">
|
| | | <view class="label">å¤çç»æ</view>
|
| | | <view class="value primaryColor" :class="{ red: info.status == 2 }">{{ statusMap[info.status] }}</view>
|
| | |
| | | <view class="value">
|
| | | <view class="adduser_list_item_ipt1_upload" v-for="(item, i) in info.dealBeforeFileList" :key="i">
|
| | | <image v-if="item.type == 0" :src="item.fileurlFull" mode="widthFix"></image>
|
| | | <video v-if="item.type == 1" :src="item.fileurlFull"></video>
|
| | | <video v-if="item.type == 1" :src="item.fileurlFull" :controls="false"></video>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | |
| | | <view class="value">
|
| | | <view class="adduser_list_item_ipt1_upload" v-for="(item, i) in info.dealAfterFileList" :key="i">
|
| | | <image v-if="item.type == 0" :src="item.fileurlFull" mode="widthFix"></image>
|
| | | <video v-if="item.type == 1" :src="item.fileurlFull"></video>
|
| | | <video v-if="item.type == 1" :src="item.fileurlFull" :controls="false"></video>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | |
| | | <view class="content">
|
| | | <view class="head">
|
| | | <view class="event">{{ item.title }}</view>
|
| | | <view class="time">{{ item.createDate }}</view>
|
| | | <view class="time" v-if="item.createDate">{{ item.createDate.slice(0,16) }}</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="company">
|
| | |
| | | <view class="emyty"></view>
|
| | | <view class="main_footer">
|
| | | <view v-if="info.status==0&& info.checkUserId == userInfo.memberId" class="btn" @click="handleBack">éå</view>
|
| | | <view v-if="info.status==0 && info.checkUserId == userInfo.memberId" class="btn transfer" @click="handleTransfer">转交</view>
|
| | | <view v-if="info.status==0&& info.checkUserId == userInfo.memberId" class="btn handle" @click="handleOpen">å¤ç</view>
|
| | | <view v-if="info.status==0 && info.checkUserId == userInfo.memberId" class="btn transfer" @click="handleTransfer">
|
| | | 转交</view>
|
| | | <view v-if="info.status==0&& info.checkUserId == userInfo.memberId" class="btn handle" @click="handleOpen">å¤ç
|
| | | </view>
|
| | | </view>
|
| | |
|
| | | <!-- éå -->
|
| | |
| | | <u-icon class="close" size="20" name="close-circle-fill" color="red"
|
| | | @click="fileDel('dealBeforeFileList', i)"></u-icon>
|
| | | <image v-if="item.type == 0" :src="item.fileurlFull" mode="widthFix"></image>
|
| | | <video v-if="item.type == 1" :src="item.fileurlFull"></video>
|
| | | <video v-if="item.type == 1" :src="item.fileurlFull" :controls="false"></video>
|
| | | </view>
|
| | | </view>
|
| | | <view class="label">éå说æ</view>
|
| | |
| | | <u-icon class="close" size="20" name="close-circle-fill" color="red"
|
| | | @click="fileDel('dealBeforeFileList', i)"></u-icon>
|
| | | <image v-if="item.type == 0" :src="item.fileurlFull" mode="widthFix"></image>
|
| | | <video v-if="item.type == 1" :src="item.fileurlFull"></video>
|
| | | <video v-if="item.type == 1" :src="item.fileurlFull" :controls="false"></video>
|
| | | </view>
|
| | | </view>
|
| | | <view class="label">
|
| | |
| | | <u-icon class="close" size="20" name="close-circle-fill" color="red"
|
| | | @click="fileDel('dealAfterFileList', i)"></u-icon>
|
| | | <image v-if="item.type == 0" :src="item.fileurlFull" mode="widthFix"></image>
|
| | | <video v-if="item.type == 1" :src="item.fileurlFull"></video>
|
| | | <video v-if="item.type == 1" :src="item.fileurlFull" :controls="false"></video>
|
| | | </view>
|
| | | </view>
|
| | | <view class="label">æ´æ¹è¯´æ</view>
|
| | |
| | | <view class="member_list">
|
| | | <view class="mt24 placeholder6">å
±{{ memberList.length }}æ¡æ°æ®</view>
|
| | | <view v-for="item in memberList" :key="item.id" class="line">
|
| | | <image :src="item.faceImgFull ? item.faceImgFull : require('@/static/meeting/common/default_user@2x.png')"
|
| | | class="avatar" mode=""></image>
|
| | | <image v-if="item.faceImgFull" :src="item.faceImgFull" class="avatar"></image>
|
| | | <span v-else class="img_name">{{item.name && item.name.slice(0,1)}}</span>
|
| | | <view class="content">
|
| | | <view class="info">
|
| | | <text class="name">{{ item.name }}</text>
|
| | |
| | | </view>
|
| | | <view class="depart">{{ item.companyName }}</view>
|
| | | </view>
|
| | | <image @click="changeMem(item)" v-if="transferParam.id == item.id"
|
| | | src="@/static/checkbox_sel@2x.png" mode="widthFix" class="checked"></image>
|
| | | <image @click="changeMem(item)" v-else src="@/static/video@2x.png" mode="widthFix"
|
| | | class="checked"></image>
|
| | | <image @click="changeMem(item)" v-if="transferParam.id == item.id" src="@/static/checkbox_sel@2x.png"
|
| | | mode="widthFix" class="checked"></image>
|
| | | <image @click="changeMem(item)" v-else src="@/static/video@2x.png" mode="widthFix" class="checked"></image>
|
| | | <text></text>
|
| | | </view>
|
| | | <view class="empty"></view>
|
| | |
| | | </view>
|
| | | </u-popup>
|
| | | <!-- éåæ¶é´ -->
|
| | | <u-datetime-picker :show="isShowBackDate" @confirm="confirmBackDate" @cancel="isShowBackDate = false"
|
| | | <u-datetime-picker :show="isShowBackDate" :minDate="new Date().getTime()" :closeOnClickOverlay="false"
|
| | | @confirm="confirmBackDate" @close="isShowBackDate = false" @cancel="isShowBackDate = false"
|
| | | mode="datetime"></u-datetime-picker>
|
| | |
|
| | | <u-datetime-picker :minDate="new Date().getTime()" :show="isShowHandleDate" @confirm="confirmHandleDate"
|
| | |
| | | },
|
| | | getMemList() {
|
| | | findHiddenAreaMemberList({
|
| | | model: {
|
| | | ...this.transferModel,
|
| | | id: this.info.areaId
|
| | | },
|
| | | id: this.info.areaId,
|
| | | ...this.pagination
|
| | | }).then(res => {
|
| | | this.memberList = res.data || [];
|
| | |
| | | }
|
| | | };
|
| | | </script>
|
| | | <style>
|
| | |
|
| | | <style lang="scss">
|
| | | page {
|
| | | background-color: #f7f7f7;
|
| | |
|
| | | ::v-deep .u-popup__content {
|
| | | border-top: 1rpx solid #cccccc;
|
| | | }
|
| | | </style>
|
| | | <style lang="scss">
|
| | | }
|
| | |
|
| | | .main_app {
|
| | | background-color: #fff;
|
| | | padding-bottom: 0;
|
| | |
|
| | | .flow_title { |
| | | font-weight: 600; |
| | | font-size: 32rpx; |
| | | color: #222222; |
| | | margin-bottom: 24rpx; |
| | | }
|
| | |
|
| | | .flow_wrap {
|
| | | padding: 30rpx 0;
|
| | |
|
| | |
| | | font-size: 26rpx; |
| | | color: #777777; |
| | | } |
| | |
|
| | | .status-green{ |
| | | color: $uni-color-primary; |
| | | } |
| | |
|
| | | .status-red{ |
| | | color: red; |
| | | } |
| | |
| | |
|
| | | .module_list { |
| | | .title{ |
| | | |
| | | font-weight: 600;
|
| | | font-size: 32rpx;
|
| | | color: #222222;
|
| | | padding-top: 28rpx;
|
| | | }
|
| | |
|
| | | .item {
|
| | | padding: 30rpx 0;
|
| | | border-bottom: 1rpx solid #e5e5e5;
|
| | |
| | | }
|
| | |
|
| | | .video {
|
| | | height: 160rpx;
|
| | | width: 100%;
|
| | | max-height: 100%;
|
| | | }
|
| | | }
|
| | |
|
| | |
| | |
|
| | | video {
|
| | | width: 100%;
|
| | | max-height: 120rpx;
|
| | | height: 100%;
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | margin-right: 20rpx;
|
| | | }
|
| | |
|
| | | .img_name {
|
| | | width: 64rpx;
|
| | | height: 64rpx;
|
| | | line-height: 64rpx;
|
| | | text-align: center;
|
| | | border-radius: 50%;
|
| | | overflow: hidden;
|
| | | margin-right: 20rpx;
|
| | | background: $uni-color-primary;
|
| | | color: #fff;
|
| | | border: 1rpx solid $uni-color-primary;
|
| | | }
|
| | |
|
| | | .content {
|
| | | flex: 1;
|
| | |
|
| | |
| | | { |
| | | "openVueDevtools" : false, |
| | | "type" : "uni-app:h5" |
| | | }, |
| | | { |
| | | "app-plus" : |
| | | { |
| | | "launchtype" : "local" |
| | | }, |
| | | "type" : "uniCloud" |
| | | } |
| | | ] |
| | | } |
| | |
| | | "versionName" : "1.0.0", |
| | | "versionCode" : "100", |
| | | "transformPx" : false, |
| | | "h5": {
|
| | | "router": {
|
| | | "mode": "hash",
|
| | | "base": "./"
|
| | | },
|
| | | // "base" : "/h5/"
|
| | | "devServer": {
|
| | | "port": 8090,
|
| | | "historyApiFallback": true,
|
| | | "disableHostCheck": true,
|
| | | "proxy": {
|
| | | "/meetingAdmin": {
|
| | | // è¿ä¸ªå段åéä¸ä½ é
ç½®çbasePrefixUrlä¸è´ï¼ç³»ç»è¯å«å°å¸¦æ/dev-api请æ±çå°åæ¶ï¼ä¼å¨å颿¼æ¥ä¸ä»£çæå¡å¨å°å
|
| | | // "target" : "http://192.168.0.173/admin_interface", // 代çæå¡å¨ååæIPå°å
|
| | | "target": "http://192.168.137.1:10010", // 代çæå¡å¨ååæIPå°å
|
| | | "changeOrigin": true, // å
许跨å |
| | | "pathRewrite": {
|
| | | "^/meetingAdmin": "" // éåå°åï¼å¦æå®é
æ¥å£ä¸æ¯ä¸å¸¦/dev-apiï¼éè¦å°è¿ä¸ªåç¼ç½®ç©ºï¼å 为è¿ä¸ªåç¼åªæ¯ä¸ºäºè¯å«ç¨ï¼è¯å«å®ä¹å就没ç¨äº
|
| | | }
|
| | | }
|
| | | },
|
| | | "https": false
|
| | | }
|
| | | }, |
| | | /* 5+Appç¹æç¸å
³ */ |
| | | "app-plus" : { |
| | | "usingComponents" : true, |
| | |
| | | ] |
| | | }, |
| | | /* iosæå
é
ç½® */ |
| | | "ios" : {}, |
| | | "ios" : { |
| | | "dSYMs" : false |
| | | }, |
| | | /* SDKé
ç½® */ |
| | | "sdkConfigs" : {} |
| | | "sdkConfigs" : { |
| | | "ad" : {} |
| | | } |
| | | } |
| | | }, |
| | | /* å¿«åºç¨ç¹æç¸å
³ */ |
| | |
| | | "requires": true, |
| | | "lockfileVersion": 1, |
| | | "dependencies": { |
| | | "balanced-match": { |
| | | "version": "1.0.2", |
| | | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", |
| | | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" |
| | | }, |
| | | "brace-expansion": { |
| | | "version": "2.0.1", |
| | | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", |
| | | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", |
| | | "requires": { |
| | | "balanced-match": "^1.0.0" |
| | | } |
| | | }, |
| | | "dayjs": { |
| | | "version": "1.11.13" |
| | | "version": "1.11.13", |
| | | "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", |
| | | "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==" |
| | | }, |
| | | "decompress-response": { |
| | | "version": "6.0.0", |
| | | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", |
| | | "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", |
| | | "requires": { |
| | | "mimic-response": "^3.1.0" |
| | | } |
| | | }, |
| | | "fs.realpath": { |
| | | "version": "1.0.0", |
| | | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", |
| | | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" |
| | | }, |
| | | "glob": { |
| | | "version": "8.1.0", |
| | | "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", |
| | | "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", |
| | | "requires": { |
| | | "fs.realpath": "^1.0.0", |
| | | "inflight": "^1.0.4", |
| | | "inherits": "2", |
| | | "minimatch": "^5.0.1", |
| | | "once": "^1.3.0" |
| | | } |
| | | }, |
| | | "inflight": { |
| | | "version": "1.0.6", |
| | | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", |
| | | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", |
| | | "requires": { |
| | | "once": "^1.3.0", |
| | | "wrappy": "1" |
| | | } |
| | | }, |
| | | "inherits": { |
| | | "version": "2.0.4", |
| | | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", |
| | | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" |
| | | }, |
| | | "js-binary-schema-parser": { |
| | | "version": "2.0.3", |
| | | "resolved": "https://registry.npmjs.org/js-binary-schema-parser/-/js-binary-schema-parser-2.0.3.tgz", |
| | | "integrity": "sha512-xezGJmOb4lk/M1ZZLTR/jaBHQ4gG/lqQnJqdIv4721DMggsa1bDVlHXNeHYogaIEHD9vCRv0fcL4hMA+Coarkg==" |
| | | }, |
| | | "mimic-response": { |
| | | "version": "3.1.0", |
| | | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", |
| | | "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" |
| | | }, |
| | | "minimatch": { |
| | | "version": "5.1.6", |
| | | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", |
| | | "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", |
| | | "requires": { |
| | | "brace-expansion": "^2.0.1" |
| | | } |
| | | }, |
| | | "once": { |
| | | "version": "1.4.0", |
| | | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", |
| | | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", |
| | | "requires": { |
| | | "wrappy": "1" |
| | | } |
| | | }, |
| | | "parenthesis": { |
| | | "version": "3.1.8", |
| | | "resolved": "https://registry.npmjs.org/parenthesis/-/parenthesis-3.1.8.tgz", |
| | | "integrity": "sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw==" |
| | | }, |
| | | "simple-concat": { |
| | | "version": "1.0.1", |
| | | "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", |
| | | "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" |
| | | }, |
| | | "simple-get": { |
| | | "version": "4.0.1", |
| | | "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", |
| | | "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", |
| | | "requires": { |
| | | "decompress-response": "^6.0.0", |
| | | "once": "^1.3.1", |
| | | "simple-concat": "^1.0.0" |
| | | } |
| | | }, |
| | | "string-split-by": { |
| | | "version": "1.0.0", |
| | | "resolved": "https://registry.npmjs.org/string-split-by/-/string-split-by-1.0.0.tgz", |
| | | "integrity": "sha512-KaJKY+hfpzNyet/emP81PJA9hTVSfxNLS9SFTWxdCnnW1/zOOwiV248+EfoX7IQFcBaOp4G5YE6xTJMF+pLg6A==", |
| | | "requires": { |
| | | "parenthesis": "^3.1.5" |
| | | } |
| | | }, |
| | | "vue-qr": { |
| | | "version": "4.0.9", |
| | | "resolved": "https://registry.npmjs.org/vue-qr/-/vue-qr-4.0.9.tgz", |
| | | "integrity": "sha512-pAISV94T0MNEYA3NGjykUpsXRE2QfaNxlu9ZhEL6CERgqNc21hJYuP3hRVzAWfBQlgO18DPmZTbrFerJC3+Ikw==", |
| | | "requires": { |
| | | "glob": "^8.0.1", |
| | | "js-binary-schema-parser": "^2.0.2", |
| | | "simple-get": "^4.0.1", |
| | | "string-split-by": "^1.0.0" |
| | | } |
| | | }, |
| | | "wrappy": { |
| | | "version": "1.0.2", |
| | | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", |
| | | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" |
| | | "uqrcodejs": { |
| | | "version": "4.0.7", |
| | | "resolved": "https://registry.npmjs.org/uqrcodejs/-/uqrcodejs-4.0.7.tgz", |
| | | "integrity": "sha512-84+aZmD2godCVI+93lxE3YUAPNY8zAJvNA7xRS7R7U+q57KzMDepBSfNCwoRUhWOfR6eHFoAOcHRPwsP6ka1cA==" |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | "dependencies": { |
| | | "dayjs": "^1.11.13", |
| | | "vue-qr": "^4.0.9" |
| | | "uqrcodejs": "^4.0.7" |
| | | } |
| | | } |
| | |
| | | <view class="item"> |
| | | <view class="title">æ¥å£å°å</view> |
| | | <view class="line"> |
| | | <input type="text" v-model="param.addr" /> |
| | | <input type="text" v-model="param.baseUrl" /> |
| | | <image src="../../static/icon/right.svg" class="icon"></image> |
| | | </view> |
| | | </view> |
| | |
| | | }) |
| | | }) |
| | | setTimeout(()=>{ |
| | | uni.navigateBack() |
| | | uni.redirectTo({ |
| | | url:'/pages/index/index' |
| | | }) |
| | | }, 400) |
| | | } |
| | | } |
| | |
| | | <text>é¢çº¦äººï¼{{meetingInfo.bookingUser }}</text>
|
| | | </view>
|
| | | </view> |
| | | <vueQr v-if="meetingInfo.id" :text="meetingInfo.id" class="qrcode" />
|
| | | <canvas id="qrcode" canvas-id="qrcode" class="qrcode"></canvas> |
| | | <!-- <vueQr v-if="meetingInfo.id" :text="meetingInfo.id" class="qrcode" /> -->
|
| | | </view>
|
| | | <view class="meeting_wrap">
|
| | | <view class="title">仿¥ä¼è®®ï¼{{ info.meetingListResponseList && info.meetingListResponseList.length > 0 ? info.meetingListResponseList.length : 0 }}ï¼</view>
|
| | |
| | |
|
| | | <script>
|
| | | import dayjs from 'dayjs' |
| | | import vueQr from 'vue-qr/src/packages/vue-qr.vue'
|
| | | // import vueQr from 'vue-qr/src/packages/vue-qr.vue' |
| | | import UQRCode from 'uqrcodejs'
|
| | | import {
|
| | | meetScreenData
|
| | | } from '@/api/index.js'
|
| | | export default { |
| | | components: {vueQr},
|
| | | // components: {vueQr},
|
| | | data() {
|
| | | return {
|
| | | time: '',
|
| | |
| | | meetingInfo: {}
|
| | | }
|
| | | },
|
| | | onLoad() {
|
| | | onShow() {
|
| | | this.initDatetime()
|
| | | this.param = uni.getStorageSync('param') || {}
|
| | | if (!this.param.code) {
|
| | |
| | | }
|
| | | this.getData()
|
| | | },
|
| | | onReady() { |
| | | },
|
| | | methods: {
|
| | | getData() {
|
| | | meetScreenData({
|
| | |
| | | this.info = res.data |
| | | if(this.info.meetingListResponseList && this.info.meetingListResponseList.length > 0){ |
| | | this.meetingInfo = this.info.meetingListResponseList[0] |
| | | this.$forceUpdate() |
| | | this.qrcodeCreate() |
| | | } |
| | | })
|
| | | }, |
| | | qrcodeCreate(){ |
| | | // è·åuQRCodeå®ä¾ |
| | | var qr = new UQRCode(); |
| | | // 设置äºç»´ç å
容 |
| | | qr.data = "https://uqrcode.cn/doc"; |
| | | // 设置äºç»´ç 大å°ï¼å¿
é¡»ä¸canvas设置ç宽é«ä¸è´ |
| | | qr.size = 83; |
| | | // è°ç¨å¶ä½äºç»´ç æ¹æ³ |
| | | qr.make(); |
| | | // è·åcanvasä¸ä¸æ |
| | | var canvasContext = uni.createCanvasContext('qrcode', this); // 妿æ¯ç»ä»¶ï¼thiså¿
é¡»ä¼ å
¥ |
| | | // 设置uQRCodeå®ä¾çcanvasä¸ä¸æ |
| | | qr.canvasContext = canvasContext; |
| | | // è°ç¨ç»å¶æ¹æ³å°äºç»´ç 徿¡ç»å¶å°canvasä¸ |
| | | qr.drawCanvas(); |
| | | },
|
| | | touchend() {
|
| | | this.touchNum++
|
| | |
| | | display: flex;
|
| | | flex-direction: column;
|
| | | justify-content: space-between;
|
| | | padding-bottom: 35rpx;
|
| | | padding-bottom: 42rpx;
|
| | | color: #fff;
|
| | | overflow: hidden;
|
| | | .meeting_wrap {
|
| | |
| | | }
|
| | |
|
| | | .qrcode {
|
| | | width: 166rpx;
|
| | | height: 166rpx;
|
| | | width: 83px;
|
| | | height: 83px;
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | }
|
| | |
|
| | | .header_wrap {
|
| | | padding: 34rpx 34rpx 0 0;
|
| | | padding: 42rpx 34rpx 0 0;
|
| | | display: flex;
|
| | | justify-content: space-between;
|
| | | align-items: center;
|
| | |
| | | |
| | | export const baseUrl = 'meetingAdmin/' |
| | | // export const baseUrl = 'http://192.168.0.139:10010/admin_interface/' |
| | | // export const baseUrl = 'meetingAdmin/' |
| | | export const baseUrl = 'http://10.50.250.178:8088/gateway_interface/meetingAdmin/' |
| | | export const uploadAvatar = `${baseUrl}visitsAdmin/cloudService/web/public/uploadFtp.do` |
| | | export const uploadUrl = `${baseUrl}visitsAdmin/cloudService/public/uploadBatch` |
| | | |
| | |
| | | title: 'å è½½ä¸', |
| | | mask: true |
| | | }) |
| | | const param = uni.getStorageSync('param') || {} |
| | | uni.request({ |
| | | url: baseUrl + options.url, |
| | | url: param.baseUrl || baseUrl + options.url, |
| | | data: options.data || {}, |
| | | method: options.method || 'GET', |
| | | header: options.header || { |