| | |
| | | { name: '访客报备', path: '', url: require('@/assets/icons/home_func1.png'), path: '/business/reportRecord' }, |
| | | { name: '隐患随手拍', path: '', url: require('@/assets/icons/home_func2.png'), path: '/operation/danger/record' }, |
| | | { name: '预约会议室', path: '', url: require('@/assets/icons/home_func3.png'), path: '/meeting/bookings' }, |
| | | { name: '考勤工作台', path: '', url: require('@/assets/icons/home_func4.png') } |
| | | { name: '考勤工作台', path: '', url: require('@/assets/icons/home_func4.png') }, |
| | | { name: '食堂消费入口', path: '', url: require('@/assets/icons/8.png') } |
| | | ], |
| | | isShowDetail: false, |
| | | isShowReport: false, |
| | |
| | | window.open(res, '_blank') |
| | | }) |
| | | } |
| | | if (item.name == '食堂消费入口') { |
| | | getAppHeaderNav(6).then(res => { |
| | | window.open(res, '_blank') |
| | | }) |
| | | } |
| | | this.$router.push(item.path) |
| | | }, |
| | | updateDate () { |
| | |
| | | <template v-slot="scope"> |
| | | <el-button type="text" v-permissions="['business:platformbooks:detail']" |
| | | @click="handleDetail(scope.row)">预约详情</el-button> |
| | | <el-button type="text" @click="complete([scope.row.jobId])" v-if="[0,1].includes(scope.row.jobStatus)">完成作业</el-button> |
| | | <el-button type="text" @click="complete([scope.row.jobId])" v-if="[0,1,2].includes(scope.row.jobStatus)">完成作业</el-button> |
| | | <el-button type="text" class="red" v-permissions="['business:platformbooks:delete']" |
| | | @click="handleDel(scope.row)">删除</el-button> |
| | | </template> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="操作" min-width="170" align="center" fixed="right" show-overflow-tooltip> |
| | | <template v-slot="scope"> |
| | | <el-button type="text" @click="complete([scope.row.id])" v-if="[0,1].includes(scope.row.status)">完成作业</el-button> |
| | | <el-button type="text" @click="complete([scope.row.id])" v-if="[0,1,2].includes(scope.row.status)">完成作业</el-button> |
| | | <el-button v-if="scope.row.status == '12'" type="text" class="red" |
| | | v-permissions="['business:platformjob:delete']" @click="handleDel(scope.row)">删除</el-button> |
| | | <el-button v-if="scope.row != 12" type="text" v-permissions="['business:platformjob:query']" |
| | |
| | | <span>{{ scope.row.billCode || scope.row.contractNum }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="totalNum" label="总作业量(万只)" min-width="100" show-overflow-tooltip /> |
| | | </el-table> |
| | | <div class="mt20"> |
| | | <Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" /> |
| | |
| | | import store from './store/index.js' |
| | | import Tabbar from '@/components/tarbar.vue' |
| | | import navigation from '@/components/Header.vue' |
| | | // import Vconsole from 'vconsole' |
| | | // let vConsole = new Vconsole(); |
| | | |
| | | Vue.config.productionTip = false |
| | | |
| | |
| | | "versionName" : "1.0.0", |
| | | "versionCode" : "100", |
| | | "transformPx" : false, |
| | | "sassImplementationName": "node-sass", |
| | | /* 5+App特有相关 */ |
| | | "app-plus" : { |
| | | "usingComponents" : true, |
| | |
| | | "lockfileVersion": 1, |
| | | "requires": true, |
| | | "dependencies": { |
| | | "@babel/runtime": { |
| | | "version": "7.27.0", |
| | | "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.27.0.tgz", |
| | | "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==", |
| | | "requires": { |
| | | "regenerator-runtime": "^0.14.0" |
| | | } |
| | | }, |
| | | "copy-text-to-clipboard": { |
| | | "version": "3.2.0", |
| | | "resolved": "https://registry.npmmirror.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", |
| | | "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==" |
| | | }, |
| | | "core-js": { |
| | | "version": "3.41.0", |
| | | "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.41.0.tgz", |
| | | "integrity": "sha512-SJ4/EHwS36QMJd6h/Rg+GyR4A5xE0FSI3eZ+iBVpfqf1x0eTSg1smWLHrA+2jQThZSh97fmSgFSU8B61nxosxA==" |
| | | }, |
| | | "dayjs": { |
| | | "version": "1.11.13", |
| | | "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz", |
| | | "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==" |
| | | }, |
| | | "mutation-observer": { |
| | | "version": "1.0.3", |
| | | "resolved": "https://registry.npmmirror.com/mutation-observer/-/mutation-observer-1.0.3.tgz", |
| | | "integrity": "sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA==" |
| | | }, |
| | | "regenerator-runtime": { |
| | | "version": "0.14.1", |
| | | "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", |
| | | "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" |
| | | }, |
| | | "uniapp-qrcode": { |
| | | "version": "1.0.2", |
| | |
| | | "version": "2.0.37", |
| | | "resolved": "https://registry.npmmirror.com/uview-ui/-/uview-ui-2.0.37.tgz", |
| | | "integrity": "sha512-iBcWNmQa01Wr+z004G6XIVPDctOrJIAx7LObQceUAPxZh6kJYjIOAMp5JE1K4VpoMV5bKYDpCd0gmX+M4nTEQQ==" |
| | | }, |
| | | "vconsole": { |
| | | "version": "3.15.1", |
| | | "resolved": "https://registry.npmmirror.com/vconsole/-/vconsole-3.15.1.tgz", |
| | | "integrity": "sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g==", |
| | | "requires": { |
| | | "@babel/runtime": "^7.17.2", |
| | | "copy-text-to-clipboard": "^3.0.1", |
| | | "core-js": "^3.11.0", |
| | | "mutation-observer": "^1.0.3" |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | "dependencies": { |
| | | "dayjs": "^1.11.13", |
| | | "uniapp-qrcode": "^1.0.2", |
| | | "uview-ui": "^2.0.37" |
| | | "uview-ui": "^2.0.37", |
| | | "vconsole": "^3.15.1" |
| | | } |
| | | } |
| | |
| | | <script>
|
| | | import {
|
| | | getVisitedDetail, // 访客预约详情
|
| | | carUseBookAppr
|
| | | carUseBookAppr,
|
| | | visitsCancel
|
| | | } from '@/api'
|
| | | export default {
|
| | | data() {
|
| | |
| | | // 取消预约
|
| | | cancel() {
|
| | | visitsCancel(this.id).then(res => {
|
| | | this.cancelShow = false
|
| | | this.getDetail()
|
| | | })
|
| | | },
|
| | |
| | | info.approveDateVO.canBeApproved != null && |
| | | info.approveDateVO.canBeApproved == 1 |
| | | " class="main_footer"> |
| | | <view class="btn" @click="cancelShow = true" v-if="checkAuth('business:visits:cancel') && [0,1,2,5].includes(info.status)">取消预约</view> |
| | | <view style="width: 30rpx; height: 100%;"></view> |
| | | <view class="btn" @click="handleSub(3)">拒绝</view> |
| | | <view style="width: 30rpx; height: 100%;"></view> |
| | | <view class="btn agree" @click="handleSub(2)">同意</view> |
| | | </view> |
| | | |
| | |
| | | " placeholder-class="placeholder9" /> |
| | | <view class="main_footer"> |
| | | <view class="btn" @click="showApprModal = false">取消</view> |
| | | <view style="width: 30rpx; height: 100%;"></view> |
| | | <view class="btn agree" @click="onSubmit">提交</view> |
| | | </view> |
| | | </view> |
| | | </u-popup> |
| | | <!-- 取消预约弹窗 --> |
| | | <u-modal |
| | | :show="cancelShow" |
| | | :showCancelButton="true" |
| | | title="系统提示" |
| | | content='确定取消当前预约吗?' |
| | | @cancel="cancelShow = false" |
| | | @confirm="cancel" /> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | getVisitedReDetail, // 访客预约详情 |
| | | carUseBookAppr |
| | | carUseBookAppr, |
| | | visitsCancel |
| | | } from '@/api' |
| | | export default { |
| | | data() { |
| | |
| | | showApprModal: false, |
| | | param: {}, |
| | | info: {}, |
| | | userInfo: uni.getStorageSync('userInfo') || { |
| | | permissions: [] |
| | | }, |
| | | |
| | | id: '', |
| | | type: '', |
| | |
| | | 2: '已通过', |
| | | 3: '已拒绝', |
| | | 4: '已取消', |
| | | } |
| | | }, |
| | | cancelShow: false |
| | | } |
| | | }, |
| | | onLoad(op) { |
| | |
| | | this.getDetail() |
| | | }, |
| | | methods: { |
| | | checkAuth(str) { |
| | | const permissions = this.userInfo.permissions || [] |
| | | return permissions.indexOf(str) > -1 |
| | | }, |
| | | // 取消预约 |
| | | cancel() { |
| | | visitsCancel(this.id).then(res => { |
| | | this.cancelShow = false |
| | | this.getDetail() |
| | | }) |
| | | }, |
| | | getDetail() { |
| | | const { id } = this |
| | | getVisitedReDetail({ id }).then(res => { |
| | |
| | | background: #ffffff; |
| | | |
| | | .btn { |
| | | width: 336rpx; |
| | | // width: 336rpx; |
| | | flex: 1; |
| | | height: 88rpx; |
| | | line-height: 88rpx; |
| | | background: #ffffff; |
| | |
| | | <div class="com_header"> |
| | | <div class="title"> |
| | | <img src="@/assets/images/ic_title@2x.png" class="icon" alt="" /> |
| | | <div>累计出库量统计</div> |
| | | <div>累计出库量统计(万只)</div> |
| | | </div> |
| | | <div class="tabs"> |
| | | <div class="tab" :class="{ active: activeTab1 == 0 }" @click="tabClick1(0)">本月</div> |
| | |
| | | <div :class="{ orange: item.num < 200 }" class="item two-swiper-slide swiper-slide" |
| | | v-for="item in data6.stockList"> |
| | | <div class="la">{{ item.name }}</div> |
| | | <div class="val">{{ item.num }}万支</div> |
| | | <div class="val">{{ item.num }}{{item.name.indexOf('托盘') === -1 ? '万支' : '个'}}</div> |
| | | </div> |
| | | </div> |
| | | </div> |