| | |
| | | // uuid: '0000', |
| | | // code: '0000' |
| | | // }) |
| | | // let res = await testLogin({ // ææ¦ |
| | | // username: '18656077929', |
| | | // password: '123456', |
| | | // companyId: '111', |
| | | // uuid: '0000', |
| | | // code: '0000' |
| | | // }) |
| | | let res = await testLogin({ // å¼ ç£é« |
| | | username: '15256913207', |
| | | let res = await testLogin({ // ææ¦ |
| | | username: '18656077929', |
| | | password: '123456', |
| | | companyId: '8', |
| | | companyId: '111', |
| | | uuid: '0000', |
| | | code: '0000' |
| | | }) |
| | | // let res = await testLogin({ // å¼ ç£é« |
| | | // username: '15256913207', |
| | | // password: '123456', |
| | | // companyId: '8', |
| | | // uuid: '0000', |
| | | // code: '0000' |
| | | // }) |
| | | |
| | | // let res = await testLogin({ |
| | | // username: '15056231084', |
| | |
| | | module.exports = {
|
| | | // baseUrl: 'http://106.14.20.42/test_hfznzz/',
|
| | | // baseUrl: 'https://hefei.dtkey.cn/test_hfznzz/',
|
| | | // baseUrl: 'http://192.168.0.15:10021',
|
| | | // baseUrl: 'http://192.168.0.18:10021',
|
| | | baseUrl: 'https://dmtest.ahapp.net/doumeeplant_api',
|
| | | phoneRegular: /^1[3456789]\d{9}$/,
|
| | | mailboxRegular: /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,
|
| | |
| | | <image @click="openCate()" src="@/static/filter@2x.png" mode="widthFix"> |
| | | </view> |
| | | </view> |
| | | <u-popup :show="open" :round="10" mode="bottom"> |
| | | <u-popup closeOnClickOverlay :show="open" @close="open=false" :round="10" mode="bottom"> |
| | | <scroll-view scroll-y class="content"> |
| | | <slot name="content"></slot> |
| | | </scroll-view> |
| | |
| | | <template>
|
| | | <u-popup :show="show" :round="10" closeable @close="show=false">
|
| | | <view class="material-content bbox p30 rp">
|
| | | <view class="tc b f24 c2 mb20">éæ©ç©æ</view>
|
| | | <v-Search ref="V" @searchInput="searchInput" @submit="submit" :isShow="false" placeholder="æç´¢ç©æåç§°/ç¼ç ">
|
| | | <view class="tc b f30 c2 mb20">éæ©ç©æa1</view>
|
| | | <v-Search ref="V" @searchInput="searchInput" @submit="search" :isShow="false" placeholder="æç´¢ç©æåç§°/ç¼ç ">
|
| | | </v-Search>
|
| | | <div class="content_total">å
±{{pages.total}}æ¡æ°æ®</div>
|
| | | <view class="scroll-content"> |
| | |
| | | show: false,
|
| | | splite: ' | ',
|
| | | isAll: false, |
| | | refreshing: false,
|
| | | refreshing: false, |
| | | mixName: '',
|
| | | pages: {
|
| | | capacity: 10,
|
| | | page: 1,
|
| | |
| | | open(target) {
|
| | | this.show = true |
| | | this.refreshing = false
|
| | | this.workorderId = target.workorderId
|
| | | this.warehouseId = target.warehouseId
|
| | | this.deviceId = target.deviceId
|
| | | this.list = [] |
| | | this.selectIndex = [] |
| | |
| | | total: 0
|
| | | }
|
| | | this.loadData()
|
| | | }, |
| | | // æç´¢æ¡ |
| | | searchInput(data) { |
| | | this.form.page = 0 |
| | | this.finished = false |
| | | this.list = [] |
| | | this.mixName = data |
| | | this.loadData() |
| | | },
|
| | | loadData() {
|
| | | choiceStockPageForStandard({
|
| | | ...this.pages,
|
| | | model: {
|
| | | workorderId: this.workorderId,
|
| | | deviceId: this.deviceId
|
| | | deviceId: this.deviceId, |
| | | materialName: this.mixName
|
| | | }
|
| | | }).then(res => { |
| | | let {data} = res |
| | |
| | | this.refreshing = true; |
| | | this.pages.page = 1
|
| | | this.loadData()
|
| | | }, |
| | | search() { |
| | | this.pages.page = 1 |
| | | this.loadData() |
| | | },
|
| | | selectMaterialAction(index) { |
| | | let i = this.selectIndex.findIndex(item => item==index) |
| | |
| | | <template>
|
| | | <u-popup :show="show" :round="10" closeable @close="show=false">
|
| | | <view class="material-content bbox p30">
|
| | | <view class="tc b f24 c2">éæ©ç©æ</view>
|
| | | <view class="tc b f30 c2">éæ©ç©æ</view>
|
| | | <scroll-view scroll-y="true" refresher-enabled="true" :refresher-triggered="refreshing"
|
| | | @scrolltolower="loadMore" @refresherrefresh="onRefresh">
|
| | | <view v-for="(item1, index) in list" :key="index" class="" style="height: 20px;" @click="jump(item1)">
|
| | | <view v-for="(item1, index) in list" :key="index" class="mb20" @click="jump(item1)">
|
| | | <div class="page_content_title_top">
|
| | | <span>{{ item1.materialName + ' | ' + item1.materialCode }}</span>
|
| | | </div>
|
| | |
| | |
|
| | | <style lang="scss" scoped>
|
| | | .material-content {
|
| | | height: 1100rpx;
|
| | | height: 1100rpx; |
| | | }
|
| | |
|
| | | .page_content_title_top {
|
| | | display: flex;
|
| | | align-items: center;
|
| | | justify-content: space-between;
|
| | |
|
| | | span {
|
| | | &:nth-child(1) {
|
| | | font-size: 30rpx;
|
| | |
| | | <view class="mr10 b">{{ `${orederMessage.mmodel.name} |${orederMessage.procedureName}`}}</view>
|
| | | <u-tag size="mini" bgColor="#03AF76" text="æ£å¸¸"></u-tag>
|
| | | </view>
|
| | | <view class="status" :class="orederMessage.status==0?'wc':orederMessage.status==1?'green':orederMessage.status==3?'blue':orederMessage.status==7?'green':'c6'">{{ stausToStr(1) }}</view>
|
| | | <view class="status" :class="orederMessage.status==0?'wc':orederMessage.status==1?'green':orederMessage.status==3?'blue':orederMessage.status==7?'green':'c6'">{{ stausToStr(orederMessage.status) }}</view>
|
| | | </view> |
| | | <view class="f24 c6 mt20">å·¥åç¼å·ï¼{{ orederMessage.code || 'GD202111240001' }}</view> |
| | | <view class="mt20 bg_f7 ptb20 plr30 n"> |
| | | <view class="f24 c6 mt20">å·¥åç¼å·ï¼{{ orederMessage.code || '-' }}</view> |
| | | <view class="f24 mt20 bg_f7 ptb20 plr30 n"> |
| | | <view class="c2 mb20"> |
| | | <span class="c6">ç©æç¼ç ï¼</span> |
| | | {{ orederMessage.mmodel ? orederMessage.mmodel.code : '-' }} |
| | |
| | | "navigationBarTitleText": "æ£éªè¯¦æ
",
|
| | | "enablePullDownRefresh": false
|
| | | }
|
| | | },
|
| | | {
|
| | | "path": "pages/equipmentInspection/equipmentInspection",
|
| | | "style": {
|
| | | "navigationBarTitleText": "设å¤å·¡æ£",
|
| | | "enablePullDownRefresh": false
|
| | | }
|
| | | }
|
| | | ]
|
| | | }
|
| | |
| | | }).then(res => {
|
| | | if (res.code === 200) {
|
| | | this.$store.dispatch('getUpcomingNum') |
| | | uni.$u.toast('æä½æå')
|
| | | // Toast.success({
|
| | | // message: 'æä½æå',
|
| | | // forbidClick: true,
|
| | | // duration: 2000
|
| | | // }) |
| | | uni.$u.toast('æä½æå') |
| | | if (this.type == '4') { // 跳转å®å·¥å
¥åºè¯¦æ
|
| | | // uni.navigateTo({ |
| | | // url: |
| | | // }) |
| | | // router.push({ |
| | | // name: 'completionDetails', |
| | | // query: { |
| | | // id: route.query.id, |
| | | // dbid: route.query.dbid, |
| | | // type: 7, |
| | | // isShow: 2 |
| | | // } |
| | | // }) |
| | | return |
| | | } |
| | | uni.redirectTo({ |
| | | url: `/pages_adjust/pages/outboundDetails/outboundDetails?id=${this.id}` |
| | | }) |
| | |
|
| | | // setTimeout(() => {
|
| | | // if (route.query.Type == '4') { // 跳转å®å·¥å
¥åºè¯¦æ
|
| | | // router.push({
|
| | | // name: 'completionDetails',
|
| | | // query: {
|
| | | // id: route.query.id,
|
| | | // dbid: route.query.dbid,
|
| | | // type: 7,
|
| | | // isShow: 2
|
| | | // }
|
| | | // })
|
| | | // return
|
| | | // }
|
| | | // router.replace({
|
| | | // name: 'wTransferDetail',
|
| | | // query: {
|
| | | // id: route.query.id
|
| | | // }
|
| | | // })
|
| | | // if (route.query.Type == '4') { // 跳转å®å·¥å
¥åºè¯¦æ
|
| | | // router.push({
|
| | | // name: 'completionDetails',
|
| | | // query: {
|
| | | // id: route.query.id,
|
| | | // dbid: route.query.dbid,
|
| | | // type: 7,
|
| | | // isShow: 2
|
| | | // }
|
| | | // })
|
| | | // return
|
| | | // }
|
| | | // router.replace({
|
| | | // name: 'wTransferDetail',
|
| | | // query: {
|
| | | // id: route.query.id
|
| | | // }
|
| | | // })
|
| | | // }, 2000)
|
| | | }
|
| | | })
|
| | |
| | | }).then(res => {
|
| | | if (res.code === 200) {
|
| | | this.$store.dispatch('getUpcomingNum') |
| | | uni.$u.toast('æä½æå')
|
| | | uni.$u.toast('æä½æå') |
| | | uni.redirectTo({ |
| | | url: `/pages_adjust/pages/warehousingDetails1/warehousingDetails1?id=${this.id}` |
| | | })
|
| | | // Toast.success({
|
| | | // message: 'æä½æå',
|
| | | // forbidClick: true,
|
| | |
| | | onLoad(option) {
|
| | | this.type = option.type
|
| | | this.id = option.id
|
| | | this.isZKD = this.type == QRCodeType.ZKD
|
| | | this.isZKD = this.type == QRCodeType.ZKD |
| | | this.dbid = option.dbid
|
| | | if (option.dbid) {
|
| | | this.getDBs(option.dbid)
|
| | | } else {
|
| | |
| | | } else if (this.type == QRCodeType.ZKD) {
|
| | | infoAction = wTransferForInOut
|
| | | data.wTransferType = '0'
|
| | | }
|
| | | } |
| | | console.log('------');
|
| | | infoAction(data).then(res => {
|
| | | // this.warehouseId = this.info.wtransferWarehouseList[0].warehouseId
|
| | | console.log(this.type == QRCodeType.ZKD);
|
| | | if (this.isZKD) {
|
| | | this.info = res.data.wtransfer
|
| | | this.warehouseList = res.data.wtransferWarehouseList
|
| | | this.warehouseList = res.data.wtransferWarehouseList |
| | | this.warehouseId = this.warehouseList[0].warehouseId
|
| | | } else {
|
| | | this.info = res.data.woutbound
|
| | | this.woutboundDetailsWait = res.data.woutboundDetailsWait
|
| | | this.woutboundDetailsWait = res.data.woutboundDetailsWait |
| | | this.warehouseId = this.woutboundDetailsWait[0].warehouseId
|
| | | }
|
| | | }).catch(err => {
|
| | | uni.$u.toast(err)
|
| | |
| | | })
|
| | | })
|
| | | },
|
| | | submit() {
|
| | | submit() { |
| | | if (this.type == QRCodeType.ZKD) {
|
| | | if (this.outboundList.length > 0) {
|
| | | let result = this.outboundList.reduce((a, b) => {
|
| | |
| | | }).then(res => {
|
| | | if (res.code === 200) {
|
| | | this.$store.dispatch.dispatch('getUpcomingNum')
|
| | | uni.$u.toast('æä½æå')
|
| | | uni.$u.toast('æä½æå') |
| | | uni.redirectTo({ |
| | | url: `/pages_adjust/pages/outboundDetails/outboundDetails?id=${this.info.id}&dbid=${this.dbid}` |
| | | })
|
| | | // setTimeout(() => {
|
| | | // router.replace({ name: 'wTransferDetail', query: { id: info.value.wtransfer.id, dbid: route.query.dbid } })
|
| | | // }, 2000)
|
| | |
| | | }).then(res => {
|
| | | if (res.code === 200) {
|
| | | this.$store.dispatch.dispatch('getUpcomingNum')
|
| | | uni.$u.toast('æä½æå')
|
| | | uni.$u.toast('æä½æå') |
| | | uni.redirectTo({ |
| | | url: `/pages_adjust/pages/outboundDetails/outboundDetails?id=${this.info.id}` |
| | | })
|
| | | // setTimeout(() => {
|
| | | // // router.go(-1)
|
| | | // router.replace({ name: 'wOutboundDetail', query: { id: info.value.wtransfer.id } })
|
| | |
| | | bottom: 0;
|
| | | left: 30rpx;
|
| | | padding-bottom: 68rpx;
|
| | |
|
| | | z-index: 9999;
|
| | | .page_footer_qr {
|
| | | flex: 1;
|
| | | height: 88rpx;
|
| | |
| | | if (res.code === 200) { |
| | | uni.showToast({ title: 'åé
æå', icon: 'success', duration: 2000, mask: true }); |
| | | setTimeout(() => { |
| | | uni.$emit('update', { msg:'å·æ°å表' }) |
| | | uni.navigateBack({ delta: 1 }); |
| | | }, 2000) |
| | | } |
| | |
| | | display: flex; |
| | | flex-direction: column; |
| | | } |
| | | .u-icon__icon { |
| | | margin-right: 0 !important; |
| | | } |
| | | .fp_list_item_right_dis { |
| | | display: flex; |
| | | align-items: center; |
| | |
| | | .black { |
| | | color: black !important; |
| | | } |
| | | input { |
| | | width: 180rpx; |
| | | height: 60rpx; |
| | | border-radius: 8rpx; |
| | | border: 2rpx solid #E5E5E5; |
| | | padding: 0 30rpx; |
| | | text-align: right; |
| | | font-size: 25rpx; |
| | | } |
| | | // input { |
| | | // width: 180rpx; |
| | | // height: 60rpx; |
| | | // border-radius: 8rpx; |
| | | // border: 2rpx solid #E5E5E5; |
| | | // padding: 0 30rpx; |
| | | // text-align: right; |
| | | // font-size: 25rpx; |
| | | // } |
| | | text { |
| | | font-size: 28rpx; |
| | | font-weight: 400; |
| | |
| | | font-weight: 400; |
| | | } |
| | | } |
| | | .fp_list_item_right { |
| | | .fp_list_item_right::v-deep { |
| | | display: flex; |
| | | align-items: center; |
| | | .u-icon__icon { |
| | | margin-right: 0 !important; |
| | | } |
| | | .wu { |
| | | text-align: center; |
| | | text { |
| | |
| | | .black { |
| | | color: black !important; |
| | | } |
| | | input { |
| | | width: 180rpx; |
| | | height: 60rpx; |
| | | border-radius: 8rpx; |
| | | border: 1rpx solid #E5E5E5; |
| | | padding: 0 30rpx; |
| | | text-align: right; |
| | | font-size: 25rpx; |
| | | } |
| | | // input { |
| | | // width: 180rpx; |
| | | // height: 60rpx; |
| | | // border-radius: 8rpx; |
| | | // border: 1rpx solid #E5E5E5; |
| | | // padding: 0 30rpx; |
| | | // text-align: right; |
| | | // font-size: 25rpx; |
| | | // } |
| | | text { |
| | | font-size: 28rpx; |
| | | font-weight: 400; |
| | |
| | | <!-- {{$store.state.statusbarHeight}} -->
|
| | |
|
| | | <u-sticky>
|
| | | <view class="plr50 pb30 nav-style">
|
| | | <view class="plr30 pb30 nav-style">
|
| | | <view
|
| | | :style="{paddingTop: `${statusbarHeight}px`, height: `${navHeight}px`, lineHeight:`${navHeight}px`, textAlign: 'center'}">
|
| | | :style="{background: '#fff', zIndex: '999', paddingTop: `${statusbarHeight}px`, height: `${navHeight}px`, lineHeight:`${navHeight}px`, textAlign: 'center'}">
|
| | | å¾
å</view>
|
| | | <view class="cY">
|
| | | <u-search placeholder="æç´¢å
³é®å" bgColor="#f7f7f7" :showAction="false" @search="search"
|
| | |
| | | <image src="../../static/filter@2x.png" class="img48 ml20" @click="filterAction" mode=""></image>
|
| | | </view>
|
| | | <view class="cY mt30">
|
| | | <view v-for="item in tagList" :key="item.id" class="sbtn rd8 mr10"
|
| | | <view v-for="item in tagList" :key="item.id" class="tag_item mr10"
|
| | | :class="searchForm.status==item.id?'sbtn_green':'sbtn_black_rim'" @click="selectType(item.id)">
|
| | | {{`${item.name}(${item.num})`}}
|
| | | </view>
|
| | |
| | | <view class="content">
|
| | | <u-grid col="2" :border="false">
|
| | | <u-grid-item v-for="item in types" :key="item.id">
|
| | | <view class="ptb20 c9 type-style tc rd10" :class="type===item.id?'sbtn_green':'sbtn_gray'"
|
| | | <view class="ptb20 f26 c9 type-style tc rd10" :class="type===item.id?'sbtn_green':'sbtn_gray'"
|
| | | @click="type=item.id">{{ item.name }}</view>
|
| | | </u-grid-item>
|
| | | </u-grid>
|
| | |
| | | uni.getSystemInfo({
|
| | | success: res => {
|
| | | this.windowHeight = res.windowHeight
|
| | |
|
| | | }
|
| | | })
|
| | | this.loadData()
|
| | |
| | | uni.navigateTo({
|
| | | url: `/pages/InOperation/InOperation?id=${item.objId}&dbid=${item.id}&type=7`
|
| | | })
|
| | | // router.push({
|
| | | // name: 'warehousing',
|
| | | // query: {
|
| | | // id: item.objId,
|
| | | // dbid: item.id,
|
| | | // type: 7
|
| | | // }
|
| | | // })
|
| | | |
| | | } else if ((item.type === 1 || item.type === 4 || item.type === 6) && item.status === 1) {
|
| | | if (item.type === 4) { // è·³èå®å·¥å
¥åºè¯¦æ
|
| | | // router.push({
|
| | |
| | | .bottom-view {
|
| | | left: 40rpx;
|
| | | right: 40rpx;
|
| | | bottom: 0
|
| | | bottom: 40rpx
|
| | | } |
| | | .tag_item { |
| | | min-width: 120rpx; |
| | | // padding: 0 24rpx; |
| | | border-radius: 26rpx; |
| | | text-align: center; |
| | | flex-shrink: 0; |
| | | margin-right: 20rpx; |
| | | border: 1rpx solid #CCCCCC; |
| | | font-size: 26rpx; |
| | | font-weight: 400; |
| | | height: 52rpx; |
| | | line-height: 52rpx; |
| | | }
|
| | | </style> |
| | |
| | | <span class="dw" v-if="info.umodel">{{info.umodel.name}}</span>
|
| | | </div>
|
| | | </div>
|
| | | <div class="inspection_list_item" @click="selectBad" v-show="form.blsl > 0">
|
| | | <div class="inspection_list_item" @click="selectBad" v-if="form.blsl > 0">
|
| | | <span>ä¸è¯è¯´æ</span>
|
| | | <div class="right1">
|
| | | <span :style="form.blsm ? 'color: #000;' : ''">{{ form.blsm ? form.blsm : 'ç¹å»éæ©ä¸è¯åå '}}</span>
|
| | |
| | | <span class="dw" v-if="info.umodel">{{info.umodel.name}}</span>
|
| | | </div>
|
| | | </div>
|
| | | <div class="inspection_list_item" @click="selectBad" v-show="form.blsl > 0">
|
| | | <div class="inspection_list_item" @click="selectBad" v-if="Number(form.blsl) > 0">
|
| | | <span>ä¸è¯è¯´æ</span>
|
| | | <div class="right1">
|
| | | <span :style="form.blsm ? 'color: #000;' : ''">{{ form.blsm ? form.blsm : 'ç¹å»éæ©ä¸è¯åå '}}</span>
|
| | |
| | | <div class="inspection_footer">
|
| | | <button class="inspection_footer_sub" @click="submit" v-preventReClick>æäº¤</button>
|
| | | </div> |
| | | <u-picker :show="show1" title="è¯·éæ©ä¸è¯è¯´æ" :columns="columns" @cancel="show1=false" @confirm="badConfirm"></u-picker>
|
| | | <u-picker :show="show1" title="è¯·éæ©ä¸è¯è¯´æ" :columns="columns" keyName="name" @cancel="show1=false" @confirm="badConfirm"></u-picker>
|
| | | </view>
|
| | | </template>
|
| | |
|
| | |
| | | id: item.id |
| | | } |
| | | }) |
| | | console.log(bad); |
| | | this.columns = [bad] |
| | | }) |
| | | uni.$on('workOrder', (data) => { |
| | |
| | | <span class="dw" v-if="info.umodel">{{info.umodel.name}}</span>
|
| | | </div>
|
| | | </div>
|
| | | <div class="inspection_list_item" @click="selectBad" v-show="form.blsl > 0">
|
| | | <div class="inspection_list_item" @click="selectBad" v-if="form.blsl > 0">
|
| | | <span>ä¸è¯è¯´æ</span>
|
| | | <div class="right1">
|
| | | <span :style="form.blsm ? 'color: #000;' : ''">{{ form.blsm ? form.blsm : 'ç¹å»éæ©ä¸è¯åå '}}</span>
|
| | |
| | | <div class="inspection_footer">
|
| | | <button class="inspection_footer_sub" @click="submit" v-preventReClick>æäº¤</button>
|
| | | </div> |
| | | <u-picker :show="show1" title="è¯·éæ©ä¸è¯è¯´æ" :columns="columns" @cancel="show1=false" @confirm="badConfirm"></u-picker>
|
| | | <u-picker :show="show1" title="è¯·éæ©ä¸è¯è¯´æ" :columns="columns" keyName="name" @cancel="show1=false" @confirm="badConfirm"></u-picker>
|
| | | </view>
|
| | | </template>
|
| | |
|
| | |
| | | </view> |
| | | <view class="bg_w rd8 ptb30 pl40 bbox com-input flex input-height"> |
| | | <image src="@/static/login_ic_code@2x.png" mode="" class="img40 mr25"></image> |
| | | <u--input placeholder="ä¼ä¸ä»£ç " border="none" v-model="from.companyId"></u--input> |
| | | <u--input placeholder="ä¼ä¸ä»£ç " border="none" v-model="form.companyId"></u--input> |
| | | </view> |
| | | <view class="bg_w rd8 ptb30 pl40 bbox mt40 flex input-height"> |
| | | <image src="@/static/login_ic_phone@2x.png" mode="" class="img40 mr25"></image> |
| | | <u--input placeholder="ææºå·" border="none" v-model="from.username"></u--input> |
| | | <u--input placeholder="ææºå·" border="none" v-model="form.username"></u--input> |
| | | </view> |
| | | <view class="bg_w rd8 ptb30 pl40 bbox mt40 flex input-height"> |
| | | <image src="@/static/login_ic_password@2x.png" mode="" class="img40 mr25"></image> |
| | | <u--input placeholder="å¯ç " border="none" v-model="from.password"></u--input> |
| | | <u--input placeholder="å¯ç " border="none" password v-model="form.password"></u--input> |
| | | </view> |
| | | <view class="login-btn mt80" @click="loginAction">ç«å³ç»å½</view> |
| | | </view> |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | from: { |
| | | form: { |
| | | openid: '', |
| | | unionid: '', |
| | | companyId: '', |
| | |
| | | }); |
| | | } |
| | | } else { |
| | | that.from.openid = res.data.openid |
| | | that.from.unionid = res.data.unionid |
| | | that.form.openid = res.data.openid |
| | | that.form.unionid = res.data.unionid |
| | | } |
| | | } |
| | | }) |
| | |
| | | }, |
| | | methods: { |
| | | async loginAction() { |
| | | if (!this.from.companyId) return uni.showToast({ title: 'ä¼ä¸ä»£ç ä¸è½ä¸ºç©º', icon:"error", duration: 2000 }); |
| | | if (!this.from.username) return uni.showToast({ title: 'ææºå·ä¸è½ä¸ºç©º', icon:"error", duration: 2000 }); |
| | | if (!this.from.password) return uni.showToast({ title: 'å¯ç ä¸è½ä¸ºç©º', icon:"error", duration: 2000 }); |
| | | let res = await wxAccountLogin(this.from) |
| | | if (!this.form.companyId) return uni.showToast({ title: 'ä¼ä¸ä»£ç ä¸è½ä¸ºç©º', icon:"error", duration: 2000 }); |
| | | if (!this.form.username) return uni.showToast({ title: 'ææºå·ä¸è½ä¸ºç©º', icon:"error", duration: 2000 }); |
| | | if (!this.form.password) return uni.showToast({ title: 'å¯ç ä¸è½ä¸ºç©º', icon:"error", duration: 2000 }); |
| | | let res = await wxAccountLogin(this.form) |
| | | if (res.code === 200) { |
| | | await this.$store.commit('SETSESSION', res.data) |
| | | let user = await getUserInfo({}) |
| | |
| | | } |
| | | .com-input { |
| | | margin-top: -60px; |
| | | position: relative; |
| | | z-index: 2; |
| | | } |
| | | .login-btn { |
| | | height: 98rpx; |
| | |
| | | <view>
|
| | | <div class="box">
|
| | | <div class="box_info" :style="{background: 'url(' + img + ')'}">
|
| | | <image :src="userInfo.avatar ? userInfo.avatar : avatar" mode="widthFix" />
|
| | | <image :src="avatar" mode="widthFix" />
|
| | | <div class="box_info_box">
|
| | | <text>{{userInfo.realname}}</text>
|
| | | <div class="box_info_box_x" @click="switchOrganization">
|
| | |
| | | width: 350rpx;
|
| | | height: 88rpx;
|
| | | background: #F7F7F7;
|
| | | border-radius: 8rpx;
|
| | | border-radius: 44rpx;
|
| | | display: flex;
|
| | | align-items: center;
|
| | | justify-content: center;
|
| | |
| | | }, |
| | | onLoad() { |
| | | this.getLists() |
| | | uni.$on('update', (data) => { |
| | | this.isLoading = true |
| | | this.search.page = 0 |
| | | this.list = [] |
| | | this.finished = false |
| | | this.getLists() |
| | | }) |
| | | }, |
| | | methods: { |
| | | // 䏿巿° |
| | |
| | | // ç¹å»å½å项 |
| | | clickItem(i) { |
| | | this.list.forEach((item, index) => { |
| | | item.isActive = i === index; |
| | | if (i === index) { |
| | | item.isActive = !item.isActive |
| | | } |
| | | }) |
| | | }, |
| | | // æç´¢ |
| | |
| | | return |
| | | } |
| | | uni.navigateTo({ |
| | | url: `/pages/allocation/allocation?gxid=${data.procedureId}&jhid=${data.id}&num=${data.workorderDistributNum ? data.num - data.workorderDistributNum : data.num}` |
| | | url: `/pages/allocation/allocation?gxid=${data.procedureId}&jhid=${data.id}&num=${data.num - data.workorderDistributNum - data.distributNoDoneNum}` |
| | | }); |
| | | }, |
| | | // è·åå½åç¨æ·æåé
çå·¥åº |
| | |
| | | </scroll-view> |
| | | </view> |
| | | <!-- éæ©æ¥æ --> |
| | | <u-calendar :show="timeShow" mode="range" @confirm="timeConfirm"></u-calendar> |
| | | <!-- <u-calendar :show="timeShow" mode="range" @confirm="timeConfirm" @close="timeShow = false"></u-calendar> --> |
| | | <l-calendar :lunar="false" v-model="timeShow" @change="timeConfirm" :isRange="true" activeBgColor="#305ED5" |
| | | rangeColor="#305ED5" rangeBgColor="rgba(48, 80, 213, 0.1)"></l-calendar> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | }, |
| | | // æ¥æç¡®å® |
| | | timeConfirm(val) { |
| | | this.listData.startDate = val[0] |
| | | this.listData.endDate = val[val.length - 1] |
| | | this.listData.startDate = val.startDate |
| | | this.listData.endDate = val.endDate |
| | | this.timeShow = false |
| | | }, |
| | | // 忢工å |
| | |
| | | }, |
| | | // ç¹å»æ ç¾æç´¢ |
| | | clickTag(ids) { |
| | | this.listData.cateIds = ids |
| | | // ids ? ids.split(',') : [] |
| | | this.listData.cateIds = ids ? ids.split(',') : [] |
| | | this.listData.page = 0 |
| | | this.finished = false |
| | | this.lists = [] |
| | |
| | | endDate: this.listData.endDate, |
| | | procedureIdList: this.listData.procedureIds ? this.listData.procedureIds : [], |
| | | factoryId: this.listData.departIds, |
| | | statusList: this.listData.cateIds ? this.listData.cateIds.split(',') : [] |
| | | statusList: this.listData.cateIds |
| | | // this.listData.cateIds ? this.listData.cateIds.split(',') : [] |
| | | }, |
| | | page: this.listData.page, |
| | | sorts: [ |
| | |
| | | <span>{{row.label}}</span>
|
| | | </view>
|
| | | <div class="menu_list_list">
|
| | | <view class="menu_list_item" v-for="item in row.children" :key="item.id" @click="jump(item.url)">
|
| | | <view class="menu_list_item" v-for="item in row.children" :key="item.id" @click="jump(item.urlSec)">
|
| | | <image :src="item.icon" mode="widthFix" />
|
| | | <span>{{item.label}}</span>
|
| | | </view>
|
| | |
| | | };
|
| | | },
|
| | | onLoad() { |
| | | this.$store.dispatch('getUpcomingNum') |
| | | uni.hideTabBar()
|
| | | },
|
| | | methods: {
|
| | |
| | | <view class="material-content bbox p30 rp"> |
| | | <view class="tc b f24 c2 mb20">éæ©ç©æ</view> |
| | | <v-Search @searchInput="searchInput" @submit="submit" :isShow="false" placeholder="æç´¢ç©æåç§°/ç¼ç " /> |
| | | <div class="content_total">å
±{{form.total}}æ¡æ°æ®</div> |
| | | <div class="content_total">å
±{{form.total}}æ¡æ°æ®12</div> |
| | | <view class="scroll-content"> |
| | | <!-- refresher-enabled="true" |
| | | :refresher-triggered="refreshing" |
| | |
| | | </view> --> |
| | | <view class="fixedBottom bottom cY"> |
| | | <view class="fx1 bbox plr30"> |
| | | <u-checkbox-group style="display: block;" name="" @change="selectAll()"> |
| | | <u-checkbox :checked="isAll" label="å
¨é"></u-checkbox> |
| | | <u-checkbox-group v-model="isAll" style="display: block;" @change="selectAll()"> |
| | | <u-checkbox label="å
¨é" name="all"></u-checkbox> |
| | | </u-checkbox-group> |
| | | </view> |
| | | <view class="submit sbtn_green bbox tc" @click="submitAction">{{ `æäº¤(${totalNum})`}}</view> |
| | |
| | | loading: false, |
| | | finished: false, |
| | | refreshing: false, |
| | | isAll: false, |
| | | total: 0 |
| | | }; |
| | | }, |
| | |
| | | }, |
| | | methods: { |
| | | open() { |
| | | this.isAll = false |
| | | this.show = true |
| | | this.refreshing = false |
| | | this.finished = false |
| | |
| | | this.form.page = 0 |
| | | this.finished = false |
| | | this.list = [] |
| | | this.onLoad() |
| | | this.loadData() |
| | | }, |
| | | // æç´¢æ¡ |
| | | searchInput(data) { |
| | |
| | | this.finished = false |
| | | this.list = [] |
| | | this.form.smodelLabel = data |
| | | this.onLoad() |
| | | this.loadData() |
| | | }, |
| | | loadData() { |
| | | if (!this.finished) { |
| | |
| | | model: { |
| | | warehouseId: this.warehouseId, |
| | | warehouseQualityType: this.warehouseQualityType, |
| | | ids: this.selected.length > 0 ? this.selected.join(',') : '' |
| | | ids: this.selected.length > 0 ? this.selected.join(',') : '', |
| | | materialName: this.form.smodelLabel |
| | | } |
| | | }).then(res => { |
| | | if (this.refreshing) { |
| | |
| | | this.pages.page = 1 |
| | | this.loadData() |
| | | }, |
| | | selectAll() { |
| | | selectAll(e) { |
| | | console.log(e) |
| | | console.log(this.isAll) |
| | | this.list.forEach(element => { |
| | | element.isActive = this.all |
| | | element.isActive = e.length > 0 ? true : false |
| | | }) |
| | | }, |
| | | submitAction () { |
| | |
| | | <view class="content"> |
| | | <view class="content_search"> |
| | | <Search @searchInput="searchInput" @submit="submit" @reset="reset" :isShow="true" |
| | | placeholder="æç´¢ä»åºåç§°/ç©æåç§°"> |
| | | placeholder="æç´¢ä»åºåç§°/ç©æç¼ç "> |
| | | <template v-slot:content> |
| | | <view class="Search_item"> |
| | | <view class="Search_item_label">æ±æ»ä¾æ®</view> |
| | |
| | | <template>
|
| | | <view>
|
| | | <workOrderInfo :orederMessage="info" />
|
| | | <view class="bg_cate">
|
| | | <!-- <view class="bg_cate">
|
| | | <view @click="clickIten(index)" :class="typeView == index ? 'bg_cate_item active' : 'bg_cate_item'"
|
| | | v-for="(item, index) in cate" :key="index">{{ item.name }}</view>
|
| | | </view>
|
| | | <div class="bg_list" v-if="typeView === 0">
|
| | | </view> -->
|
| | | <div class="bg_list">
|
| | | <div class="bg_list_item">
|
| | | <div class="bg_list_item_top">
|
| | | <div class="bg_list_item_top_left">
|
| | | <div class="bg_list_item_top_left_x bg_m"></div>
|
| | | <span>æææç»</span>
|
| | | </div>
|
| | | <div class="bg_list_item_top_right" @click="jumpTL">
|
| | | <!-- v-if="proxy.$auth('h5:workorderinput:create') && (info.bomType !== 1 || info.bomType == 0 || !info.bomType)" -->
|
| | | <!-- <img src="@/assets/icon/gongdan_ic_shoudong@2x.png" alt="" /> -->
|
| | | <!-- <img src="@/static/gongdan_ic_shoudong@2x.ong" alt="" /> -->
|
| | | <image src="../../static/gongdan_ic_shoudong@2x.png" class="img28" mode=""></image>
|
| | | <span class="cm">æ°å¢ææ</span>
|
| | | </div>
|
| | | </div>
|
| | |
|
| | | <template v-if="feedingData && feedingData.length > 0">
|
| | | <u-swipe-action>
|
| | | <u-swipe-action-item v-for="(item, index) in feedingData" :key="index" :options="options"
|
| | | @click="deleItem(item.id, 'T')">
|
| | | <view>
|
| | | <view v-for="(item, index) in feedingData" :key="index">
|
| | | <div class="bg_list_item_h">
|
| | | <div class="bg_list_item_num">
|
| | | <div class="bg_list_item_num_item">
|
| | | <!-- <span>{{item.code}}</span> -->
|
| | | <div class="bg_list_item_num_item_wl">
|
| | | <span> {{ item.materialName || 'å¢ä½ç ' }}{{ item.procedureName ? ` | ${item.procedureName}` : ''
|
| | | }}</span>
|
| | |
| | | </div>
|
| | | </div>
|
| | | <div class="bg_list_item_num_item_sr">
|
| | | <!-- :disabled="!proxy.$auth('h5:workorderinput:update')" --> |
| | | <!-- <view class="cY"> |
| | | <span>{{item.num}}{{ item.unitName }}</span> |
| | | <image src="../../../static/ic_edit@2x.png" class="img48" mode=""></image> |
| | | <span class="red">å é¤</span> |
| | | </view> --> |
| | | <view class="cY"> |
| | | <input v-model="item.num" |
| | | @blur="change(item.id, item.num, 'T', item.maxNum, item, item.unitAttribute)" |
| | | type="number" /> |
| | | <span class="cm">ä¿å</span> |
| | | <view class="cY">
|
| | | <view class="mr10">{{ item.num }}</view> |
| | | <span v-if="info.umodel">{{ info.umodel.name }}</span>
|
| | | </view>
|
| | | |
| | |
|
| | | </div>
|
| | | </div>
|
| | | </div>
|
| | | </div>
|
| | | </u-swipe-action-item>
|
| | | </u-swipe-action>
|
| | | </view>
|
| | | </view>
|
| | |
|
| | | </template>
|
| | | <template v-else>
|
| | |
| | | <div class="bg_list_item_top_left">
|
| | | <div class="bg_list_item_top_left_x bg_m"></div>
|
| | | <span>äº§åºæç»</span>
|
| | | </div> |
| | | <div class="bg_list_item_top_right" @click="proRecord"> |
| | | <span style="color: #4275FC;">æ¥çæ£éªè®°å½</span> |
| | | <u-icon name="arrow-right" color="#4275FC" /> |
| | | </div>
|
| | | </div>
|
| | | <div class="bg_list_item_h">
|
| | |
| | | <div class="bg_list_item_num_item">
|
| | | <span>è¯åæ°{{ info.umodel ? `(${info.umodel.name})` : '' }}</span>
|
| | | <div class="bg_list_item_num_item_sr">
|
| | | <!-- :disabled="!proxy.$auth('h5:workorderoutput:update')" -->
|
| | | <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
|
| | | <input type="number" v-model="produceFrom.qualified"
|
| | | @blur="changeCC('0', produceFrom.qualified, produceFrom.qualifiedId)"
|
| | | placeholder="请è¾å
¥" />
|
| | | <view class="mr10">{{ produceFrom.qualified }}</view>
|
| | | <span v-if="info.umodel">{{ info.umodel.name }}</span>
|
| | | </div>
|
| | | </div>
|
| | |
| | | </div>
|
| | | <div class="bg_list_item_h">
|
| | | <div class="bg_list_item_num">
|
| | | <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
|
| | | <div class="bg_list_item_num_item">
|
| | | <span>ä¸è¯æ°{{ info.umodel ? `(${info.umodel.name})` : '' }}</span>
|
| | | <div class="bg_list_item_num_item_sr">
|
| | | <!-- :disabled="!proxy.$auth('h5:workorderoutput:update')" -->
|
| | | <!-- @blur="change(item.id, item.num, 'C', item.maxNum, item)" -->
|
| | | <input type="number" v-model="produceFrom.undesirable"
|
| | | @blur="changeCC('1', produceFrom.undesirable, produceFrom.undesirableId)"
|
| | | placeholder="请è¾å
¥" />
|
| | | <view class="mr10">{{ produceFrom.undesirable }}</view>
|
| | | <span v-if="info.umodel">{{ info.umodel.name }}</span>
|
| | | </div>
|
| | | </div>
|
| | | </div>
|
| | | </div>
|
| | | <div class="bg_list_item_h" v-if="produceFrom.undesirable > 0">
|
| | | <div class="bg_list_item_num">
|
| | | <div class="bg_list_item_num_item" @click="badShow = true">
|
| | | <span>ä¸è¯é¡¹</span>
|
| | | <div class="bg_list_item_num_item_sr">
|
| | | <span class="wulll" :style="{ color: form.defectiveName ? '#305ED5' : '' }">{{ form.defectiveName ?
|
| | | form.defectiveName : '设置' }}</span>
|
| | | <image src="../../../static/ic_ar@2x.png" class="img_ar" mode=""></image>
|
| | | </div>
|
| | | </div>
|
| | | </div>
|
| | | </div>
|
| | | </div>
|
| | | <div class="bg_plan" @click="TimeShow = true">
|
| | | <div class="bg_plan_label">
|
| | | <span>æ¥å·¥æ¶é¿</span>
|
| | | </div>
|
| | | <div class="bg_plan_label_val">
|
| | | <span
|
| | | :style="{ color: form.durationName ? '#333' : '' }">{{ form.durationName ? form.durationName : 'è¯·éæ©' }}</span>
|
| | | <image src="../../../static/ic_ar@2x.png" class="img_ar" mode=""></image>
|
| | | </div>
|
| | | </div>
|
| | | <div class="bg_list_item" v-if="arrType && arrType.length > 0">
|
| | | <div class="bg_list_item_top">
|
| | | <div class="bg_list_item_top_left">
|
| | | <div class="bg_list_item_top_left_x bg_m"></div>
|
| | | <span>å·¥èµç»©æ</span>
|
| | | </div>
|
| | | </div>
|
| | | <div class="bg_list_item_h">
|
| | | <div class="bg_list_item_num">
|
| | | <div class="bg_list_item_num_item">
|
| | | <span>计件æ¹å¼</span>
|
| | | <div class="bg_list_item_num_item_list">
|
| | | <div :class="form.index == index ? 'bg_list_item_num_item_list_item active' : 'bg_list_item_num_item_list_item'"
|
| | | v-for="(item, index) in arrType" :key="index"
|
| | | @click="clickPerformanceType(item, index)">
|
| | | {{ item.name }}
|
| | | </div>
|
| | | </div>
|
| | | </div>
|
| | | </div>
|
| | | <div class="bg_list_item_num">
|
| | | <div class="bg_list_item_num_item">
|
| | | <span>å·¥èµåä»·</span>
|
| | | <div class="bg_list_item_num_item_sr">
|
| | | <span class="color1">{{ (arrType[form.index].salary / 10 / 10).toFixed(2) }}å
/{{ arrType[form.index].type ==
|
| | | 0 ? 'ä»¶' : 'æ¶' }}</span>
|
| | | </div>
|
| | | </div>
|
| | | </div>
|
| | | <div class="bg_list_item_num">
|
| | | <div class="bg_list_item_num_item">
|
| | | <span>é¢è®¡å·¥èµ</span>
|
| | | <div class="bg_list_item_num_item_sr">
|
| | | <span class="color1">{{ expectedSalary }}å
</span>
|
| | | </div>
|
| | | </div>
|
| | | </div>
|
| | | <div class="bg_list_item_num">
|
| | | <div class="bg_list_item_num_item">
|
| | | <span>è¾¾æ ç</span>
|
| | | <div class="bg_list_item_num_item_sr">
|
| | | <span class="color1">{{ complianceRate }}%</span>
|
| | | </div>
|
| | | </div>
|
| | | </div>
|
| | | </div>
|
| | | </div>
|
| | |
|
| | | </div> |
| | | <div class="bg_list_item"> |
| | | <div class="bg_list_item_top"> |
| | | <div class="bg_list_item_top_left"> |
| | | <div class="bg_list_item_top_left_x bg_m"></div> |
| | | <span>çäº§ç¹æ£</span> |
| | | </div> |
| | | </div> |
| | | <template v-if="djData && djData.length > 0"> |
| | | <div class="details_dj"> |
| | | |
| | | <div class="details_dj_list"> |
| | | <scroll-view scroll-y="true" refresher-enabled="true" @scrolltolower="getLists"> |
| | | <view v-for="(item, index) in djData" :key="index"> |
| | | <div class="details_dj_list_item"> |
| | | <span>{{ item.attrName }}ï¼{{ item.val }}</span> |
| | | <span>{{ item.userName }} {{ item.createTime }}</span> |
| | | </div> |
| | | </view> |
| | | </scroll-view> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <template v-else> |
| | | <div class="kong"> |
| | | <span>ææ æ°æ®</span> |
| | | </div> |
| | | </template> |
| | | </div> |
| | | </div>
|
| | | <div class="details_dj" v-if="typeView === 1">
|
| | |
|
| | | <div class="details_dj_list"> |
| | | <scroll-view scroll-y="true" refresher-enabled="true" @scrolltolower="getLists"> |
| | | <u-swipe-action v-for="(item, index) in djData" :key="index"> |
| | | <u-swipe-action-item :options="options" @click="dele(item.id)"> |
| | | <div class="details_dj_list_item"> |
| | | <span>{{ item.attrName }}ï¼{{ item.val }}</span> |
| | | <span>{{ item.userName }} {{ item.createTime }}</span> |
| | | </div> |
| | | </u-swipe-action-item> |
| | | </u-swipe-action> |
| | | </scroll-view>
|
| | | <!-- <u-swipe-action>
|
| | | <u-swipe-action-item v-for="(item, index) in djData" :key="index" :options="options"
|
| | | @click="dele(item.id)">
|
| | | <div class="details_dj_list_item">
|
| | | <span>{{ item.attrName }}ï¼{{ item.val }}</span>
|
| | | <span>{{ item.userName }} {{ item.createTime }}</span>
|
| | | </div>
|
| | | </u-swipe-action-item>
|
| | | </u-swipe-action> -->
|
| | | </div>
|
| | | </div>
|
| | | <!-- v-if="info.status === 2 || info.procedureNeedcheck === 1" -->
|
| | | <template>
|
| | | <div class="bh_zw"></div>
|
| | | <div class="bg_footer bg_f7">
|
| | | <div class="bg_footer_submit bg_m" v-if="typeView == 0" @click="submit">确认æ¥å·¥</div>
|
| | | <!-- proxy.$auth('h5:workorder:processRecord') && -->
|
| | | <div class="bg_footer_submit1" @click="jumpdj" v-if="typeView == 1">
|
| | | <image src="../../../static/gongdan_ic_shoudong@2x.png" class="fornt-img" mode=""></image>
|
| | | <span>æ°å¢ç¹æ£</span>
|
| | | </div>
|
| | | </div>
|
| | | </template>
|
| | | <u-datetime-picker :show="TimeShow" @cancel="TimeShow=false" @confirm="timeConfirm" v-model="form.time"
|
| | | mode="time"></u-datetime-picker>
|
| | | <u-popup :show="badShow" @close="badShow=false" :round="8" closeable zIndex="20000">
|
| | | <view class="rp p40 contanir">
|
| | | <view class="c2 b tc">ä¸è¯é¡¹</view>
|
| | | <view class="content bl_list">
|
| | | <div class="bl_list_item" v-for="(item, i) in cateList" :key="i" @click="changeChecked(i)">
|
| | | <div class="bl_list_item_left"> |
| | | <u-checkbox-group> |
| | | <u-checkbox :checked="item.active" :label="item.name" |
| | | :name="item.name"> |
| | | </u-checkbox> |
| | | </u-checkbox-group>
|
| | | </div>
|
| | | <div class="bl_list_item_right">
|
| | | <input type="number" @click.stop v-model="item.num" placeholder="0" />
|
| | | </div>
|
| | | </div>
|
| | | </view>
|
| | | <view class="flex ap tc bottom-view">
|
| | | <view class="fx1 ml20 ptb20 sbtn_green" @click="confirm">ç¡®å®</view>
|
| | | </view>
|
| | | </view>
|
| | | </u-popup>
|
| | | |
| | | </view>
|
| | | </template>
|
| | |
|
| | | <script>
|
| | | import workOrderInfo from '@/components/workOrderInfo.vue' |
| | | import { |
| | | getBarcodeContent, |
| | | queryById, |
| | | getOrocessRecord, |
| | | deleteCT, |
| | | updateById, |
| | | comfirmDone, |
| | | comfirmDoneStandard, |
| | | getListByCondition, |
| | | allForStandard, |
| | | pageDJ, |
| | | deletedj, |
| | | dealWorkorderRecordStandard, |
| | | getWorkorderRecordListStandard, |
| | | createMaterial, |
| | | createMaterialStandard |
| | | } from '@/util/api/WorkOrderAPI' |
| | | import { |
| | | categoryExtList, |
| | | queryOne, |
| | | queryList |
| | | } from '@/util/api/PlanningAPI' |
| | | import { REGULAR } from '@/util/utils' |
| | | import workOrderInfo from '@/components/workOrderInfo.vue'
|
| | | import {
|
| | | getBarcodeContent,
|
| | | queryById,
|
| | | getOrocessRecord,
|
| | | deleteCT,
|
| | | updateById,
|
| | | comfirmDone,
|
| | | comfirmDoneStandard,
|
| | | getListByCondition,
|
| | | allForStandard,
|
| | | pageDJ,
|
| | | deletedj,
|
| | | dealWorkorderRecordStandard,
|
| | | getWorkorderRecordListStandard,
|
| | | createMaterial,
|
| | | createMaterialStandard
|
| | | } from '@/util/api/WorkOrderAPI'
|
| | | import {
|
| | | categoryExtList,
|
| | | queryOne,
|
| | | queryList
|
| | | } from '@/util/api/PlanningAPI'
|
| | | import {
|
| | | REGULAR
|
| | | } from '@/util/utils'
|
| | | export default {
|
| | | components: {
|
| | | workOrderInfo
|
| | | },
|
| | | data() {
|
| | | return { |
| | | return {
|
| | | workorderId: '',
|
| | | cate: [{
|
| | | name: 'ç产'
|
| | | },
|
| | | {
|
| | | name: 'ç¹æ£'
|
| | | }],
|
| | | }
|
| | | ],
|
| | | form: {
|
| | | time: '',
|
| | | efective: [],
|
| | |
| | | duration: 0,
|
| | | type: 0,
|
| | | index: 0
|
| | | }, |
| | | },
|
| | | info: {},
|
| | | TimeShow: false,
|
| | | badShow: false,
|
| | |
| | | undesirable: 5 // ä¸è¯
|
| | | },
|
| | | djData: [],
|
| | | cateList: [], |
| | | cateList: [],
|
| | | finished: true,
|
| | | };
|
| | | }, |
| | | onLoad(obj) { |
| | | this.workorderId = obj.id |
| | | this.queryByIds() |
| | | this.getOrocessRecords() |
| | | this.getData() |
| | | uni.$on('spotAdd', () => { |
| | | if (this.typeView == 1) { |
| | | this.pages.page = 1 |
| | | this.pageDJs() |
| | | } |
| | | }) |
| | | },
|
| | | onLoad(obj) {
|
| | | this.workorderId = obj.id
|
| | | this.queryByIds()
|
| | | this.getOrocessRecords()
|
| | | this.getData()
|
| | | this.getOrocessRecordCC()
|
| | | uni.$on('spotAdd', () => {
|
| | | if (this.typeView == 1) {
|
| | | this.pages.page = 1
|
| | | this.pageDJs()
|
| | | }
|
| | | })
|
| | | },
|
| | | computed: {
|
| | | expectedSalary() {
|
| | |
| | | // return Number(from.qualified) * infoBox.value.salary;
|
| | | }
|
| | | }
|
| | | }, |
| | | },
|
| | | methods: {
|
| | | getData() { |
| | | categoryExtList({ |
| | | cateType: "3" |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | res.data.forEach(item => { |
| | | item.active = false |
| | | item.num = '' |
| | | }) |
| | | this.cateList = res.data |
| | | } |
| | | }) |
| | | getData() {
|
| | | categoryExtList({
|
| | | cateType: "3"
|
| | | }).then(res => {
|
| | | if (res.code === 200) {
|
| | | res.data.forEach(item => {
|
| | | item.active = false
|
| | | item.num = ''
|
| | | })
|
| | | this.cateList = res.data
|
| | | }
|
| | | })
|
| | | },
|
| | | clickIten(index) {
|
| | | this.typeView = index |
| | | if (this.typeView == 1) { |
| | | this.pages.page = 1 |
| | | this.finished = true |
| | | this.pageDJs() |
| | | this.typeView = index
|
| | | if (this.typeView == 1) {
|
| | | this.pages.page = 1
|
| | | this.finished = true
|
| | | this.pageDJs()
|
| | | }
|
| | | }, |
| | | getLists() { |
| | | if (!this.finished) { |
| | | return |
| | | } |
| | | this.finished = false |
| | | this.pages.page += 1 |
| | | this.pageDJs() |
| | | },
|
| | | getLists() {
|
| | | if (!this.finished) {
|
| | | return
|
| | | }
|
| | | this.finished = false
|
| | | this.pages.page += 1
|
| | | this.pageDJs()
|
| | | },
|
| | | timeConfirm({
|
| | | value
|
| | |
| | | if (type === 'T') {
|
| | | if (unitAttribute == 0 && num != '') {
|
| | | if (!REGULAR.positiveInteger.test(num)) {
|
| | | obj.num = obj.ynum |
| | | obj.num = obj.ynum
|
| | | uni.$u.toast('åªè½è¾å
¥æ£æ´æ°')
|
| | | return
|
| | | }
|
| | | }
|
| | | if (unitAttribute == 1 && num != '') {
|
| | | if (!REGULAR.number.test(num)) { |
| | | if (!REGULAR.number.test(num)) {
|
| | | uni.$u.toast('åªè½è¾å
¥æ£æ´æ°æå°æ°ï¼æå¤åä½ï¼')
|
| | | |
| | |
|
| | | obj.num = obj.ynum
|
| | | return
|
| | | }
|
| | | }
|
| | | if (num > maxNum) {
|
| | | obj.num = obj.ynum |
| | | obj.num = obj.ynum
|
| | | uni.$u.toast('è¶
åºå·¥è£
æ»æ°')
|
| | | |
| | |
|
| | | return
|
| | | }
|
| | | } else if (type === 'C' && num > info.value.planNum) {
|
| | | obj.num = obj.ynum |
| | | obj.num = obj.ynum
|
| | | uni.$u.toast('äº§åºæ°éä¸è½è¶
è¿è®¡åæ°é')
|
| | | |
| | |
|
| | | return
|
| | | }
|
| | | |
| | |
|
| | | },
|
| | | clickPerformanceType(item, index) {
|
| | | this.form.index = index
|
| | | this.form.type = item.type
|
| | | },
|
| | | submit() { |
| | | |
| | | submit() {
|
| | |
|
| | | },
|
| | | jumpdj() { |
| | | jumpdj() {
|
| | | uni.navigateTo({
|
| | | url: `/pages_adjust/pages/spotCheck/spotCheck?id=${this.workorderId}`
|
| | | })
|
| | | }, |
| | | proRecord() { |
| | | uni.navigateTo({ |
| | | url: `/pages_adjust/pages/spotCheck/spotCheck?id=${this.workorderId}` |
| | | url: `/pages_inspect/pages/InspectionRecords/InspectionRecords?id=${this.workorderId}` |
| | | }) |
| | | },
|
| | | pageDJs() { |
| | | pageDJ({ |
| | | capacity: this.pages.capacity, |
| | | page: this.pages.page, |
| | | model: { |
| | | workorderId: this.workorderId |
| | | } |
| | | }).then(res => { |
| | | let {data} = res |
| | | if (data.page == 1) { |
| | | this.djData = [] |
| | | } |
| | | this.djData.push(...data.records) |
| | | // loading.value = false |
| | | }).catch(err => { |
| | | // loading.value = false |
| | | // finished.value = true |
| | | }) |
| | | .finally(() => { |
| | | this.finished = true |
| | | }) |
| | | pageDJs() {
|
| | | pageDJ({
|
| | | capacity: this.pages.capacity,
|
| | | page: this.pages.page,
|
| | | model: {
|
| | | workorderId: this.workorderId
|
| | | }
|
| | | }).then(res => {
|
| | | let {
|
| | | data
|
| | | } = res
|
| | | if (data.page == 1) {
|
| | | this.djData = []
|
| | | }
|
| | | this.djData.push(...data.records)
|
| | | // loading.value = false
|
| | | }).catch(err => {
|
| | | // loading.value = false
|
| | | // finished.value = true
|
| | | })
|
| | | .finally(() => {
|
| | | this.finished = true
|
| | | })
|
| | | },
|
| | | dele(id) {
|
| | | deletedj(id)
|
| | | .then(res => {
|
| | | if (res.code === 200) {
|
| | | this.finished = false
|
| | | this.pages.page = 1
|
| | | this.pageDJs()
|
| | | }
|
| | | })
|
| | | .then(res => {
|
| | | if (res.code === 200) {
|
| | | this.finished = false
|
| | | this.pages.page = 1
|
| | | this.pageDJs()
|
| | | }
|
| | | })
|
| | | },
|
| | | confirm() { |
| | | let isOpen = false |
| | | this.cateList.forEach((item, index) => { |
| | | if (item.active) { |
| | | isOpen = true |
| | | } |
| | | }) |
| | | if (!isOpen) { |
| | | uni.showToast({ |
| | | title: 'è¯·éæ©ä¸è¯é¡¹', |
| | | duration: 2000, |
| | | icon: 'none' |
| | | }) |
| | | return |
| | | } |
| | | let arr = [] |
| | | let total = 0 |
| | | let name = '' |
| | | this.cateList.forEach((item, index) => { |
| | | if (item.active) { |
| | | if (item.num <= 0) { |
| | | uni.showToast({ |
| | | title: 'ä¸è¯æ°éå¿
须大äº0', |
| | | duration: 2000, |
| | | icon: 'none' |
| | | }) |
| | | return |
| | | } |
| | | total = total += item.num |
| | | arr.push(item) |
| | | name += item.name + item.num + 'ï¼' |
| | | } |
| | | }) |
| | | if (total != Number(this.produceFrom.undesirable)) { |
| | | uni.showToast({ |
| | | title: 'ä¸è¯æ°å¿
é¡»çäºäº§åºä¸è¯æ°', |
| | | duration: 2000, |
| | | icon: 'none' |
| | | }) |
| | | return |
| | | } |
| | | this.form.defective = arr |
| | | confirm() {
|
| | | let isOpen = false
|
| | | this.cateList.forEach((item, index) => {
|
| | | if (item.active) {
|
| | | isOpen = true
|
| | | }
|
| | | })
|
| | | if (!isOpen) {
|
| | | uni.showToast({
|
| | | title: 'è¯·éæ©ä¸è¯é¡¹',
|
| | | duration: 2000,
|
| | | icon: 'none'
|
| | | })
|
| | | return
|
| | | }
|
| | | let arr = []
|
| | | let total = 0
|
| | | let name = ''
|
| | | this.cateList.forEach((item, index) => {
|
| | | if (item.active) {
|
| | | if (item.num <= 0) {
|
| | | uni.showToast({
|
| | | title: 'ä¸è¯æ°éå¿
须大äº0',
|
| | | duration: 2000,
|
| | | icon: 'none'
|
| | | })
|
| | | return
|
| | | }
|
| | | total = total += item.num
|
| | | arr.push(item)
|
| | | name += item.name + item.num + 'ï¼'
|
| | | }
|
| | | })
|
| | | if (total != Number(this.produceFrom.undesirable)) {
|
| | | uni.showToast({
|
| | | title: 'ä¸è¯æ°å¿
é¡»çäºäº§åºä¸è¯æ°',
|
| | | duration: 2000,
|
| | | icon: 'none'
|
| | | })
|
| | | return
|
| | | }
|
| | | this.form.defective = arr
|
| | | this.form.defectiveName = name
|
| | | this.badShow = false
|
| | | },
|
| | | changeChecked(i) {
|
| | | this.cateList[i].active = !this.cateList[i].active
|
| | | }, |
| | | queryByIds() { |
| | | queryById(this.workorderId) |
| | | .then(res => { |
| | | this.info = res.data |
| | | queryList({ |
| | | deleted: 0, |
| | | departId: res.data.factoryId, |
| | | materialId: res.data.materialId, |
| | | procedureId: res.data.procedureId |
| | | }).then(result => { |
| | | if (result.code === 200) { |
| | | if (result.data && result.data.length > 0) { |
| | | result.data.forEach((item, index) => { |
| | | item.name = item.type == 0 ? '计件' : '计æ¶' |
| | | item.id = item.type |
| | | item.active = index == 0 |
| | | }) |
| | | this.arrType = result.data |
| | | } else { |
| | | this.arrType = [] |
| | | } |
| | | } |
| | | }) |
| | | }) |
| | | }, |
| | | getOrocessRecords() { |
| | | this.feedingData = [] |
| | | allForStandard({ |
| | | workorderId: this.workorderId, |
| | | type: 0 |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | this.feedingData = res.data |
| | | } |
| | | }) |
| | | }, |
| | | jumpTL() { |
| | | uni.navigateTo({ |
| | | // url: '' |
| | | url: `/pages_adjust/pages/manualFeed/manualFeed?id=${this.workorderId}` |
| | | }) |
| | | },
|
| | | queryByIds() {
|
| | | queryById(this.workorderId)
|
| | | .then(res => {
|
| | | this.info = res.data
|
| | | queryList({
|
| | | deleted: 0,
|
| | | departId: res.data.factoryId,
|
| | | materialId: res.data.materialId,
|
| | | procedureId: res.data.procedureId
|
| | | }).then(result => {
|
| | | if (result.code === 200) {
|
| | | if (result.data && result.data.length > 0) {
|
| | | result.data.forEach((item, index) => {
|
| | | item.name = item.type == 0 ? '计件' : '计æ¶'
|
| | | item.id = item.type
|
| | | item.active = index == 0
|
| | | })
|
| | | this.arrType = result.data
|
| | | } else {
|
| | | this.arrType = []
|
| | | }
|
| | | }
|
| | | })
|
| | | })
|
| | | },
|
| | | getOrocessRecords() {
|
| | | this.feedingData = []
|
| | | allForStandard({
|
| | | workorderId: this.workorderId,
|
| | | type: 0
|
| | | }).then(res => {
|
| | | if (res.code === 200) {
|
| | | this.feedingData = res.data
|
| | | }
|
| | | })
|
| | | },
|
| | | getOrocessRecordCC() {
|
| | | getWorkorderRecordListStandard({
|
| | | workorderId: this.workorderId
|
| | | }).then(res => {
|
| | | if (res.data.length > 0) { |
| | | this.produceFrom.qualified = res.data[0].qualifiedNum |
| | | this.produceFrom.undesirable = res.data[0].unqualifiedNum |
| | | }
|
| | | })
|
| | | },
|
| | | jumpTL() {
|
| | | uni.navigateTo({
|
| | | // url: ''
|
| | | url: `/pages_adjust/pages/manualFeed/manualFeed?id=${this.workorderId}`
|
| | | })
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | display: flex;
|
| | | align-items: center;
|
| | | justify-content: flex-end;
|
| | |
|
| | | font-size: 28rpx;
|
| | | .color1 {
|
| | | font-size: 28rpx;
|
| | | |
| | | font-family: PingFangSC-Regular, PingFang SC;
|
| | | font-weight: 400;
|
| | | color: #333333;
|
| | |
| | | </div>
|
| | | </u-swipe-action-item>
|
| | | </u-swipe-action>
|
| | | <view class="" style="height: 88rpx;"></view>
|
| | | <u-safe-bottom></u-safe-bottom>
|
| | | <div class="tl_footer">
|
| | | <button class="tl_footer_submit" v-preventReClick @click="submit">æäº¤</button>
|
| | | </div>
|
| | | <SelectMaterial ref="selectMaterial" @selectAction="getValue" />
|
| | | <!-- <SelectMultipleMaterial ref="selectMultipleMaterial" @selected="getMaterails"/> -->
|
| | | </view>
|
| | |
| | | this.materialList[index].num = ''
|
| | | }
|
| | | },
|
| | | getValue(v) {
|
| | | getValue(item) {
|
| | | for (let i = 0; i < this.materialList.length; i++) {
|
| | | if (item.id === this.materialList[i].id) {
|
| | | uni.$u.toast({
|
| | |
| | | this.materialList[this.index].qualityType = item.qualityType
|
| | | this.materialList[this.index].unitAttribute = item.unitAttribute
|
| | | },
|
| | | // getMaterails({materials}) {
|
| | | // console.log(item);
|
| | | // }
|
| | | submit() {
|
| | | let temp = this.materialList.findIndex(item => !item.id || !item.num)
|
| | | if (temp != -1) {
|
| | | uni.$u.toast(`请å
å®å第${temp + 1}æ¡ææä¿¡æ¯`)
|
| | | return
|
| | | }
|
| | | let total = this.materialList.reduce((accumulator, currentValue) => accumulator + Number(currentValue.num),
|
| | | 0)
|
| | | console.log(total);
|
| | | if (this.info.bomType != 1 && this.info.hasBom != 1) {
|
| | | if (total > this.info.planNum) {
|
| | | uni.$u.toast(`æææ°éä¸è½å¤§äºè®¡åæ°é`)
|
| | | return
|
| | | }
|
| | | }
|
| | | let recordList = this.materialList.map(item => {
|
| | | return {
|
| | | wstockId: item.id,
|
| | | num: item.num
|
| | | }
|
| | | })
|
| | | createMaterialStandard({
|
| | | id: this.workorderId,
|
| | | recordList
|
| | | }).then(res => {
|
| | | if (res.code === 200) {
|
| | | // Toast.success({ message: 'æææå', duration: 2000, forbidClick: true })
|
| | | // setTimeout(() => {
|
| | | // router.go(-1)
|
| | | // }, 2000) |
| | | uni.$u.toast(`æææå`) |
| | | uni.$emit('addMaterial') |
| | | uni.navigateBack()
|
| | | }
|
| | | })
|
| | | }
|
| | | }
|
| | | }
|
| | | </script>
|
| | |
| | | width: 100%;
|
| | | position: fixed;
|
| | | bottom: 0;
|
| | | left: 0;
|
| | | padding: 0 30rpx 68rpx 30rpx;
|
| | | padding: 0 30rpx calc(env(safe-area-inset-bottom) + 20rpx);
|
| | | box-sizing: border-box;
|
| | | z-index: 999;
|
| | | background-color: #fff;
|
| | |
|
| | | .tl_footer_submit {
|
| | | width: 690rpx;
|
| | |
| | | <view class="content_list_item_content_item"> |
| | | <view class="content_list_item_content_item_label">æ¹æ¬¡å·ï¼</view> |
| | | <view class="content_list_item_content_item_nr"> |
| | | {{ item.batch }} |
| | | {{ item.batch ? item.batch : '-' }} |
| | | </view> |
| | | </view> |
| | | <view class="content_list_item_content_item"> |
| | |
| | | </scroll-view> |
| | | </view> |
| | | <!-- éæ©æ¥æ --> |
| | | <u-calendar mode="range" :show="timeShow" :minDate="minDate" :maxDate="maxDate" @close="timeShow = false" |
| | | @confirm="timeConfirm"></u-calendar> |
| | | <!-- <u-calendar mode="range" :show="timeShow" :minDate="minDate" :maxDate="maxDate" @close="timeShow = false" |
| | | @confirm="timeConfirm"></u-calendar> --> |
| | | <l-calendar :lunar="false" v-model="timeShow" @change="timeConfirm" :isRange="true" activeBgColor="#305ED5" |
| | | rangeColor="#305ED5" rangeBgColor="rgba(48, 80, 213, 0.1)"></l-calendar> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | }, |
| | | // æ¥æç¡®å® |
| | | timeConfirm(val) { |
| | | this.listData.planDateEnd = val[val.length - 1] |
| | | this.listData.planDateStart = val[0] |
| | | this.listData.planDateEnd = val.endDate |
| | | this.listData.planDateStart = val.startDate |
| | | this.timeShow = false |
| | | }, |
| | | // åæ¢å·¥åº |
| | |
| | | <view class="bg"> |
| | | <view class="bg_plan" @click="selectPlan"> |
| | | <view class="bg_plan_label" v-if="!from.processPlan"> |
| | | <text><b>*</b>å·¥åºç产计å</text> |
| | | <text><text>*</text>å·¥åºç产计å</text> |
| | | </view> |
| | | <view class="bg_plan_nr" v-else> |
| | | <text>{{ from.processPlan.materialName }} | {{ from.processPlan.materialCode }} | {{ from.processPlan.produceName }}</text> |
| | |
| | | <view class="bg_list_item_h"> |
| | | <view class="bg_list_item_num"> |
| | | <view class="bg_list_item_num_item"> |
| | | <text><b>*</b>è¯åæ°</text> |
| | | <text><text>*</text>è¯åæ°</text> |
| | | <view class="bg_list_item_num_item_sr"> |
| | | <u--input |
| | | placeholder="请è¾å
¥" |
| | |
| | | </view> |
| | | <view class="bg_list_item_num" v-if="from.undesirable > 0"> |
| | | <view class="bg_list_item_num_item" @click="openBL"> |
| | | <text><b>*</b>ä¸è¯é¡¹</text> |
| | | <!-- <text>*</text> --> |
| | | <text>ä¸è¯é¡¹</text> |
| | | <view class="bg_list_item_num_item_sr"> |
| | | <text class="wulll" :style="{color: from.defectiveName ? '#305ED5' : ''}">{{from.defectiveName ? from.defectiveName : '设置'}}</text> |
| | | <image src="@/static/ic_ar@2x.png" alt="" /> |
| | |
| | | <image src="@/static/ic_ar@2x.png" alt="" /> |
| | | </view> |
| | | </view> |
| | | <view class="bg_list_item" v-if="arrType && arrType.length > 0"> |
| | | <view class="bg_list_item" v-if="arrType && arrType.length > 0 && from.duration > 0"> |
| | | <view class="bg_list_item_top"> |
| | | <view class="bg_list_item_top_left"> |
| | | <view class="bg_list_item_top_left_x"></view> |
| | |
| | | processPlan: null, |
| | | deviceId: '', |
| | | deviceName: '', |
| | | // userId: store.state.userInfo.id, |
| | | // userId: userInfo.id, |
| | | userId: '', |
| | | // userName: store.state.userInfo.companyUser.name, |
| | | // userName: userInfo.companyUser.name, |
| | | userName: '', |
| | | qualified: '', // è¯åæ° |
| | | undesirable: '', // ä¸è¯æ° |
| | |
| | | } |
| | | }, |
| | | onReady() { |
| | | this.from.userId = this.userInfo.id |
| | | this.form.userName = this.userInfo.realname |
| | | let timer = setInterval(() => { |
| | | if (this.userInfo) { |
| | | this.from.userId = this.userInfo.id |
| | | this.from.userName = this.userInfo.realname |
| | | clearInterval(timer) |
| | | } |
| | | }, 500) |
| | | }, |
| | | onLoad() { |
| | | let arr = [] |
| | |
| | | font-family: PingFangSC-Regular, PingFang SC; |
| | | font-weight: 400; |
| | | color: #222222; |
| | | b { |
| | | text { |
| | | color: red; |
| | | } |
| | | } |
| | |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | white-space: nowrap; |
| | | b { |
| | | text { |
| | | font-size: 30rpx; |
| | | color: red; |
| | | color: red !important; |
| | | margin-right: 5rpx; |
| | | } |
| | | .warning { |
| | |
| | | </scroll-view> |
| | | </view> |
| | | <!-- éæ©æ¥æ --> |
| | | <u-calendar |
| | | <!-- <u-calendar |
| | | :show="timeShow" |
| | | mode="range" |
| | | @close="timeShow = false" |
| | | :minDate="minDate" |
| | | :maxDate="maxDate" |
| | | @confirm="timeConfirm"></u-calendar> |
| | | @confirm="timeConfirm"></u-calendar> --> |
| | | <l-calendar :lunar="false" v-model="timeShow" @change="timeConfirm" :isRange="true" activeBgColor="#305ED5" |
| | | rangeColor="#305ED5" rangeBgColor="rgba(48, 80, 213, 0.1)"></l-calendar> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | |
| | | // æ¥æç¡®å® |
| | | timeConfirm(val) { |
| | | this.listData.outPlanDateStart = val[0] |
| | | this.listData.outPlanDateEnd = val[val.length - 1] |
| | | this.listData.outPlanDateStart = val.startDate |
| | | this.listData.outPlanDateEnd = val.endDate |
| | | this.timeShow = false |
| | | }, |
| | | // 忢工å |
| | |
| | | <view class="content_list_item_content_item"> |
| | | <view class="content_list_item_content_item_label">æ¹æ¬¡å·ï¼</view> |
| | | <view class="content_list_item_content_item_nr"> |
| | | {{ item.batch }} |
| | | {{ item.batch ? item.batch : '-' }} |
| | | </view> |
| | | </view> |
| | | <view class="content_list_item_content_item"> |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | id: null, |
| | | types: [{ |
| | | name: 'å
¨é¨', |
| | | id: '', |
| | |
| | | }; |
| | | }, |
| | | onLoad(option) { |
| | | this.id = option.id |
| | | wTransferExtDetail(option.id) |
| | | .then(res => { |
| | | this.data = res.data |
| | |
| | | if (this.data.status === 0) { // åºåº |
| | | console.log('åºåº') |
| | | // router.push({ name: 'issueOperation', query: { id: route.query.id, type: 7 } }) |
| | | uni.navigateTo({ |
| | | url: `/pages/OutOperation/OutOperation?id=${this.id}&type=7` |
| | | }); |
| | | } else if (this.data.status === 1) { // å
¥åº |
| | | if (this.data.type === 3) { // å¤æç¡®è®¤ |
| | | console.log('å¤æç¡®è®¤') |
| | |
| | | return |
| | | } |
| | | console.log('å
¥åº') |
| | | uni.navigateTo({ |
| | | url: `/pages/InOperation/InOperation?id=${this.id}&type=7` |
| | | }); |
| | | // router.push({ name: 'warehousing', query: { id: route.query.id, type: 7 } }) |
| | | } |
| | | }, |
| | |
| | | </scroll-view> |
| | | </view> |
| | | <!-- éæ©æ¥æ --> |
| | | <u-calendar :show="timeShow" mode="range" :minDate="minDate" :maxDate="maxDate" @close="timeShow = false" |
| | | @confirm="timeConfirm"></u-calendar> |
| | | <!-- <u-calendar :show="timeShow" mode="range" :minDate="minDate" :maxDate="maxDate" @close="timeShow = false" |
| | | @confirm="timeConfirm"></u-calendar> --> |
| | | <l-calendar :lunar="false" v-model="timeShow" @change="timeConfirm" :isRange="true" activeBgColor="#305ED5" |
| | | rangeColor="#305ED5" rangeBgColor="rgba(48, 80, 213, 0.1)"></l-calendar> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | }, |
| | | // æ¥æç¡®å® |
| | | timeConfirm(val) { |
| | | this.listData.planDateStart = val[0] |
| | | this.listData.planDateEnd = val[val.length - 1] |
| | | this.listData.planDateStart = val.startDate |
| | | this.listData.planDateEnd = val.endDate |
| | | this.timeShow = false |
| | | }, |
| | | // åæ¢åæ®ç±»å |
| | |
| | | <template>
|
| | | <view class="content p30">
|
| | | <div class="content_search">
|
| | | <v-Search @searchInput="searchInput" @submit="submit" @reset="reset" :isShow="true"
|
| | | <v-Search @searchInput="searchForm.mixParam" @submit="search" @reset="reset" :isShow="true"
|
| | | placeholder="æç´¢å·¥åç¼ç /å·¥åºåç§°">
|
| | | <template v-slot:content>
|
| | | <div class="Search_item">
|
| | |
| | | <div class="content_list_item" v-for="(item, i) in list" :key="i" @click="jump(item)">
|
| | | <div class="content_list_item_top">
|
| | | <div class="content_list_item_top_left">
|
| | | <span v-if="item.mmodel">{{item.mmodel.name}} | {{item.procedureName}}</span>
|
| | | <span class="f32" v-if="item.mmodel">{{item.mmodel.name}} | {{item.procedureName}}</span>
|
| | | <div class="content_list_item_top_left_tag" v-if="item.urgent">ä¼å
{{item.urgent}}</div>
|
| | | <div class="content_list_item_top_left_tag backgreen" v-if="item.type === 0">æ£å¸¸</div>
|
| | | <div class="content_list_item_top_left_tag backyellow" v-if="item.type === 2">è¿å·¥è¿ä¿®</div>
|
| | |
| | | <span class="green" v-if="item.status === 7">è¿è¡ä¸</span>
|
| | | </div>
|
| | | </div>
|
| | | <span>å·¥åç¼å·: {{item.code}}</span>
|
| | | <span class="f24">å·¥åç¼å·: {{item.code}}</span>
|
| | | <div class="content_list_item_content">
|
| | | <div class="content_list_item_content_item">
|
| | | <div class="content_list_item_content_item_label">ç©æç¼ç ï¼</div>
|
| | |
| | | </div>
|
| | | </div>
|
| | | </scroll-view>
|
| | | <u-calendar :show="isOpenDate" mode="range" @confirm="dateConfirm"></u-calendar>
|
| | | <!-- <u-calendar :show="isOpenDate" mode="range" @confirm="dateConfirm"></u-calendar> --> |
| | | <l-calendar :lunar="false" v-model="isOpenDate" @change="onConfirm" :isRange="true" activeBgColor="#305ED5" |
| | | rangeColor="#305ED5" rangeBgColor="rgba(48, 80, 213, 0.1)"></l-calendar>
|
| | | </view>
|
| | | </template>
|
| | |
|
| | |
| | | import {
|
| | | getList,
|
| | | pageCount
|
| | | } from '@/util/api/WorkOrderAPI.js'
|
| | | } from '@/util/api/WorkOrderAPI.js' |
| | | import { gsdate } from '@/util/utils.js'
|
| | | export default {
|
| | | components: {
|
| | | vSearch,
|
| | |
| | | searchForm: {
|
| | | mixParam: '',
|
| | | startDate: '',
|
| | | endDate: '',
|
| | | endDate: gsdate(new Date()),
|
| | | statusList: []
|
| | | },
|
| | | page: {
|
| | |
| | | this.pageCounts()
|
| | | this.loadData()
|
| | | },
|
| | | methods: {
|
| | | methods: { |
| | | reset() { |
| | | this.searchForm = { |
| | | mixParam: '', |
| | | startDate: '', |
| | | endDate: gsdate(new Date()), |
| | | statusList: [] |
| | | } |
| | | this.page.page = 1 |
| | | this.pageCounts() |
| | | this.loadData() |
| | | },
|
| | | loadData() {
|
| | |
|
| | | getList({
|
| | |
| | | pageCounts() {
|
| | | pageCount({
|
| | | ...this.searchForm,
|
| | | endDate: this.searchForm.endDate ? (this.searchForm.endDate + ' 23:59:59') : '',
|
| | | endDate: this.searchForm.endDate || '',
|
| | | statusList: this.searchForm.statusList.length === 0 ? this.tagList[0].id : this.searchForm
|
| | | .statusList
|
| | | }).then(res => { |
| | |
| | | this.triggered = true;
|
| | | this.page.page = 1
|
| | | this.loadData()
|
| | | }, |
| | | search() { |
| | | this.page.page = 1 |
| | | this.loadData() |
| | | },
|
| | | jump(item) { |
| | | // uni.navigateTo({ |
| | |
| | | </div>
|
| | | </div>
|
| | | <!-- v-if="info.status === 2 || info.procedureNeedcheck === 1" -->
|
| | | <template>
|
| | | <template v-if="info.status === 2 || info.procedureNeedcheck === 1">
|
| | | <div class="bh_zw"></div>
|
| | | <div class="bg_footer bg_f7">
|
| | | <div class="bg_footer_submit bg_m" v-if="typeView == 0" @click="submit">确认æ¥å·¥</div>
|
| | |
| | | categoryExtList,
|
| | | queryOne,
|
| | | queryList
|
| | | } from '@/util/api/PlanningAPI' |
| | | import { REGULAR } from '@/util/utils'
|
| | | } from '@/util/api/PlanningAPI'
|
| | | import {
|
| | | REGULAR
|
| | | } from '@/util/utils'
|
| | | export default {
|
| | | components: {
|
| | | workOrderInfo
|
| | |
| | | undesirableId: '',
|
| | | undesirable: '' // ä¸è¯
|
| | | },
|
| | | triggered: false, |
| | | triggered: false,
|
| | | finished: true,
|
| | | djData: [],
|
| | | cateList: [],
|
| | |
| | | this.workorderId = obj.id
|
| | | this.queryByIds()
|
| | | this.getOrocessRecords()
|
| | | this.getData() |
| | | uni.$on('spotAdd', () => { |
| | | if (this.typeView == 1) { |
| | | this.pages.page = 1 |
| | | this.pageDJs() |
| | | } |
| | | this.getData()
|
| | | uni.$on('spotAdd', () => {
|
| | | if (this.typeView == 1) {
|
| | | this.pages.page = 1
|
| | | this.pageDJs()
|
| | | }
|
| | | })
|
| | | uni.$on('addMaterial', () => {
|
| | | this.getOrocessRecords()
|
| | | })
|
| | | },
|
| | | computed: {
|
| | |
| | | },
|
| | | clickIten(index) {
|
| | | this.typeView = index
|
| | | if (this.typeView == 1) { |
| | | if (this.typeView == 1) {
|
| | | this.pages.page = 1
|
| | | this.pageDJs()
|
| | | }
|
| | |
| | | this.form.index = index
|
| | | this.form.type = item.type
|
| | | },
|
| | | submit() { |
| | | let createUnqualifiedDTOList = this.form.defective.map((item) => { |
| | | return { |
| | | categoryId: item.id, |
| | | unQualifiedNum: item.num |
| | | } |
| | | }) |
| | | let createWorkorderRecordDTO = { |
| | | workorderId: this.workorderId, |
| | | duration: this.form.duration ? this.form.duration : 0, |
| | | qualifiedNum: this.produceFrom.qualified ? this.produceFrom.qualified : 0, |
| | | unQualifiedNum: this.produceFrom.undesirable ? this.produceFrom.undesirable : 0 |
| | | } |
| | | // id: route.query.id |
| | | comfirmDoneStandard({ |
| | | createUnqualifiedDTOList, |
| | | createWorkorderRecordDTO |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | uni.$u.toast('æ¥å·¥æå') |
| | | setTimeout(() => { |
| | | uni.navigateBack({ data: 2}) |
| | | }, 2000) |
| | | } |
| | | }) |
| | | submit() {
|
| | | let createUnqualifiedDTOList = this.form.defective.map((item) => {
|
| | | return {
|
| | | categoryId: item.id,
|
| | | unQualifiedNum: item.num
|
| | | }
|
| | | })
|
| | | let createWorkorderRecordDTO = {
|
| | | workorderId: this.workorderId,
|
| | | duration: this.form.duration ? this.form.duration : 0,
|
| | | qualifiedNum: this.produceFrom.qualified ? this.produceFrom.qualified : 0,
|
| | | unQualifiedNum: this.produceFrom.undesirable ? this.produceFrom.undesirable : 0
|
| | | }
|
| | | // id: route.query.id
|
| | | comfirmDoneStandard({
|
| | | createUnqualifiedDTOList,
|
| | | createWorkorderRecordDTO
|
| | | }).then(res => {
|
| | | if (res.code === 200) {
|
| | | uni.$u.toast('æ¥å·¥æå')
|
| | | setTimeout(() => {
|
| | | uni.navigateBack({
|
| | | data: 2
|
| | | })
|
| | | }, 2000)
|
| | | }
|
| | | })
|
| | | },
|
| | | jumpdj() {
|
| | | uni.navigateTo({
|
| | | url: `/pages_adjust/pages/spotCheck/spotCheck?id=${this.workorderId}`
|
| | | })
|
| | | }, |
| | | getLists() { |
| | | if (!this.finished) { |
| | | return |
| | | } |
| | | this.finished = false |
| | | this.pages.page += 1 |
| | | this.pageDJs() |
| | | },
|
| | | pageDJs() { |
| | | |
| | | getLists() {
|
| | | if (!this.finished) {
|
| | | return
|
| | | }
|
| | | this.finished = false
|
| | | this.pages.page += 1
|
| | | this.pageDJs()
|
| | | },
|
| | | pageDJs() {
|
| | |
|
| | | pageDJ({
|
| | | capacity: this.pages.capacity,
|
| | | page: this.pages.page,
|
| | | model: {
|
| | | workorderId: this.workorderId
|
| | | }
|
| | | }).then(res => { |
| | | let {data} = res |
| | | if (data.page == 1) { |
| | | this.djData = [] |
| | | } |
| | | this.djData.push(...data.records)
|
| | | // loading.value = false
|
| | | }).catch(err => {
|
| | | // loading.value = false
|
| | | // finished.value = true
|
| | | }) |
| | | .finally(() => { |
| | | this.finished = true |
| | | })
|
| | | capacity: this.pages.capacity,
|
| | | page: this.pages.page,
|
| | | model: {
|
| | | workorderId: this.workorderId
|
| | | }
|
| | | }).then(res => {
|
| | | let {
|
| | | data
|
| | | } = res
|
| | | if (data.page == 1) {
|
| | | this.djData = []
|
| | | }
|
| | | this.djData.push(...data.records)
|
| | | // loading.value = false
|
| | | }).catch(err => {
|
| | | // loading.value = false
|
| | | // finished.value = true
|
| | | })
|
| | | .finally(() => {
|
| | | this.finished = true
|
| | | })
|
| | | },
|
| | | dele(id) {
|
| | | deletedj(id)
|
| | |
| | | // url: ''
|
| | | url: `/pages_adjust/pages/manualFeed/manualFeed?id=${this.workorderId}`
|
| | | })
|
| | | },
|
| | | deleItem(id, type) {
|
| | | uni.showModal({
|
| | | title: 'æç¤º',
|
| | | content: 'ç¡®å®å 餿¤æ¡è®°å½åï¼',
|
| | | success: (res) => {
|
| | | if (res.confirm) {
|
| | | console.log('ç¨æ·ç¹å»ç¡®å®');
|
| | | deleteCT(id)
|
| | | .then(res => { |
| | | this.getOrocessRecords()
|
| | | // if (type === 'C') {
|
| | | // this.getOrocessRecordCC()
|
| | | // } else if (type === 'T') {
|
| | | // this.getOrocessRecords()
|
| | | // }
|
| | | }) |
| | | .catch(err => {})
|
| | | }
|
| | | }
|
| | | })
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | </scroll-view> |
| | | </view> |
| | | <!-- éæ©æ¥æ --> |
| | | <u-calendar :show="timeShow" mode="range" @confirm="timeConfirm" @close="timeShow = false"></u-calendar> |
| | | <!-- <u-calendar :show="timeShow" mode="range" @confirm="timeConfirm" @close="timeShow = false"></u-calendar> --> |
| | | <l-calendar :lunar="false" v-model="timeShow" @change="timeConfirm" :isRange="true" activeBgColor="#305ED5" |
| | | rangeColor="#305ED5" rangeBgColor="rgba(48, 80, 213, 0.1)"></l-calendar> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | }, |
| | | // æ¥æç¡®å® |
| | | timeConfirm(val) { |
| | | this.pageData.checkStartDate = val[0] |
| | | this.pageData.checkEndDate = val[val.length - 1] |
| | | this.pageData.checkStartDate = val.startDate |
| | | this.pageData.checkEndDate = val.endDate |
| | | this.timeShow = false |
| | | }, |
| | | // 忢æ£ç±»å |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view class="box1"> |
| | | <!-- 设å¤+æ¥æ --> |
| | | <view class="box_list"> |
| | | <view class="box_list_item" @click="open"> |
| | | <view class="box_list_item_left"> |
| | | <text>æ£éªè®¾å¤</text><text>*</text> |
| | | </view> |
| | | <view class="box_list_item_right"> |
| | | <text :style="form.equipmentName ? 'color: #000' : ''">{{ form.equipmentName ? form.equipmentName : 'ç¹å»éæ©å·¡æ£è®¾å¤' }}</text> |
| | | <u-icon name="arrow-right" color="#999999" size="18"></u-icon> |
| | | </view> |
| | | </view> |
| | | <view class="box_list_code" @click.stop="openCode"> |
| | | <view class="boxs"> |
| | | <image src="@/static/jianyan_ic_saoma@2x.png" alt="" /> |
| | | <text>æ«æè®¾å¤</text> |
| | | </view> |
| | | </view> |
| | | <view class="box_list_item" @click="showTime = true"> |
| | | <view class="box_list_item_left"> |
| | | <text>å·¡æ£æ¶é´</text><text>*</text> |
| | | </view> |
| | | <view class="box_list_item_right"> |
| | | <text class="black">{{form.time}}</text> |
| | | <u-icon name="arrow-right" color="#999999" size="18"></u-icon> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <!-- ç¶æ+å¾ç/è§é¢ --> |
| | | <view class="box_list1"> |
| | | <view class="box_list1_item"> |
| | | <view class="box_list1_item_left"> |
| | | <text>设å¤ç¶æ</text><text>*</text> |
| | | </view> |
| | | <view class="box_list1_item_right"> |
| | | <view class="box_list1_item_right_item" :class="{'active': item.active}" |
| | | v-for="(item, index) in status" :key="index" @click="changeItem(index, item.id)">{{item.name}} |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="box_list1_club"> |
| | | <view class="box_list1_club_label">å·¡æ£ç°åºç
§ç<text v-show="form.status == '1'">*</text></view> |
| | | <view class="box_list1_club_list"> |
| | | <view class="box_list1_club_list_item" @click="uploadFile"> |
| | | <view class="type"> |
| | | <image class="type_img" src="@/static/btn_upload@2x.png" alt="" /> |
| | | </view> |
| | | </view> |
| | | <view class="box_list1_club_list_item" v-for="(item, index) in form.files" :key="index" |
| | | @click="seeBigFile(index)"> |
| | | <image class="close" src="@/static/ic_delete@2x.png" @click.stop="dele(index)" /> |
| | | <image class="play" src="@/static/ic_play@2x.png" v-if="item.type === 1" /> |
| | | <view class="type"> |
| | | <video :src="item.url" v-if="item.type === 1"></video> |
| | | <image v-else class="type_img" :src="item.url" mode="widthFix" /> |
| | | </view> |
| | | </view> |
| | | <view class="box_list1_club_list_item1"></view> |
| | | <view class="box_list1_club_list_item1"></view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="box_list2"> |
| | | <view class="box_list2_label">夿³¨</view> |
| | | <textarea name="" id="" v-model="form.remarks" cols="20" rows="5" maxlength="300" |
| | | placeholder="è¯·è¯¦ç»æè¿°å·¡æ£æ
åµ"></textarea> |
| | | </view> |
| | | <view class="box_footer"> |
| | | <button class="box_footer_submit" v-preventReClick @click="submit">æäº¤</button> |
| | | </view> |
| | | <!-- éæ©æ¶é´ --> |
| | | <u-datetime-picker :show="showTime" v-model="currentDate" @cancel="showTime = false" @confirm="queding" mode="datetime"></u-datetime-picker> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getBarcodeContent } from '@/util/api/WorkOrderAPI' |
| | | import { saveBean, getDeviceByCondition, getsbInfo } from '@/util/api/QualityAPI' |
| | | import { queryListByCode, uploadFiles } from '@/util/api/index' |
| | | import { QRCodeType, baseUrl } from '@/common/config.js' |
| | | import { setTime, judgmentType } from '@/util/utils.js' |
| | | import { mapState } from 'vuex' |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | status: [{ |
| | | name: 'æ£å¸¸', |
| | | active: true, |
| | | id: '0' |
| | | }, |
| | | { |
| | | name: 'å¼å¸¸', |
| | | active: false, |
| | | id: '1' |
| | | } |
| | | ], |
| | | columns: [], |
| | | path: '', |
| | | showTime: false, |
| | | currentDate: new Date(), |
| | | form: { |
| | | equipmentId: '', // 设å¤id |
| | | equipmentName: '', //设å¤åç§° |
| | | time: '', // å·¡æ£æ¶é´ |
| | | status: '0', // 设å¤ç¶æ |
| | | files: [], // å·¡æ£å¾ç/è§é¢ |
| | | remarks: '' // 夿³¨ |
| | | } |
| | | }; |
| | | }, |
| | | onLoad() { |
| | | this.form.time = setTime(new Date(), '-') |
| | | this.getqueryListByCode() |
| | | }, |
| | | computed: { |
| | | ...mapState(['session']) |
| | | }, |
| | | methods: { |
| | | // ç¡®è®¤éæ©æ¥æ |
| | | queding(val) { |
| | | this.form.time = uni.$u.timeFormat(val.value, 'yyyy-mm-dd hh:MM:ss') |
| | | this.showTime = false |
| | | }, |
| | | // æ«ç |
| | | openCode() { |
| | | uni.scanCode({ |
| | | onlyFromCamera: true, |
| | | success: function (result) { |
| | | getBarcodeContent({ |
| | | barcode: result.result |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | if (res.data.barcodeType === QRCodeType.SB) { |
| | | getsbInfo(res.data.id) |
| | | .then(res1 => { |
| | | if (res1.code === 200) { |
| | | this.form.equipmentId = res1.data.id |
| | | this.form.equipmentName = res1.data.name |
| | | } |
| | | }) |
| | | } else { |
| | | uni.showToast({ |
| | | title: 'è¯·æ«ææ£ç¡®ç设å¤ç ', |
| | | icon: 'none', |
| | | duration: 2000 |
| | | }); |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | }); |
| | | }, |
| | | // æ¹åç¶æ |
| | | changeItem(i, id) { |
| | | this.status.forEach((item, index) => { |
| | | item.active = index === i; |
| | | }) |
| | | this.form.status = id |
| | | }, |
| | | submit() { |
| | | if (!this.form.equipmentId) return uni.showToast({ |
| | | title: '设å¤ä¸è½ä¸ºç©º', |
| | | icon: 'none', |
| | | duration: 2000 |
| | | }); |
| | | if (!this.form.time) return uni.showToast({ |
| | | title: 'æ¶é´ä¸è½ä¸ºç©º', |
| | | icon: 'none', |
| | | duration: 2000 |
| | | }); |
| | | if (!this.form.status) return uni.showToast({ |
| | | title: 'ç¶æä¸è½ä¸ºç©º', |
| | | icon: 'none', |
| | | duration: 2000 |
| | | }); |
| | | if (this.form.status == '1') { |
| | | if (this.form.files.length === 0) return uni.showToast({ |
| | | title: 'ç°åºç
§çä¸è½ä¸ºç©º', |
| | | icon: 'none', |
| | | duration: 2000 |
| | | }); |
| | | } |
| | | saveBean({ |
| | | checkDate: this.form.time, |
| | | content: this.form.remarks, |
| | | deviceId: this.form.equipmentId, |
| | | status: this.form.status, |
| | | multiFilesSaveBeans: this.form.files |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | uni.showToast({ |
| | | title: 'æäº¤æå', |
| | | icon: 'success', |
| | | duration: 2000, |
| | | mask: true |
| | | }); |
| | | setTimeout(() => { |
| | | uni.navigateBack({ |
| | | delta: 1 |
| | | }); |
| | | }, 2000) |
| | | } |
| | | }) |
| | | }, |
| | | // è·åå½åç¨æ·ä¸ææè®¾å¤ |
| | | getSB() { |
| | | getDeviceByCondition({}) |
| | | .then(res => { |
| | | if (res.code === 200 && res.data && res.data.length > 0) { |
| | | this.columns = [] |
| | | res.data.forEach(item => { |
| | | this.columns.push({ text: item.name, id: item.id }) |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | // è·åæä»¶ |
| | | async upFile(e) { |
| | | if (this.form.files.length + e.target.files.length > 9) { |
| | | uni.showToast({ |
| | | title: 'æå¤åªè½ä¸ä¼ 9个å¾ç/è§é¢', |
| | | icon: 'none', |
| | | duration: 2000 |
| | | }); |
| | | return |
| | | } |
| | | for (let i = 0; i < e.target.files.length; i++) { |
| | | let type = e.target.files[i].type |
| | | let index = type.indexOf('/') |
| | | let data = type.substring(index + 1, type.length) |
| | | const format = new FormData() |
| | | format.append('file', e.target.files[i]) |
| | | format.append('folder', this.path) |
| | | let res = await uploadFiles(format) |
| | | if (res.code === 200) { |
| | | form.files.push({ |
| | | fileUrl: res.data.imgaddr, |
| | | filename: res.data.imgname, |
| | | filesize: e.target.files[i].size, |
| | | type: judgmentType(data.toLowerCase()) ? 0 : 1, |
| | | url: res.data.url |
| | | }) |
| | | } |
| | | } |
| | | // upload.value.value = '' |
| | | }, |
| | | // ç¹å»ä¸ä¼ |
| | | uploadFile() { |
| | | uni.chooseImage({ |
| | | success: (chooseImageRes) => { |
| | | const tempFilePaths = chooseImageRes.tempFilePaths; |
| | | console.log(tempFilePaths) |
| | | uni.uploadFile({ |
| | | url: baseUrl + '/ext/routeCardExt/upload', |
| | | filePath: tempFilePaths[0], |
| | | name: 'file', |
| | | header: { |
| | | 'Cookie': 'eva-auth-token=' + this.session |
| | | }, |
| | | formData: { |
| | | 'folder': this.path |
| | | }, |
| | | success: (uploadFileRes) => { |
| | | console.log(JSON.parse(uploadFileRes.data)); |
| | | let res = JSON.parse(uploadFileRes.data) |
| | | this.form.files.push({ |
| | | fileUrl: res.data.imgaddr, |
| | | filename: res.data.imgname, |
| | | // filesize: e.target.files[i].size, |
| | | type: judgmentType(tempFilePaths[0]) ? 0 : 1, |
| | | url: res.data.url |
| | | }) |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }, |
| | | // è·ååå
¸çº¸ |
| | | getqueryListByCode() { |
| | | queryListByCode({ |
| | | dicCode: 'FOLDER', |
| | | label: 'DEVICE_CHECK' |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | this.path = res.data[0].code |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .box1 { |
| | | width: 100%; |
| | | height: 100%; |
| | | position: absolute; |
| | | background: #F7F7F7; |
| | | |
| | | .box_list { |
| | | padding: 0 30rpx 0 30rpx; |
| | | background: white; |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | .box_list_code { |
| | | margin: 20rpx 0; |
| | | |
| | | .boxs { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: flex-end; |
| | | |
| | | image { |
| | | width: 28rpx; |
| | | height: 28rpx; |
| | | margin-right: 12rpx; |
| | | } |
| | | |
| | | text { |
| | | font-size: 28rpx; |
| | | font-weight: 400; |
| | | color: $nav-color; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .box_list_item { |
| | | height: 98rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | border-bottom: 1rpx solid #E5E5E5; |
| | | |
| | | &:last-child { |
| | | border: none; |
| | | } |
| | | |
| | | .box_list_item_left { |
| | | text { |
| | | font-size: 30rpx; |
| | | font-weight: 400; |
| | | |
| | | &:first-child { |
| | | color: #222222; |
| | | } |
| | | |
| | | &:last-child { |
| | | color: #DE5243; |
| | | margin-left: 8rpx; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .box_list_item_right { |
| | | display: flex; |
| | | align-items: center; |
| | | .black { |
| | | color: black; |
| | | } |
| | | |
| | | text { |
| | | font-size: 28rpx; |
| | | font-weight: 400; |
| | | color: #999999; |
| | | margin-right: 10rpx; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .box_list1 { |
| | | padding: 30rpx; |
| | | background: white; |
| | | margin-top: 20rpx; |
| | | |
| | | .box_list1_item { |
| | | height: 98rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | border-bottom: 1rpx solid #E5E5E5; |
| | | |
| | | &:last-child { |
| | | border: none; |
| | | } |
| | | |
| | | .box_list1_item_left { |
| | | text { |
| | | font-size: 30rpx; |
| | | font-weight: 400; |
| | | color: #222222; |
| | | |
| | | &:last-child { |
| | | font-size: 30rpx; |
| | | font-weight: 400; |
| | | color: #DE5243; |
| | | margin-left: 4rpx; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .box_list1_item_right { |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | .active { |
| | | color: white !important; |
| | | background: $nav-color !important; |
| | | } |
| | | |
| | | .box_list1_item_right_item { |
| | | padding: 18rpx 32rpx; |
| | | background: #F2F2F2; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | font-size: 26rpx; |
| | | font-weight: 400; |
| | | color: #333333; |
| | | margin-left: 20rpx; |
| | | border-radius: 8rpx; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .box_list1_club { |
| | | display: flex; |
| | | flex-direction: column; |
| | | margin-top: 36rpx; |
| | | |
| | | .box_list1_club_label { |
| | | font-size: 30rpx; |
| | | font-weight: 400; |
| | | color: #222222; |
| | | margin-bottom: 32rpx; |
| | | |
| | | text { |
| | | font-size: 30rpx; |
| | | font-weight: 400; |
| | | color: #DE5243; |
| | | margin-left: 4rpx; |
| | | } |
| | | } |
| | | |
| | | .box_list1_club_list { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | flex-wrap: wrap; |
| | | |
| | | .box_list1_club_list_item1 { |
| | | width: 170rpx; |
| | | height: 0; |
| | | } |
| | | |
| | | .box_list1_club_list_item { |
| | | width: 150rpx; |
| | | height: 150rpx; |
| | | border-radius: 8rpx; |
| | | position: relative; |
| | | margin-right: 22rpx; |
| | | margin-bottom: 22rpx; |
| | | |
| | | .type { |
| | | width: 100%; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | overflow: hidden; |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | |
| | | .type_img { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | video { |
| | | height: 100%; |
| | | z-index: 1; |
| | | } |
| | | } |
| | | |
| | | .play { |
| | | position: absolute; |
| | | left: 50%; |
| | | top: 50%; |
| | | width: 56rpx; |
| | | height: 56rpx; |
| | | z-index: 9; |
| | | transform: translate(-50%, -50%); |
| | | } |
| | | |
| | | .close { |
| | | position: absolute; |
| | | right: -16rpx; |
| | | top: -16rpx; |
| | | width: 32rpx; |
| | | height: 32rpx; |
| | | z-index: 9; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .box_list2 { |
| | | padding: 30rpx; |
| | | background: white; |
| | | margin-top: 20rpx; |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | .box_list2_label { |
| | | font-size: 30rpx; |
| | | font-weight: 400; |
| | | color: #222222; |
| | | margin-bottom: 32rpx; |
| | | } |
| | | |
| | | textarea { |
| | | border: none; |
| | | font-size: 28rpx; |
| | | } |
| | | |
| | | textarea::-webkit-input-placeholder { |
| | | font-size: 28rpx; |
| | | font-weight: 400; |
| | | color: #B2B2B2; |
| | | } |
| | | } |
| | | |
| | | .box_footer { |
| | | width: 100%; |
| | | padding: 0 30rpx 68rpx 30rpx; |
| | | box-sizing: border-box; |
| | | position: fixed; |
| | | bottom: 0; |
| | | left: 0; |
| | | background: #F7F7F7; |
| | | |
| | | .box_footer_submit { |
| | | width: 100%; |
| | | height: 88rpx; |
| | | background: #4275FC; |
| | | box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.0800); |
| | | border-radius: 8rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | font-size: 30rpx; |
| | | font-weight: 500; |
| | | color: #FFFFFF; |
| | | border: none; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | $uni-font-size-subtitle:26px; |
| | | $uni-color-paragraph: #3F536E; // æç« 段è½é¢è² |
| | | $uni-font-size-paragraph:15px; |
| | | |
| | | .backgreen { |
| | | background: $nav-stateColor2 !important; |
| | | } |
| | | |
| | | .backyellow { |
| | | background: $nav-stateColor5 !important; |
| | | } |
| | | |
| | | .backred { |
| | | background: $nav-stateColor4 !important; |
| | | } |
| | |
| | | left: 0;
|
| | | right: 0;
|
| | | bottom: 0;
|
| | | z-index: 9999;
|
| | | z-index: 99999;
|
| | | visibility: hidden;
|
| | | transform: translate3d(0, 100%, 0);
|
| | | transform-origin: center;
|
| | |
| | | |
| | | // æ ¹æ®IDæ¥è¯¢ |
| | | export function getBYid (id) { |
| | | return request.post(`/ext/workorderCheckExt/${id}`) |
| | | return request.get(`/ext/workorderCheckExt/${id}`) |
| | | } |
| | | // export function getBYid(id: any): Promise<any> { |
| | | // return httpRequest({ |
| | |
| | | // æ¥è¯¢å½åç¨æ·ææä¸»ç»ç»ä¸çå·¥åº |
| | | export function getOrganization(data) { |
| | | return http.post('/ext/departmentExt/getDepartmentListByConditon', data) |
| | | } |
| | | |
| | | // è·åä¸ä¼ åå
¸å¼ |
| | | export function queryListByCode(params) { |
| | | return http.get('/system/dictData/queryListByCode', {params}) |
| | | } |
| | |
| | | // å¼å
¥é
ç½®
|
| | | import { baseUrl } from '@/common/config'
|
| | | import { baseUrl } from '@/common/config' |
| | | console.log(baseUrl);
|
| | | // åå§å请æ±é
ç½®
|
| | | uni.$u.http.setConfig((defaultConfig) => {
|
| | | /* defaultConfig 为é»è®¤å
¨å±é
ç½® */ |
| | |
| | | * @param {Object} http
|
| | | */
|
| | | module.exports = (vm) => {
|
| | | uni.$u.http.interceptors.request.use((config) => { // å¯ä½¿ç¨async await å弿¥æä½
|
| | | uni.$u.http.interceptors.request.use((config) => { // å¯ä½¿ç¨async await å弿¥æä½ |
| | | console.log(config);
|
| | | if (vm.$store.state.session) {
|
| | | config.header['Cookie'] = 'eva-auth-token=' + vm.$store.state.session
|
| | | }
|
| | |
| | | number: /^\d+(?:\.\d{1,4})?$/ |
| | | } |
| | | |
| | | export { gsdate, setTime, setTimeO, REGULAR } |
| | | /*** |
| | | * |
| | | * @param type æä»¶ç±»å |
| | | */ |
| | | function judgmentType (type) { |
| | | let arr = ['jpg', 'jpeg', 'png'] |
| | | // arr.includes(type) |
| | | let open = false |
| | | arr.forEach(item => { |
| | | if (type === item) { |
| | | open = true |
| | | } |
| | | }) |
| | | return open; |
| | | } |
| | | |
| | | export { gsdate, setTime, setTimeO, REGULAR, judgmentType } |
| | |
| | | #VUE_APP_BASE_URL = 'http://192.168.0.36:10021/'
|
| | |
|
| | | #åç£ç£æ¬å°
|
| | | # VUE_APP_BASE_URL = 'http://192.168.0.18:10021/'
|
| | | VUE_APP_BASE_URL = 'http://192.168.0.18:10021/'
|
| | | # VUE_APP_BASE_URL = 'https://dmtest.ahapp.net/doumeeplant_api/' |
| | |
| | | <el-form-item label="èååç§°" prop="name" required> |
| | | <el-input v-model="form.name" placeholder="请è¾å
¥èååç§°" v-trim maxlength="50"/> |
| | | </el-form-item> |
| | | <el-form-item label="访é®è·¯å¾" prop="path"> |
| | | <el-form-item label="h5访é®è·¯å¾" prop="path"> |
| | | <el-input v-model="form.path" placeholder="请è¾å
¥è®¿é®è·¯å¾" v-trim maxlength="200"/> |
| | | </el-form-item> |
| | | <el-form-item label="å°ç¨åºè®¿é®è·¯å¾" prop="pathSec"> |
| | | <el-input v-model="form.pathSec" placeholder="请è¾å
¥è®¿é®è·¯å¾" v-trim maxlength="200"/> |
| | | </el-form-item> |
| | | <el-form-item label="徿 " prop="icon" class="form-item-icon"> |
| | | <div style="display: flex;"> |
| | |
| | | parentId: null, |
| | | name: '', |
| | | path: '', |
| | | pathSec: '', |
| | | icon: '', |
| | | fullIcon: '', |
| | | remark: '', |
| | |
| | | <template v-else>æªè®¾ç½®</template> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="path" label="访é®è·¯å¾" align="center" min-width="140px"></el-table-column> |
| | | <el-table-column prop="path" label="h5访é®è·¯å¾" align="center" min-width="140px"></el-table-column> |
| | | <el-table-column prop="pathSec" label="å°ç¨åºè®¿é®è·¯å¾" align="center" min-width="140px"></el-table-column> |
| | | <el-table-column prop="remark" label="夿³¨" align="center" min-width="120px"></el-table-column> |
| | | <el-table-column prop="createUser" label="å建人" align="center" min-width="100px"> |
| | | <template slot-scope="{row}">{{row.createUserInfo == null ? '' : row.createUserInfo.username}}</template> |
| | |
| | | nodeVO.setIndex("menu_" + menu.getId()); |
| | | nodeVO.setLabel(menu.getName()); |
| | | nodeVO.setUrl(menu.getPath()); |
| | | nodeVO.setUrlSec(menu.getPathSec()); |
| | | nodeVO.setIcon(menu.getIcon()); |
| | | nodeVO.setChildren(new ArrayList<>()); |
| | | rootNodes.add(nodeVO); |
| | |
| | | child.setId(menu.getId()); |
| | | child.setLabel(menu.getName()); |
| | | child.setUrl(menu.getPath()); |
| | | child.setUrlSec(menu.getPathSec()); |
| | | child.setIcon(menu.getIcon()); |
| | | child.setIndex("menu_" + menu.getId()); |
| | | child.setChildren(new ArrayList<>()); |
| | |
| | | @ApiModelProperty(value = "èå访é®è·¯å¾") |
| | | private String path; |
| | | |
| | | @ApiModelProperty(value = "èå访é®è·¯å¾2") |
| | | @ApiModelProperty(value = "å°ç¨åºèå访é®è·¯å¾") |
| | | private String pathSec; |
| | | |
| | | |
| | | @ApiModelProperty(value = "夿³¨") |
| | | private String remark; |
| | | |
| | |
| | | @ApiModelProperty(value = "èåå°å") |
| | | private String url; |
| | | |
| | | @ApiModelProperty(value = "å°ç¨åºèåå°å") |
| | | private String urlSec; |
| | | |
| | | @ApiModelProperty(value = "ç±»å 0å¹³å° 1ä¼ä¸PC端 2ä¼ä¸ææºç«¯", example = "1") |
| | | private Integer type; |
| | | @ApiModelProperty(value = "åèå") |
| | |
| | | </resultMap> |
| | | <select id="selectManageList" parameterType="doumeemes.dao.system.dto.QuerySystemMenuDTO" resultMap="SystemMenuListVO"> |
| | | SELECT |
| | | menu.`TYPE`,menu.`MODULE_ID`, menu.`ID`, menu.`PARENT_ID`, menu.`NAME`, menu.`PATH`, menu.`FIXED`, menu.`REMARK`, menu.`DISABLED`, menu.SORT, menu.`ICON`, menu.`CREATE_TIME`, menu.`UPDATE_TIME`, menu.`CREATE_USER`, menu.`UPDATE_USER`, menu.`DELETED`, |
| | | menu.`TYPE`,menu.`MODULE_ID`, menu.`ID`, menu.`PARENT_ID`, menu.`NAME`, menu.`PATH`, menu.`FIXED`, menu.`REMARK`, menu.`DISABLED`, menu.SORT, menu.`ICON`, menu.`CREATE_TIME`, menu.`UPDATE_TIME`, menu.`CREATE_USER`, menu.`UPDATE_USER`, menu.`DELETED`,menu.PATH_SEC, |
| | | create_user.ID CREATE_USER_ID, create_user.`USERNAME` CREATE_USER_NAME, |
| | | update_user.ID UPDETE_USER_ID, update_user.`USERNAME` UPDATE_USER_NAME |
| | | FROM SYSTEM_MENU menu |
| | |
| | | <!-- æ¥è¯¢èåæ --> |
| | | <select id="selectByUserId" resultType="doumeemes.dao.system.model.SystemMenu"> |
| | | SELECT |
| | | DISTINCT menu.`ID`, menu.`TYPE`,menu.`MODULE_ID`, menu.`PARENT_ID`, menu.`NAME`, menu.`PATH`, menu.`REMARK`, menu.`DISABLED`, menu.SORT, menu.`ICON`, menu.`CREATE_TIME`, menu.`UPDATE_TIME`, menu.`CREATE_USER`, menu.`UPDATE_USER`, menu.`DELETED` |
| | | DISTINCT menu.`ID`, menu.`TYPE`,menu.`MODULE_ID`, menu.`PARENT_ID`, menu.`NAME`, menu.`PATH`, menu.`REMARK`, menu.`DISABLED`, menu.SORT, menu.`ICON`, menu.`CREATE_TIME`, menu.`UPDATE_TIME`, menu.`CREATE_USER`, menu.`UPDATE_USER`, menu.`DELETED`,menu.PATH_SEC |
| | | FROM `SYSTEM_MENU` menu |
| | | INNER JOIN SYSTEM_ROLE_MENU role_menu ON role_menu.MENU_ID = menu.ID AND role_menu.DELETED = 0 |
| | | INNER JOIN SYSTEM_USER_ROLE user_role ON user_role.ROLE_ID = role_menu.ROLE_ID AND user_role.DELETED = 0 |
| | |
| | | <!-- æ ¹æ®è§è²IDæ¥è¯¢èåå表 --> |
| | | <select id="selectByRoleId" parameterType="java.lang.Integer" resultType="doumeemes.dao.system.model.SystemMenu"> |
| | | SELECT |
| | | menu.`TYPE`,menu.`MODULE_ID`, menu.`ID`, menu.`PARENT_ID`, menu.`NAME`, menu.`PATH`, menu.`REMARK`, menu.`DISABLED`, menu.SORT, menu.`ICON`, menu.`CREATE_TIME`, menu.`UPDATE_TIME`, menu.`CREATE_USER`, menu.`UPDATE_USER`, menu.`DELETED` |
| | | menu.`TYPE`,menu.`MODULE_ID`, menu.`ID`, menu.`PARENT_ID`, menu.`NAME`, menu.`PATH`, menu.`REMARK`, menu.`DISABLED`, menu.SORT, menu.`ICON`, menu.`CREATE_TIME`, menu.`UPDATE_TIME`, menu.`CREATE_USER`, menu.`UPDATE_USER`, menu.`DELETED`,menu.PATH_SEC |
| | | FROM `SYSTEM_MENU` menu |
| | | INNER JOIN `SYSTEM_ROLE_MENU` role_menu ON role_menu.MENU_ID = menu.ID AND role_menu.DELETED = 0 |
| | | <where> |