| | |
| | | export const InventoryTreePermissions = (data) => http.get('/GeneralBasicData/InventoryTreePermissions', { |
| | | params: data |
| | | }) |
| | | |
| | | // å·¥åºæ£éªæ«ç è·åä»»å¡ä¿¡æ¯ |
| | | export const MesOrderStepCheckSearch = (data) => http.get('/QualityManagement/MesOrderStepCheckSearch', { |
| | | params: data |
| | | }) |
| | | |
| | | // å
¥åæ£éª,å·¥åºæ£éªæ ¹æ®éæ©çæ£éªæ¹æ¡æ¥æ¾æ£éªé¡¹ç® |
| | | export const MesOrderStepCheckItemList = (data) => http.get('/QualityManagement/MesOrderStepCheckItemList', { |
| | | params: data |
| | | }) |
| | | |
| | | // å·¥åºæ£éª,æäº¤ |
| | | export const SaveMesOrderStepCheckItem = (data) => http.post('/QualityManagement/SaveMesOrderStepCheckItem', |
| | | data) |
| | |
| | | "sdkConfigs": { |
| | | "ad": {}, |
| | | "maps": {}, |
| | | "share": {} |
| | | "share": {}, |
| | | "push": {} |
| | | }, |
| | | "icons": { |
| | | "android": { |
| | |
| | | "navigationStyle": "custom", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/zlgl/sjjy", |
| | | "style": { |
| | | "navigationBarTitleText": "馿£æ£éª", |
| | | "navigationStyle": "custom", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/zlgl/sjjy2", |
| | | "style": { |
| | | "navigationBarTitleText": "馿£æ£éª", |
| | | "navigationStyle": "custom", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/zlgl/xjjy", |
| | | "style": { |
| | | "navigationBarTitleText": "å·¡æ£æ£éª", |
| | | "navigationStyle": "custom", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/zlgl/xjjy2", |
| | | "style": { |
| | | "navigationBarTitleText": "å·¡æ£æ£éª", |
| | | "navigationStyle": "custom", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/zlgl/wgjy", |
| | | "style": { |
| | | "navigationBarTitleText": "å®å·¥æ£éª", |
| | | "navigationStyle": "custom", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | }, |
| | | { |
| | | "path": "pages/zlgl/wgjy2", |
| | | "style": { |
| | | "navigationBarTitleText": "å®å·¥æ£éª", |
| | | "navigationStyle": "custom", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | } |
| | | ], |
| | | "globalStyle": { |
| | |
| | | data() { |
| | | return { |
| | | // #ifdef H5 |
| | | usercode: '', |
| | | usercode: '999', |
| | | // #endif |
| | | |
| | | // #ifdef APP-PLUS |
| | | usercode: '', |
| | | usercode: '9999', |
| | | // #endif |
| | | |
| | | userpassword: '', |
| | | userpassword: '123456', |
| | | isView: false, //å¯ç æ¯å¦å¯è§ |
| | | |
| | | isDisabledSubmitButton: false, //æäº¤æé®æ¯å¦å¤äºå è½½ä¸ |
| | |
| | | |
| | | |
| | | // è´¨é管ç |
| | | case '2030': |
| | | url = 'zlgl/gxjy' //å·¥åºæ£éª |
| | | case '2702': |
| | | url = 'zlgl/sjjy' //馿£æ£éª |
| | | break; |
| | | case '2031': |
| | | url = 'zlgl/wljy' //ç©æµæ£éª |
| | | case '2703': |
| | | url = 'zlgl/xjjy' //å·¡æ£æ£éª |
| | | break; |
| | | case '2704': |
| | | url = 'zlgl/wgjy' //å®å·¥æ£éª |
| | | break; |
| | | |
| | | |
| | | |
| | | case '2032': |
| | | url = 'zlgl/jyfh' //æ£éªå¤æ ¸ |
| | | break; |
| | |
| | | break; |
| | | } |
| | | this.popupShow = false //äºçº§èåçæ¾éæ§å¶ |
| | | console.log(url) |
| | | uni.navigateTo({ |
| | | url: '../' + url |
| | | }); |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view> |
| | | <page-nav title="馿£æ£éª"></page-nav> |
| | | |
| | | <view v-if="processArr.length===0"> |
| | | <div class="sacnBody"> |
| | | <div class="scanImg" @click="topScanClick"></div> |
| | | <div class="scanText">æ«æå·¥åºä»»å¡ç </div> |
| | | </div> |
| | | </view> |
| | | |
| | | |
| | | <view v-if="processArr.length!==0" class="mainContent" style="height: 1340rpx;overflow: auto"> |
| | | <view> |
| | | <u-gap height="10" bgColor="#eff0f1"></u-gap> |
| | | <view class="head" style="height: 386rpx;overflow: auto;"> |
| | | <view class="head_block"> |
| | | <view class="head_left"> |
| | | <view class="head_bar"></view> |
| | | <view class="head_title" style="font-weight: bolder;"> |
| | | å·¥åä¿¡æ¯ |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="marginLeft20 marginRight20"> |
| | | <view class="marginBottom20" style="display: flex;"> |
| | | <view class="flex_column titleFont"> |
| | | <view>åæ®ç¼å·ï¼</view> |
| | | <view>ç©æç¼ç ï¼</view> |
| | | <view>ç©æåç§°ï¼</view> |
| | | <view>ç©æè§æ ¼ï¼</view> |
| | | <view>å·¥åºç¼ç ï¼</view> |
| | | <view>å·¥åºåç§°ï¼</view> |
| | | </view> |
| | | <view class="flex_column contentFont"> |
| | | <view>{{processObj.wo_code}}</view> |
| | | <view>{{processObj.partcode}}</view> |
| | | <view>{{processObj.partname}}</view> |
| | | <view>{{processObj.partspec?processObj.partspec:'/'}}</view> |
| | | <view>{{processObj.stepcode}}</view> |
| | | <view>{{processObj.stepname}}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <u-gap height="10" bgColor="#eff0f1"></u-gap> |
| | | |
| | | <view class="head" style="height: 290rpx;overflow: auto;"> |
| | | <view class="head_block"> |
| | | <view class="head_left"> |
| | | <view class="head_bar"></view> |
| | | <view class="head_title" style="font-weight: bolder;"> |
| | | è´¨æ£æ¹æ¡ |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="marginLeft20 marginRight20"> |
| | | <view class="marginBottom20" style="display: flex;"> |
| | | <view class="flex_column titleFont"> |
| | | <view>æ¹æ¡åç§°ï¼</view> |
| | | <view>æ½æ ·æ¹å¼ï¼</view> |
| | | <view>æ¥å·¥æ°éï¼</view> |
| | | <view>æ ·æ¬æ°éï¼</view> |
| | | </view> |
| | | <view class="flex_column contentFont"> |
| | | <view>{{processObj.checkstandname}}</view> |
| | | <view>{{processObj.sampmethod==='FIXED'?'åºæ¶æ½æ£':'æ¯ä¾æ½æ£'}}</view> |
| | | <view>{{processObj.good_qty}}</view> |
| | | |
| | | |
| | | <u-number-box inputWidth='50' v-model="processObj.sampscare" min='1' |
| | | :max='processObj.good_qty' class="contentFont" |
| | | @change="samplesChange"></u-number-box> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | <u-gap height="10" bgColor="#eff0f1"></u-gap> |
| | | <view class="head" style=""> |
| | | <view class="head_block"> |
| | | <view class="head_left"> |
| | | <view class="head_bar"></view> |
| | | <view class="head_title" style="font-weight: bolder;"> |
| | | æ£éªé¡¹ç® |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | <view class="marginBottom20 marginTop10" |
| | | style="display: flex;justify-content: space-around;align-items: center;"> |
| | | <u-button type="primary" :disabled="checkNumber===1" @click="preTo" |
| | | style="width: 160rpx;height: 60rpx;" plain text="ä¸ä¸ä»¶"></u-button> |
| | | <view style="">{{checkNumber}}/{{processObj.sampscare}}</view> |
| | | <u-button type="primary" |
| | | :disabled="checkNumber===processObj.sampscare||processArr%processArr.filter(i=>i.isPlain!=='').length===0" |
| | | @click="nextTo" style="width: 160rpx;height: 60rpx; " plain text="ä¸ä¸ä»¶"></u-button> |
| | | </view> |
| | | |
| | | <u-gap height="6" style="width: 96%;margin-left: 2%;" bgColor="#eff0f1"></u-gap> |
| | | |
| | | |
| | | <view class="marginLeft20 marginRight20 marginTop20" style="margin-bottom: 132rpx;"> |
| | | <view class="marginBottom20 flex_column" v-for="(item,index) in processArr" |
| | | v-if="item.checkNumber===checkNumber" :key="item.name+index+checkNumber"> |
| | | |
| | | |
| | | <view class="flex_between marginLeft20 "> |
| | | <view class="titleFont">{{item.name}}</view> |
| | | |
| | | <view class="contentFont" v-if="item.numberjudge==='N'" |
| | | style="display: flex;width: 280rpx;"> |
| | | |
| | | <u-button type="success" style="width: 130rpx;margin-left: 10%;height: 56rpx;" |
| | | shape="circle" @click="item.isPlain=true;$forceUpdate()" :plain='!item.isPlain' |
| | | text="åæ ¼"></u-button> |
| | | <!-- :disabled="item.required==='Y'&&!item.real_value" --> |
| | | |
| | | <u-button type="warning" style="width: 130rpx;margin-left: 4%;height: 56rpx;" |
| | | shape="circle" :plain='item.isPlain' @click="item.isPlain=false;$forceUpdate()" |
| | | text="ä¸åæ ¼"></u-button> |
| | | <!-- :disabled="item.required==='Y'&&!item.real_value" --> |
| | | |
| | | </view> |
| | | |
| | | </view> |
| | | |
| | | <view class="flex_between marginLeft20 "> |
| | | <view class="flex_column titleFont"> |
| | | <view v-if="item.standvalue">æ åå¼</view> |
| | | <view v-if="item.uppervalue">ä¸éå¼</view> |
| | | <view v-if="item.lowervalue">ä¸éå¼</view> |
| | | </view> |
| | | <view class="flex_column titleFont marginRight20"> |
| | | <view v-if="item.standvalue">{{item.standvalue}}</view> |
| | | <view v-if="item.uppervalue">{{item.uppervalue}}</view> |
| | | <view v-if="item.lowervalue">{{item.lowervalue}}</view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="titleFont marginLeft20 marginRight20"> |
| | | <view v-if="item.stepcheckitem_desc">æè¿° {{item.stepcheckitem_desc}}</view> |
| | | </view> |
| | | |
| | | <view class="flex_between marginLeft20 marginTop10 marginBottom20"> |
| | | <view class="titleFont " style="display: flex;align-items: center;" |
| | | v-if="item.numberjudge==='Y'"> |
| | | <view class="titleFont marginRight20"> |
| | | 宿µå¼ |
| | | </view> |
| | | |
| | | <view class="inputClass " style="width:40%;"> |
| | | <u--input style="" :adjustPosition='false' placeholder="请è¾å
¥" border="surround" |
| | | v-model="item.real_value" @change='val=>realValueBlur(val,item)'></u--input> |
| | | </view> |
| | | |
| | | <view style="display: flex;width: 280rpx;margin-left: 12rpx;"> |
| | | <u-button type="success" style="width: 130rpx;margin-left: 10%;height: 56rpx;" |
| | | shape="circle" @click="item.isPlain=true;$forceUpdate()" |
| | | :disabled="item.required==='Y'&&!item.real_value" :plain='!item.isPlain' |
| | | text="åæ ¼"></u-button> |
| | | |
| | | |
| | | <u-button type="warning" style="width: 130rpx;margin-left: 4%;height: 56rpx;" |
| | | shape="circle" :plain='item.isPlain' |
| | | :disabled="item.required==='Y'&&!item.real_value" |
| | | @click="item.isPlain=false;$forceUpdate()" text="ä¸åæ ¼"></u-button> |
| | | </view> |
| | | </view> |
| | | |
| | | </view> |
| | | |
| | | <!-- <view class=" marginLeft20 marginRight20 marginTop10"> |
| | | <view class="titleFont"> æè¿°ï¼{{item.stepcheckitem_desc}}</view> |
| | | </view> |
| | | <view class=" marginLeft20 marginRight20 marginTop10 marginBottom20" |
| | | style="display: flex;align-items: center;"> |
| | | <view class="contentFont"> 夿³¨ï¼</view> |
| | | <view class="inputClass " style=""> |
| | | <u--input style="" placeholder="请è¾å
¥" border="surround" |
| | | v-model="item.stepcheckitem_remark"></u--input> |
| | | </view> |
| | | </view> --> |
| | | |
| | | <u-gap height="6" |
| | | v-if="(index+1)%processArr.map(i=>i.checkNumber===1).filter(i=>i).length!==0" |
| | | style="width: 96%;margin-left: 2%;" bgColor="#eff0f1"></u-gap> |
| | | |
| | | </view> |
| | | </view> |
| | | |
| | | </view> |
| | | |
| | | |
| | | |
| | | |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="footer" v-if="processArr.length!==0"> |
| | | <u-button v-if="processArr.length!==0" type="primary" size='large' |
| | | :disabled="!(processArr.filter(i=>i.isPlain==='').length===0)" :hairline="true" @click="navigateTo" |
| | | text="ä¸ä¸æ¥"></u-button> |
| | | </view> |
| | | |
| | | |
| | | |
| | | </view> |
| | | </template> |
| | | |
| | | |
| | | <script> |
| | | import { |
| | | MesOrderStepCheckSearch, |
| | | MesOrderStepCheckItemList |
| | | } from '../../config/api.js'; |
| | | |
| | | export default { |
| | | onLoad(option) { |
| | | |
| | | }, |
| | | |
| | | onPullDownRefresh() { |
| | | setTimeout(() => { |
| | | this.init(() => { |
| | | uni.stopPullDownRefresh(); |
| | | }) |
| | | }, 1000); |
| | | }, |
| | | |
| | | data() { |
| | | return { |
| | | |
| | | processObj: { |
| | | // wocode: '', |
| | | // partcode: '', |
| | | // partname: '', |
| | | // partspec: '', |
| | | // stepcode: '', |
| | | // stepname: '', |
| | | // checkstandcode: '', |
| | | // checkstandname: '', |
| | | // check_type: '', |
| | | // sampmethod: '', // FIXED(åºæ¶æ½æ£) SCARE(æ¯ä¾æ½æ£) |
| | | // sampscare: '', |
| | | // qualitystatus: '', |
| | | // good_qty: '', // æçæ¥å·¥æ°é |
| | | // sampleqty: '', |
| | | // goodqty: '', // åæ ¼æ°é |
| | | // ngqty: '', // ä¸è¯æ°é |
| | | }, //å·¥åºæ£éªå¯¹è±¡ |
| | | processArr: [], //å·¥åºæ£éªæ°ç» |
| | | |
| | | |
| | | checkNumber: 1, //æ£éªé¡¹ç®ä¸çæ£éªæ°é ç°å¨å¤äºç¬¬å 个 |
| | | } |
| | | }, |
| | | created() { |
| | | |
| | | }, |
| | | mounted() { |
| | | this.init() |
| | | |
| | | // this.getStepCheckSearch('MO-2024-01-0004_2;101') |
| | | |
| | | }, |
| | | methods: { |
| | | init() { |
| | | uni.stopPullDownRefresh(); |
| | | }, |
| | | |
| | | async getStepCheckSearch(orderstepqrcode) { |
| | | console.log('æ§è¡äº') |
| | | // æ£éªæ¹å¼FirstCheckï¼é¦æ£ï¼ PatroCheck(å·¡æ£) EndCheck(å®å·¥æ£) |
| | | const data = { |
| | | // 'MO-2023-05-0003_1;Step06' |
| | | orderstepqrcode, |
| | | checktype: 'FirstCheck', |
| | | // stu_torgcode: uni.getStorageSync('stu_torgcode') |
| | | } |
| | | // const res = await MesOrderStepCheckSearch(this.global.formatData(data)) |
| | | const res = await MesOrderStepCheckSearch(data) |
| | | |
| | | |
| | | if (res.code === '200') { |
| | | this.processObj = { |
| | | wo_code: res.data.labcont[0].wo_code, |
| | | partcode: res.data.labcont[0].partcode, |
| | | partname: res.data.labcont[0].partname, |
| | | partspec: res.data.labcont[0].partspec, |
| | | stepcode: res.data.labcont[0].stepcode, |
| | | stepname: res.data.labcont[0].stepname, |
| | | good_qty: res.data.labcont[0].good_qty, |
| | | checkstandcode: res.data.chekstand[0].checkstandcode, |
| | | checkstandname: res.data.chekstand[0].checkstandname, |
| | | sampmethod: res.data.chekstand[0].sampmethod, |
| | | sampscare: res.data.chekstand[0].sampmethod === 'FIXED' ? res.data.chekstand[0].sampscare : |
| | | Math.ceil(res.data.labcont[0].good_qty * res.data.chekstand[0].sampscare / 100) |
| | | } |
| | | |
| | | this.processObj.sampscare = this.processObj.sampscare <= this.processObj.good_qty ? this.processObj |
| | | .sampscare : this.processObj.good_qty |
| | | |
| | | |
| | | await this.getStepCheckItemList(this.processObj.checkstandcode) |
| | | |
| | | } |
| | | }, |
| | | |
| | | async getStepCheckItemList(checkstandcode) { |
| | | const data = { |
| | | checkstandcode |
| | | } |
| | | const res = await MesOrderStepCheckItemList(data) |
| | | |
| | | this.processArr = [] |
| | | |
| | | for (var i = 0; i < this.processObj.sampscare; i++) { |
| | | res.data.forEach(j => { |
| | | this.processArr.push({ |
| | | checkNumber: i + 1, |
| | | stepcheckitem_seq: j.stepcheckitem_seq, |
| | | name: j.name, |
| | | code: j.code, |
| | | standvalue: j.standvalue, |
| | | lowervalue: j.lowervalue, |
| | | uppervalue: j.uppervalue, |
| | | real_value: j.real_value, |
| | | unit: j.unit, |
| | | stepcheckitem_desc: j.stepcheckitem_desc, |
| | | stepcheckitem_remark: '', |
| | | isPlain: '', |
| | | required: j.required, //æ¯å¦å¿
å¡« |
| | | numberjudge: j.numberjudge, //æ°å¼å¤æ |
| | | }) |
| | | }) |
| | | } |
| | | |
| | | |
| | | }, |
| | | |
| | | // æ ·æ¬æ°é弿¹åæ¶ |
| | | samplesChange(val) { |
| | | |
| | | console.log(val.value) |
| | | const t = this.processArr.filter(i => i.checkNumber === 1) |
| | | let len = this.processArr.length / t.length |
| | | |
| | | // ä»¶æ°åå°æ¶ |
| | | if (val.value < this.processArr.length / t.length) { |
| | | this.processArr.reverse() |
| | | const a = this.processArr.splice(0, t.length * (len - val.value)) |
| | | this.processArr.reverse() |
| | | if (this.checkNumber > val.value) { |
| | | this.checkNumber = val.value |
| | | } |
| | | } |
| | | |
| | | |
| | | // ä»¶æ°å夿¶ |
| | | if (val.value > this.processArr.length / t.length) { |
| | | |
| | | for (var i = val.value; i > len; i--) { |
| | | t.forEach(j => { |
| | | this.processArr.push({ |
| | | checkNumber: i, |
| | | stepcheckitem_seq: j.stepcheckitem_seq, |
| | | name: j.name, |
| | | code: j.code, |
| | | standvalue: j.standvalue, |
| | | lowervalue: j.lowervalue, |
| | | uppervalue: j.uppervalue, |
| | | real_value: '', |
| | | unit: j.unit, |
| | | stepcheckitem_desc: j.stepcheckitem_desc, |
| | | stepcheckitem_remark: '', |
| | | isPlain: '', |
| | | required: j.required, //æ¯å¦å¿
å¡« |
| | | numberjudge: j.numberjudge, //æ°å¼å¤æ |
| | | }) |
| | | }) |
| | | } |
| | | |
| | | this.processArr.sort((a, b) => a.checkNumber - b.checkNumber) |
| | | |
| | | } |
| | | |
| | | // console.log(this.processArr, 1) |
| | | // console.log(this.processArr.length, 1) |
| | | this.$forceUpdate() |
| | | }, |
| | | |
| | | |
| | | // ä¸ä¸ä»¶ |
| | | preTo() { |
| | | if (this.checkNumber > 1) { |
| | | this.checkNumber-- |
| | | } |
| | | }, |
| | | |
| | | //ä¸ä¸ä»¶ |
| | | nextTo() { |
| | | if (this.checkNumber < this.processObj.sampscare) { |
| | | this.checkNumber++ |
| | | } |
| | | this.$forceUpdate() |
| | | }, |
| | | |
| | | |
| | | // 宿µå¼è¾å
¥æ¶å¤±ç¦ç¶æ |
| | | realValueBlur(val, item) { |
| | | console.log(val === '', item) |
| | | |
| | | |
| | | if (val.value !== '') { |
| | | if (item.numberjudge === 'Y') { //妿éè¦è¿è¡æ°å¼å¤æ |
| | | |
| | | if (item.uppervalue === '' && item.lowervalue === '') { //ä¸éå¼ä¸ºç©ºï¼ä¸éå¼ä¸ºç©º |
| | | if (parseFloat(val) === parseFloat(item.standvalue)) { |
| | | item.isPlain = true |
| | | } else { |
| | | item.isPlain = false |
| | | } |
| | | } |
| | | |
| | | |
| | | if (item.uppervalue !== '' && item.lowervalue !== '') { //ä¸éå¼ä¸ä¸ºç©ºï¼ä¸éå¼ä¸ä¸ºç©º |
| | | if (parseFloat(val) >= parseFloat(item.lowervalue) && parseFloat(val) <= |
| | | parseFloat(item.uppervalue)) { |
| | | item.isPlain = true |
| | | } else { |
| | | item.isPlain = false |
| | | } |
| | | } |
| | | |
| | | |
| | | if (item.uppervalue !== '' && item.lowervalue === '') { //ä¸éå¼ä¸ä¸ºç©ºï¼ä¸éå¼ä¸ºç©º |
| | | if (parseFloat(val) <= parseFloat(item.uppervalue)) { |
| | | item.isPlain = true |
| | | } else { |
| | | item.isPlain = false |
| | | } |
| | | } |
| | | |
| | | if (item.uppervalue === '' && item.lowervalue !== '') { //ä¸éå¼ä¸ºç©ºï¼ä¸éå¼ä¸ä¸ºç©º |
| | | if (parseFloat(val) >= parseFloat(item.lowervalue)) { |
| | | item.isPlain = true |
| | | } else { |
| | | item.isPlain = false |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | if (val === '') { |
| | | item.isPlain = '' |
| | | } |
| | | // this.$forceUpdate() |
| | | }, |
| | | |
| | | |
| | | |
| | | // ä¸ä¸æ¥ |
| | | navigateTo() { |
| | | // 计ç®OKå¼ |
| | | let goodqty = 0; |
| | | for (var i = 0; i < this.processObj.sampscare; i++) { |
| | | let flag = this.processArr.filter(j => j.checkNumber === i + 1).every(j => j.isPlain) |
| | | if (flag) { |
| | | goodqty++ |
| | | } |
| | | } |
| | | |
| | | |
| | | uni.navigateTo({ |
| | | url: './sjjy2?processObj=' + JSON.stringify(this.processObj) + |
| | | '&processArr=' + JSON.stringify(this.processArr) + '&goodqty=' + goodqty |
| | | }); |
| | | |
| | | |
| | | }, |
| | | |
| | | // æ«ç |
| | | topScanClick() { |
| | | let that = this; |
| | | |
| | | uni.scanCode({ |
| | | onlyFromCamera: true, |
| | | // scanType: ['barCode', 'qrCode'], |
| | | scanType: ['qrCode'], |
| | | success: function(res) { |
| | | console.log('æ¡ç ç±»åï¼' + res.scanType); |
| | | console.log('æ¡ç å
容ï¼' + res.result); |
| | | that.getStepCheckSearch(res.result) |
| | | // that.scanContent = res.result; |
| | | // let flag = false |
| | | // that.processArr.forEach(item => { |
| | | // if (item.hbarcode === res.result) { |
| | | // flag = true |
| | | // } |
| | | // }) |
| | | // if (flag) { |
| | | // that.$u.toast('æ¤æ¡ç å·²æ«æï¼å·²å¨å表ä¸ï¼') |
| | | // } else { |
| | | // //å¤çæ«ç äºä»¶ |
| | | // // that.getStepCheckSearch(that.scanContent); |
| | | // } |
| | | }, |
| | | complete: function(res) { |
| | | |
| | | }, |
| | | fail: function(res) { |
| | | console.log('æ¡ç ç±»åï¼' + res.scanType); |
| | | console.log('æ¡ç å
容ï¼' + res.result); |
| | | } |
| | | |
| | | }); |
| | | }, |
| | | |
| | | fromSubmitData() { |
| | | this.processObj = {} |
| | | this.processArr = [] |
| | | this.checkNumber = 1 |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | @import url('@/style/global.css'); |
| | | |
| | | ::v-deep .uicon-arrow-left>span { |
| | | display: block; |
| | | } |
| | | |
| | | ::v-deep .u-input { |
| | | padding: 6rpx 18rpx !important; |
| | | } |
| | | |
| | | ::v-deep .u-number-box__minus { |
| | | height: 50rpx !important; |
| | | } |
| | | |
| | | ::v-deep .u-number-box__input { |
| | | height: 50rpx !important; |
| | | |
| | | } |
| | | |
| | | ::v-deep .u-number-box__plus { |
| | | height: 50rpx !important; |
| | | } |
| | | </style> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view> |
| | | <page-nav title="馿£æ£éª"></page-nav> |
| | | |
| | | |
| | | <view class="mainContent"> |
| | | <view> |
| | | <u-gap height="10" bgColor="#eff0f1"></u-gap> |
| | | <view class="head"> |
| | | <view class="head_block"> |
| | | <view class="head_left"> |
| | | <view class="head_bar"></view> |
| | | <view class="head_title" style="font-weight: bolder;"> |
| | | ç©æä¿¡æ¯ |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="marginLeft20 marginRight20"> |
| | | <view class="marginBottom20" style="display: flex;"> |
| | | <view class="flex_column titleFont"> |
| | | <view>åæ®ç¼å·ï¼</view> |
| | | <view>ç©æç¼ç ï¼</view> |
| | | <view>ç©æåç§°ï¼</view> |
| | | <view>ç©æè§æ ¼ï¼</view> |
| | | <view>å·¥åºç¼ç ï¼</view> |
| | | <view>å·¥åºåç§°ï¼</view> |
| | | <view>è´¨æ£æ¹æ¡ï¼</view> |
| | | <view>æ½æ ·æ¹å¼ï¼</view> |
| | | <view>è´¨éç¶æï¼</view> |
| | | <view>ç©ææ°éï¼</view> |
| | | </view> |
| | | <view class="flex_column contentFont"> |
| | | <view>{{processObj.wocode}}</view> |
| | | <view>{{processObj.partcode}}</view> |
| | | <view>{{processObj.partname}}</view> |
| | | <view>{{processObj.partspec?processObj.partspec:'/'}}</view> |
| | | <view>{{processObj.stepcode}}</view> |
| | | <view>{{processObj.stepname}}</view> |
| | | <view class="ellipsis" style="width: 460rpx;">{{processObj.checkstandname}}</view> |
| | | <view>{{processObj.sampmethod==='FIXED'?'åºæ¶æ½æ£':'æ¯ä¾æ½æ£'}}</view> |
| | | <view style="display: flex;align-items: center;"> |
| | | <u-icon :name="isPlain?'checkmark-circle-fill':'close-circle-fill'" |
| | | :color="isPlain?'#55ff00':'#FF0000'" size="20"></u-icon> |
| | | <view style="margin-left: 10rpx;"> |
| | | {{isPlain?'åæ ¼':'ä¸åæ ¼'}} |
| | | </view> |
| | | </view> |
| | | <view>{{processObj.good_qty}}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | </view> |
| | | |
| | | <u-gap height="10" bgColor="#eff0f1"></u-gap> |
| | | <view class="head"> |
| | | <view class="head_block"> |
| | | <view class="head_left"> |
| | | <view class="head_bar"></view> |
| | | <view class="head_title" style="font-weight: bolder;"> |
| | | æ£éªç»æ |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="marginLeft20 marginRight20 marginBottom20"> |
| | | <view class="" style="display: flex;"> |
| | | <view class="flex_column titleFont"> |
| | | <view>æ ·æ¬æ°éï¼</view> |
| | | <view>åæ ¼æ°éï¼</view> |
| | | <view>ä¸åæ ¼æ°éï¼</view> |
| | | </view> |
| | | <view class="flex_column contentFont"> |
| | | <view>{{processObj.sampleqty}} 个</view> |
| | | <view>{{processObj.goodqty}} 个</view> |
| | | <view>{{processObj.sampleqty-processObj.goodqty}} 个</view> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | <view style="display: flex;margin-top: 30rpx;justify-content: flex-start;"> |
| | | <u-button type="primary" @click="isPlain=true" style="width: 160rpx;height: 60rpx; " |
| | | :plain="!isPlain" text="åæ ¼"></u-button> |
| | | <u-button type="warning" @click="isPlain=false" style="width: 160rpx;height: 60rpx;" |
| | | :plain="isPlain" text="ä¸åæ ¼"></u-button> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | </view> |
| | | |
| | | |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | <view class="footer"> |
| | | <u-button type="primary" size='large' :hairline="true" :loading="isDisabledSubmitButton" @click="submit" |
| | | loadingText="æ£å¨æäº¤,请ç¨ç..." text="确认æäº¤"></u-button> |
| | | </view> |
| | | |
| | | |
| | | </view> |
| | | </template> |
| | | |
| | | |
| | | <script> |
| | | import { |
| | | SaveMesOrderStepCheckItem |
| | | |
| | | } from '../../config/api.js'; |
| | | |
| | | export default { |
| | | onLoad(option) { |
| | | |
| | | |
| | | console.log(option, 2) |
| | | |
| | | // let t1=JSON.parse(option.processObj) |
| | | // let t2=JSON.parse(option.processObj) |
| | | |
| | | |
| | | |
| | | let processObj = JSON.parse(option.processObj) |
| | | // console.log(this.processObj) |
| | | |
| | | this.processObj.wocode = processObj.wo_code |
| | | this.processObj.partcode = processObj.partcode |
| | | this.processObj.partname = processObj.partname |
| | | this.processObj.partspec = processObj.partspec |
| | | this.processObj.stepcode = processObj.stepcode |
| | | this.processObj.stepname = processObj.stepname |
| | | this.processObj.sampmethod = processObj.sampmethod |
| | | this.processObj.good_qty = processObj.good_qty |
| | | this.processObj.checkstandcode = processObj.checkstandcode |
| | | this.processObj.checkstandname = processObj.checkstandname |
| | | this.processObj.sampleqty = processObj.sampscare |
| | | |
| | | this.processObj.goodqty = option.goodqty |
| | | |
| | | this.isPlain = parseFloat(this.processObj.goodqty) === parseFloat(this.processObj.sampleqty) |
| | | |
| | | |
| | | this.processArr = JSON.parse(option.processArr) |
| | | |
| | | |
| | | }, |
| | | |
| | | onPullDownRefresh() { |
| | | setTimeout(() => { |
| | | this.init(() => { |
| | | uni.stopPullDownRefresh(); |
| | | }) |
| | | }, 1000); |
| | | }, |
| | | |
| | | data() { |
| | | return { |
| | | topRightMessageCount: '', |
| | | isDisabledSubmitButton: false, |
| | | |
| | | processObj: { |
| | | wocode: '', |
| | | partcode: '', |
| | | partname: '', |
| | | partspec: '', |
| | | stepcode: '', |
| | | stepname: '', |
| | | checkstandcode: '', |
| | | checkstandname: '', |
| | | check_type: 'FirstCheck', |
| | | sampmethod: '', // FIXED(åºæ¶æ½æ£) SCARE(æ¯ä¾æ½æ£) |
| | | sampscare: '', |
| | | qualitystatus: '/', |
| | | good_qty: '', // æçæ¥å·¥æ°é |
| | | sampleqty: '', |
| | | goodqty: '', // åæ ¼æ°é |
| | | ngqty: '', // ä¸è¯æ°é |
| | | }, |
| | | processArr: [], |
| | | isPlain: true |
| | | } |
| | | }, |
| | | created() { |
| | | |
| | | }, |
| | | mounted() { |
| | | this.init() |
| | | |
| | | }, |
| | | methods: { |
| | | init() { |
| | | uni.stopPullDownRefresh(); |
| | | }, |
| | | |
| | | |
| | | // æäº¤æ¥å£ |
| | | async submit() { |
| | | |
| | | let checkitemcont = [] |
| | | |
| | | this.processArr.forEach((i, index) => { |
| | | checkitemcont.push({ |
| | | checknum: i.checkNumber + '/' + this.processArr.length / this |
| | | .processArr.filter(j => j.checkNumber === 1).length, |
| | | checkiem_seq: i.stepcheckitem_seq, |
| | | checkitem_code: i.code, |
| | | checkitem_name: i.name, |
| | | check_value: i.real_value ? i.real_value : '', |
| | | check_result: i.check_result ? 'OK' : 'NG', |
| | | checkitem_descr: '' |
| | | }) |
| | | }) |
| | | |
| | | console.log(checkitemcont, 7) |
| | | |
| | | |
| | | let formData = { |
| | | stu_torgcode: uni.getStorageSync('stu_torgcode'), |
| | | wocode: this.processObj.wocode, |
| | | partcode: this.processObj.partcode, |
| | | stepcode: this.processObj.stepcode, |
| | | checkstandcode: this.processObj.checkstandcode, |
| | | check_type: this.processObj.check_type, |
| | | sampmethod: this.processObj.sampmethod, |
| | | qualitystatus: this.isPlain ? 'OK' : 'NG', |
| | | good_qty: this.processObj.good_qty, |
| | | sampleqty: this.processObj.sampleqty, |
| | | goodqty: this.processObj.goodqty, |
| | | |
| | | ngqty: this.processObj.sampleqty - this.processObj.goodqty, |
| | | |
| | | admin: uni.getStorageSync('usercode'), |
| | | checkitemcont: JSON.stringify(checkitemcont) |
| | | } |
| | | |
| | | |
| | | console.log(formData, 888) |
| | | |
| | | this.isDisabledSubmitButton = true |
| | | |
| | | const res = await SaveMesOrderStepCheckItem(formData) |
| | | |
| | | if (res.code === '200') { |
| | | uni.$u.toast('æäº¤æåï¼') |
| | | |
| | | |
| | | setTimeout(() => { |
| | | let prevPage = getCurrentPages()[getCurrentPages().length - 2]; // ä¸ä¸é¡µé¢å®ä¾ |
| | | prevPage.$vm.fromSubmitData() // è°ç¨ä¸ä¸é¡µ å®ä¹çæ¹æ³ |
| | | uni.navigateBack({ |
| | | delta: 1, //è¿å屿°ï¼1åä¸é¡µ |
| | | }) |
| | | }, 1000) |
| | | |
| | | this.isDisabledSubmitButton = false |
| | | } else { |
| | | uni.$u.toast(result.Message) |
| | | this.isDisabledSubmitButton = false |
| | | } |
| | | |
| | | // uni.uploadFile({ |
| | | // url: this.$baseUrl + '/AppQualityManagement/SaveStepCheckItem', |
| | | // files: [{ |
| | | // "uri": "/" |
| | | // }], |
| | | // header: header, |
| | | // formData: formData, |
| | | // success: (res) => { |
| | | // console.log(res, 999) |
| | | // let result = JSON.parse(res.data) |
| | | // if (res.statusCode == 200 && result.code == '200') { |
| | | // uni.$u.toast('æäº¤æåï¼') |
| | | |
| | | // let prevPage = getCurrentPages()[getCurrentPages().length - 2]; // ä¸ä¸é¡µé¢å®ä¾ |
| | | // prevPage.$vm.fromSubmitData() // è°ç¨ä¸ä¸é¡µ å®ä¹çæ¹æ³ |
| | | // uni.navigateBack({ |
| | | // delta: 1, //è¿å屿°ï¼1åä¸é¡µ |
| | | // }) |
| | | |
| | | // } else { |
| | | // uni.$u.toast(result.Message) |
| | | // } |
| | | // this.isDisabledSubmitButton = false |
| | | // }, |
| | | // fail(res) { |
| | | // console.log(res, 1000) |
| | | // uni.$u.toast('æäº¤å¤±è´¥ï¼') |
| | | // this.isDisabledSubmitButton = false |
| | | // }, |
| | | // }) |
| | | |
| | | }, |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | @import url('@/style/global.css'); |
| | | |
| | | ::v-deep .uicon-arrow-left>span { |
| | | display: block; |
| | | } |
| | | </style> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view> |
| | | <page-nav title="å®å·¥æ£éª"></page-nav> |
| | | |
| | | <view v-if="processArr.length===0"> |
| | | <div class="sacnBody"> |
| | | <div class="scanImg" @click="topScanClick"></div> |
| | | <div class="scanText">æ«æå·¥åºä»»å¡ç </div> |
| | | </div> |
| | | </view> |
| | | |
| | | |
| | | <view v-if="processArr.length!==0" class="mainContent" style="height: 1340rpx;overflow: auto"> |
| | | <view> |
| | | <u-gap height="10" bgColor="#eff0f1"></u-gap> |
| | | <view class="head" style="height: 386rpx;overflow: auto;"> |
| | | <view class="head_block"> |
| | | <view class="head_left"> |
| | | <view class="head_bar"></view> |
| | | <view class="head_title" style="font-weight: bolder;"> |
| | | å·¥åä¿¡æ¯ |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="marginLeft20 marginRight20"> |
| | | <view class="marginBottom20" style="display: flex;"> |
| | | <view class="flex_column titleFont"> |
| | | <view>åæ®ç¼å·ï¼</view> |
| | | <view>ç©æç¼ç ï¼</view> |
| | | <view>ç©æåç§°ï¼</view> |
| | | <view>ç©æè§æ ¼ï¼</view> |
| | | <view>å·¥åºç¼ç ï¼</view> |
| | | <view>å·¥åºåç§°ï¼</view> |
| | | </view> |
| | | <view class="flex_column contentFont"> |
| | | <view>{{processObj.wo_code}}</view> |
| | | <view>{{processObj.partcode}}</view> |
| | | <view>{{processObj.partname}}</view> |
| | | <view>{{processObj.partspec?processObj.partspec:'/'}}</view> |
| | | <view>{{processObj.stepcode}}</view> |
| | | <view>{{processObj.stepname}}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <u-gap height="10" bgColor="#eff0f1"></u-gap> |
| | | |
| | | <view class="head" style="height: 290rpx;overflow: auto;"> |
| | | <view class="head_block"> |
| | | <view class="head_left"> |
| | | <view class="head_bar"></view> |
| | | <view class="head_title" style="font-weight: bolder;"> |
| | | è´¨æ£æ¹æ¡ |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="marginLeft20 marginRight20"> |
| | | <view class="marginBottom20" style="display: flex;"> |
| | | <view class="flex_column titleFont"> |
| | | <view>æ¹æ¡åç§°ï¼</view> |
| | | <view>æ½æ ·æ¹å¼ï¼</view> |
| | | <view>æ¥å·¥æ°éï¼</view> |
| | | <view>æ ·æ¬æ°éï¼</view> |
| | | </view> |
| | | <view class="flex_column contentFont"> |
| | | <view>{{processObj.checkstandname}}</view> |
| | | <view>{{processObj.sampmethod==='FIXED'?'åºæ¶æ½æ£':'æ¯ä¾æ½æ£'}}</view> |
| | | <view>{{processObj.good_qty}}</view> |
| | | |
| | | |
| | | <u-number-box inputWidth='50' v-model="processObj.sampscare" min='1' |
| | | :max='processObj.good_qty' class="contentFont" |
| | | @change="samplesChange"></u-number-box> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | <u-gap height="10" bgColor="#eff0f1"></u-gap> |
| | | <view class="head" style=""> |
| | | <view class="head_block"> |
| | | <view class="head_left"> |
| | | <view class="head_bar"></view> |
| | | <view class="head_title" style="font-weight: bolder;"> |
| | | æ£éªé¡¹ç® |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | <view class="marginBottom20 marginTop10" |
| | | style="display: flex;justify-content: space-around;align-items: center;"> |
| | | <u-button type="primary" :disabled="checkNumber===1" @click="preTo" |
| | | style="width: 160rpx;height: 60rpx;" plain text="ä¸ä¸ä»¶"></u-button> |
| | | <view style="">{{checkNumber}}/{{processObj.sampscare}}</view> |
| | | <u-button type="primary" |
| | | :disabled="checkNumber===processObj.sampscare||processArr%processArr.filter(i=>i.isPlain!=='').length===0" |
| | | @click="nextTo" style="width: 160rpx;height: 60rpx; " plain text="ä¸ä¸ä»¶"></u-button> |
| | | </view> |
| | | |
| | | <u-gap height="6" style="width: 96%;margin-left: 2%;" bgColor="#eff0f1"></u-gap> |
| | | |
| | | |
| | | <view class="marginLeft20 marginRight20 marginTop20" style="margin-bottom: 132rpx;"> |
| | | <view class="marginBottom20 flex_column" v-for="(item,index) in processArr" |
| | | v-if="item.checkNumber===checkNumber" :key="item.name+index+checkNumber"> |
| | | |
| | | |
| | | <view class="flex_between marginLeft20 "> |
| | | <view class="titleFont">{{item.name}}</view> |
| | | |
| | | <view class="contentFont" v-if="item.numberjudge==='N'" |
| | | style="display: flex;width: 280rpx;"> |
| | | |
| | | <u-button type="success" style="width: 130rpx;margin-left: 10%;height: 56rpx;" |
| | | shape="circle" @click="item.isPlain=true;$forceUpdate()" :plain='!item.isPlain' |
| | | text="åæ ¼"></u-button> |
| | | <!-- :disabled="item.required==='Y'&&!item.real_value" --> |
| | | |
| | | <u-button type="warning" style="width: 130rpx;margin-left: 4%;height: 56rpx;" |
| | | shape="circle" :plain='item.isPlain' @click="item.isPlain=false;$forceUpdate()" |
| | | text="ä¸åæ ¼"></u-button> |
| | | <!-- :disabled="item.required==='Y'&&!item.real_value" --> |
| | | |
| | | </view> |
| | | |
| | | </view> |
| | | |
| | | <view class="flex_between marginLeft20 "> |
| | | <view class="flex_column titleFont"> |
| | | <view v-if="item.standvalue">æ åå¼</view> |
| | | <view v-if="item.uppervalue">ä¸éå¼</view> |
| | | <view v-if="item.lowervalue">ä¸éå¼</view> |
| | | </view> |
| | | <view class="flex_column titleFont marginRight20"> |
| | | <view v-if="item.standvalue">{{item.standvalue}}</view> |
| | | <view v-if="item.uppervalue">{{item.uppervalue}}</view> |
| | | <view v-if="item.lowervalue">{{item.lowervalue}}</view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="titleFont marginLeft20 marginRight20"> |
| | | <view v-if="item.stepcheckitem_desc">æè¿° {{item.stepcheckitem_desc}}</view> |
| | | </view> |
| | | |
| | | <view class="flex_between marginLeft20 marginTop10 marginBottom20"> |
| | | <view class="titleFont " style="display: flex;align-items: center;" |
| | | v-if="item.numberjudge==='Y'"> |
| | | <view class="titleFont marginRight20"> |
| | | 宿µå¼ |
| | | </view> |
| | | |
| | | <view class="inputClass " style="width:40%;"> |
| | | <u--input style="" :adjustPosition='false' placeholder="请è¾å
¥" border="surround" |
| | | v-model="item.real_value" @change='val=>realValueBlur(val,item)'></u--input> |
| | | </view> |
| | | |
| | | <view style="display: flex;width: 280rpx;margin-left: 12rpx;"> |
| | | <u-button type="success" style="width: 130rpx;margin-left: 10%;height: 56rpx;" |
| | | shape="circle" @click="item.isPlain=true;$forceUpdate()" |
| | | :disabled="item.required==='Y'&&!item.real_value" :plain='!item.isPlain' |
| | | text="åæ ¼"></u-button> |
| | | |
| | | |
| | | <u-button type="warning" style="width: 130rpx;margin-left: 4%;height: 56rpx;" |
| | | shape="circle" :plain='item.isPlain' |
| | | :disabled="item.required==='Y'&&!item.real_value" |
| | | @click="item.isPlain=false;$forceUpdate()" text="ä¸åæ ¼"></u-button> |
| | | </view> |
| | | </view> |
| | | |
| | | </view> |
| | | |
| | | <!-- <view class=" marginLeft20 marginRight20 marginTop10"> |
| | | <view class="titleFont"> æè¿°ï¼{{item.stepcheckitem_desc}}</view> |
| | | </view> |
| | | <view class=" marginLeft20 marginRight20 marginTop10 marginBottom20" |
| | | style="display: flex;align-items: center;"> |
| | | <view class="contentFont"> 夿³¨ï¼</view> |
| | | <view class="inputClass " style=""> |
| | | <u--input style="" placeholder="请è¾å
¥" border="surround" |
| | | v-model="item.stepcheckitem_remark"></u--input> |
| | | </view> |
| | | </view> --> |
| | | |
| | | <u-gap height="6" |
| | | v-if="(index+1)%processArr.map(i=>i.checkNumber===1).filter(i=>i).length!==0" |
| | | style="width: 96%;margin-left: 2%;" bgColor="#eff0f1"></u-gap> |
| | | |
| | | </view> |
| | | </view> |
| | | |
| | | </view> |
| | | |
| | | |
| | | |
| | | |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="footer" v-if="processArr.length!==0"> |
| | | <u-button v-if="processArr.length!==0" type="primary" size='large' |
| | | :disabled="!(processArr.filter(i=>i.isPlain==='').length===0)" :hairline="true" @click="navigateTo" |
| | | text="ä¸ä¸æ¥"></u-button> |
| | | </view> |
| | | |
| | | |
| | | |
| | | </view> |
| | | </template> |
| | | |
| | | |
| | | <script> |
| | | import { |
| | | MesOrderStepCheckSearch, |
| | | MesOrderStepCheckItemList |
| | | } from '../../config/api.js'; |
| | | |
| | | export default { |
| | | onLoad(option) { |
| | | |
| | | }, |
| | | |
| | | onPullDownRefresh() { |
| | | setTimeout(() => { |
| | | this.init(() => { |
| | | uni.stopPullDownRefresh(); |
| | | }) |
| | | }, 1000); |
| | | }, |
| | | |
| | | data() { |
| | | return { |
| | | |
| | | processObj: { |
| | | // wocode: '', |
| | | // partcode: '', |
| | | // partname: '', |
| | | // partspec: '', |
| | | // stepcode: '', |
| | | // stepname: '', |
| | | // checkstandcode: '', |
| | | // checkstandname: '', |
| | | // check_type: '', |
| | | // sampmethod: '', // FIXED(åºæ¶æ½æ£) SCARE(æ¯ä¾æ½æ£) |
| | | // sampscare: '', |
| | | // qualitystatus: '', |
| | | // good_qty: '', // æçæ¥å·¥æ°é |
| | | // sampleqty: '', |
| | | // goodqty: '', // åæ ¼æ°é |
| | | // ngqty: '', // ä¸è¯æ°é |
| | | }, //å·¥åºæ£éªå¯¹è±¡ |
| | | processArr: [], //å·¥åºæ£éªæ°ç» |
| | | |
| | | |
| | | checkNumber: 1, //æ£éªé¡¹ç®ä¸çæ£éªæ°é ç°å¨å¤äºç¬¬å 个 |
| | | } |
| | | }, |
| | | created() { |
| | | |
| | | }, |
| | | mounted() { |
| | | this.init() |
| | | |
| | | // this.getStepCheckSearch('MO-2024-01-0004_2;101') |
| | | |
| | | }, |
| | | methods: { |
| | | init() { |
| | | uni.stopPullDownRefresh(); |
| | | }, |
| | | |
| | | async getStepCheckSearch(orderstepqrcode) { |
| | | console.log('æ§è¡äº') |
| | | // æ£éªæ¹å¼FirstCheckï¼é¦æ£ï¼ PatroCheck(å·¡æ£) EndCheck(å®å·¥æ£) |
| | | const data = { |
| | | // 'MO-2023-05-0003_1;Step06' |
| | | orderstepqrcode, |
| | | checktype: 'EndCheck', |
| | | // stu_torgcode: uni.getStorageSync('stu_torgcode') |
| | | } |
| | | // const res = await MesOrderStepCheckSearch(this.global.formatData(data)) |
| | | const res = await MesOrderStepCheckSearch(data) |
| | | |
| | | |
| | | if (res.code === '200') { |
| | | this.processObj = { |
| | | wo_code: res.data.labcont[0].wo_code, |
| | | partcode: res.data.labcont[0].partcode, |
| | | partname: res.data.labcont[0].partname, |
| | | partspec: res.data.labcont[0].partspec, |
| | | stepcode: res.data.labcont[0].stepcode, |
| | | stepname: res.data.labcont[0].stepname, |
| | | good_qty: res.data.labcont[0].good_qty, |
| | | checkstandcode: res.data.chekstand[0].checkstandcode, |
| | | checkstandname: res.data.chekstand[0].checkstandname, |
| | | sampmethod: res.data.chekstand[0].sampmethod, |
| | | sampscare: res.data.chekstand[0].sampmethod === 'FIXED' ? res.data.chekstand[0].sampscare : |
| | | Math.ceil(res.data.labcont[0].good_qty * res.data.chekstand[0].sampscare / 100) |
| | | } |
| | | |
| | | this.processObj.sampscare = this.processObj.sampscare <= this.processObj.good_qty ? this.processObj |
| | | .sampscare : this.processObj.good_qty |
| | | |
| | | |
| | | await this.getStepCheckItemList(this.processObj.checkstandcode) |
| | | |
| | | } |
| | | }, |
| | | |
| | | async getStepCheckItemList(checkstandcode) { |
| | | const data = { |
| | | checkstandcode |
| | | } |
| | | const res = await MesOrderStepCheckItemList(data) |
| | | |
| | | this.processArr = [] |
| | | |
| | | for (var i = 0; i < this.processObj.sampscare; i++) { |
| | | res.data.forEach(j => { |
| | | this.processArr.push({ |
| | | checkNumber: i + 1, |
| | | stepcheckitem_seq: j.stepcheckitem_seq, |
| | | name: j.name, |
| | | code: j.code, |
| | | standvalue: j.standvalue, |
| | | lowervalue: j.lowervalue, |
| | | uppervalue: j.uppervalue, |
| | | real_value: j.real_value, |
| | | unit: j.unit, |
| | | stepcheckitem_desc: j.stepcheckitem_desc, |
| | | stepcheckitem_remark: '', |
| | | isPlain: '', |
| | | required: j.required, //æ¯å¦å¿
å¡« |
| | | numberjudge: j.numberjudge, //æ°å¼å¤æ |
| | | }) |
| | | }) |
| | | } |
| | | |
| | | |
| | | }, |
| | | |
| | | // æ ·æ¬æ°é弿¹åæ¶ |
| | | samplesChange(val) { |
| | | |
| | | console.log(val.value) |
| | | const t = this.processArr.filter(i => i.checkNumber === 1) |
| | | let len = this.processArr.length / t.length |
| | | |
| | | // ä»¶æ°åå°æ¶ |
| | | if (val.value < this.processArr.length / t.length) { |
| | | this.processArr.reverse() |
| | | const a = this.processArr.splice(0, t.length * (len - val.value)) |
| | | this.processArr.reverse() |
| | | if (this.checkNumber > val.value) { |
| | | this.checkNumber = val.value |
| | | } |
| | | } |
| | | |
| | | |
| | | // ä»¶æ°å夿¶ |
| | | if (val.value > this.processArr.length / t.length) { |
| | | |
| | | for (var i = val.value; i > len; i--) { |
| | | t.forEach(j => { |
| | | this.processArr.push({ |
| | | checkNumber: i, |
| | | stepcheckitem_seq: j.stepcheckitem_seq, |
| | | name: j.name, |
| | | code: j.code, |
| | | standvalue: j.standvalue, |
| | | lowervalue: j.lowervalue, |
| | | uppervalue: j.uppervalue, |
| | | real_value: '', |
| | | unit: j.unit, |
| | | stepcheckitem_desc: j.stepcheckitem_desc, |
| | | stepcheckitem_remark: '', |
| | | isPlain: '', |
| | | required: j.required, //æ¯å¦å¿
å¡« |
| | | numberjudge: j.numberjudge, //æ°å¼å¤æ |
| | | }) |
| | | }) |
| | | } |
| | | |
| | | this.processArr.sort((a, b) => a.checkNumber - b.checkNumber) |
| | | |
| | | } |
| | | |
| | | // console.log(this.processArr, 1) |
| | | // console.log(this.processArr.length, 1) |
| | | this.$forceUpdate() |
| | | }, |
| | | |
| | | |
| | | // ä¸ä¸ä»¶ |
| | | preTo() { |
| | | if (this.checkNumber > 1) { |
| | | this.checkNumber-- |
| | | } |
| | | }, |
| | | |
| | | //ä¸ä¸ä»¶ |
| | | nextTo() { |
| | | if (this.checkNumber < this.processObj.sampscare) { |
| | | this.checkNumber++ |
| | | } |
| | | this.$forceUpdate() |
| | | }, |
| | | |
| | | |
| | | // 宿µå¼è¾å
¥æ¶å¤±ç¦ç¶æ |
| | | realValueBlur(val, item) { |
| | | console.log(val === '', item) |
| | | |
| | | |
| | | if (val.value !== '') { |
| | | if (item.numberjudge === 'Y') { //妿éè¦è¿è¡æ°å¼å¤æ |
| | | |
| | | if (item.uppervalue === '' && item.lowervalue === '') { //ä¸éå¼ä¸ºç©ºï¼ä¸éå¼ä¸ºç©º |
| | | if (parseFloat(val) === parseFloat(item.standvalue)) { |
| | | item.isPlain = true |
| | | } else { |
| | | item.isPlain = false |
| | | } |
| | | } |
| | | |
| | | |
| | | if (item.uppervalue !== '' && item.lowervalue !== '') { //ä¸éå¼ä¸ä¸ºç©ºï¼ä¸éå¼ä¸ä¸ºç©º |
| | | if (parseFloat(val) >= parseFloat(item.lowervalue) && parseFloat(val) <= |
| | | parseFloat(item.uppervalue)) { |
| | | item.isPlain = true |
| | | } else { |
| | | item.isPlain = false |
| | | } |
| | | } |
| | | |
| | | |
| | | if (item.uppervalue !== '' && item.lowervalue === '') { //ä¸éå¼ä¸ä¸ºç©ºï¼ä¸éå¼ä¸ºç©º |
| | | if (parseFloat(val) <= parseFloat(item.uppervalue)) { |
| | | item.isPlain = true |
| | | } else { |
| | | item.isPlain = false |
| | | } |
| | | } |
| | | |
| | | if (item.uppervalue === '' && item.lowervalue !== '') { //ä¸éå¼ä¸ºç©ºï¼ä¸éå¼ä¸ä¸ºç©º |
| | | if (parseFloat(val) >= parseFloat(item.lowervalue)) { |
| | | item.isPlain = true |
| | | } else { |
| | | item.isPlain = false |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | if (val === '') { |
| | | item.isPlain = '' |
| | | } |
| | | // this.$forceUpdate() |
| | | }, |
| | | |
| | | |
| | | |
| | | // ä¸ä¸æ¥ |
| | | navigateTo() { |
| | | // 计ç®OKå¼ |
| | | let goodqty = 0; |
| | | for (var i = 0; i < this.processObj.sampscare; i++) { |
| | | let flag = this.processArr.filter(j => j.checkNumber === i + 1).every(j => j.isPlain) |
| | | if (flag) { |
| | | goodqty++ |
| | | } |
| | | } |
| | | |
| | | |
| | | uni.navigateTo({ |
| | | url: './wgjy2?processObj=' + JSON.stringify(this.processObj) + |
| | | '&processArr=' + JSON.stringify(this.processArr) + '&goodqty=' + goodqty |
| | | }); |
| | | |
| | | |
| | | }, |
| | | |
| | | // æ«ç |
| | | topScanClick() { |
| | | let that = this; |
| | | |
| | | uni.scanCode({ |
| | | onlyFromCamera: true, |
| | | // scanType: ['barCode', 'qrCode'], |
| | | scanType: ['qrCode'], |
| | | success: function(res) { |
| | | console.log('æ¡ç ç±»åï¼' + res.scanType); |
| | | console.log('æ¡ç å
容ï¼' + res.result); |
| | | that.getStepCheckSearch(res.result) |
| | | // that.scanContent = res.result; |
| | | // let flag = false |
| | | // that.processArr.forEach(item => { |
| | | // if (item.hbarcode === res.result) { |
| | | // flag = true |
| | | // } |
| | | // }) |
| | | // if (flag) { |
| | | // that.$u.toast('æ¤æ¡ç å·²æ«æï¼å·²å¨å表ä¸ï¼') |
| | | // } else { |
| | | // //å¤çæ«ç äºä»¶ |
| | | // // that.getStepCheckSearch(that.scanContent); |
| | | // } |
| | | }, |
| | | complete: function(res) { |
| | | |
| | | }, |
| | | fail: function(res) { |
| | | console.log('æ¡ç ç±»åï¼' + res.scanType); |
| | | console.log('æ¡ç å
容ï¼' + res.result); |
| | | } |
| | | |
| | | }); |
| | | }, |
| | | |
| | | fromSubmitData() { |
| | | this.processObj = {} |
| | | this.processArr = [] |
| | | this.checkNumber = 1 |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | @import url('@/style/global.css'); |
| | | |
| | | ::v-deep .uicon-arrow-left>span { |
| | | display: block; |
| | | } |
| | | |
| | | ::v-deep .u-input { |
| | | padding: 6rpx 18rpx !important; |
| | | } |
| | | |
| | | ::v-deep .u-number-box__minus { |
| | | height: 50rpx !important; |
| | | } |
| | | |
| | | ::v-deep .u-number-box__input { |
| | | height: 50rpx !important; |
| | | |
| | | } |
| | | |
| | | ::v-deep .u-number-box__plus { |
| | | height: 50rpx !important; |
| | | } |
| | | </style> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view> |
| | | <page-nav title="å®å·¥æ£éª"></page-nav> |
| | | |
| | | |
| | | <view class="mainContent"> |
| | | <view> |
| | | <u-gap height="10" bgColor="#eff0f1"></u-gap> |
| | | <view class="head"> |
| | | <view class="head_block"> |
| | | <view class="head_left"> |
| | | <view class="head_bar"></view> |
| | | <view class="head_title" style="font-weight: bolder;"> |
| | | ç©æä¿¡æ¯ |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="marginLeft20 marginRight20"> |
| | | <view class="marginBottom20" style="display: flex;"> |
| | | <view class="flex_column titleFont"> |
| | | <view>åæ®ç¼å·ï¼</view> |
| | | <view>ç©æç¼ç ï¼</view> |
| | | <view>ç©æåç§°ï¼</view> |
| | | <view>ç©æè§æ ¼ï¼</view> |
| | | <view>å·¥åºç¼ç ï¼</view> |
| | | <view>å·¥åºåç§°ï¼</view> |
| | | <view>è´¨æ£æ¹æ¡ï¼</view> |
| | | <view>æ½æ ·æ¹å¼ï¼</view> |
| | | <view>è´¨éç¶æï¼</view> |
| | | <view>ç©ææ°éï¼</view> |
| | | </view> |
| | | <view class="flex_column contentFont"> |
| | | <view>{{processObj.wocode}}</view> |
| | | <view>{{processObj.partcode}}</view> |
| | | <view>{{processObj.partname}}</view> |
| | | <view>{{processObj.partspec?processObj.partspec:'/'}}</view> |
| | | <view>{{processObj.stepcode}}</view> |
| | | <view>{{processObj.stepname}}</view> |
| | | <view class="ellipsis" style="width: 460rpx;">{{processObj.checkstandname}}</view> |
| | | <view>{{processObj.sampmethod==='FIXED'?'åºæ¶æ½æ£':'æ¯ä¾æ½æ£'}}</view> |
| | | <view style="display: flex;align-items: center;"> |
| | | <u-icon :name="isPlain?'checkmark-circle-fill':'close-circle-fill'" |
| | | :color="isPlain?'#55ff00':'#FF0000'" size="20"></u-icon> |
| | | <view style="margin-left: 10rpx;"> |
| | | {{isPlain?'åæ ¼':'ä¸åæ ¼'}} |
| | | </view> |
| | | </view> |
| | | <view>{{processObj.good_qty}}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | </view> |
| | | |
| | | <u-gap height="10" bgColor="#eff0f1"></u-gap> |
| | | <view class="head"> |
| | | <view class="head_block"> |
| | | <view class="head_left"> |
| | | <view class="head_bar"></view> |
| | | <view class="head_title" style="font-weight: bolder;"> |
| | | æ£éªç»æ |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="marginLeft20 marginRight20 marginBottom20"> |
| | | <view class="" style="display: flex;"> |
| | | <view class="flex_column titleFont"> |
| | | <view>æ ·æ¬æ°éï¼</view> |
| | | <view>åæ ¼æ°éï¼</view> |
| | | <view>ä¸åæ ¼æ°éï¼</view> |
| | | </view> |
| | | <view class="flex_column contentFont"> |
| | | <view>{{processObj.sampleqty}} 个</view> |
| | | <view>{{processObj.goodqty}} 个</view> |
| | | <view>{{processObj.sampleqty-processObj.goodqty}} 个</view> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | <view style="display: flex;margin-top: 30rpx;justify-content: flex-start;"> |
| | | <u-button type="primary" @click="isPlain=true" style="width: 160rpx;height: 60rpx; " |
| | | :plain="!isPlain" text="åæ ¼"></u-button> |
| | | <u-button type="warning" @click="isPlain=false" style="width: 160rpx;height: 60rpx;" |
| | | :plain="isPlain" text="ä¸åæ ¼"></u-button> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | </view> |
| | | |
| | | |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | <view class="footer"> |
| | | <u-button type="primary" size='large' :hairline="true" :loading="isDisabledSubmitButton" @click="submit" |
| | | loadingText="æ£å¨æäº¤,请ç¨ç..." text="确认æäº¤"></u-button> |
| | | </view> |
| | | |
| | | |
| | | </view> |
| | | </template> |
| | | |
| | | |
| | | <script> |
| | | import { |
| | | SaveMesOrderStepCheckItem |
| | | |
| | | } from '../../config/api.js'; |
| | | |
| | | export default { |
| | | onLoad(option) { |
| | | |
| | | |
| | | console.log(option, 2) |
| | | |
| | | // let t1=JSON.parse(option.processObj) |
| | | // let t2=JSON.parse(option.processObj) |
| | | |
| | | |
| | | |
| | | let processObj = JSON.parse(option.processObj) |
| | | // console.log(this.processObj) |
| | | |
| | | this.processObj.wocode = processObj.wo_code |
| | | this.processObj.partcode = processObj.partcode |
| | | this.processObj.partname = processObj.partname |
| | | this.processObj.partspec = processObj.partspec |
| | | this.processObj.stepcode = processObj.stepcode |
| | | this.processObj.stepname = processObj.stepname |
| | | this.processObj.sampmethod = processObj.sampmethod |
| | | this.processObj.good_qty = processObj.good_qty |
| | | this.processObj.checkstandcode = processObj.checkstandcode |
| | | this.processObj.checkstandname = processObj.checkstandname |
| | | this.processObj.sampleqty = processObj.sampscare |
| | | |
| | | this.processObj.goodqty = option.goodqty |
| | | |
| | | this.isPlain = parseFloat(this.processObj.goodqty) === parseFloat(this.processObj.sampleqty) |
| | | |
| | | |
| | | this.processArr = JSON.parse(option.processArr) |
| | | |
| | | |
| | | }, |
| | | |
| | | onPullDownRefresh() { |
| | | setTimeout(() => { |
| | | this.init(() => { |
| | | uni.stopPullDownRefresh(); |
| | | }) |
| | | }, 1000); |
| | | }, |
| | | |
| | | data() { |
| | | return { |
| | | topRightMessageCount: '', |
| | | isDisabledSubmitButton: false, |
| | | |
| | | processObj: { |
| | | wocode: '', |
| | | partcode: '', |
| | | partname: '', |
| | | partspec: '', |
| | | stepcode: '', |
| | | stepname: '', |
| | | checkstandcode: '', |
| | | checkstandname: '', |
| | | check_type: 'EndCheck', |
| | | sampmethod: '', // FIXED(åºæ¶æ½æ£) SCARE(æ¯ä¾æ½æ£) |
| | | sampscare: '', |
| | | qualitystatus: '/', |
| | | good_qty: '', // æçæ¥å·¥æ°é |
| | | sampleqty: '', |
| | | goodqty: '', // åæ ¼æ°é |
| | | ngqty: '', // ä¸è¯æ°é |
| | | }, |
| | | processArr: [], |
| | | isPlain: true |
| | | } |
| | | }, |
| | | created() { |
| | | |
| | | }, |
| | | mounted() { |
| | | this.init() |
| | | |
| | | }, |
| | | methods: { |
| | | init() { |
| | | uni.stopPullDownRefresh(); |
| | | }, |
| | | |
| | | |
| | | // æäº¤æ¥å£ |
| | | async submit() { |
| | | |
| | | let checkitemcont = [] |
| | | |
| | | this.processArr.forEach((i, index) => { |
| | | checkitemcont.push({ |
| | | checknum: i.checkNumber + '/' + this.processArr.length / this |
| | | .processArr.filter(j => j.checkNumber === 1).length, |
| | | checkiem_seq: i.stepcheckitem_seq, |
| | | checkitem_code: i.code, |
| | | checkitem_name: i.name, |
| | | check_value: i.real_value ? i.real_value : '', |
| | | check_result: i.check_result ? 'OK' : 'NG', |
| | | checkitem_descr: '' |
| | | }) |
| | | }) |
| | | |
| | | console.log(checkitemcont, 7) |
| | | |
| | | |
| | | let formData = { |
| | | stu_torgcode: uni.getStorageSync('stu_torgcode'), |
| | | wocode: this.processObj.wocode, |
| | | partcode: this.processObj.partcode, |
| | | stepcode: this.processObj.stepcode, |
| | | checkstandcode: this.processObj.checkstandcode, |
| | | check_type: this.processObj.check_type, |
| | | sampmethod: this.processObj.sampmethod, |
| | | qualitystatus: this.isPlain ? 'OK' : 'NG', |
| | | good_qty: this.processObj.good_qty, |
| | | sampleqty: this.processObj.sampleqty, |
| | | goodqty: this.processObj.goodqty, |
| | | |
| | | ngqty: this.processObj.sampleqty - this.processObj.goodqty, |
| | | |
| | | admin: uni.getStorageSync('usercode'), |
| | | checkitemcont: JSON.stringify(checkitemcont) |
| | | } |
| | | |
| | | |
| | | console.log(formData, 888) |
| | | |
| | | this.isDisabledSubmitButton = true |
| | | |
| | | const res = await SaveMesOrderStepCheckItem(formData) |
| | | |
| | | if (res.code === '200') { |
| | | uni.$u.toast('æäº¤æåï¼') |
| | | |
| | | |
| | | setTimeout(() => { |
| | | let prevPage = getCurrentPages()[getCurrentPages().length - 2]; // ä¸ä¸é¡µé¢å®ä¾ |
| | | prevPage.$vm.fromSubmitData() // è°ç¨ä¸ä¸é¡µ å®ä¹çæ¹æ³ |
| | | uni.navigateBack({ |
| | | delta: 1, //è¿å屿°ï¼1åä¸é¡µ |
| | | }) |
| | | }, 1000) |
| | | |
| | | this.isDisabledSubmitButton = false |
| | | } else { |
| | | uni.$u.toast(result.Message) |
| | | this.isDisabledSubmitButton = false |
| | | } |
| | | |
| | | // uni.uploadFile({ |
| | | // url: this.$baseUrl + '/AppQualityManagement/SaveStepCheckItem', |
| | | // files: [{ |
| | | // "uri": "/" |
| | | // }], |
| | | // header: header, |
| | | // formData: formData, |
| | | // success: (res) => { |
| | | // console.log(res, 999) |
| | | // let result = JSON.parse(res.data) |
| | | // if (res.statusCode == 200 && result.code == '200') { |
| | | // uni.$u.toast('æäº¤æåï¼') |
| | | |
| | | // let prevPage = getCurrentPages()[getCurrentPages().length - 2]; // ä¸ä¸é¡µé¢å®ä¾ |
| | | // prevPage.$vm.fromSubmitData() // è°ç¨ä¸ä¸é¡µ å®ä¹çæ¹æ³ |
| | | // uni.navigateBack({ |
| | | // delta: 1, //è¿å屿°ï¼1åä¸é¡µ |
| | | // }) |
| | | |
| | | // } else { |
| | | // uni.$u.toast(result.Message) |
| | | // } |
| | | // this.isDisabledSubmitButton = false |
| | | // }, |
| | | // fail(res) { |
| | | // console.log(res, 1000) |
| | | // uni.$u.toast('æäº¤å¤±è´¥ï¼') |
| | | // this.isDisabledSubmitButton = false |
| | | // }, |
| | | // }) |
| | | |
| | | }, |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | @import url('@/style/global.css'); |
| | | |
| | | ::v-deep .uicon-arrow-left>span { |
| | | display: block; |
| | | } |
| | | </style> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view> |
| | | <page-nav title="å·¡æ£æ£éª"></page-nav> |
| | | |
| | | <view v-if="processArr.length===0"> |
| | | <div class="sacnBody"> |
| | | <div class="scanImg" @click="topScanClick"></div> |
| | | <div class="scanText">æ«æå·¥åºä»»å¡ç </div> |
| | | </div> |
| | | </view> |
| | | |
| | | |
| | | <view v-if="processArr.length!==0" class="mainContent" style="height: 1340rpx;overflow: auto"> |
| | | <view> |
| | | <u-gap height="10" bgColor="#eff0f1"></u-gap> |
| | | <view class="head" style="height: 386rpx;overflow: auto;"> |
| | | <view class="head_block"> |
| | | <view class="head_left"> |
| | | <view class="head_bar"></view> |
| | | <view class="head_title" style="font-weight: bolder;"> |
| | | å·¥åä¿¡æ¯ |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="marginLeft20 marginRight20"> |
| | | <view class="marginBottom20" style="display: flex;"> |
| | | <view class="flex_column titleFont"> |
| | | <view>åæ®ç¼å·ï¼</view> |
| | | <view>ç©æç¼ç ï¼</view> |
| | | <view>ç©æåç§°ï¼</view> |
| | | <view>ç©æè§æ ¼ï¼</view> |
| | | <view>å·¥åºç¼ç ï¼</view> |
| | | <view>å·¥åºåç§°ï¼</view> |
| | | </view> |
| | | <view class="flex_column contentFont"> |
| | | <view>{{processObj.wo_code}}</view> |
| | | <view>{{processObj.partcode}}</view> |
| | | <view>{{processObj.partname}}</view> |
| | | <view>{{processObj.partspec?processObj.partspec:'/'}}</view> |
| | | <view>{{processObj.stepcode}}</view> |
| | | <view>{{processObj.stepname}}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <u-gap height="10" bgColor="#eff0f1"></u-gap> |
| | | |
| | | <view class="head" style="height: 290rpx;overflow: auto;"> |
| | | <view class="head_block"> |
| | | <view class="head_left"> |
| | | <view class="head_bar"></view> |
| | | <view class="head_title" style="font-weight: bolder;"> |
| | | è´¨æ£æ¹æ¡ |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="marginLeft20 marginRight20"> |
| | | <view class="marginBottom20" style="display: flex;"> |
| | | <view class="flex_column titleFont"> |
| | | <view>æ¹æ¡åç§°ï¼</view> |
| | | <view>æ½æ ·æ¹å¼ï¼</view> |
| | | <view>æ¥å·¥æ°éï¼</view> |
| | | <view>æ ·æ¬æ°éï¼</view> |
| | | </view> |
| | | <view class="flex_column contentFont"> |
| | | <view>{{processObj.checkstandname}}</view> |
| | | <view>{{processObj.sampmethod==='FIXED'?'åºæ¶æ½æ£':'æ¯ä¾æ½æ£'}}</view> |
| | | <view>{{processObj.good_qty}}</view> |
| | | |
| | | |
| | | <u-number-box inputWidth='50' v-model="processObj.sampscare" min='1' |
| | | :max='processObj.good_qty' class="contentFont" |
| | | @change="samplesChange"></u-number-box> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | <u-gap height="10" bgColor="#eff0f1"></u-gap> |
| | | <view class="head" style=""> |
| | | <view class="head_block"> |
| | | <view class="head_left"> |
| | | <view class="head_bar"></view> |
| | | <view class="head_title" style="font-weight: bolder;"> |
| | | æ£éªé¡¹ç® |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | <view class="marginBottom20 marginTop10" |
| | | style="display: flex;justify-content: space-around;align-items: center;"> |
| | | <u-button type="primary" :disabled="checkNumber===1" @click="preTo" |
| | | style="width: 160rpx;height: 60rpx;" plain text="ä¸ä¸ä»¶"></u-button> |
| | | <view style="">{{checkNumber}}/{{processObj.sampscare}}</view> |
| | | <u-button type="primary" |
| | | :disabled="checkNumber===processObj.sampscare||processArr%processArr.filter(i=>i.isPlain!=='').length===0" |
| | | @click="nextTo" style="width: 160rpx;height: 60rpx; " plain text="ä¸ä¸ä»¶"></u-button> |
| | | </view> |
| | | |
| | | <u-gap height="6" style="width: 96%;margin-left: 2%;" bgColor="#eff0f1"></u-gap> |
| | | |
| | | |
| | | <view class="marginLeft20 marginRight20 marginTop20" style="margin-bottom: 132rpx;"> |
| | | <view class="marginBottom20 flex_column" v-for="(item,index) in processArr" |
| | | v-if="item.checkNumber===checkNumber" :key="item.name+index+checkNumber"> |
| | | |
| | | |
| | | <view class="flex_between marginLeft20 "> |
| | | <view class="titleFont">{{item.name}}</view> |
| | | |
| | | <view class="contentFont" v-if="item.numberjudge==='N'" |
| | | style="display: flex;width: 280rpx;"> |
| | | |
| | | <u-button type="success" style="width: 130rpx;margin-left: 10%;height: 56rpx;" |
| | | shape="circle" @click="item.isPlain=true;$forceUpdate()" :plain='!item.isPlain' |
| | | text="åæ ¼"></u-button> |
| | | <!-- :disabled="item.required==='Y'&&!item.real_value" --> |
| | | |
| | | <u-button type="warning" style="width: 130rpx;margin-left: 4%;height: 56rpx;" |
| | | shape="circle" :plain='item.isPlain' @click="item.isPlain=false;$forceUpdate()" |
| | | text="ä¸åæ ¼"></u-button> |
| | | <!-- :disabled="item.required==='Y'&&!item.real_value" --> |
| | | |
| | | </view> |
| | | |
| | | </view> |
| | | |
| | | <view class="flex_between marginLeft20 "> |
| | | <view class="flex_column titleFont"> |
| | | <view v-if="item.standvalue">æ åå¼</view> |
| | | <view v-if="item.uppervalue">ä¸éå¼</view> |
| | | <view v-if="item.lowervalue">ä¸éå¼</view> |
| | | </view> |
| | | <view class="flex_column titleFont marginRight20"> |
| | | <view v-if="item.standvalue">{{item.standvalue}}</view> |
| | | <view v-if="item.uppervalue">{{item.uppervalue}}</view> |
| | | <view v-if="item.lowervalue">{{item.lowervalue}}</view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="titleFont marginLeft20 marginRight20"> |
| | | <view v-if="item.stepcheckitem_desc">æè¿° {{item.stepcheckitem_desc}}</view> |
| | | </view> |
| | | |
| | | <view class="flex_between marginLeft20 marginTop10 marginBottom20"> |
| | | <view class="titleFont " style="display: flex;align-items: center;" |
| | | v-if="item.numberjudge==='Y'"> |
| | | <view class="titleFont marginRight20"> |
| | | 宿µå¼ |
| | | </view> |
| | | |
| | | <view class="inputClass " style="width:40%;"> |
| | | <u--input style="" :adjustPosition='false' placeholder="请è¾å
¥" border="surround" |
| | | v-model="item.real_value" @change='val=>realValueBlur(val,item)'></u--input> |
| | | </view> |
| | | |
| | | <view style="display: flex;width: 280rpx;margin-left: 12rpx;"> |
| | | <u-button type="success" style="width: 130rpx;margin-left: 10%;height: 56rpx;" |
| | | shape="circle" @click="item.isPlain=true;$forceUpdate()" |
| | | :disabled="item.required==='Y'&&!item.real_value" :plain='!item.isPlain' |
| | | text="åæ ¼"></u-button> |
| | | |
| | | |
| | | <u-button type="warning" style="width: 130rpx;margin-left: 4%;height: 56rpx;" |
| | | shape="circle" :plain='item.isPlain' |
| | | :disabled="item.required==='Y'&&!item.real_value" |
| | | @click="item.isPlain=false;$forceUpdate()" text="ä¸åæ ¼"></u-button> |
| | | </view> |
| | | </view> |
| | | |
| | | </view> |
| | | |
| | | <!-- <view class=" marginLeft20 marginRight20 marginTop10"> |
| | | <view class="titleFont"> æè¿°ï¼{{item.stepcheckitem_desc}}</view> |
| | | </view> |
| | | <view class=" marginLeft20 marginRight20 marginTop10 marginBottom20" |
| | | style="display: flex;align-items: center;"> |
| | | <view class="contentFont"> 夿³¨ï¼</view> |
| | | <view class="inputClass " style=""> |
| | | <u--input style="" placeholder="请è¾å
¥" border="surround" |
| | | v-model="item.stepcheckitem_remark"></u--input> |
| | | </view> |
| | | </view> --> |
| | | |
| | | <u-gap height="6" |
| | | v-if="(index+1)%processArr.map(i=>i.checkNumber===1).filter(i=>i).length!==0" |
| | | style="width: 96%;margin-left: 2%;" bgColor="#eff0f1"></u-gap> |
| | | |
| | | </view> |
| | | </view> |
| | | |
| | | </view> |
| | | |
| | | |
| | | |
| | | |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="footer" v-if="processArr.length!==0"> |
| | | <u-button v-if="processArr.length!==0" type="primary" size='large' |
| | | :disabled="!(processArr.filter(i=>i.isPlain==='').length===0)" :hairline="true" @click="navigateTo" |
| | | text="ä¸ä¸æ¥"></u-button> |
| | | </view> |
| | | |
| | | |
| | | |
| | | </view> |
| | | </template> |
| | | |
| | | |
| | | <script> |
| | | import { |
| | | MesOrderStepCheckSearch, |
| | | MesOrderStepCheckItemList |
| | | } from '../../config/api.js'; |
| | | |
| | | export default { |
| | | onLoad(option) { |
| | | |
| | | }, |
| | | |
| | | onPullDownRefresh() { |
| | | setTimeout(() => { |
| | | this.init(() => { |
| | | uni.stopPullDownRefresh(); |
| | | }) |
| | | }, 1000); |
| | | }, |
| | | |
| | | data() { |
| | | return { |
| | | |
| | | processObj: { |
| | | // wocode: '', |
| | | // partcode: '', |
| | | // partname: '', |
| | | // partspec: '', |
| | | // stepcode: '', |
| | | // stepname: '', |
| | | // checkstandcode: '', |
| | | // checkstandname: '', |
| | | // check_type: '', |
| | | // sampmethod: '', // FIXED(åºæ¶æ½æ£) SCARE(æ¯ä¾æ½æ£) |
| | | // sampscare: '', |
| | | // qualitystatus: '', |
| | | // good_qty: '', // æçæ¥å·¥æ°é |
| | | // sampleqty: '', |
| | | // goodqty: '', // åæ ¼æ°é |
| | | // ngqty: '', // ä¸è¯æ°é |
| | | }, //å·¥åºæ£éªå¯¹è±¡ |
| | | processArr: [], //å·¥åºæ£éªæ°ç» |
| | | |
| | | |
| | | checkNumber: 1, //æ£éªé¡¹ç®ä¸çæ£éªæ°é ç°å¨å¤äºç¬¬å 个 |
| | | } |
| | | }, |
| | | created() { |
| | | |
| | | }, |
| | | mounted() { |
| | | this.init() |
| | | |
| | | // this.getStepCheckSearch('MO-2024-01-0004_2;101') |
| | | |
| | | }, |
| | | methods: { |
| | | init() { |
| | | uni.stopPullDownRefresh(); |
| | | }, |
| | | |
| | | async getStepCheckSearch(orderstepqrcode) { |
| | | console.log('æ§è¡äº') |
| | | // æ£éªæ¹å¼FirstCheckï¼é¦æ£ï¼ PatroCheck(å·¡æ£) EndCheck(å®å·¥æ£) |
| | | const data = { |
| | | // 'MO-2023-05-0003_1;Step06' |
| | | orderstepqrcode, |
| | | checktype: 'PatroCheck', |
| | | // stu_torgcode: uni.getStorageSync('stu_torgcode') |
| | | } |
| | | // const res = await MesOrderStepCheckSearch(this.global.formatData(data)) |
| | | const res = await MesOrderStepCheckSearch(data) |
| | | |
| | | |
| | | if (res.code === '200') { |
| | | this.processObj = { |
| | | wo_code: res.data.labcont[0].wo_code, |
| | | partcode: res.data.labcont[0].partcode, |
| | | partname: res.data.labcont[0].partname, |
| | | partspec: res.data.labcont[0].partspec, |
| | | stepcode: res.data.labcont[0].stepcode, |
| | | stepname: res.data.labcont[0].stepname, |
| | | good_qty: res.data.labcont[0].good_qty, |
| | | checkstandcode: res.data.chekstand[0].checkstandcode, |
| | | checkstandname: res.data.chekstand[0].checkstandname, |
| | | sampmethod: res.data.chekstand[0].sampmethod, |
| | | sampscare: res.data.chekstand[0].sampmethod === 'FIXED' ? res.data.chekstand[0].sampscare : |
| | | Math.ceil(res.data.labcont[0].good_qty * res.data.chekstand[0].sampscare / 100) |
| | | } |
| | | |
| | | this.processObj.sampscare = this.processObj.sampscare <= this.processObj.good_qty ? this.processObj |
| | | .sampscare : this.processObj.good_qty |
| | | |
| | | |
| | | await this.getStepCheckItemList(this.processObj.checkstandcode) |
| | | |
| | | } |
| | | }, |
| | | |
| | | async getStepCheckItemList(checkstandcode) { |
| | | const data = { |
| | | checkstandcode |
| | | } |
| | | const res = await MesOrderStepCheckItemList(data) |
| | | |
| | | this.processArr = [] |
| | | |
| | | for (var i = 0; i < this.processObj.sampscare; i++) { |
| | | res.data.forEach(j => { |
| | | this.processArr.push({ |
| | | checkNumber: i + 1, |
| | | stepcheckitem_seq: j.stepcheckitem_seq, |
| | | name: j.name, |
| | | code: j.code, |
| | | standvalue: j.standvalue, |
| | | lowervalue: j.lowervalue, |
| | | uppervalue: j.uppervalue, |
| | | real_value: j.real_value, |
| | | unit: j.unit, |
| | | stepcheckitem_desc: j.stepcheckitem_desc, |
| | | stepcheckitem_remark: '', |
| | | isPlain: '', |
| | | required: j.required, //æ¯å¦å¿
å¡« |
| | | numberjudge: j.numberjudge, //æ°å¼å¤æ |
| | | }) |
| | | }) |
| | | } |
| | | |
| | | |
| | | }, |
| | | |
| | | // æ ·æ¬æ°é弿¹åæ¶ |
| | | samplesChange(val) { |
| | | |
| | | console.log(val.value) |
| | | const t = this.processArr.filter(i => i.checkNumber === 1) |
| | | let len = this.processArr.length / t.length |
| | | |
| | | // ä»¶æ°åå°æ¶ |
| | | if (val.value < this.processArr.length / t.length) { |
| | | this.processArr.reverse() |
| | | const a = this.processArr.splice(0, t.length * (len - val.value)) |
| | | this.processArr.reverse() |
| | | if (this.checkNumber > val.value) { |
| | | this.checkNumber = val.value |
| | | } |
| | | } |
| | | |
| | | |
| | | // ä»¶æ°å夿¶ |
| | | if (val.value > this.processArr.length / t.length) { |
| | | |
| | | for (var i = val.value; i > len; i--) { |
| | | t.forEach(j => { |
| | | this.processArr.push({ |
| | | checkNumber: i, |
| | | stepcheckitem_seq: j.stepcheckitem_seq, |
| | | name: j.name, |
| | | code: j.code, |
| | | standvalue: j.standvalue, |
| | | lowervalue: j.lowervalue, |
| | | uppervalue: j.uppervalue, |
| | | real_value: '', |
| | | unit: j.unit, |
| | | stepcheckitem_desc: j.stepcheckitem_desc, |
| | | stepcheckitem_remark: '', |
| | | isPlain: '', |
| | | required: j.required, //æ¯å¦å¿
å¡« |
| | | numberjudge: j.numberjudge, //æ°å¼å¤æ |
| | | }) |
| | | }) |
| | | } |
| | | |
| | | this.processArr.sort((a, b) => a.checkNumber - b.checkNumber) |
| | | |
| | | } |
| | | |
| | | // console.log(this.processArr, 1) |
| | | // console.log(this.processArr.length, 1) |
| | | this.$forceUpdate() |
| | | }, |
| | | |
| | | |
| | | // ä¸ä¸ä»¶ |
| | | preTo() { |
| | | if (this.checkNumber > 1) { |
| | | this.checkNumber-- |
| | | } |
| | | }, |
| | | |
| | | //ä¸ä¸ä»¶ |
| | | nextTo() { |
| | | if (this.checkNumber < this.processObj.sampscare) { |
| | | this.checkNumber++ |
| | | } |
| | | this.$forceUpdate() |
| | | }, |
| | | |
| | | |
| | | // 宿µå¼è¾å
¥æ¶å¤±ç¦ç¶æ |
| | | realValueBlur(val, item) { |
| | | console.log(val === '', item) |
| | | |
| | | |
| | | if (val.value !== '') { |
| | | if (item.numberjudge === 'Y') { //妿éè¦è¿è¡æ°å¼å¤æ |
| | | |
| | | if (item.uppervalue === '' && item.lowervalue === '') { //ä¸éå¼ä¸ºç©ºï¼ä¸éå¼ä¸ºç©º |
| | | if (parseFloat(val) === parseFloat(item.standvalue)) { |
| | | item.isPlain = true |
| | | } else { |
| | | item.isPlain = false |
| | | } |
| | | } |
| | | |
| | | |
| | | if (item.uppervalue !== '' && item.lowervalue !== '') { //ä¸éå¼ä¸ä¸ºç©ºï¼ä¸éå¼ä¸ä¸ºç©º |
| | | if (parseFloat(val) >= parseFloat(item.lowervalue) && parseFloat(val) <= |
| | | parseFloat(item.uppervalue)) { |
| | | item.isPlain = true |
| | | } else { |
| | | item.isPlain = false |
| | | } |
| | | } |
| | | |
| | | |
| | | if (item.uppervalue !== '' && item.lowervalue === '') { //ä¸éå¼ä¸ä¸ºç©ºï¼ä¸éå¼ä¸ºç©º |
| | | if (parseFloat(val) <= parseFloat(item.uppervalue)) { |
| | | item.isPlain = true |
| | | } else { |
| | | item.isPlain = false |
| | | } |
| | | } |
| | | |
| | | if (item.uppervalue === '' && item.lowervalue !== '') { //ä¸éå¼ä¸ºç©ºï¼ä¸éå¼ä¸ä¸ºç©º |
| | | if (parseFloat(val) >= parseFloat(item.lowervalue)) { |
| | | item.isPlain = true |
| | | } else { |
| | | item.isPlain = false |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | if (val === '') { |
| | | item.isPlain = '' |
| | | } |
| | | // this.$forceUpdate() |
| | | }, |
| | | |
| | | |
| | | |
| | | // ä¸ä¸æ¥ |
| | | navigateTo() { |
| | | // 计ç®OKå¼ |
| | | let goodqty = 0; |
| | | for (var i = 0; i < this.processObj.sampscare; i++) { |
| | | let flag = this.processArr.filter(j => j.checkNumber === i + 1).every(j => j.isPlain) |
| | | if (flag) { |
| | | goodqty++ |
| | | } |
| | | } |
| | | |
| | | |
| | | uni.navigateTo({ |
| | | url: './xjjy2?processObj=' + JSON.stringify(this.processObj) + |
| | | '&processArr=' + JSON.stringify(this.processArr) + '&goodqty=' + goodqty |
| | | }); |
| | | |
| | | |
| | | }, |
| | | |
| | | // æ«ç |
| | | topScanClick() { |
| | | let that = this; |
| | | |
| | | uni.scanCode({ |
| | | onlyFromCamera: true, |
| | | // scanType: ['barCode', 'qrCode'], |
| | | scanType: ['qrCode'], |
| | | success: function(res) { |
| | | console.log('æ¡ç ç±»åï¼' + res.scanType); |
| | | console.log('æ¡ç å
容ï¼' + res.result); |
| | | that.getStepCheckSearch(res.result) |
| | | // that.scanContent = res.result; |
| | | // let flag = false |
| | | // that.processArr.forEach(item => { |
| | | // if (item.hbarcode === res.result) { |
| | | // flag = true |
| | | // } |
| | | // }) |
| | | // if (flag) { |
| | | // that.$u.toast('æ¤æ¡ç å·²æ«æï¼å·²å¨å表ä¸ï¼') |
| | | // } else { |
| | | // //å¤çæ«ç äºä»¶ |
| | | // // that.getStepCheckSearch(that.scanContent); |
| | | // } |
| | | }, |
| | | complete: function(res) { |
| | | |
| | | }, |
| | | fail: function(res) { |
| | | console.log('æ¡ç ç±»åï¼' + res.scanType); |
| | | console.log('æ¡ç å
容ï¼' + res.result); |
| | | } |
| | | |
| | | }); |
| | | }, |
| | | |
| | | fromSubmitData() { |
| | | this.processObj = {} |
| | | this.processArr = [] |
| | | this.checkNumber = 1 |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | @import url('@/style/global.css'); |
| | | |
| | | ::v-deep .uicon-arrow-left>span { |
| | | display: block; |
| | | } |
| | | |
| | | ::v-deep .u-input { |
| | | padding: 6rpx 18rpx !important; |
| | | } |
| | | |
| | | ::v-deep .u-number-box__minus { |
| | | height: 50rpx !important; |
| | | } |
| | | |
| | | ::v-deep .u-number-box__input { |
| | | height: 50rpx !important; |
| | | |
| | | } |
| | | |
| | | ::v-deep .u-number-box__plus { |
| | | height: 50rpx !important; |
| | | } |
| | | </style> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <view> |
| | | <page-nav title="å·¡æ£æ£éª"></page-nav> |
| | | |
| | | |
| | | <view class="mainContent"> |
| | | <view> |
| | | <u-gap height="10" bgColor="#eff0f1"></u-gap> |
| | | <view class="head"> |
| | | <view class="head_block"> |
| | | <view class="head_left"> |
| | | <view class="head_bar"></view> |
| | | <view class="head_title" style="font-weight: bolder;"> |
| | | ç©æä¿¡æ¯ |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="marginLeft20 marginRight20"> |
| | | <view class="marginBottom20" style="display: flex;"> |
| | | <view class="flex_column titleFont"> |
| | | <view>åæ®ç¼å·ï¼</view> |
| | | <view>ç©æç¼ç ï¼</view> |
| | | <view>ç©æåç§°ï¼</view> |
| | | <view>ç©æè§æ ¼ï¼</view> |
| | | <view>å·¥åºç¼ç ï¼</view> |
| | | <view>å·¥åºåç§°ï¼</view> |
| | | <view>è´¨æ£æ¹æ¡ï¼</view> |
| | | <view>æ½æ ·æ¹å¼ï¼</view> |
| | | <view>è´¨éç¶æï¼</view> |
| | | <view>ç©ææ°éï¼</view> |
| | | </view> |
| | | <view class="flex_column contentFont"> |
| | | <view>{{processObj.wocode}}</view> |
| | | <view>{{processObj.partcode}}</view> |
| | | <view>{{processObj.partname}}</view> |
| | | <view>{{processObj.partspec?processObj.partspec:'/'}}</view> |
| | | <view>{{processObj.stepcode}}</view> |
| | | <view>{{processObj.stepname}}</view> |
| | | <view class="ellipsis" style="width: 460rpx;">{{processObj.checkstandname}}</view> |
| | | <view>{{processObj.sampmethod==='FIXED'?'åºæ¶æ½æ£':'æ¯ä¾æ½æ£'}}</view> |
| | | <view style="display: flex;align-items: center;"> |
| | | <u-icon :name="isPlain?'checkmark-circle-fill':'close-circle-fill'" |
| | | :color="isPlain?'#55ff00':'#FF0000'" size="20"></u-icon> |
| | | <view style="margin-left: 10rpx;"> |
| | | {{isPlain?'åæ ¼':'ä¸åæ ¼'}} |
| | | </view> |
| | | </view> |
| | | <view>{{processObj.good_qty}}</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | </view> |
| | | |
| | | <u-gap height="10" bgColor="#eff0f1"></u-gap> |
| | | <view class="head"> |
| | | <view class="head_block"> |
| | | <view class="head_left"> |
| | | <view class="head_bar"></view> |
| | | <view class="head_title" style="font-weight: bolder;"> |
| | | æ£éªç»æ |
| | | </view> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="marginLeft20 marginRight20 marginBottom20"> |
| | | <view class="" style="display: flex;"> |
| | | <view class="flex_column titleFont"> |
| | | <view>æ ·æ¬æ°éï¼</view> |
| | | <view>åæ ¼æ°éï¼</view> |
| | | <view>ä¸åæ ¼æ°éï¼</view> |
| | | </view> |
| | | <view class="flex_column contentFont"> |
| | | <view>{{processObj.sampleqty}} 个</view> |
| | | <view>{{processObj.goodqty}} 个</view> |
| | | <view>{{processObj.sampleqty-processObj.goodqty}} 个</view> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | <view style="display: flex;margin-top: 30rpx;justify-content: flex-start;"> |
| | | <u-button type="primary" @click="isPlain=true" style="width: 160rpx;height: 60rpx; " |
| | | :plain="!isPlain" text="åæ ¼"></u-button> |
| | | <u-button type="warning" @click="isPlain=false" style="width: 160rpx;height: 60rpx;" |
| | | :plain="isPlain" text="ä¸åæ ¼"></u-button> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | </view> |
| | | |
| | | |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | <view class="footer"> |
| | | <u-button type="primary" size='large' :hairline="true" :loading="isDisabledSubmitButton" @click="submit" |
| | | loadingText="æ£å¨æäº¤,请ç¨ç..." text="确认æäº¤"></u-button> |
| | | </view> |
| | | |
| | | |
| | | </view> |
| | | </template> |
| | | |
| | | |
| | | <script> |
| | | import { |
| | | SaveMesOrderStepCheckItem |
| | | |
| | | } from '../../config/api.js'; |
| | | |
| | | export default { |
| | | onLoad(option) { |
| | | |
| | | |
| | | console.log(option, 2) |
| | | |
| | | // let t1=JSON.parse(option.processObj) |
| | | // let t2=JSON.parse(option.processObj) |
| | | |
| | | |
| | | |
| | | let processObj = JSON.parse(option.processObj) |
| | | // console.log(this.processObj) |
| | | |
| | | this.processObj.wocode = processObj.wo_code |
| | | this.processObj.partcode = processObj.partcode |
| | | this.processObj.partname = processObj.partname |
| | | this.processObj.partspec = processObj.partspec |
| | | this.processObj.stepcode = processObj.stepcode |
| | | this.processObj.stepname = processObj.stepname |
| | | this.processObj.sampmethod = processObj.sampmethod |
| | | this.processObj.good_qty = processObj.good_qty |
| | | this.processObj.checkstandcode = processObj.checkstandcode |
| | | this.processObj.checkstandname = processObj.checkstandname |
| | | this.processObj.sampleqty = processObj.sampscare |
| | | |
| | | this.processObj.goodqty = option.goodqty |
| | | |
| | | this.isPlain = parseFloat(this.processObj.goodqty) === parseFloat(this.processObj.sampleqty) |
| | | |
| | | |
| | | this.processArr = JSON.parse(option.processArr) |
| | | |
| | | |
| | | }, |
| | | |
| | | onPullDownRefresh() { |
| | | setTimeout(() => { |
| | | this.init(() => { |
| | | uni.stopPullDownRefresh(); |
| | | }) |
| | | }, 1000); |
| | | }, |
| | | |
| | | data() { |
| | | return { |
| | | topRightMessageCount: '', |
| | | isDisabledSubmitButton: false, |
| | | |
| | | processObj: { |
| | | wocode: '', |
| | | partcode: '', |
| | | partname: '', |
| | | partspec: '', |
| | | stepcode: '', |
| | | stepname: '', |
| | | checkstandcode: '', |
| | | checkstandname: '', |
| | | check_type: 'PatroCheck', |
| | | sampmethod: '', // FIXED(åºæ¶æ½æ£) SCARE(æ¯ä¾æ½æ£) |
| | | sampscare: '', |
| | | qualitystatus: '/', |
| | | good_qty: '', // æçæ¥å·¥æ°é |
| | | sampleqty: '', |
| | | goodqty: '', // åæ ¼æ°é |
| | | ngqty: '', // ä¸è¯æ°é |
| | | }, |
| | | processArr: [], |
| | | isPlain: true |
| | | } |
| | | }, |
| | | created() { |
| | | |
| | | }, |
| | | mounted() { |
| | | this.init() |
| | | |
| | | }, |
| | | methods: { |
| | | init() { |
| | | uni.stopPullDownRefresh(); |
| | | }, |
| | | |
| | | |
| | | // æäº¤æ¥å£ |
| | | async submit() { |
| | | |
| | | let checkitemcont = [] |
| | | |
| | | this.processArr.forEach((i, index) => { |
| | | checkitemcont.push({ |
| | | checknum: i.checkNumber + '/' + this.processArr.length / this |
| | | .processArr.filter(j => j.checkNumber === 1).length, |
| | | checkiem_seq: i.stepcheckitem_seq, |
| | | checkitem_code: i.code, |
| | | checkitem_name: i.name, |
| | | check_value: i.real_value ? i.real_value : '', |
| | | check_result: i.check_result ? 'OK' : 'NG', |
| | | checkitem_descr: '' |
| | | }) |
| | | }) |
| | | |
| | | console.log(checkitemcont, 7) |
| | | |
| | | |
| | | let formData = { |
| | | stu_torgcode: uni.getStorageSync('stu_torgcode'), |
| | | wocode: this.processObj.wocode, |
| | | partcode: this.processObj.partcode, |
| | | stepcode: this.processObj.stepcode, |
| | | checkstandcode: this.processObj.checkstandcode, |
| | | check_type: this.processObj.check_type, |
| | | sampmethod: this.processObj.sampmethod, |
| | | qualitystatus: this.isPlain ? 'OK' : 'NG', |
| | | good_qty: this.processObj.good_qty, |
| | | sampleqty: this.processObj.sampleqty, |
| | | goodqty: this.processObj.goodqty, |
| | | |
| | | ngqty: this.processObj.sampleqty - this.processObj.goodqty, |
| | | |
| | | admin: uni.getStorageSync('usercode'), |
| | | checkitemcont: JSON.stringify(checkitemcont) |
| | | } |
| | | |
| | | |
| | | console.log(formData, 888) |
| | | |
| | | this.isDisabledSubmitButton = true |
| | | |
| | | const res = await SaveMesOrderStepCheckItem(formData) |
| | | |
| | | if (res.code === '200') { |
| | | uni.$u.toast('æäº¤æåï¼') |
| | | |
| | | |
| | | setTimeout(() => { |
| | | let prevPage = getCurrentPages()[getCurrentPages().length - 2]; // ä¸ä¸é¡µé¢å®ä¾ |
| | | prevPage.$vm.fromSubmitData() // è°ç¨ä¸ä¸é¡µ å®ä¹çæ¹æ³ |
| | | uni.navigateBack({ |
| | | delta: 1, //è¿å屿°ï¼1åä¸é¡µ |
| | | }) |
| | | }, 1000) |
| | | |
| | | this.isDisabledSubmitButton = false |
| | | } else { |
| | | uni.$u.toast(result.Message) |
| | | this.isDisabledSubmitButton = false |
| | | } |
| | | |
| | | // uni.uploadFile({ |
| | | // url: this.$baseUrl + '/AppQualityManagement/SaveStepCheckItem', |
| | | // files: [{ |
| | | // "uri": "/" |
| | | // }], |
| | | // header: header, |
| | | // formData: formData, |
| | | // success: (res) => { |
| | | // console.log(res, 999) |
| | | // let result = JSON.parse(res.data) |
| | | // if (res.statusCode == 200 && result.code == '200') { |
| | | // uni.$u.toast('æäº¤æåï¼') |
| | | |
| | | // let prevPage = getCurrentPages()[getCurrentPages().length - 2]; // ä¸ä¸é¡µé¢å®ä¾ |
| | | // prevPage.$vm.fromSubmitData() // è°ç¨ä¸ä¸é¡µ å®ä¹çæ¹æ³ |
| | | // uni.navigateBack({ |
| | | // delta: 1, //è¿å屿°ï¼1åä¸é¡µ |
| | | // }) |
| | | |
| | | // } else { |
| | | // uni.$u.toast(result.Message) |
| | | // } |
| | | // this.isDisabledSubmitButton = false |
| | | // }, |
| | | // fail(res) { |
| | | // console.log(res, 1000) |
| | | // uni.$u.toast('æäº¤å¤±è´¥ï¼') |
| | | // this.isDisabledSubmitButton = false |
| | | // }, |
| | | // }) |
| | | |
| | | }, |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | @import url('@/style/global.css'); |
| | | |
| | | ::v-deep .uicon-arrow-left>span { |
| | | display: block; |
| | | } |
| | | </style> |
| | |
| | | margin-top: 20rpx; |
| | | letter-spacing: 2rpx; |
| | | } |
| | | |
| | | |
| | | .footer { |
| | | position: fixed; |
| | | bottom: 0; |
| | | } |
| | |
| | | |
| | | var isReady=false;var onReadyCallbacks=[]; |
| | | var isServiceReady=false;var onServiceReadyCallbacks=[]; |
| | | var __uniConfig = {"pages":["pages/login/index","pages/xtsy/index","pages/mjgl/mjcx","pages/mjgl/mjcx2","pages/mjgl/mjdj","pages/mjgl/mjdj2","pages/mjgl/mjby","pages/mjgl/mjby2","pages/mjgl/wxsq","pages/mjgl/wxsq2","pages/mjgl/mjwx","pages/mjgl/wxyz","pages/mjgl/mjsj","pages/mjgl/mjsj2","pages/mjgl/mjxj","pages/mjgl/mjxj2","pages/mjgl/mjrk","pages/mjgl/mjrk2","pages/mjgl/mjck","pages/mjgl/mjck2","pages/mjgl/mjwj","pages/mjgl/mjwj2","pages/mjgl/mjgh","pages/mjgl/mjgh2","pages/scgl/scbg","pages/wwgl/wxfl","pages/wwgl/wxsl","pages/znfx/scfx","pages/grzx/gzcl","pages/znfx/scjd","pages/znfx/chda"],"window":{"navigationBarTextStyle":"black","navigationBarTitleText":"uni-app","navigationBarBackgroundColor":"#F8F8F8","backgroundColor":"#F8F8F8"},"darkmode":false,"nvueCompiler":"uni-app","nvueStyleCompiler":"uni-app","renderer":"auto","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":false},"appname":"JLApp","compilerVersion":"3.92","entryPagePath":"pages/login/index","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000}}; |
| | | var __uniRoutes = [{"path":"/pages/login/index","meta":{"isQuit":true},"window":{"navigationBarTitleText":"ç»å½","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/xtsy/index","meta":{},"window":{"navigationBarTitleText":"ç³»ç»é¦é¡µ","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjcx","meta":{},"window":{"navigationBarTitleText":"模å
·æ¥è¯¢","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjcx2","meta":{},"window":{"navigationBarTitleText":"模å
·æ¥è¯¢","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjdj","meta":{},"window":{"navigationBarTitleText":"模å
·ç¹æ£","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjdj2","meta":{},"window":{"navigationBarTitleText":"模å
·ç¹æ£","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjby","meta":{},"window":{"navigationBarTitleText":"模å
·ä¿å
»","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjby2","meta":{},"window":{"navigationBarTitleText":"模å
·ä¿å
»","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/wxsq","meta":{},"window":{"navigationBarTitleText":"ç»´ä¿®ç³è¯·","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/wxsq2","meta":{},"window":{"navigationBarTitleText":"ç»´ä¿®ç³è¯·","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjwx","meta":{},"window":{"navigationBarTitleText":"模å
·ç»´ä¿®","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/wxyz","meta":{},"window":{"navigationBarTitleText":"ç»´ä¿®éªè¯","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjsj","meta":{},"window":{"navigationBarTitleText":"模å
·ä¸æº","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjsj2","meta":{},"window":{"navigationBarTitleText":"模å
·ä¸æº","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjxj","meta":{},"window":{"navigationBarTitleText":"模å
·ä¸æº","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjxj2","meta":{},"window":{"navigationBarTitleText":"模å
·ä¸æº","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjrk","meta":{},"window":{"navigationBarTitleText":"模å
·å
¥åº","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjrk2","meta":{},"window":{"navigationBarTitleText":"模å
·å
¥åº","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjck","meta":{},"window":{"navigationBarTitleText":"模å
·åºåº","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjck2","meta":{},"window":{"navigationBarTitleText":"模å
·åºåº","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjwj","meta":{},"window":{"navigationBarTitleText":"模å
·å¤å","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjwj2","meta":{},"window":{"navigationBarTitleText":"模å
·å¤å","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjgh","meta":{},"window":{"navigationBarTitleText":"模å
·å½è¿","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjgh2","meta":{},"window":{"navigationBarTitleText":"模å
·å½è¿","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/scgl/scbg","meta":{},"window":{"navigationBarTitleText":"ç产æ¥å·¥","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/wwgl/wxfl","meta":{},"window":{"navigationBarTitleText":"å¤ååæ","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/wwgl/wxsl","meta":{},"window":{"navigationBarTitleText":"å¤åæ¶æ","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/znfx/scfx","meta":{},"window":{"navigationBarTitleText":"ç产åæ","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/grzx/gzcl","meta":{},"window":{"navigationBarTitleText":"å·¥èµäº§é","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/znfx/scjd","meta":{},"window":{"navigationBarTitleText":"ç产è¿åº¦","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/znfx/chda","meta":{},"window":{"navigationBarTitleText":"åè´§æ¡£æ¡","navigationStyle":"custom","enablePullDownRefresh":false}}]; |
| | | var __uniConfig = {"pages":["pages/login/index","pages/xtsy/index","pages/mjgl/mjcx","pages/mjgl/mjcx2","pages/mjgl/mjdj","pages/mjgl/mjdj2","pages/mjgl/mjby","pages/mjgl/mjby2","pages/mjgl/wxsq","pages/mjgl/wxsq2","pages/mjgl/mjwx","pages/mjgl/wxyz","pages/mjgl/mjsj","pages/mjgl/mjsj2","pages/mjgl/mjxj","pages/mjgl/mjxj2","pages/mjgl/mjrk","pages/mjgl/mjrk2","pages/mjgl/mjck","pages/mjgl/mjck2","pages/mjgl/mjwj","pages/mjgl/mjwj2","pages/mjgl/mjgh","pages/mjgl/mjgh2","pages/scgl/scbg","pages/wwgl/wxfl","pages/wwgl/wxsl","pages/znfx/scfx","pages/grzx/gzcl","pages/znfx/scjd","pages/znfx/chda","pages/zlgl/sjjy","pages/zlgl/sjjy2","pages/zlgl/xjjy","pages/zlgl/xjjy2","pages/zlgl/wgjy","pages/zlgl/wgjy2"],"window":{"navigationBarTextStyle":"black","navigationBarTitleText":"uni-app","navigationBarBackgroundColor":"#F8F8F8","backgroundColor":"#F8F8F8"},"darkmode":false,"nvueCompiler":"uni-app","nvueStyleCompiler":"uni-app","renderer":"auto","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":false},"appname":"JLApp","compilerVersion":"3.92","entryPagePath":"pages/login/index","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000}}; |
| | | var __uniRoutes = [{"path":"/pages/login/index","meta":{"isQuit":true},"window":{"navigationBarTitleText":"ç»å½","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/xtsy/index","meta":{},"window":{"navigationBarTitleText":"ç³»ç»é¦é¡µ","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjcx","meta":{},"window":{"navigationBarTitleText":"模å
·æ¥è¯¢","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjcx2","meta":{},"window":{"navigationBarTitleText":"模å
·æ¥è¯¢","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjdj","meta":{},"window":{"navigationBarTitleText":"模å
·ç¹æ£","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjdj2","meta":{},"window":{"navigationBarTitleText":"模å
·ç¹æ£","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjby","meta":{},"window":{"navigationBarTitleText":"模å
·ä¿å
»","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjby2","meta":{},"window":{"navigationBarTitleText":"模å
·ä¿å
»","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/wxsq","meta":{},"window":{"navigationBarTitleText":"ç»´ä¿®ç³è¯·","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/wxsq2","meta":{},"window":{"navigationBarTitleText":"ç»´ä¿®ç³è¯·","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjwx","meta":{},"window":{"navigationBarTitleText":"模å
·ç»´ä¿®","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/wxyz","meta":{},"window":{"navigationBarTitleText":"ç»´ä¿®éªè¯","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjsj","meta":{},"window":{"navigationBarTitleText":"模å
·ä¸æº","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjsj2","meta":{},"window":{"navigationBarTitleText":"模å
·ä¸æº","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjxj","meta":{},"window":{"navigationBarTitleText":"模å
·ä¸æº","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjxj2","meta":{},"window":{"navigationBarTitleText":"模å
·ä¸æº","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjrk","meta":{},"window":{"navigationBarTitleText":"模å
·å
¥åº","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjrk2","meta":{},"window":{"navigationBarTitleText":"模å
·å
¥åº","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjck","meta":{},"window":{"navigationBarTitleText":"模å
·åºåº","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjck2","meta":{},"window":{"navigationBarTitleText":"模å
·åºåº","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjwj","meta":{},"window":{"navigationBarTitleText":"模å
·å¤å","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjwj2","meta":{},"window":{"navigationBarTitleText":"模å
·å¤å","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjgh","meta":{},"window":{"navigationBarTitleText":"模å
·å½è¿","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/mjgl/mjgh2","meta":{},"window":{"navigationBarTitleText":"模å
·å½è¿","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/scgl/scbg","meta":{},"window":{"navigationBarTitleText":"ç产æ¥å·¥","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/wwgl/wxfl","meta":{},"window":{"navigationBarTitleText":"å¤ååæ","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/wwgl/wxsl","meta":{},"window":{"navigationBarTitleText":"å¤åæ¶æ","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/znfx/scfx","meta":{},"window":{"navigationBarTitleText":"ç产åæ","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/grzx/gzcl","meta":{},"window":{"navigationBarTitleText":"å·¥èµäº§é","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/znfx/scjd","meta":{},"window":{"navigationBarTitleText":"ç产è¿åº¦","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/znfx/chda","meta":{},"window":{"navigationBarTitleText":"åè´§æ¡£æ¡","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/zlgl/sjjy","meta":{},"window":{"navigationBarTitleText":"馿£æ£éª","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/zlgl/sjjy2","meta":{},"window":{"navigationBarTitleText":"馿£æ£éª","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/zlgl/xjjy","meta":{},"window":{"navigationBarTitleText":"å·¡æ£æ£éª","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/zlgl/xjjy2","meta":{},"window":{"navigationBarTitleText":"å·¡æ£æ£éª","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/zlgl/wgjy","meta":{},"window":{"navigationBarTitleText":"å®å·¥æ£éª","navigationStyle":"custom","enablePullDownRefresh":false}},{"path":"/pages/zlgl/wgjy2","meta":{},"window":{"navigationBarTitleText":"å®å·¥æ£éª","navigationStyle":"custom","enablePullDownRefresh":false}}]; |
| | | __uniConfig.onReady=function(callback){if(__uniConfig.ready){callback()}else{onReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"ready",{get:function(){return isReady},set:function(val){isReady=val;if(!isReady){return}const callbacks=onReadyCallbacks.slice(0);onReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}}); |
| | | __uniConfig.onServiceReady=function(callback){if(__uniConfig.serviceReady){callback()}else{onServiceReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"serviceReady",{get:function(){return isServiceReady},set:function(val){isServiceReady=val;if(!isServiceReady){return}const callbacks=onServiceReadyCallbacks.slice(0);onServiceReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}}); |
| | | service.register("uni-app-config",{create(a,b,c){if(!__uniConfig.viewport){var d=b.weex.config.env.scale,e=b.weex.config.env.deviceWidth,f=Math.ceil(e/d);Object.assign(__uniConfig,{viewport:f,defaultFontSize:Math.round(f/20)})}return{instance:{__uniConfig:__uniConfig,__uniRoutes:__uniRoutes,global:void 0,window:void 0,document:void 0,frames:void 0,self:void 0,location:void 0,navigator:void 0,localStorage:void 0,history:void 0,Caches:void 0,screen:void 0,alert:void 0,confirm:void 0,prompt:void 0,fetch:void 0,XMLHttpRequest:void 0,WebSocket:void 0,webkit:void 0,print:void 0}}}}); |
| | |
| | | {"@platforms":["android","iPhone","iPad"],"id":"__UNI__4B963DF","name":"JLApp","version":{"name":"1.0.0","code":"100"},"description":"","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"Camera":{},"UniNView":{"description":"UniNViewåçæ¸²æ"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"render":"always","id":"1","kernel":"WKWebview"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#F8F8F8"},"usingComponents":true,"nvueStyleCompiler":"uni-app","compilerVersion":3,"distribute":{"icons":{"android":{"hdpi":"unpackage/res/icons/72x72.png","xhdpi":"unpackage/res/icons/96x96.png","xxhdpi":"unpackage/res/icons/144x144.png","xxxhdpi":"unpackage/res/icons/192x192.png"},"ios":{"appstore":"unpackage/res/icons/1024x1024.png","ipad":{"app":"unpackage/res/icons/76x76.png","app@2x":"unpackage/res/icons/152x152.png","notification":"unpackage/res/icons/20x20.png","notification@2x":"unpackage/res/icons/40x40.png","proapp@2x":"unpackage/res/icons/167x167.png","settings":"unpackage/res/icons/29x29.png","settings@2x":"unpackage/res/icons/58x58.png","spotlight":"unpackage/res/icons/40x40.png","spotlight@2x":"unpackage/res/icons/80x80.png"},"iphone":{"app@2x":"unpackage/res/icons/120x120.png","app@3x":"unpackage/res/icons/180x180.png","notification@2x":"unpackage/res/icons/40x40.png","notification@3x":"unpackage/res/icons/60x60.png","settings@2x":"unpackage/res/icons/58x58.png","settings@3x":"unpackage/res/icons/87x87.png","spotlight@2x":"unpackage/res/icons/80x80.png","spotlight@3x":"unpackage/res/icons/120x120.png"}}},"splashscreen":{"androidStyle":"common","alwaysShowBeforeRender":false,"waiting":false,"autoclose":false,"delay":0},"google":{"permissions":["<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>","<uses-permission android:name=\"android.permission.VIBRATE\"/>","<uses-permission android:name=\"android.permission.READ_LOGS\"/>","<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>","<uses-feature android:name=\"android.hardware.camera.autofocus\"/>","<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.CAMERA\"/>","<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>","<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>","<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>","<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>","<uses-feature android:name=\"android.hardware.camera\"/>","<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"]},"apple":{"dSYMs":false},"plugins":{"ad":{},"maps":{},"share":{},"audio":{"mp3":{"description":"Androidå¹³å°å½é³æ¯æMP3æ ¼å¼æä»¶"}}}},"uniStatistics":{"enable":false},"allowsInlineMediaPlayback":true,"uni-app":{"compilerVersion":"3.92","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal"},"launch_path":"__uniappview.html"}} |
| | | {"@platforms":["android","iPhone","iPad"],"id":"__UNI__4B963DF","name":"JLApp","version":{"name":"1.0.0","code":"100"},"description":"","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"Camera":{},"UniNView":{"description":"UniNViewåçæ¸²æ"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"render":"always","id":"1","kernel":"WKWebview"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#F8F8F8"},"usingComponents":true,"nvueStyleCompiler":"uni-app","compilerVersion":3,"distribute":{"icons":{"android":{"hdpi":"unpackage/res/icons/72x72.png","xhdpi":"unpackage/res/icons/96x96.png","xxhdpi":"unpackage/res/icons/144x144.png","xxxhdpi":"unpackage/res/icons/192x192.png"},"ios":{"appstore":"unpackage/res/icons/1024x1024.png","ipad":{"app":"unpackage/res/icons/76x76.png","app@2x":"unpackage/res/icons/152x152.png","notification":"unpackage/res/icons/20x20.png","notification@2x":"unpackage/res/icons/40x40.png","proapp@2x":"unpackage/res/icons/167x167.png","settings":"unpackage/res/icons/29x29.png","settings@2x":"unpackage/res/icons/58x58.png","spotlight":"unpackage/res/icons/40x40.png","spotlight@2x":"unpackage/res/icons/80x80.png"},"iphone":{"app@2x":"unpackage/res/icons/120x120.png","app@3x":"unpackage/res/icons/180x180.png","notification@2x":"unpackage/res/icons/40x40.png","notification@3x":"unpackage/res/icons/60x60.png","settings@2x":"unpackage/res/icons/58x58.png","settings@3x":"unpackage/res/icons/87x87.png","spotlight@2x":"unpackage/res/icons/80x80.png","spotlight@3x":"unpackage/res/icons/120x120.png"}}},"splashscreen":{"androidStyle":"common","alwaysShowBeforeRender":false,"waiting":false,"autoclose":false,"delay":0},"google":{"permissions":["<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>","<uses-permission android:name=\"android.permission.VIBRATE\"/>","<uses-permission android:name=\"android.permission.READ_LOGS\"/>","<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>","<uses-feature android:name=\"android.hardware.camera.autofocus\"/>","<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.CAMERA\"/>","<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>","<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>","<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>","<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>","<uses-feature android:name=\"android.hardware.camera\"/>","<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"]},"apple":{"dSYMs":false},"plugins":{"ad":{},"maps":{},"share":{},"push":{},"audio":{"mp3":{"description":"Androidå¹³å°å½é³æ¯æMP3æ ¼å¼æä»¶"}}}},"uniStatistics":{"enable":false},"allowsInlineMediaPlayback":true,"uni-app":{"compilerVersion":"3.92","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal"},"launch_path":"__uniappview.html"}} |