<template>
|
<view>
|
<view class="form">
|
<view class="form-item">
|
<view class="title">单据号:</view>
|
<view class="righton">
|
<input name="HBillNo" disabled v-model="hform.HBillNo" placeholder="请输入单据号" />
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">单据日期:</view>
|
<view class="righton">
|
<input name="HDate" disabled v-model="hform.HDate" placeholder="请选择" />
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">内部单据号:</view>
|
<view class="right">
|
<input name="HInnerBillNo" v-model="hform.HInnerBillNo" placeholder="请输入内部单据号" />
|
</view>
|
</view>
|
|
<view class="tab_area"></view>
|
|
<view class="form-item">
|
<view class="title"><text>*</text>设备:</view>
|
<view class="right" style="width: 380rpx;">
|
<input name="HEquipName" disabled v-model="hform.HEquipName" placeholder="请扫描设备" />
|
</view>
|
<uni-icons type="scan" style="margin-left: 10rpx;background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;font-weight: 500;" size="20" @click="toScanCode"></uni-icons>
|
</view>
|
<view class="form-item">
|
<view class="title"><text>*</text>负责人:</view>
|
<view class="right">
|
<uni-combox :candidates="arrayEmpName" placeholder="请选择负责人" v-model="hform.HManagerName" @input="HManagerNameChange"></uni-combox>
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title"><text>*</text>维修人:</view>
|
<view class="right">
|
<uni-combox :candidates="arrayEmpName" placeholder="请选择维修人" v-model="hform.HEmpName" @input="HEmpNameChange"></uni-combox>
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title"><text>*</text>维修开始:</view>
|
<view class="right">
|
<!-- <uni-datetime-picker v-model="hform.HRepairBeginDate">
|
<input name="HRepairBeginDate" disabled v-model="hform.HRepairBeginDate" placeholder="请选择维修开始时间" />
|
</uni-datetime-picker> -->
|
<picker mode="date" v-model="hform.HRepairBeginDate" @change="HBeginDateChange">
|
<input name="HRepairBeginDate" disabled v-model="hform.HRepairBeginDate" placeholder="请选择维修开始日期" />
|
</picker>
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title"><text>*</text>维修结束:</view>
|
<view class="right">
|
<!-- <uni-datetime-picker v-model="hform.HRepairEndDate">
|
<input name="HRepairEndDate" disabled v-model="hform.HRepairEndDate" placeholder="请选择维修结束时间" />
|
</uni-datetime-picker> -->
|
<picker mode="date" v-model="hform.HRepairEndDate" @change="HEndDateChange">
|
<input name="HRepairEndDate" disabled v-model="hform.HRepairEndDate" placeholder="请选择维修结束日期" />
|
</picker>
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title"><text>*</text>维修项目:</view>
|
<view class="right">
|
<uni-combox :candidates="arrayHRepair" placeholder="请选择维修项目" v-model="hform.HRepairName" @input="HRepairChange"></uni-combox>
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title"><text>*</text>维修部门:</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">
|
<input type="number" name="HPlanTimes" v-model="hform.HPlanTimes" placeholder="请输入计划维修工时" />
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title"><text>*</text>实际工时:</view>
|
<view class="right">
|
<input type="number" name="HTimes" v-model="hform.HTimes" placeholder="请输入实际维修工时" />
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">时间单位:</view>
|
<radio-group name="HCycleUnit" style="padding: 8rpx 0;">
|
<label @tap="hform.HCycleUnit = '小时'">
|
<radio v-model="hform.HCycleUnit" :checked="hform.HCycleUnit == '小时'" style="transform:scale(0.8); margin-left: 50rpx;"/>小时
|
</label>
|
<label @tap="hform.HCycleUnit = '天'">
|
<radio v-model="hform.HCycleUnit" :checked="hform.HCycleUnit == '天'" style="transform:scale(0.8); margin-left: 40rpx;"/>天
|
</label>
|
</radio-group>
|
</view>
|
<view class="form-item">
|
<view class="title">源单类型:</view>
|
<radio-group name="HMainSourceBillType" style="padding: 8rpx 0;">
|
<label @tap="hform.HMainSourceBillType = '设备维修登记单'">
|
<radio v-model="hform.HMainSourceBillType" :checked="hform.HMainSourceBillType == '设备维修登记单'" style="transform:scale(0.8);"/>设备维修登记单
|
</label>
|
<label @tap="hform.HMainSourceBillType = '手工录入'">
|
<radio v-model="hform.HMainSourceBillType" :checked="hform.HMainSourceBillType == '手工录入'" style="transform:scale(0.8); margin-left: 10rpx;"/>手工录入
|
</label>
|
</radio-group>
|
</view>
|
<view class="form-item">
|
<view class="title">选单号:</view>
|
<view class="right" style="width: 380rpx;" @tap="showGz = true">
|
<input disabled v-model="hform.HMainSourceBillNo" placeholder="请选择故障单号" />
|
</view>
|
<uni-icons type="list" style="margin-left: 10rpx;background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;font-weight: 500;" size="20" @click="showGz = true"></uni-icons>
|
</view>
|
<view class="form-item">
|
<view class="title">维修内容:</view>
|
<view class="right">
|
<textarea name="HRepairContent" v-model="hform.HRepairContent" auto-height placeholder="请输入具体维修内容"></textarea>
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">维修要求:</view>
|
<view class="right">
|
<textarea name="HExplanation" v-model="hform.HExplanation" auto-height placeholder="请输入具体维修要求"></textarea>
|
</view>
|
</view>
|
<view class="form-item">
|
<view class="title">备注:</view>
|
<view class="right">
|
<textarea name="HRemark" v-model="hform.HRemark" auto-height placeholder="请输入备注"></textarea>
|
</view>
|
</view>
|
|
<view class="form-item">
|
<view class="tip"><text>*</text>注: 请点击下方绿色新增按钮添加维修信息(必填)</view>
|
</view>
|
|
<view class="bottom-btn">
|
<button class="btn-a" size="mini" @tap="submit">提交</button>
|
<button class="btn-b" size="mini" @tap="showMask = true">新增</button>
|
<button class="btn-c" size="mini" @tap="goBack">退出</button>
|
</view>
|
</view>
|
|
<gz @gzData="getGzData" @close="closeMask" v-if="showGz"></gz>
|
<form1 :form1List='form1List' @hformList='hformList' v-if="showMask"></form1>
|
</view>
|
</template>
|
<script>
|
import getDateTime from '@/utils/getdateTime.js';
|
import gz from './gz_table.vue';
|
import form1 from './form1.vue';
|
export default {
|
components: {
|
gz,
|
form1
|
},
|
data() {
|
return {
|
serverUrl: uni.getStorageSync('serverUrl')||'http://47.96.97.237/API',
|
arrayHDeptName:[],//部门
|
HDeptNameList:[],
|
arrayEmpName:[],//维修人/负责人
|
EmpNameList:[],
|
arrayHRepair:[],//维修项目
|
HRepairList:[],
|
showGz: false,
|
|
hform:{
|
HInterID:0,
|
HBillNo:'',
|
HDate:getDateTime.dateTimeStr('y-m-d'),
|
HInnerBillNo:'',
|
|
HEquipName:'',
|
HEquipID:'',
|
HManagerName:'',
|
HManagerID:'',
|
HEmpName:'',
|
HEmpID:'',
|
HRepairBeginDate:'',
|
HRepairEndDate:'',
|
HRepairName:'',
|
HRepairID:'',
|
HDeptName:'',
|
HDeptID:'',
|
HPlanTimes:'',
|
HTimes:'',
|
HCycleUnit:'小时',
|
HMainSourceBillType:'设备维修登记单',
|
HMainSourceBillNo:'',
|
HMainSourceInterID:'',
|
HMainSourceEntryID:'',
|
HRepairContent:'',
|
HExplanation:'',
|
HRemark:'',
|
},
|
|
showMask:false,
|
form1List:[],
|
}
|
},
|
onLoad(e) {
|
// this.getEditData(424)
|
if(e.hmainid){
|
this.isEdit = true
|
this.getEditData(e.hmainid)
|
}else{
|
this.getNewData()
|
}
|
this.getHDeptList()
|
this.getEmpList()
|
this.getHRepairList()
|
},
|
methods: {
|
//扫码
|
toScanCode(){
|
var mpaasScanModule = uni.requireNativePlugin("Mpaas-Scan-Module")
|
mpaasScanModule.mpaasScan({
|
'hideAlbum': true,
|
'timeoutInterval':'10', //超时时间
|
'timeoutText':'未识别到二维码' //超时提醒
|
},(ret) => {
|
console.log(ret.resp_result)
|
uni.request({
|
url: this.serverUrl + '/Gy_EquipFileMain/Gy_MouldFileBillBarCodeInfo',
|
data: { HBarCode: ret.resp_result },
|
success: (res) => {
|
console.log(res.data);
|
if(res.data.count == 1){
|
var data = res.data.list[0][0]
|
this.hform.HEquipID = data.hmainid
|
this.hform.HEquipName = data.设备名称
|
}
|
uni.showToast({
|
title:res.data.Message,
|
icon:'none'
|
})
|
},
|
fail: (res) => {
|
console.log(res);
|
uni.showToast({
|
title:'接口请求失败',
|
icon:'none'
|
})
|
},
|
});
|
})
|
},
|
//维修开始选择
|
HBeginDateChange(e){
|
console.log(e.detail.value)
|
this.hform.HRepairBeginDate = e.detail.value
|
},
|
//维修结束选择
|
HEndDateChange(e){
|
console.log(e.detail.value)
|
this.hform.HRepairEndDate = e.detail.value
|
},
|
|
//获取部门数据
|
getHDeptList(){
|
uni.request({
|
url: this.serverUrl + '/PublicPageMethod/DeptList',
|
data: { sWhere: "where HStopFlag=0 and HEndFlag=1 and HUSEORGID = " + uni.getStorageSync('OrganizationID') + "" },
|
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].HName
|
}
|
this.$forceUpdate();
|
}else{
|
uni.showToast({
|
title:res.data.Message,
|
icon:'none'
|
})
|
}
|
},
|
fail: (res) => {
|
console.log(res);
|
uni.showToast({
|
title:'接口请求失败',
|
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
|
}
|
}
|
},
|
//获取维修人/负责人数据
|
getEmpList(){
|
uni.request({
|
url: this.serverUrl + '/PublicPageMethod/UserList',
|
data: { sWhere: '' },
|
success: (res) => {
|
if(res.data.count == 1){
|
this.EmpNameList = res.data.data
|
for(var i=0;i<res.data.data.length;i++){
|
this.arrayEmpName[i] = res.data.data[i].HName
|
}
|
this.$forceUpdate();
|
}else{
|
uni.showToast({
|
title:res.data.Message,
|
icon:'none'
|
})
|
}
|
},
|
fail: (res) => {
|
console.log(res);
|
uni.showToast({
|
title:'接口请求失败',
|
icon:'none'
|
})
|
},
|
});
|
},
|
//选择维修人
|
HEmpNameChange(e){
|
for(var i=0;i<this.EmpNameList.length;i++){
|
if(this.EmpNameList[i].HName == e){
|
this.hform.HEmpID = this.EmpNameList[i].HItemID
|
}
|
}
|
},
|
//选择负责人
|
HManagerNameChange(e){
|
for(var i=0;i<this.EmpNameList.length;i++){
|
if(this.EmpNameList[i].HName == e){
|
this.hform.HManagerID = this.EmpNameList[i].HItemID
|
}
|
}
|
},
|
//获取维修项目数据
|
getHRepairList(){
|
uni.request({
|
url: this.serverUrl + '/PublicPageMethod/RepairItemList',
|
data: { sWhere: '' },
|
success: (res) => {
|
if(res.data.count == 1){
|
this.HRepairList = res.data.data
|
for(var i=0;i<res.data.data.length;i++){
|
this.arrayHRepair[i] = res.data.data[i].HName
|
}
|
this.$forceUpdate();
|
}else{
|
uni.showToast({
|
title:res.data.Message,
|
icon:'none'
|
})
|
}
|
},
|
fail: (res) => {
|
console.log(res);
|
uni.showToast({
|
title:'接口请求失败',
|
icon:'none'
|
})
|
},
|
});
|
},
|
//选择维修项目
|
HRepairChange(e){
|
for(var i=0;i<this.HRepairList.length;i++){
|
if(this.HRepairList[i].HName == e){
|
this.hform.HRepairID = this.HRepairList[i].HItemID
|
}
|
}
|
},
|
|
|
//选择故障登记单
|
getGzData(e){
|
console.log(e)
|
this.hform.HMainSourceBillNo = e.HMainSourceBillNo
|
this.hform.HMainSourceInterID = e.HMainSourceInterID
|
this.hform.HMainSourceEntryID = e.HMainSourceEntryID
|
this.showGz = false
|
},
|
closeMask(e){
|
this.showGz = false
|
},
|
|
hformList(e){
|
console.log(e)
|
this.form1List = e
|
this.showMask = false
|
},
|
|
//编辑
|
getEditData(hmainid){
|
//主表
|
uni.request({
|
url: this.serverUrl + '/Sb_EqpRepairWorkBill/Sb_EqpRepairWorkBillListCheckDetai',
|
data: { HID: hmainid },
|
success: (res) => {
|
console.log(1,res.data.data.h_v_Sb_EquipRepairWorkBill_Edit);
|
if(res.data.code == 1){
|
var data = res.data.data.h_v_Sb_EquipRepairWorkBill_Edit[0]
|
this.hform = {
|
HInterID:hmainid,
|
HBillNo:data.单据号,
|
HDate:data.日期.substr(0,10),
|
HInnerBillNo:data.内部单据号,
|
|
HEquipName:data.设备名称,
|
HEquipID:data.HEquipID,
|
HManagerName:data.负责人,
|
HManagerID:data.HManagerID,
|
HEmpName:data.维修人,
|
HEmpID:data.HEmpID,
|
HRepairBeginDate:data.维修开始日期.substr(0,10),
|
HRepairEndDate:data.维修结束日期.substr(0,10),
|
HRepairName:data.维修项目,
|
HRepairID:data.HRepairID,
|
HDeptName:data.部门名称,
|
HDeptID:data.HDeptID,
|
HPlanTimes:data.计划维修工时,
|
HTimes:data.实际维修工时 ,
|
HCycleUnit:data.时间单位,
|
HMainSourceBillType:data.HMainSourceBillType,
|
HMainSourceBillNo:data.HMainSourceBillNo,
|
HMainSourceInterID:data.HMainSourceInterID,
|
HMainSourceEntryID:data.HMainSourceEntryID,
|
HRepairContent:data.维修内容,
|
HExplanation:data.维修要求,
|
HRemark:data.表头备注,
|
}
|
}else{
|
uni.showToast({
|
title:res.data.Message,
|
icon:'none'
|
})
|
}
|
},
|
fail: (res) => {
|
console.log(res);
|
uni.showToast({
|
title:'接口请求失败',
|
icon:'none'
|
})
|
},
|
});
|
//子表
|
uni.request({
|
url: this.serverUrl + '/Sb_EqpRepairWorkBill/Sb_EqpRepairWorkBillListProjectDetai',
|
data: { HInterID: hmainid },
|
success: (res) => {
|
console.log(2,res.data.list);
|
if(res.data.count == 1){
|
this.form1List = res.data.list
|
}else{
|
uni.showToast({
|
title:res.data.Message,
|
icon:'none'
|
})
|
}
|
},
|
fail: (res) => {
|
console.log(res);
|
uni.showToast({
|
title:'接口请求失败',
|
icon:'none'
|
})
|
},
|
});
|
},
|
//新增
|
getNewData(){
|
uni.request({
|
url: this.serverUrl + '/Web/GetMAXNum',
|
data: { HBillType: '3910' },
|
success: (res) => {
|
console.log(res.data)
|
if(res.data.count == 1){
|
this.hform.HInterID = 0
|
this.hform.HBillNo = res.data.data[0].HBillNo
|
}else{
|
uni.showToast({
|
title:res.data.Message,
|
icon:'none'
|
})
|
}
|
},
|
fail: (res) => {
|
console.log(res);
|
uni.showToast({
|
title:'接口请求失败',
|
icon:'none'
|
})
|
},
|
});
|
},
|
submit() {
|
if(!this.hform.HEquipID){
|
uni.showToast({
|
title:'请扫描设备',
|
icon:'none'
|
})
|
}else if(!this.hform.HManagerID){
|
uni.showToast({
|
title:'请选择负责人',
|
icon:'none'
|
})
|
}else if(!this.hform.HEmpID){
|
uni.showToast({
|
title:'请选择维修人',
|
icon:'none'
|
})
|
}else if(!this.hform.HRepairBeginDate){
|
uni.showToast({
|
title:'请选择维修开始时间',
|
icon:'none'
|
})
|
}else if(!this.hform.HRepairEndDate){
|
uni.showToast({
|
title:'请选择维修结束时间',
|
icon:'none'
|
})
|
}else if(!this.hform.HRepairID){
|
uni.showToast({
|
title:'请选择维修项目',
|
icon:'none'
|
})
|
}else if(!this.hform.HDeptID){
|
uni.showToast({
|
title:'请选择维修部门',
|
icon:'none'
|
})
|
}else if(!this.hform.HTimes){
|
uni.showToast({
|
title:'请选择实际工时',
|
icon:'none'
|
})
|
}else if(this.form1List.length == 0){
|
uni.showToast({
|
title:'请新增维修信息,维修信息不可为空',
|
icon:'none'
|
})
|
}else{
|
uni.showLoading({
|
title:'请稍候'
|
})
|
var sMainStr = JSON.stringify(this.hform);
|
var sSubStr = JSON.stringify(this.form1List);
|
var sMainSub = sMainStr + ';' + sSubStr + ";" + uni.getStorageSync('HUserName');
|
// console.log(sMainSub);
|
uni.request({
|
url: this.serverUrl + '/Sb_EqpRepairWorkBill/SaveGetEqpRepairWorkBillWebList',
|
method:'POST',
|
dataType:"json",
|
data:{ msg: sMainSub },
|
success: (res) => {
|
// console.log(1,res);
|
uni.hideLoading()
|
if(res.data.count == 1){
|
let pages = getCurrentPages();
|
let prePage = pages[pages.length - 2];
|
prePage.$vm.getList()
|
setTimeout(()=>{
|
uni.navigateBack()
|
},1000)
|
}
|
uni.showToast({
|
title:res.data.Message,
|
icon:'none'
|
})
|
},
|
fail: (res) => {
|
console.log(res);
|
uni.showToast({
|
title:'接口请求失败',
|
icon:'none'
|
})
|
},
|
});
|
}
|
},
|
goBack(){
|
uni.navigateBack()
|
}
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
.form{
|
width: 650rpx;
|
margin: 20rpx auto;
|
padding-bottom: 240rpx;
|
}
|
.tab_area{
|
width: 100%;
|
height: 50rpx;
|
}
|
.form-item{
|
display: flex;
|
align-items: center;
|
font-size: 30rpx;
|
padding: 6rpx 0;
|
.title{
|
width: 180rpx;
|
}
|
.right{
|
width: 450rpx;
|
border-radius: 22rpx;
|
border: 1px solid #acacac;
|
}
|
.righton{
|
width: 450rpx;
|
border-radius: 22rpx;
|
border: 1px solid #e4e4e4;
|
background-color: #e4e4e4;
|
}
|
text{
|
color: red;
|
font-weight: bold;
|
}
|
input{
|
width: 100%;
|
padding: 8rpx 20rpx;
|
font-size: 30rpx;
|
}
|
textarea{
|
width: 98%;
|
padding: 8rpx 20rpx;
|
font-size: 30rpx;
|
}
|
.tip{
|
color: #da9100;
|
margin-top: 20rpx;
|
}
|
|
}
|
|
.bottom-btn{
|
width: 100%;
|
// 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;
|
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;
|
margin-left: 30rpx;
|
}
|
.btn-c{
|
background-color: #acacac;
|
color: #fff;
|
position: absolute;
|
right: 120rpx;
|
}
|
}
|
</style>
|