xiaobai
3 years ago
3 changed files with 1430 additions and 1 deletions
@ -0,0 +1,731 @@ |
|||
<!--工业锅炉内部检验--> |
|||
<template> |
|||
<div class="app-container"> |
|||
<sticky style="margin-bottom: 10px;"> |
|||
<div class="sub-navbar"> |
|||
<el-button v-if="state === 'create'" type="success" icon="el-icon-edit" size="medium" @click="saveYsjl('add')"> |
|||
保存 |
|||
</el-button> |
|||
<el-button v-if="state === 'update'" type="primary" icon="el-icon-edit" size="medium" @click="saveYsjl('upd')"> |
|||
更新 |
|||
</el-button> |
|||
<el-button v-if="state === 'update'" type="success" icon="el-icon-upload2" size="medium" @click="saveYsjl('build')"> |
|||
生成报告 |
|||
</el-button> |
|||
<el-button v-if="state !== 'create'" type="warning" icon="el-icon-view" size="medium" @click="common.viewYsjl(ysjl.id, 'YSJL', false)"> |
|||
预览 |
|||
</el-button> |
|||
</div> |
|||
</sticky> |
|||
<el-tabs v-model="checkedTab" type="card"> |
|||
<el-tab-pane label="基本信息" name="first"> |
|||
<el-form ref="ysjl" :model="ysjl" class="el-form" label-position="right" label-width="100px"> |
|||
<fieldset> |
|||
<legend>基本信息</legend> |
|||
<el-row :gutter="25"> |
|||
<el-col v-if="state === 'create' || ysjl.jilubianhao === null || ysjl.jilubianhao === ''" :span="14"> |
|||
<el-form-item label="记录编号"> |
|||
<el-input v-model="jlbh1" style="width:80px" disabled /> |
|||
<el-input v-model="jlbh2" style="width:80px" disabled />- |
|||
<el-input v-model="jlbh3" style="width:85px" @blur="judgeRepeat(jlbh1 + jlbh2 + '-' + jlbh3 , ysjl.id)" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col v-else :span="9"> |
|||
<el-form-item label="记录编号" prop="jilubianhao"> |
|||
<el-input v-if="state !== 'create'" v-model="ysjl.jilubianhao" :disabled="edit" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col v-if="isRepeat" :span="2" style="vertical-align: middle;padding-top: 3px;font-size: 15px;"> |
|||
<span style="color:red">编号重复</span> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="9"> |
|||
<el-form-item label="设备注册代码(使用登记证编号)" prop="zhucedaima" label-width="200"> |
|||
<el-input v-model="ysjl.zhucedaima" :disabled="edit" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="9"> |
|||
<el-form-item label="车辆牌号" prop="车辆牌号"> |
|||
<el-input v-model="ysjl.cheliangpaihao" :disabled="edit" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="18"> |
|||
<el-form-item label="使用单位" prop="shiyongdanwei" label-width="160px"> |
|||
<el-input v-model="ysjl.shiyongdanwei" :disabled="edit" type="text" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="18"> |
|||
<el-form-item label="设备单位地址" prop="anzhuangdidian"> |
|||
<el-input v-model="ysjl.anzhuangdidian" :disabled="edit" type="text" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="18"> |
|||
<el-form-item label="检验地址" prop="anzhuangdidian"> |
|||
<el-input v-model="ysjl.anzhuangdidian" :disabled="edit" type="text" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="9"> |
|||
<el-form-item label="联系人" prop="shiyongdanweiLianxiren"> |
|||
<el-input v-model="ysjl.shiyongdanweiLianxiren" :disabled="edit" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="9"> |
|||
<el-form-item label="联系电话" prop="shiyongdanweiDianhua"> |
|||
<el-input v-model="ysjl.shiyongdanweiDianhua" :disabled="edit" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="9"> |
|||
<el-form-item label="设备品种(名称)" prop="shebeipinzhong"> |
|||
<el-input v-model="ysjl.shebeipinzhong" :disabled="edit" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="9"> |
|||
<el-form-item label="产品型号" prop="guigexinghao"> |
|||
<el-input v-model="ysjl.guigexinghao" :disabled="edit" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="9"> |
|||
<el-form-item label="设备代码" prop="shebeidaima"> |
|||
<el-input v-model="ysjl.shebeidaima" :disabled="edit" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="9"> |
|||
<el-form-item label="产品编号" prop="chanpinbianhao"> |
|||
<el-input v-model="ysjl.chanpinbianhao" :disabled="edit" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row :gutter="20"> |
|||
<el-col :span="9"> |
|||
<el-form-item label="制造单位" prop="zhizaodanwei"> |
|||
<el-input v-model="ysjl.zhizaodanwei" :disabled="edit" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="9"> |
|||
<el-form-item label="制造日期" prop="zhizaoriqi"> |
|||
<el-date-picker v-model="ysjl.zhizaoriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="9"> |
|||
<el-form-item label="改造单位" prop="gaizaodanwei"> |
|||
<el-input v-model="ysjl.gaizaodanwei" :disabled="edit" type="text" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="9"> |
|||
<el-form-item label="改造日期" prop="gaizaoriqi"> |
|||
<el-date-picker v-model="ysjl.gaizaoriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="9"> |
|||
<el-form-item label="发动机(电机)编号" prop="fadongjibianhao"> |
|||
<el-input v-model="param.fadongjibianhao" :disabled="edit" type="text" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="9"> |
|||
<el-form-item label="燃料种类" prop="ranliaozhonglei"> |
|||
<el-input v-model="param.ranliaozhonglei" :disabled="edit" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="6"> |
|||
<el-form-item label="额定起重量" prop="edingqizhongliang"> |
|||
<el-input v-model="param.edingqizhongliang" :disabled="edit"> |
|||
<span slot="suffix">/kg</span> |
|||
</el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="6"> |
|||
<el-form-item label="自重" prop="kongchezhongliang"> |
|||
<el-input v-model="param.kongchezhongliang" :disabled="edit"> |
|||
<span slot="suffix">/kg</span> |
|||
</el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="6"> |
|||
<el-form-item label="防爆功能" prop="fangbaogongneng"> |
|||
<el-input v-model="param.fangbaogongneng" :disabled="edit" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="9"> |
|||
<el-form-item label="空载最大起升高度" prop="kongzaigaodu"> |
|||
<el-input v-model="param.kongzaigaodu" :disabled="edit"> |
|||
<span slot="suffix">mm</span> |
|||
</el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="9"> |
|||
<el-form-item label="空载最大运行速度" prop="sudukongzai"> |
|||
<el-input v-model="param.sudukongzai" :disabled="edit"> |
|||
<span slot="suffix">km/h</span> |
|||
</el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="18"> |
|||
<el-form-item |
|||
label="使用区域" |
|||
prop="shiyongquyu" |
|||
> |
|||
<el-radio-group v-model="param.shiyongquyu"> |
|||
<el-radio label="厂区"> |
|||
厂区 |
|||
</el-radio> |
|||
<el-radio label="旅游景区"> |
|||
旅游景区 |
|||
</el-radio> |
|||
<el-radio label="游乐场所"> |
|||
游乐场所 |
|||
</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="18"> |
|||
<el-form-item |
|||
label="检验环境条件" |
|||
prop="jianyanhuanjingtiaojian" |
|||
> |
|||
<el-radio-group v-model="ysjl.jianyanhuanjingtiaojian"> |
|||
<el-radio label="符合"> |
|||
符合 |
|||
</el-radio> |
|||
<el-radio label="不符合"> |
|||
不符合 |
|||
</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</fieldset> |
|||
|
|||
<fieldset> |
|||
<legend>检验信息</legend> |
|||
<el-row :gutter="20" style="margin-bottom:20px"> |
|||
<el-col :span="18"> |
|||
<el-form-item label="检验依据" prop="jianyanyiju"> |
|||
<el-input v-model="ysjl.jianyanyiju" type="textarea" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="18"> |
|||
<el-form-item label="主要检验仪器和设备" prop="gongjuxianghao"> |
|||
<el-input |
|||
v-model="param.gongjuxianghao" |
|||
style="width: 100px" |
|||
/>号检验专用工具箱 |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="18"> |
|||
<el-form-item label="检验结论" prop="jianyanjielun"> |
|||
<el-radio-group v-model="ysjl.jianyanjielun"> |
|||
<el-radio label="合格"> |
|||
合格 |
|||
</el-radio> |
|||
<el-radio label="不合格"> |
|||
不合格 |
|||
</el-radio> |
|||
<el-radio label="复检合格"> |
|||
复检合格 |
|||
</el-radio> |
|||
<el-radio label="复检不合格"> |
|||
复检不合格 |
|||
</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="18" style="height: auto"> |
|||
<el-form-item label="检验情况(备注)" prop="beizhu"> |
|||
<el-input |
|||
v-model="ysjl.beizhu" |
|||
type="textarea" |
|||
:autosize="{ minRows: 2, maxRows: 5 }" |
|||
:disabled="edit" |
|||
/> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="9"> |
|||
<el-form-item label="检验完成日期" prop="jianyanjieshuriqi"> |
|||
<el-date-picker |
|||
v-model="ysjl.jianyanjieshuriqi" |
|||
value-format="yyyy-MM-dd" |
|||
placeholder="选择日期" |
|||
style="width: 100%" |
|||
/> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="9"> |
|||
<el-form-item label="下次检验日期" prop="xiacijianyanriqi"> |
|||
<el-date-picker |
|||
v-model="ysjl.xiacijianyanriqi" |
|||
value-format="yyyy-MM-dd" |
|||
placeholder="选择日期" |
|||
style="width: 100%" |
|||
/> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<template> |
|||
<el-row :gutter="10"> |
|||
<el-col :span="9"> |
|||
<el-form-item label="检验人员" prop="jianyanrenyuan"> |
|||
<el-input v-model="ysjl.jianyanrenyuan" disabled /> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="9"> |
|||
<sign-name |
|||
:jianyanrenyuan="jianyanrenyuan" |
|||
:ysjl="ysjl" |
|||
:custom-clear-sign="customClearSign" |
|||
@setSignValue="signNameValue" |
|||
/> |
|||
</el-col> |
|||
</el-row> |
|||
<!-- <el-row :gutter="10"> |
|||
<el-col :span="9"> |
|||
<el-form-item label="编制" prop="jianyanrenyuan"> |
|||
<el-input v-model="ysjl.jianyanrenyuan" disabled /> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="9"> |
|||
<sign-name |
|||
:jianyanrenyuan="jianyanrenyuan" |
|||
:ysjl="ysjl" |
|||
:custom-clear-sign="customClearSign" |
|||
@setSignValue="signNameValue" |
|||
/> |
|||
</el-col> |
|||
</el-row> --> |
|||
</template> |
|||
</fieldset> |
|||
</el-form> |
|||
</el-tab-pane> |
|||
<el-tab-pane label="检验项目" name="second"> |
|||
<el-table ref="sybjSData" :data="sybjSData" :span-method="tableJs.mergeColRows" border stripe style="width:90%"> |
|||
<el-table-column align="center" label="检验项目"> |
|||
<el-table-column align="center" prop="jianyanxiang" width="200" /> |
|||
<el-table-column align="left" prop="jianyanneirong" /> |
|||
</el-table-column> |
|||
<el-table-column align="center" prop="D1" label="检验结果"> |
|||
<template slot-scope="scope"> |
|||
<el-select v-model="scope.row.D1" :disabled="edit" type="text" placeholder="请选择" style="width: 100%;" filterable allow-create default-first-option> |
|||
<el-option label="√" value="√" /> |
|||
<el-option label="○" value="○" /> |
|||
<el-option label="×" value="×" /> |
|||
<el-option label="/" value="/" /> |
|||
</el-select> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<br> |
|||
</el-tab-pane> |
|||
</el-tabs> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
import Sticky from '@/components/Sticky' |
|||
import SignName from '@/views/common/SignName' |
|||
import Utils from '@/utils/contact' |
|||
import merge from 'webpack-merge' |
|||
import { getDepartmentTreeList } from '@/api/common' |
|||
export default { |
|||
name: 'GlGynbYsjl', |
|||
components: { SignName, Sticky }, |
|||
data() { |
|||
return { |
|||
jlbh1: 'GN', |
|||
jlbh2: '(' + new Date().getFullYear() + ')', |
|||
jlbh3: '', |
|||
ysjl: { |
|||
shiyongdanwei: '' |
|||
}, |
|||
param: {}, |
|||
state: this.$route.query.state, |
|||
jianyanrenyuan: '', |
|||
departmentId: this.$store.getters.departmentId, |
|||
isRepeat: false, |
|||
edit: false, |
|||
sybjSData: [], |
|||
tableData: [], |
|||
users: [], |
|||
checkedTab: 'first', |
|||
ysjlId: this.$route.query.id, |
|||
// 表格合并相关 |
|||
// 参与列合并的字段,在这里增加即可 |
|||
cols: [ |
|||
{ |
|||
name: 'jianyanxiang', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|||
getValue(row) { // 该列用于比较的值的获取方法 |
|||
return row.jianyanxiang |
|||
} |
|||
} |
|||
], |
|||
departmemtArr: [] |
|||
} |
|||
}, |
|||
computed: { |
|||
|
|||
}, |
|||
watch: { |
|||
// jlbh3: function(val) { |
|||
// this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + '-' + val |
|||
// this.judgeRepeat(this.ysjl.jilubianhao, this.ysjl.id) |
|||
// }, |
|||
// jilubianhao: function(newValue) { |
|||
// this.judgeRepeat(newValue, this.ysjl.id) |
|||
// } |
|||
}, |
|||
// 添加F5刷新监听事件 |
|||
mounted() { |
|||
window.addEventListener('beforeunload', this.beforeunloadHandler, false) |
|||
}, |
|||
created() { |
|||
if (this.state === 'create') { |
|||
this.initYsjl() |
|||
this.getJyxm(1) |
|||
// 查询最大记录编号 |
|||
this.getMaxBh() |
|||
} else { |
|||
this.getYsjl(this.$route.query.id) |
|||
this.getJyxm(1) |
|||
} |
|||
this.getUserList() |
|||
this.getDepartmentArr() |
|||
}, |
|||
beforeDestroy() { |
|||
window.removeEventListener('beforeunload', this.beforeunloadHandler, false) |
|||
}, |
|||
methods: { |
|||
getDepartmentArr() { |
|||
getDepartmentTreeList().then(res => { |
|||
this.departmemtArr = res |
|||
}) |
|||
}, |
|||
/** |
|||
* 签名方法 |
|||
* @param data |
|||
*/ |
|||
signNameValue(data) { |
|||
this.ysjl.jianyanrenyuan = String(data.id) |
|||
this.jianyanrenyuan = data.name |
|||
this.common.signName(this.ysjl.id, this.ysjl.jianyanrenyuan) |
|||
}, |
|||
customClearSign(fieldName) { |
|||
const data = { |
|||
id: |
|||
this.ysjl.jianyanrenyuan && |
|||
this.common |
|||
.deleteElement( |
|||
this.ysjl.jianyanrenyuan.split(','), |
|||
String(this.$store.getters.userId) |
|||
) |
|||
.join(','), |
|||
name: |
|||
this.jianyanrenyuan && |
|||
this.common |
|||
.deleteElement( |
|||
this.jianyanrenyuan.split(','), |
|||
this.$store.getters.nickname |
|||
) |
|||
.join(','), |
|||
fieldName: fieldName |
|||
} |
|||
this.signNameValue(data) |
|||
}, |
|||
// 查询最大记录编号 |
|||
getMaxBh() { |
|||
const aheadPart = this.jlbh1 + this.jlbh2 |
|||
this.api({ |
|||
url: '/ysjl/gainCurrentBh', |
|||
method: 'get', |
|||
params: { |
|||
aheadPart: aheadPart + '-', |
|||
hinderPart: '' |
|||
} |
|||
}).then(data => { |
|||
this.jlbh3 = data |
|||
}) |
|||
}, |
|||
initYsjl() { |
|||
this.api({ |
|||
url: '/ysjl/initYsjl', |
|||
method: 'post', |
|||
data: { |
|||
templateId: this.$route.query.templateId, |
|||
renwuId: this.$route.query.renwuId, |
|||
neibuleibie: this.$route.query.neibuleibie, |
|||
sblbdm: this.$route.query.sblbdm, |
|||
sblbmc: this.$route.query.sblbmc, |
|||
sbpzdm: this.$route.query.sbpzdm, |
|||
sbpzmc: this.$route.query.sbpzmc |
|||
} |
|||
}).then(data => { |
|||
this.ysjl = data.ysjl |
|||
this.param = (data.param !== null && data.param !== undefined) ? data.param : {} |
|||
this.ysjl.jianyanjieshuriqi = this.formatter.dateFormat('YYYY-MM-dd') |
|||
this.getXcjyrq() |
|||
this.ysjl.jilubianhao = this.jilubianhao |
|||
this.ysjl.baogaobianhao = null // 避免从设备中取值导致信息错误 |
|||
this.ysjl.jianyanjielun = '符合要求' |
|||
this.param.jiezhi = '水' |
|||
this.ysjl.jigouhezhunzhenghao = process.env.VUE_APP_HZZBH |
|||
this.ysjl.beizhu = '/' |
|||
this.ysjl.xiacijianyanriqishuoming = '/' |
|||
this.ysjl.anzhuangdidian = this.ysjl.shiyongdanweiDizhi |
|||
this.$set(this.param, 'qita', '/') |
|||
// 制造日期、投用日期、上次检验日期设置成正确的日期格式 |
|||
this.ysjl.zhizaoriqi = this.common.checkDateFormat(this.ysjl.zhizaoriqi) |
|||
this.ysjl.touyongriqi = this.common.checkDateFormat(this.ysjl.touyongriqi) |
|||
this.param.shangcijianyanriqi = this.common.checkDateFormat(this.param.shangcijianyanriqi) |
|||
}) |
|||
}, |
|||
getYsjl(id) { |
|||
this.api({ |
|||
url: '/ysjl', |
|||
method: 'get', |
|||
params: { |
|||
ysjlId: id |
|||
} |
|||
}).then(data => { |
|||
this.ysjl = data |
|||
if (this.ysjl.jianyanrenyuan !== null && this.ysjl.jianyanrenyuan.length > 0) { |
|||
this.jianyanrenyuan = this.common.convertCnName(this.ysjl.jianyanrenyuan) |
|||
} |
|||
// 查询最大记录编号 |
|||
if (this.ysjl.jilubianhao === null || this.ysjl.jilubianhao === undefined || this.ysjl.jilubianhao === '') { |
|||
this.getMaxBh() |
|||
} |
|||
this.getParam(this.ysjl.id, this.ysjl.shebeizhongleidaima) |
|||
}) |
|||
}, |
|||
getParam(ysjlId, sbzldm) { |
|||
// 根据原始记录id查询参数 |
|||
this.api({ |
|||
url: '/ysjl/getParamByYsjlId', |
|||
method: 'get', |
|||
params: { |
|||
ysjlId: ysjlId, |
|||
sbzldm: sbzldm |
|||
} |
|||
}).then(data => { |
|||
this.param = data |
|||
}) |
|||
}, |
|||
// 查询检验项目 |
|||
getJyxm(sort) { |
|||
let url = '' |
|||
let data = {} |
|||
if (this.state === 'create') { |
|||
url = '/jyxm/getCyJyxm' |
|||
data = { |
|||
templateId: this.$route.query.templateId, |
|||
order: sort |
|||
} |
|||
} else { |
|||
url = '/jyxm/getCyJyxmByYsjl' |
|||
data = { |
|||
ysjlId: this.ysjlId, |
|||
isReport: false, |
|||
templateId: this.$route.query.templateId, |
|||
order: sort |
|||
} |
|||
} |
|||
this.api({ |
|||
url: url, |
|||
method: 'get', |
|||
params: data |
|||
}).then(data => { |
|||
if (this.state === 'create') { |
|||
data.forEach(row => { |
|||
this.sybjSData.push({ |
|||
id: row.id, |
|||
jianyanxiang: row.jianyanxiang, |
|||
jianyanneirong: row.jianyanneirong, |
|||
D1: row.jianyanjieguo |
|||
}) |
|||
}) |
|||
} else { |
|||
data.forEach(row => { |
|||
this.sybjSData.push({ |
|||
id: row.id, |
|||
jianyanxiang: row.jianyanxiang, |
|||
jianyanneirong: row.jianyanneirong, |
|||
D1: row.D1 |
|||
}) |
|||
}) |
|||
} |
|||
this.tableJs.getData(this.cols, undefined, this.sybjSData) |
|||
}) |
|||
}, |
|||
getUserList() { |
|||
this.api({ |
|||
url: '/user/all', |
|||
method: 'get' |
|||
}).then(data => { |
|||
this.users = data |
|||
}) |
|||
}, |
|||
saveYsjl: function(operation) { |
|||
if (operation === 'add') { |
|||
if (this.jlbh3.trim() === '') { |
|||
this.$message({ message: '请先确认记录编号是否完整!', type: 'warning' }) |
|||
return false |
|||
} |
|||
} |
|||
// 把第一个检验项目表中的检验结果单独放到字段中 |
|||
const tableData = [] |
|||
this.sybjSData.forEach((row) => { |
|||
tableData.push({ |
|||
ysjlId: this.ysjlId, |
|||
beizhu: row.beizhu, |
|||
dicJyxmId: row.dicJyxmId, |
|||
jianyanjieguo: row.jianyanjieguo ? row.jianyanjieguo : '', |
|||
jianyanjielun: row.jianyanjielun ? row.jianyanjielun : '', |
|||
jyxmMode: 0, |
|||
sort: row.sort, |
|||
orders: row.orders, |
|||
cjState: 0 |
|||
}) |
|||
}) |
|||
let method = '' |
|||
this.ysjl.bglx = 1 |
|||
this.ysjl.cjState = 'ysjl' |
|||
this.ysjl.zfState = 0 |
|||
this.ysjl.jianyanxiangmu = 'gynb' |
|||
this.ysjl.jlprintState = 0 |
|||
if (this.ysjl.jianyanjielun === '不符合要求') { |
|||
this.ysjl.xiacijianyanriqi = null |
|||
} |
|||
if (operation === 'add') { |
|||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + '-' + this.jlbh3 |
|||
method = 'post' |
|||
} else if (operation === 'build') { |
|||
if (this.ysjl.jianyanrenyuan === null || this.ysjl.jianyanrenyuan === '') { |
|||
this.$message({ |
|||
type: 'error', |
|||
message: '请先签名再生成报告!' |
|||
}) |
|||
return false |
|||
} |
|||
if (this.ysjl.sfdId === null || this.ysjl.sfdId === '') { |
|||
this.$message({ |
|||
type: 'error', |
|||
message: '请先追加或者创建收费单后在尝试!' |
|||
}) |
|||
return false |
|||
} |
|||
method = 'put' |
|||
} else if (operation === 'upd') { |
|||
method = 'put' |
|||
} |
|||
if (this.isRepeat) { |
|||
this.$message({ message: '记录编号重复,请先修改记录编号再保存', type: 'error' }) |
|||
return false |
|||
} else { |
|||
this.$refs['ysjl'].validate(valid => { |
|||
if (valid) { |
|||
const jyxm = tableData |
|||
this.api({ |
|||
url: '/ysjl', |
|||
method: method, |
|||
data: { |
|||
ysjl: this.ysjl, |
|||
param: this.param, |
|||
cyJyxm: {}, |
|||
jdJyxm: jyxm |
|||
} |
|||
}).then(data => { |
|||
Utils.$emit('task-list') |
|||
Utils.$emit('ysjl-list') |
|||
if (operation === 'add' && data !== '') { |
|||
this.$message({ message: '保存成功, 请前往待办记录中查看。', type: 'success' }) |
|||
this.ysjl.id = data |
|||
this.param.ysjlId = data |
|||
// 刷新路由网址 |
|||
this.$store.dispatch('delCurrentViews', { |
|||
view: this.$route, |
|||
$router: this.$router |
|||
}) |
|||
} else if (operation === 'upd') { |
|||
this.$message({ message: '更新成功', type: 'success' }) |
|||
// 替换路由中的参数 |
|||
this.$router.push({ |
|||
query: merge(this.$route.query, { 'jianyanrenyuan': this.ysjl.jianyanrenyuan }) |
|||
}) |
|||
// this.$refs.bill.updateChargeBill() |
|||
} else { |
|||
Utils.$emit('ysjl-list') |
|||
Utils.$emit('ysjl-yb-list') |
|||
Utils.$emit('bggl-daiban-list') |
|||
this.$message({ message: '生成报告成功', type: 'success' }) |
|||
this.$store.dispatch('delCurrentViews', { |
|||
view: this.$route, |
|||
$router: this.$router |
|||
}) |
|||
} |
|||
this.state = 'update' |
|||
}) |
|||
} |
|||
}) |
|||
} |
|||
}, |
|||
judgeRepeat(bianhao, id) { |
|||
this.api({ |
|||
url: '/ysjl/judgeRepeat', |
|||
method: 'get', |
|||
params: { |
|||
ysjlId: id, |
|||
bianhao: bianhao |
|||
} |
|||
}).then(data => { |
|||
if (data > 0) { |
|||
this.isRepeat = true |
|||
} else { |
|||
this.isRepeat = false |
|||
} |
|||
}) |
|||
}, |
|||
getXcjyrq() { |
|||
const xcjyrq = new Date(this.ysjl.jianyanjieshuriqi) |
|||
xcjyrq.setFullYear(xcjyrq.getFullYear() + 2, xcjyrq.getMonth(), xcjyrq.getDate() - 1) |
|||
this.ysjl.xiacijianyanriqi = this.formatter.dateFormat('YYYY-MM-dd', xcjyrq) |
|||
}, |
|||
setYsjlData(data) { |
|||
this.ysjl.sfdId = data |
|||
}, |
|||
// F5刷新监听 |
|||
beforeunloadHandler(e) { |
|||
e.returnValue = '' |
|||
} |
|||
} |
|||
} |
|||
</script> |
@ -0,0 +1,698 @@ |
|||
<!--工业锅炉内部检验--> |
|||
<template> |
|||
<div class="app-container"> |
|||
<sticky style="margin-bottom: 10px;"> |
|||
<div class="sub-navbar"> |
|||
<el-button v-if="state === 'create'" type="success" icon="el-icon-edit" size="medium" @click="saveYsjl('add')"> |
|||
保存 |
|||
</el-button> |
|||
<el-button v-if="state === 'update'" type="primary" icon="el-icon-edit" size="medium" @click="saveYsjl('upd')"> |
|||
更新 |
|||
</el-button> |
|||
<el-button v-if="state === 'update'" type="success" icon="el-icon-upload2" size="medium" @click="saveYsjl('build')"> |
|||
生成报告 |
|||
</el-button> |
|||
<el-button v-if="state !== 'create'" type="warning" icon="el-icon-view" size="medium" @click="common.viewYsjl(ysjl.id, 'YSJL', false)"> |
|||
预览 |
|||
</el-button> |
|||
</div> |
|||
</sticky> |
|||
<el-tabs v-model="checkedTab" type="card"> |
|||
<el-tab-pane label="基本信息" name="first"> |
|||
<el-form ref="ysjl" :model="ysjl" class="el-form" label-position="right" label-width="150px"> |
|||
<fieldset> |
|||
<legend>基本信息</legend> |
|||
<el-row :gutter="25"> |
|||
<el-col v-if="state === 'create' || ysjl.jilubianhao === null || ysjl.jilubianhao === ''" :span="14"> |
|||
<el-form-item label="记录编号"> |
|||
<el-input v-model="jlbh1" style="width:80px" disabled /> |
|||
<el-input v-model="jlbh2" style="width:80px" disabled />- |
|||
<el-input v-model="jlbh3" style="width:85px" @blur="judgeRepeat(jlbh1 + jlbh2 + '-' + jlbh3 , ysjl.id)" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col v-else :span="9"> |
|||
<el-form-item label="记录编号" prop="jilubianhao"> |
|||
<el-input v-if="state !== 'create'" v-model="ysjl.jilubianhao" :disabled="edit" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col v-if="isRepeat" :span="2" style="vertical-align: middle;padding-top: 3px;font-size: 15px;"> |
|||
<span style="color:red">编号重复</span> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="18"> |
|||
<el-form-item label="设备注册代码(使用登记证编号)" prop="zhucedaima" label-width="300px"> |
|||
<el-input v-model="ysjl.zhucedaima" :disabled="edit" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="9"> |
|||
<el-form-item label="车辆牌号" prop="车辆牌号"> |
|||
<el-input v-model="carNum" disabled style="width:80px" /> |
|||
<el-input v-model="ysjl.cheliangpaihao" :disabled="edit" style="width:80px" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="18"> |
|||
<el-form-item label="使用单位" prop="shiyongdanwei" label-width="160px"> |
|||
<el-input v-model="ysjl.shiyongdanwei" :disabled="edit" type="text" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="18"> |
|||
<el-form-item label="设备单位地址" prop="anzhuangdidian"> |
|||
<el-input v-model="ysjl.anzhuangdidian" :disabled="edit" type="text" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="18"> |
|||
<el-form-item label="检验地址" prop="anzhuangdidian"> |
|||
<el-input v-model="ysjl.anzhuangdidian" :disabled="edit" type="text" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="9"> |
|||
<el-form-item label="使用单位联系人" prop="shiyongdanweiLianxiren"> |
|||
<el-input v-model="ysjl.shiyongdanweiLianxiren" :disabled="edit" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="9"> |
|||
<el-form-item label="联系电话" prop="shiyongdanweiDianhua"> |
|||
<el-input v-model="ysjl.shiyongdanweiDianhua" :disabled="edit" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="9"> |
|||
<el-form-item label="设备品种(名称)" prop="shebeipinzhong"> |
|||
<el-input v-model="ysjl.shebeipinzhong" :disabled="edit" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="9"> |
|||
<el-form-item label="产品型号" prop="guigexinghao"> |
|||
<el-input v-model="ysjl.guigexinghao" :disabled="edit" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="9"> |
|||
<el-form-item label="设备代码" prop="shebeidaima"> |
|||
<el-input v-model="ysjl.shebeidaima" :disabled="edit" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="9"> |
|||
<el-form-item label="产品编号" prop="chanpinbianhao"> |
|||
<el-input v-model="ysjl.chanpinbianhao" :disabled="edit" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row :gutter="20"> |
|||
<el-col :span="9"> |
|||
<el-form-item label="制造单位" prop="zhizaodanwei"> |
|||
<el-input v-model="ysjl.zhizaodanwei" :disabled="edit" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="9"> |
|||
<el-form-item label="制造日期" prop="zhizaoriqi"> |
|||
<el-date-picker v-model="ysjl.zhizaoriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="9"> |
|||
<el-form-item label="改造单位" prop="gaizaodanwei"> |
|||
<el-input v-model="ysjl.gaizaodanwei" :disabled="edit" type="text" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="9"> |
|||
<el-form-item label="改造日期" prop="gaizaoriqi"> |
|||
<el-date-picker v-model="ysjl.gaizaoriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="18"> |
|||
<el-form-item label="发动机(电机)编号" prop="fadongjibianhao"> |
|||
<el-input v-model="param.fadongjibianhao" :disabled="edit" type="text" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<el-row :gutter="20"> |
|||
<el-col :span="18"> |
|||
<el-form-item |
|||
label="使用区域" |
|||
prop="shiyongquyu" |
|||
> |
|||
<el-radio-group v-model="param.shiyongquyu"> |
|||
<el-radio label="厂区"> |
|||
厂区 |
|||
</el-radio> |
|||
<el-radio label="旅游景区"> |
|||
旅游景区 |
|||
</el-radio> |
|||
<el-radio label="游乐场所"> |
|||
游乐场所 |
|||
</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</fieldset> |
|||
<fieldset> |
|||
<legend>设备技术参数</legend> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="9"> |
|||
<el-form-item label="额定载客人数" prop="edingzaizhongliang"> |
|||
<el-input v-model="param.edingzaizhongliang" type="text"> |
|||
<span slot="suffix">人</span> |
|||
</el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="9"> |
|||
<el-form-item label="整机整备质量" prop="zhengbeizhiliang"> |
|||
<el-input v-model="param.zhengbeizhiliang" type="text"> |
|||
<span slot="suffix">kg</span> |
|||
</el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="9"> |
|||
<el-form-item label="最大运行速度" prop="sudukongzai"> |
|||
<el-input |
|||
v-model="param.sudukongzai" |
|||
type="text" |
|||
> |
|||
<span slot="suffix">km/h</span> |
|||
</el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="9"> |
|||
<el-form-item label="列车车厢数" prop="liechecheliangshu"> |
|||
<el-input v-model="param.liechecheliangshu" type="text"> |
|||
<span slot="suffix">节</span> |
|||
</el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="9"> |
|||
<el-form-item label="最大行驶坡度" prop="xingshipodu"> |
|||
<el-input v-model="param.xingshipodu" type="text"> |
|||
<span slot="suffix">%</span> |
|||
</el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="9"> |
|||
<el-form-item label="动力方式" prop="donglifangshi"> |
|||
<el-input v-model="param.donglifangshi" type="text" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</fieldset> |
|||
<fieldset> |
|||
<legend>检验信息</legend> |
|||
<el-row :gutter="20" style="margin-bottom:20px"> |
|||
<el-col :span="18"> |
|||
<el-form-item label="检验依据" prop="jianyanyiju"> |
|||
<el-input v-model="ysjl.jianyanyiju" type="textarea" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="18"> |
|||
<el-form-item label="主要检验仪器和设备" prop="gongjuxianghao"> |
|||
<el-input |
|||
v-model="param.gongjuxianghao" |
|||
style="width: 100px" |
|||
/>号检验专用工具箱 |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="18"> |
|||
<el-form-item label="检验结论" prop="jianyanjielun"> |
|||
<el-radio-group v-model="ysjl.jianyanjielun"> |
|||
<el-radio label="合格"> |
|||
合格 |
|||
</el-radio> |
|||
<el-radio label="不合格"> |
|||
不合格 |
|||
</el-radio> |
|||
<el-radio label="复检合格"> |
|||
复检合格 |
|||
</el-radio> |
|||
<el-radio label="复检不合格"> |
|||
复检不合格 |
|||
</el-radio> |
|||
</el-radio-group> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="18" style="height: auto"> |
|||
<el-form-item label="检验情况(备注)" prop="beizhu"> |
|||
<el-input |
|||
v-model="ysjl.beizhu" |
|||
type="textarea" |
|||
:autosize="{ minRows: 2, maxRows: 5 }" |
|||
:disabled="edit" |
|||
/> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="9"> |
|||
<el-form-item label="检验完成日期" prop="jianyanjieshuriqi"> |
|||
<el-date-picker |
|||
v-model="ysjl.jianyanjieshuriqi" |
|||
value-format="yyyy-MM-dd" |
|||
placeholder="选择日期" |
|||
style="width: 100%" |
|||
/> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="9"> |
|||
<el-form-item label="下次检验日期" prop="xiacijianyanriqi"> |
|||
<el-date-picker |
|||
v-model="ysjl.xiacijianyanriqi" |
|||
value-format="yyyy-MM-dd" |
|||
placeholder="选择日期" |
|||
style="width: 100%" |
|||
/> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<template> |
|||
<el-row :gutter="10"> |
|||
<el-col :span="9"> |
|||
<el-form-item label="检验人员" prop="jianyanrenyuan"> |
|||
<el-input v-model="ysjl.jianyanrenyuan" disabled /> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="9"> |
|||
<sign-name |
|||
:jianyanrenyuan="jianyanrenyuan" |
|||
:ysjl="ysjl" |
|||
:custom-clear-sign="customClearSign" |
|||
@setSignValue="signNameValue" |
|||
/> |
|||
</el-col> |
|||
</el-row> |
|||
<!-- <el-row :gutter="10"> |
|||
<el-col :span="9"> |
|||
<el-form-item label="编制" prop="jianyanrenyuan"> |
|||
<el-input v-model="ysjl.jianyanrenyuan" disabled /> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="9"> |
|||
<sign-name |
|||
:jianyanrenyuan="jianyanrenyuan" |
|||
:ysjl="ysjl" |
|||
:custom-clear-sign="customClearSign" |
|||
@setSignValue="signNameValue" |
|||
/> |
|||
</el-col> |
|||
</el-row> --> |
|||
</template> |
|||
</fieldset> |
|||
</el-form> |
|||
</el-tab-pane> |
|||
<el-tab-pane label="检验项目" name="second"> |
|||
<el-table ref="sybjSData" :data="sybjSData" :span-method="tableJs.mergeColRows" border stripe style="width:90%"> |
|||
<el-table-column align="center" label="检验项目"> |
|||
<el-table-column align="center" prop="jianyanxiang" width="200" /> |
|||
<el-table-column align="left" prop="jianyanneirong" /> |
|||
</el-table-column> |
|||
<el-table-column align="center" prop="D1" label="检验结果"> |
|||
<template slot-scope="scope"> |
|||
<el-select v-model="scope.row.D1" :disabled="edit" type="text" placeholder="请选择" style="width: 100%;" filterable allow-create default-first-option> |
|||
<el-option label="√" value="√" /> |
|||
<el-option label="○" value="○" /> |
|||
<el-option label="×" value="×" /> |
|||
<el-option label="/" value="/" /> |
|||
</el-select> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<br> |
|||
</el-tab-pane> |
|||
</el-tabs> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
import Sticky from '@/components/Sticky' |
|||
import SignName from '@/views/common/SignName' |
|||
import Utils from '@/utils/contact' |
|||
import merge from 'webpack-merge' |
|||
import { getDepartmentTreeList } from '@/api/common' |
|||
export default { |
|||
name: 'GlGynbYsjl', |
|||
components: { SignName, Sticky }, |
|||
data() { |
|||
return { |
|||
jlbh1: 'GN', |
|||
jlbh2: '(' + new Date().getFullYear() + ')', |
|||
jlbh3: '', |
|||
ysjl: { |
|||
shiyongdanwei: '' |
|||
}, |
|||
carNum: '鲁·', |
|||
param: {}, |
|||
state: this.$route.query.state, |
|||
jianyanrenyuan: '', |
|||
departmentId: this.$store.getters.departmentId, |
|||
isRepeat: false, |
|||
edit: false, |
|||
sybjSData: [], |
|||
tableData: [], |
|||
users: [], |
|||
checkedTab: 'first', |
|||
ysjlId: this.$route.query.id, |
|||
// 表格合并相关 |
|||
// 参与列合并的字段,在这里增加即可 |
|||
cols: [ |
|||
{ |
|||
name: 'jianyanxiang', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|||
getValue(row) { // 该列用于比较的值的获取方法 |
|||
return row.jianyanxiang |
|||
} |
|||
} |
|||
], |
|||
departmemtArr: [] |
|||
} |
|||
}, |
|||
computed: { |
|||
|
|||
}, |
|||
watch: { |
|||
// jlbh3: function(val) { |
|||
// this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + '-' + val |
|||
// this.judgeRepeat(this.ysjl.jilubianhao, this.ysjl.id) |
|||
// }, |
|||
// jilubianhao: function(newValue) { |
|||
// this.judgeRepeat(newValue, this.ysjl.id) |
|||
// } |
|||
}, |
|||
// 添加F5刷新监听事件 |
|||
mounted() { |
|||
window.addEventListener('beforeunload', this.beforeunloadHandler, false) |
|||
}, |
|||
created() { |
|||
if (this.state === 'create') { |
|||
this.initYsjl() |
|||
this.getJyxm(1) |
|||
// 查询最大记录编号 |
|||
this.getMaxBh() |
|||
} else { |
|||
this.getYsjl(this.$route.query.id) |
|||
this.getJyxm(1) |
|||
} |
|||
this.getUserList() |
|||
this.getDepartmentArr() |
|||
}, |
|||
beforeDestroy() { |
|||
window.removeEventListener('beforeunload', this.beforeunloadHandler, false) |
|||
}, |
|||
methods: { |
|||
getDepartmentArr() { |
|||
getDepartmentTreeList().then(res => { |
|||
this.departmemtArr = res |
|||
}) |
|||
}, |
|||
/** |
|||
* 签名方法 |
|||
* @param data |
|||
*/ |
|||
signNameValue(data) { |
|||
this.ysjl.jianyanrenyuan = String(data.id) |
|||
this.jianyanrenyuan = data.name |
|||
this.common.signName(this.ysjl.id, this.ysjl.jianyanrenyuan) |
|||
}, |
|||
customClearSign(fieldName) { |
|||
const data = { |
|||
id: |
|||
this.ysjl.jianyanrenyuan && |
|||
this.common |
|||
.deleteElement( |
|||
this.ysjl.jianyanrenyuan.split(','), |
|||
String(this.$store.getters.userId) |
|||
) |
|||
.join(','), |
|||
name: |
|||
this.jianyanrenyuan && |
|||
this.common |
|||
.deleteElement( |
|||
this.jianyanrenyuan.split(','), |
|||
this.$store.getters.nickname |
|||
) |
|||
.join(','), |
|||
fieldName: fieldName |
|||
} |
|||
this.signNameValue(data) |
|||
}, |
|||
// 查询最大记录编号 |
|||
getMaxBh() { |
|||
const aheadPart = this.jlbh1 + this.jlbh2 |
|||
this.api({ |
|||
url: '/ysjl/gainCurrentBh', |
|||
method: 'get', |
|||
params: { |
|||
aheadPart: aheadPart + '-', |
|||
hinderPart: '' |
|||
} |
|||
}).then(data => { |
|||
this.jlbh3 = data |
|||
}) |
|||
}, |
|||
initYsjl() { |
|||
this.api({ |
|||
url: '/ysjl/initYsjl', |
|||
method: 'post', |
|||
data: { |
|||
templateId: this.$route.query.templateId, |
|||
renwuId: this.$route.query.renwuId, |
|||
neibuleibie: this.$route.query.neibuleibie, |
|||
sblbdm: this.$route.query.sblbdm, |
|||
sblbmc: this.$route.query.sblbmc, |
|||
sbpzdm: this.$route.query.sbpzdm, |
|||
sbpzmc: this.$route.query.sbpzmc |
|||
} |
|||
}).then(data => { |
|||
this.ysjl = data.ysjl |
|||
this.param = (data.param !== null && data.param !== undefined) ? data.param : {} |
|||
this.ysjl.jianyanjieshuriqi = this.formatter.dateFormat('YYYY-MM-dd') |
|||
this.getXcjyrq() |
|||
this.ysjl.jilubianhao = this.jilubianhao |
|||
this.ysjl.baogaobianhao = null // 避免从设备中取值导致信息错误 |
|||
this.ysjl.jigouhezhunzhenghao = process.env.VUE_APP_HZZBH |
|||
this.ysjl.beizhu = '/' |
|||
this.ysjl.anzhuangdidian = this.ysjl.shiyongdanweiDizhi |
|||
this.$set(this.param, 'qita', '/') |
|||
// 制造日期、投用日期、上次检验日期设置成正确的日期格式 |
|||
this.ysjl.zhizaoriqi = this.common.checkDateFormat(this.ysjl.zhizaoriqi) |
|||
this.ysjl.gaizaoriqi = this.common.checkDateFormat(this.ysjl.gaizaoriqi) |
|||
}) |
|||
}, |
|||
getYsjl(id) { |
|||
this.api({ |
|||
url: '/ysjl', |
|||
method: 'get', |
|||
params: { |
|||
ysjlId: id |
|||
} |
|||
}).then(data => { |
|||
this.ysjl = data |
|||
if (this.ysjl.jianyanrenyuan !== null && this.ysjl.jianyanrenyuan.length > 0) { |
|||
this.jianyanrenyuan = this.common.convertCnName(this.ysjl.jianyanrenyuan) |
|||
} |
|||
// 查询最大记录编号 |
|||
if (this.ysjl.jilubianhao === null || this.ysjl.jilubianhao === undefined || this.ysjl.jilubianhao === '') { |
|||
this.getMaxBh() |
|||
} |
|||
this.getParam(this.ysjl.id, this.ysjl.shebeizhongleidaima) |
|||
}) |
|||
}, |
|||
getParam(ysjlId, sbzldm) { |
|||
// 根据原始记录id查询参数 |
|||
this.api({ |
|||
url: '/ysjl/getParamByYsjlId', |
|||
method: 'get', |
|||
params: { |
|||
ysjlId: ysjlId, |
|||
sbzldm: sbzldm |
|||
} |
|||
}).then(data => { |
|||
this.param = data |
|||
}) |
|||
}, |
|||
getJyxm(sort) { |
|||
if (this.$route.query.state === 'update') { |
|||
this.jyxmService |
|||
.getJdCyJyxm(this.ysjlId, this.$route.query.templateId, sort) |
|||
.then((data) => { |
|||
this.sybjSData = data |
|||
this.tableJs.getData(this.cols, undefined, this.sybjSData) |
|||
}) |
|||
} else { |
|||
this.jyxmService |
|||
.getCyJyxm(this.$route.query.templateId, sort) |
|||
.then((data) => { |
|||
data.forEach((row) => { |
|||
row.dicJyxmId = row.id |
|||
}) |
|||
this.sybjSData = data |
|||
this.tableJs.getData(this.cols, undefined, this.sybjSData) |
|||
}) |
|||
} |
|||
}, |
|||
getUserList() { |
|||
this.api({ |
|||
url: '/user/all', |
|||
method: 'get' |
|||
}).then(data => { |
|||
this.users = data |
|||
}) |
|||
}, |
|||
saveYsjl: function(operation) { |
|||
if (operation === 'add') { |
|||
if (this.jlbh3.trim() === '') { |
|||
this.$message({ message: '请先确认记录编号是否完整!', type: 'warning' }) |
|||
return false |
|||
} |
|||
} |
|||
// 把第一个检验项目表中的检验结果单独放到字段中 |
|||
const tableData = [] |
|||
this.sybjSData.forEach((row) => { |
|||
tableData.push({ |
|||
ysjlId: this.ysjlId, |
|||
beizhu: row.beizhu, |
|||
dicJyxmId: row.dicJyxmId, |
|||
jianyanjieguo: row.jianyanjieguo ? row.jianyanjieguo : '', |
|||
jianyanjielun: row.jianyanjielun ? row.jianyanjielun : '', |
|||
jyxmMode: 0, |
|||
sort: row.sort, |
|||
orders: row.orders, |
|||
cjState: 0 |
|||
}) |
|||
}) |
|||
let method = '' |
|||
this.ysjl.bglx = 1 |
|||
this.ysjl.cjState = 'ysjl' |
|||
this.ysjl.zfState = 0 |
|||
this.ysjl.jianyanxiangmu = 'gynb' |
|||
this.ysjl.jlprintState = 0 |
|||
if (this.ysjl.jianyanjielun === '不合格' || this.ysjl.jianyanjielun === '复检不合格') { |
|||
this.ysjl.xiacijianyanriqi = null |
|||
} |
|||
if (operation === 'add') { |
|||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + '-' + this.jlbh3 |
|||
method = 'post' |
|||
} else if (operation === 'build') { |
|||
if (this.ysjl.jianyanrenyuan === null || this.ysjl.jianyanrenyuan === '') { |
|||
this.$message({ |
|||
type: 'error', |
|||
message: '请先签名再生成报告!' |
|||
}) |
|||
return false |
|||
} |
|||
if (this.ysjl.sfdId === null || this.ysjl.sfdId === '') { |
|||
this.$message({ |
|||
type: 'error', |
|||
message: '请先追加或者创建收费单后在尝试!' |
|||
}) |
|||
return false |
|||
} |
|||
method = 'put' |
|||
} else if (operation === 'upd') { |
|||
method = 'put' |
|||
} |
|||
if (this.isRepeat) { |
|||
this.$message({ message: '记录编号重复,请先修改记录编号再保存', type: 'error' }) |
|||
return false |
|||
} else { |
|||
this.$refs['ysjl'].validate(valid => { |
|||
if (valid) { |
|||
const jyxm = tableData |
|||
this.api({ |
|||
url: '/ysjl', |
|||
method: method, |
|||
data: { |
|||
ysjl: this.ysjl, |
|||
param: this.param, |
|||
cyJyxm: {}, |
|||
jdJyxm: jyxm |
|||
} |
|||
}).then(data => { |
|||
Utils.$emit('task-list') |
|||
Utils.$emit('ysjl-list') |
|||
if (operation === 'add' && data !== '') { |
|||
this.$message({ message: '保存成功, 请前往待办记录中查看。', type: 'success' }) |
|||
this.ysjl.id = data |
|||
this.param.ysjlId = data |
|||
// 刷新路由网址 |
|||
this.$store.dispatch('delCurrentViews', { |
|||
view: this.$route, |
|||
$router: this.$router |
|||
}) |
|||
} else if (operation === 'upd') { |
|||
this.$message({ message: '更新成功', type: 'success' }) |
|||
// 替换路由中的参数 |
|||
this.$router.push({ |
|||
query: merge(this.$route.query, { 'jianyanrenyuan': this.ysjl.jianyanrenyuan }) |
|||
}) |
|||
// this.$refs.bill.updateChargeBill() |
|||
} else { |
|||
Utils.$emit('ysjl-list') |
|||
Utils.$emit('ysjl-yb-list') |
|||
Utils.$emit('bggl-daiban-list') |
|||
this.$message({ message: '生成报告成功', type: 'success' }) |
|||
this.$store.dispatch('delCurrentViews', { |
|||
view: this.$route, |
|||
$router: this.$router |
|||
}) |
|||
} |
|||
this.state = 'update' |
|||
}) |
|||
} |
|||
}) |
|||
} |
|||
}, |
|||
judgeRepeat(bianhao, id) { |
|||
this.api({ |
|||
url: '/ysjl/judgeRepeat', |
|||
method: 'get', |
|||
params: { |
|||
ysjlId: id, |
|||
bianhao: bianhao |
|||
} |
|||
}).then(data => { |
|||
if (data > 0) { |
|||
this.isRepeat = true |
|||
} else { |
|||
this.isRepeat = false |
|||
} |
|||
}) |
|||
}, |
|||
getXcjyrq() { |
|||
const xcjyrq = new Date(this.ysjl.jianyanjieshuriqi) |
|||
xcjyrq.setFullYear(xcjyrq.getFullYear() + 2, xcjyrq.getMonth(), xcjyrq.getDate() - 1) |
|||
this.ysjl.xiacijianyanriqi = this.formatter.dateFormat('YYYY-MM-dd', xcjyrq) |
|||
}, |
|||
setYsjlData(data) { |
|||
this.ysjl.sfdId = data |
|||
}, |
|||
// F5刷新监听 |
|||
beforeunloadHandler(e) { |
|||
e.returnValue = '' |
|||
} |
|||
} |
|||
} |
|||
</script> |
Loading…
Reference in new issue