<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="date" :clear-icon="false" v-model="hform.HRepairPlanBeginDate">
|
<input :value="hform.HRepairPlanBeginDate" />
|
</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.HRepairPlanEndDate">
|
<input :value="hform.HRepairPlanEndDate" />
|
</uni-datetime-picker>
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">维修内容:</view>
|
<view class="right">
|
<textarea v-model="hform.HRepairContent" placeholder="请输入维修内容" />
|
</view>
|
</view>
|
<!-- 源单类型 -->
|
<view class="form-item">
|
<view class="title">源单类型:</view>
|
<view class="right" v-show="showHMainSourceBillType">
|
<picker :range="arrayHMainSourceBillType" @change="HMainSourceBillTypeChange">
|
<input disabled name="HMainSourceBillType" v-model="HMainSourceBillType"
|
placeholder="请选择源单类型" />
|
<view class="picker-overlay"></view>
|
</picker>
|
</view>
|
<view class="righton" v-show="!showHMainSourceBillType">
|
<input name="HMainSourceBillType" disabled v-model="HMainSourceBillType"
|
placeholder="请选择源单类型" />
|
</view>
|
</view>
|
|
<!-- 源单单号 -->
|
<view class="form-item">
|
<view class="title">源单单号:</view>
|
<view :class="enableSourceBillEdit?'right':'righton'">
|
<input v-model="hform.HMainSourceBillNo" :disabled="!enableSourceBillEdit"
|
@confirm="GetMessageByHMainSourceBillNo(hform.HMainSourceBillNo)"
|
placeholder="请输入(或扫描)源单单号" />
|
</view>
|
<!-- 放大镜图标,当源单类型不是"手工录入"时显示 -->
|
<view class="icon-wrapper" v-if="hform.HMainSourceBillType != '手工录入'">
|
<uni-icons type="search" size="20" @click="showBillList"></uni-icons>
|
</view>
|
<!-- 扫描图标 -->
|
<view class="icon-wrapper">
|
<uni-icons type="scan" size="20" @click="toScanHMainSourceBillNo"></uni-icons>
|
</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">时间单位:</view>
|
<zxz-uni-data-select class="right" :localdata="[
|
{key: '小时', value: '小时'},
|
{key: '天', value: '天'},
|
{key: '月', value: '月'},
|
]" dataKey="key" dataValue="value" v-model="hform.HCycleUnit">
|
</zxz-uni-data-select>
|
</view>
|
<view class="form-item">
|
<view class="title">计划维修工时:</view>
|
<view class="right">
|
<input type="number" v-model="hform.HPlanTimes" />
|
</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>
|
</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>
|
</view>
|
<view class="form-item">
|
<view class="title">维修项目:</view>
|
<zxz-uni-data-select class="right" :localdata="HRepairList" dataKey="维修项目"
|
dataValue="hitemid" v-model="hform.HRepairID">
|
</zxz-uni-data-select>
|
</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>
|
</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 class="form-item">
|
<view class="title">备注:</view>
|
<view class="right">
|
<textarea v-model="hform.HRemark" placeholder="请输入备注" />
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">维修要求:</view>
|
<view class="right">
|
<textarea v-model="HDetailList[0].HRepairExplanation" placeholder="请输入维修要求" />
|
</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> -->
|
<!-- 源单单据列表弹窗 -->
|
<BillListPopupEquipConkBookBillVue ref="billList" :HBillType="HBillType"
|
:HSourceBillType="hform.HMainSourceBillType" :HStockOrgID="hform.HStockOrgID">
|
</BillListPopupEquipConkBookBillVue>
|
</view>
|
</template>
|
|
<script>
|
import dayjs from "dayjs";
|
import {
|
CommonUtils
|
} from "@/utils/common";
|
import {
|
MpaasScan
|
} from "@/utils/mpaasScan.js"
|
import {
|
getUserInfo
|
} from "../../../utils/auth";
|
// 引入源单单据列表弹窗组件
|
import BillListPopupEquipConkBookBillVue from '../../../components/BillListPopup/BillListPopupEquipConkBookBill.vue';
|
|
export default {
|
// 设备维修派工单
|
name: 'Sb_EquipRepairSendWorkBill',
|
components: {
|
BillListPopupEquipConkBookBillVue
|
},
|
data() {
|
return {
|
tabs: 0,
|
HMainSourceBillType: "", // 用于显示的源单类型
|
btnTop: 0,
|
tabsBottom: 0,
|
HModName: "Sb_EquipRepairSendWorkBill",
|
HBillType: '3909',
|
operationType: 1,
|
uploadOptions: {},
|
enableEdit: true,
|
enableSourceBillEdit: true, // 修复:添加这个属性
|
|
// 源单类型相关
|
arrayHMainSourceBillType: ['设备维修登记单', '手工录入'], // 可选的源单类型
|
arrayHMainSourceBillTypeID: ['设备维修登记单', '手工录入'], // 对应的单据类型ID
|
showHMainSourceBillType: true,
|
|
HDeptList: [],
|
HRepairCheckList: [],
|
HEmpList: [],
|
HRepairList: [],
|
|
hform: {
|
"HBarCode": "",
|
HBillNo: '',
|
HInterID: 0,
|
HDate: dayjs(new Date()).format("YYYY-MM-DD"),
|
HInnerBillNo: '',
|
HRepairContent: '',
|
HDeptName: getUserInfo().HDeptName,
|
HDeptID: getUserInfo().HDeptID,
|
HEmpName: getUserInfo().HEmpName,
|
HEmpID: getUserInfo().HEmpID,
|
HManagerName: getUserInfo().HManagerName,
|
HManagerID: getUserInfo().HManagerID,
|
HEquipIDName: '',
|
HEquipID: 0,
|
HRepairIDName: '',
|
HRepairID: 0,
|
HRepairPlanBeginDate: dayjs(new Date()).format("YYYY-MM-DD"),
|
HRepairPlanEndDate: dayjs(new Date()).format("YYYY-MM-DD"),
|
HCycleUnit: '小时',
|
HPlanTimes: '0',
|
HExplanation: '',
|
HRemark: '',
|
HMaker: getUserInfo()["Czymc"],
|
HChecker: '',
|
HCloseMan: '',
|
HUpDater: '',
|
HMakeDate: dayjs(new Date()).format("YYYY-MM-DD"),
|
HCheckDate: '',
|
HCloseDate: '',
|
HUpDateDate: '',
|
HDeleteMan: '',
|
HDeleteDate: '',
|
// 新增的源单相关字段
|
HMainSourceBillType: '-1', // 默认为设备维修登记单
|
HMainSourceBillNo: '',
|
HMainSourceInterID: 0,
|
HMainSourceEntryID: 0,
|
HStockOrgID: uni.getStorageSync("OrganizationID"), // 新增库存组织ID
|
},
|
HDetailList: [{ // 后端接口提交需要 明细信息
|
"子维修项目": "",
|
"HRepairID": 0,
|
"子维修项目代码": "",
|
"HRepairExplanation": "",
|
"子负责人代码": "",
|
"HManagerID": "",
|
"子负责人": "",
|
"HRemark": ""
|
}]
|
};
|
},
|
computed: {
|
containerHeight: {
|
get() {
|
return this.btnTop - this.tabsBottom - 5
|
}
|
},
|
},
|
methods: {
|
// 显示源单单据列表弹窗
|
showBillList() {
|
if (this.hform.HMainSourceBillType === '手工录入') {
|
CommonUtils.showTips({
|
title: '提示',
|
message: '手工录入模式下不能选择源单'
|
});
|
return;
|
}
|
this.$refs.billList.showPopup();
|
},
|
|
// 选择源单类型
|
HMainSourceBillTypeChange(e) {
|
if (e.detail.value == -1 || e.detail.value == NaN) {
|
this.HMainSourceBillType = '手工录入';
|
this.hform.HMainSourceBillType = '手工录入';
|
return;
|
}
|
|
this.HMainSourceBillType = this.arrayHMainSourceBillType[e.detail.value];
|
this.hform.HMainSourceBillType = this.arrayHMainSourceBillTypeID[e.detail.value];
|
|
// 如果是手工录入,清空源单信息
|
if (this.hform.HMainSourceBillType === '手工录入') {
|
this.hform.HMainSourceBillNo = '';
|
this.hform.HMainSourceInterID = 0;
|
this.hform.HMainSourceEntryID = 0;
|
this.enableSourceBillEdit = false; // 手工录入时禁用源单单号编辑
|
} else {
|
this.enableSourceBillEdit = true; // 非手工录入时可编辑
|
}
|
|
// 缓存当前页面选择
|
const pages = getCurrentPages();
|
const currentPage = pages[pages.length - 1];
|
uni.setStorageSync(`${currentPage.route.split("/").pop()}_HSourceBillTypeCache`, {
|
HSourceBillTypeName: this.HMainSourceBillType,
|
HSourceBillType: this.hform.HMainSourceBillType
|
});
|
},
|
|
// 读取缓存
|
loadCache() {
|
const pages = getCurrentPages();
|
const currentPage = pages[pages.length - 1];
|
let HBillTypeCache = uni.getStorageSync(`${currentPage.route.split("/").pop()}_HSourceBillTypeCache`);
|
if (HBillTypeCache) {
|
this.HMainSourceBillType = HBillTypeCache.HSourceBillTypeName;
|
this.hform.HMainSourceBillType = HBillTypeCache.HSourceBillType;
|
|
// 根据缓存的源单类型设置编辑状态
|
if (this.hform.HMainSourceBillType === '手工录入') {
|
this.enableSourceBillEdit = false;
|
} else {
|
this.enableSourceBillEdit = true;
|
}
|
}
|
},
|
|
// 扫描源单单号
|
toScanHMainSourceBillNo() {
|
MpaasScan.scanCode(cb => {
|
this.hform.HMainSourceBillNo = cb;
|
this.GetMessageByHMainSourceBillNo(cb);
|
});
|
},
|
|
// 根据源单单号获取信息
|
async GetMessageByHMainSourceBillNo(HSouceBillNo) {
|
try {
|
let url, dataField;
|
|
// 根据源单类型选择不同的接口
|
if (this.hform.HMainSourceBillType === '设备维修登记单') {
|
url = "/Sb_EqpRepairWorkBill/GetEqpConkBookBillListPage";
|
dataField = {
|
sWhere: ` and 单据号 = '${HSouceBillNo}'`,
|
user: getUserInfo()["Czymc"],
|
page: 1,
|
size: 1,
|
};
|
} else {
|
CommonUtils.showTips({
|
title: "温馨提示",
|
message: `暂不支持该源单类型:${this.hform.HMainSourceBillType}`
|
});
|
return;
|
}
|
|
let res = await CommonUtils.doRequest2Async({
|
url: url,
|
data: dataField
|
});
|
|
let { count, Message, data } = res.data;
|
if (count == 1) {
|
this.hform.HMainSourceBillNo = data[0]["单据号"];
|
this.hform.HMainSourceInterID = data[0]["hmainid"];
|
this.hform.HMainSourceEntryID = data[0]["hsubid"];
|
|
// 如果源单有设备信息,可以自动填充
|
if (data[0].HEquipID) {
|
this.hform.HEquipID = data[0].HEquipID;
|
this.getEquipFileMain(data[0].HEquipID);
|
}
|
|
} else {
|
CommonUtils.showTips({
|
title: "温馨提示",
|
message: `获取源单单号失败: ${Message}`
|
});
|
}
|
} catch (err) {
|
CommonUtils.showTips({
|
title: "温馨提示",
|
message: `获取源单单号失败: ${err}`
|
});
|
}
|
},
|
|
// 根据设备ID获取设备信息
|
async getEquipFileMain(HInterID) {
|
try {
|
let res = await CommonUtils.doRequest2Sync({
|
url: "/Sb_PDA_EquipDotCheckBill/txtHBarCode_KeyDown_ListByHEquipID",
|
data: {
|
HEquipID: HInterID,
|
},
|
});
|
|
if (!res) {
|
return;
|
}
|
|
let {
|
data,
|
count,
|
Message
|
} = res.data;
|
|
if (count == 1) {
|
this.hform.HEquipID = data[0].hmainid;
|
this.hform.HBarName = data[0].设备名称;
|
this.hform.HBarSpec = data[0].设备规格;
|
this.hform.HBarModel = data[0].设备型号;
|
this.hform.HBarCode = data[0].设备条码 || "";
|
this.enableEdit = false;
|
} else {
|
CommonUtils.showTips({
|
title: "温馨提示",
|
message: Message
|
});
|
}
|
} catch (err) {
|
CommonUtils.showTips({
|
title: "温馨提示",
|
message: err
|
});
|
}
|
},
|
|
// 维修项目
|
async getRepairList() {
|
try{
|
let res = await CommonUtils.doRequest2Async({
|
url: '/Gy_Repair/GetRepairList',
|
data: {
|
sWhere: '',
|
user: getUserInfo()["Czymc"]
|
}
|
})
|
|
let {data, count, Message} = res.data
|
if(count == 1){
|
this.HRepairList = 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.HMainSourceBillType !== '手工录入') {
|
if (!this.hform.HMainSourceBillNo || this.hform.HMainSourceBillNo.trim() === '') {
|
return {
|
Message: "源单类型非手工录入,必须选择源单!",
|
state: false
|
}
|
}
|
}
|
|
return {
|
Message: "",
|
state: true
|
}
|
},
|
addNew() {
|
uni.redirectTo({
|
url: './Sb_EquipRepairSendWorkBill?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 sWhere= " where 1=1 "
|
if(this.hform.HDeptName && uni.getStorageSync("Organization") == '宁波市华舟包装有限公司'){
|
sWhere += ` and HDeptName = '${this.hform.HDeptName}'`
|
}
|
let res = await CommonUtils.doRequest2Async({
|
url: '/PublicPageMethod/UserList',
|
data: {
|
sWhere: sWhere,
|
}
|
})
|
|
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
|
})
|
}
|
},
|
// 获取验证项目数据
|
async getCheckProjList() {
|
try {
|
let res = await CommonUtils.doRequest2Async({
|
url: '/Gy_RepairCheck/GetRepairCheckList',
|
data: {
|
sWhere: "",
|
user: uni.getStorageSync('HUserName'),
|
}
|
})
|
|
let {
|
data,
|
count,
|
Message
|
} = res.data
|
if (count == 1) {
|
this.HRepairCheckList = data
|
} else {
|
CommonUtils.showTips({
|
title: '温馨提示',
|
message: Message
|
})
|
}
|
} catch (err) {
|
CommonUtils.showTips({
|
title: '温馨提示',
|
message: err
|
})
|
}
|
},
|
toScanCode() {
|
MpaasScan.scanCode(cb => {
|
this.hform.HBarCode = cb; // 修复:原来是 hfrom 应该是 hform
|
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.HBarCode = HBarCode; // 确保条码正确显示
|
this.hform.HQty = 1
|
|
this.enableEdit = 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.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].HManagerID = this.hform.HManagerID
|
this.HDetailList[0].HRepairID = this.hform.HRepairID
|
let oprType = this.operationType
|
if(oprType == 4){
|
oprType = 1
|
}
|
let sSubStr = JSON.stringify(this.HDetailList);
|
let sMainSub = oMain + ';' + sSubStr + `;-1;${oprType}` + ';' + getUserInfo()[
|
'Czymc'];
|
let res = await CommonUtils.doRequest2Sync({
|
url: "/Sb_EquipRepairSendWorkBill/AddEquipRepairSendWorkBill",
|
data: {
|
"sMainSub": 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_EquipRepairSendWorkBill?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 getSourceBillInfo(HSourceBillType, HInterID, HBillNo) {
|
// 下推单据类型为设备故障登记单
|
if(HSourceBillType == 3907) {
|
let res = await CommonUtils.doRequest2Async({
|
url: "/Sb_EqpRepairWorkBill/Sb_EqpConkBookBillListCheckDetai",
|
data: {
|
HID: HInterID
|
}
|
})
|
|
let {data,code, count, Message} = res.data
|
|
if(code == 1) {
|
console.log('data: ',data.h_v_Sb_EquipConkBookBillList_Edit);
|
let data1 = data.h_v_Sb_EquipConkBookBillList_Edit[0]
|
this.hform.HMainSourceBillType = HSourceBillType
|
this.HMainSourceBillType = '设备故障登记单'
|
this.hform.HMainSourceBillNo = data1.单据号
|
this.hform.HMainSourceInterID = data1.hmainid
|
this.hform.HMainSourceEntryID = data1.hsubid
|
this.hform.HEquipID = data1.HEquipID
|
this.hform.HManagerName = data1.负责人
|
this.hform.HManagerID = data1.HManagerID
|
this.hform.HBarName = data1.设备名称
|
this.hform.HBarModel = data1.设备型号
|
this.hform.HBarSpec = data1.设备规格
|
this.hform.HRepairContent = data1.故障描述
|
|
}
|
else {
|
CommonUtils.showTips({
|
title: '温馨提示',
|
message: `获取源单失败: ${Message}`
|
})
|
}
|
}
|
}
|
},
|
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) {
|
// 编辑
|
} else if (this.operationType == 4) {
|
let {HSourceBillType, HInterID, HBillNo} = e
|
// 下推
|
// this.enableEdit = false;
|
// this.enableSourceBillEdit = false;
|
// this.showHMainSourceBillType = false;
|
this.getMaxNum()
|
this.getSourceBillInfo(HSourceBillType, HInterID, HBillNo)
|
}
|
|
this.getHDeptList()
|
this.getEmpList()
|
this.getCheckProjList()
|
this.getRepairList()
|
this.loadCache()
|
|
// 监听单据选择完成事件
|
uni.$on('BillSelectComplete', (e) => {
|
console.log("接收到的消息: ", e)
|
this.hform.HMainSourceInterID = e.HInterID
|
this.hform.HMainSourceBillNo = e.HBillNo
|
this.hform.HMainSourceEntryID = e.HEntryID
|
this.hform.HEquipID = e.HEquipID
|
this.hform.HBarName = e.HEquipName
|
this.hform.HBarSpec = e.HEquipSpec
|
this.hform.HBarModel = e.HEquipModel
|
this.hform.HBarCode = e.HEquipBarCode || ""
|
this.$refs.billList.exit()
|
})
|
},
|
onUnload() {
|
uni.$off('BillSelectComplete')
|
},
|
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";
|
|
.picker-overlay {
|
position: absolute;
|
top: 0;
|
left: 0;
|
right: 0;
|
bottom: 0;
|
z-index: 1;
|
}
|
</style>
|