| New file |
| | |
| | | <template> |
| | | <view> |
| | | <view class="form"> |
| | | <view class="form-item"> |
| | | <view class="title">条码</view> |
| | | <view class="right" style="width: 350rpx;"> |
| | | <input :focus="barCodeFocus" v-model="hform.HBarCode" placeholder="请扫描(或输入)条码" @confirm="getCode(hform.HBarCode)"/> |
| | | </view> |
| | | <uni-icons type="scan" |
| | | style="margin-left: 10rpx;background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;" |
| | | size="20" @click="toScanCode"></uni-icons> |
| | | </view> |
| | | <view class="form-item" @click="searchModule"> |
| | | <view class="title">器具</view> |
| | | <view class="righton" style="width: 350rpx;"> |
| | | <input placeholder="请选择器具" /> |
| | | </view> |
| | | <uni-icons type="search" |
| | | style="margin-left: 10rpx;background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;" |
| | | size="20" ></uni-icons> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">仓库:</view> |
| | | <view class="right"> |
| | | <uni-combox :candidates="arrayHWHName" placeholder="请输入(或扫描)仓库" v-model="hform.HWHName" |
| | | @input="HWHNameChange"></uni-combox> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">仓位:</view> |
| | | <view class="right" v-show="showHStockPlaceName"> |
| | | <uni-combox :candidates="arrayHStockPlaceName" placeholder="请输入(或扫描)仓位" |
| | | v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"></uni-combox> |
| | | </view> |
| | | <view class="righton" v-show="!showHStockPlaceName"> |
| | | <input v-model="hform.HStockPlaceName" :disabled="!showHStockPlaceName" |
| | | placeholder="不可操作" /></view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">保管:</view> |
| | | <view class="right"> |
| | | <uni-combox :candidates="arrayHEmpName" placeholder="请输入(或扫描)发料人" v-model="hform.HKeeperName" |
| | | @input="HScatterUserChange"></uni-combox> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">验收:</view> |
| | | <view class="right"> |
| | | <uni-combox :candidates="arrayHEmpName" placeholder="请输入(或扫描)领料人" v-model="hform.HSecManagerName" |
| | | @input="HCollectUserChange"></uni-combox> |
| | | </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="tabs"> |
| | | <view :class="tabs == 0 ? 'on':''" @tap="tabs = 0">表头信息</view> |
| | | <view :class="tabs == 1 ? 'on':''" @tap="tabs = 1">模具信息</view> |
| | | </view> |
| | | <view v-if="tabs == 0"> |
| | | <view class="form-item"> |
| | | <view class="title">日期:</view> |
| | | <view class="right"> |
| | | <picker mode="date" v-model="hform.HDate" @change="HDateChange"> |
| | | <view class="picker-overlay"></view> |
| | | <input disabled v-model="hform.HDate" placeholder="请选择日期" /> |
| | | </picker> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">源单类型:</view> |
| | | <view class="right" :class="showHMainSourceBillType?'':'disabled'"> |
| | | <zxz-uni-data-select |
| | | v-model="hform.HMainSourceBillType" |
| | | dataKey="typeName" |
| | | dataValue="typeID" |
| | | :filterable="true" |
| | | :localdata="HSourceBillTypeList" |
| | | :clear="false" |
| | | :disabled="!showHMainSourceBillType" |
| | | @change="HSourceBillTypeNameChange" |
| | | ></zxz-uni-data-select> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">源单单号:</view> |
| | | <view class="right" v-show="showHSourceBillNo"> |
| | | <!-- <uni-combox v-if="reHSourceBillNo" :candidates="arrayHSourceBillNo" placeholder="请输入源单单号" |
| | | v-model="hform.HSourceBillNo" @input="HSourceBillNoChange"></uni-combox> --> |
| | | <input :focus="HSourceBillNoFocus" type="text" name="HSourceBillNo" |
| | | v-model="hform.HSourceBillNo" @confirm="onSourceBillBlurHandler" placeholder="请输入源单单号" /> |
| | | |
| | | </view> |
| | | <view class="icon-wrapper" v-show="showHSourceBillNo" :disabled="hform.HMainSourceBillType === -1"> |
| | | <uni-icons type="search" size="20" @click="showBillList"></uni-icons> |
| | | </view> |
| | | |
| | | <view class="righton" v-show="!showHSourceBillNo"> |
| | | <input name="HSourceBillNo" disabled v-model="hform.HSourceBillNo" placeholder="请输入源单单号" /> |
| | | </view> |
| | | <!-- <view class="right" v-show="showHSourceBillNo"> |
| | | <uni-combox ref="uniComboxSourceBill" :isFocus="HSourceBillNoFocus" |
| | | :confirm-call="onSourceBillBlurHandler" v-if="reHSourceBillNo" |
| | | :candidates="arrayHSourceBillNo" placeholder="请输入源单单号" v-model="hform.HSourceBillNo" |
| | | @input="HSourceBillNoChange"></uni-combox> |
| | | </view> |
| | | <view class="righton" v-show="!showHSourceBillNo"> |
| | | <input name="HSourceBillNo" disabled v-model="hform.HSourceBillNo" placeholder="请输入源单单号" /> |
| | | </view> --> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">制单人:</view> |
| | | <view class="righton"> |
| | | <input name="HMaker" disabled v-model="hform.HMaker" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">单据号:</view> |
| | | <view class="righton"> |
| | | <input name="HBillNo" disabled v-model="hform.HBillNo" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">单据ID:</view> |
| | | <view class="righton"> |
| | | <input name="HInterID" disabled v-model="hform.HInterID" /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view v-if="tabs==1"> |
| | | <view class="list" v-for="(item,index) in HMouldList" :key="index"> |
| | | <uni-card :title="item.器具名称" style="margin: 10px;" @tap="delMater(item, $event)"> |
| | | <!-- 器具代码作为可点击链接 --> |
| | | <view class="card-header"> |
| | | <text class="link-text">器具号:{{item.器具号}}</text> |
| | | </view> |
| | | |
| | | <view class="card-detail"> |
| | | <view class="detail"> |
| | | <text>数量:</text>{{item.数量}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>器具条码:</text>{{item.器具条码}} |
| | | </view> |
| | | </view> |
| | | </uni-card> |
| | | </view> |
| | | <view class="over" v-if="HMouldList.length == 0">暂无数据</view> |
| | | </view> |
| | | <view class="bottom-btn"> |
| | | <button class="btn-c" size="mini" @tap="goBack">退出</button> |
| | | <button v-if="btnType == 1 && !isEdit" class="btn-a" size="mini" @tap="submit">提交</button> |
| | | <!-- <button v-if="btnType != 1 && !isEdit" class="btn-a" size="mini" @tap="ifEdit">修改</button> --> |
| | | <button v-if="btnType != 1 " class="btn-a" size="mini" @tap="submit">提交</button> |
| | | </view> |
| | | </view> |
| | | <BillListPopupVue ref="billList" :HBillType="hform.HBillType" :HSourceBillType="hform.HMainSourceBillType" |
| | | :HStockOrgID="hform.HStockOrgID"></BillListPopupVue> |
| | | <BillListPopupMouldVue @BillSelectComplete="MouldBillHandler" ref="billListMould"></BillListPopupMouldVue> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import getDateTime from '@/utils/getdateTime.js'; |
| | | import { |
| | | getUserInfo |
| | | } from "@/utils/auth.js"; |
| | | import { CommonUtils } from '@/utils/common'; |
| | | import BillListPopupVue from '../../../components/BillListPopup/BillListPopup.vue'; |
| | | import BillListPopupMouldVue from '../../../components/BillListPopup/BillListPopup_Mould.vue'; |
| | | export default { |
| | | data() { |
| | | return { |
| | | HSourceBillNoFocus: false, |
| | | barCodeFocus: true,//条码光标 |
| | | userInfo: getUserInfo(), |
| | | serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API', |
| | | tabs: 0, |
| | | btnType:1,//1新增,3修改 |
| | | linterid:'', |
| | | arrayHEmpName: [], |
| | | HEmpNameList: [], |
| | | arrayHWHName: [], //仓库 |
| | | HWHNameList: [], |
| | | arrayHStockPlaceName: [], //仓位 |
| | | HStockPlaceNameList: [], |
| | | arrayHDeptName: [], //部门 |
| | | HDeptNameList: [], |
| | | arrayHCusName: [], //客户 |
| | | HCusNameList: [], |
| | | arrayHSupplierName:[],//供应商 |
| | | HSuplierList:[], |
| | | linterid: '', |
| | | HBillNo: '', |
| | | showHStockPlaceName: true, |
| | | HMouldList:[], |
| | | isEdit: false, |
| | | |
| | | showHMainSourceBillType: true, |
| | | showHSourceBillNo: true, |
| | | |
| | | //源单类型 |
| | | HSourceBillTypeList:[{typeID:"-1",typeName:"手工录入"}], |
| | | hform: { |
| | | HBarCode: '', |
| | | HInterID: '', |
| | | HBillType: 3832, |
| | | HWHName: getUserInfo().HWHName, |
| | | HWHID: getUserInfo().HWhID, |
| | | HStockPlaceName: getUserInfo().HSPName, |
| | | HStockPlaceID: getUserInfo().HSPID, |
| | | HKeeperName: getUserInfo().User, |
| | | HKeeperID: getUserInfo().User,//发料人 |
| | | HSecManagerName: getUserInfo().HEmpName, |
| | | HSecManagerID: getUserInfo().HEmpID,//领料人 |
| | | HDeptName: getUserInfo().HDept, |
| | | HDeptID: getUserInfo().HDeptID, |
| | | //源单信息 |
| | | HMainSourceBillType: "-1", |
| | | HSourceBillNo: '', //CGDD000200 |
| | | HDate: getDateTime.dateTimeStr('y-m-d'), |
| | | HMaker: uni.getStorageSync('HUserName'), |
| | | |
| | | HRedBlueFlag:'false', |
| | | HStockOrgName: uni.getStorageSync('Organization'), |
| | | HStockOrgID: uni.getStorageSync('OrganizationID'), |
| | | HStockOutOrgID:uni.getStorageSync('OrganizationID'), |
| | | HBarCode_B:'', |
| | | HMouldName_B:'', |
| | | HMouldID_B:'', |
| | | HMouldCount_B:'', |
| | | } |
| | | } |
| | | }, |
| | | components: { |
| | | BillListPopupVue, |
| | | BillListPopupMouldVue |
| | | }, |
| | | methods: { |
| | | searchModule() { |
| | | this.$refs['billListMould'].showPopup() |
| | | }, |
| | | MouldBillHandler(mould) { |
| | | if(!mould.enableMultiSourceBill){ |
| | | let val = mould.val[0] |
| | | this.hform.HBarCode = val['条码编号'] |
| | | this.getCode(this.hform.HBarCode) |
| | | } |
| | | this.$refs['billListMould'].exit() |
| | | }, |
| | | // 读取缓存 |
| | | loadCache() { |
| | | const pages = getCurrentPages() |
| | | // 获取页面栈中的最后一个元素,也就是当前显示的页面 |
| | | const currentPage = pages[pages.length - 1] |
| | | let HBillTypeCache = uni.getStorageSync(`${currentPage.route.split("/").pop()}_HSourceBillTypeCache`) |
| | | if (HBillTypeCache) { |
| | | this.hform.HMainSourceBillType = HBillTypeCache.HSourceBillType |
| | | } |
| | | }, |
| | | //扫码 |
| | | 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.hform.HBarCode = ret.resp_result |
| | | } |
| | | |
| | | this.getCode(this.hform.HBarCode) |
| | | }) |
| | | }, |
| | | getNewData() { |
| | | CommonUtils.doRequest("/WEBSController/GetMaxBillNoAndID_Json", { |
| | | HBillType: this.hform.HBillType |
| | | }, |
| | | (res) => { |
| | | let res1 = res.data; |
| | | let { |
| | | data, |
| | | count |
| | | } = res1 |
| | | if (count == 1) { |
| | | this.hform.HInterID = data[0].HInterID |
| | | this.hform.HBillNo = data[0].HBillNo |
| | | } else { |
| | | uni.showToast({ |
| | | title: data.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | async getCode(HBarCode) { |
| | | //仓库、仓位文本框为空时,清空对应ID |
| | | if (!this.hform.HWHName) { |
| | | this.hform.HWHID = 0 |
| | | } |
| | | if (!this.hform.HStockPlaceName) { |
| | | this.hform.HStockPlaceID = 0 |
| | | } |
| | | var sHWHID = this.hform.HWHID |
| | | var sHSPID = this.hform.HStockPlaceID |
| | | var sOldBarCode = HBarCode; |
| | | var HDeleteFlag = sOldBarCode.substring(0, 1); //取条码第一个字符 |
| | | var sBarCode = sOldBarCode.slice(1); //获取第一个字符以外的全部字符 |
| | | var sSourceBillNo = this.hform.HSourceBillNo |
| | | var sSourceBillType =this.hform.HMainSourceBillType |
| | | if(sSourceBillType != -1&&sSourceBillNo==""){ |
| | | |
| | | uni.showToast({ |
| | | title: "请先选择源单", |
| | | icon: 'none' |
| | | }) |
| | | return |
| | | } |
| | | if (HDeleteFlag == '*') { |
| | | if (sBarCode == "") { |
| | | uni.showToast({ |
| | | title: '请输入要删除的条码', |
| | | icon: 'none' |
| | | }); |
| | | } else { |
| | | try { |
| | | let res = await CommonUtils.doRequest2Sync({ |
| | | url: '/MouldController/set_DelMouldStockBillMain_Temp_Json', |
| | | data: { |
| | | HInterID: this.hform.HInterID, |
| | | HBillType: this.hform.HBillType, |
| | | HBarCode: sBarCode |
| | | }, |
| | | }) |
| | | |
| | | if (!res) { |
| | | return |
| | | } |
| | | |
| | | console.log('删除条码', res.data); |
| | | this.hform.HBarCode = ''; |
| | | if (res.data.count == 1) { |
| | | this.hform.HQty = '' |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.data.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | |
| | | |
| | | } catch (err) { |
| | | console.log(res); |
| | | uni.showToast({ |
| | | title: '接口请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | } |
| | | }else |
| | | { |
| | | var sBarCode = this.hform.HBarCode |
| | | try { |
| | | let res = await CommonUtils.doRequest2Sync({ |
| | | url: '/MouldController/Get_CheckTypeByMouldBarCode_Json', |
| | | data: { |
| | | sBarCode: sBarCode, |
| | | HInterID: this.hform.HInterID, |
| | | HBillType: this.hform.HBillType, |
| | | HBillNo: this.hform.HBillNo, |
| | | HMaker: this.hform.HMaker, |
| | | HWhID: sHWHID, |
| | | HSPID: sHSPID, |
| | | HSCWhID:0, |
| | | HSCSPID: 0, |
| | | HRedBlueFlag: this.hform.HRedBlueFlag, |
| | | HSourceBillNo: sSourceBillNo, |
| | | HSourceBillType: sSourceBillType, |
| | | HStockOrgID: this.hform.HStockOrgID, |
| | | HStockOutOrgID: this.hform.HStockOutOrgID, |
| | | }, |
| | | }) |
| | | |
| | | if (!res) { |
| | | return |
| | | } |
| | | |
| | | console.log('检查扫码返回的数据', res.data); |
| | | this.hform.HBarCode='' |
| | | if(res.data.count==1){ |
| | | this.tabs = 1 |
| | | this.DisBillEntryList() |
| | | this.showHMainSourceBillType = false |
| | | this.showHSourceBillNo = false |
| | | } |
| | | else { |
| | | uni.showToast({ |
| | | title: res.data.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | |
| | | |
| | | } catch (err) { |
| | | console.log(res); |
| | | uni.showToast({ |
| | | title: '接口请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | } |
| | | }, |
| | | //仓库监听事件 |
| | | HWHNameChange(e) { |
| | | for (var i = 0; i < this.HWHNameList.length; i++) { |
| | | if (this.HWHNameList[i]["HName"] == e) { |
| | | this.hform.HWHName = this.HWHNameList[i]["HName"] |
| | | this.hform.HWHID = this.HWHNameList[i].HItemID |
| | | |
| | | this.showHStockPlaceName = this.HWHNameList[i].HIsStockMgr |
| | | } |
| | | } |
| | | }, |
| | | HStockPlaceNameChange(e) { |
| | | for (var i = 0; i < this.HStockPlaceNameList.length; i++) { |
| | | if (this.HStockPlaceNameList[i]["HWhName"] == e) { |
| | | this.hform.HStockPlaceID = this.HStockPlaceNameList[i].HItemID |
| | | this.hform.HStockPlaceName = this.HStockPlaceNameList[i]["HWhName"] |
| | | } |
| | | } |
| | | }, |
| | | /* #region 仓库仓位获取下拉框 */ |
| | | getHBaseList() { |
| | | CommonUtils.doRequest( |
| | | "/Web/GetWarehouseList_Json_New", { |
| | | Warehouse: "", |
| | | HOrgID: uni.getStorageSync('OrganizationID') |
| | | }, |
| | | (res) => { |
| | | let res1 = res.data |
| | | let { |
| | | data, |
| | | count |
| | | } = res1 |
| | | if (count == 1) { |
| | | this.HWHNameList = data |
| | | for (var i = 0; i < data.length; i++) { |
| | | this.arrayHWHName[i] = data[i]["HName"] |
| | | } |
| | | } else { |
| | | uni.showToast({ |
| | | title: '仓库数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | ) |
| | | CommonUtils.doRequest( |
| | | "/WEBSController/GetStockPlaceList_Json", { |
| | | StockPlace: '', |
| | | HWhID: this.hform.HWHID, |
| | | HStockOrgID: uni.getStorageSync('OrganizationID') |
| | | }, |
| | | (res) => { |
| | | let res1 = res.data |
| | | console.log(res1) |
| | | let { |
| | | data, |
| | | count |
| | | } = res1 |
| | | if (count == 1) { |
| | | this.HStockPlaceNameList = data |
| | | for (var i = 0; i < data.length; i++) { |
| | | this.arrayHStockPlaceName[i] = data[i]["HWhName"] |
| | | } |
| | | } else { |
| | | uni.showToast({ |
| | | title: '仓位数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | ) |
| | | }, |
| | | /* #endregion */ |
| | | getHEmpList() { |
| | | CommonUtils.doRequest("/Web/GetEmployeeList_Json", { |
| | | Employee: '', |
| | | HGroupID: 0 |
| | | }, |
| | | (res) => { |
| | | if (res.data.count == 1) { |
| | | this.HEmpNameList = res.data.data |
| | | for (var i = 0; i < res.data.data.length; i++) { |
| | | this.arrayHEmpName[i] = res.data.data[i].HName |
| | | } |
| | | this.$forceUpdate(); |
| | | } else { |
| | | uni.showToast({ |
| | | title: '人员数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | ) |
| | | }, |
| | | HScatterUserChange(e) { |
| | | for (var i = 0; i < this.HEmpNameList.length; i++) { |
| | | if (this.HEmpNameList[i].HName == e) { |
| | | this.hform.HKeeperID = this.HEmpNameList[i].HItemID |
| | | this.hform.HKeeperName = this.HEmpNameList[i].HName |
| | | } |
| | | } |
| | | }, |
| | | HCollectUserChange(e) { |
| | | for (var i = 0; i < this.HEmpNameList.length; i++) { |
| | | if (this.HEmpNameList[i].HName == e) { |
| | | this.hform.HSecManagerID = this.HEmpNameList[i].HItemID |
| | | this.hform.HSecManagerName = this.HEmpNameList[i].HName |
| | | } |
| | | } |
| | | }, |
| | | //获取使用部门数据 |
| | | getHDeptList() { |
| | | uni.request({ |
| | | url: this.serverUrl + '/Gy_Department/list', |
| | | data: { |
| | | sWhere: "", |
| | | user: uni.getStorageSync('HUserName'), |
| | | Organization: uni.getStorageSync('Organization') |
| | | }, |
| | | success: (res) => { |
| | | if (res.data.count == 1) { |
| | | this.HDeptNameList = res.data.data |
| | | for (var i = 0; i < res.data.data.length; i++) { |
| | | this.arrayHDeptName[i] = res.data.data[i].部门名称 |
| | | } |
| | | this.$forceUpdate(); |
| | | } else { |
| | | uni.showToast({ |
| | | title: '部门数据请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | | console.log(res); |
| | | uni.showToast({ |
| | | title: '接口请求失败', |
| | | icon: 'none' |
| | | }) |
| | | }, |
| | | }); |
| | | }, |
| | | getHCusList() { |
| | | CommonUtils.doRequest( |
| | | "/Gy_Customer/list", { |
| | | sWhere: "", |
| | | user: uni.getStorageSync('HUserName'), |
| | | Organization: uni.getStorageSync('Organization') |
| | | }, |
| | | (res) => { |
| | | let res1 = res.data |
| | | let { |
| | | data, |
| | | count |
| | | } = res1 |
| | | if (count == 1) { |
| | | this.HCusNameList = data |
| | | for (var i = 0; i < data.length; i++) { |
| | | this.arrayHCusName[i] = data[i].客户名称 |
| | | } |
| | | this.$forceUpdate(); |
| | | } else { |
| | | uni.showToast({ |
| | | title: data.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | } |
| | | ) |
| | | }, |
| | | getHSupList() { |
| | | CommonUtils.doRequest( |
| | | "/Gy_Supplier/list", { |
| | | sWhere: "", |
| | | user: uni.getStorageSync('HUserName'), |
| | | Organization: uni.getStorageSync('Organization') |
| | | }, |
| | | (res) => { |
| | | let res1 = res.data |
| | | let { |
| | | data, |
| | | count |
| | | } = res1 |
| | | if (count == 1) { |
| | | this.HSuplierList = data |
| | | for (var i = 0; i < data.length; i++) { |
| | | this.arrayHSupplierName[i] = data[i].供应商名称 |
| | | } |
| | | this.$forceUpdate(); |
| | | } else { |
| | | uni.showToast({ |
| | | title: data.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | } |
| | | ) |
| | | }, |
| | | //选择使用部门 |
| | | HDeptNameChange(e) { |
| | | for (var i = 0; i < this.HDeptNameList.length; i++) { |
| | | if (this.HDeptNameList[i].部门名称 == e) { |
| | | this.hform.HDeptID = this.HDeptNameList[i].HItemID |
| | | this.hform.HDeptName = this.HDeptNameList[i].部门名称 |
| | | } |
| | | } |
| | | }, |
| | | HDateChange(e) { |
| | | console.log(e.detail.value) |
| | | this.hform.HDate = e.detail.value |
| | | }, |
| | | //器具信息 |
| | | DisBillEntryList() { |
| | | CommonUtils.doRequest( |
| | | "/MouldController/GetMouldBillEntryTmpList_Json", { |
| | | HInterID: this.hform.HInterID, |
| | | HBillNo: this.hform.HBillNo, |
| | | HBillType: this.hform.HBillType |
| | | }, |
| | | (res) => { |
| | | console.log('器具', res.data) |
| | | var data = res.data.data |
| | | this.HMouldList = data; |
| | | if (res.data.count==0) { |
| | | this.HMouldList = []; |
| | | this.hform.HMouldCount_B = '' |
| | | this.hform.HMouldID_B = '' |
| | | this.hform.HMouldName_B = '' |
| | | |
| | | } else { |
| | | this.hform.HMouldCount_B = data[0].HQty |
| | | this.hform.HMouldID_B = data[0].HMouldID |
| | | this.hform.HMouldName_B = data[0].HMouldName |
| | | this.hform.HBarCode_B=data[0].HBarCode |
| | | } |
| | | }, |
| | | |
| | | ) |
| | | }, |
| | | goBack() { |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: '确认要退出当前页面吗?', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | console.log('用户点击确定'); |
| | | uni.redirectTo({ |
| | | url: '/pages/MJGL/MouldScrapOutBill/MouldScrapOutBillList' |
| | | }) |
| | | } else if (res.cancel) { |
| | | console.log('用户点击取消'); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | ifEdit(){ |
| | | this.isEdit = true |
| | | this.hform.eventType = 'Modify' |
| | | }, |
| | | async submit() { |
| | | //仓库、仓位、保管、验收、部门、供应商文本框为空时,清空对应ID |
| | | if (!this.hform.HWHName) { |
| | | this.hform.HWHID = 0 |
| | | } |
| | | if (!this.hform.HStockPlaceName) { |
| | | this.hform.HStockPlaceID = 0 |
| | | } |
| | | if (!this.hform.HKeeperName) { |
| | | this.hform.HKeeperID = 0 |
| | | } |
| | | |
| | | if (!this.hform.HSecManagerName) { |
| | | this.hform.HSecManagerID = 0 |
| | | } |
| | | |
| | | if (!this.hform.HDeptName) { |
| | | this.hform.HDeptID = 0 |
| | | } |
| | | // if (!this.hform.HSupName) { |
| | | // this.hform.HSupID = 0 |
| | | // } |
| | | if (this.hform.HInterID == 0 || !this.hform.HInterID) { |
| | | uni.showToast({ |
| | | title: '单据内码获取失败,错误的单据内码!', |
| | | icon: 'none' |
| | | }) |
| | | } else if (!this.hform.HBillNo) { |
| | | uni.showToast({ |
| | | title: '单据号获取失败,错误的单据号!', |
| | | icon: 'none' |
| | | }) |
| | | } else { |
| | | if (this.hform.HMouldID_B == 0||this.hform.HMouldID_B ==null) { |
| | | uni.showToast({ |
| | | title: '没有扫描器具条码,请先扫描器具条码,确认无误后再提交!', |
| | | icon: 'none' |
| | | }) |
| | | } else { |
| | | uni.showLoading({ |
| | | title: '请稍候' |
| | | }) |
| | | |
| | | |
| | | let sMainStr = JSON.stringify(this.hform); |
| | | console.log("主表:" + sMainStr) |
| | | try { |
| | | let res = await CommonUtils.doRequest2Sync({ |
| | | url: '/MouldController/set_SaveMouldScrapOutBill_Json', |
| | | method: 'POST', |
| | | data: { |
| | | oMain: sMainStr |
| | | }, |
| | | }) |
| | | |
| | | if (!res) { |
| | | return |
| | | } |
| | | |
| | | console.log(1, res); |
| | | uni.hideLoading() |
| | | if (res.data.count == 1) { |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: res.data.Message + '。是否继续新增?(点击取消返回上级页面)', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | console.log('用户点击确定'); |
| | | uni.redirectTo({ |
| | | url: '/pages/mjgl/MouldScrapOutBill/MouldScrapOutBill' |
| | | }) |
| | | } else if (res.cancel) { |
| | | console.log('用户点击取消'); |
| | | setTimeout(() => { |
| | | uni.navigateBack(); |
| | | }, 50) |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | // uni.showToast({ |
| | | // title: res.data.Message, |
| | | // icon: 'none' |
| | | // }) |
| | | uni.showModal({ |
| | | content: res.data.Message, |
| | | showCancel: false, |
| | | complete() { |
| | | uni.hideLoading() |
| | | } |
| | | }) |
| | | } |
| | | } catch (err) { |
| | | console.warn(err); |
| | | uni.showToast({ |
| | | title: '接口请求失败:' + err, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | showBillList() { |
| | | this.$refs.billList.showPopup() |
| | | }, |
| | | HSourceBillTypeNameChange(e) { |
| | | |
| | | const pages = getCurrentPages() |
| | | // 获取页面栈中的最后一个元素,也就是当前显示的页面 |
| | | const currentPage = pages[pages.length - 1] |
| | | // 选择源单类型后 缓存当前页面选择 |
| | | uni.setStorageSync(`${currentPage.route.split("/").pop()}_HSourceBillTypeCache`, { |
| | | HSourceBillType: this.hform.HMainSourceBillType |
| | | }) |
| | | }, |
| | | //选中源单 |
| | | getHBarCodeData(HBarCode) { |
| | | uni.request({ |
| | | url: this.serverUrl + '/MouldController/Get_SourceBarCode_ProdOut_Json', |
| | | data: { |
| | | HInterID: this.hform.HInterID, |
| | | HBillNo: this.hform.HBillNo, |
| | | HBillType: this.hform.HBillType, |
| | | HSourceBillNo: HBarCode, |
| | | HSourceBillType: this.hform.HMainSourceBillType, |
| | | HMaker: this.hform.HMaker, |
| | | HStockOrgID: this.hform.HStockOrgID |
| | | }, |
| | | success: (res) => { |
| | | if (res.data.count == 1) { |
| | | var data = res.data.data[0] |
| | | console.log(2, data); |
| | | |
| | | this.hform.HSourceBillNo = data.HSourceBillNo |
| | | this.showHMainSourceBillType = false |
| | | //默认非多源单 |
| | | this.showHSourceBillNo = false |
| | | |
| | | this.tabs = 1 |
| | | CommonUtils.playSound(1) |
| | | //光标对准条码 |
| | | this.refreshBarCodeState() |
| | | this.DisBillEntryList() |
| | | } else { |
| | | console.log('res.data.Message: ', res.data.Message); |
| | | CommonUtils.playSound(0) |
| | | uni.showToast({ |
| | | title: res.data.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | | CommonUtils.playSound(0) |
| | | console.log(res); |
| | | uni.showToast({ |
| | | title: '接口请求失败', |
| | | icon: 'none' |
| | | }) |
| | | }, |
| | | }); |
| | | }, |
| | | async refreshBarCodeState() { |
| | | this.barCodeFocus = false |
| | | await this.$nextTick(() => { |
| | | this.barCodeFocus = true |
| | | this.hform.HBarCode = "" |
| | | }) |
| | | }, |
| | | |
| | | delMater(item) { |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: '确认要删除 "' + item.器具号 + '" 所有扫码记录?删除后将不可恢复!', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | uni.request({ |
| | | url: this.serverUrl + |
| | | '/MouldController/set_DelMouldStockBillMain_Temp_Json', |
| | | data: { |
| | | HInterID: this.hform.HInterID, |
| | | HBarCode: item.HBarCode, |
| | | HBillType: this.hform.HBillType |
| | | }, |
| | | success: (res) => { |
| | | if (res.data.count == 1) { |
| | | this.DisBillEntryList() |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.data.Message, |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }, |
| | | fail: (res) => { |
| | | console.log(res); |
| | | uni.showToast({ |
| | | title: '接口请求失败', |
| | | icon: 'none' |
| | | }) |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | onLoad(e) { |
| | | console.log(e, this.userInfo) |
| | | console.log(getUserInfo().HEmpName) |
| | | if(e.linterid){ |
| | | this.btnType = 3 |
| | | this.linterid = e.linterid |
| | | this.HBillNo = e.HBillNo |
| | | this.getEditData(e.linterid, e.HBillNo) |
| | | }else{ |
| | | this.getNewData() |
| | | } |
| | | |
| | | this.getHBaseList() |
| | | this.getHCusList() |
| | | this.getHEmpList() |
| | | this.getHDeptList() |
| | | this.getHSupList() |
| | | |
| | | setTimeout(() => { |
| | | this.$nextTick(() => { |
| | | this.loadCache() |
| | | }) |
| | | |
| | | }, 300); |
| | | uni.$on('BillSelectComplete', (e) => { |
| | | console.log("接收到的消息: ", e.HBillNo) |
| | | this.getHBarCodeData(e.HBillNo) |
| | | this.$refs.billList.exit() |
| | | }) |
| | | //this.getHEmpList() |
| | | }, |
| | | //重要选择源单必须添加这个否则出现严重bug |
| | | onUnload() { |
| | | uni.$off('BillSelectComplete') |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | .form { |
| | | width: 668rpx; |
| | | margin: 20rpx auto; |
| | | padding-bottom: 240rpx; |
| | | } |
| | | |
| | | .tab_area { |
| | | width: 100%; |
| | | height: 50rpx; |
| | | } |
| | | |
| | | .other { |
| | | margin-top: 8rpx; |
| | | text-align: center; |
| | | font-size: 28rpx; |
| | | padding: 4rpx 18rpx; |
| | | color: #1890FF; |
| | | } |
| | | |
| | | .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; |
| | | } |
| | | } |
| | | |
| | | .form-item { |
| | | display: flex; |
| | | align-items: center; |
| | | font-size: 30rpx; |
| | | padding: 6rpx 0; |
| | | gap: 12rpx; |
| | | |
| | | .title { |
| | | width: 208rpx; |
| | | flex-shrink: 0; |
| | | |
| | | text { |
| | | color: red; |
| | | font-weight: bold; |
| | | } |
| | | } |
| | | .disabled { |
| | | border: 1px solid #e4e4e4; |
| | | background-color: #e4e4e4; |
| | | } |
| | | .right { |
| | | // width: 450rpx; |
| | | flex: 1; |
| | | border-radius: 22rpx; |
| | | border: 1px solid #acacac; |
| | | position: relative; |
| | | display: flex; |
| | | |
| | | picker { |
| | | width: 100%; |
| | | } |
| | | |
| | | .uni-combox { |
| | | width: 100%; |
| | | } |
| | | } |
| | | |
| | | .righton { |
| | | // width: 450rpx; |
| | | flex: 1; |
| | | border-radius: 22rpx; |
| | | border: 1px solid #e4e4e4; |
| | | background-color: #e4e4e4; |
| | | position: relative; |
| | | display: flex; |
| | | } |
| | | |
| | | input { |
| | | width: 100%; |
| | | padding: 8rpx 20rpx; |
| | | font-size: 30rpx; |
| | | } |
| | | |
| | | textarea { |
| | | width: 98%; |
| | | padding: 8rpx 20rpx; |
| | | font-size: 30rpx; |
| | | } |
| | | |
| | | .icon-wrapper { |
| | | background-color: #3A78FF; |
| | | border-radius: 100%; |
| | | width: 52rpx; |
| | | height: 52rpx; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | flex-shrink: 0; |
| | | |
| | | .uni-icons { |
| | | color: #fff !important; |
| | | } |
| | | } |
| | | |
| | | .icon-wrapper[disabled] { |
| | | background-color: rgba(228, 228, 228, 1); |
| | | pointer-events: none; |
| | | touch-action: none; |
| | | } |
| | | } |
| | | |
| | | .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; |
| | | } |
| | | } |
| | | |
| | | .list { |
| | | width: 100%; |
| | | |
| | | .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; |
| | | } |
| | | } |
| | | } |
| | | </style> |