From 30190a149dfcf465104d08c54ec4e2d4d8074b17 Mon Sep 17 00:00:00 2001
From: wtt <1985833171@qq.com>
Date: 星期一, 19 一月 2026 14:05:38 +0800
Subject: [PATCH] Merge branch 'Dev' of http://101.37.171.70:10101/r/~jhz/STUWMS into Dev
---
pages/MJGL/Sb_EquipConkBook/Sb_EquipConkBookBillList.vue | 455 ++++
pages/ZLGL/QuYangHuangYang/QC_BackSampleCheckBill/QC_BackSampleCheckBill.vue | 819 +++++++
pages/ZLGL/QuYangHuangYang/QC_TakeSampleCheckBill/QC_TakeSampleCheckBillList.vue | 2
utils/WebSocketServices.js | 252 +
pages.json | 36
pages/ZLGL/QuYangHuangYang/QC_TakeSampleCheckBill/QC_TakeSampleCheckBill.vue | 831 +++++++
pages/index/tab2.vue | 16
pages/index/tab4.vue | 21
App.vue | 36
pages/ZLGL/QuYangHuangYang/QC_BackSampleCheckBill/QC_BackSampleCheckBillList.vue | 2
pages/ZLGL/lailiaojianyan_fast/Kf_QCStockInCheckBill_Fast.vue | 6
pages/index/tab1.vue | 19
utils/common.js | 1
/dev/null | 830 -------
manifest.json | 9
pages/index/tab3.vue | 24
pages/index/login.vue | 6
pages/guzhangdengji/EqpConkBookBillList.vue | 2
pages/EmployeeRecords/EmployeeRecordsBill.vue | 1566 ++++++++++++++
pages/MJGL/Sb_EquipConkBook/Sb_EquipConkBookBill.vue | 816 +++++++
pages/index/index.vue | 1
pages/index/mine.vue | 7
pages/EmployeeRecords/EmployeeRecordsBillList.vue | 558 +++++
23 files changed, 5,379 insertions(+), 936 deletions(-)
diff --git a/App.vue b/App.vue
index bb88175..16c947d 100644
--- a/App.vue
+++ b/App.vue
@@ -1,17 +1,47 @@
<script>
+ import WebSocketServices from "./utils/WebSocketServices";
import {
getOpenId,
setUserInfo,
setToken,
- getToken
+ getToken,
+ getUserInfo
} from "./utils/auth";
export default {
onLaunch: function() {
console.log('App Launch')
+ // #ifdef H5
+ // 娴嬭瘯鏃讹紝H5椤甸潰鍒锋柊浼氫涪澶盬ebSocket杩炴帴锛岄渶瑙﹀彂閲嶈繛 锛堥渶瑕佹祴璇曠殑鏃跺�欏啀瑙i櫎娉ㄩ噴锛屽惁鍒欎細褰卞搷鐑洿鏂帮級
+ // if (uni.getStorageSync("userinfo")) {
+ // if (WebSocketServices.wsInstance) { // 鍋囪浣犵殑 WebSocket 瀹炰緥瀛樺湪 wsInstance 涓�
+ // WebSocketServices.closeConnect(); // 璋冪敤浣犲皝瑁呯殑鈥滃叧闂繛鎺モ�濇柟娉�
+ // }
+
+ // setTimeout(() => {
+ // WebSocketServices.createConnect(
+ // getUserInfo()["Czybm"],
+ // getUserInfo()["Czymc"],
+ // )
+ // }, 500)
+
+ // }
+
+ // // 鍏抽敭锛氱洃鍚儹鏇存柊妯″潡鏇挎崲锛岄攢姣佹棫杩炴帴
+ // if (module.hot) {
+ // module.hot.accept(); // 鍏佽褰撳墠妯″潡鐑洿鏂�
+ // module.hot.dispose(() => {
+ // // 鐑洿鏂版浛鎹㈡ā鍧楀墠锛岄攢姣� WebSocket 杩炴帴
+ // if (WebSocketServices.wsInstance) {
+ // WebSocketServices.closeConnect();
+ // WebSocketServices.wsInstance = null; // 閲嶇疆瀹炰緥
+ // }
+ // });
+ // }
+ // #endif
},
onShow: function() {
console.log('App Show')
-
+
},
onHide: function() {
console.log('App Hide')
@@ -30,7 +60,7 @@
/* 鐢ㄤ簬瑙e喅picker鍐呴儴璁剧疆 disabled input 鏃朵笉鍝嶅簲鐨勯棶棰� */
.picker-overlay {
- box-sizing: border-box;
+ box-sizing: border-box;
position: absolute;
top: 0;
left: 0;
diff --git a/manifest.json b/manifest.json
index 744eae3..2a2de20 100644
--- a/manifest.json
+++ b/manifest.json
@@ -2,8 +2,8 @@
"name" : "鏅轰簯LMES",
"appid" : "__UNI__B002F49",
"description" : "",
- "versionName" : "2.0.57",
- "versionCode" : 257,
+ "versionName" : "2.0.58",
+ "versionCode" : 258,
"transformPx" : false,
/* 5+App鐗规湁鐩稿叧 */
"app-plus" : {
@@ -26,7 +26,8 @@
"Camera" : {},
"Contacts" : {},
"Bluetooth" : {},
- "Barcode" : {}
+ "Barcode" : {},
+ "Push" : {}
},
/* 搴旂敤鍙戝竷淇℃伅 */
"distribute" : {
@@ -131,7 +132,7 @@
}
}
}
- }
+ }
},
/* 蹇簲鐢ㄧ壒鏈夌浉鍏� */
"quickapp" : {},
diff --git a/pages.json b/pages.json
index 0f9865c..0cabc1d 100644
--- a/pages.json
+++ b/pages.json
@@ -1005,26 +1005,26 @@
}
},
{
- "path": "pages/quyangdan/TakeSampleCheckBillList",
+ "path": "pages/ZLGL/QuYangHuangYang/QC_TakeSampleCheckBill/QC_TakeSampleCheckBillList",
"style": {
"navigationBarTitleText": "鍙栨牱鍗�"
}
},
{
- "path": "pages/quyangdan/TakeSampleCheckBill",
+ "path": "pages/ZLGL/QuYangHuangYang/QC_TakeSampleCheckBill/QC_TakeSampleCheckBill",
"style": {
"navigationBarTitleText": "鍙栨牱鍗�"
}
},
{
- "path": "pages/huanyangdan/BackSampleCheckBillList",
+ "path": "pages/ZLGL/QuYangHuangYang/QC_BackSampleCheckBill/QC_BackSampleCheckBillList",
"style": {
"navigationBarTitleText": "杩樻牱鍗�",
"enablePullDownRefresh": true
}
},
{
- "path": "pages/huanyangdan/BackSampleCheckBill",
+ "path": "pages/ZLGL/QuYangHuangYang/QC_BackSampleCheckBill/QC_BackSampleCheckBill",
"style": {
"navigationBarTitleText": "杩樻牱鍗�",
"enablePullDownRefresh": true
@@ -1576,7 +1576,35 @@
{
"navigationBarTitleText" : "鍣ㄥ叿缁翠慨浠诲姟"
}
+ },
+ {
+ "path" : "pages/EmployeeRecords/EmployeeRecordsBill",
+ "style" :
+ {
+ "navigationBarTitleText" : "鍛樺伐绛惧埌璁板綍琛�"
+ }
+ },
+ {
+ "path" : "pages/EmployeeRecords/EmployeeRecordsBillList",
+ "style" :
+ {
+ "navigationBarTitleText" : "鍛樺伐绛惧埌璁板綍琛ㄥ垪琛�"
+ }
+ },
+ {
+ "path" : "pages/MJGL/Sb_EquipConkBook/Sb_EquipConkBookBill",
+ "style" :
+ {
+ "navigationBarTitleText" : "璁惧鏁呴殰鐧昏鍗�"
+ }
+ },{
+ "path" : "pages/MJGL/Sb_EquipConkBook/Sb_EquipConkBookBillList",
+ "style" :
+ {
+ "navigationBarTitleText" : "璁惧鏁呴殰鐧昏鍗曞垪琛�"
+ }
}
+
],
"tabBar": {
diff --git a/pages/EmployeeRecords/EmployeeRecordsBill.vue b/pages/EmployeeRecords/EmployeeRecordsBill.vue
new file mode 100644
index 0000000..e6f179a
--- /dev/null
+++ b/pages/EmployeeRecords/EmployeeRecordsBill.vue
@@ -0,0 +1,1566 @@
+<template>
+ <view class="form">
+ <view class="form-base-info">
+ <view class="form-item">
+ <view class="title">鏉$爜</view>
+ <view class="right">
+ <input type="text" :focus="HBarCodeFocus" v-model="HBarCode"
+ @confirm="GetMeesageByBarCode(HBarCode)" />
+ </view>
+ <view class="right-icon">
+ <uni-icons type="scan"
+ style="background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;" size="20"
+ @click="toScanCode2"></uni-icons>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">瑙掕壊</view>
+ <view class="right">
+ <!-- 澶氶�変笅鎷夋 -->
+ <uni-data-select v-model="hform.HRoles" :multiple="true" :localdata="roleOptions"
+ placeholder="璇烽�夋嫨瑙掕壊" :clear="false" @change="onRoleChange">
+ </uni-data-select>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">鐢熶骇杞﹂棿:</view>
+ <view class="right">
+ <uni-combox :candidates="arrayHDeptName" placeholder="璇烽�夋嫨杞﹂棿" v-model="hform.HDeptName"
+ @input="HDeptNameChange"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">绛惧埌浜哄憳:</view>
+ <view class="right">
+ <uni-combox :candidates="arrayHEmpName" placeholder="璇烽�夋嫨绛惧埌浜哄憳" v-model="hform.HEmpName"
+ @input="HEmpNameChange"></uni-combox>
+ </view>
+ </view>
+
+ <view class="form-item">
+ <view class="title">鐝粍:</view>
+ <view class="right">
+ <uni-combox :candidates="arrayHGroupName" placeholder="璇烽�夋嫨杞﹂棿" v-model="hform.HGroupName"
+ @input="HGroupNameChange"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">鐝:</view>
+ <view class="right">
+ <uni-combox :candidates="arrayHShiftsName" placeholder="璇烽�夋嫨杞﹂棿" v-model="hform.HShiftsName"
+ @input="HShiftsNameChange"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">鐢熶骇璧勬簮:</view>
+ <view class="right">
+ <uni-combox :candidates="arrayHSourceName" placeholder="璇烽�夋嫨杞﹂棿" v-model="hform.HSourceName"
+ @input="HSourceNameChange"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">宸ュ簭:</view>
+ <view class="right">
+ <uni-combox :candidates="arrayHProcName" placeholder="璇烽�夋嫨杞﹂棿" v-model="hform.HProcName"
+ @input="HProcNameChange"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">鏃ユ湡</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HDate" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">鍗曟嵁鍙�</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HBillNo" />
+ </view>
+ </view>
+ </view>
+ <view class="tabs">
+ <view :class="tabs == 0 ? 'on':''" @tap="tabs = 0">鏈哄彴淇℃伅</view>
+ <view :class="tabs == 1 ? 'on':''" @tap="tabs = 1">宸ュ崟淇℃伅</view>
+ <view :class="tabs == 2 ? 'on':''" @tap="tabs = 2">鍒跺崟淇℃伅</view>
+ </view>
+ <!-- 瑁呯淇℃伅 -->
+ <view v-if="tabs == 1">
+ <zb-table id="list-table" :checked-highlight="true" :fit="true" :style="{height: `${listTableHeight}px`}"
+ :columns="columns" :data="listData" :show-header="true" :border="true" :row-key="row => row.index"
+ @toggleRowSelection="handleSelect" @toggleAllSelection="handleSelectAll"
+ @rowClick="onTableRowClickHandler" />
+ </view>
+ <view v-if="tabs == 0" class="machine-info-container">
+ <view class="form-item" v-if="false">
+ <view class="title">璁惧ID:</view>
+ <view class="righton">
+ <input name="HEquipID" disabled v-model="hform.HEquipID" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">璁惧鍚嶇О:</view>
+ <view class="righton">
+ <input name="HEquipName" disabled v-model="hform.HEquipName" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">妯″叿缂栫爜:</view>
+ <view class="righton">
+ <input name="HMouldNo" disabled v-model="hform.HMouldNo" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">妯″叿鍚嶇О:</view>
+ <view class="righton">
+ <input name="HMouldName" disabled v-model="hform.HMouldName" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">妯″叿鐘舵��:</view>
+ <view class="righton">
+ <input name="HMouldState" disabled v-model="hform.HMouldState" />
+ </view>
+ </view>
+ <!-- <label class="checkbox" style="float: right;">
+ <checkbox :checked="hform.chkHBarflag" style="transform:scale(0.8)" disabled color="#4f81fc" />鏉$爜鏍稿
+ </label> -->
+ </view>
+ <!-- 鍒跺崟淇℃伅 -->
+ <view v-if="tabs == 2">
+ <view class="bill-info">
+ <view class="form-item">
+ <view class="title">鍒涘缓鏃ユ湡</view>
+ <view class="right">
+ <uni-datetime-picker type="date" v-model="hform.HDate">
+ <input type="text" v-model="hform.HDate" disabled />
+ </uni-datetime-picker>
+ </view>
+ </view>
+ </view>
+ <view class="bill-info">
+ <view class="form-item">
+ <view class="title">鍒涘缓浜�</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HMaker" />
+ </view>
+ </view>
+ </view>
+ <view class="bill-info">
+ <view class="form-item">
+ <view class="title">淇敼鏃ユ湡</view>
+ <view class="right">
+ <uni-datetime-picker type="date" v-model="hform.HUpDateDate">
+ <input type="text" v-model="hform.HDate" disabled />
+ </uni-datetime-picker>
+ </view>
+ </view>
+ </view>
+ <view class="bill-info">
+ <view class="form-item">
+ <view class="title">淇敼浜�</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HUpDater" />
+ </view>
+ </view>
+ </view>
+ <view class="bill-info">
+ <view class="form-item">
+ <view class="title">淇敼鏃ユ湡</view>
+ <view class="right">
+ <uni-datetime-picker type="date" v-model="hform.HCheckDate">
+ <input type="text" v-model="hform.HDate" disabled />
+ </uni-datetime-picker>
+ </view>
+ </view>
+ </view>
+ <view class="bill-info">
+ <view class="form-item">
+ <view class="title">淇敼浜�</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HChecker" />
+ </view>
+ </view>
+ </view>
+ <view class="bill-info">
+ <view class="form-item">
+ <view class="title">鍗曟嵁鍙�</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HBillNo" />
+ </view>
+ </view>
+ </view>
+
+ <view class="bill-info">
+ <view class="form-item">
+ <view class="title">缁勭粐</view>
+ <view class="right disabled">
+ <input type="text" disabled :value="hform.HStockOrgName" />
+ </view>
+ </view>
+ </view>
+
+ </view>
+ <view class="bottom-btn" id="bottom-btn">
+ <button :class="EnableSubmit?'btn-a':'btn-c'" :disabled="!EnableSubmit" size="mini"
+ @tap="cmdSubmit">鎻愪氦</button>
+ <view style="flex: 1;"></view>
+ <!-- <button class="btn-d" size="mini" @tap="cmdDelete">鍒犻櫎</button> -->
+ <button class="btn-c" size="mini" @tap="cmdExit">閫�鍑�</button>
+ </view>
+ <!-- 鎵撳嵃妯″潡 -->
+ <labelPrinterComponentVue ref="labelPrinter" :printInfo="printInfo" :printMode="'cpcl'">
+ </labelPrinterComponentVue>
+
+ <!-- 鎵撳嵃鏈洪�夋嫨鍒楄〃 -->
+ <view v-if="maskShow" class="uni-mask" @tap="maskShow = false">
+ <scroll-view class="uni-scroll_box" scroll-y>
+ <view class="uni-list-box" v-for="(device, index) in discoveredDevices" :key="index"
+ @tap="connectBT(device)">
+ <view class="uni-list_name">鍚嶇О锛歿{ device.name }}</view>
+ <view class="uni-list_item">{{ connectedDeviceId === device.address?'宸茶繛鎺�':'鏈繛鎺�' }}</view>
+ </view>
+ </scroll-view>
+ </view>
+ <view v-if="showResultTable" class="result-modal">
+ <view class="modal-mask" @tap="closeResultTable"></view>
+ <view class="modal-content">
+ <view class="modal-header">
+ <text class="modal-title">绛惧埌缁撴灉</text>
+ <uni-icons type="close" size="20" @tap="closeResultTable"></uni-icons>
+ </view>
+ <view class="modal-body">
+ <zb-table :fit="true" :style="{height: '400px'}" :columns="resultTableColumns"
+ :data="resultTableData" :show-header="true" :border="true" :row-key="row => row.index" />
+ </view>
+ <view class="modal-footer">
+ <button class="btn-a" size="mini" @tap="toAddNew">鏂板</button>
+ <button class="btn-a" size="mini" @tap="search">鎵撳嵃</button>
+ <view style="flex: 1;"></view>
+ <button class="btn-c" size="mini" @tap="closeResultTable">鍏抽棴</button>
+ </view>
+ </view>
+
+ </view>
+ </view>
+</template>
+
+<script>
+ import dayjs from 'dayjs'
+ import {
+ getUserInfo
+ } from "../../utils/auth";
+ import {
+ CommonUtils
+ } from "@/utils/common.js"
+ import {
+ MpaasScan
+ } from "@/utils/mpaasScan.js"
+ import labelPrinterComponentVue from "@/components/labelPrinterComponent/labelPrinterComponent.vue"
+ import getdateTime from '../../utils/getdateTime';
+ export default {
+ components: {
+ labelPrinterComponentVue
+ },
+ data() {
+ return {
+
+ serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API',
+ // 璁$畻鍒楄〃楂樺害
+ bottomBtnTop: 0,
+ listTableTop: 0,
+ // 鍏叡鍙橀噺
+ arrayHDeptName: [], //閮ㄩ棬
+ HDeptNameList: [],
+ arrayHEmpName: [], //鍛樺伐
+ HEmpNameList: [],
+ arrayHGroupName: [], //鐝粍
+ HGroupNameList: [],
+ arrayHShiftsName: [], //鐝
+ HShiftsNameList: [],
+ arrayHSourceName: [], //鐢熶骇璧勬簮
+ HSourceNameList: [],
+ arrayHProcName: [], //宸ュ簭
+ HProcNameList: [],
+
+
+ EnableScanBarCodePack: true,
+ EnableSubmit: true,
+ HBarCodePackFocus: false,
+ HBarCodeFocus: false,
+
+ HBarCode: '', // 鍖呮潯鐮�
+ tabs: 0,
+ HBillType: '4616',
+ HBillSubType: '1', //瀛愮被鍨嬶紙1瑁呯銆�2缁勬墭锛�
+ OperationType: 1, //鎿嶄綔绫诲瀷锛�1鏂板銆�2浠庣紦瀛樺垪琛ㄤ腑杩斿洖锛�
+ HMaterNumber_Pack: "", //鎵樻潯鐮佸搴旂墿鏂欎唬鐮�
+ listOption: [],
+ listData: [],
+ columns: [{
+ type: 'selection',
+ fixed: true,
+ width: 50
+ },
+ {
+ name: 'index',
+ label: '搴忓彿',
+ width: 60,
+ hidden: true
+ },
+ {
+ name: '娴佽浆鍗″彿',
+ label: '娴佽浆鍗″彿',
+ width: 100,
+ },
+ {
+ name: '鏁伴噺',
+ label: '鏁伴噺',
+ width: 100,
+ },
+ {
+ name: '鐗╂枡浠g爜',
+ label: '鐗╂枡浠g爜',
+ width: 100,
+ },
+ {
+ name: '鐗╂枡鍚嶇О',
+ label: '鐗╂枡鍚嶇О',
+ width: 100,
+ },
+ {
+ name: '瑙勬牸鍨嬪彿',
+ label: '瑙勬牸鍨嬪彿',
+ width: 100,
+ },
+ {
+ name: '鏁伴噺',
+ label: '鏁伴噺',
+ width: 100,
+ },
+ {
+ name: '鐢熶骇璧勬簮',
+ label: '鐢熶骇璧勬簮',
+ width: 100,
+ }
+ ],
+ selectedRows: [], // 瀛樺偍閫変腑鐨勬暟鎹�
+ HModName: "Sc_PackUnionBill_Packing_PDA",
+ ModRightName: "CE_PackUnionBill_Packing", //妯″潡鏉冮檺鍙傛暟
+ titleData: [], //涓嶉渶瑕佹樉绀虹殑瀛楁
+ OperationType: 1, //浠庣紦瀛樺垪琛ㄤ腑杩斿洖鏁版嵁绫诲瀷锛�1鏂板銆�2浠庣紦瀛樺垪琛ㄤ腑杩斿洖锛�
+ //钃濈墮鐩稿叧淇℃伅
+ printInfo: "", //鎵撳嵃鍐呭
+ maskShow: false, //钃濈墮鎵撳嵃鏈烘樉绀虹粦瀹�
+ printListData: [], //
+ //灞曠ず琛ㄥ崟
+ showResultTable: false, // 鎺у埗缁撴灉琛ㄦ牸鏄剧ず
+ resultTableData: [], // 缁撴灉琛ㄦ牸鏁版嵁
+ resultTableColumns: [{
+ name: '璁惧缂栫爜',
+ label: '璁惧缂栫爜',
+ width: 120,
+ },
+ {
+ name: '璁惧鍚嶇О',
+ label: '璁惧鍚嶇О',
+ width: 120,
+ },
+ {
+ name: '绛惧埌瑙掕壊',
+ label: '绛惧埌瑙掕壊',
+ width: 100,
+ },
+ {
+ name: '鐢熶骇璧勬簮鍚嶇О',
+ label: '鐢熶骇璧勬簮鍚嶇О',
+ width: 100,
+ }
+ ],
+ //
+
+ // 琛ㄥ崟鎻愪氦鍊�
+ hform: {
+ HDate: dayjs(new Date()).format('YYYY-MM-DD'),
+ HMaker: getUserInfo()['Czymc'],
+ HInterID: '',
+ HStockOrgName: uni.getStorageSync("Organization"),
+ HStockOrgID: uni.getStorageSync("OrganizationID"),
+
+ HQualityApproval: false,
+
+ HMainID: '',
+ HSubID: '',
+ HSourceBillSEQ: '',
+ HBillNo: '',
+ HEmpID: getUserInfo()['HEmpID'] || '',
+ HEmpName: getUserInfo()['Czymc'] || '',
+ HEmpNumber: getUserInfo()['Czybm'] || uni.getStorageSync("HEmpNumber"),
+
+
+ HCheckEmpName: '',
+
+ HRemark: '',
+
+ HProduceDate: dayjs(new Date()).format('YYYY-MM-DD'),
+
+ //鑷畾涔�
+ HMouldID: 0,
+ HMouldName: '',
+ HMouldNumber: '',
+ HMouldNo: '',
+ HMouldState: '',
+ HEquipID: 0,
+ HEquipName: '',
+ HSourceID: uni.getStorageSync('HSourceID'),
+ HSourceName: uni.getStorageSync('HSourceName'),
+ HProcID: uni.getStorageSync('HProcID'),
+ HProcName:uni.getStorageSync('HProcName'),
+ HGroupID:uni.getStorageSync('HGroupID'),
+ HGroupName: uni.getStorageSync('HGroupName'),
+ HShiftsID: 0,
+ HShiftsName: '',
+ HDeptName: uni.getStorageSync('HDeptName'),
+ HDeptID: uni.getStorageSync('HDeptID'),
+ //HEmpID:0,
+ //HEmpName:'',
+ HSignInReason: '',
+ HSignRemark: '',
+
+ HMaterID: 0,
+ HMaterNumber: '',
+ HMaterName: '',
+ HMaterModel: '',
+ HRoles: [],
+ },
+ roleOptions: [],
+ // [{
+ // value: '鐝粍闀�',
+ // text: '鐝粍闀�'
+ // },
+ // {
+ // value: '鐝憳',
+ // text: '鐝憳'
+ // },
+ // {
+ // value: '鏈轰慨宸�',
+ // text: '鏈轰慨宸�'
+ // },
+ // {
+ // value: '鎿嶄綔宸�',
+ // text: '鎿嶄綔宸�'
+ // }
+ // ],
+ // 鍒嗛〉妯″潡鍏冩暟鎹�
+ paginationMeta: {
+
+ }
+ }
+ },
+ methods: {
+ onTableRowClickHandler(row, index) {
+ console.log('row: ', row);
+ if (!this.listData[index].checked) {
+ this.$set(this.listData[index], 'checked', true)
+ } else {
+ this.listData[index].checked = !this.listData[index].checked
+ }
+ },
+ async HBarCodeFocusRefresh() {
+ this.HBarCode = ''
+ this.HBarCodeFocus = false
+ await this.$nextTick()
+ this.HBarCodeFocus = true
+ },
+ async HBarCodePackFocusRefresh() {
+ this.HBarCode_Pack = ''
+ this.HBarCodePackFocus = false
+ await this.$nextTick()
+ this.HBarCodePackFocus = true
+ },
+ //#region 涓嬫媺妗�
+ //鑾峰彇浣跨敤閮ㄩ棬鏁版嵁
+ async getHDeptList() {
+ try{
+ let res = await CommonUtils.doRequest2Async({
+ url: '/PublicPageMethod/DeptList',
+ data: {
+ sWhere: "where HStopFlag=0 and HEndFlag=1 and HUSEORGID = " + uni.getStorageSync(
+ 'OrganizationID') + ""
+ },
+ })
+
+ console.log('res: ', res);
+ if (res.data.count == 1) {
+ console.log('res.data.data: ', res.data.data);
+ this.HDeptNameList = res.data.data
+ // for (var i = 0; i < res.data.data.length; i++) {
+ // this.arrayHDeptName[i] = res.data.data[i].HName
+ // }
+ this.arrayHDeptName = res.data.data.map(item => item.HName)
+ this.$forceUpdate();
+ } else {
+ uni.showToast({
+ title: res.data.Message,
+ icon: 'none'
+ })
+ }
+ }catch(err) {
+ uni.showToast({
+ title: err,
+ icon: 'none'
+ })
+ }
+
+ },
+ //閫夋嫨浣跨敤閮ㄩ棬
+ HDeptNameChange(e) {
+ for (var i = 0; i < this.HDeptNameList.length; i++) {
+ if (this.HDeptNameList[i].HName == e) {
+ this.hform.HDeptID = this.HDeptNameList[i].HItemID
+ }
+ }
+ },
+ //鎿嶄綔鍛樸�佽礋璐d汉
+ async getHEmpList() {
+ try{
+ let res = await CommonUtils.doRequest2Async({
+ url: '/Web/GetEmployeeList_Json',
+ data: {
+ Employee: '',
+ HGroupID: 0
+ },
+ })
+
+ console.log('res: ', res);
+ if (res.data.count == 1) {
+ console.log('res.data.data: ', res.data.data);
+ this.HEmpNameList = res.data.data
+ // for (var i = 0; i < res.data.data.length; i++) {
+ // this.arrayHDeptName[i] = res.data.data[i].HName
+ // }
+ this.arrayHEmpName = res.data.data.map(item => item.HName)
+ this.$forceUpdate();
+ } else {
+ uni.showToast({
+ title: res.data.Message,
+ icon: 'none'
+ })
+ }
+ }catch(err) {
+ uni.showToast({
+ title: err,
+ icon: 'none'
+ })
+ }
+
+ },
+ //閫夋嫨鎿嶄綔鍛�
+ HEmpNameChange(e) {
+ for (var i = 0; i < this.HEmpNameList.length; i++) {
+ if (this.HEmpNameList[i].HName == e) {
+ this.hform.HEmpID = this.HEmpNameList[i].HItemID
+ }
+ }
+ },
+
+ //鐝粍
+ async getHGroupList() {
+ try{
+ let res = await CommonUtils.doRequest2Async({
+ url: '/Gy_Group/list',
+ data: {
+ sWhere: '',
+ user: getUserInfo()['Czymc'] || '',
+ },
+ })
+
+ console.log('res: ', res);
+ if (res.data.count > 0) {
+ console.log('res.data.data: ', res.data.data);
+ this.HGroupNameList = res.data.data
+ // for (var i = 0; i < res.data.data.length; i++) {
+ // this.arrayHDeptName[i] = res.data.data[i].HName
+ // }
+ this.arrayHGroupName = res.data.data.map(item => item.鐝粍鍚嶇О)
+ this.$forceUpdate();
+ } else {
+ uni.showToast({
+ title: res.data.Message,
+ icon: 'none'
+ })
+ }
+ }catch(err) {
+ uni.showToast({
+ title: err,
+ icon: 'none'
+ })
+ }
+
+ },
+ //閫夋嫨鐝粍
+ HGroupNameChange(e) {
+ for (var i = 0; i < this.HGroupNameList.length; i++) {
+ if (this.HGroupNameList[i].鐝粍鍚嶇О == e) {
+ this.hform.HGroupID = this.HGroupNameList[i].HItemID
+ }
+ }
+ },
+ //鐝璫i
+ async getHShiftsList() {
+ try{
+ let res = await CommonUtils.doRequest2Async({
+ url: '/Gy_ShiftsController/Get_Gy_WorkShiftList',
+ data: {
+ sWhere: '',
+ HMaker: getUserInfo()['Czymc'] || '',
+ },
+ })
+
+ console.log('res: ', res);
+ if (res.data.count > 0) {
+ console.log('res.data.data: ', res.data.data);
+ this.HShiftsNameList = res.data.data
+ // for (var i = 0; i < res.data.data.length; i++) {
+ // this.arrayHDeptName[i] = res.data.data[i].HName
+ // }
+ this.arrayHShiftsName = res.data.data.map(item => item.鐝鍚嶇О)
+ this.$forceUpdate();
+ } else {
+ uni.showToast({
+ title: res.data.Message,
+ icon: 'none'
+ })
+ }
+ }catch(err) {
+ uni.showToast({
+ title: err,
+ icon: 'none'
+ })
+ }
+
+ },
+ //閫夋嫨鐝璫i
+ HShiftsNameChange(e) {
+ for (var i = 0; i < this.HSourceNameList.length; i++) {
+ if (this.HSourceNameList[i].鐝鍚嶇О == e) {
+ this.hform.HSourceID = this.HSourceNameList[i].HInterID
+ }
+ }
+ },
+ //鐢熶骇璧勬簮
+ async getHSourceList() {
+ try{
+ let res = await CommonUtils.doRequest2Async({
+ url: '/Gy_Source/list',
+ data: {
+ sWhere: '',
+ user: getUserInfo()['Czymc'] || '',
+ },
+ })
+
+ console.log('鐢熶骇璧勬簮res: ', res);
+ if (res.data.count > 0) {
+ console.log('鐢熶骇璧勬簮res.data.data: ', res.data.data);
+ this.HSourceNameList = res.data.data
+ // for (var i = 0; i < res.data.data.length; i++) {
+ // this.arrayHDeptName[i] = res.data.data[i].HName
+ // }
+ this.arrayHSourceName = res.data.data.map(item => item.鐢熶骇璧勬簮鍚嶇О)
+ this.$forceUpdate();
+ } else {
+ uni.showToast({
+ title: res.data.Message,
+ icon: 'none'
+ })
+ }
+ }catch(err) {
+ uni.showToast({
+ title: err,
+ icon: 'none'
+ })
+ }
+
+ },
+ //閫夋嫨shengcanziyuan
+ HSourceNameChange(e) {
+ for (var i = 0; i < this.HSourceNameList.length; i++) {
+ if (this.HSourceNameList[i].鐢熶骇璧勬簮鍚嶇О == e) {
+ this.hform.HSourceID = this.HSourceNameList[i].HItemID
+ console.log("HSourceID涓�",this.hform.HSourceID)
+ }
+ }
+ },
+ //宸ュ簭
+ async getHProcList() {
+ try{
+ let res = await CommonUtils.doRequest2Async({
+ url: '/Gy_Process/list',
+ data: {
+ sWhere: '',
+ user: getUserInfo()['Czymc'] || '',
+ },
+ })
+
+ console.log('宸ュ簭res: ', res);
+ if (res.data.count > 0) {
+ console.log('宸ュ簭res.data.data: ', res.data.data);
+ this.HProcNameList = res.data.data
+ // for (var i = 0; i < res.data.data.length; i++) {
+ // this.arrayHDeptName[i] = res.data.data[i].HName
+ // }
+ this.arrayHProcName = res.data.data.map(item => item.宸ュ簭鍚嶇О)
+ this.$forceUpdate();
+ } else {
+ uni.showToast({
+ title: res.data.Message,
+ icon: 'none'
+ })
+ }
+ }catch(err) {
+ uni.showToast({
+ title: err,
+ icon: 'none'
+ })
+ }
+
+ },
+ //閫夋嫨Proc
+ HProcNameChange(e) {
+ for (var i = 0; i < this.HProcNameList.length; i++) {
+ if (this.HProcNameList[i].宸ュ簭鍚嶇О == e) {
+ this.hform.HProcID = this.HProcNameList[i].HItemID
+ }
+ }
+ },
+
+
+ // 鑾峰彇瑙掕壊鍒楄〃
+ async getRoleList() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: '/Xt_UserGroup/list',
+ data: {
+ sWhere: '',
+ },
+ })
+
+ console.log('瑙掕壊鍒楄〃res: ', res);
+ if (res.data.count > 0) {
+ console.log('瑙掕壊鍒楄〃res.data.data: ', res.data.data);
+ // 灏嗘帴鍙h繑鍥炵殑鏁版嵁杞崲涓� uni-data-select 闇�瑕佺殑鏍煎紡
+ this.roleOptions = res.data.data.map(item => {
+
+ return {
+ value: item.瑙掕壊 ,
+ text: item.瑙掕壊
+ };
+ });
+ this.$forceUpdate();
+ } else {
+ uni.showToast({
+ title: res.data.Message || '鑾峰彇瑙掕壊鍒楄〃澶辫触',
+ icon: 'none'
+ });
+ // 濡傛灉鎺ュ彛澶辫触锛屽彲浠ヨ缃粯璁ら�夐」
+ this.roleOptions = [];
+ }
+ } catch(err) {
+ uni.showToast({
+ title: err.message || '鑾峰彇瑙掕壊鍒楄〃寮傚父',
+ icon: 'none'
+ });
+ // 寮傚父鎯呭喌璁剧疆榛樿閫夐」
+ this.roleOptions = [];
+ }
+ },
+ //#endregion
+
+
+ toScanCode2() {
+ MpaasScan.scanCode((scanCode) => {
+ this.HBarCode = scanCode
+ GetMeesageByBarCode(scanCode)
+ })
+ },
+ GetMeesageByBarCode(HBarCode) {
+
+ // 鑾峰彇寰呯粍鎵樻潯鐮佸搴旂殑鏁版嵁
+ let sOldBarCode = this.HBarCode
+ let HDeleteFlag = sOldBarCode.substring(0, 1)
+ let sBarCode = sOldBarCode.slice(1)
+ if (HDeleteFlag == '*') {
+ if (!sBarCode) {
+ return uni.showToast({
+ icon: 'none',
+ title: '璇锋壂鎻忚鍒犻櫎鐨勬潯鐮�',
+ })
+ } else {
+ this.HBarCodeFocusRefresh()
+ }
+ CommonUtils.doRequest2({
+ url: '/WEBSController/set_DelPackUnionBill_Temp_Pack_Json',
+ data: {
+ "HInterID": this.hform.HInterID,
+ "HBarCode": sBarCode,
+ "HBillType": this.HBillType
+ },
+ resFunction: (res) => {
+ let {
+ data,
+ count,
+ Message
+ } = res.data
+ if (count == 1) {
+ CommonUtils.playSound(1)
+ //this.DisBillEntryList()
+ } else {
+ CommonUtils.playSound(0)
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ }
+ }
+ })
+ } else {
+ let sBarCode = this.HBarCode
+ if (!sBarCode) {
+ return uni.showToast({
+ icon: 'none',
+ title: '鏉$爜涓嶈兘涓虹┖锛岃鎵弿鏉$爜锛�',
+ })
+ }
+ CommonUtils.doRequest2({
+ url: '/Sc_EmployeeSignInNoteBillController/APP_Edit_json',
+ data: {
+ "HInterID": this.hform.HInterID,
+ "HBarCode": sBarCode,
+ },
+
+ resFunction: (res) => {
+ let {
+ data,
+ count,
+ Message
+ } = res.data
+ if (count == 1) {
+ CommonUtils.playSound(1)
+ //let data=res.data
+ console.log(sBarCode)
+ console.log(res.data.data[0])
+ console.log(res.data[1])
+ debugger
+ this.hform.HMouldID = data[0][0].妯″叿id
+ console.log("idwei", data[0][0].妯″叿id)
+ this.hform.HMouldNo = data[0][0].妯″叿缂栫爜
+ this.hform.HMouldName = data[0][0].妯″叿鍚嶇О
+ this.hform.HMouldState = data[0][0].妯″叿鐘舵��
+ this.listData = []
+ let tabledata = data[1][0]
+ if (data[1].length > 0) {
+ this.hform.HEquipID = tabledata.璁惧鍐呯爜
+ this.hform.HEquipName = tabledata.璁惧鍚嶇О
+ //
+ //this.hform.HSourceID = tabledata.HSourceID
+ this.hform.HMaterID = tabledata.HMaterID
+ //this.hform.HProcID = tabledata.HSourceInterID
+ for (let i = 0; i < data[1].length; i++) {
+ this.listData.push(Object.assign(data[1][i], {
+ index: i
+ }))
+ }
+ }
+
+
+ } else {
+ CommonUtils.playSound(0)
+ this.listData = []
+ this.HBarCodeFocusRefresh()
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ }
+ }
+ })
+ }
+ },
+ onRoleChange(e) {
+ console.log('閫変腑鐨勮鑹�:', this.hform.HRoles);
+ },
+
+
+ handleSelect(selected, array) {
+ this.selectedRows = array
+ },
+ handleSelectAll(selected, array) {
+ this.selectedRows = array
+ },
+ getMaxNo() {
+ CommonUtils.doRequest2({
+ url: "/WEBSController/GetMaxBillNoAndID_Json",
+ data: {
+ "HBillType": this.HBillType
+ },
+ resFunction: (d) => {
+ console.log('d: ', d);
+ let {
+ count,
+ data,
+ Message
+ } = d.data
+ if (count == 1) {
+ this.hform.HInterID = data[0].HInterID;
+ this.hform.HBillNo = data[0].HBillNo
+ } else {
+
+ uni.showModal({
+ title: "娓╅Θ鎻愮ず",
+ showCancel: false,
+ content: Message
+
+ })
+
+ }
+ }
+ })
+ },
+ submitPreCheck() {
+ if (CommonUtils.isEmpty(this.hform.HInterID)) {
+ uni.showToast({
+ icon: 'none',
+ title: '鍗曟嵁鍐呯爜鑾峰彇澶辫触锛岄敊璇殑鍗曟嵁鍐呯爜锛�'
+ })
+ return false
+ }
+ if (CommonUtils.isEmpty(this.hform.HBillNo)) {
+ uni.showToast({
+ icon: 'none',
+ title: '鍗曟嵁鍙疯幏鍙栧け璐ワ紝閿欒鐨勫崟鎹彿锛�'
+ })
+ return false
+ }
+ if (this.listData.length < 1) {
+ uni.showToast({
+ icon: 'none',
+ title: '娌℃湁鎵爜淇℃伅锛岃鍏堟壂鎻忔潯鐮侊紝纭鏃犺鍚庡啀鎻愪氦锛�'
+ })
+ return false
+ }
+ return true
+ },
+ cmdDelete() {
+ console.log('this.selectedRows: ', this.selectedRows);
+ if (this.selectedRows.length != 1) {
+ return uni.showToast({
+ icon: 'none',
+ title: '璇烽�夋嫨涓�琛岃褰曪紝杩涜鍒犻櫎锛�'
+ })
+ }
+ uni.showModal({
+ title: '鍒犻櫎纭',
+ content: '纭瑕佸垹闄ら�変腑琛屾墍鏈夋壂鐮佽褰曪紵鍒犻櫎鍚庡皢涓嶅彲鎭㈠!',
+ success: () => {
+ if (confirm) {
+ CommonUtils.doRequest2({
+ url: '/WEBSController/set_DelPackUnionBill_Temp_Pack_Json',
+ data: {
+ HInterID: this.hform.HInterID,
+ HBillType: this.HBillType,
+ HBarCode: this.selectedRows[0].HBarCode
+ },
+ resFunction: (res) => {
+ let {
+ data,
+ count,
+ Message
+ } = res.data
+ if (count == 1) {
+ CommonUtils.playSound(1)
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ //this.DisBillEntryList()
+ } else {
+ CommonUtils.playSound(0)
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ }
+ }
+ })
+ }
+ }
+ })
+ },
+
+ async cmdSubmit() {
+ let checkRes = this.submitPreCheck()
+ if (!checkRes) {
+ return
+ }
+ this.EnableSubmit = false
+
+ try {
+ debugger
+ this.hform.HInterID = 0
+ for (let i = 0; i < this.hform.HRoles.length; i++) {
+ this.hform.HSignRemark = this.hform.HSignRemark + this.hform.HRoles[i] + ","
+ }
+ let oMain = JSON.stringify(this.hform);
+ console.log("鎻愪氦鐨刯son", oMain)
+ // this.HBillSub[0].HRepairCheckID = this.hform.HRepairCheckMainID
+ // this.HBillSub[0].HManagerID = this.hform.HManagerID
+ // this.HBillSub[0].HRepairCheckContent = this.hform.HRepairCheckMainContent
+ // let sSubStr = JSON.stringify(this.HBillSub);
+ let sMainSub = oMain + ';' + getUserInfo()['OrganizationID'] + ';' + getUserInfo()['Czymc'];
+ await CommonUtils.doRequest2({
+ url: "/Sc_EmployeeSignInNoteBillController/SaveBill_APP",
+ data: {
+ "msg": sMainSub
+ },
+ method: "POST",
+ resFunction: async (res) => {
+ let {
+ data,
+ count,
+ Message
+ } = res.data
+ if (count == 1) {
+ // 绛夊緟鏁版嵁鑾峰彇瀹屾垚鍚庡啀鏄剧ず琛ㄦ牸
+ await this.getResultTableData();
+ } else {
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ this.EnableSubmit = true;
+ }
+ }
+ })
+ } catch (error) {
+ console.error('鎻愪氦澶辫触:', error);
+ this.EnableSubmit = true;
+ }
+ },
+ getResultTableData() {
+ CommonUtils.doRequest2({
+ url: '/Sc_EmployeeSignInNoteBillController/GetListPage',
+ data: {
+ "sWhere": 'and HEquipID=' + this.hform.HEquipID,
+ "user": 'admin'
+ },
+ resFunction: (res) => {
+ console.log('缁撴灉鎺ュ彛杩斿洖:', res);
+ let {
+ data,
+ count,
+ Message
+ } = res.data
+ if (count == 1) {
+ console.log('鑾峰彇鍒扮粨鏋滄暟鎹�:', data);
+ this.resultTableData = data;
+ this.showResultTable = true; // 鏄剧ず缁撴灉琛ㄦ牸
+ console.log('showResultTable 璁剧疆涓�:', this.showResultTable);
+ } else {
+ uni.showToast({
+ icon: 'none',
+ title: Message || '鑾峰彇鏁版嵁澶辫触'
+ })
+ this.EnableSubmit = true;
+ }
+ }
+ })
+ },
+ // 鏂板鏂规硶
+ toAddNew() {
+ // 閲嶇疆鏁版嵁锛屽噯澶囨柊澧�
+ this.showResultTable = false;
+ this.EnableSubmit = true;
+ this.resultTableData = [];
+ this.HBarCode_Pack = '';
+ this.HBarCode = '';
+ this.listData = [];
+ this.getMaxNo(); // 閲嶆柊鑾峰彇鏂扮殑鍗曟嵁鍙�
+ this.HBarCodePackFocusRefresh(); // 閲嶆柊鑱氱劍
+ },
+
+ // 鍏抽棴缁撴灉琛ㄦ牸
+ closeResultTable() {
+ this.showResultTable = false;
+ uni.navigateBack();
+ },
+ cmdExit() {
+ uni.navigateBack()
+ },
+ //鎵撳嵃妯″潡鍑芥暟
+ /**
+ * 鎵撳嵃鍑芥暟
+ */
+ async search() {
+ // #ifndef APP-PLUS
+ uni.showModal({
+ content: "涓嶆敮鎸佽摑鐗欐墦鍗板姛鑳斤紝璇峰垏鎹㈢Щ鍔ㄨ澶�...",
+ })
+ return
+ // #endif
+ if (this.$printer.isConnected() === false) {
+ this.$refs.labelPrinter.openPopup()
+ } else {
+ let printContent = []
+ let printInfoBuffer = []
+ let count = 0
+ uni.showLoading()
+ console.log('this.listData: ', this.printListData);
+ for (let listOne of this.printListData) {
+ let Message = await this.getPrintTemplate(listOne.HInterID, listOne.HItemID)
+ printContent.push(Message)
+ count++;
+ if (count == 10) {
+ printInfoBuffer.push(printContent.join("\r\n"))
+ count = 0
+ printContent = []
+ }
+ }
+ uni.hideLoading()
+ printInfoBuffer.push(printContent.join("\r\n"))
+ this.printInfo = JSON.stringify(printInfoBuffer)
+ printInfoBuffer = []
+
+ await this.$nextTick(() => {
+ this.$refs.labelPrinter.execPrint()
+ })
+ }
+ },
+ /** 鑾峰彇鎵撳嵃妯℃澘
+ * @param {Object} HInterID
+ * @param {Object} HItemID
+ */
+ async getPrintTemplate(HInterID, HItemID) {
+ console.log('data: ', {
+ HOrginationName: uni.getStorageSync("Organization"),
+ HBillSubType: this.HBillType,
+ HInterID: HInterID,
+ HItemID: HItemID,
+ })
+ return new Promise((resolve, reject) => {
+ CommonUtils.doRequest2({
+ url: "/Sc_BarCode/Get_BarCodePrintCode_CPCL",
+ data: {
+ HOrginationName: uni.getStorageSync("Organization"),
+ HBillSubType: this.HBillType,
+ HInterID: HInterID,
+ HItemID: HItemID,
+ },
+ resFunction: (res) => {
+ let {
+ Message,
+ count
+ } = res.data
+ if (count == 1) {
+ console.log('Message: ', Message);
+ resolve(Message)
+ } else {
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ reject();
+ }
+ },
+ errFunction: (err) => {
+ reject();
+ },
+
+ })
+ })
+ },
+ /**
+ * 鏌ユ壘鎵撳嵃鏈�
+ */
+ async searchLabelPrinter() {
+ // 鏌ユ壘鎵撳嵃鏈�
+ var that = this
+ // 浣跨敤openBluetoothAdapter 鎺ュ彛锛屽厤鍘讳富鍔ㄧ敵璇锋潈闄愮殑楹荤儲
+ uni.openBluetoothAdapter({
+ success: async (res) => {
+ await this.checkPermission();
+ console.log('start discovery devices');
+ this.discoveredDevices = [];
+ console.log(res)
+ bluetoothTool.discoveryNewDevice();
+ this.maskShow = true
+ },
+ fail: async (e) => {
+ console.error(e)
+ switch (e.code) {
+ case "10009":
+ this.showToast("姝よ澶囦笉鏀寔璁惧鎼滅储鍔熻兘!");
+ break;
+ default:
+ console.error(e);
+ }
+ }
+ })
+
+ },
+ onDevice(device) {
+ console.log("鐩戝惉瀵绘壘鍒版柊璁惧鐨勪簨浠�---------------")
+ console.log(device)
+ if (typeof device === 'undefined') return;
+ if (typeof device.name === 'undefined') return;
+ console.log(device.name);
+ if (device.name === '') return;
+ if (device.name === null) return;
+ if (device.name.toUpperCase().endsWith('_BLE') ||
+ device.name.toUpperCase().endsWith('-LE') ||
+ device.name.toUpperCase().endsWith('-BLE')) return;
+ const isDuplicate = this.discoveredDevices.find(item => item.address === device.address);
+ if (isDuplicate) return;
+ this.discoveredDevices.push(device);
+ },
+ connectBT(device) {
+ const vm = this;
+ uni.showLoading({
+ title: '杩炴帴涓�'
+ });
+ bluetoothTool.connDevice(device.address, (result) => {
+ console.log(result)
+ uni.hideLoading()
+ if (result) {
+ // // console.log(result);
+ bluetoothTool.cancelDiscovery();
+ // console.log(vm.$printer)
+ vm.$printer.init(new FakeConnectedDevice());
+ vm.connectedDeviceId = device.address;
+ uni.showToast({
+ icon: 'none',
+ title: '杩炴帴鎴愬姛'
+ })
+ this.maskShow = false
+ } else {
+ uni.showToast({
+ icon: 'none',
+ title: '杩炴帴澶辫触'
+ })
+ }
+ });
+ },
+ stopSearchBT() {
+ console.log("鍋滄鎼滃闄勮繎鐨勮摑鐗欏鍥磋澶�---------------")
+ bluetoothTool.cancelDiscovery();
+ },
+ closeBluetooth() {
+ console.log("鍋滄钃濈墮杩炴帴")
+ const vm = this;
+ if (vm.connectedDeviceId != '') {
+ bluetoothTool.closeBtSocket();
+ vm.connectedDeviceId = "";
+ }
+ },
+
+ },
+ computed: {
+ listTableHeight: {
+ get() {
+ return this.bottomBtnTop - this.listTableTop - 10
+ }
+ }
+ },
+ async onReady() {
+ // #ifndef MP-WEIXIN
+ let query = uni.createSelectorQuery().in(this)
+ query.select("#bottom-btn")
+ .boundingClientRect((data) => {
+ if (data) {
+ this.bottomBtnTop = data.top
+ } else {
+ console.log("鏈壘鍒�#bottom-btn鑺傜偣");
+ }
+ })
+ .exec();
+ query.select("#list-table")
+ .boundingClientRect((data) => {
+ if (data) {
+ this.listTableTop = data.top
+ } else {
+ console.log("鏈壘鍒�#list-table鑺傜偣");
+ }
+ })
+ .exec();
+ // #endif
+ },
+ onLoad(e) {
+ // 1涓� 瑁呯 2涓� 缁勬墭
+ this.BarCodeType = e.BarCodeType || 1
+ this.OperationType = e.OperationType || 1
+
+ this.getHDeptList()
+ this.getHEmpList()
+ this.getHGroupList()
+ this.getHShiftsList()
+ this.getHSourceList()
+ this.getHProcList()
+ this.getRoleList()
+ if (this.OperationType == 1) {
+ this.getMaxNo()
+ } else if (this.OperationType == 2) {
+ // this.GetMeesageByBarCode_Pack(this.HBarCode_Pack)
+ //this.DisBillEntryList()
+ this.tabs = 0
+ }
+
+
+ // 鍏夋爣榛樿鑱氱劍鍦ㄦ墭鏉$爜涓�
+ this.HBarCodePackFocusRefresh()
+ }
+ }
+</script>
+
+<style lang="scss">
+ input {
+ width: inherit;
+ padding: 8rpx 20rpx;
+ font-size: 30rpx;
+ }
+
+ .uni-mask {
+ position: fixed;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ z-index: 3;
+ display: flex;
+ align-items: center;
+ width: 100%;
+ background: rgba(0, 0, 0, 0.6);
+ padding: 0 30rpx;
+ box-sizing: border-box;
+ }
+
+ .form {
+ display: flex;
+ flex-direction: column;
+ gap: 20rpx;
+
+ .form-base-info {
+ display: flex;
+ flex-direction: column;
+ gap: 10rpx;
+ box-sizing: border-box;
+ padding: 30rpx;
+ }
+
+ .bill-info {
+ display: flex;
+ flex-direction: column;
+ gap: 10rpx;
+ box-sizing: border-box;
+ padding: 16rpx 30rpx;
+ background-color: #fff;
+ }
+
+ .form-item {
+ display: flex;
+ align-items: center;
+ font-size: 30rpx;
+ padding: 6rpx 0;
+
+ .title {
+ width: 208rpx;
+
+ text {
+ color: red;
+ font-weight: bold;
+ }
+ }
+
+ .right {
+ flex: 1;
+ border-radius: 22rpx;
+ border: 1px solid #acacac;
+ }
+
+ .righton {
+ width: 450rpx;
+ border-radius: 22rpx;
+ border: 1px solid #e4e4e4;
+ background-color: #e4e4e4;
+ }
+
+ input {
+ // width: 100%;
+ padding: 8rpx 20rpx;
+ font-size: 30rpx;
+ }
+
+
+
+ textarea {
+ width: 98%;
+ padding: 8rpx 20rpx;
+ font-size: 30rpx;
+ }
+
+ }
+ }
+
+ .tabs {
+ width: 100%;
+ display: flex;
+ border-bottom: 1px solid #ddd;
+ margin: 20rpx 0;
+
+ view {
+ width: 25%;
+ font-size: 30rpx;
+ color: #555;
+ text-align: center;
+ padding: 16rpx 0;
+ }
+
+ .on {
+ color: #3a78ff;
+ font-weight: bold;
+ border-bottom: 3px solid #3a78ff;
+ }
+ }
+
+ .machine-info-container {
+ padding-left: 40rpx;
+ /* 鍚戝彸绉诲姩40rpx */
+ padding-right: 40rpx;
+ padding-top: 20rpx;
+
+ .form-item {
+ display: flex;
+ align-items: center;
+ font-size: 30rpx;
+ padding: 10rpx 0;
+
+ .title {
+ width: 220rpx;
+ /* 绋嶅井鍔犲鏍囬瀹藉害 */
+ min-width: 220rpx;
+ color: #333;
+ }
+
+ .righton {
+ flex: 1;
+ border-radius: 22rpx;
+ border: 1px solid #e4e4e4;
+ background-color: #f8f8f8;
+
+ input {
+ width: 100%;
+ padding: 12rpx 20rpx;
+ font-size: 30rpx;
+ color: #666;
+ }
+ }
+ }
+ }
+
+ .bottom-btn {
+ width: 100%;
+ box-sizing: border-box;
+ // height: 120rpx;
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ background-color: #fff;
+ box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
+ padding: 30rpx 40rpx 40rpx 40rpx;
+ display: flex;
+ flex-direction: row;
+ gap: 10rpx;
+
+ button {
+ border-radius: 50rpx;
+ width: 180rpx;
+ height: 66rpx;
+ line-height: 66rpx;
+ font-size: 28rpx;
+ }
+
+ .btn-a {
+ background-color: #3A78FF;
+ color: #fff;
+ }
+
+ .btn-b {
+ background-color: #41a863;
+ color: #fff;
+ }
+
+ .btn-c {
+ background-color: #acacac;
+ color: #fff;
+ // position: absolute;
+ // right: 120rpx;
+ }
+
+ .btn-d {
+ background-color: #ff8901;
+ color: #fff;
+ }
+ }
+
+ .result-modal {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ z-index: 2;
+
+ .modal-mask {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: rgba(0, 0, 0, 0.5);
+ }
+
+ .modal-content {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ width: 90%;
+ max-width: 700rpx;
+ background: #fff;
+ border-radius: 20rpx;
+ overflow: hidden;
+
+ .modal-header {
+ padding: 30rpx;
+ border-bottom: 1px solid #eee;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+
+ .modal-title {
+ font-size: 32rpx;
+ font-weight: bold;
+ }
+ }
+
+ .modal-body {
+ padding: 30rpx;
+ max-height: 60vh;
+ overflow-y: auto;
+ }
+
+ .modal-footer {
+ padding: 30rpx;
+ border-top: 1px solid #eee;
+ display: flex;
+ align-items: center;
+ }
+ }
+ }
+</style>
\ No newline at end of file
diff --git a/pages/EmployeeRecords/EmployeeRecordsBillList.vue b/pages/EmployeeRecords/EmployeeRecordsBillList.vue
new file mode 100644
index 0000000..7924e7f
--- /dev/null
+++ b/pages/EmployeeRecords/EmployeeRecordsBillList.vue
@@ -0,0 +1,558 @@
+<template>
+ <view>
+ <view class="page-header">
+ <view class="search-item">
+ <view class="left">鏃ユ湡闂撮殧</view>
+ <view class="right">
+ <picker mode="selector" :value="curDateGap" :range="dateRangePicker"
+ @change="onDateRangePickerChangeHandler">
+ <input disabled v-model="curDateGap" placeholder="璇烽�夋嫨鏃ユ湡闂撮殧" />
+ <view class="picker-overlay"></view>
+ </picker>
+ </view>
+ </view>
+ <view class="search-item">
+ <view class="left">寮�濮嬫棩鏈�</view>
+ <view class="right">
+ <uni-datetime-picker :clear-icon="false" type="date" v-model="startDate"
+ :disabled="!enableCustomDateRange">
+ <view class="datetime-picker-inner"
+ :class="enableCustomDateRange?'font__enable':'font__disable'">
+ <text>{{ startDate }}</text>
+ </view>
+ </uni-datetime-picker>
+ </view>
+ </view>
+ <view class="search-item">
+ <view class="left">缁撴潫鏃ユ湡</view>
+ <view class="right">
+ <uni-datetime-picker :clear-icon="false" type="date" v-model="endDate"
+ :disabled="!enableCustomDateRange">
+ <view class="datetime-picker-inner"
+ :class="enableCustomDateRange?'font__enable':'font__disable'">{{ endDate }}</view>
+ </uni-datetime-picker>
+ </view>
+ </view>
+ <view class="search-item">
+ <view class="left">鍗曟嵁鍙�</view>
+ <view class="right">
+ <input type="text" auto-focus v-model="HBillNo" />
+ </view>
+ </view>
+
+ <view class="button-groups">
+ <button type="default" size="mini" class="btn-b" @tap.stop="onAddClickHandler">鏂板</button>
+ <button type="default" size="mini" class="btn-c" @tap.stop="onSearchClickHandler">鏌ヨ</button>
+ <button type="default" size="mini" class="btn-a" @tap.stop="onResetClickHandler">閲嶇疆</button>
+ </view>
+ </view>
+ <view style="width: 100%;height: 16rpx;background-color: #e5e5e5;"></view>
+ <scroll-view id="pageContent" scroll-y class="page-content" :style="{height: pageContentHeight + 'px'}">
+ <view v-for="(item,index) in listData" :key="index">
+ <uni-card :title="item.浜у搧妯″叿" :extra="item.鍗曟嵁鍙�" style="margin: 10px;"
+ @tap="showDetail = showDetail==index?-1:index">
+ <view class="card-detail">
+ <view class="detail" v-if="item.璁惧缂栫爜">
+ <text>璁惧缂栫爜锛�</text>{{item.璁惧缂栫爜}}
+ </view>
+ <view class="detail" v-if="item.璁惧鍚嶇О">
+ <text>璁惧鍚嶇О锛�</text>{{item.璁惧鍚嶇О}}
+ </view>
+ <view class="detail" v-if="item.浜哄憳浠g爜">
+ <text>浜哄憳浠g爜锛�</text>{{item.浜哄憳浠g爜}}
+ </view>
+ <view class="detail" v-if="item.浜哄憳鍚嶇О">
+ <text>浜哄憳鍚嶇О锛�</text>{{item.浜哄憳鍚嶇О}}
+ </view>
+ <view class="detail" v-if="item.绛惧埌瑙掕壊">
+ <text>绛惧埌瑙掕壊锛�</text>{{item.绛惧埌瑙掕壊}}
+ </view>
+ <view class="detail" v-if="item.鐢熶骇璧勬簮鍚嶇О">
+ <text>鐢熶骇璧勬簮鍚嶇О锛�</text>{{item.鐢熶骇璧勬簮鍚嶇О}}
+ </view>
+ <view class="detail" v-if="item.宸ュ簭鍚嶇О">
+ <text>宸ュ簭鍚嶇О锛�</text>{{item.宸ュ簭鍚嶇О}}
+ </view>
+ <view class="detail" v-if="item.鐝粍鍚嶇О">
+ <text>鐝粍鍚嶇О锛�</text>{{item.鐝粍鍚嶇О}}
+ </view>
+ <view class="detail" v-if="item.鐝鍚嶇О">
+ <text>鐝鍚嶇О锛�</text>{{item.鐝鍚嶇О}}
+ </view>
+ </view>
+ <view class="card-detail" v-if="showDetail == index">
+ <view class="detail" v-if="item.鍒跺崟浜�">
+ <text>鍒跺崟浜猴細</text>{{item.鍒跺崟浜簘}
+ </view>
+ <view class="detail" v-if="item.鍒跺崟鏃ユ湡">
+ <text>鍒跺崟鏃ユ湡锛�</text>{{item.鍒跺崟鏃ユ湡.substr(0,10)}}
+ </view>
+ <view class="detail" v-if="item.瀹℃牳浜�">
+ <text>瀹℃牳浜猴細</text>{{item.瀹℃牳浜簘}
+ </view>
+ <view class="detail" v-if="item.瀹℃牳鏃ユ湡">
+ <text>瀹℃牳鏃ユ湡锛�</text>{{item.瀹℃牳鏃ユ湡.substr(0,10)}}
+ </view>
+ <view class="detail" v-if="item.淇敼浜�">
+ <text>淇敼浜猴細</text>{{item.淇敼浜簘}
+ </view>
+ <view class="detail" v-if="item.淇敼鏃ユ湡">
+ <text>淇敼鏃ユ湡锛�</text>{{item.淇敼鏃ユ湡.substr(0,10)}}
+ </view>
+ <view class="detail" v-if="item.鍏抽棴浜�">
+ <text>鍏抽棴浜猴細</text>{{item.鍏抽棴浜簘}
+ </view>
+ <view class="detail" v-if="item.鍏抽棴鏃ユ湡">
+ <text>鍏抽棴鏃ユ湡锛�</text>{{item.鍏抽棴鏃ユ湡.substr(0,10)}}
+ </view>
+ <view class="detail" v-if="item.浣滃簾浜�">
+ <text>浣滃簾浜猴細</text>{{item.浣滃簾浜簘}
+ </view>
+ <view class="detail" v-if="item.浣滃簾鏃ユ湡">
+ <text>浣滃簾鏃ユ湡锛�</text>{{item.浣滃簾鏃ユ湡.substr(0,10)}}
+ </view>
+ </view>
+
+
+ <view class="more" v-if="showDetail == index && operations != index">
+ <view class="part" style="border-right: 1px solid #eee;">
+ <uni-icons type="top" style="color: #888;margin-right: 10rpx;" size="14"></uni-icons>鏀惰捣
+ </view>
+ <view class="part" @tap.stop="operations = operations==index?-1:index">
+ <uni-icons type="more-filled" style="color: #888;margin-right: 10rpx;"
+ size="14"></uni-icons>鎿嶄綔
+ </view>
+ </view>
+ <view class="more" v-if="showDetail != index && operations != index">
+ <view class="part" style="border-right: 1px solid #eee;">
+ <uni-icons type="bottom" style="color: #888;margin-right: 10rpx;" size="14"></uni-icons>鏇村淇℃伅
+ </view>
+ <view class="part" @tap.stop="operations = operations==index?-1:index">
+ <uni-icons type="more-filled" style="color: #888;margin-right: 10rpx;"
+ size="14"></uni-icons>鎿嶄綔
+ </view>
+ </view>
+
+ <view class="op" v-if="operations == index">
+ <!-- <button class="op3" size="mini" plain @tap.stop="edit(item)">缂栬緫</button> -->
+ <button class="op4" size="mini" plain @tap.stop="del(item)">鍒犻櫎</button>
+ <button class="op5" size="mini" plain @tap.stop="operations = -1">鍙栨秷鎿嶄綔</button>
+ </view>
+ </uni-card>
+ </view>
+ <view class="over" v-if="listData.length == 0">鏆傛棤鏁版嵁</view>
+ </scroll-view>
+ <!-- 鍒嗛〉鍣� -->
+ <view class="page-footer">
+ <uni-pagination id="pagination" title="鏍囬鏂囧瓧" v-model="pageMeta.curPage" :pageSize="pageMeta.size"
+ :total="pageMeta.total" @change="onPageChangeHandler"></uni-pagination>
+ </view>
+ </view>
+</template>
+
+<script>
+ import dayjs from 'dayjs'
+ import {
+ CommonUtils
+ } from '@/utils/common.js'
+ import {
+ getUserInfo
+ } from "../../utils/auth";
+ export default {
+ data() {
+ return {
+ // 璁$畻鍗$墖鍒楄〃楂樺害
+ pagination_top: 0,
+ pageContent_top: 0,
+ // 鍒嗛〉鎺у埗
+ pageMeta: {
+ curPage: 1,
+ size: 50,
+ total: 0,
+ },
+ // 婊氬姩鎺у埗
+ scrollTop: 0,
+ old: {
+ scrollTop: 0
+ },
+
+ dateRangePicker: ["浠绘剰闂撮殧", "浠婂ぉ", "杩戜袱澶�", "杩戜笁澶�", "杩戝洓澶�", "杩戜簲澶�", "杩戝叚澶�", "杩戜竷澶�", "杩�30澶�"],
+ curDateGap: "杩戜竷澶�",
+ enableCustomDateRange: false,
+ startDate: dayjs(new Date()).subtract(7, 'day').format('YYYY-MM-DD'),
+ endDate: dayjs(new Date()).format('YYYY-MM-DD'),
+ HBillNo: '',
+
+ listData: [],
+ showDetail: -1,
+ operations: -1,
+ }
+ },
+ computed: {
+ pageContentHeight: {
+ get() {
+ return (this.pagination_top - this.pageContent_top)
+ }
+ },
+ },
+ onLoad() {
+ this.onSearchClickHandler()
+ },
+ onPullDownRefresh() {
+ this.onSearchClickHandler()
+ },
+ async onReady() {
+ // #ifndef MP-WEIXIN
+ let query = uni.createSelectorQuery().in(this)
+ query.select("#pagination")
+ .boundingClientRect((data) => {
+ if (data) {
+ this.pagination_top = data.top
+ } else {
+ console.log("鏈壘鍒�#pagination鑺傜偣");
+ }
+ })
+ .exec();
+ query.select("#pageContent")
+ .boundingClientRect((data) => {
+ if (data) {
+ this.pageContent_top = data.top
+ } else {
+ console.log("鏈壘鍒�#pageContent鑺傜偣");
+ }
+ })
+ .exec();
+ // #endif
+
+ },
+ methods: {
+ goTop: function(e) {
+ // 瑙e喅view灞備笉鍚屾鐨勯棶棰�
+ this.scrollTop = this.old.scrollTop
+ this.$nextTick(function() {
+ this.scrollTop = 0
+ });
+ },
+ onDateRangePickerChangeHandler({
+ detail
+ }) {
+ this.enableCustomDateRange = false
+ this.curDateGap = this.dateRangePicker[detail.value]
+ let date = new Date()
+ switch (this.curDateGap) {
+ case "浠婂ぉ":
+ this.startDate = dayjs(date).format("YYYY-MM-DD")
+ break;
+ case "杩戜竴澶�":
+ this.startDate = dayjs(date).subtract(1, 'day').format("YYYY-MM-DD")
+ break;
+ case "杩戜袱澶�":
+ this.startDate = dayjs(date).subtract(2, 'day').format("YYYY-MM-DD")
+ break;
+ case "杩戜笁澶�":
+ this.startDate = dayjs(date).subtract(3, 'day').format("YYYY-MM-DD")
+ break;
+ case "杩戝洓澶�":
+ this.startDate = dayjs(date).subtract(4, 'day').format("YYYY-MM-DD")
+ break;
+ case "杩戜簲澶�":
+ this.startDate = dayjs(date).subtract(5, 'day').format("YYYY-MM-DD")
+ break;
+ case "杩戝叚澶�":
+ this.startDate = dayjs(date).subtract(6, 'day').format("YYYY-MM-DD")
+ break;
+ case "杩戜竷澶�":
+ this.startDate = dayjs(date).subtract(7, 'day').format("YYYY-MM-DD")
+ break;
+ case "杩�30澶�":
+ this.startDate = dayjs(date).subtract(30, 'day').format("YYYY-MM-DD")
+ break;
+ }
+ if (this.curDateGap == '浠绘剰闂撮殧') {
+ this.enableCustomDateRange = true
+ }
+ },
+ onSearchClickHandler() {
+ let sWhere = ""
+ if (this.startDate) {
+ sWhere += " and CONVERT(varchar(100),鏃ユ湡, 23) >= '" + this.startDate + "'";
+ }
+ if (this.endDate) {
+ sWhere += " and CONVERT(varchar(100),鏃ユ湡, 23) <= '" + this.endDate + "'";
+ }
+ if (this.HBillNo) {
+ sWhere += " and 鍗曟嵁鍙� like '%" + this.HBillNo + "%'";
+ }
+ this.get_DisplayPage(sWhere);
+ },
+ clear() {
+ this.curDateGap = "杩戜竷澶�"
+ this.enableCustomDateRange = false
+ this.startDate = dayjs(new Date()).subtract(7, 'day').format('YYYY-MM-DD')
+ this.endDate = dayjs(new Date()).format('YYYY-MM-DD')
+ this.HBillNo = ''
+ },
+ async onResetClickHandler() {
+ this.clear()
+ await this.$nextTick()
+ this.onSearchClickHandler()
+ },
+ get_DisplayPage(sWhere) {
+ CommonUtils.doRequest2({
+ url: '/Sc_EmployeeSignInNoteBillController/GetListPage',
+ data: {
+ "sWhere": sWhere,
+ "user": getUserInfo()["Czymc"],
+ },
+ resFunction: (res) => {
+ let {
+ data,
+ Message,
+ count
+ } = res.data
+ console.log('res.data: ', res.data);
+ this.listData = data;
+ this.pageMeta.total = count
+ uni.stopPullDownRefresh()
+ }
+ })
+ },
+ onPageChangeHandler() {
+ this.onSearchClickHandler()
+ this.goTop()
+ },
+ // 鏂板
+ onAddClickHandler() {
+ uni.navigateTo({
+ url: "/pages/EmployeeRecords/EmployeeRecordsBill?operationType=1"
+ })
+ },
+ //缂栬緫鐐规璁板綍鍗�
+ edit(item) {
+ console.log(item)
+ uni.navigateTo({
+ url: '/pages/MJGL/mujudianjianjiludan/Sc_MouldDotCheckBill?operationType=3&hmainid=' + item.hmainid
+ })
+ },
+ //鍒犻櫎鐐规璁板綍鍗�
+ del(item) {
+ uni.showModal({
+ title: '鍒犻櫎纭',
+ content: '纭瑕佸垹闄ゅ悧锛屽垹闄ゅ悗涓嶈兘鎭㈠',
+ success: (res) => {
+ if (res.confirm) {
+ console.log('鐢ㄦ埛鐐瑰嚮纭畾');
+ CommonUtils.doRequest2({
+ url: '/Sc_EmployeeSignInNoteBillController/deleteBill',
+ data: {
+ HItemID: item['InterID'],
+ user: getUserInfo()['Czymc']
+ },
+ resFunction: (res) => {
+ let {
+ data,
+ count,
+ Message
+ } = res.data
+ if (count == 1) {
+ uni.showToast({
+ icon: count === 1 ? 'success' : 'error',
+ title: Message,
+ duration: 2000
+ });
+
+ // 绛夊緟鎻愮ず鏄剧ず瀹屾垚鍐嶅埛鏂�
+ setTimeout(() => {
+ this.onSearchClickHandler();
+ }, 2000);
+ } else {
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ }
+ }
+ })
+ } else if (res.cancel) {
+ console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
+ }
+ }
+ });
+ }
+ },
+ }
+</script>
+
+<style lang="scss">
+ .page-header {
+ display: flex;
+ box-sizing: border-box;
+ padding: 20rpx;
+ flex-direction: column;
+ gap: 10rpx;
+ font-size: 32rpx;
+
+ .search-item {
+ display: flex;
+ flex-direction: row;
+ gap: 10rpx;
+ justify-content: center;
+ align-items: center;
+
+ .left {
+ width: 4em;
+ }
+
+ .right {
+ flex: 1;
+ position: relative;
+ border-radius: 22rpx;
+ border: 1px solid #acacac;
+ display: flex;
+ padding: 4rpx 10rpx;
+
+ picker {
+ width: 100%;
+ }
+ }
+ }
+
+ input {
+ width: inherit;
+ padding: 8rpx 20rpx;
+ font-size: 30rpx;
+ }
+
+ .datetime-picker-inner {
+ padding: 8rpx 20rpx;
+ font-size: 30rpx;
+ display: flex;
+ align-items: center;
+ }
+
+ .font__enable {
+ color: #000;
+ }
+
+ .font__disable {
+ color: #cccccc;
+ }
+ }
+
+ .button-groups {
+ box-sizing: border-box;
+ padding: 10rpx 0 0 0;
+ display: flex;
+ flex-direction: row;
+ gap: 10rpx;
+ justify-content: space-between;
+
+ button {
+ border-radius: 50rpx;
+ width: 180rpx;
+ height: 66rpx;
+ line-height: 66rpx;
+ font-size: 28rpx;
+ }
+
+ .btn-a {
+ background-color: #acacac;
+ color: #fff;
+ }
+
+ .btn-b {
+ background-color: #41a863;
+ color: #fff;
+ }
+
+ .btn-c {
+ background-color: #3a78ff;
+ color: #fff;
+ }
+ }
+
+ .page-content {
+ // height: 40vh;
+ box-sizing: border-box;
+ padding: 10rpx 0;
+
+ .card-detail {
+ width: 100%;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ line-height: 120%;
+
+ .detail {
+ // width: 50%;
+ font-size: 26rpx;
+ margin-bottom: 12rpx;
+ color: #555;
+ margin-right: 20rpx;
+
+ text {
+ color: #999;
+ font-size: 26rpx;
+ }
+ }
+ }
+
+ .more {
+ color: #888;
+ font-size: 24rpx;
+ display: flex;
+ border-top: 1px solid #eee;
+ padding-top: 20rpx;
+
+ .part {
+ width: 50%;
+ text-align: center;
+ }
+ }
+
+ .op {
+ display: flex;
+ justify-content: space-around;
+ margin-top: 20rpx;
+
+ button {
+ padding: 0;
+ width: 150rpx;
+ font-size: 25rpx;
+ }
+
+ .op1 {
+ border: 1px solid #41a863;
+ color: #41a863;
+ }
+
+ .op2 {
+ border: 1px solid #d98d00;
+ color: #d98d00;
+ }
+
+ .op3 {
+ border: 1px solid #3a78ff;
+ color: #3a78ff;
+ }
+
+ .op4 {
+ border: 1px solid #da0000;
+ color: #da0000;
+ }
+
+ .op5 {
+ border: 1px solid #888;
+ color: #888;
+ }
+ }
+ }
+
+ .page-footer {
+ position: fixed;
+ bottom: 0;
+ width: 100%;
+ box-sizing: border-box;
+ padding: 32rpx 40rpx;
+ }
+</style>
\ No newline at end of file
diff --git a/pages/MJGL/Sb_EquipConkBook/Sb_EquipConkBookBill.vue b/pages/MJGL/Sb_EquipConkBook/Sb_EquipConkBookBill.vue
new file mode 100644
index 0000000..cb66841
--- /dev/null
+++ b/pages/MJGL/Sb_EquipConkBook/Sb_EquipConkBookBill.vue
@@ -0,0 +1,816 @@
+<template>
+ <view>
+ <view class="tabs" id="tabs">
+ <view :class="tabs == 0 ? 'on':''" @tap="tabs = 0">鍩烘湰淇℃伅</view>
+ <view :class="tabs == 2 ? 'on':''" @tap="tabs = 2">鍏朵粬淇℃伅</view>
+ </view>
+ <!-- 鍩烘湰淇℃伅 -->
+ <template v-if="tabs == 0">
+ <view class="form" :style="{
+ height: containerHeight + 'px',
+ overflow: 'auto'
+ }">
+ <view class="form-item">
+ <view class="title">璁惧鏉$爜:</view>
+ <view :class="enableEdit?'right':'righton'">
+ <input v-model="hform.HBarCode" :disabled="!enableEdit"
+ @confirm="GetMessageByBarCode(hform.HBarCode)" placeholder="璇疯緭鍏�(鎴栨壂鎻�)璁惧鏉$爜" />
+ </view>
+ <view class="icon-wrapper">
+ <uni-icons type="scan" size="20" @click="toScanCode"></uni-icons>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">寮�濮嬫椂闂�:</view>
+ <view class="right">
+ <uni-datetime-picker type="datetime" :clear-icon="false" v-model="hform.HRepairPlanBeginDate">
+ <input :value="hform.HConkBeginDate" />
+ </uni-datetime-picker>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title required">鏁呴殰绫诲埆:</view>
+ <zxz-uni-data-select required class="right" :localdata="HConkTypeList" dataKey="鏁呴殰绫诲埆鍚嶇О"
+ dataValue="hitemid" v-model="hform.HConkTypeID">
+
+ </zxz-uni-data-select>
+ <!-- <input disabled v-model="hform.HDeptName" placeholder="璇烽�夋嫨閮ㄩ棬" /> -->
+ </view>
+ <view class="form-item">
+ <view class="title required">鏁呴殰鍘熷洜:</view>
+ <zxz-uni-data-select required class="right" :localdata="HConkReasonList" dataKey="HName"
+ dataValue="HItemID" v-model="hform.HConkReasonID">
+ </zxz-uni-data-select>
+ <!-- <input disabled v-model="hform.HDeptName" placeholder="璇烽�夋嫨閮ㄩ棬" /> -->
+ </view>
+ <view class="form-item">
+ <view class="title">鏁呴殰鎻忚堪:</view>
+ <view class="right">
+ <textarea v-model="hform.HExplanation" placeholder="璇疯緭鍏ユ晠闅滄弿杩�" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">鍗曟嵁鍙�:</view>
+ <view class="righton">
+ <input disabled v-model="hform.HBillNo" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">鍗曟嵁鏃ユ湡:</view>
+ <view class="righton">
+ <input disabled v-model="hform.HDate" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title required">閮ㄩ棬:</view>
+ <zxz-uni-data-select required class="right" :localdata="HDeptList" dataKey="閮ㄩ棬鍚嶇О"
+ dataValue="HItemID" v-model="hform.HDeptID">
+
+ </zxz-uni-data-select>
+ <!-- <input disabled v-model="hform.HDeptName" placeholder="璇烽�夋嫨閮ㄩ棬" /> -->
+ </view>
+ <view class="form-item">
+ <view class="title required">鍙戠幇浜�:</view>
+ <zxz-uni-data-select required class="right" :localdata="HEmpList" dataKey="HName"
+ dataValue="HItemID" v-model="hform.HEmpID">
+
+ </zxz-uni-data-select>
+ <!-- <input disabled v-model="hform.HDeptName" placeholder="璇烽�夋嫨閮ㄩ棬" /> -->
+ </view>
+ <view class="form-item">
+ <view class="title required">璐熻矗浜�:</view>
+ <zxz-uni-data-select required class="right" :localdata="HEmpList" dataKey="HName"
+ dataValue="HItemID" v-model="hform.HManagerID">
+
+ </zxz-uni-data-select>
+ <!-- <input disabled v-model="hform.HDeptName" placeholder="璇烽�夋嫨閮ㄩ棬" /> -->
+ </view>
+ <view class="form-item">
+ <view class="title">璁惧鍚嶇О:</view>
+ <view class="righton">
+ <input v-model="hform.HBarName" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">璁惧瑙勬牸:</view>
+ <view class="righton">
+ <input v-model="hform.HBarSpec" disabled />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">璁惧鍨嬪彿:</view>
+ <view class="righton">
+ <input v-model="hform.HBarModel" disabled />
+ </view>
+ </view>
+ </view>
+ </template>
+
+ <!-- 鍏朵粬淇℃伅 -->
+ <template v-if="tabs == 2">
+ <view class="form" :style="{
+ height: containerHeight + 'px',
+ overflow: 'auto'
+ }">
+ <view class="form-item">
+ <view class="title">鍒涘缓浜�:</view>
+ <view class="righton">
+ <input v-model="hform.HMaker" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">鍒涘缓鏃ユ湡:</view>
+ <view class="righton">
+ <input v-model="hform.HMakeDate" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">淇敼浜�:</view>
+ <view class="righton">
+ <input v-model="hform.HUpDater" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">淇敼鏃ユ湡:</view>
+ <view class="righton">
+ <input v-model="hform.HUpDateDate" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">瀹℃牳浜�:</view>
+ <view class="righton">
+ <input v-model="hform.HChecker" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">瀹℃牳鏃堕棿:</view>
+ <view class="righton">
+ <input v-model="hform.HCheckDate" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">浣滃簾浜�:</view>
+ <view class="righton">
+ <input v-model="hform.HDeleteMan" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">浣滃簾鏃ユ湡:</view>
+ <view class="righton">
+ <input v-model="hform.HDeleteDate" />
+ </view>
+ </view>
+ </view>
+
+ </template>
+ <!-- 鎿嶄綔鎸夐挳 -->
+ <view class="buttons" id="buttons">
+ <button class="btn-a" size="mini" @tap="submit">鎻愪氦</button>
+ <view style="flex: 1;"></view>
+ <button class="btn-a" size="mini" @tap="addNew">鏂板</button>
+ <button class="btn-c" size="mini" @tap="goBack">閫�鍑�</button>
+ </view>
+ <!-- <xe-upload ref="XeUpload" :options="uploadOptions" @callback="handleUploadCallback"></xe-upload> -->
+ </view>
+</template>
+
+<script>
+ import dayjs from "dayjs";
+ import {
+ CommonUtils
+ } from "@/utils/common";
+ import {
+ MpaasScan
+ } from "@/utils/mpaasScan.js"
+ import {
+ getUserInfo
+ } from "../../../utils/auth";
+ export default {
+ // 璁惧鏁呴殰鐧昏鍗�
+ name: 'Sb_EquipConkBookBill',
+ data() {
+ return {
+ tabs: 0,
+ HMainSourceBillType: "",
+ btnTop: 0,
+ tabsBottom: 0,
+ HModName: "Sb_EquipConkBookBill",
+ HBillType: '3907',
+ operationType: 1,
+ uploadOptions: {},
+ enableEdit: true,
+
+ HDeptList: [],
+ HEmpList: [],
+ HConkTypeList: [],
+ HConkReasonList: [],
+
+ hform: {
+ HBarCode: "",
+ HConkBeginDate: dayjs(new Date()).format("YYYY-MM-DD HH:mm:ss"),
+ HConkTypeName: "",
+ HConkTypeID: 0,
+ HConkReasonName: "",
+ HConkReasonID: 0,
+ HExplanation: "",
+ HBillNo: "",
+ HInterID: 0,
+ HDate: dayjs(new Date()).format("YYYY-MM-DD HH:mm:ss"),
+ HDeptName: "",
+ HDeptID: 0,
+ HEmpName: "",
+ HEmpID: 0,
+ HManagerName: "",
+ HManagerID: 0,
+ HBarName: "",
+ HEquipID: 0,
+ HBarSpec: "",
+ HBarModel: "",
+ HMaker: getUserInfo()["Czymc"],
+ HChecker: '',
+ HCloseMan: '',
+ HUpDater: '',
+ HMakeDate: dayjs(new Date()).format("YYYY-MM-DD HH:mm:ss"),
+ HCheckDate: '',
+ HCloseDate: '',
+ HUpDateDate: '',
+ HDeleteMan: '',
+ HDeleteDate: ''
+ },
+ HDetailList: [{ // 鍚庣鎺ュ彛鎻愪氦闇�瑕� 鏄庣粏淇℃伅
+ "HConkReasonID": "",
+ "HConkReasonCode": "",
+ "HConkReasonName": "",
+ "HConkExplanation": "",
+ "HManagerID": "",
+ "HManagerCode": "",
+ "HManagerName": "",
+ "HRemark": " "
+ }]
+ };
+ },
+ computed: {
+ containerHeight: {
+ get() {
+ return this.btnTop - this.tabsBottom - 5
+ }
+ },
+ },
+ methods: {
+ // 鑾峰彇鏁呴殰绫诲埆
+ async getConkType() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Gy_ConkType/List_PDA",
+ data: {
+ sWhere: ``,
+ user: getUserInfo()['Czymc']
+ }
+ })
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data
+ if (count == 1) {
+ this.HConkTypeList = data
+ } else {
+ CommonUtils.showTips({
+ title: '娓╅Θ鎻愮ず',
+ message: `鑾峰彇鏁呴殰绫诲埆澶辫触: ${Message}`
+ })
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: '娓╅Θ鎻愮ず',
+ message: `鑾峰彇鏁呴殰绫诲埆澶辫触: ${err}`
+ })
+ }
+ },
+ // 鑾峰彇鏁呴殰鍘熷洜
+ async getConkReason() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/PublicPageMethod/Gy_ConkReasonList_PDA",
+ data: {
+ sWhere: ``,
+ }
+ })
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data
+ if (count == 1) {
+ this.HConkReasonList = data
+ } else {
+ CommonUtils.showTips({
+ title: '娓╅Θ鎻愮ず',
+ message: `鑾峰彇鏁呴殰鍘熷洜澶辫触: ${Message}`
+ })
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: '娓╅Θ鎻愮ず',
+ message: `鑾峰彇鏁呴殰鍘熷洜澶辫触: ${err}`
+ })
+ }
+ },
+ // 鍒犻櫎鏄庣粏
+ delDetail(item) {
+
+ },
+ // 鎻愪氦鏁版嵁鏈夋晥鎬ф牎楠�
+ ValidCheck() {
+ if (this.hform.HEquipID == 0) {
+ return {
+ Message: "鏈綍鍏ヨ澶囦俊鎭紝璇峰厛褰曞叆璁惧淇℃伅!",
+ state: false
+ }
+ }
+ if (this.hform.HDeptID == 0) {
+ return {
+ Message: "閮ㄩ棬涓嶅緱涓虹┖!",
+ state: false
+ }
+ }
+ if (this.hform.HEmpID == 0) {
+ return {
+ Message: "鍙戠幇浜轰笉寰椾负绌�!",
+ state: false
+ }
+ }
+ if (this.hform.HManagerID == 0) {
+ return {
+ Message: "璐熻矗浜轰笉寰椾负绌�!",
+ state: false
+ }
+ }
+ if (this.hform.HConkReasonID == 0) {
+ return {
+ Message: "鏁呴殰鍘熷洜涓嶅緱涓虹┖!",
+ state: false
+ }
+ }
+ if (this.hform.HConkTypeID == 0) {
+ return {
+ Message: "鏁呴殰绫诲埆涓嶅緱涓虹┖!",
+ state: false
+ }
+ }
+
+ return {
+ Message: "",
+ state: true
+ }
+ },
+ addNew() {
+ uni.redirectTo({
+ url: './Sb_EquipConkBookBill?operationType=1'
+ })
+ },
+ goBack() {
+ uni.navigateBack()
+ },
+ checkBoxChangeHandler(index, e) {
+ let cr = e.detail.value
+ if (cr.length == 0) {
+ this.HCheckFileList[index]["HDotCheckResult"] = false
+ } else {
+ this.HCheckFileList[index]["HDotCheckResult"] = true
+ }
+ },
+ uploadFile(index) {
+ console.log('filePath: ', this.attachmentInfo[index].filePath);
+ // 閫氳繃涓存椂璺緞璇诲彇鏂囦欢
+ uni.uploadFile({
+ url: CommonUtils.getServerUrl() + "/Sb_EquipDotCheckBill/UploadFile",
+ filePath: this.attachmentInfo[index].filePath,
+ name: 'file',
+ formData: {
+ HBillNo: this.hform.HBillNo,
+ HRemark: "",
+ HUserName: getUserInfo()["Czymc"]
+ },
+ success: (uploadRes) => {
+ CommonUtils.showTips({
+ message: "涓婁紶鎴愬姛"
+ })
+ this.attachmentInfo[index].status = "涓婁紶鎴愬姛"
+ },
+ fail: (err) => {
+ CommonUtils.showTips({
+ title: '娓╅Θ鎻愮ず',
+ message: `涓婁紶澶辫触: ${err}`
+ })
+ }
+ })
+ },
+ delFile(index) {
+ console.log('attachmentInfo: ', this.attachmentInfo[index]);
+ uni.showModal({
+ title: '鎻愮ず',
+ content: '纭瑕佸垹闄� " ' + this.attachmentInfo[index].fileName + ' " 鍒犻櫎鍚庡皢涓嶅彲鎭㈠锛�',
+ success: (res) => {
+ if (res.confirm) {
+ this.attachmentInfo.splice(index, 1)
+ }
+ },
+ })
+
+ },
+ handleUploadCallback(res) { // 鏂囦欢涓婁紶鍥炶皟
+ console.log('file: ', res);
+ let fileInfo = res.data[0]
+ this.attachmentInfo.push({
+ fileName: fileInfo.name,
+ size: fileInfo.size,
+ status: '绛夊緟涓婁紶',
+ filePath: fileInfo.tempFilePath
+ })
+ },
+ // 涓婁紶鏂囦欢
+ fileUpload() {
+ this.$refs.XeUpload.upload('file', {});
+ },
+ //鑾峰彇鐝鏁版嵁
+ async getShiftList() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: '/Web/GetGy_ShiftsList_Json',
+ data: {
+ Shifts: "",
+ }
+ })
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data
+ if (count == 1) {
+ this.HShiftsList = data
+ } else {
+ CommonUtils.showTips({
+ title: '娓╅Θ鎻愮ず',
+ message: Message
+ })
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: '娓╅Θ鎻愮ず',
+ message: err
+ })
+ }
+ },
+ //鑾峰彇浣跨敤閮ㄩ棬鏁版嵁
+ async getHDeptList() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: '/Gy_Department/list',
+ data: {
+ sWhere: ` and HUSEORGID = ${uni.getStorageSync('OrganizationID')} `,
+ user: uni.getStorageSync('HUserName'),
+ Organization: uni.getStorageSync('Organization')
+ }
+ })
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data
+ if (count == 1) {
+ this.HDeptList = data
+ } else {
+ CommonUtils.showTips({
+ title: '娓╅Θ鎻愮ず',
+ message: Message
+ })
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: '娓╅Θ鎻愮ず',
+ message: err
+ })
+ }
+ },
+ // 鑾峰彇鑱屽憳鏁版嵁
+ async getEmpList() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: '/PublicPageMethod/UserList',
+ data: {
+ sWhere: " where 1=1",
+ }
+ })
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data
+ if (count == 1) {
+ this.HEmpList = data
+ } else {
+ CommonUtils.showTips({
+ title: '娓╅Θ鎻愮ず',
+ message: Message
+ })
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: '娓╅Θ鎻愮ず',
+ message: err
+ })
+ }
+ },
+
+ toScanCode() {
+ MpaasScan.scanCode(cb => {
+ this.hfrom.HBarCode = cb
+ this.GetMessageByBarCode(cb)
+ })
+ },
+ async GetMessageByBarCode(HBarCode) {
+ try {
+ let res = await CommonUtils.doRequest2Sync({
+ url: "/Sb_PDA_EquipDotCheckBill/txtHBarCode_KeyDown_List",
+ data: {
+ HBarCode: HBarCode,
+ },
+ })
+
+
+ if (!res) {
+ return
+ }
+
+ let {
+ data,
+ count,
+ Message
+ } = res.data
+
+ if (count == 1) {
+ console.log('data: ', data);
+ this.hform.HEquipID = data[0].hmainid
+ this.hform.HBarName = data[0].璁惧鍚嶇О
+ this.hform.HBarSpec = data[0].璁惧瑙勬牸
+ this.hform.HBarModel = data[0].璁惧鍨嬪彿
+ this.hform.HQty = 1
+
+ this.enableEdit = false
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: Message
+ })
+ }
+
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: err
+ })
+ }
+ },
+ async GetItemByEquipFile() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Web/GetItemByEquipFile",
+ data: {
+ "EquipProjectID": this.hform.HEquipID,
+ "Type": "DJ",
+ "HDate": this.hform.HBeginDate
+ }
+ })
+
+ let {
+ data,
+ Message,
+ count
+ } = res.data
+ if (count == 1) {
+ this.hform.HEquipDotCheckRuleInterID = data[0].鐐规瑙勭▼ID
+ this.hform.HEquipDotCheckRuleInterNo = data[0].鐐规瑙勭▼鍗曞彿
+ this.hform.HPlanNo = data[0].鐐规璁″垝鍗�
+ this.hform.HPlanInterID = (data[0].鐐规璁″垝ID == null ? 0 : data[0].鐐规璁″垝ID) == "" ? 0 : data[0]
+ .鐐规璁″垝ID
+ this.hform.HPlanEntryID = (data[0].鐐规璁″垝瀛怚D == null ? 0 : data[0].鐐规璁″垝瀛怚D) == "" ? 0 : data[
+ 0].鐐规璁″垝瀛怚D
+
+ this.HCheckFileList = Array.from(data).map(item => {
+ return {
+ "HDotCheckItemID": item.HDotCheckItemID,
+ "HDotCheckCode": item.鐐规椤圭洰浠g爜,
+ "HDotCheckItem": item.鐐规椤圭洰,
+ "HDotCheckPart": item.鐐规閮ㄤ綅,
+ "HClaim": item.鍏蜂綋瑕佹眰,
+ "HManagerID": item.璐熻矗浜篒D,
+ "HManagerCode": item.璐熻矗浜轰唬鐮�,
+ "HManagerName": item.璐熻矗浜哄悕绉�,
+ "HSourceInterID": item.鐐规璁″垝ID == null ? 0 : item.鐐规璁″垝ID,
+ "HSourceEntryID": item.鐐规璁″垝瀛怚D == null ? 0 : item.鐐规璁″垝瀛怚D,
+ "HSourceBillNo": item.鐐规璁″垝鍗�,
+ "HDotCheckItemClassID": 0,
+ "HDotCheckItemClassName": "",
+ "HDotCheckItemMethodID": 0,
+ "HDotCheckItemMethodName": "",
+ "HDotCheckResult": item.榛樿缁撹 == 1 ? true : false
+ }
+ })
+
+ } else {
+ CommonUtils.showTips({
+ title: '娓╅Θ鎻愮ず',
+ message: `鑾峰彇鐐规瑙勭▼閿欒锛� ${Message}`
+ })
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: '娓╅Θ鎻愮ず',
+ message: `鑾峰彇鐐规瑙勭▼閿欒锛� ${err}`
+ })
+ }
+ },
+ radioChange({
+ detail: {
+ value
+ }
+ }) {
+ this.hform.HCheckResult = value
+ },
+ async getMaxNum() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: "/Web/GetMAXNum",
+ data: {
+ "HBillType": this.HBillType
+ }
+ })
+
+ let {
+ count,
+ data,
+ Message
+ } = res.data
+ console.log('data: ', data);
+ // this.hform.HInterID = data[0]["HInterID"]
+ this.hform.HInterID = 0
+ this.hform.HBillNo = data[0]["HBillNo"]
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: "鑾峰彇鍗曟嵁淇℃伅寮傚父: " + err
+ })
+ }
+ },
+ async submit() {
+ let valid = this.ValidCheck()
+ if (!valid.state) {
+ CommonUtils.showTips({
+ message: valid.Message
+ })
+ return
+ }
+
+ try {
+ let oMain = JSON.stringify(this.hform);
+ this.HDetailList[0].HConkReasonID = this.hform.HConkReasonID
+ this.HDetailList[0].HConkExplanation = this.hform.HExplanation
+ this.HDetailList[0].HManagerID = this.hform.HManagerID
+ let sSubStr = JSON.stringify(this.HDetailList);
+ let sMainSub = oMain + ';' + sSubStr + `;` + getUserInfo()[
+ 'Czymc'] + ";1";
+ let res = await CommonUtils.doRequest2Sync({
+ url: "/Sb_EqpRepairWorkBill/SaveGetEqpConkBookBillList",
+ data: {
+ "msg": sMainSub
+ },
+ method: "POST"
+ })
+
+ if (!res) {
+ return
+ }
+
+ let {
+ count,
+ Message
+ } = res.data
+ if (count == 1) {
+ uni.showModal({
+ title: '鎻愮ず',
+ content: res.data.Message + '銆傛槸鍚︾户缁柊澧烇紵(鐐瑰嚮鍙栨秷杩斿洖涓婄骇椤甸潰)',
+ success: (res) => {
+ if (res.confirm) {
+ console.log('鐢ㄦ埛鐐瑰嚮纭畾');
+ uni.redirectTo({
+ url: './Sb_EquipConkBookBill?operationType=1'
+ })
+ } else if (res.cancel) {
+ console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
+ setTimeout(() => {
+ uni.navigateBack();
+ }, 50)
+ }
+ }
+ });
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: "鎻愪氦鍗曟嵁澶辫触: " + Message
+ })
+ }
+
+
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: "鎻愪氦鍗曟嵁澶辫触: " + err
+ })
+ }
+ },
+ async getEditData(hmainid) {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: '/Sb_EqpRepairWorkBill/Sb_EqpConkBookBillListCheckDetai',
+ data: {
+ HID: hmainid
+ },
+ })
+
+ let {
+ data,
+ count,
+ msg,
+ code
+ } = res.data
+
+ if (code == 1) {
+ data = data.h_v_Sb_EquipConkBookBillList_Edit[0]
+
+ this.enableEdit = false
+ } else {
+ CommonUtils.showTips({
+ title: '娓╅Θ鎻愮ず',
+ message: `鑾峰彇鏁呴殰鐧昏鍗曞け璐�: ${msg}`
+ })
+ }
+
+ } catch (err) {
+ CommonUtils.showTips({
+ title: '娓╅Θ鎻愮ず',
+ message: `鑾峰彇鏁呴殰鐧昏鍗曞け璐�: ${err}`
+ })
+ }
+ }
+ },
+ onLoad(e) {
+ console.log('e: ', e);
+ if (!e.operationType) {
+ this.operationType = 1
+ } else {
+ this.operationType = e.operationType
+ }
+
+ if (this.operationType == 1) {
+ // 鏂板
+ this.getMaxNum()
+ } else if (this.operationType == 2) {
+ // 澶嶅埗
+ } else if (this.operationType == 3) {
+ // 缂栬緫 锛圥DA涓病鏈夌紪杈戝姛鑳斤紝鏁呮澶勭紪杈戝姛鑳藉厛涓嶄娇鐢級
+ let hmainid = e.hmainid
+ this.getEditData(hmainid)
+
+ } else if (this.operationType == 4) {
+ // 娴忚
+
+ }
+
+ this.getHDeptList()
+ this.getEmpList()
+ this.getConkReason()
+ this.getConkType()
+ },
+ onReady() {
+ const query = uni.createSelectorQuery().in(this)
+ query.select("#buttons")
+ .boundingClientRect()
+ .select("#tabs")
+ .boundingClientRect()
+ .exec(res => {
+ this.btnTop = Math.floor(res[0].top)
+ this.tabsBottom = Math.ceil(res[1].bottom)
+ })
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ @import "@/pages/MJGL/style/MJBillStyle.scss"
+</style>
\ No newline at end of file
diff --git a/pages/MJGL/Sb_EquipConkBook/Sb_EquipConkBookBillList.vue b/pages/MJGL/Sb_EquipConkBook/Sb_EquipConkBookBillList.vue
new file mode 100644
index 0000000..17d7fe4
--- /dev/null
+++ b/pages/MJGL/Sb_EquipConkBook/Sb_EquipConkBookBillList.vue
@@ -0,0 +1,455 @@
+<template>
+ <view class="content">
+ <view class="form">
+ <view class="form-item">
+ <view class="title">寮�濮嬫椂闂�:</view>
+ <view class="right">
+ <uni-datetime-picker type="date" :clear-icon="false" v-model="hform.HBeginDate">
+ <input :value="hform.HBeginDate" />
+ </uni-datetime-picker>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">缁撴潫鏃堕棿:</view>
+ <view class="right">
+ <uni-datetime-picker type="date" :clear-icon="false" v-model="hform.HEndDate">
+ <input :value="hform.HEndDate" />
+ </uni-datetime-picker>
+ </view>
+ </view>
+ <view v-if="showmore">
+ <view class="form-item">
+ <view class="title">鍗曟嵁鍙�:</view>
+ <view class="right">
+ <input v-model="hform.HBillNo" placeholder="璇疯緭鍏ュ崟鎹彿" />
+ </view>
+ </view>
+
+ </view>
+ <view class="other">
+ <view v-if="!showmore" @tap="changeShowMore">
+ 灞曞紑鍏朵粬鏉′欢<uni-icons color="#1890FF" style="margin-left: 8rpx;" type="bottom"></uni-icons>
+ </view>
+ <view v-if="showmore" @tap="changeShowMore">
+ 鎶樺彔鍏朵粬鏉′欢<uni-icons color="#1890FF" style="margin-left: 8rpx;" type="top"></uni-icons>
+ </view>
+ </view>
+
+ <view class="buttons">
+ <button class="btn-a" size="mini" type="default" @tap="clear">閲嶇疆</button>
+ <button class="btn-b" size="mini" type="default" @tap="add">鏂板</button>
+ <button class="btn-c" size="mini" type="default" @tap="search">鏌ヨ</button>
+ </view>
+ </view>
+
+ <view id="divide" style="width: 100%;height: 16rpx;background-color: #e5e5e5;"></view>
+ <view :style="{
+ height: calcContentHeight + 'px',
+ overflowY: 'auto'
+ }">
+ <view class="list" v-for="(item,index) in showList" :key="index" v-if="tabs==0">
+ <uni-card :title="item.鍒跺崟鏃ユ湡.substr(0,10)" :extra="item.鍗曟嵁鍙�" style="margin: 10px;"
+ @tap="showDetail = showDetail==index?-1:index">
+ <view class="card-detail"
+ v-for="(HBillField, index) in CommonUtils.emptyValueFilter(item,HFieldList).slice(0,10)" :key="index">
+ <template
+ v-if="HBillField.ColmType == 'DateTime'"><text>{{ HBillField.ColmCols }}锛�</text>{{ item[HBillField.ColmCols] ? dayjs(item[HBillField.ColmCols]).format("YYYY-MM-DD HH:mm:ss") : "" }}
+ </template>
+ <template
+ v-else><text>{{ HBillField.ColmCols }}锛�</text>{{ item[HBillField.ColmCols] }}</template>
+ </view>
+ <view class="card-detail" v-if="showDetail == index">
+ <view class="card-detail"
+ v-for="(HBillField, index) in CommonUtils.emptyValueFilter(item,HFieldList).slice(10,-1)"
+ :key="index">
+ <template
+ v-if="HBillField.ColmType == 'DateTime'"><text>{{ HBillField.ColmCols }}锛�</text>{{ item[HBillField.ColmCols] ? dayjs(item[HBillField.ColmCols]).format("YYYY-MM-DD HH:mm:ss") : "" }}
+ </template>
+ <template
+ v-else><text>{{ HBillField.ColmCols }}锛�</text>{{ item[HBillField.ColmCols] }}</template>
+ </view>
+ </view>
+
+ <view class="more" v-if="showDetail == index && operations != index">
+ <view class="part" style="border-right: 1px solid #eee;">
+ <uni-icons type="top" style="color: #888;margin-right: 10rpx;" size="14"></uni-icons>鏀惰捣
+ </view>
+ <view class="part" @tap.stop="operations = operations==index?-1:index">
+ <uni-icons type="more-filled" style="color: #888;margin-right: 10rpx;"
+ size="14"></uni-icons>鎿嶄綔
+ </view>
+ </view>
+ <view class="more" v-if="showDetail != index && operations != index">
+ <view class="part" style="border-right: 1px solid #eee;">
+ <uni-icons type="bottom" style="color: #888;margin-right: 10rpx;" size="14"></uni-icons>鏇村淇℃伅
+ </view>
+ <view class="part" @tap.stop="operations = operations==index?-1:index">
+ <uni-icons type="more-filled" style="color: #888;margin-right: 10rpx;"
+ size="14"></uni-icons>鎿嶄綔
+ </view>
+ </view>
+ <view class="op" v-if="operations == index">
+ <!-- <button class="op3" size="mini" plain @tap.stop="edit(item)">缂栬緫</button> -->
+ <button class="op4" size="mini" plain @tap.stop="del(item)">鍒犻櫎</button>
+ <button class="op5" size="mini" plain @tap.stop="operations = -1">鍙栨秷鎿嶄綔</button>
+ </view>
+ </uni-card>
+ </view>
+ </view>
+ <view class="pagination-zone" id="pagination-zone">
+ <uni-pagination show-icon :page-size="size" :total="dataLength" :current="page"
+ @change="onPaginationChangeHandler"></uni-pagination>
+ </view>
+ <BarCodePopupVue ref="barcodePopup"></BarCodePopupVue>
+ </view>
+</template>
+
+<script>
+ import {
+ getUserInfo
+ } from "@/utils/auth.js";
+ import BarCodePopupVue from "@/components/BarCodePopup/BarCodePopup.vue";
+ import {
+ CommonUtils
+ } from "@/utils/common";
+ import dayjs from "dayjs";
+ export default {
+ data() {
+ return {
+ dayjs,
+ CommonUtils,
+ userInfo: getUserInfo(),
+ serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API',
+ tabs: 0,
+ urls: '/Web/GetEquipmentBillsList',
+ MvarReportTitle: '璁惧鏁呴殰鐧昏鍗曠紦瀛�',
+ hform: {
+ HBillNo: '',
+ HSourceBillNo: '',
+ HBillType: '',
+ user: uni.getStorageSync('HUserName'),
+ HStockOrgID: uni.getStorageSync('OrganizationID'),
+ Type: "GZ",
+ sWhere: "",
+ HBeginDate: dayjs(new Date()).subtract(30, 'day').format("YYYY-MM-DD"),
+ HEndDate: dayjs(new Date()).format("YYYY-MM-DD"),
+ },
+ sWhere: '',
+ listData: [],
+ showList: [],
+ HFieldList: [],
+ showDetail: -1,
+ operations: -1,
+
+ page: 1,
+ size: 20,
+ dataLength: 0,
+ divideBottom: 0,
+ paginationTop: 0,
+ showmore: false,
+ }
+ },
+ computed: {
+ calcContentHeight: {
+ get() {
+ return this.paginationTop - this.divideBottom
+ }
+ }
+ },
+ onShow() {
+ //鐢ㄦ埛妯″潡鏉冮檺鍒ゆ柇
+ // this.CheckModRight()
+ this.changeTab(0)
+ console.log(this.userInfo, uni.getStorageSync('HUserName'))
+ },
+ components: {
+ BarCodePopupVue
+ },
+ onPullDownRefresh: function() {
+ this.clear()
+ setTimeout(() => {
+ uni.stopPullDownRefresh();
+ }, 1000);
+ },
+ onReady() {
+ this.getCalcHeight()
+ },
+ methods: {
+ changeShowMore() {
+ this.showmore = !this.showmore
+ this.$nextTick(() => {
+ // 閲嶆柊璁$畻鍐呭瑙嗗彛楂樺害
+ this.getCalcHeight()
+ })
+ },
+ getCalcHeight() {
+ let query = uni.createSelectorQuery().in(this)
+ query
+ .select("#divide")
+ .boundingClientRect()
+ .select("#pagination-zone")
+ .boundingClientRect()
+ .exec(res => {
+ this.divideBottom = Math.ceil(res[0].bottom)
+ this.paginationTop = Math.floor(res[1].top)
+ })
+ },
+ async qrCodeDisplay(item) {
+ this.$refs.barcodePopup.setCodeInfo(item.HBillNo)
+ await this.$nextTick()
+ this.$refs.barcodePopup.open()
+ },
+ CheckModRight() {
+ uni.request({
+ url: this.serverUrl + '/WEBSController/CheckModRight_Json',
+ data: {
+ ModRightName: 'CE_OtherOut',
+ HUserName: uni.getStorageSync('HUserName')
+ },
+ success: (res) => {
+ if (res.data.count == 1) {} else {
+ uni.showToast({
+ title: res.data.Message,
+ icon: 'none'
+ })
+ }
+ },
+ fail: (res) => {
+ console.log(res);
+ uni.showToast({
+ title: '鎺ュ彛璇锋眰澶辫触',
+ icon: 'none'
+ })
+ },
+ });
+ },
+ onPaginationChangeHandler({
+ current
+ }) {
+ this.page = current
+ this.showList = this.getPage(current, this.size, this.listData)
+ },
+ getPage(page, size, list) {
+ let sindex = (parseInt(page) - 1) * size
+ let eindex = parseInt(page) * size
+ let newList = list.slice(sindex, eindex)
+ return newList
+ },
+ changeTab(e) {
+ this.tabs = e
+ this.page = 1
+ this.showList = []
+
+ if (this.tabs == 0) {
+ this.urls = '/Web/GetEquipmentBillsList'
+ }
+ // if (this.tabs == 1) {
+ // this.urls = '/WEBSController/GetKf_ICStockBillQueryList_User_Json'
+ // }
+ this.search()
+ },
+ async getList() {
+ try {
+ let res = await CommonUtils.doRequest2Async({
+ url: this.urls,
+ data: this.hform
+ })
+
+ let {
+ count,
+ data,
+ Message,
+ list
+ } = res.data
+
+ if (count == 1) {
+ if (data == null) {
+ data = []
+ }
+ this.listData = data
+ this.showList = this.getPage(this.page, this.size, data)
+ this.dataLength = data.length
+ this.HFieldList = CommonUtils.fieldListFilterRole({
+ ExcludeKeys: ["鍒跺崟鏃ユ湡", "鍗曟嵁鍙�"],
+ FieldList: Array.from(list)
+ }).data
+ } else {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇璁惧鏁呴殰鐧昏鍗曞け璐�: ${Message}`
+ })
+ }
+ } catch (err) {
+ CommonUtils.showTips({
+ title: "娓╅Θ鎻愮ず",
+ message: `鑾峰彇璁惧鏁呴殰鐧昏鍗曞け璐�: ${err}`
+ })
+ }
+
+ },
+ search() {
+ this.hform.sWhere = ''
+ this.listData = []
+ this.page = 1
+ this.showList = []
+
+ if (this.hform.HBillNo) {
+ this.hform.sWhere += " and 鍗曟嵁鍙� like '%" + this.hform.HBillNo + "%'";
+ }
+ if (this.hform.HBeginDate && this.hform.HEndDate) {
+ this.hform.sWhere +=
+ ` and convert(date,鏃ユ湡) between convert(date, '${this.hform.HBeginDate}') and convert(date, '${this.hform.HEndDate}')`;
+ }
+ this.getList()
+ },
+ clear() {
+ this.listData = []
+ this.page = 1
+ this.showList = []
+
+ this.sWhere = ''
+ this.hform = {
+ HBillNo: '',
+ HSourceBillNo: '',
+ HBillType: '',
+ user: uni.getStorageSync('HUserName'),
+ HStockOrgID: uni.getStorageSync('OrganizationID'),
+ Type: "GZ",
+ sWhere: "",
+ HBeginDate: dayjs(new Date()).subtract(30, 'day').format("YYYY-MM-DD"),
+ HEndDate: dayjs(new Date()).format("YYYY-MM-DD"),
+ }
+ this.search()
+ },
+ add() {
+ uni.navigateTo({
+ url: '/pages/MJGL/Sb_EquipConkBook/Sb_EquipConkBookBill?operationType=1'
+ })
+ },
+ //缂栬緫
+ edit(item) {
+ return
+ console.log(item)
+ uni.request({
+ url: this.serverUrl + '/WEBSController/TempList_Modify_Json',
+ data: {
+ "HInterID": item.HInterID,
+ "HBillNo": item.鍗曟嵁鍙�,
+ "HBillType": this.hform.HBillType
+ },
+ success: (res) => {
+ console.log(1, res);
+ if (res.data.count == 1) {
+ uni.navigateTo({
+ url: './OtherOutBill?OperationType=2&HInterID=' + item.HInterID
+ })
+ } else {
+ uni.showToast({
+ title: res.data.Message,
+ icon: 'none'
+ })
+ }
+
+ },
+ fail: (res) => {
+ console.log(res);
+ uni.hideLoading()
+ uni.showToast({
+ title: '鎺ュ彛璇锋眰澶辫触',
+ icon: 'none'
+ })
+ },
+ })
+ },
+ //鍒犻櫎
+ del(item) {
+ // console.log(item.hmainid,uni.getStorageSync('HUserName'))
+ uni.showModal({
+ title: '鎻愮ず',
+ content: '纭瑕佸垹闄よ褰曪紵鍒犻櫎鍚庝笉鑳芥仮澶�',
+ success: (res) => {
+ if (res.confirm) {
+ console.log('鐢ㄦ埛鐐瑰嚮纭畾');
+ uni.request({
+ url: this.serverUrl +
+ '/Sb_EqpRepairWorkBill/DeltetEqpConkBookBill',
+ data: {
+ HInterID: item.hmainid,
+ user: uni.getStorageSync('HUserName'),
+ },
+ success: (res) => {
+ console.log(1, res);
+ if (res.data.count == 1) {
+ this.clear()
+ }
+ uni.showToast({
+ title: res.data.Message,
+ icon: 'none'
+ })
+ },
+ fail: (res) => {
+ console.log(res);
+ uni.hideLoading()
+ uni.showToast({
+ title: '鎺ュ彛璇锋眰澶辫触',
+ icon: 'none'
+ })
+ },
+ });
+ } else if (res.cancel) {
+ console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
+ }
+ }
+ });
+ },
+ //鎾ら攢
+ revoke(item) {
+ // console.log(item.hmainid,uni.getStorageSync('HUserName'))
+ uni.showModal({
+ title: '鎻愮ず',
+ content: '鏄惁纭鎾ら攢',
+ success: (res) => {
+ if (res.confirm) {
+ console.log('鐢ㄦ埛鐐瑰嚮纭畾');
+ uni.request({
+ url: this.serverUrl +
+ '/WEBSController/set_DeleteICStockBillAndWMS_Json',
+ data: {
+ HInterID: item.HInterID,
+ HBillNo: item.鍗曟嵁鍙�,
+ HBillType: this.hform.HBillType,
+ HMaker: uni.getStorageSync('HUserName'),
+ MvarReportTitle: this.MvarReportTitle,
+ },
+ success: (res) => {
+ console.log(1, res);
+ if (res.data.count == 1) {
+ this.clear()
+ }
+ uni.showToast({
+ title: res.data.Message,
+ icon: 'none'
+ })
+ },
+ fail: (res) => {
+ console.log(res);
+ uni.hideLoading()
+ uni.showToast({
+ title: '鎺ュ彛璇锋眰澶辫触',
+ icon: 'none'
+ })
+ },
+ });
+ } else if (res.cancel) {
+ console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
+ }
+ }
+ });
+ },
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ @import "@/pages/MJGL/style/MJListStyle.scss"
+</style>
\ No newline at end of file
diff --git a/pages/ZLGL/QuYangHuangYang/QC_BackSampleCheckBill/QC_BackSampleCheckBill.vue b/pages/ZLGL/QuYangHuangYang/QC_BackSampleCheckBill/QC_BackSampleCheckBill.vue
new file mode 100644
index 0000000..a0529d6
--- /dev/null
+++ b/pages/ZLGL/QuYangHuangYang/QC_BackSampleCheckBill/QC_BackSampleCheckBill.vue
@@ -0,0 +1,819 @@
+<template>
+ <view>
+ <scroll-view scroll-y id="scroll-content" class="scroll-content" :style="{height: scrollContentHeight + 'px'}">
+ <view class="form-item">
+ <view class="title">鏉″舰鐮�:</view>
+ <view class="right">
+ <input type="text" name="HBarCode" id="HBarCode" v-model="HBarCode" @confirm="getCode(HBarCode)" />
+ </view>
+ <view class="right-icon" @click="toScanCode">
+ <uni-icons color="#fff" type="scan" size="24"></uni-icons>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">杩樻牱鏁伴噺:</view>
+ <view class="right">
+ <input type="number" name="HQty" id="HQty" v-model="hform.HQty" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">杩樻牱鍐呭:</view>
+ <view class="right">
+ <input type="text" name="HRemark" id="HRemark" v-model="hform.HRemark" />
+ </view>
+ </view>
+
+
+ <view class="form-item">
+ <view class="title">杩樻牱鍛�:</view>
+ <view class="right">
+ <uni-combox :candidates="HCheckEmpNameArray" name="HCheckEmpName" id="HCheckEmpName"
+ placeholder="璇烽�夋嫨杩樻牱鍛�" v-model="hform.HCheckEmpName"
+ @input="HCheckEmpNameChangeHandler"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">閮ㄩ棬:</view>
+ <view class="right">
+ <uni-combox :candidates="HDeptNameArray" name="HDeptName" id="HDeptName" placeholder="璇烽�夋嫨閮ㄩ棬"
+ v-model="hform.HDeptName" @input="HDeptNameChangeHandler"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">鐢熶骇鐝:</view>
+ <view class="right">
+ <uni-combox :candidates="HShiftsNameArray" name="HShiftsName" id="HShiftsName" placeholder="璇烽�夋嫨鐢熶骇鐝"
+ v-model="hform.HShiftsName" @input="HShiftsNameChangeHandler"></uni-combox>
+ </view>
+ </view>
+
+ <view class="form-item">
+ <view class="title">鍗曟嵁鏃ユ湡:</view>
+ <view class="right disabled">
+ <input disabled type="text" name="HDate" id="HDate" v-model="hform.HDate" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">鍗曟嵁鍙�:</view>
+ <view class="right disabled">
+ <input disabled type="text" name="HBillNo" id="HBillNo" v-model="hform.HBillNo" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">鐢熶骇璁㈠崟:</view>
+ <view class="right disabled">
+ <input disabled type="text" v-model="hform.HICMOBillNo" name="HICMOBillNo" id="HICMOBillNo" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">娴佽浆鍗�:</view>
+ <view class="right disabled">
+ <input disabled type="text" v-model="hform.HProcExchBillNo" name="HProcExchBillNo"
+ id="HProcExchBillNo" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">鐗╂枡浠g爜:</view>
+ <view class="right disabled">
+ <input disabled type="text" v-model="hform.HMaterCode" name="HMaterCode" id="HMaterCode" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">鐗╂枡鍚嶇О:</view>
+ <view class="right disabled">
+ <input disabled type="text" v-model="hform.HMaterName" name="HMaterName" id="HMaterName" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">瑙勬牸鍨嬪彿:</view>
+ <view class="right disabled">
+ <input disabled type="text" v-model="hform.HMaterSpec" name="HMaterSpec" id="HMaterSpec" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">璁¢噺鍗曚綅:</view>
+ <view class="right disabled">
+ <input disabled type="text" v-model="hform.HUnitName" name="HUnitName" id="HUnitName" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">宸ュ簭:</view>
+ <view class="right disabled">
+ <input disabled type="text" v-model="hform.HProcName" name="HProcName" id="HProcName" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">娴佽浆鍗℃壒鍙�:</view>
+ <view class="right disabled">
+ <input disabled type="text" v-model="hform.HBatchNo" name="HBatchNo" id="HBatchNo" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">娴佽浆鍗℃暟閲�:</view>
+ <view class="right disabled">
+ <input disabled type="text" v-model="hform.HProcExchQty" name="HProcExchQty" id="HProcExchQty" />
+ </view>
+ </view>
+ </scroll-view>
+ <view class="bottom-btn" id="bottom-btn">
+ <view><button class="btn-a" size="mini" @tap="submit">鎻愪氦</button></view>
+ <view><button class="btn-b" size="mini" @tap="onAddNewHandler">鏂板</button></view>
+ <view class="placeholder__view"></view>
+ <view><button class="btn-c" size="mini" @tap="goBack">閫�鍑�</button></view>
+ </view>
+ </view>
+</template>
+
+<script>
+ import dayjs from "dayjs";
+ import {
+ CommonUtils
+ } from "@/utils/common";
+ import {
+ getUserInfo
+ } from '../../../../utils/auth'
+
+
+
+ export default {
+ data() {
+ return {
+ pageMeta: {
+ scrollContentTop: 0,
+ bottomBtnTop: 0,
+ },
+ refSav: 'Add',
+ showMask: true,
+ TestTypeArray: ["棣栨", "宸℃", "鏈", "瀹為獙"],
+
+ HBillType: '7522',
+ HProcNameArray: [],
+ HProcNameArraySource: [],
+
+ HDeptNameArray: [],
+ HDeptNameArraySource: [],
+
+ HShiftsNameArray: [],
+ HShiftsNameArraySource: [],
+
+ HGroupNameArray: [],
+ HGroupNameArraySource: [],
+
+ HCheckEmpNameArray: [],
+ HCheckEmpNameSource: [],
+
+ HSourceNameArray: [],
+ HSourceNameSource: [],
+
+ HBarCode: '',
+ hform: {
+ HBarCode: '',
+ HQty: '',
+ HRemark: '',
+ HEmpName: getUserInfo()['HEmpName'],
+ HEmp: getUserInfo()['HEmpID'],
+ HDeptName: '',
+ HDeptID: 0,
+ HWorkShiftName: '',
+ HWorkShiftID: 0,
+ HDate: dayjs(new Date()).format("YYYY-MM-DD"),
+ HBillNo: '',
+ HInterID: '',
+ HICMOBillNo: '',
+ HICMOInterID: '',
+ HICMOEntryID: '',
+ HProcExchBillNo: '',
+ HProcExchInterID: '',
+ HProcExchEntryID: '',
+ HMaterNumber: '',
+ HMaterID: 0,
+ HMaterName: '',
+ HModel: '',
+ HUnitName: '',
+ HUnitID: '',
+ HProcName: '',
+ HProcID: '',
+ HBatchNo: '',
+ HProcExchQty: '',
+ HICMOQty: '',
+ HMaker: getUserInfo()['Czymc'],
+ HMakeDate: dayjs(new Date()).format("YYYY-MM-DD hh:mm:ss"),
+ HUpDater: '',
+ HUpDateDate: '',
+ HChecker: '',
+ HCheckDate: '',
+ HDeleteMan: '',
+ HDeleteDate: '',
+ }
+ }
+ },
+ computed: {
+ scrollContentHeight: {
+ get() {
+ return this.pageMeta.bottomBtnTop - this.pageMeta.scrollContentTop
+ }
+ }
+ },
+ onReady() {
+ // #ifndef MP-WEIXIN
+ let query = uni.createSelectorQuery().in(this)
+ query.select("#scroll-content").boundingClientRect((data) => {
+ this.pageMeta.scrollContentTop = data.top
+ }).exec()
+ query.select("#bottom-btn").boundingClientRect((data) => {
+ this.pageMeta.bottomBtnTop = data.top
+ }).exec()
+ // #endif
+ // #ifdef MP-WEIXIN
+ // 寰俊涓嶆敮鎸� uni.createSelectorQuery().in(this)
+ // #endif
+
+ },
+ async onLoad(e) {
+ let {
+ operationType
+ } = e
+ if (operationType == 0) {
+ this.getMaxNum()
+ this.refSav = 'Add'
+ } else {
+ this.refSav = 'Update'
+ }
+
+ this.getProcessList()
+ this.get_Gy_WorkShiftList()
+ this.GetGroupList()
+ this.GetEmployeeList()
+ this.getSourceList()
+ this.GetDepartmentList()
+ },
+ methods: {
+ HDeptNameChangeHandler() {
+ let index = this.HDeptNameArray.findIndex(item => item == e)
+
+ if (index != -1) {
+ this.hform.HDeptID = this.HDeptNameArraySource[index]["HItemID"]
+ this.hform.HDeptName = this.HDeptNameArraySource[index]["HName"]
+ }
+ },
+ GetDepartmentList() {
+ CommonUtils.doRequest2({
+ url: '/Web/GetDepartmentList_Json',
+ data: {
+ Department: '',
+ },
+ resFunction: (res) => {
+ let {
+ data,
+ count,
+ Message,
+ code
+ } = res.data
+ if (count == 1) {
+ this.HDeptNameArray = Array.from(data).map(item => item['HName'])
+ this.HDeptNameArraySource = data
+ } else {
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ }
+ }
+ })
+ },
+ HSourceNameChangeHandler(e) {
+ let index = this.HSourceNameArray.findIndex(item => item == e)
+
+ if (index != -1) {
+ this.hform.HSourceID = this.HSourceNameArraySource[index]["HItemID"]
+ this.hform.HSourceName = this.HSourceNameArraySource[index]["鐢熶骇璧勬簮"]
+ }
+
+ console.log('this.hform: ', this.hform);
+ },
+ // 鑾峰彇鐢熶骇璧勬簮
+ getSourceList() {
+ CommonUtils.doRequest2({
+ url: '/api/newBill/getSourceList',
+ data: {
+ sWhere: '',
+ },
+ resFunction: (res) => {
+ let {
+ data,
+ count,
+ msg,
+ code
+ } = res.data
+ if (code == 1) {
+ let data1 = data.Gy_Source
+ this.HSourceNameArray = Array.from(data1).map(item => item['鐢熶骇璧勬簮'])
+ this.HSourceNameArraySource = data1
+ } else {
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ }
+ }
+ })
+ },
+ HCheckEmpNameChangeHandler(e) {
+ let index = this.HCheckEmpNameArray.findIndex(item => item == e)
+
+ if (index != -1) {
+ this.hform.HCheckEmp = this.HCheckEmpNameArraySource[index]["HItemID"]
+ this.hform.HCheckEmpName = this.HCheckEmpNameArraySource[index]["HName"]
+ }
+ },
+ // 鑾峰彇鑱屽憳淇℃伅
+ GetEmployeeList() {
+ CommonUtils.doRequest2({
+ url: '/Web/GetEmployeeList_Json',
+ data: {
+ Employee: '',
+ HGroupID: 0
+ },
+ resFunction: (res) => {
+ let {
+ data,
+ count,
+ Message
+ } = res.data
+ if (count == 1) {
+ this.HCheckEmpNameArray = Array.from(data).map(item => item['HName'])
+ this.HCheckEmpNameArraySource = data
+ } else {
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ }
+ }
+ })
+ },
+ HGroupNameChangeHandler(e) {
+ let index = this.HGroupNameArray.findIndex(item => item == e)
+
+ if (index != -1) {
+ this.hform.HGroupID = this.HGroupNameArraySource[index]["HItemID"]
+ this.hform.HGroupName = this.HGroupNameArraySource[index]["HName"]
+ }
+ },
+ // 鑾峰彇鐢熶骇鐝粍
+ GetGroupList() {
+ CommonUtils.doRequest2({
+ url: '/WEBSController/GetGroupList_Json',
+ data: {
+ Group: '',
+ HStockOrgID: uni.getStorageSync('OrganizationID')
+ },
+ resFunction: (res) => {
+ let {
+ data,
+ count,
+ Message
+ } = res.data
+ if (count == 1) {
+ this.HGroupNameArray = Array.from(data).map(item => item['HName'])
+ this.HGroupNameArraySource = data
+ } else {
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ }
+ }
+ })
+ },
+
+ // 鑾峰彇鏈�鏂板崟鎹彿鍜孒InterID
+ getMaxNum() {
+ CommonUtils.doRequest2({
+ url: '/Web/GetMAXNum',
+ data: {
+ HBillType: this.HBillType
+ },
+ resFunction: (res) => {
+ let {
+ count,
+ data,
+ Message
+ } = res.data
+ if (count == 1) {
+ this.hform.HBillNo = data[0].HBillNo
+ this.hform.HInterID = data[0].HInterID
+ } else {
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ }
+ }
+ })
+ },
+ HShiftsNameChangeHandler(e) {
+ let index = this.HShiftsNameArray.findIndex(item => item == e)
+ if (index != -1) {
+ this.hform.HShiftsID = this.HShiftsNameArraySource[index]['HInterID']
+ this.hform.HShiftsName = this.HShiftsNameArraySource[index]['鐝鍚嶇О']
+ }
+ },
+ // 鍒濆鍖栫彮娆′俊鎭�
+ get_Gy_WorkShiftList() {
+ CommonUtils.doRequest2({
+ url: '/Gy_ShiftsController/Get_Gy_WorkShiftList',
+ data: {
+ sWhere: ` and 浣跨敤缁勭粐鍚嶇О = '${uni.getStorageSync('Organization')}' and 绂佺敤鏍囪='' and ISNULL(瀹℃牳浜� ,'') !=''`,
+ HMaker: getUserInfo()['Czymc']
+ },
+ resFunction: (res) => {
+ let {
+ data,
+ count,
+ Message
+ } = res.data
+ if (count == 1) {
+ this.HShiftsNameArray = Array.from(data).map(item => item['鐝鍚嶇О'])
+ this.HShiftsNameArraySource = data
+ } else {
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ }
+ }
+ })
+ },
+ // 鑾峰彇鐝
+ get_HWorkShift() {
+ CommonUtils.doRequest2({
+ url: '/Gy_ShiftsController/Get_HWorkShift',
+ data: {
+ "HDeptID": this.hform.HDeptID,
+ "HCenterID": this.hform.HCenterID
+ },
+ resFunction: (res) => {
+ let {
+ data,
+ Message,
+ count
+ } = res.data
+
+ this.hform.HShiftsID = data[0]['HInterID']
+ this.hform.HShiftsName = data[0]['鐝']
+ }
+ })
+ },
+ ProcessExchangeBillQuerySub() {
+ let HProcID = this.hform.HProcID
+ let HBarCode = this.hform.HProcExchInterID
+ let sWhere = ` ${HBarCode} and HProcID = ${HProcID} `
+ CommonUtils.doRequest2({
+ url: '/LEMS/MES_Sc_ProcessExchangeBillQuerySub_Json',
+ data: {
+ sWhere: sWhere
+ },
+ resFunction: (res) => {
+ let {
+ data,
+ Message,
+ count
+ } = res.data
+ if (count == 1 && data.length > 0) {
+ this.hform = Object.assign(this.hform, {
+ HProcID: data[0]['HProcID'],
+ HProcName: data[0]['宸ュ簭鍚嶇О'],
+ HSourceID: data[0]['HSourceID'] || 0,
+ HSourceName: data[0]['鐢熶骇璧勬簮'] || '',
+ HMainSourceEntryID: data[0]['hsubid'],
+ HProcExchEntryID: data[0]['hsubid'],
+ HProcExchQty: data[0]['娴佽浆鍗℃暟閲�'],
+ HCenterID: data[0]['HCenterID'] || getUserInfo()['HWorkCenterID'],
+ })
+
+ }
+ }
+ })
+ },
+ onHProcNameChangeHandler(e) {
+ let index = this.HProcNameArray.findIndex(item => item == e)
+ if (index != -1) {
+ this.hform.HProcName = this.HProcNameArraySource[index]['HName']
+ this.hform.HProcID = this.HProcNameArraySource[index]['HItemID']
+ this.ProcessExchangeBillQuerySub()
+ }
+ },
+ getProcessList() {
+ CommonUtils.doRequest2({
+ url: '/WEBSController/GetProcessList_Json',
+ data: {
+ Process: '',
+ HStockOrgID: uni.getStorageSync("OrganizationID")
+ },
+ resFunction: (res) => {
+ let {
+ data,
+ count,
+ Message
+ } = res.data
+ if (count == 1) {
+ this.HProcNameArray = Array.from(data).map(item => item.HName)
+ this.HProcNameArraySource = data
+ } else {
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ }
+ }
+ })
+ },
+ TestTypeChange(e) {
+ console.log('e: ', e);
+ },
+ toScanCode() {
+ var mpaasScanModule = uni.requireNativePlugin("Mpaas-Scan-Module")
+ mpaasScanModule.mpaasScan({
+ 'hideAlbum': true,
+ 'timeoutInterval': '10', //瓒呮椂鏃堕棿
+ 'timeoutText': '鏈瘑鍒埌浜岀淮鐮�' //瓒呮椂鎻愰啋
+ }, (ret) => {
+ console.log(ret.resp_result)
+ if (this.hform.HBarCode == '*') {
+ this.hform.HBarCode = this.hform.HBarCode + ret.resp_result
+ } else {
+ this.HBarCode = ret.resp_result
+ this.hform.HBarCode = ret.resp_result
+ }
+
+ this.getCode(this.hform.HBarCode)
+ })
+ },
+ getCode(HBarCode) {
+ console.log('HBarCode: ', HBarCode);
+ if (!HBarCode) {
+ return uni.showToast({
+ icon: 'none',
+ title: '鏉″舰鐮佷笉鑳戒负绌�'
+ })
+ }
+ let sWhere = " and 宸ュ簭娴佽浆鍗″彿='" + HBarCode + "'";
+ CommonUtils.doRequest2({
+ url: '/QC_TakeSampleCheckBill/Get_BackSampleList',
+ data: {
+ "sWhere": sWhere
+ },
+ resFunction: (res) => {
+ let {
+ code,
+ Message,
+ count,
+ data
+ } = res.data
+ if (count == 1) {
+ this.hform = Object.assign(this.hform, {
+ "HMaterID": data[0].HMaterID, //浜у搧ID
+ "HMaterNumber": data[0].浜у搧缂栫爜, //浜у搧浠g爜
+ "HMaterName": data[0].浜у搧鍚嶇О, //浜у搧鍚嶇О
+ "HModel": data[0].瑙勬牸鍨嬪彿, //浜у搧瑙勬牸
+ "HUnitID": data[0].HUnitID, //璁¢噺鍗曚綅id
+ "HUnitName": data[0].璁¢噺鍗曚綅, //璁¢噺鍗曚綅
+ "HProcExchBillNo": data[0].宸ュ簭娴佽浆鍗″彿, //娴佽浆鍗″彿
+ "HProcExchInterID": data[0].宸ュ簭娴佽浆鍗′富鍐呯爜, //娴佽浆鍗′富鍐呯爜(鍙栧�糎InterID)
+ "HBatchNo": data[0].宸ュ簭娴佽浆鍗℃壒娆″彿, //娴佽浆鍗℃壒娆�
+ "HICMOInterID": data[0].浠诲姟鍗曞唴鐮�, //鐢熶骇璁㈠崟ID
+ "HICMOEntryID": data[0].浠诲姟鍗曞瓙鍐呯爜, //鐢熶骇璁㈠崟瀛怚D
+ "HICMOBillNo": data[0].浠诲姟鍗曞彿, //鐢熶骇璁㈠崟
+ "HDeptID": data[0].HDeptID, //杞﹂棿ID
+ "HDeptName": data[0].閮ㄩ棬, //杞﹂棿
+ "HProcID": data[0].HProcID, //褰撳墠宸ュ簭ID
+ "HProcName": data[0].宸ュ簭, //褰撳墠宸ュ簭
+ "HProcExchEntryID": data[0].宸ュ簭娴佽浆鍗″瓙鍐呯爜, //娴佽浆鍗″瓙鍐呯爜(婧愬崟琛屽彿)
+ "HProcExchQty": data[0].宸ュ簭娴佽浆鍗℃暟閲�, //娴佽浆鍗℃暟閲�
+ "HICMOQty": data[0].浠诲姟鍗曟暟閲�,
+ "WorkShiftName": data[0].鐢熶骇鐝,
+ "HWorkShiftID": data[0].HShiftsID,
+ "HBarCode": "",
+ })
+
+ console.log('this.hform: ', this.hform);
+ uni.showToast({
+ icon: 'none',
+ title: '鑾峰彇鎴愬姛!'
+ })
+ } else {
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ }
+ }
+ })
+ },
+ submit() {
+ if (this.hform.HProcID == 0) {
+ return uni.showToast({
+ icon: 'none',
+ title: '宸ュ簭娌℃湁閫夋嫨'
+ })
+ }
+ if (this.hform.HQty == '') {
+ return uni.showToast({
+ icon: 'none',
+ title: '鍙栨牱鏁伴噺涓虹┖'
+ })
+ }
+ if (this.hform.HProcID == 0) {
+ return uni.showToast({
+ icon: 'none',
+ title: '宸ュ簭娌℃湁閫夋嫨'
+ })
+ }
+ if (this.hform.HDeptID == 0) {
+ return uni.showToast({
+ icon: 'none',
+ title: '閮ㄩ棬娌℃湁閫夋嫨'
+ })
+ }
+ if (this.hform.HShiftsID == 0) {
+ return uni.showToast({
+ icon: 'none',
+ title: '鐝鏈�夋嫨'
+ })
+ }
+ if (this.hform.HGroupID == 0) {
+ return uni.showToast({
+ icon: 'none',
+ title: '鐢熶骇鐝粍鏈�夋嫨'
+ })
+ }
+ if (this.hform.HCheckEmp == 0) {
+ return uni.showToast({
+ icon: 'none',
+ title: '鍙栨牱鍛樻湭閫夋嫨'
+ })
+ }
+ if (this.hform.HSourceID == 0) {
+ return uni.showToast({
+ icon: 'none',
+ title: '鐢熶骇璧勬簮鏈�夋嫨'
+ })
+ }
+
+ console.log('this.hform: ', this.hform);
+ let sMainStr = JSON.stringify(this.hform)
+ let numData = [{
+ "HMaterID": this.hform.HMaterID,
+ "HUnitID": this.hform.HUnitID,
+ "HProcExchBillNo": this.hform.HProcExchBillNo,
+ "HProcExchInterID": this.hform.HProcExchInterID,
+ "HProcExchEntryID": this.hform.HProcExchEntryID,
+ "HICMOInterID": this.hform.HICMOInterID,
+ "HICMOEntryID": this.hform.HICMOEntryID,
+ "HICMOBillNo": this.hform.HICMOBillNo,
+ "HDeptID": this.hform.HDeptID,
+ "HProcID": this.hform.HProcID,
+ "HProcExchQty": this.hform.HProcExchQty,
+ "HWorkShiftID": this.hform.HWorkShiftID,
+ "HBatchNo": this.hform.HBatchNo,
+ "HICMOQty": this.hform.HICMOQty,
+ "HQty": this.hform.HQty
+ }]
+ let sSubStr = JSON.stringify(numData)
+ let sMainSub = sMainStr + ';' + sSubStr + ';' + this.refSav + ';' + getUserInfo()['Czymc'];
+ CommonUtils.doRequest2({
+ method: 'POST',
+ url: '/QC_TakeSampleCheckBill/SaveQC_BackSampleCheckBillMain',
+ data: {
+ msg: sMainSub
+ },
+ resFunction: (res) => {
+ let {
+ count,
+ Message
+ } = res.data
+ if (count == 1) {
+ return uni.showToast({
+ icon: 'none',
+ title: "鎻愪氦鎴愬姛!"
+ })
+ } else {
+ return uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ }
+ }
+ })
+ },
+ onAddNewHandler() {
+ uni.redirectTo({
+ url: "/pages/quyangdan/TakeSampleCheckBillList?operationType=0"
+ })
+ },
+ goBack() {
+ uni.navigateBack()
+ },
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .scroll-content {
+ box-sizing: border-box;
+ padding: 20rpx;
+
+ ::v-deep .uni-scroll-view-content {
+ box-sizing: border-box;
+ padding: 0 40rpx;
+ display: flex;
+ flex-direction: column;
+ gap: 20rpx;
+ }
+
+ .form-item {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ gap: 20rpx;
+
+ input {
+ width: inherit;
+ padding: 8rpx 20rpx;
+ font-size: 30rpx;
+ }
+
+ .title {
+ width: 5em;
+ font-size: 30rpx;
+ flex-shrink: 0;
+ text-align: right;
+ }
+
+ .right {
+ flex: 1;
+ border-radius: 22rpx;
+ border: 1px solid #acacac;
+ }
+
+ .right-icon {
+ width: 54rpx;
+ height: 54rpx;
+ border-radius: 50%;
+ background-color: #3A78FF;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-shrink: 0;
+
+ }
+
+ .disabled {
+ border: 1px solid #e4e4e4;
+ background-color: #e4e4e4;
+ }
+ }
+ }
+
+ .bottom-btn {
+ position: fixed;
+ bottom: 0;
+ box-sizing: border-box;
+ background-color: #fff;
+ box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
+ padding: 30rpx 40rpx 40rpx 40rpx;
+ display: flex;
+ flex-direction: row;
+ gap: 20rpx;
+ justify-content: space-between;
+ width: 100%;
+
+ button {
+ border-radius: 50rpx;
+ width: 180rpx;
+ height: 66rpx;
+ line-height: 66rpx;
+ font-size: 28rpx;
+ }
+
+ .btn-a {
+ background-color: #3A78FF;
+ color: #fff;
+ }
+
+ .btn-b {
+ background-color: #41a863;
+ color: #fff;
+ }
+
+ .btn-c {
+ background-color: #acacac;
+ color: #fff;
+ }
+ }
+
+ .placeholder__view {
+ flex: 1;
+ }
+</style>
\ No newline at end of file
diff --git a/pages/huanyangdan/BackSampleCheckBillList.vue b/pages/ZLGL/QuYangHuangYang/QC_BackSampleCheckBill/QC_BackSampleCheckBillList.vue
similarity index 99%
rename from pages/huanyangdan/BackSampleCheckBillList.vue
rename to pages/ZLGL/QuYangHuangYang/QC_BackSampleCheckBill/QC_BackSampleCheckBillList.vue
index 227ce5a..48e8290 100644
--- a/pages/huanyangdan/BackSampleCheckBillList.vue
+++ b/pages/ZLGL/QuYangHuangYang/QC_BackSampleCheckBill/QC_BackSampleCheckBillList.vue
@@ -192,7 +192,7 @@
} from '@/utils/common.js'
import {
getUserInfo
- } from '../../utils/auth'
+ } from '../../../../utils/auth'
export default {
data() {
return {
diff --git a/pages/ZLGL/QuYangHuangYang/QC_TakeSampleCheckBill/QC_TakeSampleCheckBill.vue b/pages/ZLGL/QuYangHuangYang/QC_TakeSampleCheckBill/QC_TakeSampleCheckBill.vue
new file mode 100644
index 0000000..74c82a2
--- /dev/null
+++ b/pages/ZLGL/QuYangHuangYang/QC_TakeSampleCheckBill/QC_TakeSampleCheckBill.vue
@@ -0,0 +1,831 @@
+<template>
+ <view>
+ <scroll-view scroll-y id="scroll-content" class="scroll-content" :style="{height: scrollContentHeight + 'px'}">
+ <view class="form-item">
+ <view class="title">鏉″舰鐮�:</view>
+ <view class="right">
+ <input type="text" name="HBarCode" id="HBarCode" v-model="HBarCode" @confirm="getCode(HBarCode)" />
+ </view>
+ <view class="right-icon" @click="toScanCode">
+ <uni-icons color="#fff" type="scan" size="24"></uni-icons>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">宸ュ簭:</view>
+ <view class="right">
+ <uni-combox :candidates="HProcNameArray" name="HProcName" id="HProcName" placeholder="璇烽�夋嫨宸ュ簭鍙�"
+ v-model="hform.HProcName" @input="onHProcNameChangeHandler"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">鍙栨牱鏁伴噺:</view>
+ <view class="right">
+ <input type="number" name="HQty" id="HQty" v-model="hform.HQty" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">鐮村潖鎬у疄楠屾暟閲�:</view>
+ <view class="right">
+ <input type="number" name="HSampleDamageQty" id="HSampleDamageQty"
+ v-model="hform.HSampleDamageQty" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">閫佹祴绫诲瀷:</view>
+ <view class="right">
+ <uni-combox :candidates="TestTypeArray" v-model="hform.TestType"
+ @input="TestTypeChange"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">閫佹祴鍐呭:</view>
+ <view class="right">
+ <input type="text" name="HBadNote" id="HBadNote" v-model="hform.HBadNote" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">閮ㄩ棬:</view>
+ <view class="right">
+ <uni-combox :candidates="HDeptNameArray" name="HDeptName" id="HDeptName" placeholder="璇烽�夋嫨閮ㄩ棬"
+ v-model="hform.HDeptName" @input="HDeptNameChangeHandler"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">鐢熶骇鐝:</view>
+ <view class="right">
+ <uni-combox :candidates="HShiftsNameArray" name="HShiftsName" id="HShiftsName" placeholder="璇烽�夋嫨鐢熶骇鐝"
+ v-model="hform.HShiftsName" @input="HShiftsNameChangeHandler"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">鐢熶骇鐝粍:</view>
+ <view class="right">
+ <uni-combox :candidates="HGroupNameArray" name="HShiftsName" id="HShiftsName" placeholder="璇烽�夋嫨鐢熶骇鐝粍"
+ v-model="hform.HGroupName" @input="HGroupNameChangeHandler"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">鍙栨牱鍛�:</view>
+ <view class="right">
+ <uni-combox :candidates="HCheckEmpNameArray" name="HCheckEmpName" id="HCheckEmpName"
+ placeholder="璇烽�夋嫨鍙栨牱鍛�" v-model="hform.HCheckEmpName"
+ @input="HCheckEmpNameChangeHandler"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">鐢熶骇璧勬簮:</view>
+ <view class="right">
+ <uni-combox :candidates="HSourceNameArray" name="HSourceName" id="HSourceName" placeholder="璇烽�夋嫨鐢熶骇璧勬枡"
+ v-model="hform.HSourceName" @input="HSourceNameChangeHandler"></uni-combox>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">鍗曟嵁鏃ユ湡:</view>
+ <view class="right disabled">
+ <input disabled type="text" name="HDate" id="HDate" v-model="hform.HDate" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">鍗曟嵁鍙�:</view>
+ <view class="right disabled">
+ <input disabled type="text" name="HBillNo" id="HBillNo" v-model="hform.HBillNo" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">鐢熶骇璁㈠崟:</view>
+ <view class="right disabled">
+ <input disabled type="text" v-model="hform.HICMOBillNo" name="HICMOBillNo" id="HICMOBillNo" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">娴佽浆鍗�:</view>
+ <view class="right disabled">
+ <input disabled type="text" v-model="hform.HProcExchBillNo" name="HProcExchBillNo"
+ id="HProcExchBillNo" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">鐗╂枡浠g爜:</view>
+ <view class="right disabled">
+ <input disabled type="text" v-model="hform.HMaterCode" name="HMaterCode" id="HMaterCode" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">鐗╂枡鍚嶇О:</view>
+ <view class="right disabled">
+ <input disabled type="text" v-model="hform.HMaterName" name="HMaterName" id="HMaterName" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">瑙勬牸鍨嬪彿:</view>
+ <view class="right disabled">
+ <input disabled type="text" v-model="hform.HMaterSpec" name="HMaterSpec" id="HMaterSpec" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">璁¢噺鍗曚綅:</view>
+ <view class="right disabled">
+ <input disabled type="text" v-model="hform.HUnitName" name="HUnitName" id="HUnitName" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">娴佽浆鍗℃壒鍙�:</view>
+ <view class="right disabled">
+ <input disabled type="text" v-model="hform.HBatchNo" name="HBatchNo" id="HBatchNo" />
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="title">娴佽浆鍗℃暟閲�:</view>
+ <view class="right disabled">
+ <input disabled type="text" v-model="hform.HProcExchQty" name="HProcExchQty" id="HProcExchQty" />
+ </view>
+ </view>
+ </scroll-view>
+ <view class="bottom-btn" id="bottom-btn">
+ <view><button class="btn-a" size="mini" @tap="submit">鎻愪氦</button></view>
+ <view><button class="btn-b" size="mini" @tap="onAddNewHandler">鏂板</button></view>
+ <view class="placeholder__view"></view>
+ <view><button class="btn-c" size="mini" @tap="goBack">閫�鍑�</button></view>
+ </view>
+ </view>
+</template>
+
+<script>
+ import dayjs from "dayjs";
+ import {
+ CommonUtils
+ } from "@/utils/common";
+ import {
+ getUserInfo
+ } from '../../../../utils/auth'
+
+
+ export default {
+ data() {
+ return {
+ pageMeta: {
+ scrollContentTop: 0,
+ bottomBtnTop: 0,
+ },
+ refSav: 'Add',
+ showMask: true,
+ TestTypeArray: ["棣栨", "宸℃", "鏈", "瀹為獙"],
+
+ HBillType: '7521',
+ HProcNameArray: [],
+ HProcNameArraySource: [],
+
+ HDeptNameArray: [],
+ HDeptNameArraySource: [],
+
+ HShiftsNameArray: [],
+ HShiftsNameArraySource: [],
+
+ HGroupNameArray: [],
+ HGroupNameArraySource: [],
+
+ HCheckEmpNameArray: [],
+ HCheckEmpNameSource: [],
+
+ HSourceNameArray: [],
+ HSourceNameSource: [],
+
+ HBarCode: '',
+ hform: {
+ HBarCode: '',
+ HProcName: '',
+ HProcID: 0,
+ HQty: '',
+ HSampleDamageQty: 0,
+ TestType: '棣栨',
+ HBadNote: '',
+ HDeptName: '',
+ HDeptID: 0,
+ HCenterID: 0,
+ HShiftsName: '',
+ HShiftsID: 0,
+ HGroupName: '',
+ HGroupID: 0,
+ HCheckEmpName: '',
+ HCheckEmp: '',
+ HSourceName: '',
+ HSourceID: 0,
+ HDate: dayjs(new Date()).format("YYYY-MM-DD"),
+ HBillNo: '',
+ HInterID: 0,
+ HICMOBillNo: '',
+ HICMOInterID: 0,
+ HICMOEntryID: 0,
+ HProcExchBillNo: '',
+ HProcExchInterID: 0,
+ HProcExchEntryID: 0,
+ HMainSourceBillNo: '',
+ HMainSourceInterID: 0,
+ HMainSourceBillType: '',
+ HMainSourceEntryID: 0,
+ HMaterCode: '',
+ HMaterID: 0,
+ HMaterName: '',
+ HMaterSpec: '',
+ HUnitName: '',
+ HUnitID: 0,
+ HBatchNo: '',
+ HProcExchQty: '',
+ HMaker: getUserInfo()['Czymc'],
+ HMakeDate: dayjs(new Date()).format("YYYY-MM-DD hh:mm:ss"),
+ HUpDater: '',
+ HUpDateDate: '',
+ HChecker: '',
+ HCheckDate: '',
+ HDeleteMan: '',
+ HDeleteDate: '',
+ }
+ }
+ },
+ computed: {
+ scrollContentHeight: {
+ get() {
+ return this.pageMeta.bottomBtnTop - this.pageMeta.scrollContentTop
+ }
+ }
+ },
+ onReady() {
+ // #ifndef MP-WEIXIN
+ let query = uni.createSelectorQuery().in(this)
+ query.select("#scroll-content").boundingClientRect((data) => {
+ this.pageMeta.scrollContentTop = data.top
+ }).exec()
+ query.select("#bottom-btn").boundingClientRect((data) => {
+ this.pageMeta.bottomBtnTop = data.top
+ }).exec()
+ // #endif
+ // #ifdef MP-WEIXIN
+ // 寰俊涓嶆敮鎸� uni.createSelectorQuery().in(this)
+ // #endif
+
+ },
+ async onLoad(e) {
+ let {
+ operationType
+ } = e
+ if (operationType == 0) {
+ this.getMaxNum()
+ this.refSav = 'Add'
+ } else {
+ this.refSav = 'Update'
+ }
+
+ this.getProcessList()
+ this.get_Gy_WorkShiftList()
+ this.GetGroupList()
+ this.GetEmployeeList()
+ this.getSourceList()
+ this.GetDepartmentList()
+ },
+ methods: {
+ HDeptNameChangeHandler() {
+ let index = this.HDeptNameArray.findIndex(item => item == e)
+
+ if (index != -1) {
+ this.hform.HDeptID = this.HDeptNameArraySource[index]["HItemID"]
+ this.hform.HDeptName = this.HDeptNameArraySource[index]["HName"]
+ }
+ },
+ GetDepartmentList() {
+ CommonUtils.doRequest2({
+ url: '/Web/GetDepartmentList_Json',
+ data: {
+ Department: '',
+ },
+ resFunction: (res) => {
+ let {
+ data,
+ count,
+ Message,
+ code
+ } = res.data
+ if (count == 1) {
+ this.HDeptNameArray = Array.from(data).map(item => item['HName'])
+ this.HDeptNameArraySource = data
+ } else {
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ }
+ }
+ })
+ },
+ HSourceNameChangeHandler(e) {
+ let index = this.HSourceNameArray.findIndex(item => item == e)
+
+ if (index != -1) {
+ this.hform.HSourceID = this.HSourceNameArraySource[index]["HItemID"]
+ this.hform.HSourceName = this.HSourceNameArraySource[index]["鐢熶骇璧勬簮"]
+ }
+
+ console.log('this.hform: ', this.hform);
+ },
+ // 鑾峰彇鐢熶骇璧勬簮
+ getSourceList() {
+ CommonUtils.doRequest2({
+ url: '/api/newBill/getSourceList',
+ data: {
+ sWhere: '',
+ },
+ resFunction: (res) => {
+ let {
+ data,
+ count,
+ msg,
+ code
+ } = res.data
+ if (code == 1) {
+ let data1 = data.Gy_Source
+ this.HSourceNameArray = Array.from(data1).map(item => item['鐢熶骇璧勬簮'])
+ this.HSourceNameArraySource = data1
+ } else {
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ }
+ }
+ })
+ },
+ HCheckEmpNameChangeHandler(e) {
+ let index = this.HCheckEmpNameArray.findIndex(item => item == e)
+
+ if (index != -1) {
+ this.hform.HCheckEmp = this.HCheckEmpNameArraySource[index]["HItemID"]
+ this.hform.HCheckEmpName = this.HCheckEmpNameArraySource[index]["HName"]
+ }
+ },
+ // 鑾峰彇鑱屽憳淇℃伅
+ GetEmployeeList() {
+ CommonUtils.doRequest2({
+ url: '/Web/GetEmployeeList_Json',
+ data: {
+ Employee: '',
+ HGroupID: this.hform.HGroupID
+ },
+ resFunction: (res) => {
+ let {
+ data,
+ count,
+ Message
+ } = res.data
+ if (count == 1) {
+ this.HCheckEmpNameArray = Array.from(data).map(item => item['HName'])
+ this.HCheckEmpNameArraySource = data
+ } else {
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ }
+ }
+ })
+ },
+ HGroupNameChangeHandler(e) {
+ let index = this.HGroupNameArray.findIndex(item => item == e)
+
+ if (index != -1) {
+ this.hform.HGroupID = this.HGroupNameArraySource[index]["HItemID"]
+ this.hform.HGroupName = this.HGroupNameArraySource[index]["HName"]
+ }
+ },
+ // 鑾峰彇鐢熶骇鐝粍
+ GetGroupList() {
+ CommonUtils.doRequest2({
+ url: '/WEBSController/GetGroupList_Json',
+ data: {
+ Group: '',
+ HStockOrgID: uni.getStorageSync('OrganizationID')
+ },
+ resFunction: (res) => {
+ let {
+ data,
+ count,
+ Message
+ } = res.data
+ if (count == 1) {
+ this.HGroupNameArray = Array.from(data).map(item => item['HName'])
+ this.HGroupNameArraySource = data
+ } else {
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ }
+ }
+ })
+ },
+
+ // 鑾峰彇鏈�鏂板崟鎹彿鍜孒InterID
+ getMaxNum() {
+ CommonUtils.doRequest2({
+ url: '/Web/GetMAXNum',
+ data: {
+ HBillType: this.HBillType
+ },
+ resFunction: (res) => {
+ let {
+ count,
+ data,
+ Message
+ } = res.data
+ if (count == 1) {
+ this.hform.HBillNo = data[0].HBillNo
+ this.hform.HInterID = data[0].HInterID
+ } else {
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ }
+ }
+ })
+ },
+ HShiftsNameChangeHandler(e) {
+ let index = this.HShiftsNameArray.findIndex(item => item == e)
+ if (index != -1) {
+ this.hform.HShiftsID = this.HShiftsNameArraySource[index]['HInterID']
+ this.hform.HShiftsName = this.HShiftsNameArraySource[index]['鐝鍚嶇О']
+ }
+ },
+ // 鍒濆鍖栫彮娆′俊鎭�
+ get_Gy_WorkShiftList() {
+ CommonUtils.doRequest2({
+ url: '/Gy_ShiftsController/Get_Gy_WorkShiftList',
+ data: {
+ sWhere: ` and 浣跨敤缁勭粐鍚嶇О = '${uni.getStorageSync('Organization')}' and 绂佺敤鏍囪='' and ISNULL(瀹℃牳浜� ,'') !=''`,
+ HMaker: getUserInfo()['Czymc']
+ },
+ resFunction: (res) => {
+ let {
+ data,
+ count,
+ Message
+ } = res.data
+ if (count == 1) {
+ this.HShiftsNameArray = Array.from(data).map(item => item['鐝鍚嶇О'])
+ this.HShiftsNameArraySource = data
+ } else {
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ }
+ }
+ })
+ },
+ // 鑾峰彇鐝
+ get_HWorkShift() {
+ CommonUtils.doRequest2({
+ url: '/Gy_ShiftsController/Get_HWorkShift',
+ data: {
+ "HDeptID": this.hform.HDeptID,
+ "HCenterID": this.hform.HCenterID
+ },
+ resFunction: (res) => {
+ let {
+ data,
+ Message,
+ count
+ } = res.data
+
+ this.hform.HShiftsID = data[0]['HInterID']
+ this.hform.HShiftsName = data[0]['鐝']
+ }
+ })
+ },
+ ProcessExchangeBillQuerySub() {
+ let HProcID = this.hform.HProcID
+ let HBarCode = this.hform.HProcExchInterID
+ let sWhere = ` ${HBarCode} and HProcID = ${HProcID} `
+ CommonUtils.doRequest2({
+ url: '/LEMS/MES_Sc_ProcessExchangeBillQuerySub_Json',
+ data: {
+ sWhere: sWhere
+ },
+ resFunction: (res) => {
+ let {
+ data,
+ Message,
+ count
+ } = res.data
+ if (count == 1 && data.length > 0) {
+ this.hform = Object.assign(this.hform, {
+ HProcID: data[0]['HProcID'],
+ HProcName: data[0]['宸ュ簭鍚嶇О'],
+ HSourceID: data[0]['HSourceID'] || 0,
+ HSourceName: data[0]['鐢熶骇璧勬簮'] || '',
+ HMainSourceEntryID: data[0]['hsubid'],
+ HProcExchEntryID: data[0]['hsubid'],
+ HProcExchQty: data[0]['娴佽浆鍗℃暟閲�'],
+ HCenterID: data[0]['HCenterID'] || getUserInfo()['HWorkCenterID'],
+ })
+
+ }
+ }
+ })
+ },
+ onHProcNameChangeHandler(e) {
+ let index = this.HProcNameArray.findIndex(item => item == e)
+ if (index != -1) {
+ this.hform.HProcName = this.HProcNameArraySource[index]['HName']
+ this.hform.HProcID = this.HProcNameArraySource[index]['HItemID']
+ this.ProcessExchangeBillQuerySub()
+ }
+ },
+ getProcessList() {
+ CommonUtils.doRequest2({
+ url: '/WEBSController/GetProcessList_Json',
+ data: {
+ Process: '',
+ HStockOrgID: uni.getStorageSync("OrganizationID")
+ },
+ resFunction: (res) => {
+ let {
+ data,
+ count,
+ Message
+ } = res.data
+ if (count == 1) {
+ this.HProcNameArray = Array.from(data).map(item => item.HName)
+ this.HProcNameArraySource = data
+ } else {
+ uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ }
+ }
+ })
+ },
+ TestTypeChange(e) {
+ console.log('e: ', e);
+ },
+ toScanCode() {
+ var mpaasScanModule = uni.requireNativePlugin("Mpaas-Scan-Module")
+ mpaasScanModule.mpaasScan({
+ 'hideAlbum': true,
+ 'timeoutInterval': '10', //瓒呮椂鏃堕棿
+ 'timeoutText': '鏈瘑鍒埌浜岀淮鐮�' //瓒呮椂鎻愰啋
+ }, (ret) => {
+ console.log(ret.resp_result)
+ if (this.hform.HBarCode == '*') {
+ this.hform.HBarCode = this.hform.HBarCode + ret.resp_result
+ } else {
+ this.HBarCode = ret.resp_result
+ this.hform.HBarCode = ret.resp_result
+ }
+
+ this.getCode(this.hform.HBarCode)
+ })
+ },
+ getCode(HBarCode) {
+ if (!HBarCode) {
+ return uni.showToast({
+ icon: 'none',
+ title: '鏉″舰鐮佷笉鑳戒负绌�'
+ })
+ }
+ CommonUtils.doRequest2({
+ url: '/api/newBill/getHbarCodeDetail',
+ data: {
+ "sBillBarCode": HBarCode
+ },
+ resFunction: (res) => {
+ let {
+ code,
+ msg,
+ count,
+ data
+ } = res.data
+ if (code == 1) {
+ this.HBarCode = ''
+ let data1 = data.h_v_Sc_ProcessExchangeBillList
+ this.hform = Object.assign(this.hform, {
+ "HMaterID": data1[0].HMaterID, //浜у搧ID
+ "HMaterCode": data1[0].浜у搧浠g爜, //浜у搧浠g爜
+ "HMaterName": data1[0].浜у搧, //浜у搧鍚嶇О
+ "HMaterSpec": data1[0].瑙勬牸鍨嬪彿, //浜у搧瑙勬牸
+ "HUnitID": data1[0].HUnitID, //璁¢噺鍗曚綅id
+ "HUnitName": data1[0].鍗曚綅, //璁¢噺鍗曚綅
+ "HMainSourceBillNo": data1[0].鍗曟嵁鍙�, //婧愬崟鍗曞彿
+ "HMainSourceInterID": data1[0].hmainid, //婧愬崟涓诲唴鐮�
+ "HMainSourceBillType": 3772, //婧愬崟绫诲瀷
+ "HProcExchBillNo": data1[0].鍗曟嵁鍙�, //娴佽浆鍗″彿
+ "HProcExchInterID": data1[0].hmainid, //娴佽浆鍗′富鍐呯爜(鍙栧�糎InterID)
+ "HBatchNo": data1[0].鎵瑰彿, //娴佽浆鍗℃壒娆�
+ "HICMOInterID": data1[0].hicmointerid, //鐢熶骇璁㈠崟ID
+ "HICMOEntryID": data1[0].HICMOEntryID, //鐢熶骇璁㈠崟瀛怚D
+ "HICMOBillNo": data1[0].浠诲姟鍗曞彿, //鐢熶骇璁㈠崟
+ "HDeptID": data1[0].HWorkShopID, //杞﹂棿ID
+ "HDeptName": data1[0].鐢熶骇杞﹂棿, //杞﹂棿
+ })
+
+ uni.showToast({
+ icon: 'none',
+ title: msg
+ })
+ } else {
+ uni.showToast({
+ icon: 'none',
+ title: msg
+ })
+ }
+ }
+ })
+ },
+ submit() {
+ if (this.hform.HProcID == 0) {
+ return uni.showToast({
+ icon: 'none',
+ title: '宸ュ簭娌℃湁閫夋嫨'
+ })
+ }
+ if (this.hform.HQty == '') {
+ return uni.showToast({
+ icon: 'none',
+ title: '鍙栨牱鏁伴噺涓虹┖'
+ })
+ }
+ if (this.hform.HProcID == 0) {
+ return uni.showToast({
+ icon: 'none',
+ title: '宸ュ簭娌℃湁閫夋嫨'
+ })
+ }
+ if (this.hform.HDeptID == 0) {
+ return uni.showToast({
+ icon: 'none',
+ title: '閮ㄩ棬娌℃湁閫夋嫨'
+ })
+ }
+ if (this.hform.HShiftsID == 0) {
+ return uni.showToast({
+ icon: 'none',
+ title: '鐝鏈�夋嫨'
+ })
+ }
+ if (this.hform.HGroupID == 0) {
+ return uni.showToast({
+ icon: 'none',
+ title: '鐢熶骇鐝粍鏈�夋嫨'
+ })
+ }
+ if (this.hform.HCheckEmp == 0) {
+ return uni.showToast({
+ icon: 'none',
+ title: '鍙栨牱鍛樻湭閫夋嫨'
+ })
+ }
+ if (this.hform.HSourceID == 0) {
+ return uni.showToast({
+ icon: 'none',
+ title: '鐢熶骇璧勬簮鏈�夋嫨'
+ })
+ }
+
+ console.log('this.hform: ', this.hform);
+ let sMainStr = JSON.stringify(this.hform)
+ console.log('sMainStr: ', sMainStr);
+ let sMainSub = sMainStr + ';' + this.refSav + ';' + getUserInfo()['Czymc'];
+ CommonUtils.doRequest2({
+ method: 'POST',
+ url: '/QC_TakeSampleCheckBill/SaveQC_TakeSampleCheckBillMain',
+ data: {
+ msg: sMainSub
+ },
+ resFunction: (res) => {
+ let {
+ count,
+ Message
+ } = res.data
+ if (count == 1) {
+ return uni.showToast({
+ icon: 'none',
+ title: "鎻愪氦鎴愬姛!"
+ })
+ } else {
+ return uni.showToast({
+ icon: 'none',
+ title: Message
+ })
+ }
+ }
+ })
+ },
+ onAddNewHandler() {
+ uni.redirectTo({
+ url: "/pages/quyangdan/TakeSampleCheckBillList?operationType=0"
+ })
+ },
+ goBack() {
+ uni.navigateBack()
+ },
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .scroll-content {
+ box-sizing: border-box;
+ padding: 20rpx;
+
+ ::v-deep .uni-scroll-view-content {
+ box-sizing: border-box;
+ padding: 0 40rpx;
+ display: flex;
+ flex-direction: column;
+ gap: 20rpx;
+ }
+
+ .form-item {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ gap: 20rpx;
+
+ input {
+ width: inherit;
+ padding: 8rpx 20rpx;
+ font-size: 30rpx;
+ }
+
+ .title {
+ width: 5em;
+ font-size: 30rpx;
+ flex-shrink: 0;
+ text-align: right;
+ }
+
+ .right {
+ flex: 1;
+ border-radius: 22rpx;
+ border: 1px solid #acacac;
+ }
+
+ .right-icon {
+ width: 54rpx;
+ height: 54rpx;
+ border-radius: 50%;
+ background-color: #3A78FF;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-shrink: 0;
+
+ }
+
+ .disabled {
+ border: 1px solid #e4e4e4;
+ background-color: #e4e4e4;
+ }
+ }
+ }
+
+ .bottom-btn {
+ position: fixed;
+ bottom: 0;
+ box-sizing: border-box;
+ background-color: #fff;
+ box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
+ padding: 30rpx 40rpx 40rpx 40rpx;
+ display: flex;
+ flex-direction: row;
+ gap: 20rpx;
+ justify-content: space-between;
+ width: 100%;
+
+ button {
+ border-radius: 50rpx;
+ width: 180rpx;
+ height: 66rpx;
+ line-height: 66rpx;
+ font-size: 28rpx;
+ }
+
+ .btn-a {
+ background-color: #3A78FF;
+ color: #fff;
+ }
+
+ .btn-b {
+ background-color: #41a863;
+ color: #fff;
+ }
+
+ .btn-c {
+ background-color: #acacac;
+ color: #fff;
+ }
+ }
+
+ .placeholder__view {
+ flex: 1;
+ }
+</style>
\ No newline at end of file
diff --git a/pages/quyangdan/TakeSampleCheckBillList.vue b/pages/ZLGL/QuYangHuangYang/QC_TakeSampleCheckBill/QC_TakeSampleCheckBillList.vue
similarity index 99%
rename from pages/quyangdan/TakeSampleCheckBillList.vue
rename to pages/ZLGL/QuYangHuangYang/QC_TakeSampleCheckBill/QC_TakeSampleCheckBillList.vue
index 99f0dfa..edcaf01 100644
--- a/pages/quyangdan/TakeSampleCheckBillList.vue
+++ b/pages/ZLGL/QuYangHuangYang/QC_TakeSampleCheckBill/QC_TakeSampleCheckBillList.vue
@@ -198,7 +198,7 @@
} from '@/utils/common.js'
import {
getUserInfo
- } from '../../utils/auth'
+ } from '../../../../utils/auth'
export default {
data() {
return {
diff --git a/pages/ZLGL/lailiaojianyan_fast/Kf_QCStockInCheckBill_Fast.vue b/pages/ZLGL/lailiaojianyan_fast/Kf_QCStockInCheckBill_Fast.vue
index 2710c7b..e7daec9 100644
--- a/pages/ZLGL/lailiaojianyan_fast/Kf_QCStockInCheckBill_Fast.vue
+++ b/pages/ZLGL/lailiaojianyan_fast/Kf_QCStockInCheckBill_Fast.vue
@@ -475,10 +475,16 @@
this.HCheckResultList.find(elem => elem.text == e)?.value
if (e == '鍚堟牸') {
this.HUseResultValueList = ["鎺ユ敹", "璁╂鎺ユ敹"]
+ this.detailManifestItem.HUseResultName = "鎺ユ敹"
+ this.detailManifestItem.HUseResult = "A"
} else if (e == '涓嶅悎鏍�') {
this.HUseResultValueList = ["鎸戦��(鍏ㄦ)", "鍒ら��"]
+ this.detailManifestItem.HUseResultName = "鎸戦��(鍏ㄦ)"
+ this.detailManifestItem.HUseResult = "E"
} else if (e == '淇濈暀') {
this.HUseResultValueList = ["鎺ユ敹", "璁╂鎺ユ敹", "鎸戦��(鍏ㄦ)", "鍒ら��"]
+ this.detailManifestItem.HUseResultName = "鎺ユ敹"
+ this.detailManifestItem.HUseResult = "A"
}
this.HUseResultChangeHandle(this.HUseResultValueList[0])
diff --git a/pages/guzhangdengji/EqpConkBookBillList.vue b/pages/guzhangdengji/EqpConkBookBillList.vue
index 8fa436f..e27dad9 100644
--- a/pages/guzhangdengji/EqpConkBookBillList.vue
+++ b/pages/guzhangdengji/EqpConkBookBillList.vue
@@ -371,7 +371,7 @@
edit(item){
console.log(item)
uni.navigateTo({
- url:'/pages/guzhangdengji/EqpConkBookBill?hmainid=' + item.hmainid
+ url:'/pages/MJGL/Sb_EquipConkBook/Sb_EquipConkBookBill?operationType=3&hmainid=' + item.hmainid
})
},
//鍒犻櫎
diff --git a/pages/huanyangdan/BackSampleCheckBill.vue b/pages/huanyangdan/BackSampleCheckBill.vue
deleted file mode 100644
index 21f870a..0000000
--- a/pages/huanyangdan/BackSampleCheckBill.vue
+++ /dev/null
@@ -1,817 +0,0 @@
-<template>
- <view>
- <scroll-view scroll-y id="scroll-content" class="scroll-content" :style="{height: scrollContentHeight + 'px'}">
- <view class="form-item">
- <view class="title">鏉″舰鐮�:</view>
- <view class="right">
- <input type="text" name="HBarCode" id="HBarCode" v-model="HBarCode" @confirm="getCode(HBarCode)" />
- </view>
- <view class="right-icon" @click="toScanCode">
- <uni-icons color="#fff" type="scan" size="24"></uni-icons>
- </view>
- </view>
- <view class="form-item">
- <view class="title">杩樻牱鏁伴噺:</view>
- <view class="right">
- <input type="number" name="HQty" id="HQty" v-model="hform.HQty" />
- </view>
- </view>
- <view class="form-item">
- <view class="title">杩樻牱鍐呭:</view>
- <view class="right">
- <input type="text" name="HRemark" id="HRemark" v-model="hform.HRemark" />
- </view>
- </view>
-
-
- <view class="form-item">
- <view class="title">杩樻牱鍛�:</view>
- <view class="right">
- <uni-combox :candidates="HCheckEmpNameArray" name="HCheckEmpName" id="HCheckEmpName"
- placeholder="璇烽�夋嫨杩樻牱鍛�" v-model="hform.HCheckEmpName"
- @input="HCheckEmpNameChangeHandler"></uni-combox>
- </view>
- </view>
- <view class="form-item">
- <view class="title">閮ㄩ棬:</view>
- <view class="right">
- <uni-combox :candidates="HDeptNameArray" name="HDeptName" id="HDeptName" placeholder="璇烽�夋嫨閮ㄩ棬"
- v-model="hform.HDeptName" @input="HDeptNameChangeHandler"></uni-combox>
- </view>
- </view>
- <view class="form-item">
- <view class="title">鐢熶骇鐝:</view>
- <view class="right">
- <uni-combox :candidates="HShiftsNameArray" name="HShiftsName" id="HShiftsName" placeholder="璇烽�夋嫨鐢熶骇鐝"
- v-model="hform.HShiftsName" @input="HShiftsNameChangeHandler"></uni-combox>
- </view>
- </view>
-
- <view class="form-item">
- <view class="title">鍗曟嵁鏃ユ湡:</view>
- <view class="right disabled">
- <input disabled type="text" name="HDate" id="HDate" v-model="hform.HDate" />
- </view>
- </view>
- <view class="form-item">
- <view class="title">鍗曟嵁鍙�:</view>
- <view class="right disabled">
- <input disabled type="text" name="HBillNo" id="HBillNo" v-model="hform.HBillNo" />
- </view>
- </view>
- <view class="form-item">
- <view class="title">鐢熶骇璁㈠崟:</view>
- <view class="right disabled">
- <input disabled type="text" v-model="hform.HICMOBillNo" name="HICMOBillNo" id="HICMOBillNo" />
- </view>
- </view>
- <view class="form-item">
- <view class="title">娴佽浆鍗�:</view>
- <view class="right disabled">
- <input disabled type="text" v-model="hform.HProcExchBillNo" name="HProcExchBillNo"
- id="HProcExchBillNo" />
- </view>
- </view>
- <view class="form-item">
- <view class="title">鐗╂枡浠g爜:</view>
- <view class="right disabled">
- <input disabled type="text" v-model="hform.HMaterCode" name="HMaterCode" id="HMaterCode" />
- </view>
- </view>
- <view class="form-item">
- <view class="title">鐗╂枡鍚嶇О:</view>
- <view class="right disabled">
- <input disabled type="text" v-model="hform.HMaterName" name="HMaterName" id="HMaterName" />
- </view>
- </view>
- <view class="form-item">
- <view class="title">瑙勬牸鍨嬪彿:</view>
- <view class="right disabled">
- <input disabled type="text" v-model="hform.HMaterSpec" name="HMaterSpec" id="HMaterSpec" />
- </view>
- </view>
- <view class="form-item">
- <view class="title">璁¢噺鍗曚綅:</view>
- <view class="right disabled">
- <input disabled type="text" v-model="hform.HUnitName" name="HUnitName" id="HUnitName" />
- </view>
- </view>
- <view class="form-item">
- <view class="title">宸ュ簭:</view>
- <view class="right disabled">
- <input disabled type="text" v-model="hform.HProcName" name="HProcName" id="HProcName" />
- </view>
- </view>
- <view class="form-item">
- <view class="title">娴佽浆鍗℃壒鍙�:</view>
- <view class="right disabled">
- <input disabled type="text" v-model="hform.HBatchNo" name="HBatchNo" id="HBatchNo" />
- </view>
- </view>
- <view class="form-item">
- <view class="title">娴佽浆鍗℃暟閲�:</view>
- <view class="right disabled">
- <input disabled type="text" v-model="hform.HProcExchQty" name="HProcExchQty" id="HProcExchQty" />
- </view>
- </view>
- </scroll-view>
- <view class="bottom-btn" id="bottom-btn">
- <view><button class="btn-a" size="mini" @tap="submit">鎻愪氦</button></view>
- <view><button class="btn-b" size="mini" @tap="onAddNewHandler">鏂板</button></view>
- <view class="placeholder__view"></view>
- <view><button class="btn-c" size="mini" @tap="goBack">閫�鍑�</button></view>
- </view>
- </view>
-</template>
-
-<script>
- import dayjs from 'dayjs'
- import {
- getUserInfo
- } from '../../utils/auth'
- import {
- CommonUtils
- } from '../../utils/common'
-
- export default {
- data() {
- return {
- pageMeta: {
- scrollContentTop: 0,
- bottomBtnTop: 0,
- },
- refSav: 'Add',
- showMask: true,
- TestTypeArray: ["棣栨", "宸℃", "鏈", "瀹為獙"],
-
- HBillType: '7522',
- HProcNameArray: [],
- HProcNameArraySource: [],
-
- HDeptNameArray: [],
- HDeptNameArraySource: [],
-
- HShiftsNameArray: [],
- HShiftsNameArraySource: [],
-
- HGroupNameArray: [],
- HGroupNameArraySource: [],
-
- HCheckEmpNameArray: [],
- HCheckEmpNameSource: [],
-
- HSourceNameArray: [],
- HSourceNameSource: [],
-
- HBarCode: '',
- hform: {
- HBarCode: '',
- HQty: '',
- HRemark: '',
- HEmpName: getUserInfo()['HEmpName'],
- HEmp: getUserInfo()['HEmpID'],
- HDeptName: '',
- HDeptID: 0,
- HWorkShiftName: '',
- HWorkShiftID: 0,
- HDate: dayjs(new Date()).format("YYYY-MM-DD"),
- HBillNo: '',
- HInterID: '',
- HICMOBillNo: '',
- HICMOInterID: '',
- HICMOEntryID: '',
- HProcExchBillNo: '',
- HProcExchInterID: '',
- HProcExchEntryID: '',
- HMaterNumber: '',
- HMaterID: 0,
- HMaterName: '',
- HModel: '',
- HUnitName: '',
- HUnitID: '',
- HProcName: '',
- HProcID: '',
- HBatchNo: '',
- HProcExchQty: '',
- HICMOQty: '',
- HMaker: getUserInfo()['Czymc'],
- HMakeDate: dayjs(new Date()).format("YYYY-MM-DD hh:mm:ss"),
- HUpDater: '',
- HUpDateDate: '',
- HChecker: '',
- HCheckDate: '',
- HDeleteMan: '',
- HDeleteDate: '',
- }
- }
- },
- computed: {
- scrollContentHeight: {
- get() {
- return this.pageMeta.bottomBtnTop - this.pageMeta.scrollContentTop
- }
- }
- },
- onReady() {
- // #ifndef MP-WEIXIN
- let query = uni.createSelectorQuery().in(this)
- query.select("#scroll-content").boundingClientRect((data) => {
- this.pageMeta.scrollContentTop = data.top
- }).exec()
- query.select("#bottom-btn").boundingClientRect((data) => {
- this.pageMeta.bottomBtnTop = data.top
- }).exec()
- // #endif
- // #ifdef MP-WEIXIN
- // 寰俊涓嶆敮鎸� uni.createSelectorQuery().in(this)
- // #endif
-
- },
- async onLoad(e) {
- let {
- operationType
- } = e
- if (operationType == 0) {
- this.getMaxNum()
- this.refSav = 'Add'
- } else {
- this.refSav = 'Update'
- }
-
- this.getProcessList()
- this.get_Gy_WorkShiftList()
- this.GetGroupList()
- this.GetEmployeeList()
- this.getSourceList()
- this.GetDepartmentList()
- },
- methods: {
- HDeptNameChangeHandler() {
- let index = this.HDeptNameArray.findIndex(item => item == e)
-
- if (index != -1) {
- this.hform.HDeptID = this.HDeptNameArraySource[index]["HItemID"]
- this.hform.HDeptName = this.HDeptNameArraySource[index]["HName"]
- }
- },
- GetDepartmentList() {
- CommonUtils.doRequest2({
- url: '/Web/GetDepartmentList_Json',
- data: {
- Department: '',
- },
- resFunction: (res) => {
- let {
- data,
- count,
- Message,
- code
- } = res.data
- if (count == 1) {
- this.HDeptNameArray = Array.from(data).map(item => item['HName'])
- this.HDeptNameArraySource = data
- } else {
- uni.showToast({
- icon: 'none',
- title: Message
- })
- }
- }
- })
- },
- HSourceNameChangeHandler(e) {
- let index = this.HSourceNameArray.findIndex(item => item == e)
-
- if (index != -1) {
- this.hform.HSourceID = this.HSourceNameArraySource[index]["HItemID"]
- this.hform.HSourceName = this.HSourceNameArraySource[index]["鐢熶骇璧勬簮"]
- }
-
- console.log('this.hform: ', this.hform);
- },
- // 鑾峰彇鐢熶骇璧勬簮
- getSourceList() {
- CommonUtils.doRequest2({
- url: '/api/newBill/getSourceList',
- data: {
- sWhere: '',
- },
- resFunction: (res) => {
- let {
- data,
- count,
- msg,
- code
- } = res.data
- if (code == 1) {
- let data1 = data.Gy_Source
- this.HSourceNameArray = Array.from(data1).map(item => item['鐢熶骇璧勬簮'])
- this.HSourceNameArraySource = data1
- } else {
- uni.showToast({
- icon: 'none',
- title: Message
- })
- }
- }
- })
- },
- HCheckEmpNameChangeHandler(e) {
- let index = this.HCheckEmpNameArray.findIndex(item => item == e)
-
- if (index != -1) {
- this.hform.HCheckEmp = this.HCheckEmpNameArraySource[index]["HItemID"]
- this.hform.HCheckEmpName = this.HCheckEmpNameArraySource[index]["HName"]
- }
- },
- // 鑾峰彇鑱屽憳淇℃伅
- GetEmployeeList() {
- CommonUtils.doRequest2({
- url: '/Web/GetEmployeeList_Json',
- data: {
- Employee: '',
- HGroupID: 0
- },
- resFunction: (res) => {
- let {
- data,
- count,
- Message
- } = res.data
- if (count == 1) {
- this.HCheckEmpNameArray = Array.from(data).map(item => item['HName'])
- this.HCheckEmpNameArraySource = data
- } else {
- uni.showToast({
- icon: 'none',
- title: Message
- })
- }
- }
- })
- },
- HGroupNameChangeHandler(e) {
- let index = this.HGroupNameArray.findIndex(item => item == e)
-
- if (index != -1) {
- this.hform.HGroupID = this.HGroupNameArraySource[index]["HItemID"]
- this.hform.HGroupName = this.HGroupNameArraySource[index]["HName"]
- }
- },
- // 鑾峰彇鐢熶骇鐝粍
- GetGroupList() {
- CommonUtils.doRequest2({
- url: '/WEBSController/GetGroupList_Json',
- data: {
- Group: '',
- HStockOrgID: uni.getStorageSync('OrganizationID')
- },
- resFunction: (res) => {
- let {
- data,
- count,
- Message
- } = res.data
- if (count == 1) {
- this.HGroupNameArray = Array.from(data).map(item => item['HName'])
- this.HGroupNameArraySource = data
- } else {
- uni.showToast({
- icon: 'none',
- title: Message
- })
- }
- }
- })
- },
-
- // 鑾峰彇鏈�鏂板崟鎹彿鍜孒InterID
- getMaxNum() {
- CommonUtils.doRequest2({
- url: '/Web/GetMAXNum',
- data: {
- HBillType: this.HBillType
- },
- resFunction: (res) => {
- let {
- count,
- data,
- Message
- } = res.data
- if (count == 1) {
- this.hform.HBillNo = data[0].HBillNo
- this.hform.HInterID = data[0].HInterID
- } else {
- uni.showToast({
- icon: 'none',
- title: Message
- })
- }
- }
- })
- },
- HShiftsNameChangeHandler(e) {
- let index = this.HShiftsNameArray.findIndex(item => item == e)
- if (index != -1) {
- this.hform.HShiftsID = this.HShiftsNameArraySource[index]['HInterID']
- this.hform.HShiftsName = this.HShiftsNameArraySource[index]['鐝鍚嶇О']
- }
- },
- // 鍒濆鍖栫彮娆′俊鎭�
- get_Gy_WorkShiftList() {
- CommonUtils.doRequest2({
- url: '/Gy_ShiftsController/Get_Gy_WorkShiftList',
- data: {
- sWhere: ` and 浣跨敤缁勭粐鍚嶇О = '${uni.getStorageSync('Organization')}' and 绂佺敤鏍囪='' and ISNULL(瀹℃牳浜� ,'') !=''`,
- HMaker: getUserInfo()['Czymc']
- },
- resFunction: (res) => {
- let {
- data,
- count,
- Message
- } = res.data
- if (count == 1) {
- this.HShiftsNameArray = Array.from(data).map(item => item['鐝鍚嶇О'])
- this.HShiftsNameArraySource = data
- } else {
- uni.showToast({
- icon: 'none',
- title: Message
- })
- }
- }
- })
- },
- // 鑾峰彇鐝
- get_HWorkShift() {
- CommonUtils.doRequest2({
- url: '/Gy_ShiftsController/Get_HWorkShift',
- data: {
- "HDeptID": this.hform.HDeptID,
- "HCenterID": this.hform.HCenterID
- },
- resFunction: (res) => {
- let {
- data,
- Message,
- count
- } = res.data
-
- this.hform.HShiftsID = data[0]['HInterID']
- this.hform.HShiftsName = data[0]['鐝']
- }
- })
- },
- ProcessExchangeBillQuerySub() {
- let HProcID = this.hform.HProcID
- let HBarCode = this.hform.HProcExchInterID
- let sWhere = ` ${HBarCode} and HProcID = ${HProcID} `
- CommonUtils.doRequest2({
- url: '/LEMS/MES_Sc_ProcessExchangeBillQuerySub_Json',
- data: {
- sWhere: sWhere
- },
- resFunction: (res) => {
- let {
- data,
- Message,
- count
- } = res.data
- if (count == 1 && data.length > 0) {
- this.hform = Object.assign(this.hform, {
- HProcID: data[0]['HProcID'],
- HProcName: data[0]['宸ュ簭鍚嶇О'],
- HSourceID: data[0]['HSourceID'] || 0,
- HSourceName: data[0]['鐢熶骇璧勬簮'] || '',
- HMainSourceEntryID: data[0]['hsubid'],
- HProcExchEntryID: data[0]['hsubid'],
- HProcExchQty: data[0]['娴佽浆鍗℃暟閲�'],
- HCenterID: data[0]['HCenterID'] || getUserInfo()['HWorkCenterID'],
- })
-
- }
- }
- })
- },
- onHProcNameChangeHandler(e) {
- let index = this.HProcNameArray.findIndex(item => item == e)
- if (index != -1) {
- this.hform.HProcName = this.HProcNameArraySource[index]['HName']
- this.hform.HProcID = this.HProcNameArraySource[index]['HItemID']
- this.ProcessExchangeBillQuerySub()
- }
- },
- getProcessList() {
- CommonUtils.doRequest2({
- url: '/WEBSController/GetProcessList_Json',
- data: {
- Process: '',
- HStockOrgID: uni.getStorageSync("OrganizationID")
- },
- resFunction: (res) => {
- let {
- data,
- count,
- Message
- } = res.data
- if (count == 1) {
- this.HProcNameArray = Array.from(data).map(item => item.HName)
- this.HProcNameArraySource = data
- } else {
- uni.showToast({
- icon: 'none',
- title: Message
- })
- }
- }
- })
- },
- TestTypeChange(e) {
- console.log('e: ', e);
- },
- toScanCode() {
- var mpaasScanModule = uni.requireNativePlugin("Mpaas-Scan-Module")
- mpaasScanModule.mpaasScan({
- 'hideAlbum': true,
- 'timeoutInterval': '10', //瓒呮椂鏃堕棿
- 'timeoutText': '鏈瘑鍒埌浜岀淮鐮�' //瓒呮椂鎻愰啋
- }, (ret) => {
- console.log(ret.resp_result)
- if (this.hform.HBarCode == '*') {
- this.hform.HBarCode = this.hform.HBarCode + ret.resp_result
- } else {
- this.HBarCode = ret.resp_result
- this.hform.HBarCode = ret.resp_result
- }
-
- this.getCode(this.hform.HBarCode)
- })
- },
- getCode(HBarCode) {
- console.log('HBarCode: ', HBarCode);
- if (!HBarCode) {
- return uni.showToast({
- icon: 'none',
- title: '鏉″舰鐮佷笉鑳戒负绌�'
- })
- }
- let sWhere = " and 宸ュ簭娴佽浆鍗″彿='" + HBarCode + "'";
- CommonUtils.doRequest2({
- url: '/QC_TakeSampleCheckBill/Get_BackSampleList',
- data: {
- "sWhere": sWhere
- },
- resFunction: (res) => {
- let {
- code,
- Message,
- count,
- data
- } = res.data
- if (count == 1) {
- this.hform = Object.assign(this.hform, {
- "HMaterID": data[0].HMaterID, //浜у搧ID
- "HMaterNumber": data[0].浜у搧缂栫爜, //浜у搧浠g爜
- "HMaterName": data[0].浜у搧鍚嶇О, //浜у搧鍚嶇О
- "HModel": data[0].瑙勬牸鍨嬪彿, //浜у搧瑙勬牸
- "HUnitID": data[0].HUnitID, //璁¢噺鍗曚綅id
- "HUnitName": data[0].璁¢噺鍗曚綅, //璁¢噺鍗曚綅
- "HProcExchBillNo": data[0].宸ュ簭娴佽浆鍗″彿, //娴佽浆鍗″彿
- "HProcExchInterID": data[0].宸ュ簭娴佽浆鍗′富鍐呯爜, //娴佽浆鍗′富鍐呯爜(鍙栧�糎InterID)
- "HBatchNo": data[0].宸ュ簭娴佽浆鍗℃壒娆″彿, //娴佽浆鍗℃壒娆�
- "HICMOInterID": data[0].浠诲姟鍗曞唴鐮�, //鐢熶骇璁㈠崟ID
- "HICMOEntryID": data[0].浠诲姟鍗曞瓙鍐呯爜, //鐢熶骇璁㈠崟瀛怚D
- "HICMOBillNo": data[0].浠诲姟鍗曞彿, //鐢熶骇璁㈠崟
- "HDeptID": data[0].HDeptID, //杞﹂棿ID
- "HDeptName": data[0].閮ㄩ棬, //杞﹂棿
- "HProcID": data[0].HProcID, //褰撳墠宸ュ簭ID
- "HProcName": data[0].宸ュ簭, //褰撳墠宸ュ簭
- "HProcExchEntryID": data[0].宸ュ簭娴佽浆鍗″瓙鍐呯爜, //娴佽浆鍗″瓙鍐呯爜(婧愬崟琛屽彿)
- "HProcExchQty": data[0].宸ュ簭娴佽浆鍗℃暟閲�, //娴佽浆鍗℃暟閲�
- "HICMOQty": data[0].浠诲姟鍗曟暟閲�,
- "WorkShiftName": data[0].鐢熶骇鐝,
- "HWorkShiftID": data[0].HShiftsID,
- "HBarCode": "",
- })
-
- console.log('this.hform: ', this.hform);
- uni.showToast({
- icon: 'none',
- title: '鑾峰彇鎴愬姛!'
- })
- } else {
- uni.showToast({
- icon: 'none',
- title: Message
- })
- }
- }
- })
- },
- submit() {
- if (this.hform.HProcID == 0) {
- return uni.showToast({
- icon: 'none',
- title: '宸ュ簭娌℃湁閫夋嫨'
- })
- }
- if (this.hform.HQty == '') {
- return uni.showToast({
- icon: 'none',
- title: '鍙栨牱鏁伴噺涓虹┖'
- })
- }
- if (this.hform.HProcID == 0) {
- return uni.showToast({
- icon: 'none',
- title: '宸ュ簭娌℃湁閫夋嫨'
- })
- }
- if (this.hform.HDeptID == 0) {
- return uni.showToast({
- icon: 'none',
- title: '閮ㄩ棬娌℃湁閫夋嫨'
- })
- }
- if (this.hform.HShiftsID == 0) {
- return uni.showToast({
- icon: 'none',
- title: '鐝鏈�夋嫨'
- })
- }
- if (this.hform.HGroupID == 0) {
- return uni.showToast({
- icon: 'none',
- title: '鐢熶骇鐝粍鏈�夋嫨'
- })
- }
- if (this.hform.HCheckEmp == 0) {
- return uni.showToast({
- icon: 'none',
- title: '鍙栨牱鍛樻湭閫夋嫨'
- })
- }
- if (this.hform.HSourceID == 0) {
- return uni.showToast({
- icon: 'none',
- title: '鐢熶骇璧勬簮鏈�夋嫨'
- })
- }
-
- console.log('this.hform: ', this.hform);
- let sMainStr = JSON.stringify(this.hform)
- let numData = [{
- "HMaterID": this.hform.HMaterID,
- "HUnitID": this.hform.HUnitID,
- "HProcExchBillNo": this.hform.HProcExchBillNo,
- "HProcExchInterID": this.hform.HProcExchInterID,
- "HProcExchEntryID": this.hform.HProcExchEntryID,
- "HICMOInterID": this.hform.HICMOInterID,
- "HICMOEntryID": this.hform.HICMOEntryID,
- "HICMOBillNo": this.hform.HICMOBillNo,
- "HDeptID": this.hform.HDeptID,
- "HProcID": this.hform.HProcID,
- "HProcExchQty": this.hform.HProcExchQty,
- "HWorkShiftID": this.hform.HWorkShiftID,
- "HBatchNo": this.hform.HBatchNo,
- "HICMOQty": this.hform.HICMOQty,
- "HQty": this.hform.HQty
- }]
- let sSubStr = JSON.stringify(numData)
- let sMainSub = sMainStr + ';' + sSubStr +';' + this.refSav + ';' + getUserInfo()['Czymc'];
- CommonUtils.doRequest2({
- method: 'POST',
- url: '/QC_TakeSampleCheckBill/SaveQC_BackSampleCheckBillMain',
- data: {
- msg: sMainSub
- },
- resFunction: (res) => {
- let {
- count,
- Message
- } = res.data
- if (count == 1) {
- return uni.showToast({
- icon: 'none',
- title: "鎻愪氦鎴愬姛!"
- })
- } else {
- return uni.showToast({
- icon: 'none',
- title: Message
- })
- }
- }
- })
- },
- onAddNewHandler() {
- uni.redirectTo({
- url: "/pages/quyangdan/TakeSampleCheckBillList?operationType=0"
- })
- },
- goBack() {
- uni.navigateBack()
- },
- }
- }
-</script>
-
-<style lang="scss" scoped>
- .scroll-content {
- box-sizing: border-box;
- padding: 20rpx;
-
- ::v-deep .uni-scroll-view-content {
- box-sizing: border-box;
- padding: 0 40rpx;
- display: flex;
- flex-direction: column;
- gap: 20rpx;
- }
-
- .form-item {
- display: flex;
- flex-direction: row;
- align-items: center;
- gap: 20rpx;
-
- input {
- width: inherit;
- padding: 8rpx 20rpx;
- font-size: 30rpx;
- }
-
- .title {
- width: 5em;
- font-size: 30rpx;
- flex-shrink: 0;
- text-align: right;
- }
-
- .right {
- flex: 1;
- border-radius: 22rpx;
- border: 1px solid #acacac;
- }
-
- .right-icon {
- width: 54rpx;
- height: 54rpx;
- border-radius: 50%;
- background-color: #3A78FF;
- display: flex;
- align-items: center;
- justify-content: center;
- flex-shrink: 0;
-
- }
-
- .disabled {
- border: 1px solid #e4e4e4;
- background-color: #e4e4e4;
- }
- }
- }
-
- .bottom-btn {
- position: fixed;
- bottom: 0;
- box-sizing: border-box;
- background-color: #fff;
- box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
- padding: 30rpx 40rpx 40rpx 40rpx;
- display: flex;
- flex-direction: row;
- gap: 20rpx;
- justify-content: space-between;
- width: 100%;
-
- button {
- border-radius: 50rpx;
- width: 180rpx;
- height: 66rpx;
- line-height: 66rpx;
- font-size: 28rpx;
- }
-
- .btn-a {
- background-color: #3A78FF;
- color: #fff;
- }
-
- .btn-b {
- background-color: #41a863;
- color: #fff;
- }
-
- .btn-c {
- background-color: #acacac;
- color: #fff;
- }
- }
-
- .placeholder__view {
- flex: 1;
- }
-</style>
\ No newline at end of file
diff --git a/pages/index/index.vue b/pages/index/index.vue
index 5dfac23..c486320 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -337,6 +337,7 @@
"id": 26,
"hidden": false
},
+
],
}
diff --git a/pages/index/login.vue b/pages/index/login.vue
index e23efbb..e5484ab 100644
--- a/pages/index/login.vue
+++ b/pages/index/login.vue
@@ -120,8 +120,9 @@
"閿﹂殕-鏅鸿兘瀹跺眳": "http://192.168.1.11/API/",
"閿﹂殕-鏅鸿兘瀹跺眳-澶栫綉": "http://61.174.29.234:8880/API/",
// 鍗庤垷鍖呰
- "瀹佹尝鍗庤垷鍖呰": "http://192.168.88.167:8082/API/",
- "瀹佹尝鍗庤垷鍖呰-澶栫綉": "http://61.164.64.222:8082/API/",
+ "瀹佹尝鍗庤垷鍖呰1": "http://192.168.110.222:8082/API_NW/",
+ "瀹佹尝鍗庤垷鍖呰2": "http://192.168.88.167:8082/API_NW/",
+ "瀹佹尝鍗庤垷鍖呰": "http://61.164.64.222:8082/API_WW/",
},
serverUrlName:uni.getStorageSync('serverUrlName') || '娴欐睙鏅轰簯杩堟��',
@@ -335,7 +336,6 @@
uni.setStorageSync('HSecManagerID', res.data.data[0].HSecManagerID); //瀵瑰簲楠屾敹
uni.setStorageSync('HSecManagerName', res.data.data[0].HSecManagerName);
this.CommonUtils.setServerUrl(this.serverUrl)
- // console.log('this.WebSocsketServices: ',this.WebSocsketServices);
// this.WebSocketServices.createConnect(res.data.data[0].Czybm,res.data.data[0].Czymc);
uni.reLaunch({
url: '/pages/index/index'
diff --git a/pages/index/mine.vue b/pages/index/mine.vue
index 7ffbc22..3c3242c 100644
--- a/pages/index/mine.vue
+++ b/pages/index/mine.vue
@@ -26,7 +26,8 @@
</template>
<script>
- import { getUserInfo } from "@/utils/auth.js";
+ import WebSocketServices from "../../utils/WebSocketServices";
+import { getUserInfo } from "@/utils/auth.js";
import {
CommonUtils
} from '@/utils/common'
@@ -99,6 +100,10 @@
success: function (res) {
if (res.confirm) {
console.log('鐢ㄦ埛鐐瑰嚮纭畾');
+ // 鏂紑Socket杩炴帴
+ // WebSocketServices.closeSocket();
+ // 閿�姣� userInfo 缂撳瓨
+ uni.removeStorageSync("userinfo")
uni.reLaunch({
url:'/pages/index/login'
})
diff --git a/pages/index/tab1.vue b/pages/index/tab1.vue
index 1c72b32..541524a 100644
--- a/pages/index/tab1.vue
+++ b/pages/index/tab1.vue
@@ -70,6 +70,7 @@
id: 4,
hidden: false,
},
+
{
img: '../../static/icon/icon14.png',
text: '鎴戠殑鎶ュ伐骞冲彴',
@@ -86,8 +87,22 @@
id: 6,
hidden: false,
},
-
-
+ {
+ img: '../../static/icon/icon12.png',
+ text: '鍛樺伐绛惧埌璁板綍鍗�',
+ tip: '绔嬪嵆鏂板',
+ url: '/pages/EmployeeRecords/EmployeeRecordsBill',
+ id: 7,
+ hidden: false,
+ },
+ {
+ img: '../../static/icon/icon12.png',
+ text: '鍛樺伐绛惧埌璁板綍鍗曞垪琛�',
+ tip: '鐐瑰嚮杩涘叆',
+ url: '/pages/EmployeeRecords/EmployeeRecordsBillList',
+ id: 8,
+ hidden: false,
+ }
]
}
},
diff --git a/pages/index/tab2.vue b/pages/index/tab2.vue
index 18011ea..20304c5 100644
--- a/pages/index/tab2.vue
+++ b/pages/index/tab2.vue
@@ -407,11 +407,12 @@
},
{
"img": "../../static/icon/icon6.png",
- "text": "璁惧鏁呴殰鐧昏琛ㄥ垪琛�",
- "url": "/pages/guzhangdengji/EqpConkBookBillList",
+ "text": "璁惧鏁呴殰鐧昏鍗曞垪琛�",
+ "url": "/pages/MJGL/Sb_EquipConkBook/Sb_EquipConkBookBillList",
"id": 50,
"hidden": false
},
+
{
"img": "../../static/icon/icon8.png",
"text": "璁惧缁翠慨娲惧伐鍗曞垪琛�",
@@ -483,14 +484,14 @@
{
"img": "../../static/icon/icon8.png",
"text": "鍙栨牱鍗曞垪琛�",
- "url": "/pages/quyangdan/TakeSampleCheckBillList",
+ "url": "/pages/ZLGL/QuYangHuangYang/QC_TakeSampleCheckBill/QC_TakeSampleCheckBillList",
"id": 60,
"hidden": false
},
{
"img": "../../static/icon/icon8.png",
"text": "杩樻牱鍗曞垪琛�",
- "url": "/pages/huanyangdan/BackSampleCheckBillList",
+ "url": "/pages/ZLGL/QuYangHuangYang/QC_BackSampleCheckBill/QC_BackSampleCheckBillList",
"id": 61,
"hidden": false
},
@@ -502,6 +503,13 @@
"id": 62,
"hidden": false
},
+ {
+ "img": "../../static/icon/icon15.png",
+ "text": "宸ヤ綔鑱旂郴鍗曞垪琛�",
+ "url": "/pages/ZLGL/OA_WorkLink/OA_WorkLinkBillList?OperationType=1",
+ "id": 63,
+ "hidden": false
+ },
]
}
},
diff --git a/pages/index/tab3.vue b/pages/index/tab3.vue
index 46e036b..d2b409e 100644
--- a/pages/index/tab3.vue
+++ b/pages/index/tab3.vue
@@ -74,6 +74,13 @@
"hidden": false
},
{
+ "img": "../../static/icon/icon6.png",
+ "text": "璁惧鏁呴殰鐧昏鍗�",
+ "url": "/pages/MJGL/Sb_EquipConkBook/Sb_EquipConkBookBill?operationType=1",
+ "id": 20,
+ "hidden": false
+ },
+ {
"img": "../../static/icon/icon8.png",
"text": "妯″叿缁翠慨娲惧伐鍗�",
"url": "/pages/MJGL/Sc_MouldRepairSendWork/Sc_MouldRepairSendWorkBill",
@@ -194,20 +201,7 @@
"url": "/pages/MJGL/Sb_EquipRepairCheckBill/Sb_EquipRepairCheckBill",
"id": 23,
"hidden": false
- }, {
- "img": "../../static/icon/icon8.png",
- "text": "鍣ㄥ叿缁翠慨娲惧伐鍗�",
- "url": "/pages/MJGL/Sc_MouldRepairSendWork/Sc_MouldRepairSendWorkBill",
- "id": 29,
- "hidden": false
- },
- {
- "img": "../../static/icon/icon8.png",
- "text": "鍣ㄥ叿缁翠慨楠屾敹鍗�",
- "url": "/pages/MJGL/SC_MouldRepairCheck/Sc_MouldRepairCheckBill",
- "id": 30,
- "hidden": false
- },
+ },
{
"img": "../../static/icon/icon8.png",
"text": "璁惧淇濆吇浠诲姟",
@@ -231,7 +225,7 @@
},
{
"img": "../../static/icon/icon8.png",
- "text": "鍣ㄥ叿缁翠慨浠诲姟",
+ "text": "妯″叿缁翠慨浠诲姟",
"url": "/pages/MJGL/Sc_MouldRepairTaskReport/Sc_MouldRepairTaskReport",
"id": 27,
"hidden": false
diff --git a/pages/index/tab4.vue b/pages/index/tab4.vue
index 8ce41ca..928e6a1 100644
--- a/pages/index/tab4.vue
+++ b/pages/index/tab4.vue
@@ -161,13 +161,20 @@
"id": 16,
"hidden": false
},
- {
- "img": "../../static/icon/icon15.png",
- "text": "宸ヤ綔鑱旂郴鍗曞垪琛�",
- "url": "/pages/ZLGL/OA_WorkLink/OA_WorkLinkBillList?OperationType=1",
- "id": 16,
- "hidden": false
- },
+ {
+ "img": "../../static/icon/icon15.png",
+ "text": "鍙栨牱鍗�",
+ "url": "/pages/ZLGL/QuYangHuangYang/QC_TakeSampleCheckBill/QC_TakeSampleCheckBill",
+ "id": 17,
+ "hidden": false
+ },
+ {
+ "img": "../../static/icon/icon15.png",
+ "text": "杩樻牱鍗�",
+ "url": "/pages/ZLGL/QuYangHuangYang/QC_TakeSampleCheckBill/QC_TakeSampleCheckBill",
+ "id": 18,
+ "hidden": false
+ },
]
}
diff --git a/pages/quyangdan/TakeSampleCheckBill.vue b/pages/quyangdan/TakeSampleCheckBill.vue
deleted file mode 100644
index d483fd1..0000000
--- a/pages/quyangdan/TakeSampleCheckBill.vue
+++ /dev/null
@@ -1,830 +0,0 @@
-<template>
- <view>
- <scroll-view scroll-y id="scroll-content" class="scroll-content" :style="{height: scrollContentHeight + 'px'}">
- <view class="form-item">
- <view class="title">鏉″舰鐮�:</view>
- <view class="right">
- <input type="text" name="HBarCode" id="HBarCode" v-model="HBarCode" @confirm="getCode(HBarCode)" />
- </view>
- <view class="right-icon" @click="toScanCode">
- <uni-icons color="#fff" type="scan" size="24"></uni-icons>
- </view>
- </view>
- <view class="form-item">
- <view class="title">宸ュ簭:</view>
- <view class="right">
- <uni-combox :candidates="HProcNameArray" name="HProcName" id="HProcName" placeholder="璇烽�夋嫨宸ュ簭鍙�"
- v-model="hform.HProcName" @input="onHProcNameChangeHandler"></uni-combox>
- </view>
- </view>
- <view class="form-item">
- <view class="title">鍙栨牱鏁伴噺:</view>
- <view class="right">
- <input type="number" name="HQty" id="HQty" v-model="hform.HQty" />
- </view>
- </view>
- <view class="form-item">
- <view class="title">鐮村潖鎬у疄楠屾暟閲�:</view>
- <view class="right">
- <input type="number" name="HSampleDamageQty" id="HSampleDamageQty"
- v-model="hform.HSampleDamageQty" />
- </view>
- </view>
- <view class="form-item">
- <view class="title">閫佹祴绫诲瀷:</view>
- <view class="right">
- <uni-combox :candidates="TestTypeArray" v-model="hform.TestType"
- @input="TestTypeChange"></uni-combox>
- </view>
- </view>
- <view class="form-item">
- <view class="title">閫佹祴鍐呭:</view>
- <view class="right">
- <input type="text" name="HBadNote" id="HBadNote" v-model="hform.HBadNote" />
- </view>
- </view>
- <view class="form-item">
- <view class="title">閮ㄩ棬:</view>
- <view class="right">
- <uni-combox :candidates="HDeptNameArray" name="HDeptName" id="HDeptName" placeholder="璇烽�夋嫨閮ㄩ棬"
- v-model="hform.HDeptName" @input="HDeptNameChangeHandler"></uni-combox>
- </view>
- </view>
- <view class="form-item">
- <view class="title">鐢熶骇鐝:</view>
- <view class="right">
- <uni-combox :candidates="HShiftsNameArray" name="HShiftsName" id="HShiftsName" placeholder="璇烽�夋嫨鐢熶骇鐝"
- v-model="hform.HShiftsName" @input="HShiftsNameChangeHandler"></uni-combox>
- </view>
- </view>
- <view class="form-item">
- <view class="title">鐢熶骇鐝粍:</view>
- <view class="right">
- <uni-combox :candidates="HGroupNameArray" name="HShiftsName" id="HShiftsName" placeholder="璇烽�夋嫨鐢熶骇鐝粍"
- v-model="hform.HGroupName" @input="HGroupNameChangeHandler"></uni-combox>
- </view>
- </view>
- <view class="form-item">
- <view class="title">鍙栨牱鍛�:</view>
- <view class="right">
- <uni-combox :candidates="HCheckEmpNameArray" name="HCheckEmpName" id="HCheckEmpName"
- placeholder="璇烽�夋嫨鍙栨牱鍛�" v-model="hform.HCheckEmpName"
- @input="HCheckEmpNameChangeHandler"></uni-combox>
- </view>
- </view>
- <view class="form-item">
- <view class="title">鐢熶骇璧勬簮:</view>
- <view class="right">
- <uni-combox :candidates="HSourceNameArray" name="HSourceName" id="HSourceName" placeholder="璇烽�夋嫨鐢熶骇璧勬枡"
- v-model="hform.HSourceName" @input="HSourceNameChangeHandler"></uni-combox>
- </view>
- </view>
- <view class="form-item">
- <view class="title">鍗曟嵁鏃ユ湡:</view>
- <view class="right disabled">
- <input disabled type="text" name="HDate" id="HDate" v-model="hform.HDate" />
- </view>
- </view>
- <view class="form-item">
- <view class="title">鍗曟嵁鍙�:</view>
- <view class="right disabled">
- <input disabled type="text" name="HBillNo" id="HBillNo" v-model="hform.HBillNo" />
- </view>
- </view>
- <view class="form-item">
- <view class="title">鐢熶骇璁㈠崟:</view>
- <view class="right disabled">
- <input disabled type="text" v-model="hform.HICMOBillNo" name="HICMOBillNo" id="HICMOBillNo" />
- </view>
- </view>
- <view class="form-item">
- <view class="title">娴佽浆鍗�:</view>
- <view class="right disabled">
- <input disabled type="text" v-model="hform.HProcExchBillNo" name="HProcExchBillNo"
- id="HProcExchBillNo" />
- </view>
- </view>
- <view class="form-item">
- <view class="title">鐗╂枡浠g爜:</view>
- <view class="right disabled">
- <input disabled type="text" v-model="hform.HMaterCode" name="HMaterCode" id="HMaterCode" />
- </view>
- </view>
- <view class="form-item">
- <view class="title">鐗╂枡鍚嶇О:</view>
- <view class="right disabled">
- <input disabled type="text" v-model="hform.HMaterName" name="HMaterName" id="HMaterName" />
- </view>
- </view>
- <view class="form-item">
- <view class="title">瑙勬牸鍨嬪彿:</view>
- <view class="right disabled">
- <input disabled type="text" v-model="hform.HMaterSpec" name="HMaterSpec" id="HMaterSpec" />
- </view>
- </view>
- <view class="form-item">
- <view class="title">璁¢噺鍗曚綅:</view>
- <view class="right disabled">
- <input disabled type="text" v-model="hform.HUnitName" name="HUnitName" id="HUnitName" />
- </view>
- </view>
- <view class="form-item">
- <view class="title">娴佽浆鍗℃壒鍙�:</view>
- <view class="right disabled">
- <input disabled type="text" v-model="hform.HBatchNo" name="HBatchNo" id="HBatchNo" />
- </view>
- </view>
- <view class="form-item">
- <view class="title">娴佽浆鍗℃暟閲�:</view>
- <view class="right disabled">
- <input disabled type="text" v-model="hform.HProcExchQty" name="HProcExchQty" id="HProcExchQty" />
- </view>
- </view>
- </scroll-view>
- <view class="bottom-btn" id="bottom-btn">
- <view><button class="btn-a" size="mini" @tap="submit">鎻愪氦</button></view>
- <view><button class="btn-b" size="mini" @tap="onAddNewHandler">鏂板</button></view>
- <view class="placeholder__view"></view>
- <view><button class="btn-c" size="mini" @tap="goBack">閫�鍑�</button></view>
- </view>
- </view>
-</template>
-
-<script>
- import dayjs from 'dayjs'
- import {
- getUserInfo
- } from '../../utils/auth'
- import {
- CommonUtils
- } from '../../utils/common'
-
- export default {
- data() {
- return {
- pageMeta: {
- scrollContentTop: 0,
- bottomBtnTop: 0,
- },
- refSav: 'Add',
- showMask: true,
- TestTypeArray: ["棣栨", "宸℃", "鏈", "瀹為獙"],
-
- HBillType: '7521',
- HProcNameArray: [],
- HProcNameArraySource: [],
-
- HDeptNameArray: [],
- HDeptNameArraySource: [],
-
- HShiftsNameArray: [],
- HShiftsNameArraySource: [],
-
- HGroupNameArray: [],
- HGroupNameArraySource: [],
-
- HCheckEmpNameArray: [],
- HCheckEmpNameSource: [],
-
- HSourceNameArray: [],
- HSourceNameSource: [],
-
- HBarCode: '',
- hform: {
- HBarCode: '',
- HProcName: '',
- HProcID: 0,
- HQty: '',
- HSampleDamageQty: 0,
- TestType: '棣栨',
- HBadNote: '',
- HDeptName: '',
- HDeptID: 0,
- HCenterID: 0,
- HShiftsName: '',
- HShiftsID: 0,
- HGroupName: '',
- HGroupID: 0,
- HCheckEmpName: '',
- HCheckEmp: '',
- HSourceName: '',
- HSourceID: 0,
- HDate: dayjs(new Date()).format("YYYY-MM-DD"),
- HBillNo: '',
- HInterID: 0,
- HICMOBillNo: '',
- HICMOInterID: 0,
- HICMOEntryID: 0,
- HProcExchBillNo: '',
- HProcExchInterID: 0,
- HProcExchEntryID: 0,
- HMainSourceBillNo: '',
- HMainSourceInterID: 0,
- HMainSourceBillType: '',
- HMainSourceEntryID: 0,
- HMaterCode: '',
- HMaterID: 0,
- HMaterName: '',
- HMaterSpec: '',
- HUnitName: '',
- HUnitID: 0,
- HBatchNo: '',
- HProcExchQty: '',
- HMaker: getUserInfo()['Czymc'],
- HMakeDate: dayjs(new Date()).format("YYYY-MM-DD hh:mm:ss"),
- HUpDater: '',
- HUpDateDate: '',
- HChecker: '',
- HCheckDate: '',
- HDeleteMan: '',
- HDeleteDate: '',
- }
- }
- },
- computed: {
- scrollContentHeight: {
- get() {
- return this.pageMeta.bottomBtnTop - this.pageMeta.scrollContentTop
- }
- }
- },
- onReady() {
- // #ifndef MP-WEIXIN
- let query = uni.createSelectorQuery().in(this)
- query.select("#scroll-content").boundingClientRect((data) => {
- this.pageMeta.scrollContentTop = data.top
- }).exec()
- query.select("#bottom-btn").boundingClientRect((data) => {
- this.pageMeta.bottomBtnTop = data.top
- }).exec()
- // #endif
- // #ifdef MP-WEIXIN
- // 寰俊涓嶆敮鎸� uni.createSelectorQuery().in(this)
- // #endif
-
- },
- async onLoad(e) {
- let {
- operationType
- } = e
- if (operationType == 0) {
- this.getMaxNum()
- this.refSav = 'Add'
- } else {
- this.refSav = 'Update'
- }
-
- this.getProcessList()
- this.get_Gy_WorkShiftList()
- this.GetGroupList()
- this.GetEmployeeList()
- this.getSourceList()
- this.GetDepartmentList()
- },
- methods: {
- HDeptNameChangeHandler() {
- let index = this.HDeptNameArray.findIndex(item => item == e)
-
- if (index != -1) {
- this.hform.HDeptID = this.HDeptNameArraySource[index]["HItemID"]
- this.hform.HDeptName = this.HDeptNameArraySource[index]["HName"]
- }
- },
- GetDepartmentList() {
- CommonUtils.doRequest2({
- url: '/Web/GetDepartmentList_Json',
- data: {
- Department: '',
- },
- resFunction: (res) => {
- let {
- data,
- count,
- Message,
- code
- } = res.data
- if (count == 1) {
- this.HDeptNameArray = Array.from(data).map(item => item['HName'])
- this.HDeptNameArraySource = data
- } else {
- uni.showToast({
- icon: 'none',
- title: Message
- })
- }
- }
- })
- },
- HSourceNameChangeHandler(e) {
- let index = this.HSourceNameArray.findIndex(item => item == e)
-
- if (index != -1) {
- this.hform.HSourceID = this.HSourceNameArraySource[index]["HItemID"]
- this.hform.HSourceName = this.HSourceNameArraySource[index]["鐢熶骇璧勬簮"]
- }
-
- console.log('this.hform: ', this.hform);
- },
- // 鑾峰彇鐢熶骇璧勬簮
- getSourceList() {
- CommonUtils.doRequest2({
- url: '/api/newBill/getSourceList',
- data: {
- sWhere: '',
- },
- resFunction: (res) => {
- let {
- data,
- count,
- msg,
- code
- } = res.data
- if (code == 1) {
- let data1 = data.Gy_Source
- this.HSourceNameArray = Array.from(data1).map(item => item['鐢熶骇璧勬簮'])
- this.HSourceNameArraySource = data1
- } else {
- uni.showToast({
- icon: 'none',
- title: Message
- })
- }
- }
- })
- },
- HCheckEmpNameChangeHandler(e) {
- let index = this.HCheckEmpNameArray.findIndex(item => item == e)
-
- if (index != -1) {
- this.hform.HCheckEmp = this.HCheckEmpNameArraySource[index]["HItemID"]
- this.hform.HCheckEmpName = this.HCheckEmpNameArraySource[index]["HName"]
- }
- },
- // 鑾峰彇鑱屽憳淇℃伅
- GetEmployeeList() {
- CommonUtils.doRequest2({
- url: '/Web/GetEmployeeList_Json',
- data: {
- Employee: '',
- HGroupID: this.hform.HGroupID
- },
- resFunction: (res) => {
- let {
- data,
- count,
- Message
- } = res.data
- if (count == 1) {
- this.HCheckEmpNameArray = Array.from(data).map(item => item['HName'])
- this.HCheckEmpNameArraySource = data
- } else {
- uni.showToast({
- icon: 'none',
- title: Message
- })
- }
- }
- })
- },
- HGroupNameChangeHandler(e) {
- let index = this.HGroupNameArray.findIndex(item => item == e)
-
- if (index != -1) {
- this.hform.HGroupID = this.HGroupNameArraySource[index]["HItemID"]
- this.hform.HGroupName = this.HGroupNameArraySource[index]["HName"]
- }
- },
- // 鑾峰彇鐢熶骇鐝粍
- GetGroupList() {
- CommonUtils.doRequest2({
- url: '/WEBSController/GetGroupList_Json',
- data: {
- Group: '',
- HStockOrgID: uni.getStorageSync('OrganizationID')
- },
- resFunction: (res) => {
- let {
- data,
- count,
- Message
- } = res.data
- if (count == 1) {
- this.HGroupNameArray = Array.from(data).map(item => item['HName'])
- this.HGroupNameArraySource = data
- } else {
- uni.showToast({
- icon: 'none',
- title: Message
- })
- }
- }
- })
- },
-
- // 鑾峰彇鏈�鏂板崟鎹彿鍜孒InterID
- getMaxNum() {
- CommonUtils.doRequest2({
- url: '/Web/GetMAXNum',
- data: {
- HBillType: this.HBillType
- },
- resFunction: (res) => {
- let {
- count,
- data,
- Message
- } = res.data
- if (count == 1) {
- this.hform.HBillNo = data[0].HBillNo
- this.hform.HInterID = data[0].HInterID
- } else {
- uni.showToast({
- icon: 'none',
- title: Message
- })
- }
- }
- })
- },
- HShiftsNameChangeHandler(e) {
- let index = this.HShiftsNameArray.findIndex(item => item == e)
- if (index != -1) {
- this.hform.HShiftsID = this.HShiftsNameArraySource[index]['HInterID']
- this.hform.HShiftsName = this.HShiftsNameArraySource[index]['鐝鍚嶇О']
- }
- },
- // 鍒濆鍖栫彮娆′俊鎭�
- get_Gy_WorkShiftList() {
- CommonUtils.doRequest2({
- url: '/Gy_ShiftsController/Get_Gy_WorkShiftList',
- data: {
- sWhere: ` and 浣跨敤缁勭粐鍚嶇О = '${uni.getStorageSync('Organization')}' and 绂佺敤鏍囪='' and ISNULL(瀹℃牳浜� ,'') !=''`,
- HMaker: getUserInfo()['Czymc']
- },
- resFunction: (res) => {
- let {
- data,
- count,
- Message
- } = res.data
- if (count == 1) {
- this.HShiftsNameArray = Array.from(data).map(item => item['鐝鍚嶇О'])
- this.HShiftsNameArraySource = data
- } else {
- uni.showToast({
- icon: 'none',
- title: Message
- })
- }
- }
- })
- },
- // 鑾峰彇鐝
- get_HWorkShift() {
- CommonUtils.doRequest2({
- url: '/Gy_ShiftsController/Get_HWorkShift',
- data: {
- "HDeptID": this.hform.HDeptID,
- "HCenterID": this.hform.HCenterID
- },
- resFunction: (res) => {
- let {
- data,
- Message,
- count
- } = res.data
-
- this.hform.HShiftsID = data[0]['HInterID']
- this.hform.HShiftsName = data[0]['鐝']
- }
- })
- },
- ProcessExchangeBillQuerySub() {
- let HProcID = this.hform.HProcID
- let HBarCode = this.hform.HProcExchInterID
- let sWhere = ` ${HBarCode} and HProcID = ${HProcID} `
- CommonUtils.doRequest2({
- url: '/LEMS/MES_Sc_ProcessExchangeBillQuerySub_Json',
- data: {
- sWhere: sWhere
- },
- resFunction: (res) => {
- let {
- data,
- Message,
- count
- } = res.data
- if (count == 1 && data.length > 0) {
- this.hform = Object.assign(this.hform, {
- HProcID: data[0]['HProcID'],
- HProcName: data[0]['宸ュ簭鍚嶇О'],
- HSourceID: data[0]['HSourceID'] || 0,
- HSourceName: data[0]['鐢熶骇璧勬簮'] || '',
- HMainSourceEntryID: data[0]['hsubid'],
- HProcExchEntryID: data[0]['hsubid'],
- HProcExchQty: data[0]['娴佽浆鍗℃暟閲�'],
- HCenterID: data[0]['HCenterID'] || getUserInfo()['HWorkCenterID'],
- })
-
- }
- }
- })
- },
- onHProcNameChangeHandler(e) {
- let index = this.HProcNameArray.findIndex(item => item == e)
- if (index != -1) {
- this.hform.HProcName = this.HProcNameArraySource[index]['HName']
- this.hform.HProcID = this.HProcNameArraySource[index]['HItemID']
- this.ProcessExchangeBillQuerySub()
- }
- },
- getProcessList() {
- CommonUtils.doRequest2({
- url: '/WEBSController/GetProcessList_Json',
- data: {
- Process: '',
- HStockOrgID: uni.getStorageSync("OrganizationID")
- },
- resFunction: (res) => {
- let {
- data,
- count,
- Message
- } = res.data
- if (count == 1) {
- this.HProcNameArray = Array.from(data).map(item => item.HName)
- this.HProcNameArraySource = data
- } else {
- uni.showToast({
- icon: 'none',
- title: Message
- })
- }
- }
- })
- },
- TestTypeChange(e) {
- console.log('e: ', e);
- },
- toScanCode() {
- var mpaasScanModule = uni.requireNativePlugin("Mpaas-Scan-Module")
- mpaasScanModule.mpaasScan({
- 'hideAlbum': true,
- 'timeoutInterval': '10', //瓒呮椂鏃堕棿
- 'timeoutText': '鏈瘑鍒埌浜岀淮鐮�' //瓒呮椂鎻愰啋
- }, (ret) => {
- console.log(ret.resp_result)
- if (this.hform.HBarCode == '*') {
- this.hform.HBarCode = this.hform.HBarCode + ret.resp_result
- } else {
- this.HBarCode = ret.resp_result
- this.hform.HBarCode = ret.resp_result
- }
-
- this.getCode(this.hform.HBarCode)
- })
- },
- getCode(HBarCode) {
- if (!HBarCode) {
- return uni.showToast({
- icon: 'none',
- title: '鏉″舰鐮佷笉鑳戒负绌�'
- })
- }
- CommonUtils.doRequest2({
- url: '/api/newBill/getHbarCodeDetail',
- data: {
- "sBillBarCode": HBarCode
- },
- resFunction: (res) => {
- let {
- code,
- msg,
- count,
- data
- } = res.data
- if (code == 1) {
- this.HBarCode = ''
- let data1 = data.h_v_Sc_ProcessExchangeBillList
- this.hform = Object.assign(this.hform, {
- "HMaterID": data1[0].HMaterID, //浜у搧ID
- "HMaterCode": data1[0].浜у搧浠g爜, //浜у搧浠g爜
- "HMaterName": data1[0].浜у搧, //浜у搧鍚嶇О
- "HMaterSpec": data1[0].瑙勬牸鍨嬪彿, //浜у搧瑙勬牸
- "HUnitID": data1[0].HUnitID, //璁¢噺鍗曚綅id
- "HUnitName": data1[0].鍗曚綅, //璁¢噺鍗曚綅
- "HMainSourceBillNo": data1[0].鍗曟嵁鍙�, //婧愬崟鍗曞彿
- "HMainSourceInterID": data1[0].hmainid, //婧愬崟涓诲唴鐮�
- "HMainSourceBillType": 3772, //婧愬崟绫诲瀷
- "HProcExchBillNo": data1[0].鍗曟嵁鍙�, //娴佽浆鍗″彿
- "HProcExchInterID": data1[0].hmainid, //娴佽浆鍗′富鍐呯爜(鍙栧�糎InterID)
- "HBatchNo": data1[0].鎵瑰彿, //娴佽浆鍗℃壒娆�
- "HICMOInterID": data1[0].hicmointerid, //鐢熶骇璁㈠崟ID
- "HICMOEntryID": data1[0].HICMOEntryID, //鐢熶骇璁㈠崟瀛怚D
- "HICMOBillNo": data1[0].浠诲姟鍗曞彿, //鐢熶骇璁㈠崟
- "HDeptID": data1[0].HWorkShopID, //杞﹂棿ID
- "HDeptName": data1[0].鐢熶骇杞﹂棿, //杞﹂棿
- })
-
- uni.showToast({
- icon: 'none',
- title: msg
- })
- } else {
- uni.showToast({
- icon: 'none',
- title: msg
- })
- }
- }
- })
- },
- submit() {
- if (this.hform.HProcID == 0) {
- return uni.showToast({
- icon: 'none',
- title: '宸ュ簭娌℃湁閫夋嫨'
- })
- }
- if (this.hform.HQty == '') {
- return uni.showToast({
- icon: 'none',
- title: '鍙栨牱鏁伴噺涓虹┖'
- })
- }
- if (this.hform.HProcID == 0) {
- return uni.showToast({
- icon: 'none',
- title: '宸ュ簭娌℃湁閫夋嫨'
- })
- }
- if (this.hform.HDeptID == 0) {
- return uni.showToast({
- icon: 'none',
- title: '閮ㄩ棬娌℃湁閫夋嫨'
- })
- }
- if (this.hform.HShiftsID == 0) {
- return uni.showToast({
- icon: 'none',
- title: '鐝鏈�夋嫨'
- })
- }
- if (this.hform.HGroupID == 0) {
- return uni.showToast({
- icon: 'none',
- title: '鐢熶骇鐝粍鏈�夋嫨'
- })
- }
- if (this.hform.HCheckEmp == 0) {
- return uni.showToast({
- icon: 'none',
- title: '鍙栨牱鍛樻湭閫夋嫨'
- })
- }
- if (this.hform.HSourceID == 0) {
- return uni.showToast({
- icon: 'none',
- title: '鐢熶骇璧勬簮鏈�夋嫨'
- })
- }
-
- console.log('this.hform: ', this.hform);
- let sMainStr = JSON.stringify(this.hform)
- console.log('sMainStr: ', sMainStr);
- let sMainSub = sMainStr + ';' + this.refSav + ';' + getUserInfo()['Czymc'];
- CommonUtils.doRequest2({
- method: 'POST',
- url: '/QC_TakeSampleCheckBill/SaveQC_TakeSampleCheckBillMain',
- data: {
- msg: sMainSub
- },
- resFunction: (res) => {
- let {
- count,
- Message
- } = res.data
- if (count == 1) {
- return uni.showToast({
- icon: 'none',
- title: "鎻愪氦鎴愬姛!"
- })
- } else {
- return uni.showToast({
- icon: 'none',
- title: Message
- })
- }
- }
- })
- },
- onAddNewHandler() {
- uni.redirectTo({
- url: "/pages/quyangdan/TakeSampleCheckBillList?operationType=0"
- })
- },
- goBack() {
- uni.navigateBack()
- },
- }
- }
-</script>
-
-<style lang="scss" scoped>
- .scroll-content {
- box-sizing: border-box;
- padding: 20rpx;
-
- ::v-deep .uni-scroll-view-content {
- box-sizing: border-box;
- padding: 0 40rpx;
- display: flex;
- flex-direction: column;
- gap: 20rpx;
- }
-
- .form-item {
- display: flex;
- flex-direction: row;
- align-items: center;
- gap: 20rpx;
-
- input {
- width: inherit;
- padding: 8rpx 20rpx;
- font-size: 30rpx;
- }
-
- .title {
- width: 5em;
- font-size: 30rpx;
- flex-shrink: 0;
- text-align: right;
- }
-
- .right {
- flex: 1;
- border-radius: 22rpx;
- border: 1px solid #acacac;
- }
-
- .right-icon {
- width: 54rpx;
- height: 54rpx;
- border-radius: 50%;
- background-color: #3A78FF;
- display: flex;
- align-items: center;
- justify-content: center;
- flex-shrink: 0;
-
- }
-
- .disabled {
- border: 1px solid #e4e4e4;
- background-color: #e4e4e4;
- }
- }
- }
-
- .bottom-btn {
- position: fixed;
- bottom: 0;
- box-sizing: border-box;
- background-color: #fff;
- box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
- padding: 30rpx 40rpx 40rpx 40rpx;
- display: flex;
- flex-direction: row;
- gap: 20rpx;
- justify-content: space-between;
- width: 100%;
-
- button {
- border-radius: 50rpx;
- width: 180rpx;
- height: 66rpx;
- line-height: 66rpx;
- font-size: 28rpx;
- }
-
- .btn-a {
- background-color: #3A78FF;
- color: #fff;
- }
-
- .btn-b {
- background-color: #41a863;
- color: #fff;
- }
-
- .btn-c {
- background-color: #acacac;
- color: #fff;
- }
- }
-
- .placeholder__view {
- flex: 1;
- }
-</style>
\ No newline at end of file
diff --git a/utils/WebSocketServices.js b/utils/WebSocketServices.js
index 850b8d8..7115a50 100644
--- a/utils/WebSocketServices.js
+++ b/utils/WebSocketServices.js
@@ -5,82 +5,216 @@
class WebSocketServices {
constructor() {
this.wsInstance = null; // WebSocket 瀹炰緥
- this.isConnecting = false; // 閬垮厤骞跺彂閲嶈繛
- this.isConnected = false; // 閬垮厤骞跺彂閲嶈繛
- this.wsUrl = CommonUtils.httpFormatWs()
+ this.isConnecting = false; // 杩炴帴涓姸鎬侊紙閬垮厤骞跺彂閲嶈繛锛�
+ this.isConnected = false; // 宸茶繛鎺ョ姸鎬�
+ this.isReconnectStopped = false; // 鍋滄閲嶈繛鏍囪
+ this.wsUrl = CommonUtils.httpFormatWs(); // WebSocket 鍩虹鍦板潃
+
+ // 瓒呮椂鏍¢獙閰嶇疆
+ this.businessMessageInterval = 5 * 60 * 1000;
+ this.noMessageTimeout = this.businessMessageInterval + 2 * 60 * 1000;
+ this.noMessageTimer = null; // 鏃犳秷鎭秴鏃跺畾鏃跺櫒
+
+ // 鐩戝惉鍑芥暟寮曠敤
+ this.openListener = null;
+ this.messageListener = null;
+ this.closeListener = null;
+ this.errorListener = null;
+
+ // 缂撳瓨鐢ㄦ埛淇℃伅
+ this.currentUserId = "";
+ this.currentUserName = "";
}
- // 寤虹珛WebSocket杩炴帴
- createConnect(userId, userName) { // 浣跨敤鐢ㄦ埛鏍囪瘑 浣滀负鍚庣杩炴帴鐨勫嚟鎹�
- console.log('wsUrl: ', this.wsUrl);
- console.log('userId: ', userId);
- console.log('userName: ', userName);
- if (this.isConnecting || !userId || this.isConnected) {
- return
+ /**
+ * 寤虹珛 WebSocket 杩炴帴
+ * @param {string/number} userId - 鐢ㄦ埛ID锛堝繀濉級
+ * @param {string} userName - 鐢ㄦ埛鍚嶏紙蹇呭~锛�
+ * @param {number} count - 褰撳墠閲嶈繛娆℃暟
+ * @param {number} limit - 鏈�澶ч噸杩炴鏁帮紙榛樿3娆★級
+ */
+ createConnect(userId, userName, count = 0, limit = 3) {
+ // 鐧诲綍寤虹珛杩炴帴鏃讹紝闇�瑕侀噸鏂拌幏鍙杊ttp鍦板潃锛屽彲鑳戒細鍙樻洿
+ this.wsUrl = CommonUtils.httpFormatWs();
+ // 缂撳瓨鐢ㄦ埛淇℃伅锛堢敤浜庨噸杩烇級
+ this.currentUserId = userId;
+ this.currentUserName = userName;
+
+ // 鍓嶇疆鏍¢獙锛氶伩鍏嶆棤鏁堣繛鎺ュ拰骞跺彂閲嶈繛
+ if (this.isConnecting || this.isConnected) return;
+ if (!userId && userId !== 0) { // 鍏煎 userId 涓� 0 鐨勫悎娉曞満鏅�
+ CommonUtils.showTips({
+ message: "鐢ㄦ埛鏍囪瘑涓嶈兘涓虹┖锛屾棤娉曞缓绔媁ebSocket杩炴帴"
+ });
+ return;
}
+ if (count > limit) {
+ CommonUtils.showTips({
+ message: `WebSocket 閲嶈繛娆℃暟瓒呭嚭鏈�澶ч檺鍒讹紙${limit}娆★級锛屽凡鍋滄閲嶈繛`,
+ });
+ this.isReconnectStopped = true;
+ return;
+ }
+
+ console.log(`[WebSocket] 寮�濮嬪缓绔嬭繛鎺ワ紙绗� ${count || 0} 娆★級`, {
+ wsUrl: this.wsUrl,
+ userId,
+ userName,
+ });
+
+ // 娓呴櫎鍘嗗彶娈嬬暀锛氱洃鍚�+瀹氭椂鍣�
+ this.clearAllListeners();
+ this.clearNoMessageTimer();
+
+ // 鍙戣捣杩炴帴
+ this.isConnecting = true;
this.wsInstance = uni.connectSocket({
- url: this.wsUrl + `?userId=${encodeURIComponent(userId)}&userName=${encodeURIComponent(userName)}`,
- success() {
- this.isConnecting = true
+ url: `${this.wsUrl}?userId=${encodeURIComponent(userId)}&userName=${encodeURIComponent(userName)}`,
+ fail: (error) => {
+ console.error("[WebSocket] 杩炴帴鍙戣捣澶辫触", error);
+ this.isConnecting = false;
+ this.triggerReconnect(count);
+ },
+ });
+
+ // 鐩戝惉杩炴帴鎴愬姛锛氬惎鍔ㄦ棤娑堟伅瓒呮椂鏍¢獙
+ this.openListener = uni.onSocketOpen((res) => {
+ console.log("[WebSocket] 杩炴帴寤虹珛鎴愬姛", res);
+ this.isConnecting = false;
+ this.isConnected = true;
+ this.isReconnectStopped = false;
+ this.startNoMessageCheck();
+ count = 0;
+ });
+
+ this.messageListener = uni.onSocketMessage((res) => {
+ try {
+ const message = JSON.parse(res.data);
+ console.log("[WebSocket] 鏀跺埌涓氬姟娑堟伅", message);
+
+ // 閲嶇疆鏃犳秷鎭畾鏃跺櫒锛堟湁涓氬姟娑堟伅=杩炴帴姝e父锛�
+ this.resetNoMessageTimer();
+
+ // 澶勭悊涓氬姟娑堟伅
+ if (message.Type === "Message") {
+ const content = JSON.parse(message.Content);
+ this.showTaskTip(`鎮ㄦ湁${content.length}鏉℃秷鎭渶瑕佸鐞�!`);
+ // this.emit("message", content); // 鏀寔澶栭儴鐩戝惉
+ }
+ } catch (error) {
+ console.error("[WebSocket] 娑堟伅瑙f瀽澶辫触", error, res.data);
}
- })
+ });
- // 鐩戝惉濂楁帴瀛楄繛鎺ュ缓绔�
- uni.onSocketOpen((res) => {
- console.log('[webSocket]: 濂楁帴瀛楄繛鎺ュ缓绔嬫垚鍔�');
- this.isConnecting = false
- this.isConnected = true
- console.log('res: ', res);
- this.wsInstance = res.socketTask
- })
+ // 鐩戝惉杩炴帴鍏抽棴锛氫粎寮傚父鍏抽棴瑙﹀彂閲嶈繛
+ this.closeListener = uni.onSocketClose((res) => {
+ console.log("[WebSocket] 杩炴帴鍏抽棴", res);
+ this.isConnecting = false;
+ this.isConnected = false;
+ this.clearNoMessageTimer();
- uni.onSocketMessage((res) => {
- let message = JSON.parse(res.data)
- console.log('message: ', message);
- if (message.Type == 'Message') {
- // 娑堟伅淇″彿
- let content = JSON.parse(message.Content)
- console.log('content: ', content);
-
- this.showTaskTip(`鎮ㄦ湁${content.length}鏉℃秷鎭渶瑕佸鐞�!`)
- } else if (message.Type == 'ping') {
- // 蹇冭烦淇″彿
- uni.sendSocketMessage({
- data: "pong"
- })
+ // 姝e父鍏抽棴锛坈ode=1000锛夋垨涓诲姩鍋滄閲嶈繛鏃讹紝涓嶉噸杩�
+ if (!this.isReconnectStopped && res.code !== 1000) {
+ this.triggerReconnect(count);
}
- })
+ });
+
+ // 鐩戝惉杩炴帴閿欒锛氳Е鍙戦噸杩�
+ this.errorListener = uni.onSocketError((error) => {
+ console.error("[WebSocket] 杩炴帴閿欒", error);
+ this.isConnecting = false;
+ this.clearNoMessageTimer();
+ if (!this.isReconnectStopped) {
+ this.triggerReconnect(count);
+ }
+ });
}
- // 閲嶈繛
- reConnect(reCount = 1, limit = 3) {
- if (reCount > limit) {
- uni.showToast({
- icon: 'none',
- title: `瓒呭嚭鏈�澶ч噸杩炴鏁般�傚凡閫�鍑鸿繛鎺
- })
- this.isConnecting = false
- return
+ /**
+ * 缁熶竴瑙﹀彂閲嶈繛锛堝欢杩�3绉掞級
+ * @param {number} count - 褰撳墠閲嶈繛娆℃暟
+ */
+ triggerReconnect(count) {
+ console.log(`[WebSocket] 鍑嗗绗� ${count + 1} 娆¢噸杩瀈);
+ setTimeout(() => {
+ this.createConnect(this.currentUserId, this.currentUserName, count + 1);
+ }, 3000);
+ }
+
+ /**
+ * 鍚姩鈥滄棤涓氬姟娑堟伅鈥濊秴鏃舵牎楠�
+ */
+ startNoMessageCheck() {
+ this.clearNoMessageTimer();
+ this.noMessageTimer = setTimeout(() => {
+ console.warn("[WebSocket] 7鍒嗛挓鏈敹鍒颁笟鍔℃秷鎭紝鍒ゅ畾杩炴帴澶辨晥锛屼富鍔ㄩ噸杩�");
+ this.closeSocket();
+ this.createConnect(this.currentUserId, this.currentUserName);
+ }, this.noMessageTimeout);
+ }
+
+ /**
+ * 鏀跺埌涓氬姟娑堟伅鍚庯紝閲嶇疆鏃犳秷鎭畾鏃跺櫒
+ */
+ resetNoMessageTimer() {
+ this.startNoMessageCheck();
+ }
+
+ /**
+ * 娓呴櫎鏃犳秷鎭畾鏃跺櫒
+ */
+ clearNoMessageTimer() {
+ if (this.noMessageTimer) {
+ clearTimeout(this.noMessageTimer);
+ this.noMessageTimer = null;
}
- uni.showToast({
- icon: 'none',
- title: `姝e湪灏濊瘯閲嶈繛锛岄噸杩炴鏁� ${reCount}`
- })
-
- reConnect(reCount + 1, limit)
-
- uni.hideToast()
}
- // 杩炴帴娉ㄩ攢
- disConnect() {
-
+ /**
+ * 娓呴櫎鎵�鏈� Socket 鐩戝惉
+ */
+ clearAllListeners() {
+ if (this.openListener) {
+ uni.offSocketOpen(this.openListener);
+ this.openListener = null;
+ }
+ if (this.messageListener) {
+ uni.offSocketMessage(this.messageListener);
+ this.messageListener = null;
+ }
+ if (this.closeListener) {
+ uni.offSocketClose(this.closeListener);
+ this.closeListener = null;
+ }
+ if (this.errorListener) {
+ uni.offSocketError(this.errorListener);
+ this.errorListener = null;
+ }
}
+
+ /**
+ * 涓诲姩鍏抽棴 WebSocket 杩炴帴 (鐧诲嚭鏃跺叧闂璚ebSocket杩炴帴)
+ */
+ closeSocket() {
+ this.isReconnectStopped = true;
+ this.clearAllListeners();
+ this.clearNoMessageTimer();
+
+ if (this.wsInstance) {
+ uni.closeSocket({
+ success: () => console.log("[WebSocket] 涓诲姩鍏抽棴杩炴帴鎴愬姛"),
+ fail: (error) => console.error("[WebSocket] 涓诲姩鍏抽棴杩炴帴澶辫触", error),
+ });
+ this.wsInstance = null;
+ }
+
+ this.isConnected = false;
+ this.isConnecting = false;
+ }
+
showTaskTip(Content) {
- console.log('Content: ', Content);
// #ifdef APP-PLUS || APP
- console.log('Content2: ', Content);
let content = Content;
let options = {
title: "閲嶈閫氱煡",
diff --git a/utils/common.js b/utils/common.js
index 4c609a4..6905022 100644
--- a/utils/common.js
+++ b/utils/common.js
@@ -496,7 +496,6 @@
}
httpFormatWs(httpUrl=this.serverUrl) {
- console.log('httpUrl: ',httpUrl);
if(httpUrl.indexOf("http://") === 0){
httpUrl = httpUrl.replace("http://", "")
httpUrl = "ws://" + httpUrl.split(":")[0]+":8089/ws"
--
Gitblit v1.9.1