| New file |
| | |
| | | <template> |
| | | <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 :class="tabs == 3 ? 'on':''" @tap="tabs = 3">附件信息</view> --> |
| | | </view> |
| | | <!-- 页签 源单信息 --> |
| | | <view v-if="tabs == 0"> |
| | | <view class="form-item-wrapper"> |
| | | <view class="form-item"> |
| | | <view class="title">源单号:</view> |
| | | <view class="right"> |
| | | <input v-model="sourceBillInfo.HSourceBillNo" @confirm="getCode(sourceBillInfo.HSourceBillNo)" |
| | | placeholder="请输入源单号" /> |
| | | </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"> |
| | | <view class="title">单据号:</view> |
| | | <view class="right disabled"> |
| | | <input v-model="sourceBillInfo.HBillNo" disabled /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">单据内码:</view> |
| | | <view class="right disabled"> |
| | | <input v-model="sourceBillInfo.HInterID" disabled /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <!-- 页签 物料清单 --> |
| | | <view v-if="tabs == 1"> |
| | | <view class="form-item-wrapper"> |
| | | <view class="form-item"> |
| | | <view class="title">质检员:</view> |
| | | <view class="right"> |
| | | <uni-combox :candidates="HKeeperNameList" placeholder="请选择质检员" |
| | | v-model="sourceBillInfo.HKeeperName" @input="HKeeperNameChange"></uni-combox> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="card-item-wrapper"> |
| | | <view v-for="(item, index) in materialManifest" :key="index"> |
| | | <uni-card :class="item.selected?'card-selected':''" :title="item.HSourceBillNo" |
| | | @tap="selectMater(item, index)"> |
| | | <view class="card-detail"> |
| | | <view class="detail"> |
| | | <text>物料代码:</text>{{item.HMaterNumber}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>物料名称:</text>{{item.HMaterName}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>规格型号:</text>{{item.HMaterModel}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>数量:</text>{{item.HQty}} |
| | | </view> |
| | | </view> |
| | | </uni-card> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <!-- 页签 明细清单 --> |
| | | <view v-if="tabs == 2"> |
| | | <view class="form-item-wrapper"> |
| | | <view class="form-item"> |
| | | <view class="title">物料代码:</view> |
| | | <view class="right"> |
| | | <input v-model="detailManifestItem.HMaterNumber" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">物料名称:</view> |
| | | <view class="right"> |
| | | <input v-model="detailManifestItem.HMaterName" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">规格型号:</view> |
| | | <view class="right"> |
| | | <input v-model="detailManifestItem.HMaterModel" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">单位:</view> |
| | | <view class="right"> |
| | | <input v-model="detailManifestItem.HUnitName" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">检验数量:</view> |
| | | <view class="right"> |
| | | <input v-model="detailManifestItem.HCheckQty" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">合格数量:</view> |
| | | <view class="right"> |
| | | <input v-model="detailManifestItem.HRightQty" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">不合格数量:</view> |
| | | <view class="right"> |
| | | <input v-model="detailManifestItem.HBadQty" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">质检员:</view> |
| | | <view class="right"> |
| | | <uni-combox :candidates="HKeeperNameList" placeholder="请选择质检员" |
| | | v-model="detailManifestItem.HKeeperName" @input="HKeeperNameChange"></uni-combox> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">检验结果:</view> |
| | | <view class="right"> |
| | | <uni-combox v-model="detailManifestItem.HCheckResultName" :candidates="HCheckResultValueList" |
| | | @input="HCheckResultChangeHandle"></uni-combox> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">使用决策:</view> |
| | | <view class="right"> |
| | | <uni-combox v-model="detailManifestItem.HUseResultName" :candidates="HUseResultValueList" |
| | | @input="HUseResultChangeHandle"></uni-combox> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">仓库:</view> |
| | | <view class="right"> |
| | | <input v-model="detailManifestItem.HWHName_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">仓位:</view> |
| | | <view class="right"> |
| | | <input v-model="detailManifestItem.HSPName_B" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">批号:</view> |
| | | <view class="right"> |
| | | <input v-model="detailManifestItem.HBatchNo" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">质检组织:</view> |
| | | <view class="right"> |
| | | <input v-model="detailManifestItem.HZJOrgName" /> |
| | | </view> |
| | | </view> |
| | | <view class="form-item"> |
| | | <view class="title">供应商:</view> |
| | | <view class="right"> |
| | | <input v-model="detailManifestItem.HSupName" /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <!-- 页签 附件信息 --> |
| | | <view v-if="tabs == 3"> |
| | | <view class="card-item-wrapper"> |
| | | <view class="attachment-btns"> |
| | | <button type="primary" size="mini" @tap="fileUpload">选择文件</button> |
| | | <button type="primary" size="mini" @tap="imageUpload">拍照上传</button> |
| | | <view style="flex: 1;"></view> |
| | | </view> |
| | | <view v-for="(item, index) in attachmentInfo" :key="index"> |
| | | <uni-card :title="item['fileName']" :thumbnail="item.filePath"> |
| | | <view class="card-detail"> |
| | | <view class="detail"> |
| | | <text>大小:</text>{{item["size"]}} |
| | | </view> |
| | | <view class="detail"> |
| | | <text>状态:</text>{{item["status"]}} |
| | | </view> |
| | | <view class="detail operation" v-if="item['status']!='上传成功'"> |
| | | <text>操作:</text> |
| | | <button class="btn-a" size="mini" @tap.stop="uploadFile(index)">上传</button> |
| | | <button class="btn-b" size="mini" @tap.stop="delFile(index)">删除</button> |
| | | </view> |
| | | </view> |
| | | </uni-card> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view style="height: 140rpx;"></view> |
| | | <!-- 操作按钮 --> |
| | | <view class="bottom-btn" id="bottom-btn"> |
| | | <button class="btn-a" size="mini" @tap="cmdSubmit">提交</button> |
| | | <button class="btn-a" size="mini" @tap="cmdAdd">新增</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> |
| | | <xe-upload ref="XeUpload" :options="uploadOptions" @callback="handleUploadCallback"></xe-upload> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | getUserInfo |
| | | } from '../../../utils/auth'; |
| | | import { |
| | | CommonUtils |
| | | } from '../../../utils/common'; |
| | | import { |
| | | MpaasScan |
| | | } from '@/utils/mpaasScan.js' |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | uploadOptions: {}, |
| | | EnableSubmit: false, |
| | | tabs: 0, |
| | | |
| | | // 源单信息 |
| | | sourceBillInfo: { |
| | | HSourceBillNo: '', |
| | | HBillNo: '', |
| | | HInterID: '', |
| | | HSourceEntryIDList: [], |
| | | HSourceInterID: 0, |
| | | HSourceBillType: 0, |
| | | HKeeperID: getUserInfo()["HEmpID"], |
| | | HKeeperName: getUserInfo()["HEmpName"] |
| | | }, |
| | | |
| | | // 物料清单 |
| | | materialManifest: [], |
| | | // 明细清单 |
| | | detailManifest: [], |
| | | detailManifestItem: { |
| | | "HMaterNumber": "", |
| | | "HMaterID": "", |
| | | "HMaterName": "", |
| | | "HMaterModel": "", |
| | | "HUnitName": "", |
| | | "HUnitNumber": "", |
| | | "HCheckQty": "", |
| | | "HRightQty": "", |
| | | "HBadQty": "", |
| | | "HKeeper": "", |
| | | "HKeeperID": "0", |
| | | "HCheckResult": "1", |
| | | "HUseResult": "A", |
| | | "HWHName_B": "", |
| | | "HWHNumber": "", |
| | | "HWHID": "", |
| | | "HSPName_B": "", |
| | | "HSPNumber": "", |
| | | "HSPID": "", |
| | | "HBatchNo": "", |
| | | "HZJOrgName": "", |
| | | "HZJOrgNumber": "", |
| | | "HSupName": "", |
| | | "HSupNumber": "", |
| | | "HSupID": "", |
| | | "HCheckResultName": '合格', |
| | | "HUseResultName": '接收', |
| | | "HSourceBillType": "", |
| | | "HSLInterID": "0", |
| | | "HSLEntryID": "1", |
| | | "HSLBillNo": "", |
| | | "HSLSeQ": "" |
| | | }, |
| | | // 附件信息 |
| | | attachmentInfo: [], |
| | | |
| | | detailManifestCursor: 0, // 明细清单索引指针 |
| | | |
| | | HCheckResultValueList: ["合格", "不合格", "保留"], |
| | | HUseResultValueList: ["接收", "让步接收"], |
| | | HCheckResultList: [{ |
| | | value: 1, |
| | | text: "合格" |
| | | }, { |
| | | value: 2, |
| | | text: "不合格" |
| | | }, { |
| | | value: 3, |
| | | text: "保留" |
| | | }], |
| | | |
| | | HUseResultList: [{ |
| | | value: "A", |
| | | text: "接收" |
| | | }, { |
| | | value: "B", |
| | | text: "让步接收" |
| | | }, { |
| | | value: "E", |
| | | text: "挑选(全检)" |
| | | }, { |
| | | value: "F", |
| | | text: "判退" |
| | | }], |
| | | |
| | | HKeeperList: [], |
| | | HKeeperNameList: [] |
| | | }; |
| | | }, |
| | | methods: { |
| | | selectMater(item, index) { |
| | | if (typeof this.materialManifest[index].selected == 'undefined') { |
| | | this.$set(this.materialManifest[index], 'selected', false) |
| | | } |
| | | if (this.materialManifest[index].selected == false) { |
| | | this.sourceBillInfo.HSourceEntryIDList[index] = |
| | | item.HSourceEntryID |
| | | this.materialManifest[index].selected = true |
| | | } else { |
| | | this.sourceBillInfo.HSourceEntryIDList.splice(index, 1) |
| | | this.materialManifest[index].selected = false |
| | | } |
| | | }, |
| | | handleUploadCallback(res) { // 文件上传回调 |
| | | console.log('file: ', res); |
| | | let fileInfo = res.data[0] |
| | | this.attachmentInfo.push({ |
| | | fileName: fileInfo.name, |
| | | size: fileInfo.size, |
| | | status: '等待上传', |
| | | filePath: fileInfo.tempFilePath |
| | | }) |
| | | }, |
| | | 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) |
| | | } |
| | | }, |
| | | }) |
| | | |
| | | }, |
| | | uploadFile(index) { |
| | | console.log('filePath: ', this.attachmentInfo[index].filePath); |
| | | // 通过临时路径读取文件 |
| | | uni.uploadFile({ |
| | | url: CommonUtils.getServerUrl() + "/Cj_StationOutBill/UploadFile2", |
| | | filePath: this.attachmentInfo[index].filePath, |
| | | name: 'file', |
| | | formData: { |
| | | HBillNo: this.sourceBillInfo.HBillNo, |
| | | HRemark: "", |
| | | HUserName: getUserInfo()["Czymc"] |
| | | }, |
| | | success: (uploadRes) => { |
| | | CommonUtils.showTips({ |
| | | message: "上传成功" |
| | | }) |
| | | this.attachmentInfo[index].status = "上传成功" |
| | | }, |
| | | fail: (err) => { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: `上传失败: ${err}` |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | fileUpload() { |
| | | this.$refs.XeUpload.upload('file', {}); |
| | | }, |
| | | imageUpload() { |
| | | uni.chooseImage({ |
| | | count: 1, |
| | | success: (res) => { |
| | | console.log(res) |
| | | let fileNameArray = res.tempFiles[0].path.split("/") |
| | | this.attachmentInfo.push({ |
| | | fileName: res.tempFiles[0].name, |
| | | size: (res.tempFiles[0].size / 1024).toFixed(2) + 'kB', |
| | | status: '等待上传', |
| | | filePath: res.tempFilePaths[0], |
| | | type: res.tempFilePaths[0].type |
| | | }) |
| | | }, |
| | | }) |
| | | }, |
| | | HKeeperNameChange(e) { |
| | | let keeperItem = this.HKeeperList.find(elem => elem.HName == e) |
| | | this.sourceBillInfo.HKeeperID = keeperItem.HItemID |
| | | this.sourceBillInfo.HKeeperName = keeperItem.HName |
| | | |
| | | |
| | | }, |
| | | HCheckResultChangeHandle(e) { |
| | | this.detailManifestItem.HCheckResult = |
| | | 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]) |
| | | }, |
| | | HUseResultChangeHandle(e) { |
| | | this.detailManifestItem.HUseResult = |
| | | this.HUseResultList.find(elem => elem.text == e)?.value |
| | | |
| | | }, |
| | | async toDetail(item, index) { |
| | | // 获取 物料明细 |
| | | try { |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: '/QCStockInCheckBill/DisBillEntryList_Webs_New_Json1', |
| | | data: { |
| | | HInterID: item.HSourceInterID, |
| | | HEntryID: item.HSourceEntryID, |
| | | } |
| | | }) |
| | | |
| | | let { |
| | | data, |
| | | count, |
| | | Message |
| | | } = res.data |
| | | if (count != 1) { |
| | | throw Message |
| | | } |
| | | console.log('data: ', data); |
| | | Object.assign(this.detailManifestItem, { |
| | | HMaterNumber: data[0].HMaterNumber, |
| | | HMaterName: data[0].HMaterName, |
| | | HMaterModel: data[0].HMaterModel, |
| | | HUnitName: data[0].HUnitName, |
| | | HWHName_B: data[0].HWHName_B, |
| | | HSPName_B: data[0].HSPName_B, |
| | | HBatchNo: data[0].HBatChNo.trim(), |
| | | HZJOrgName: data[0].HZJOrgName, |
| | | HZJOrgNumber: data[0].HZJOrgNumber, |
| | | HSupName: data[0].HSupName, |
| | | HUnitNumber: data[0].HUnitNumber, |
| | | HSupNumber: data[0].HSupNumber, |
| | | HWHNumber: data[0].HWHNumber, |
| | | HSPNumber: data[0].HSPNumber, |
| | | HSeQ: data[0].HSeQ, |
| | | HSourceInterID: data[0].HSourceInterID, |
| | | HSourceEntryID: data[0].HSourceEntryID, |
| | | HSourceBillNo: data[0].HSourceBillNo, |
| | | HWHID: data[0].HWHID, |
| | | HSPID: data[0].HSPID, |
| | | HSupID: data[0].HSupID, |
| | | HMaterID: data[0].HMaterID, |
| | | HSourceBillType: data[0].HSourceBillType, |
| | | HSLInterID: data[0].HSLInterID, |
| | | HSLEntryID: data[0].HSLEntryID, |
| | | HSLBillNo: data[0].HSLBillNo, |
| | | HSLSeQ: data[0].HSLSeQ, |
| | | HCheckQty: data[0].hqty, |
| | | }) |
| | | |
| | | |
| | | } catch (err) { |
| | | CommonUtils.showTips({ |
| | | title: "温馨提示", |
| | | message: `获取明细信息错误: ${err}` |
| | | }) |
| | | } |
| | | // } |
| | | this.EnableSubmit = true |
| | | // this.detailManifestCursor = index |
| | | this.tabs = 2 |
| | | }, |
| | | async getCode(HSourceBillNo) { |
| | | try { |
| | | let res = await CommonUtils.doRequest2Sync({ |
| | | url: '/Kf_QCStockInCheckBill_Fast/BarCode_Json_SourceBillNo', |
| | | data: { |
| | | HBarCode: HSourceBillNo, |
| | | HOrgID: uni.getStorageSync('OrganizationID') |
| | | } |
| | | }) |
| | | |
| | | if (!res) { |
| | | return |
| | | } |
| | | |
| | | let { |
| | | data, |
| | | Message, |
| | | count |
| | | } = res.data |
| | | if (count == 1) { |
| | | this.sourceBillInfo.HSourceInterID = data[0].HSourceInterID |
| | | this.sourceBillInfo.HSourceBillType = '1103' |
| | | this.materialManifest = data |
| | | this.tabs = 1 |
| | | } else { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: `初始化单据号错误: ${Message}` |
| | | }) |
| | | } |
| | | } catch (err) { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: `初始化单据号错误: ${err}` |
| | | }) |
| | | } |
| | | }, |
| | | toScanCode() { |
| | | MpaasScan.scanCode((code) => { |
| | | console.log('HSourceBillNo: ', code); |
| | | |
| | | if (!code) { |
| | | return |
| | | } |
| | | |
| | | this.getCode(code) |
| | | }) |
| | | }, |
| | | cmdAdd() { |
| | | uni.redirectTo({ |
| | | url: "/pages/ZLGL/lailiaojianyan_fast/Kf_QCStockInCheckBill_Fast" |
| | | }) |
| | | }, |
| | | async cmdSubmit() { // 后端在单次上传文件提交后会删除本地文件,一次只能提交一个数据 |
| | | // 检查是否选中物料 |
| | | |
| | | if (this.sourceBillInfo.HSourceInterID == 0) { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: `未扫描源单,请先扫描源单后再提交...` |
| | | }) |
| | | return |
| | | } |
| | | if (this.sourceBillInfo.HSourceEntryIDList.length == 0) { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: `未选择检验物料,请选择至少一个检验物料...` |
| | | }) |
| | | return |
| | | } |
| | | |
| | | let HEntryIDStr = `${this.sourceBillInfo.HSourceEntryIDList.filter(item => item !== undefined && item !== null).join(',')}` |
| | | |
| | | try { |
| | | let res = await CommonUtils.doRequest2Sync({ |
| | | url: 'WEBSController/set_SaveQCPOStockInCheckBill_Json', |
| | | data: { |
| | | HInterID: this.sourceBillInfo.HInterID, |
| | | HBillNo: this.sourceBillInfo.HBillNo, |
| | | HSourceBillType: this.sourceBillInfo.HSourceBillType, |
| | | HSourceBillNo: this.sourceBillInfo.HSourceBillNo, |
| | | HSourceInterID: this.sourceBillInfo.HSourceInterID, |
| | | sHSourceEntryID: HEntryIDStr, |
| | | HFirstCheckEmp: this.sourceBillInfo.HKeeperID, |
| | | HMaker: getUserInfo()["Czymc"] |
| | | }, |
| | | }) |
| | | let { |
| | | data, |
| | | count, |
| | | Message |
| | | } = res.data |
| | | if (count == 1) { |
| | | uni.hideLoading() |
| | | uni.showModal({ |
| | | title: '提示', |
| | | content: res.data.Message + '。是否继续新增?', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | console.log('用户点击确定'); |
| | | uni.redirectTo({ |
| | | url: './kf_QCStockInCheckBill_Fast2' |
| | | }) |
| | | } else if (res.cancel) { |
| | | console.log('用户点击取消'); |
| | | setTimeout(() => { |
| | | uni.navigateBack(); |
| | | }, 50) |
| | | } |
| | | } |
| | | }); |
| | | } else { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: `上传失败: ${Message}` |
| | | }) |
| | | } |
| | | |
| | | |
| | | } catch (err) { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: `上传失败: ${err}` |
| | | }) |
| | | |
| | | |
| | | this.attachmentInfo = [] |
| | | } |
| | | |
| | | |
| | | }, |
| | | cmdExit() { |
| | | uni.navigateBack() |
| | | }, |
| | | async GetMaxNumPDA() { |
| | | try { |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: "/Web/GetMAXNumPDA", |
| | | data: { |
| | | HBillType: 7503 |
| | | } |
| | | }) |
| | | |
| | | let { |
| | | data, |
| | | count, |
| | | Message |
| | | } = res.data |
| | | if (count == 1) { |
| | | this.sourceBillInfo.HBillNo = data[0]["HBillNo"] |
| | | this.sourceBillInfo.HInterID = data[0]["HInterID"] |
| | | } else { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: `初始化单据号错误: ${Message}` |
| | | }) |
| | | } |
| | | } catch (err) { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: `初始化单据号错误: ${err}` |
| | | }) |
| | | } |
| | | }, |
| | | async getHEmpInfo() { |
| | | try { |
| | | let res = await CommonUtils.doRequest2Async({ |
| | | url: '/Web/GetEmployeeList_Json', |
| | | data: { |
| | | Employee: '', |
| | | HGroupID: 0, |
| | | HDeptID: uni.getStorageSync("HDeptID") |
| | | }, |
| | | }) |
| | | |
| | | let { |
| | | data, |
| | | count, |
| | | Message |
| | | } = res.data |
| | | if (count == 1) { |
| | | this.HKeeperList = data |
| | | this.HKeeperNameList = Array.from(data).map(e => e.HName) |
| | | } else { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: `初始化质检员错误: ${Message}` |
| | | }) |
| | | } |
| | | } catch (err) { |
| | | CommonUtils.showTips({ |
| | | title: '温馨提示', |
| | | message: `初始化质检员错误: ${err}` |
| | | }) |
| | | } |
| | | } |
| | | }, |
| | | onLoad() { |
| | | // 获取来料检验单最新单据号和单据内码 |
| | | this.GetMaxNumPDA() |
| | | this.getHEmpInfo() |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | .tabs { |
| | | width: 100%; |
| | | display: flex; |
| | | border-bottom: 1px solid #ddd; |
| | | box-sizing: border-box; |
| | | padding-top: 20rpx; |
| | | |
| | | 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; |
| | | } |
| | | } |
| | | |
| | | .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; |
| | | } |
| | | |
| | | .btn-d { |
| | | background-color: #ff8901; |
| | | color: #fff; |
| | | } |
| | | } |
| | | |
| | | .form-item-wrapper { |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | box-sizing: border-box; |
| | | gap: 10rpx; |
| | | padding: 20rpx 30rpx; |
| | | |
| | | .form-item { |
| | | display: flex; |
| | | align-items: center; |
| | | font-size: 30rpx; |
| | | padding: 6rpx 0; |
| | | gap: 12rpx; |
| | | |
| | | .title { |
| | | width: 200rpx; |
| | | |
| | | text { |
| | | color: red; |
| | | font-weight: bold; |
| | | } |
| | | } |
| | | |
| | | .right { |
| | | flex: 1; |
| | | border-radius: 22rpx; |
| | | border: 1px solid #acacac; |
| | | position: relative; |
| | | display: flex; |
| | | |
| | | picker { |
| | | width: 100%; |
| | | } |
| | | |
| | | .uni-combox { |
| | | width: 100%; |
| | | } |
| | | } |
| | | |
| | | .disabled { |
| | | border: 1px solid #e4e4e4; |
| | | background-color: #e4e4e4; |
| | | } |
| | | |
| | | .righton { |
| | | flex: 1; |
| | | 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; |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | .card-item-wrapper { |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | box-sizing: border-box; |
| | | padding: 20rpx 20rpx; |
| | | |
| | | .uni-card { |
| | | margin: 10rpx !important; |
| | | } |
| | | |
| | | .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; |
| | | } |
| | | } |
| | | |
| | | .operation { |
| | | display: flex; |
| | | align-items: center; |
| | | gap: 10rpx; |
| | | |
| | | .btn-a { |
| | | background-color: #3A78FF; |
| | | color: #fff; |
| | | } |
| | | |
| | | .btn-b { |
| | | background-color: rgb(255, 87, 34); |
| | | color: #fff; |
| | | } |
| | | |
| | | uni-button {} |
| | | } |
| | | |
| | | } |
| | | |
| | | .more { |
| | | color: #888; |
| | | font-size: 24rpx; |
| | | display: flex; |
| | | border-top: 1px solid #eee; |
| | | padding-top: 20rpx; |
| | | |
| | | .part { |
| | | width: 50%; |
| | | text-align: center; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .attachment-btns { |
| | | display: flex; |
| | | flex-direction: row; |
| | | justify-content: flex-start; |
| | | gap: 6rpx; |
| | | } |
| | | |
| | | .card-selected { |
| | | background-color: #a8c7fa; |
| | | scale: 1.05; |
| | | } |
| | | </style> |