李磊
3 years ago
77 changed files with 411 additions and 17956 deletions
@ -1,652 +0,0 @@ |
|||||
<template> |
|
||||
<div class="app-container"> |
|
||||
<el-button type="primary" size="mini" icon="el-icon-edit" :disabled="chargeBillDetailList.length < 1" @click="updateChargeBill"> |
|
||||
保存通知单 |
|
||||
</el-button> |
|
||||
<el-button type="success" size="mini" icon="el-icon-circle-plus-outline" @click="createSfd"> |
|
||||
创建报告收费通知单 |
|
||||
</el-button> |
|
||||
<el-button type="success" size="mini" icon="el-icon-circle-plus-outline" :disabled="chargeBillDetailList.length < 1" @click="addCharges"> |
|
||||
添加收费项 |
|
||||
</el-button> |
|
||||
<el-button type="danger" size="mini" icon="el-icon-delete" @click="clearBill"> |
|
||||
清空收费项 |
|
||||
</el-button> |
|
||||
<el-button type="danger" size="mini" icon="el-icon-remove-outline" :disabled="selection.length < 1" @click="delYsjlSfd"> |
|
||||
删除收费项 |
|
||||
</el-button> |
|
||||
<el-upload |
|
||||
action="" |
|
||||
:http-request="uploadCredential" |
|
||||
:on-exceed="handleExceed" |
|
||||
:show-file-list="false" |
|
||||
style="display: inline-block;" |
|
||||
accept="image/png,image/gif,image/jpg,image/jpeg" |
|
||||
> |
|
||||
<el-button type="warning" size="mini" icon="el-icon-upload"> |
|
||||
上传交费凭据 |
|
||||
</el-button> |
|
||||
</el-upload> |
|
||||
<el-table |
|
||||
ref="chargeBillDetailList" |
|
||||
:data="chargeBillDetailList" |
|
||||
:row-class-name="tableRowClassName" |
|
||||
fit |
|
||||
highlight-current-row |
|
||||
border |
|
||||
stripe |
|
||||
max-height="450" |
|
||||
show-summary |
|
||||
:summary-method="getSummaries" |
|
||||
style="width:100%;margin-top: 5px;" |
|
||||
@row-click="onRowClick" |
|
||||
@selection-change="handleSelectionChange" |
|
||||
> |
|
||||
<el-table-column type="selection" width="40" /> |
|
||||
<el-table-column align="center" type="index" width="50" label="序号" /> |
|
||||
<el-table-column align="center" prop="jilubianhao" label="记录编号" /> |
|
||||
<el-table-column align="center" prop="chanpinbianhao" label="出厂编号" /> |
|
||||
<el-table-column align="center" prop="guigexinghao" label="受检设备(产品)型号" /> |
|
||||
<el-table-column v-if="jianyanleibie !== 'ZJ'" align="center" prop="neibuleibie" :formatter="formatter.formatterCategory" label="检验项目" /> |
|
||||
<el-table-column v-else align="center" :prop="chargeBillState === 'create' ? 'ss1' : 'zaojia'" label="检验项目(产品出厂价格)" /> |
|
||||
<el-table-column align="center" prop="jianyanheding" label="应收检验费金额"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input-number v-model="scope.row.jianyanheding" label="请输入应收金额" placeholder="请输入应收金额" :controls="false" @blur="updateChargeBill" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
<br> |
|
||||
<el-form ref="chargeBill" :model="chargeBill" class="el-form" label-position="right" label-width="130px"> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="6"> |
|
||||
<el-form-item label="非税收入通用票据:"> |
|
||||
<el-input v-model="chargeBill.nonTaxIncomeBill" style="width: 220px" @blur="updateChargeBill" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="height: 125px"> |
|
||||
<el-col :span="6"> |
|
||||
<el-form-item label="记事:"> |
|
||||
<el-input v-model="chargeBill.record" type="textarea" rows="5" style="width: 600px" @blur="updateChargeBill" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="6"> |
|
||||
<el-form-item label="检验人员:"> |
|
||||
<el-select v-model="jianyanrenyuan" multiple placeholder="请选择" @change="updateChargeBill"> |
|
||||
<el-option v-for="item in users" :key="item.id" :label="item.nickname" :value="item.id" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="6"> |
|
||||
<el-form-item label="日期:" label-width="100px"> |
|
||||
<el-date-picker v-model="chargeBill.inspectionDate" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" @change="updateChargeBill" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</el-form> |
|
||||
<div v-if="imageSrc !== ''" class="demo-image__preview"> |
|
||||
<el-image :src="imageSrc" style="width: 500px; height: 500px" :preview-src-list="imageSrcList" /> |
|
||||
</div> |
|
||||
<el-dialog title="添加检验设备收费列表" width="80%" :visible.sync="ysjlListVisible" @close="ysjlListVisible = false"> |
|
||||
<div class="filter-container"> |
|
||||
<el-form> |
|
||||
<el-form-item> |
|
||||
<el-input v-model="ysjlListQuery.jilubianhao" placeholder="记录编号" clearable style="width: 160px" /> |
|
||||
<el-input v-model="ysjlListQuery.shiyongdanwei" placeholder="使用单位" clearable style="width: 400px" /> |
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleYsjlListFilter"> |
|
||||
查询 |
|
||||
</el-button> |
|
||||
<el-button type="success" icon="el-icon-search" :disabled="ysjlSelection.length < 1" @click="addYsjlSave"> |
|
||||
添加 |
|
||||
</el-button> |
|
||||
</el-form-item> |
|
||||
</el-form> |
|
||||
</div> |
|
||||
<el-table |
|
||||
ref="ysjlTableList" |
|
||||
:data="ysjlTableList" |
|
||||
border |
|
||||
fit |
|
||||
highlight-current-row |
|
||||
stripe |
|
||||
max-height="450" |
|
||||
@row-click="onYsjlClick" |
|
||||
@selection-change="handleYsjlSelectionChange" |
|
||||
> |
|
||||
<el-table-column type="selection" width="45" /> |
|
||||
<el-table-column align="center" label="记录编号" prop="jilubianhao" min-width="120" /> |
|
||||
<el-table-column align="center" label="使用单位" prop="shiyongdanwei" min-width="150" /> |
|
||||
<el-table-column align="center" label="注册代码" prop="zhucedaima" min-width="120" /> |
|
||||
<el-table-column align="center" label="使用登记证编号" prop="shiyongdengjibianhao" min-width="120" /> |
|
||||
<el-table-column align="center" label="出厂编号" prop="chanpinbianhao" min-width="100" /> |
|
||||
<el-table-column align="center" label="单位内部编号" prop="danweineibubianhao" min-width="80" /> |
|
||||
<el-table-column :formatter="formatter.formatterCategory" align="center" label="检验项" prop="neibuleibie" min-width="80" /> |
|
||||
</el-table> |
|
||||
<pagination v-show="totalCount>0" :total="totalCount" :page-num.sync="ysjlListQuery.pageNum" :page-row.sync="ysjlListQuery.pageRow" @pagination="getNotHasSfdList" /> |
|
||||
</el-dialog> |
|
||||
<el-dialog title="加入收费通知单列表" width="80%" :visible.sync="appendBillVisible" @close="appendBillVisible = false"> |
|
||||
<div class="filter-container"> |
|
||||
<el-form> |
|
||||
<el-form-item> |
|
||||
<el-input v-model="query.jilubianhao" placeholder="记录编号" clearable style="width: 160px" /> |
|
||||
<el-input v-model="query.inspectedUnit" placeholder="受检单位" clearable style="width: 250px" /> |
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleBillFilter"> |
|
||||
查询 |
|
||||
</el-button> |
|
||||
</el-form-item> |
|
||||
</el-form> |
|
||||
</div> |
|
||||
<el-table |
|
||||
ref="chargeBillList" |
|
||||
:data="chargeBillList" |
|
||||
border |
|
||||
fit |
|
||||
highlight-current-row |
|
||||
stripe |
|
||||
max-height="450" |
|
||||
> |
|
||||
<el-table-column align="center" label="收费编号" prop="serialNumber" min-width="120" /> |
|
||||
<el-table-column align="center" label="受检单位" prop="inspectedUnit" min-width="150" /> |
|
||||
<el-table-column align="center" label="非税收入通用票据" prop="nonTaxIncomeBill" min-width="120" /> |
|
||||
<el-table-column align="center" label="记事" prop="record" min-width="120" /> |
|
||||
<el-table-column align="center" label="操作" fixed="right" min-width="140"> |
|
||||
<template slot-scope="{row}"> |
|
||||
<el-button size="mini" type="success" icon="el-icon-search" @click="onAppendBill(row.id)"> |
|
||||
加入通知单 |
|
||||
</el-button> |
|
||||
<el-button size="mini" title="详情" icon="el-icon-info" circle @click="showDetailsInit(row)" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
<pagination v-show="count>0" :total="count" :page-num.sync="query.pageNum" :page-row.sync="query.pageSize" @pagination="handleBillFilter" /> |
|
||||
</el-dialog> |
|
||||
<detail v-if="detailListVisible" :charge-bill="appendChargeBill" :data="tableDetailsList" :version="18" /> |
|
||||
</div> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
import Detail from '@/views/chargeBill/components/detail' |
|
||||
import Pagination from '@/components/Pagination' |
|
||||
import qs from 'qs' |
|
||||
|
|
||||
export default { |
|
||||
name: 'ComplexBill', |
|
||||
components: { Pagination, Detail }, |
|
||||
props: { |
|
||||
ysjl: { |
|
||||
type: Object, |
|
||||
required: true |
|
||||
}, |
|
||||
version: { |
|
||||
type: Number, |
|
||||
default: 18 |
|
||||
} |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
inspectedUnit: this.ysjl.shiyongdanwei, |
|
||||
shebeizhongleidaima: this.ysjl.shebeizhongleidaima, |
|
||||
jianyanleibie: this.ysjl.jianyanleibie, |
|
||||
selection: [], |
|
||||
chargeBill: {}, |
|
||||
jianyanrenyuan: [], |
|
||||
chargeBillDetailList: [], // 收费项集合 |
|
||||
ysjlListQuery: { |
|
||||
pageNum: 1, // 页码 |
|
||||
pageRow: 10, // 每页条数 |
|
||||
shiyongdanwei: this.inspectedUnit, |
|
||||
billState: false, |
|
||||
cjState: 'ysjl', |
|
||||
shebeizhongleidaima: '1000', |
|
||||
hasLook: 1, |
|
||||
hasChild: true |
|
||||
}, |
|
||||
ysjlListVisible: false, |
|
||||
ysjlTableList: [], // 追加收费项列表 |
|
||||
totalCount: 0, |
|
||||
ysjlSelection: [], |
|
||||
users: [], |
|
||||
chargeBillState: 'create', |
|
||||
chargeBillList: [], |
|
||||
appendBillVisible: false, |
|
||||
query: { |
|
||||
pageNum: 1, // 页码 |
|
||||
pageRow: 10 // 每页条数 |
|
||||
}, |
|
||||
count: 0, |
|
||||
imageSrc: '', |
|
||||
imageSrcList: [], |
|
||||
detailListVisible: false, |
|
||||
appendChargeBill: {}, |
|
||||
tableDetailsList: [] |
|
||||
} |
|
||||
}, |
|
||||
mounted() { |
|
||||
const that = this |
|
||||
this.common.$on('CloseAppendChargeBillDetailList', function() { |
|
||||
that.detailListVisible = false |
|
||||
}) |
|
||||
this.getUserList() |
|
||||
if (this.ysjl.sfdId) { |
|
||||
this.chargeBillState = 'update' |
|
||||
this.getSfdById(this.ysjl.sfdId) |
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
/** |
|
||||
* 加入收费通知单 |
|
||||
*/ |
|
||||
onAppendBill(billId) { |
|
||||
const ysjlIdSet = [this.ysjl.id] |
|
||||
this.appendBill(billId, ysjlIdSet) |
|
||||
}, |
|
||||
/** |
|
||||
* 获取检验人员可选列表 |
|
||||
*/ |
|
||||
getUserList() { |
|
||||
this.api({ |
|
||||
url: '/user/getUserListByDepartmentId', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
departmentId: this.$store.getters.departmentId |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.users = data |
|
||||
}) |
|
||||
}, |
|
||||
/** |
|
||||
* 获取收费通知单 |
|
||||
*/ |
|
||||
getSfdById(billId) { |
|
||||
if (billId) { |
|
||||
this.apibjd({ |
|
||||
url: '/charge/findById/' + billId, |
|
||||
method: 'get' |
|
||||
}).then(data => { |
|
||||
if (data) { |
|
||||
this.chargeBill = data |
|
||||
// this.chargeBill.inspectionPerson = Number(data.inspectionPerson) |
|
||||
const person = this.chargeBill.inspectionPerson === null ? this.$store.getters.userId + '' : this.chargeBill.inspectionPerson + '' |
|
||||
if (person.indexOf(',') !== -1) { |
|
||||
person.split(',').forEach(renyuanid => { |
|
||||
this.jianyanrenyuan.push(Number(renyuanid.replace('[', '').replace(']', ''))) |
|
||||
}) |
|
||||
} else { |
|
||||
this.jianyanrenyuan.push(Number(person)) |
|
||||
} |
|
||||
this.apibjd({ |
|
||||
url: '/charge/getDetailByBillId/' + billId, |
|
||||
method: 'get', |
|
||||
params: { version: this.version } |
|
||||
}).then(data => { |
|
||||
this.chargeBillDetailList = data |
|
||||
}) |
|
||||
if (this.chargeBill.fileName !== undefined && this.chargeBill.fileName !== null) { |
|
||||
this.previewCredentials(this.chargeBill.fileName) |
|
||||
} |
|
||||
} |
|
||||
}) |
|
||||
} |
|
||||
}, |
|
||||
/** |
|
||||
* 更新收费单信息 |
|
||||
*/ |
|
||||
updateChargeBill() { |
|
||||
if (this.chargeBillDetailList.length > 0) { |
|
||||
if (this.jianyanrenyuan === null) { |
|
||||
this.$message.info('检验人员不能为空!') |
|
||||
return false |
|
||||
} else { |
|
||||
this.chargeBill.inspectionPerson = this.jianyanrenyuan.toString() |
|
||||
this.apibjd({ |
|
||||
url: '/charge/updateBill', |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
chargeBill: this.chargeBill, |
|
||||
chargeBillVOList: this.chargeBillDetailList |
|
||||
} |
|
||||
}).then(() => { |
|
||||
this.$message.success('保存通知单成功!') |
|
||||
const ysjl = this.chargeBillDetailList.filter(ysjl => ysjl.ysjlId === this.ysjl.id)[0] |
|
||||
if (ysjl && ysjl.jianyanheding) { |
|
||||
this.ysjl.jianyanheding = ysjl.jianyanheding |
|
||||
} |
|
||||
}) |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
/** |
|
||||
* 创建收费单 |
|
||||
*/ |
|
||||
async createSfd() { |
|
||||
if (this.ysjl.sfdId) { |
|
||||
this.$message.info('已加入收费单请勿重复操作!') |
|
||||
} else { |
|
||||
const data = await this.getBillList(null, null, this.inspectedUnit, this.shebeizhongleidaima, this.jianyanleibie, false) |
|
||||
this.chargeBill.inspectedUnit = this.inspectedUnit |
|
||||
this.chargeBill.shebeizhongleidaima = this.shebeizhongleidaima |
|
||||
this.chargeBill.jianyanleibie = this.jianyanleibie |
|
||||
if (data.length < 1) { |
|
||||
this.saveChargeBill() |
|
||||
} else { |
|
||||
this.$confirm('请问需要将此报告追加到已生成的收费通知单里面吗???‘确定’表示追加,‘取消’表示不追加并新建收费通知单。', '警告', { |
|
||||
distinguishCancelAndClose: true, |
|
||||
confirmButtonText: '确定', |
|
||||
cancelButtonText: '取消', |
|
||||
type: 'warning' |
|
||||
}).then(() => { |
|
||||
if (this.chargeBillList.length === 1) { |
|
||||
this.onAppendBill(this.chargeBillList[0].id) |
|
||||
} else { |
|
||||
this.appendBillVisible = true |
|
||||
} |
|
||||
}).catch((action) => { |
|
||||
if (action === 'cancel') { |
|
||||
this.saveChargeBill() |
|
||||
} |
|
||||
}) |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
/** |
|
||||
* 根据条件查询收费单集合 |
|
||||
* @param id 收费单主键 |
|
||||
* @param jilubianhao 记录编号 |
|
||||
* @param inspectedUnit 受检单位 |
|
||||
* @param shebeizhongleidaima 设备种类代码 |
|
||||
* @param jianyanleibie 检验类别 |
|
||||
* @param jfState 缴费状态 |
|
||||
*/ |
|
||||
async getBillList(id, jilubianhao, inspectedUnit, shebeizhongleidaima, jianyanleibie, jfState) { |
|
||||
let result = [] |
|
||||
await this.apibjd({ |
|
||||
url: '/charge/getBill', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
id: id, |
|
||||
jilubianhao: jilubianhao, |
|
||||
inspectedUnit: inspectedUnit, |
|
||||
shebeizhongleidaima: shebeizhongleidaima, |
|
||||
jianyanleibie: jianyanleibie, |
|
||||
jfState: jfState |
|
||||
} |
|
||||
}).then(data => { |
|
||||
result = data |
|
||||
this.chargeBillList = data |
|
||||
}) |
|
||||
return result |
|
||||
}, |
|
||||
/** |
|
||||
* 加入收费单列表查询 |
|
||||
*/ |
|
||||
handleBillFilter() { |
|
||||
this.getBillList(null, this.query.jilubianhao, this.query.inspectedUnit, null, null, false) |
|
||||
}, |
|
||||
/** |
|
||||
* 收费单追加事件 |
|
||||
* @param billId 收费单主键 |
|
||||
* @param ysjlIdSet 原始记录主键集合 |
|
||||
*/ |
|
||||
appendBill(billId, ysjlIdSet) { |
|
||||
this.apibjd({ |
|
||||
url: '/charge/appendBill', |
|
||||
method: 'post', |
|
||||
params: { |
|
||||
billId: billId, |
|
||||
ysjlIdSet: ysjlIdSet, |
|
||||
version: this.version |
|
||||
}, |
|
||||
paramsSerializer: function(params) { |
|
||||
return qs.stringify(params, { indices: false }) |
|
||||
} |
|
||||
}).then(() => { |
|
||||
this.$message.success('追加成功!') |
|
||||
this.ysjl.sfdId = billId |
|
||||
this.getSfdById(billId) |
|
||||
this.updateChargeBill() |
|
||||
}) |
|
||||
}, |
|
||||
/** |
|
||||
* 创建收费单 |
|
||||
*/ |
|
||||
saveChargeBill() { |
|
||||
const arr = [this.ysjl.id] |
|
||||
this.apibjd({ |
|
||||
url: '/charge/saveBill', |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
chargeBill: this.chargeBill, |
|
||||
version: this.version, |
|
||||
ysjlIdSet: arr |
|
||||
}, |
|
||||
paramsSerializer: function(params) { |
|
||||
return qs.stringify(params, { indices: false }) |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.$message({ message: '保存通知单成功!!!', type: 'success' }) |
|
||||
this.ysjl.sfdId = data |
|
||||
this.getSfdById(data) |
|
||||
this.updateChargeBill() |
|
||||
}) |
|
||||
}, |
|
||||
/** |
|
||||
* 展示可添加收费项列表 |
|
||||
*/ |
|
||||
async addCharges() { |
|
||||
await this.getNotHasSfdList() |
|
||||
this.ysjlListVisible = true |
|
||||
}, |
|
||||
/** |
|
||||
* 获取可添加收费项集合 |
|
||||
*/ |
|
||||
async getNotHasSfdList() { |
|
||||
let result = [] |
|
||||
await this.api({ |
|
||||
url: '/ysjl/getNotHasSfdList', |
|
||||
method: 'get', |
|
||||
params: this.ysjlListQuery |
|
||||
}).then(data => { |
|
||||
result = data.list |
|
||||
this.ysjlTableList = data.list |
|
||||
this.totalCount = data.total |
|
||||
}) |
|
||||
return result |
|
||||
}, |
|
||||
// 收费项列表弹窗查询 |
|
||||
handleYsjlListFilter() { |
|
||||
this.ysjlListQuery.pageNum = 1 |
|
||||
this.getNotHasSfdList() |
|
||||
}, |
|
||||
/** |
|
||||
* 添加追加收费项 |
|
||||
* @returns {boolean} |
|
||||
*/ |
|
||||
async addYsjlSave() { |
|
||||
if (this.chargeBill.finishState) { |
|
||||
this.$message.warning('该收费单已经办结,无法进行追加操作!') |
|
||||
return false |
|
||||
} |
|
||||
const ysjlIdSet = this.ysjlSelection.map(item => item.id) |
|
||||
this.appendBill(this.chargeBill.id, ysjlIdSet) |
|
||||
await this.getNotHasSfdList() |
|
||||
await this.handleYsjlListFilter() |
|
||||
}, |
|
||||
/** |
|
||||
* 清空收费单 |
|
||||
*/ |
|
||||
clearBill() { |
|
||||
if (this.chargeBill.finishState) { |
|
||||
this.$message.warning('该收费单已经办结,无法进行清除操作!') |
|
||||
return false |
|
||||
} |
|
||||
this.$confirm('此操作将会删除该报检单所有信息, 是否继续?', '提示', { |
|
||||
confirmButtonText: '确定', |
|
||||
cancelButtonText: '取消', |
|
||||
type: 'warning' |
|
||||
}).then(() => { |
|
||||
const billIdSet = [this.chargeBill.id] |
|
||||
this.apibjd({ |
|
||||
url: '/charge/sendBackByBillIdSet', |
|
||||
method: 'post', |
|
||||
params: { billIdSet: billIdSet }, |
|
||||
paramsSerializer: function(params) { |
|
||||
return qs.stringify(params, { indices: false }) |
|
||||
} |
|
||||
}).then(() => { |
|
||||
this.$message.success('收费单清除成功!') |
|
||||
this.chargeBill = {} |
|
||||
this.chargeBillDetailList = [] |
|
||||
this.ysjl.sfdId = '' |
|
||||
this.jianyanrenyuan = [] |
|
||||
}) |
|
||||
}).catch(() => { |
|
||||
this.$message.info('已取消清空!') |
|
||||
}) |
|
||||
}, |
|
||||
/** |
|
||||
* 删除某收费项 |
|
||||
*/ |
|
||||
delYsjlSfd() { |
|
||||
if (this.chargeBill.finishState) { |
|
||||
this.$message.warning('该收费单已经办结,无法进行清除操作!') |
|
||||
return false |
|
||||
} |
|
||||
this.$confirm('数据删除后将不能恢复, 是否继续?', '提示', { |
|
||||
confirmButtonText: '确定', |
|
||||
cancelButtonText: '取消', |
|
||||
type: 'warning' |
|
||||
}).then(() => { |
|
||||
const ysjlIdSet = this.selection.map(item => item.ysjlId) |
|
||||
const ifBack = this.selection.length === this.chargeBillDetailList.length |
|
||||
this.apibjd({ |
|
||||
url: '/charge/delBillDetail', |
|
||||
method: 'post', |
|
||||
params: { |
|
||||
billId: this.chargeBill.id, |
|
||||
ysjlIdSet: ysjlIdSet, |
|
||||
ifBack: ifBack |
|
||||
}, |
|
||||
paramsSerializer: function(params) { |
|
||||
return qs.stringify(params, { indices: false }) |
|
||||
} |
|
||||
}).then(() => { |
|
||||
this.$message.success('删除成功!') |
|
||||
if (ifBack) { |
|
||||
this.ysjl.sfdId = '' |
|
||||
this.chargeBill = {} |
|
||||
this.chargeBillDetailList = [] |
|
||||
} else { |
|
||||
if (ysjlIdSet.includes(this.ysjl.id)) { |
|
||||
this.ysjl.sfdId = '' |
|
||||
this.chargeBill = {} |
|
||||
this.chargeBillDetailList = [] |
|
||||
} else { |
|
||||
this.getSfdById(this.chargeBill.id) |
|
||||
} |
|
||||
} |
|
||||
}) |
|
||||
}).catch(() => { |
|
||||
this.$message.info('已取消删除!') |
|
||||
}) |
|
||||
}, |
|
||||
onYsjlClick(row) { |
|
||||
this.$refs.ysjlTableList.toggleRowSelection(row) |
|
||||
}, |
|
||||
handleYsjlSelectionChange: function(val) { |
|
||||
this.ysjlSelection = val |
|
||||
}, |
|
||||
tableRowClassName({ row, rowIndex }) { |
|
||||
row.index = rowIndex |
|
||||
}, |
|
||||
onRowClick(row) { |
|
||||
this.$refs.chargeBillDetailList.toggleRowSelection(row) |
|
||||
}, |
|
||||
handleSelectionChange(val) { |
|
||||
this.selection = val |
|
||||
}, |
|
||||
uploadCredential(back) { |
|
||||
if (this.chargeBill.id === undefined) { |
|
||||
this.$message.error('请先创建收费单后在尝试上传附件!!') |
|
||||
return false |
|
||||
} |
|
||||
const file = back.file |
|
||||
const isJPG = file.type === 'image/jpeg' || file.type === 'image/png' |
|
||||
if (!isJPG) { |
|
||||
this.$message.error('只能上传jpg/png格式的图片') |
|
||||
return false |
|
||||
} |
|
||||
const fd = new FormData() |
|
||||
fd.append('file', file) |
|
||||
fd.append('billId', this.chargeBill.id) |
|
||||
this.apibjd({ |
|
||||
url: '/charge/uploadVoucher', |
|
||||
method: 'post', |
|
||||
data: fd |
|
||||
}).then((data) => { |
|
||||
this.$message.success('上传成功!') |
|
||||
const path = process.env.VUE_APP_BASE_API + 'showImage/voucher/' + data |
|
||||
this.imageSrc = path |
|
||||
this.imageSrcList[0] = path |
|
||||
}) |
|
||||
return true |
|
||||
}, |
|
||||
previewCredentials(fileName) { |
|
||||
if (fileName) { |
|
||||
const path = process.env.VUE_APP_BASE_API + 'showImage/voucher/' + fileName |
|
||||
this.imageSrc = path |
|
||||
this.imageSrcList[0] = path |
|
||||
} else { |
|
||||
this.$message.warning('暂无上传交费凭据!') |
|
||||
} |
|
||||
}, |
|
||||
handleExceed() { |
|
||||
this.$notify.warning('请删除已有凭据后,重新上传新凭据!') |
|
||||
}, |
|
||||
getSummaries(param) { |
|
||||
const { columns, data } = param |
|
||||
const sums = [] |
|
||||
columns.forEach((column, index) => { |
|
||||
if (index === 1) { |
|
||||
sums[index] = '总价' |
|
||||
return |
|
||||
} |
|
||||
const values = data.map(item => Number(item[column.property])) |
|
||||
if (!values.every(value => isNaN(value))) { |
|
||||
sums[6] = values.reduce((prev, curr) => { |
|
||||
const value = Number(curr) |
|
||||
if (!isNaN(value)) { |
|
||||
return prev + curr |
|
||||
} else { |
|
||||
return prev |
|
||||
} |
|
||||
}, 0) |
|
||||
sums[6] += ' 元' |
|
||||
} else { |
|
||||
sums[index] = '' |
|
||||
} |
|
||||
}) |
|
||||
return sums |
|
||||
}, |
|
||||
/** |
|
||||
* 获得收费通知单详情列表 |
|
||||
*/ |
|
||||
showDetailsInit(row) { |
|
||||
this.apibjd({ |
|
||||
url: '/charge/getDetailByBillId/' + row.id, |
|
||||
method: 'get', |
|
||||
params: { version: 18 } |
|
||||
}).then(data => { |
|
||||
this.appendChargeBill = row |
|
||||
this.tableDetailsList = data |
|
||||
this.detailListVisible = true |
|
||||
}) |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style scoped> |
|
||||
|
|
||||
</style> |
|
@ -1,954 +0,0 @@ |
|||||
export default { |
|
||||
getHyYtRadio(jyxmData, params) { // 还原 有铜
|
|
||||
const bgJyxmData = [] |
|
||||
const yali = params.edingyali |
|
||||
const lushui = params.shuichulifangfa |
|
||||
const luxing = params.huanjingtiaojian |
|
||||
for (let i = 0; i < jyxmData.length; i++) { |
|
||||
const bgJyxm = { |
|
||||
id: '', |
|
||||
c1: '-', |
|
||||
c2: '', |
|
||||
c3: '-', |
|
||||
c4: '' |
|
||||
} |
|
||||
bgJyxm.id = jyxmData[i].id |
|
||||
if (lushui === '炉水固体碱化处理') { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
if (i === 0) { |
|
||||
bgJyxm.c3 = '9.0~11.0' |
|
||||
} else if (i === 1) { |
|
||||
bgJyxm.c3 = '5~15' |
|
||||
} |
|
||||
} else if (yali >= 5.9 && yali <= 10.0) { |
|
||||
if (i === 0) { |
|
||||
bgJyxm.c3 = '9.0~10.5' |
|
||||
} else if (i === 1) { |
|
||||
bgJyxm.c3 = '2~10' |
|
||||
} else if (i === 4) { |
|
||||
bgJyxm.c3 = '≤20' |
|
||||
} else if (i === 5) { |
|
||||
bgJyxm.c3 = '<50' |
|
||||
} |
|
||||
} else if (yali >= 10.1 && yali <= 12.6) { |
|
||||
if (i === 0) { |
|
||||
bgJyxm.c3 = '9.0~10' |
|
||||
} else if (i === 1) { |
|
||||
bgJyxm.c3 = '2~6' |
|
||||
} else if (i === 4) { |
|
||||
bgJyxm.c3 = '≤2.0' |
|
||||
} else if (i === 5) { |
|
||||
bgJyxm.c3 = '≤30' |
|
||||
} |
|
||||
} else if (yali >= 12.7 && yali <= 15.6) { |
|
||||
if (i === 0) { |
|
||||
bgJyxm.c3 = '9.0~9.7' |
|
||||
} else if (i === 1) { |
|
||||
bgJyxm.c3 = '≤3' |
|
||||
} else if (i === 2) { |
|
||||
bgJyxm.c3 = '≤1.5' |
|
||||
} else if (i === 4) { |
|
||||
bgJyxm.c3 = '≤0.45' |
|
||||
} else if (i === 5) { |
|
||||
bgJyxm.c3 = '≤20' |
|
||||
} |
|
||||
} else if (yali > 15.6) { |
|
||||
if (i === 0) { |
|
||||
bgJyxm.c3 = '9.0~9.7' |
|
||||
} else if (i === 1) { |
|
||||
bgJyxm.c3 = '≤1' |
|
||||
} else if (i === 2) { |
|
||||
bgJyxm.c3 = '≤0.4' |
|
||||
} else if (i === 4) { |
|
||||
bgJyxm.c3 = '≤0.10' |
|
||||
} else if (i === 5) { |
|
||||
bgJyxm.c3 = '≤15' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c3 = '<5' |
|
||||
} |
|
||||
} |
|
||||
} else if (lushui === '炉水全挥发处理') { |
|
||||
if (yali > 15.6) { |
|
||||
if (i === 0) { |
|
||||
bgJyxm.c3 = '9.0~9.7' |
|
||||
} else if (i === 2) { |
|
||||
bgJyxm.c3 = '≤0.03' |
|
||||
} else if (i === 4) { |
|
||||
bgJyxm.c3 = '≤0.08' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c3 = '<1.0' |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
// 还原 有铜 汽包炉
|
|
||||
if (luxing === '汽包炉') { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
if (i === 6) { |
|
||||
bgJyxm.c1 = '≤2.0' |
|
||||
} else if (i === 7) { |
|
||||
bgJyxm.c1 = '≤15' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c1 = '8.8~9.3' |
|
||||
} else if (i === 9) { |
|
||||
bgJyxm.c1 = '≤10' |
|
||||
} else if (i === 10) { |
|
||||
bgJyxm.c1 = '≤50' |
|
||||
} |
|
||||
} else if (yali >= 5.9 && yali <= 12.6) { |
|
||||
if (i === 7) { |
|
||||
bgJyxm.c1 = '≤7' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c1 = '8.8~9.3' |
|
||||
} else if (i === 9) { |
|
||||
bgJyxm.c1 = '≤5' |
|
||||
} else if (i === 10) { |
|
||||
bgJyxm.c1 = '≤30' |
|
||||
} else if (i === 12) { |
|
||||
bgJyxm.c1 = '≤0.30' |
|
||||
} else if (i === 15) { |
|
||||
bgJyxm.c1 = '≤500' |
|
||||
} |
|
||||
} else if (yali >= 12.7 && yali <= 15.6) { |
|
||||
if (i === 7) { |
|
||||
bgJyxm.c1 = '≤7' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c1 = '8.8~9.3' |
|
||||
} else if (i === 9) { |
|
||||
bgJyxm.c1 = '≤5' |
|
||||
} else if (i === 10) { |
|
||||
bgJyxm.c1 = '≤20' |
|
||||
} else if (i === 12) { |
|
||||
bgJyxm.c1 = '≤0.30' |
|
||||
} else if (i === 15) { |
|
||||
bgJyxm.c1 = '≤500' |
|
||||
} |
|
||||
} else if (yali > 15.6) { |
|
||||
if (i === 7) { |
|
||||
bgJyxm.c1 = '≤7' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c1 = '8.8~9.3' |
|
||||
} else if (i === 9) { |
|
||||
bgJyxm.c1 = '≤3' |
|
||||
} else if (i === 10) { |
|
||||
bgJyxm.c1 = '≤15' |
|
||||
} else if (i === 12) { |
|
||||
bgJyxm.c1 = '≤0.15' |
|
||||
} else if (i === 14) { |
|
||||
bgJyxm.c1 = '≤20' |
|
||||
} else if (i === 15) { |
|
||||
bgJyxm.c1 = '≤200' |
|
||||
} |
|
||||
} |
|
||||
} else if (luxing === '直流炉') { // 还原性全挥发处理 无铜系统 直流炉
|
|
||||
if (i === 6) { |
|
||||
if (yali >= 5.9 && yali <= 18.3) { |
|
||||
if (i === 7) { |
|
||||
bgJyxm.c1 = '≤7' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c1 = '8.8~9.3' |
|
||||
} else if (i === 9) { |
|
||||
bgJyxm.c1 = '≤3' |
|
||||
} else if (i === 10) { |
|
||||
bgJyxm.c1 = '≤10' |
|
||||
} else if (i === 12) { |
|
||||
bgJyxm.c1 = '≤0.15' |
|
||||
} else if (i === 13) { |
|
||||
bgJyxm.c1 = '≤3' |
|
||||
} else if (i === 14) { |
|
||||
bgJyxm.c1 = '≤15' |
|
||||
} else if (i === 15) { |
|
||||
bgJyxm.c1 = '≤200' |
|
||||
} |
|
||||
} else if (yali > 18.3) { |
|
||||
if (i === 7) { |
|
||||
bgJyxm.c1 = '≤7' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c1 = '8.8~9.3' |
|
||||
} else if (i === 9) { |
|
||||
bgJyxm.c1 = '≤2' |
|
||||
} else if (i === 10) { |
|
||||
bgJyxm.c1 = '≤5' |
|
||||
} else if (i === 12) { |
|
||||
bgJyxm.c1 = '≤0.10' |
|
||||
} else if (i === 13) { |
|
||||
bgJyxm.c1 = '≤2' |
|
||||
} else if (i === 14) { |
|
||||
bgJyxm.c1 = '≤10' |
|
||||
} else if (i === 15) { |
|
||||
bgJyxm.c1 = '≤200' |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
// 蒸汽质量 过热
|
|
||||
if (i === 11) { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
bgJyxm.c3 = '≤15' |
|
||||
} else if (yali >= 5.9 && yali <= 15.6) { |
|
||||
bgJyxm.c3 = '≤5' |
|
||||
} else if (yali >= 15.7 && yali <= 18.3) { |
|
||||
bgJyxm.c3 = '≤3' |
|
||||
} else if (yali > 18.3) { |
|
||||
bgJyxm.c3 = '≤2' |
|
||||
} |
|
||||
} else if (i === 12) { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
bgJyxm.c3 = '≤20' |
|
||||
} else if (yali >= 5.9 && yali <= 15.6) { |
|
||||
bgJyxm.c3 = '≤15' |
|
||||
} else if (yali >= 15.7 && yali <= 18.3) { |
|
||||
bgJyxm.c3 = '≤15' |
|
||||
} else if (yali > 18.3) { |
|
||||
bgJyxm.c3 = '≤10' |
|
||||
} |
|
||||
} else if (i === 13) { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
bgJyxm.c3 = '≤0.30' |
|
||||
} else if (yali >= 5.9 && yali <= 15.6) { |
|
||||
bgJyxm.c3 = '≤0.15' |
|
||||
} else if (yali >= 15.7 && yali <= 18.3) { |
|
||||
bgJyxm.c3 = '≤0.15' |
|
||||
} else if (yali > 18.3) { |
|
||||
bgJyxm.c3 = '≤10' |
|
||||
} |
|
||||
} else if (i === 14) { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
bgJyxm.c3 = '≤20' |
|
||||
} else if (yali >= 5.9 && yali <= 15.6) { |
|
||||
bgJyxm.c3 = '≤15' |
|
||||
} else if (yali >= 15.7 && yali <= 18.3) { |
|
||||
bgJyxm.c3 = '≤10' |
|
||||
} else if (yali > 18.3) { |
|
||||
bgJyxm.c3 = '≤5' |
|
||||
} |
|
||||
} else if (i === 15) { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
bgJyxm.c3 = '≤5' |
|
||||
} else if (yali >= 5.9 && yali <= 15.6) { |
|
||||
bgJyxm.c3 = '≤3' |
|
||||
} else if (yali >= 15.7 && yali <= 18.3) { |
|
||||
bgJyxm.c3 = '≤3' |
|
||||
} else if (yali > 18.3) { |
|
||||
bgJyxm.c3 = '≤2' |
|
||||
} |
|
||||
} |
|
||||
bgJyxm.c2 = jyxmData[i].c4 |
|
||||
bgJyxm.c4 = jyxmData[i].c8 |
|
||||
bgJyxmData.push(bgJyxm) |
|
||||
} |
|
||||
return bgJyxmData |
|
||||
}, |
|
||||
getHyWtRadio(jyxmData, params) { // 还原 无铜
|
|
||||
const bgJyxmData = [] |
|
||||
const yali = params.edingyali |
|
||||
const lushui = params.shuichulifangfa |
|
||||
const luxing = params.huanjingtiaojian |
|
||||
for (let i = 0; i < jyxmData.length; i++) { |
|
||||
const bgJyxm = { |
|
||||
id: '', |
|
||||
c1: '-', |
|
||||
c2: '', |
|
||||
c3: '-', |
|
||||
c4: '' |
|
||||
} |
|
||||
bgJyxm.id = jyxmData[i].id |
|
||||
if (lushui === '炉水固体碱化处理') { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
if (i === 0) { |
|
||||
bgJyxm.c3 = '9.0~11.0' |
|
||||
} else if (i === 1) { |
|
||||
bgJyxm.c3 = '5~15' |
|
||||
} |
|
||||
} else if (yali >= 5.9 && yali <= 10.0) { |
|
||||
if (i === 0) { |
|
||||
bgJyxm.c3 = '9.0~10.5' |
|
||||
} else if (i === 1) { |
|
||||
bgJyxm.c3 = '2~10' |
|
||||
} else if (i === 4) { |
|
||||
bgJyxm.c3 = '≤20' |
|
||||
} else if (i === 5) { |
|
||||
bgJyxm.c3 = '<50' |
|
||||
} |
|
||||
} else if (yali >= 10.1 && yali <= 12.6) { |
|
||||
if (i === 0) { |
|
||||
bgJyxm.c3 = '9.0~10' |
|
||||
} else if (i === 1) { |
|
||||
bgJyxm.c3 = '2~6' |
|
||||
} else if (i === 4) { |
|
||||
bgJyxm.c3 = '≤2.0' |
|
||||
} else if (i === 5) { |
|
||||
bgJyxm.c3 = '≤30' |
|
||||
} |
|
||||
} else if (yali >= 12.7 && yali <= 15.6) { |
|
||||
if (i === 0) { |
|
||||
bgJyxm.c3 = '9.0~9.7' |
|
||||
} else if (i === 1) { |
|
||||
bgJyxm.c3 = '≤3' |
|
||||
} else if (i === 2) { |
|
||||
bgJyxm.c3 = '≤1.5' |
|
||||
} else if (i === 4) { |
|
||||
bgJyxm.c3 = '≤0.45' |
|
||||
} else if (i === 5) { |
|
||||
bgJyxm.c3 = '≤20' |
|
||||
} |
|
||||
} else if (yali > 15.6) { |
|
||||
if (i === 0) { |
|
||||
bgJyxm.c3 = '9.0~9.7' |
|
||||
} else if (i === 1) { |
|
||||
bgJyxm.c3 = '≤1' |
|
||||
} else if (i === 2) { |
|
||||
bgJyxm.c3 = '≤0.4' |
|
||||
} else if (i === 4) { |
|
||||
bgJyxm.c3 = '≤0.10' |
|
||||
} else if (i === 5) { |
|
||||
bgJyxm.c3 = '≤15' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c3 = '<5' |
|
||||
} |
|
||||
} |
|
||||
} else if (lushui === '炉水全挥发处理') { |
|
||||
if (yali > 15.6) { |
|
||||
if (i === 0) { |
|
||||
bgJyxm.c3 = '9.0~9.7' |
|
||||
} else if (i === 2) { |
|
||||
bgJyxm.c3 = '≤0.03' |
|
||||
} else if (i === 4) { |
|
||||
bgJyxm.c3 = '≤0.08' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c3 = '<1.0' |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
// 还原 无铜 汽包炉
|
|
||||
if (luxing === '汽包炉') { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
if (i === 6) { |
|
||||
bgJyxm.c1 = '≤2.0' |
|
||||
} else if (i === 7) { |
|
||||
bgJyxm.c1 = '≤15' |
|
||||
} else if (i === 9) { |
|
||||
bgJyxm.c1 = '≤10' |
|
||||
} else if (i === 10) { |
|
||||
bgJyxm.c1 = '≤50' |
|
||||
} |
|
||||
} else if (yali >= 5.9 && yali <= 12.6) { |
|
||||
if (i === 7) { |
|
||||
bgJyxm.c1 = '≤7' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c1 = '9.2~9.6' |
|
||||
} else if (i === 9) { |
|
||||
bgJyxm.c1 = '≤5' |
|
||||
} else if (i === 10) { |
|
||||
bgJyxm.c1 = '≤30' |
|
||||
} else if (i === 12) { |
|
||||
bgJyxm.c1 = '≤0.30' |
|
||||
} else if (i === 15) { |
|
||||
bgJyxm.c1 = '≤500' |
|
||||
} |
|
||||
} else if (yali >= 12.7 && yali <= 15.6) { |
|
||||
if (i === 7) { |
|
||||
bgJyxm.c1 = '≤7' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c1 = '9.2~9.6' |
|
||||
} else if (i === 9) { |
|
||||
bgJyxm.c1 = '≤5' |
|
||||
} else if (i === 10) { |
|
||||
bgJyxm.c1 = '≤20' |
|
||||
} else if (i === 12) { |
|
||||
bgJyxm.c1 = '≤0.30' |
|
||||
} else if (i === 15) { |
|
||||
bgJyxm.c1 = '≤500' |
|
||||
} |
|
||||
} else if (yali > 15.6) { |
|
||||
if (i === 7) { |
|
||||
bgJyxm.c1 = '≤7' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c1 = '9.2~9.6' |
|
||||
} else if (i === 9) { |
|
||||
bgJyxm.c1 = '≤3' |
|
||||
} else if (i === 10) { |
|
||||
bgJyxm.c1 = '≤15' |
|
||||
} else if (i === 12) { |
|
||||
bgJyxm.c1 = '≤0.15' |
|
||||
} else if (i === 14) { |
|
||||
bgJyxm.c1 = '≤20' |
|
||||
} else if (i === 15) { |
|
||||
bgJyxm.c1 = '≤200' |
|
||||
} |
|
||||
} |
|
||||
} else if (luxing === '直流炉') { // 还原性全挥发处理 无铜系统 直流炉
|
|
||||
if (i === 6) { |
|
||||
if (yali >= 5.9 && yali <= 18.3) { |
|
||||
if (i === 7) { |
|
||||
bgJyxm.c1 = '≤7' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c1 = '8.8~9.3' |
|
||||
} else if (i === 9) { |
|
||||
bgJyxm.c1 = '≤3' |
|
||||
} else if (i === 10) { |
|
||||
bgJyxm.c1 = '≤10' |
|
||||
} else if (i === 12) { |
|
||||
bgJyxm.c1 = '≤0.15' |
|
||||
} else if (i === 13) { |
|
||||
bgJyxm.c1 = '≤3' |
|
||||
} else if (i === 14) { |
|
||||
bgJyxm.c1 = '≤15' |
|
||||
} else if (i === 15) { |
|
||||
bgJyxm.c1 = '≤200' |
|
||||
} |
|
||||
} else if (yali > 18.3) { |
|
||||
if (i === 7) { |
|
||||
bgJyxm.c1 = '≤7' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c1 = '8.8~9.3' |
|
||||
} else if (i === 9) { |
|
||||
bgJyxm.c1 = '≤2' |
|
||||
} else if (i === 10) { |
|
||||
bgJyxm.c1 = '≤5' |
|
||||
} else if (i === 12) { |
|
||||
bgJyxm.c1 = '≤0.10' |
|
||||
} else if (i === 13) { |
|
||||
bgJyxm.c1 = '≤2' |
|
||||
} else if (i === 14) { |
|
||||
bgJyxm.c1 = '≤10' |
|
||||
} else if (i === 15) { |
|
||||
bgJyxm.c1 = '≤200' |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
// 蒸汽质量 过热
|
|
||||
if (i === 11) { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
bgJyxm.c3 = '≤15' |
|
||||
} else if (yali >= 5.9 && yali <= 15.6) { |
|
||||
bgJyxm.c3 = '≤5' |
|
||||
} else if (yali >= 15.7 && yali <= 18.3) { |
|
||||
bgJyxm.c3 = '≤3' |
|
||||
} else if (yali > 18.3) { |
|
||||
bgJyxm.c3 = '≤2' |
|
||||
} |
|
||||
} else if (i === 12) { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
bgJyxm.c3 = '≤20' |
|
||||
} else if (yali >= 5.9 && yali <= 15.6) { |
|
||||
bgJyxm.c3 = '≤15' |
|
||||
} else if (yali >= 15.7 && yali <= 18.3) { |
|
||||
bgJyxm.c3 = '≤15' |
|
||||
} else if (yali > 18.3) { |
|
||||
bgJyxm.c3 = '≤10' |
|
||||
} |
|
||||
} else if (i === 13) { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
bgJyxm.c3 = '≤0.30' |
|
||||
} else if (yali >= 5.9 && yali <= 15.6) { |
|
||||
bgJyxm.c3 = '≤0.15' |
|
||||
} else if (yali >= 15.7 && yali <= 18.3) { |
|
||||
bgJyxm.c3 = '≤0.15' |
|
||||
} else if (yali > 18.3) { |
|
||||
bgJyxm.c3 = '≤10' |
|
||||
} |
|
||||
} else if (i === 14) { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
bgJyxm.c3 = '≤20' |
|
||||
} else if (yali >= 5.9 && yali <= 15.6) { |
|
||||
bgJyxm.c3 = '≤15' |
|
||||
} else if (yali >= 15.7 && yali <= 18.3) { |
|
||||
bgJyxm.c3 = '≤10' |
|
||||
} else if (yali > 18.3) { |
|
||||
bgJyxm.c3 = '≤5' |
|
||||
} |
|
||||
} else if (i === 15) { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
bgJyxm.c3 = '≤5' |
|
||||
} else if (yali >= 5.9 && yali <= 15.6) { |
|
||||
bgJyxm.c3 = '≤3' |
|
||||
} else if (yali >= 15.7 && yali <= 18.3) { |
|
||||
bgJyxm.c3 = '≤3' |
|
||||
} else if (yali > 18.3) { |
|
||||
bgJyxm.c3 = '≤2' |
|
||||
} |
|
||||
} |
|
||||
bgJyxm.c2 = jyxmData[i].c4 |
|
||||
bgJyxm.c4 = jyxmData[i].c8 |
|
||||
bgJyxmData.push(bgJyxm) |
|
||||
} |
|
||||
return bgJyxmData |
|
||||
}, |
|
||||
getYhYtRadio(jyxmData, params) { // 氧化 有铜
|
|
||||
const bgJyxmData = [] |
|
||||
const yali = params.edingyali |
|
||||
const lushui = params.shuichulifangfa |
|
||||
const luxing = params.huanjingtiaojian |
|
||||
for (let i = 0; i < jyxmData.length; i++) { |
|
||||
const bgJyxm = { |
|
||||
id: '', |
|
||||
c1: '-', |
|
||||
c2: '', |
|
||||
c3: '-', |
|
||||
c4: '' |
|
||||
} |
|
||||
bgJyxm.id = jyxmData[i].id |
|
||||
if (lushui === '炉水固体碱化处理') { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
if (i === 0) { |
|
||||
bgJyxm.c3 = '9.0~11.0' |
|
||||
} else if (i === 1) { |
|
||||
bgJyxm.c3 = '5~15' |
|
||||
} |
|
||||
} else if (yali >= 5.9 && yali <= 10.0) { |
|
||||
if (i === 0) { |
|
||||
bgJyxm.c3 = '9.0~10.5' |
|
||||
} else if (i === 1) { |
|
||||
bgJyxm.c3 = '2~10' |
|
||||
} else if (i === 4) { |
|
||||
bgJyxm.c3 = '≤20' |
|
||||
} else if (i === 5) { |
|
||||
bgJyxm.c3 = '<50' |
|
||||
} |
|
||||
} else if (yali >= 10.1 && yali <= 12.6) { |
|
||||
if (i === 0) { |
|
||||
bgJyxm.c3 = '9.0~10' |
|
||||
} else if (i === 1) { |
|
||||
bgJyxm.c3 = '2~6' |
|
||||
} else if (i === 4) { |
|
||||
bgJyxm.c3 = '≤2.0' |
|
||||
} else if (i === 5) { |
|
||||
bgJyxm.c3 = '≤30' |
|
||||
} |
|
||||
} else if (yali >= 12.7 && yali <= 15.6) { |
|
||||
if (i === 0) { |
|
||||
bgJyxm.c3 = '9.0~9.7' |
|
||||
} else if (i === 1) { |
|
||||
bgJyxm.c3 = '≤3' |
|
||||
} else if (i === 2) { |
|
||||
bgJyxm.c3 = '≤1.5' |
|
||||
} else if (i === 4) { |
|
||||
bgJyxm.c3 = '≤0.45' |
|
||||
} else if (i === 5) { |
|
||||
bgJyxm.c3 = '≤20' |
|
||||
} |
|
||||
} else if (yali > 15.6) { |
|
||||
if (i === 0) { |
|
||||
bgJyxm.c3 = '9.0~9.7' |
|
||||
} else if (i === 1) { |
|
||||
bgJyxm.c3 = '≤1' |
|
||||
} else if (i === 2) { |
|
||||
bgJyxm.c3 = '≤0.4' |
|
||||
} else if (i === 4) { |
|
||||
bgJyxm.c3 = '≤0.10' |
|
||||
} else if (i === 5) { |
|
||||
bgJyxm.c3 = '≤15' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c3 = '<5' |
|
||||
} |
|
||||
} |
|
||||
} else if (lushui === '炉水全挥发处理') { |
|
||||
if (yali > 15.6) { |
|
||||
if (i === 0) { |
|
||||
bgJyxm.c3 = '9.0~9.7' |
|
||||
} else if (i === 2) { |
|
||||
bgJyxm.c3 = '≤0.03' |
|
||||
} else if (i === 4) { |
|
||||
bgJyxm.c3 = '≤0.08' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c3 = '<1.0' |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
// 氧化 有铜 汽包炉
|
|
||||
if (luxing === '汽包炉') { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
if (i === 6) { |
|
||||
bgJyxm.c1 = '≤2.0' |
|
||||
} else if (i === 7) { |
|
||||
bgJyxm.c1 = '≤15' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c1 = '8.8~9.3' |
|
||||
} else if (i === 9) { |
|
||||
bgJyxm.c1 = '≤10' |
|
||||
} else if (i === 10) { |
|
||||
bgJyxm.c1 = '≤50' |
|
||||
} |
|
||||
} else if (yali >= 5.9 && yali <= 12.6) { |
|
||||
if (i === 7) { |
|
||||
bgJyxm.c1 = '≤10' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c1 = '8.8~9.3' |
|
||||
} else if (i === 9) { |
|
||||
bgJyxm.c1 = '≤5' |
|
||||
} else if (i === 10) { |
|
||||
bgJyxm.c1 = '≤30' |
|
||||
} else if (i === 12) { |
|
||||
bgJyxm.c1 = '≤0.30' |
|
||||
} else if (i === 15) { |
|
||||
bgJyxm.c1 = '≤500' |
|
||||
} |
|
||||
} else if (yali >= 12.7 && yali <= 15.6) { |
|
||||
if (i === 7) { |
|
||||
bgJyxm.c1 = '≤10' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c1 = '8.8~9.3' |
|
||||
} else if (i === 9) { |
|
||||
bgJyxm.c1 = '≤5' |
|
||||
} else if (i === 10) { |
|
||||
bgJyxm.c1 = '≤20' |
|
||||
} else if (i === 12) { |
|
||||
bgJyxm.c1 = '≤0.30' |
|
||||
} else if (i === 15) { |
|
||||
bgJyxm.c1 = '≤500' |
|
||||
} |
|
||||
} else if (yali > 15.6) { |
|
||||
if (i === 7) { |
|
||||
bgJyxm.c1 = '≤10' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c1 = '8.8~9.3' |
|
||||
} else if (i === 9) { |
|
||||
bgJyxm.c1 = '≤3' |
|
||||
} else if (i === 10) { |
|
||||
bgJyxm.c1 = '≤15' |
|
||||
} else if (i === 12) { |
|
||||
bgJyxm.c1 = '≤0.15' |
|
||||
} else if (i === 14) { |
|
||||
bgJyxm.c1 = '≤20' |
|
||||
} else if (i === 15) { |
|
||||
bgJyxm.c1 = '≤200' |
|
||||
} |
|
||||
} |
|
||||
} else if (luxing === '直流炉') { |
|
||||
if (i === 6) { |
|
||||
if (yali >= 5.9 && yali <= 18.3) { |
|
||||
if (i === 7) { |
|
||||
bgJyxm.c1 = '≤7' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c1 = '8.8~9.3' |
|
||||
} else if (i === 9) { |
|
||||
bgJyxm.c1 = '≤3' |
|
||||
} else if (i === 10) { |
|
||||
bgJyxm.c1 = '≤10' |
|
||||
} else if (i === 12) { |
|
||||
bgJyxm.c1 = '≤0.15' |
|
||||
} else if (i === 13) { |
|
||||
bgJyxm.c1 = '≤3' |
|
||||
} else if (i === 14) { |
|
||||
bgJyxm.c1 = '≤15' |
|
||||
} else if (i === 15) { |
|
||||
bgJyxm.c1 = '≤200' |
|
||||
} |
|
||||
} else if (yali > 18.3) { |
|
||||
if (i === 7) { |
|
||||
bgJyxm.c1 = '≤7' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c1 = '8.8~9.3' |
|
||||
} else if (i === 9) { |
|
||||
bgJyxm.c1 = '≤2' |
|
||||
} else if (i === 10) { |
|
||||
bgJyxm.c1 = '≤5' |
|
||||
} else if (i === 12) { |
|
||||
bgJyxm.c1 = '≤0.10' |
|
||||
} else if (i === 13) { |
|
||||
bgJyxm.c1 = '≤2' |
|
||||
} else if (i === 14) { |
|
||||
bgJyxm.c1 = '≤10' |
|
||||
} else if (i === 15) { |
|
||||
bgJyxm.c1 = '≤200' |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
// 蒸汽质量 过热
|
|
||||
if (i === 11) { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
bgJyxm.c3 = '≤15' |
|
||||
} else if (yali >= 5.9 && yali <= 15.6) { |
|
||||
bgJyxm.c3 = '≤5' |
|
||||
} else if (yali >= 15.7 && yali <= 18.3) { |
|
||||
bgJyxm.c3 = '≤3' |
|
||||
} else if (yali > 18.3) { |
|
||||
bgJyxm.c3 = '≤2' |
|
||||
} |
|
||||
} else if (i === 12) { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
bgJyxm.c3 = '≤20' |
|
||||
} else if (yali >= 5.9 && yali <= 15.6) { |
|
||||
bgJyxm.c3 = '≤15' |
|
||||
} else if (yali >= 15.7 && yali <= 18.3) { |
|
||||
bgJyxm.c3 = '≤15' |
|
||||
} else if (yali > 18.3) { |
|
||||
bgJyxm.c3 = '≤10' |
|
||||
} |
|
||||
} else if (i === 13) { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
bgJyxm.c3 = '≤0.30' |
|
||||
} else if (yali >= 5.9 && yali <= 15.6) { |
|
||||
bgJyxm.c3 = '≤0.15' |
|
||||
} else if (yali >= 15.7 && yali <= 18.3) { |
|
||||
bgJyxm.c3 = '≤0.15' |
|
||||
} else if (yali > 18.3) { |
|
||||
bgJyxm.c3 = '≤10' |
|
||||
} |
|
||||
} else if (i === 14) { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
bgJyxm.c3 = '≤20' |
|
||||
} else if (yali >= 5.9 && yali <= 15.6) { |
|
||||
bgJyxm.c3 = '≤15' |
|
||||
} else if (yali >= 15.7 && yali <= 18.3) { |
|
||||
bgJyxm.c3 = '≤10' |
|
||||
} else if (yali > 18.3) { |
|
||||
bgJyxm.c3 = '≤5' |
|
||||
} |
|
||||
} else if (i === 15) { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
bgJyxm.c3 = '≤5' |
|
||||
} else if (yali >= 5.9 && yali <= 15.6) { |
|
||||
bgJyxm.c3 = '≤3' |
|
||||
} else if (yali >= 15.7 && yali <= 18.3) { |
|
||||
bgJyxm.c3 = '≤3' |
|
||||
} else if (yali > 18.3) { |
|
||||
bgJyxm.c3 = '≤2' |
|
||||
} |
|
||||
} |
|
||||
bgJyxm.c2 = jyxmData[i].c4 |
|
||||
bgJyxm.c4 = jyxmData[i].c8 |
|
||||
bgJyxmData.push(bgJyxm) |
|
||||
} |
|
||||
return bgJyxmData |
|
||||
}, |
|
||||
getYhWtRadio(jyxmData, params) { // 氧化 无铜
|
|
||||
const bgJyxmData = [] |
|
||||
const yali = params.edingyali |
|
||||
const lushui = params.shuichulifangfa |
|
||||
const luxing = params.huanjingtiaojian |
|
||||
for (let i = 0; i < jyxmData.length; i++) { |
|
||||
const bgJyxm = { |
|
||||
id: '', |
|
||||
c1: '-', |
|
||||
c2: '', |
|
||||
c3: '-', |
|
||||
c4: '' |
|
||||
} |
|
||||
bgJyxm.id = jyxmData[i].id |
|
||||
if (lushui === '炉水固体碱化处理') { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
if (i === 0) { |
|
||||
bgJyxm.c3 = '9.0~11.0' |
|
||||
} else if (i === 1) { |
|
||||
bgJyxm.c3 = '5~15' |
|
||||
} |
|
||||
} else if (yali >= 5.9 && yali <= 10.0) { |
|
||||
if (i === 0) { |
|
||||
bgJyxm.c3 = '9.0~10.5' |
|
||||
} else if (i === 1) { |
|
||||
bgJyxm.c3 = '2~10' |
|
||||
} else if (i === 4) { |
|
||||
bgJyxm.c3 = '≤20' |
|
||||
} else if (i === 5) { |
|
||||
bgJyxm.c3 = '<50' |
|
||||
} |
|
||||
} else if (yali >= 10.1 && yali <= 12.6) { |
|
||||
if (i === 0) { |
|
||||
bgJyxm.c3 = '9.0~10' |
|
||||
} else if (i === 1) { |
|
||||
bgJyxm.c3 = '2~6' |
|
||||
} else if (i === 4) { |
|
||||
bgJyxm.c3 = '≤2.0' |
|
||||
} else if (i === 5) { |
|
||||
bgJyxm.c3 = '≤30' |
|
||||
} |
|
||||
} else if (yali >= 12.7 && yali <= 15.6) { |
|
||||
if (i === 0) { |
|
||||
bgJyxm.c3 = '9.0~9.7' |
|
||||
} else if (i === 1) { |
|
||||
bgJyxm.c3 = '≤3' |
|
||||
} else if (i === 2) { |
|
||||
bgJyxm.c3 = '≤1.5' |
|
||||
} else if (i === 4) { |
|
||||
bgJyxm.c3 = '≤0.45' |
|
||||
} else if (i === 5) { |
|
||||
bgJyxm.c3 = '≤20' |
|
||||
} |
|
||||
} else if (yali > 15.6) { |
|
||||
if (i === 0) { |
|
||||
bgJyxm.c3 = '9.0~9.7' |
|
||||
} else if (i === 1) { |
|
||||
bgJyxm.c3 = '≤1' |
|
||||
} else if (i === 2) { |
|
||||
bgJyxm.c3 = '≤0.4' |
|
||||
} else if (i === 4) { |
|
||||
bgJyxm.c3 = '≤0.10' |
|
||||
} else if (i === 5) { |
|
||||
bgJyxm.c3 = '≤15' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c3 = '<5' |
|
||||
} |
|
||||
} |
|
||||
} else if (lushui === '炉水全挥发处理') { |
|
||||
if (yali > 15.6) { |
|
||||
if (i === 0) { |
|
||||
bgJyxm.c3 = '9.0~9.7' |
|
||||
} else if (i === 2) { |
|
||||
bgJyxm.c3 = '≤0.03' |
|
||||
} else if (i === 4) { |
|
||||
bgJyxm.c3 = '≤0.08' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c3 = '<1.0' |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
// 氧化 无铜 汽包炉
|
|
||||
if (luxing === '汽包炉') { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
if (i === 6) { |
|
||||
bgJyxm.c1 = '≤2.0' |
|
||||
} else if (i === 7) { |
|
||||
bgJyxm.c1 = '≤15' |
|
||||
} else if (i === 9) { |
|
||||
bgJyxm.c1 = '≤10' |
|
||||
} else if (i === 10) { |
|
||||
bgJyxm.c1 = '≤50' |
|
||||
} |
|
||||
} else if (yali >= 5.9 && yali <= 12.6) { |
|
||||
if (i === 7) { |
|
||||
bgJyxm.c1 = '≤7' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c1 = '9.2~9.6' |
|
||||
} else if (i === 9) { |
|
||||
bgJyxm.c1 = '≤5' |
|
||||
} else if (i === 10) { |
|
||||
bgJyxm.c1 = '≤30' |
|
||||
} else if (i === 12) { |
|
||||
bgJyxm.c1 = '≤0.30' |
|
||||
} else if (i === 15) { |
|
||||
bgJyxm.c1 = '≤500' |
|
||||
} |
|
||||
} else if (yali >= 12.7 && yali <= 15.6) { |
|
||||
if (i === 7) { |
|
||||
bgJyxm.c1 = '≤7' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c1 = '9.2~9.6' |
|
||||
} else if (i === 9) { |
|
||||
bgJyxm.c1 = '≤5' |
|
||||
} else if (i === 10) { |
|
||||
bgJyxm.c1 = '≤20' |
|
||||
} else if (i === 12) { |
|
||||
bgJyxm.c1 = '≤0.30' |
|
||||
} else if (i === 15) { |
|
||||
bgJyxm.c1 = '≤500' |
|
||||
} |
|
||||
} else if (yali > 15.6) { |
|
||||
if (i === 7) { |
|
||||
bgJyxm.c1 = '≤7' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c1 = '9.2~9.6' |
|
||||
} else if (i === 9) { |
|
||||
bgJyxm.c1 = '≤3' |
|
||||
} else if (i === 10) { |
|
||||
bgJyxm.c1 = '≤15' |
|
||||
} else if (i === 12) { |
|
||||
bgJyxm.c1 = '≤0.15' |
|
||||
} else if (i === 14) { |
|
||||
bgJyxm.c1 = '≤20' |
|
||||
} else if (i === 15) { |
|
||||
bgJyxm.c1 = '≤200' |
|
||||
} |
|
||||
} |
|
||||
} else if (luxing === '直流炉') { // 还原性全挥发处理 无铜系统 直流炉
|
|
||||
if (i === 6) { |
|
||||
if (yali >= 5.9 && yali <= 18.3) { |
|
||||
if (i === 7) { |
|
||||
bgJyxm.c1 = '≤7' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c1 = '8.8~9.3' |
|
||||
} else if (i === 9) { |
|
||||
bgJyxm.c1 = '≤3' |
|
||||
} else if (i === 10) { |
|
||||
bgJyxm.c1 = '≤10' |
|
||||
} else if (i === 12) { |
|
||||
bgJyxm.c1 = '≤0.15' |
|
||||
} else if (i === 13) { |
|
||||
bgJyxm.c1 = '≤3' |
|
||||
} else if (i === 14) { |
|
||||
bgJyxm.c1 = '≤15' |
|
||||
} else if (i === 15) { |
|
||||
bgJyxm.c1 = '≤200' |
|
||||
} |
|
||||
} else if (yali > 18.3) { |
|
||||
if (i === 7) { |
|
||||
bgJyxm.c1 = '≤7' |
|
||||
} else if (i === 8) { |
|
||||
bgJyxm.c1 = '8.8~9.3' |
|
||||
} else if (i === 9) { |
|
||||
bgJyxm.c1 = '≤2' |
|
||||
} else if (i === 10) { |
|
||||
bgJyxm.c1 = '≤5' |
|
||||
} else if (i === 12) { |
|
||||
bgJyxm.c1 = '≤0.10' |
|
||||
} else if (i === 13) { |
|
||||
bgJyxm.c1 = '≤2' |
|
||||
} else if (i === 14) { |
|
||||
bgJyxm.c1 = '≤10' |
|
||||
} else if (i === 15) { |
|
||||
bgJyxm.c1 = '≤200' |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
// 蒸汽质量 过热
|
|
||||
if (i === 11) { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
bgJyxm.c3 = '≤15' |
|
||||
} else if (yali >= 5.9 && yali <= 15.6) { |
|
||||
bgJyxm.c3 = '≤5' |
|
||||
} else if (yali >= 15.7 && yali <= 18.3) { |
|
||||
bgJyxm.c3 = '≤3' |
|
||||
} else if (yali > 18.3) { |
|
||||
bgJyxm.c3 = '≤2' |
|
||||
} |
|
||||
} else if (i === 12) { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
bgJyxm.c3 = '≤20' |
|
||||
} else if (yali >= 5.9 && yali <= 15.6) { |
|
||||
bgJyxm.c3 = '≤15' |
|
||||
} else if (yali >= 15.7 && yali <= 18.3) { |
|
||||
bgJyxm.c3 = '≤15' |
|
||||
} else if (yali > 18.3) { |
|
||||
bgJyxm.c3 = '≤10' |
|
||||
} |
|
||||
} else if (i === 13) { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
bgJyxm.c3 = '≤0.30' |
|
||||
} else if (yali >= 5.9 && yali <= 15.6) { |
|
||||
bgJyxm.c3 = '≤0.15' |
|
||||
} else if (yali >= 15.7 && yali <= 18.3) { |
|
||||
bgJyxm.c3 = '≤0.15' |
|
||||
} else if (yali > 18.3) { |
|
||||
bgJyxm.c3 = '≤10' |
|
||||
} |
|
||||
} else if (i === 14) { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
bgJyxm.c3 = '≤20' |
|
||||
} else if (yali >= 5.9 && yali <= 15.6) { |
|
||||
bgJyxm.c3 = '≤15' |
|
||||
} else if (yali >= 15.7 && yali <= 18.3) { |
|
||||
bgJyxm.c3 = '≤10' |
|
||||
} else if (yali > 18.3) { |
|
||||
bgJyxm.c3 = '≤5' |
|
||||
} |
|
||||
} else if (i === 15) { |
|
||||
if (yali >= 3.8 && yali <= 5.8) { |
|
||||
bgJyxm.c3 = '≤5' |
|
||||
} else if (yali >= 5.9 && yali <= 15.6) { |
|
||||
bgJyxm.c3 = '≤3' |
|
||||
} else if (yali >= 15.7 && yali <= 18.3) { |
|
||||
bgJyxm.c3 = '≤3' |
|
||||
} else if (yali > 18.3) { |
|
||||
bgJyxm.c3 = '≤2' |
|
||||
} |
|
||||
} |
|
||||
bgJyxm.c2 = jyxmData[i].c4 |
|
||||
bgJyxm.c4 = jyxmData[i].c8 |
|
||||
bgJyxmData.push(bgJyxm) |
|
||||
} |
|
||||
return bgJyxmData |
|
||||
} |
|
||||
} |
|
@ -1,117 +0,0 @@ |
|||||
<template> |
|
||||
<span> |
|
||||
<el-button v-if="state === 'update'" type="success" icon="el-icon-circle-plus" size="medium" @click="addJyfa"> |
|
||||
添加附图 |
|
||||
</el-button> |
|
||||
<el-button v-if="state !== 'create'" type="info" icon="el-icon-info" size="medium" @click="viewFt"> |
|
||||
查看附图 |
|
||||
</el-button> |
|
||||
</span> |
|
||||
</template> |
|
||||
|
|
||||
<script> |
|
||||
export default { |
|
||||
name: 'Glft', |
|
||||
props: { |
|
||||
state: { |
|
||||
required: true, |
|
||||
type: String |
|
||||
}, |
|
||||
ysjl: { |
|
||||
required: true, |
|
||||
type: Object |
|
||||
}, |
|
||||
ysjlId: { |
|
||||
required: true, |
|
||||
type: Number |
|
||||
}, |
|
||||
departmentId: { |
|
||||
required: true, |
|
||||
type: Number |
|
||||
} |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
jyfaParam: { |
|
||||
bglx: 3, |
|
||||
ysjlId: '', |
|
||||
type: '', |
|
||||
jianyanxiangmu: 'dxt', |
|
||||
userId: this.$store.getters.userId, |
|
||||
templateId: '' |
|
||||
}, |
|
||||
ftYsjlId: '' |
|
||||
} |
|
||||
}, |
|
||||
created() { |
|
||||
if (this.state !== 'create') { |
|
||||
this.getJyfaInfo() |
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
// 查询附图子原始记录 |
|
||||
getJyfaInfo() { |
|
||||
if (!this.ysjlId) { |
|
||||
return |
|
||||
} |
|
||||
this.api({ |
|
||||
url: '/ysjl/getJyfaInfo', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: this.ysjlId |
|
||||
} |
|
||||
}).then(data => { |
|
||||
if (data && data.length) { |
|
||||
this.ftYsjlId = data[0].id |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
// 添加附图 |
|
||||
addJyfa() { |
|
||||
// 附图的模板id |
|
||||
this.api({ |
|
||||
url: '/ysjl/getJyfa', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: this.ysjl.id, |
|
||||
sbzldm: this.ysjl.shebeizhongleidaima, |
|
||||
jylb: this.ysjl.jianyanleibie, |
|
||||
nblb: this.ysjl.neibuleibie, |
|
||||
viewType: 'ysjl' |
|
||||
} |
|
||||
}).then(data => { |
|
||||
// 查询是否添加过附图 |
|
||||
if (this.ftYsjlId) { |
|
||||
this.$router.push({ path: '/ysjl/' + this.ysjl.shebeizhongleidaima + '/dxt', query: { id: this.ftYsjlId, jyxm: 'dxt', departmentId: this.departmentId }}) |
|
||||
} else { |
|
||||
const jyfaObj = data.menusJSON[1].children[0] |
|
||||
this.jyfaParam.ysjlId = this.ysjl.id |
|
||||
this.jyfaParam.type = jyfaObj.title |
|
||||
this.jyfaParam.templateId = jyfaObj.id |
|
||||
this.jyfaParam.userId = this.$store.getters.userId |
|
||||
this.api({ |
|
||||
url: '/ysjl/addJyfa', |
|
||||
method: 'get', |
|
||||
params: this.jyfaParam |
|
||||
}).then(data => { |
|
||||
this.getJyfaInfo() |
|
||||
this.$router.push({ path: '/ysjl/' + this.ysjl.shebeizhongleidaima + '/dxt', query: { id: data, jyxm: 'dxt', departmentId: this.departmentId }}) |
|
||||
}) |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
viewFt() { |
|
||||
if (this.ftYsjlId) { |
|
||||
this.$router.push({ path: '/ysjl/' + this.ysjl.shebeizhongleidaima + '/dxt', query: { id: this.ftYsjlId, jyxm: 'dxt', departmentId: this.departmentId }}) |
|
||||
} else { |
|
||||
this.$message({ message: '请添加附图后再查看!', type: 'warning' }) |
|
||||
return false |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
||||
<style scoped> |
|
||||
|
|
||||
</style> |
|
@ -1,501 +0,0 @@ |
|||||
<!--检验收费情况--> |
|
||||
<template> |
|
||||
<div class="app-container"> |
|
||||
<el-button type="primary" size="mini" icon="el-icon-edit" @click="saveJysf"> |
|
||||
保存通知单 |
|
||||
</el-button> |
|
||||
<el-button type="success" size="mini" icon="el-icon-circle-plus-outline" @click="createSfd"> |
|
||||
生成当前报告通知单 |
|
||||
</el-button> |
|
||||
<el-button type="success" size="mini" icon="el-icon-circle-plus-outline" @click="addJybg"> |
|
||||
添加报告 |
|
||||
</el-button> |
|
||||
<el-button type="danger" size="mini" icon="el-icon-delete" @click="clearBill"> |
|
||||
清空 |
|
||||
</el-button> |
|
||||
<el-button type="danger" size="mini" icon="el-icon-remove-outline" @click="delYsjlSfd"> |
|
||||
删除 |
|
||||
</el-button> |
|
||||
<el-table |
|
||||
ref="jysfList" |
|
||||
:data="jysfTableData" |
|
||||
:row-class-name="tableRowClassName" |
|
||||
fit |
|
||||
highlight-current-row |
|
||||
border |
|
||||
stripe |
|
||||
max-height="450" |
|
||||
style="width:56%;margin-top: 5px;" |
|
||||
@row-click="onRowClick" |
|
||||
@selection-change="handleSelectionChange" |
|
||||
> |
|
||||
<el-table-column type="selection" width="40" /> |
|
||||
<el-table-column align="center" type="index" width="50" label="序号" /> |
|
||||
<el-table-column :formatter="fmtBgbh" align="center" prop="jilubianhao" width="150" label="检验证书编号" /> |
|
||||
<el-table-column align="center" prop="chanpinbianhao" width="120" label="出厂编号" /> |
|
||||
<el-table-column align="center" prop="guigexinghao" width="200" label="受检设备(产品)型号" /> |
|
||||
<el-table-column v-if="jylb !== 'ZJ'" align="center" prop="neibuleibie" :formatter="formatter.formatterCategory" width="125" label="检验项目" /> |
|
||||
<el-table-column v-else align="center" :prop="sfqkState === 'create' ? 'ss1' : 'zaojia'" width="200" label="检验项目(产品出厂价格)" /> |
|
||||
<el-table-column align="center" prop="jianyanheding" width="225" label="应收检验费金额"> |
|
||||
<template slot-scope="{row}"> |
|
||||
<el-input-number v-model="row.jianyanheding" :disabled="row.retreatState === 2 && row.jfState !== null && row.jfState" label="请输入应收金额" placeholder="请输入应收金额" :controls="false" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
<br> |
|
||||
<el-form ref="bill" :model="bill" class="el-form" label-position="right" label-width="130px"> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="6"> |
|
||||
<el-form-item label="非税收入通用票据:"> |
|
||||
<el-input v-model="bill.nonTaxIncomeBill" style="width: 220px" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="height: 125px"> |
|
||||
<el-col :span="6"> |
|
||||
<el-form-item label="记事:"> |
|
||||
<el-input v-model="bill.record" type="textarea" rows="5" style="width: 600px" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="6"> |
|
||||
<el-form-item label="检验人员:"> |
|
||||
<el-select v-model="bill.inspectionPerson" placeholder="请选择"> |
|
||||
<el-option |
|
||||
v-for="item in users" |
|
||||
:key="item.id" |
|
||||
:label="item.nickname" |
|
||||
:value="item.id" |
|
||||
/> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="6"> |
|
||||
<el-form-item label="日期:" label-width="100px"> |
|
||||
<el-date-picker v-model="bill.inspectionDate" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</el-form> |
|
||||
<br> |
|
||||
<el-dialog title="添加检验设备收费列表" width="80%" :visible.sync="ysjlListVisible" @close="ysjlListVisible = false"> |
|
||||
<div class="filter-container"> |
|
||||
<el-form> |
|
||||
<el-form-item> |
|
||||
<el-input v-model="listQuery.jilubianhao" placeholder="记录编号" clearable style="width: 160px" /> |
|
||||
<el-input v-model="listQuery.shiyongdanwei" placeholder="单位名称" clearable style="width: 400px" /> |
|
||||
<el-button type="primary" icon="el-icon-search" @click="handleFilter"> |
|
||||
查询 |
|
||||
</el-button> |
|
||||
<el-button type="success" icon="el-icon-search" @click="addYsjlSave"> |
|
||||
添加 |
|
||||
</el-button> |
|
||||
</el-form-item> |
|
||||
</el-form> |
|
||||
</div> |
|
||||
<el-table |
|
||||
ref="ysjlTableList" |
|
||||
:data="ysjlTableList" |
|
||||
border |
|
||||
fit |
|
||||
highlight-current-row |
|
||||
stripe |
|
||||
max-height="450" |
|
||||
@row-click="onYsjlClick" |
|
||||
@selection-change="handleYsjlSelectionChange" |
|
||||
> |
|
||||
<el-table-column type="selection" width="45" /> |
|
||||
<el-table-column align="center" label="记录编号" prop="jilubianhao" min-width="120" /> |
|
||||
<el-table-column align="center" label="使用单位" prop="shiyongdanwei" min-width="150" /> |
|
||||
<el-table-column align="center" label="注册代码" prop="zhucedaima" min-width="120" /> |
|
||||
<el-table-column align="center" label="使用登记证编号" prop="shiyongdengjibianhao" min-width="120" /> |
|
||||
<el-table-column align="center" label="出厂编号" prop="chanpinbianhao" min-width="100" /> |
|
||||
<el-table-column align="center" label="单位内部编号" prop="danweineibubianhao" min-width="80" /> |
|
||||
<el-table-column :formatter="formatter.formatterCategory" align="center" label="检验项" prop="neibuleibie" min-width="80" /> |
|
||||
</el-table> |
|
||||
<pagination v-show="totalCount>0" :total="totalCount" :page-num.sync="listQuery.pageNum" :page-row.sync="listQuery.pageSize" @pagination="getList" /> |
|
||||
</el-dialog> |
|
||||
</div> |
|
||||
</template> |
|
||||
<script> |
|
||||
import Utils from '@/utils/contact' |
|
||||
import Pagination from '@/components/Pagination' |
|
||||
import qs from 'qs' |
|
||||
export default { |
|
||||
name: 'Glsfqk', |
|
||||
components: { Pagination }, |
|
||||
props: { |
|
||||
jylb: { |
|
||||
type: String, |
|
||||
default: 'DJ' |
|
||||
}, |
|
||||
ysjl: { |
|
||||
type: Object, |
|
||||
required: true |
|
||||
} |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
jysfTableData: [], // 检验收费情况表 |
|
||||
ysjlListVisible: false, |
|
||||
ysjlTableList: [], // 追加检验收费列表 |
|
||||
bill: { |
|
||||
id: null, |
|
||||
serialNumber: '', |
|
||||
record: '' |
|
||||
}, |
|
||||
totalCount: 0, |
|
||||
listQuery: { |
|
||||
jilubianhao: '', |
|
||||
shiyongdanwei: '', |
|
||||
chanpinbianhao: '', |
|
||||
cjState: 'ysjl', |
|
||||
shebeizhongleidaima: '1000', |
|
||||
hasLook: 1, |
|
||||
hasChild: true |
|
||||
}, |
|
||||
selection: [], |
|
||||
delRowIndex: [], |
|
||||
listSfdQuery: { |
|
||||
shiyongdanwei: '' |
|
||||
}, |
|
||||
users: [], |
|
||||
ysjlSelection: [], |
|
||||
sfqkState: 'create', |
|
||||
init: false |
|
||||
} |
|
||||
}, |
|
||||
watch: { |
|
||||
ysjl: function(newYsjl, oldYsjl) { |
|
||||
// 添加监听事件 |
|
||||
const that = this |
|
||||
this.common.$on('reload-sfd-' + this.ysjl.renwuId, function(sfdId) { |
|
||||
// 如果存在收费单主键,则是重新获取收费单信息。否则则是清空收费单信息 |
|
||||
if (sfdId) { |
|
||||
that.getSfdById(sfdId) |
|
||||
} |
|
||||
}) |
|
||||
// 原始记录获取完数据后,并且还未初始化当前组件时,才能触发! |
|
||||
if (newYsjl.renwuId && !oldYsjl.renwuId && !this.init) { |
|
||||
this.init = true |
|
||||
// 获取收费信息 |
|
||||
if (this.ysjl.sfdId) { |
|
||||
this.sfqkState = 'update' |
|
||||
this.getSfdById() |
|
||||
} |
|
||||
this.getUserList() |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
/** |
|
||||
* 同步刷新其他报告的收费单信息 |
|
||||
* @param renwuIds 任务主键 |
|
||||
* @param isDel 是否是删除?如果是,则移除该任务的收费单Id |
|
||||
*/ |
|
||||
refresh(renwuIds, isDel) { |
|
||||
renwuIds.forEach(renwuId => { |
|
||||
if (this.ysjl.renwuId !== renwuId) { |
|
||||
Utils.$emit('reload-sfd-' + renwuId, isDel ? null : this.sfd.id) |
|
||||
} else if (isDel) { |
|
||||
Utils.$emit('reload-sfd-' + renwuId, null) |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
/** |
|
||||
* 初始化收费通知单(由于清空收费单信息也会重新初始化,所以有些在data中已经声明过的,就又再声明了一次) |
|
||||
*/ |
|
||||
/** |
|
||||
* 获取收费通知单 |
|
||||
*/ |
|
||||
getSfdById(sfdId) { |
|
||||
if (sfdId) { |
|
||||
this.ysjl.sfdId = sfdId |
|
||||
} else if (!this.ysjl.sfdId) { |
|
||||
return |
|
||||
} |
|
||||
this.apibjd({ |
|
||||
url: '/charge/getBill', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
billId: this.ysjl.sfdId |
|
||||
} |
|
||||
}).then(data => { |
|
||||
if (data) { |
|
||||
this.bill = data |
|
||||
if (this.bill.inspectionPerson !== null) { |
|
||||
this.bill.inspectionPerson = Number(this.bill.inspectionPerson) |
|
||||
} |
|
||||
this.apibjd({ |
|
||||
url: '/charge/getDetailByBillId/' + this.ysjl.sfdId, |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
version: '18' |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.jysfTableData = data |
|
||||
}) |
|
||||
this.sfqkState = 'update' |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
/** |
|
||||
* 获取检验人员可选列表 |
|
||||
*/ |
|
||||
getUserList() { |
|
||||
this.api({ |
|
||||
url: '/user/getUserListByDepartmentId', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
departmentId: this.$store.getters.departmentId |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.users = data |
|
||||
}) |
|
||||
}, |
|
||||
// 保存检验收费 |
|
||||
saveJysf() { |
|
||||
if (this.sfqkState !== 'update') { |
|
||||
this.$message({ message: '请先创建通知到在执行保存操作!!!', type: 'info' }) |
|
||||
return false |
|
||||
} |
|
||||
this.bill.updateBy = this.$store.getters.userId |
|
||||
if (!this.bill.inspectionPerson) { |
|
||||
// 如果是空 需要进行提示。 |
|
||||
this.$message({ message: '检验人员不能为空!!!', type: 'info' }) |
|
||||
return false |
|
||||
} |
|
||||
this.apibjd({ |
|
||||
url: '/charge/updateBill', |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
chargeBill: this.bill, |
|
||||
chargeBillVOList: this.jysfTableData |
|
||||
} |
|
||||
}).then(data => { |
|
||||
if (data !== 0) { |
|
||||
this.$message({ message: '保存通知单成功!!!', type: 'success' }) |
|
||||
this.sfqkState = 'update' |
|
||||
// this.refresh(this.jysfTableData.map(ysjlSfd => ysjlSfd.id)) |
|
||||
// Utils.$emit('ysjl-list') |
|
||||
this.delRowIndex = [] |
|
||||
} else { |
|
||||
this.$message({ message: '保存通知单失败!!!', type: 'error' }) |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
// 添加报告并保存 |
|
||||
addYsjlSave() { |
|
||||
if (this.ysjlSelection === null || this.ysjlSelection.length === 0) { |
|
||||
this.$message({ message: '请选择要添加的报告', type: 'error' }) |
|
||||
return false |
|
||||
} |
|
||||
const ysjl = this.ysjlSelection.filter(ysjl => this.jysfTableData.filter(jysf => jysf.id === ysjl.renwuId).length) |
|
||||
if (ysjl.length) { |
|
||||
this.$message.error('报告已添加到当前收费单:' + ysjl.map(tempYsjl => tempYsjl.jilubianhao).join(',')) |
|
||||
return false |
|
||||
} |
|
||||
for (let i = 0; i < this.ysjlSelection.length; i++) { |
|
||||
const ysjl = this.ysjlSelection[i] |
|
||||
this.appendBill(this.ysjl.sfdId, ysjl.id) |
|
||||
} |
|
||||
this.ysjlListVisible = false |
|
||||
}, |
|
||||
createSfd() { |
|
||||
this.apibjd({ |
|
||||
url: '/charge/getBill', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
shiyongdanwei: this.ysjl.shiyongdanwei |
|
||||
} |
|
||||
}).then(data => { |
|
||||
if (data === null) { |
|
||||
this.saveBill() |
|
||||
} else { |
|
||||
if (!this.ysjl.sfdId) { |
|
||||
this.$confirm('请问需要将此报告追加到已生成的收费通知单里面吗???‘确定’表示追加,‘取消’表示不追加。', '警告', { |
|
||||
confirmButtonText: '确定', |
|
||||
cancelButtonText: '取消', |
|
||||
type: 'warning' |
|
||||
}).then(() => { |
|
||||
// 追加 |
|
||||
this.appendBill(data.id, this.ysjl.id) |
|
||||
}).catch(() => { |
|
||||
this.$message({ |
|
||||
type: 'info', |
|
||||
message: '已取消追加,正在生成独立收费单!!!' |
|
||||
}) |
|
||||
this.saveBill() |
|
||||
}) |
|
||||
} else { |
|
||||
this.$message({ |
|
||||
type: 'info', |
|
||||
message: '已生成收费单请勿重复操作!!!' |
|
||||
}) |
|
||||
} |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
appendBill(billId, ysjlId) { |
|
||||
// 追加 |
|
||||
this.apibjd({ |
|
||||
url: '/charge/appendBill', |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
billId: billId, |
|
||||
ysjlId: ysjlId, |
|
||||
version: '18' |
|
||||
} |
|
||||
}).then(() => { |
|
||||
this.$message({ |
|
||||
type: 'success', |
|
||||
message: '追加成功!!!' |
|
||||
}) |
|
||||
this.getSfdById(billId) |
|
||||
}) |
|
||||
}, |
|
||||
saveBill() { |
|
||||
this.bill.inspectedUnit = this.ysjl.jianyanleibie === 'ZJ' ? this.ysjl.zhizaodanwei : this.ysjl.shiyongdanwei |
|
||||
const arr = [] |
|
||||
arr.push(this.ysjl.id) |
|
||||
this.apibjd({ |
|
||||
url: '/charge/saveBill', |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
chargeBill: this.bill, |
|
||||
version: '18', |
|
||||
ysjlIdSet: arr |
|
||||
}, |
|
||||
paramsSerializer: function(params) { |
|
||||
return qs.stringify(params, { indices: false }) |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.$message({ message: '保存通知单成功!!!', type: 'success' }) |
|
||||
this.sfqkState = 'update' |
|
||||
this.delRowIndex = [] |
|
||||
this.getSfdById(data) |
|
||||
}) |
|
||||
}, |
|
||||
addJybg() { |
|
||||
if (this.sfqkState !== 'update') { |
|
||||
this.$message({ message: '请先保存收费单再添加!', type: 'warning' }) |
|
||||
} else { |
|
||||
this.listQuery.shiyongdanwei = this.bill.shiyongdanwei |
|
||||
this.ysjlListVisible = true |
|
||||
this.getList() |
|
||||
} |
|
||||
}, |
|
||||
handleFilter() { |
|
||||
// 查询事件 |
|
||||
this.listQuery.pageNum = 1 |
|
||||
this.getList() |
|
||||
}, |
|
||||
getList() { |
|
||||
this.api({ |
|
||||
url: '/ysjl/getNotHasSfdList', |
|
||||
method: 'get', |
|
||||
params: this.listQuery |
|
||||
}).then(data => { |
|
||||
this.ysjlTableList = data.list |
|
||||
this.totalCount = data.total |
|
||||
}) |
|
||||
}, |
|
||||
getIndex($index) { |
|
||||
// 表格序号 |
|
||||
return (this.listQuery.pageNum - 1) * this.listQuery.pageSize + $index + 1 |
|
||||
}, |
|
||||
tableRowClassName({ row, rowIndex }) { |
|
||||
row.index = rowIndex |
|
||||
}, |
|
||||
// 表格单击选中行 |
|
||||
onRowClick(row) { |
|
||||
this.$refs.jysfList.toggleRowSelection(row) |
|
||||
}, |
|
||||
handleSelectionChange(val) { |
|
||||
this.selection = val |
|
||||
this.delRowIndex = [] |
|
||||
for (let i = 0; i < val.length; i++) { |
|
||||
this.delRowIndex.push(val[i].index) |
|
||||
} |
|
||||
}, |
|
||||
delYsjlSfd() { // 删除行数据 |
|
||||
if (this.delRowIndex.length === 0) { |
|
||||
this.$message({ |
|
||||
type: 'error', |
|
||||
message: '请选中需要删除的数据,删除成功后请重新保存收费单!!' |
|
||||
}) |
|
||||
return false |
|
||||
} |
|
||||
this.$confirm('数据删除后将不能恢复, 是否继续?', '提示', { |
|
||||
confirmButtonText: '确定', |
|
||||
cancelButtonText: '取消', |
|
||||
type: 'warning' |
|
||||
}).then(() => { |
|
||||
this.apibjd({ |
|
||||
url: '/charge/delBill', |
|
||||
method: 'delete', |
|
||||
params: { |
|
||||
ysjlIds: this.$refs.jysfList.selection.map(rw => { |
|
||||
return rw.ysjlId |
|
||||
}).join(',') |
|
||||
} |
|
||||
}).then(() => { |
|
||||
this.$message({ message: '收费单记录删除成功!!!', type: 'success' }) |
|
||||
for (let i = 0; i < this.delRowIndex.length; i++) { |
|
||||
this.jysfTableData.splice(this.delRowIndex[i], 1) |
|
||||
} |
|
||||
}) |
|
||||
}).catch(() => { |
|
||||
this.$message({ |
|
||||
type: 'info', |
|
||||
message: '已取消删除' |
|
||||
}) |
|
||||
}) |
|
||||
}, |
|
||||
clearBill() { |
|
||||
this.$confirm('此操作将会删除该报检单所有信息, 是否继续?', '提示', { |
|
||||
confirmButtonText: '确定', |
|
||||
cancelButtonText: '取消', |
|
||||
type: 'warning' |
|
||||
}).then(() => { |
|
||||
this.apibjd({ |
|
||||
url: '/charge/clearBill', |
|
||||
method: 'delete', |
|
||||
params: { |
|
||||
billId: this.bill.id |
|
||||
} |
|
||||
}).then(() => { |
|
||||
this.$message({ message: '收费单清除成功!!!', type: 'success' }) |
|
||||
Utils.$emit('ysjl-list') |
|
||||
this.jysfTableData = [] |
|
||||
this.bill = {} |
|
||||
}) |
|
||||
}).catch(() => { |
|
||||
this.$message({ |
|
||||
type: 'info', |
|
||||
message: '已取消清空' |
|
||||
}) |
|
||||
}) |
|
||||
}, |
|
||||
onYsjlClick(row) { |
|
||||
this.$refs.ysjlTableList.toggleRowSelection(row) |
|
||||
}, |
|
||||
handleYsjlSelectionChange: function(val) { |
|
||||
this.ysjlSelection = val |
|
||||
}, |
|
||||
sfrChange(val) { |
|
||||
this.bill.inspectionPerson = val |
|
||||
}, |
|
||||
fmtBgbh(row, column, cellValue) { |
|
||||
cellValue = cellValue || row.jilubianhao |
|
||||
return cellValue |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
<style> |
|
||||
.el-button+.el-alert { |
|
||||
margin: 5px auto; |
|
||||
} |
|
||||
</style> |
|
@ -1,968 +0,0 @@ |
|||||
<!--电站锅炉运行水处理监督检验原始记录--> |
|
||||
<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-show="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')"> |
|
||||
预览 |
|
||||
</el-button> |
|
||||
<Ft v-if="state !== 'create'" :state="state" :ysjl="ysjl" :ysjl-id="Number(ysjlId ? ysjlId : 0)" :department-id="Number(departmentId ? departmentId : 0)" style="margin-left: 10px;" /> |
|
||||
</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="130px"> |
|
||||
<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:80px" /> |
|
||||
</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="shiyongdanwei"> |
|
||||
<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" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="安全管理部门" prop="anquanguanlibumen"> |
|
||||
<el-input v-model="ysjl.anquanguanlibumen" :disabled="edit" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="联系人" prop="shiyongdanweiLianxiren"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiLianxiren" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="联系电话" prop="shiyongdanweiDianhua"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiDianhua" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="作业人员持证情况" prop="shuichulizuoyerenshu"> |
|
||||
<el-input v-model="param.shuichulizuoyerenshu" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="锅炉类别" prop="shebeileibiedaima"> |
|
||||
<el-select v-model="ysjl.shebeileibiedaima" style="width: 215px" @change="getSbpzList"> |
|
||||
<el-option v-for="item in sblbList" :key="item.value" :label="item.label" :value="item.value" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备品种" prop="shebeipinzhongdaima"> |
|
||||
<el-select v-model="ysjl.shebeipinzhongdaima" style="width: 215px"> |
|
||||
<el-option v-for="item in sbpzList" :key="item.value" :label="item.label" :value="item.value" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>水处理设备</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="补给水处理系统" prop="xunhuanfangshi"> |
|
||||
<el-input v-model="param.xunhuanfangshi" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="系统出力" prop="edingchuli"> |
|
||||
<el-input v-model="param.edingchuli" type="text"> |
|
||||
<template slot="append"> |
|
||||
t/h |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="给水系统" prop="shuichulishebei"> |
|
||||
<el-select v-model="param.shuichulishebei" :disabled="edit" type="text" placeholder="请选择" style="width:232px" @change="setJyxmStandard"> |
|
||||
<el-option label="氧化性全挥发处理" value="氧化性全挥发处理" /> |
|
||||
<el-option label="还原性全挥发处理" value="还原性全挥发处理" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="炉水处理" prop="shuichulifangfa"> |
|
||||
<el-select v-model="param.shuichulifangfa" :disabled="edit" type="text" placeholder="请选择" style="width:232px" @change="setJyxmStandard"> |
|
||||
<el-option label="炉水固体碱化处理" value="炉水固体碱化处理" /> |
|
||||
<el-option label="炉水全挥发处理" value="炉水全挥发处理" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="回水系统" prop="guoneichuliyaoji"> |
|
||||
<el-select v-model="param.guoneichuliyaoji" :disabled="edit" type="text" placeholder="请选择" style="width:232px" @change="setJyxmStandard"> |
|
||||
<el-option label="有铜系统" value="有铜系统" /> |
|
||||
<el-option label="无铜系统" value="无铜系统" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="系统出力和运行周期" prop="xtclhyxzq" label-width="150px"> |
|
||||
<el-select v-model="param.xtclhyxzq" :disabled="edit" type="text" placeholder="请选择" style="width:212px"> |
|
||||
<el-option label="满足锅炉给水要求" value="满足锅炉给水要求" /> |
|
||||
<el-option label="不能满足锅炉给水要求" value="不能满足锅炉给水要求" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="锅炉类型" prop="huanjingtiaojian"> |
|
||||
<el-select v-model="param.huanjingtiaojian" :disabled="edit" type="text" placeholder="请选择" style="width:232px" @change="setJyxmStandard"> |
|
||||
<el-option label="汽包炉" value="汽包炉" /> |
|
||||
<el-option label="直流炉" value="直流炉" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>锅炉情况</legend> |
|
||||
<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="guigexinghao"> |
|
||||
<el-input v-model="ysjl.guigexinghao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="6"> |
|
||||
<el-form-item label="额定蒸发量" prop="edingzhengfaliang"> |
|
||||
<el-input v-model="param.edingzhengfaliang" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="3"> |
|
||||
<el-select v-model="param.edinggonglv" type="text" placeholder="请选择"> |
|
||||
<el-option label="t/h" value="t/h" /> |
|
||||
<el-option label="MW" value="MW" /> |
|
||||
</el-select> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定压力" prop="edingyali"> |
|
||||
<el-input v-model="param.edingyali" type="text" @blur="setJyxmStandard"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="过热器减温方式" prop="guoreqichukouwendu"> |
|
||||
<el-input v-model="param.guoreqichukouwendu" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="使用登记证号" prop="shiyongdengjibianhao"> |
|
||||
<el-input v-model="ysjl.shiyongdengjibianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="汽机形式" prop="ranshaofangshi"> |
|
||||
<el-select v-model="param.ranshaofangshi" :disabled="edit" type="text" placeholder="请选择" style="width:232px"> |
|
||||
<el-option label="凝汽式" value="凝汽式" /> |
|
||||
<el-option label="背压式" value="背压式" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="单位内编号" prop="danweineibubianhao"> |
|
||||
<el-input v-model="ysjl.danweineibubianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>使用的主要设备</legend> |
|
||||
<el-table ref="yqsbData" :data="yqsbData" border stripe style="width:100%"> |
|
||||
<el-table-column align="center" prop="C1" width="110" label="是否使用"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-checkbox v-model="scope.row.C1" style="width: 100px" true-label="☑" false-label="□" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="C2" label="编号"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.C2" :label="scope.row.C2" disabled /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="C3" label="仪器名称"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.C3" type="text" disabled /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="C4" width="110" label="是否使用"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-checkbox v-model="scope.row.C4" true-label="☑" false-label="□" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="C5" label="编号"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.C5" disabled /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="C6" label="仪器名称"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.C6" disabled /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>检验信息</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验结论" prop="jianyanjielun"> |
|
||||
<el-select v-model="ysjl.jianyanjielun" :disabled="edit" type="text" placeholder="请选择" style="width:232px"> |
|
||||
<el-option label="符合要求" value="符合要求" /> |
|
||||
<el-option label="基本符合要求" value="基本符合要求" /> |
|
||||
<el-option label="不符合要求" value="不符合要求" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="执行标准" prop="jianyanyiju"> |
|
||||
<el-input v-model="ysjl.jianyanyiju" :disabled="edit" :rows="2" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="margin-top: 30px"> |
|
||||
<el-col :span="18" style="height: 90px"> |
|
||||
<el-form-item label="整改意见和期限" prop="wentijizai"> |
|
||||
<el-input v-model="param.wentijizai" :rows="3" type="textarea" placeholder="" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验开始日期" prop="jianyankaishiriqi"> |
|
||||
<el-date-picker v-model="ysjl.jianyankaishiriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验结束日期" prop="jianyanjieshuriqi"> |
|
||||
<el-date-picker v-model="ysjl.jianyanjieshuriqi" type="date" placeholder="选择日期" style="width: 100%;" @change="getXcjyrq" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="下次检验日期" prop="xiacijianyanriqi"> |
|
||||
<el-input v-if="ysjl.jianyanjielun === '不符合要求'" v-model="ysjl.xiacijianyanriqishuoming" type="text" disabled="true" /> |
|
||||
<el-date-picker v-else v-model="ysjl.xiacijianyanriqi" type="date" placeholder="选择日期" editable style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="10"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验人员" prop="jianyanrenyuan"> |
|
||||
<el-input v-model="jianyanrenyuan" disabled /> |
|
||||
<el-input v-show="false" v-model="ysjl.jianyanrenyuan" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col v-if="state !== 'bgView'" :span="9"> |
|
||||
<sign-name :ysjl="ysjl" :jianyanrenyuan="jianyanrenyuan" :disabled="edit" @setSignValue="singNameValue" /> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
</el-form> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane label="水、汽分析" name="second"> |
|
||||
<el-table :data="jyxmData" :span-method="tableJs.mergeColRows" border stripe style="width:100%;max-width: 2000px;"> |
|
||||
<el-table-column type="index" align="center" width="30" label="序号" /> |
|
||||
<el-table-column align="center" prop="jianyanxiang" width="40" label="水样" /> |
|
||||
<el-table-column align="center" prop="jianyanmu" width="130" label="项目" /> |
|
||||
<el-table-column align="center" style="width: 50%" prop="c1" label="实测1"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.c1" :disabled="edit" @blur="setRounding(scope.$index)" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" style="width: 100%" prop="c2" label="实测2"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.c2" :disabled="edit" @blur="setRounding(scope.$index)" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" width="90" prop="c3" label="空白"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.c3" :disabled="edit" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="c9" label="标准值"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.c9" :disabled="edit" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" width="110" prop="c4" label="实测值"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.c4" :disabled="edit" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="jianyanjieguo" width="40" label="水样" /> |
|
||||
<el-table-column align="center" prop="beizhu" width="130" label="项目" /> |
|
||||
<el-table-column align="center" style="width: 50%" prop="c5" label="实测1"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.c5" :disabled="edit" @blur="setRounding2(scope.$index)" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" style="width: 100%" prop="c6" label="实测2"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.c6" :disabled="edit" @blur="setRounding2(scope.$index)" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" width="90" prop="c7" label="空白"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.c7" :disabled="edit" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="c10" label="标准值"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.c10" :disabled="edit" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" width="110" prop="c8" label="实测值"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.c8" :disabled="edit" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<!--<el-table-column align="center" width="200" prop="beizhu" label="标准值"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.beizhu" :disabled="edit" /> |
|
||||
</template> |
|
||||
</el-table-column>--> |
|
||||
</el-table> |
|
||||
<br> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane v-if="state !== 'create'" label="检验收费情况" name="jysfqk"> |
|
||||
<complex-bill v-if="complexShow" ref="bill" :ysjl="ysjl" /> |
|
||||
</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 Ft from '@/views/ysjl/1000/common/glft' |
|
||||
import ComplexBill from '@/views/chargeBill/components/complex' |
|
||||
import Bzz from '../../common/dzsclJyxmBzz.js' |
|
||||
export default { |
|
||||
name: 'GlDzsclYsjl', |
|
||||
components: { SignName, Sticky, Ft, ComplexBill }, |
|
||||
data() { |
|
||||
return { |
|
||||
jlbh1: 'SJD', |
|
||||
jlbh2: '(' + new Date().getFullYear() + ')', |
|
||||
jlbh3: '', |
|
||||
ysjl: {}, |
|
||||
param: {}, |
|
||||
state: this.$route.query.state, |
|
||||
jianyanrenyuan: '', |
|
||||
jianjianyuan: '', |
|
||||
departmentId: this.$store.getters.departmentId, |
|
||||
isRepeat: false, |
|
||||
edit: false, |
|
||||
checkedTab: 'first', |
|
||||
jyxmData: [], |
|
||||
yqsbData: [ |
|
||||
{ C1: '☑', C2: '320126', C3: '电导仪', C4: '☑', C5: 'JS-25-01', C6: '碱式滴定管' }, |
|
||||
{ C1: '☑', C2: '1-10130641', C3: '多离子测定仪', C4: '☑', C5: 'SS-25-05', C6: '酸式滴定管' }, |
|
||||
{ C1: '☑', C2: '010233100054', C3: 'PH计', C4: '☑', C5: 'B534348173', C6: '电子天平' }, |
|
||||
{ C1: '☑', C2: 'RZT-01-07', C3: '自动电位滴定仪', C4: '☑', C5: '629001', C6: '浊度仪' } |
|
||||
], |
|
||||
sblbList: [], |
|
||||
// 表格合并相关 |
|
||||
// 参与列合并的字段,在这里增加即可 |
|
||||
cols: [ |
|
||||
{ |
|
||||
name: 'jianyanxiang', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { // 该列用于比较的值的获取方法 |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianyanjieguo', |
|
||||
getValue(row) { |
|
||||
return row.jianyanjieguo |
|
||||
} |
|
||||
} |
|
||||
], |
|
||||
// 参与行内合并的字段 |
|
||||
rows: [ |
|
||||
{ |
|
||||
name: 'jianyanxiang', |
|
||||
getValue(row) { |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianyanjieguo', |
|
||||
getValue(row) { |
|
||||
return row.jianyanjieguo |
|
||||
} |
|
||||
} |
|
||||
], |
|
||||
sbpzList: [], // 设备品种数组 |
|
||||
multipleSelection: [], |
|
||||
ysjlId: this.$route.query.id, |
|
||||
tableData2: [], |
|
||||
complexShow: false |
|
||||
} |
|
||||
}, |
|
||||
computed: { |
|
||||
jilubianhao: function() { |
|
||||
let bianhao |
|
||||
if (this.ysjl.jilubianhao === null || this.ysjl.jilubianhao === undefined || this.ysjl.jilubianhao === '') { |
|
||||
return this.jlbh1 + this.jlbh2 + '-' + this.jlbh3 |
|
||||
} else { |
|
||||
bianhao = this.ysjl.jilubianhao |
|
||||
} |
|
||||
return this.judgeRepeat(bianhao, this.ysjl.id) |
|
||||
} |
|
||||
}, |
|
||||
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) |
|
||||
} |
|
||||
}, |
|
||||
created() { |
|
||||
if (this.state === 'create') { |
|
||||
this.initYsjl() |
|
||||
} else { |
|
||||
this.getYsjl() |
|
||||
this.getFbjyxm(this.ysjlId) |
|
||||
this.getJyxmByYsjl(this.ysjlId) |
|
||||
this.getSblbList() |
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
initYsjl() { |
|
||||
this.api({ |
|
||||
url: '/ysjl/initYsjl', |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
modelId: this.$route.query.modelId, |
|
||||
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.getXcjyrq() |
|
||||
this.ysjl.jilubianhao = this.jilubianhao |
|
||||
this.ysjl.baogaobianhao = null // 避免从设备中取值导致信息错误 |
|
||||
this.ysjl.jigouhezhunzhenghao = process.env.VUE_APP_HZZBH |
|
||||
this.ysjl.jianyanjielun = '符合要求' |
|
||||
this.ysjl.jianyanyiju = 'GB/T 12145-2008《火力发电机组及蒸汽动力设备水汽质量》、DL/T 912-2005《超临界火力发电机组水汽质量标准》' |
|
||||
this.ysjl.anquanguanlibumen = '/' |
|
||||
this.ysjl.danweineibubianhao = '/' |
|
||||
this.ysjl.shebeidaima = '/' |
|
||||
this.$set(this.param, 'shuichulizuoyerenshu', '/') |
|
||||
this.$set(this.param, 'ranshaofangshi', '凝汽式') |
|
||||
this.$set(this.param, 'edinggonglv', 't/h') |
|
||||
this.$set(this.param, 'shuichulishebei', '氧化性全挥发处理') |
|
||||
this.$set(this.param, 'shuichulifangfa', '炉水固体碱化处理') |
|
||||
this.$set(this.param, 'guoneichuliyaoji', '有铜系统') |
|
||||
this.$set(this.param, 'xtclhyxzq', '满足锅炉给水要求') |
|
||||
this.$set(this.param, 'ranshaofangshi', '凝汽式') |
|
||||
this.getMaxBh() |
|
||||
this.getJyxm(1) |
|
||||
this.getSblbList() |
|
||||
if (this.ysjl.shebeileibiedaima !== null && this.ysjl.shebeileibiedaima !== '') { |
|
||||
this.getSbpzList(this.ysjl.shebeileibiedaima) |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
getYsjl() { |
|
||||
this.api({ |
|
||||
url: '/ysjl/getYsjlById', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: this.ysjlId |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.ysjl = data.ysjl |
|
||||
this.complexShow = true |
|
||||
if (this.ysjl.jianyanrenyuan !== null && this.ysjl.jianyanrenyuan !== undefined && this.ysjl.jianyanrenyuan.length > 0) { |
|
||||
this.jianyanrenyuan = this.common.convertCnName(this.ysjl.jianyanrenyuan) |
|
||||
} |
|
||||
this.judgeRepeat(this.ysjl.jilubianhao, this.ysjl.id) |
|
||||
this.getParam(this.ysjl.shebeizhongleidaima) |
|
||||
if (this.ysjl.shebeileibiedaima !== null && this.ysjl.shebeileibiedaima !== '') { |
|
||||
this.getSbpzList(this.ysjl.shebeileibiedaima) |
|
||||
} |
|
||||
if (this.ysjl.jilubianhao === '' || this.ysjl.jilubianhao === null || this.ysjl.jilubianhao === undefined) { |
|
||||
this.getMaxBh() |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
getParam(sbzldm) { |
|
||||
// 根据原始记录id查询参数 |
|
||||
this.api({ |
|
||||
url: '/ysjl/getParamByYsjlId', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: this.ysjlId, |
|
||||
sbzldm: sbzldm |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.param = data |
|
||||
}) |
|
||||
}, |
|
||||
// 签名方法 |
|
||||
singNameValue(data) { |
|
||||
this.jianyanrenyuan = data.name |
|
||||
this.ysjl.jianyanrenyuan = data.id |
|
||||
if (this.state !== 'create') { |
|
||||
this.common.signName(this.ysjl.id, this.ysjl.jianyanrenyuan) |
|
||||
Utils.$emit('ysjl-list') |
|
||||
} |
|
||||
}, |
|
||||
getSblbList() { |
|
||||
this.getSbList('1000', undefined, 2) |
|
||||
}, |
|
||||
getSbpzList(val) { |
|
||||
this.sbpzList = [] |
|
||||
this.getSbList('1000', val, 3) |
|
||||
}, |
|
||||
setSblb(val) { |
|
||||
let obj = {} |
|
||||
obj = this.sblbList.find((item) => { // 这里的sblbList就是上面遍历的数据源 |
|
||||
return item.value === val // 筛选出匹配数据 |
|
||||
}) |
|
||||
this.$set(this.ysjl, 'shebeileibie', obj.label) |
|
||||
this.$set(this.ysjl, 'shebeileibiedaima', val) |
|
||||
}, |
|
||||
setSbpz(val) { |
|
||||
let obj = {} |
|
||||
obj = this.sbpzList.find((item) => { // 这里的sblbList就是上面遍历的数据源 |
|
||||
return item.value === val // 筛选出匹配数据 |
|
||||
}) |
|
||||
this.$set(this.ysjl, 'shebeipinzhong', obj.label) |
|
||||
this.$set(this.ysjl, 'shebeipinzhongdaima', val) |
|
||||
}, |
|
||||
getSbList(sbzl, sblb, level) { |
|
||||
this.api({ |
|
||||
url: '/sedirectory/getList', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
sbzl: sbzl, |
|
||||
sblb: sblb, |
|
||||
level: level |
|
||||
} |
|
||||
}).then(data => { |
|
||||
switch (level) { |
|
||||
case 2: |
|
||||
this.sblbList = data |
|
||||
return '' |
|
||||
case 3: |
|
||||
this.sbpzList = data |
|
||||
return '' |
|
||||
default: |
|
||||
this.sbzlList = data |
|
||||
return '' |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
// 查询检验项目 |
|
||||
getJyxm(sort) { |
|
||||
this.api({ |
|
||||
url: '/jyxm/getCyJyxm', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
templateId: this.ysjl.modelId, |
|
||||
order: sort |
|
||||
} |
|
||||
}).then(data => { |
|
||||
for (let i = 0; i < data.length; i++) { |
|
||||
const jyxmRow = {} |
|
||||
this.$set(jyxmRow, 'id', data[i].id) |
|
||||
this.$set(jyxmRow, 'jianyanxiang', data[i].jianyanxiang) |
|
||||
this.$set(jyxmRow, 'jianyanmu', data[i].jianyanmu) |
|
||||
this.$set(jyxmRow, 'beizhu', data[i].beizhu) |
|
||||
this.$set(jyxmRow, 'jianyanjieguo', data[i].jianyanjieguo) |
|
||||
this.$set(jyxmRow, 'c1', '/') |
|
||||
this.$set(jyxmRow, 'c2', '/') |
|
||||
this.$set(jyxmRow, 'c3', '0') |
|
||||
this.$set(jyxmRow, 'c4', '/') |
|
||||
this.$set(jyxmRow, 'c5', '/') |
|
||||
this.$set(jyxmRow, 'c6', '/') |
|
||||
this.$set(jyxmRow, 'c7', '0') |
|
||||
this.$set(jyxmRow, 'c8', '/') |
|
||||
this.$set(jyxmRow, 'c9', '/') |
|
||||
this.$set(jyxmRow, 'c10', '/') |
|
||||
if (i === 23) { |
|
||||
this.$set(jyxmRow, 'c1', '') |
|
||||
this.$set(jyxmRow, 'c2', '') |
|
||||
this.$set(jyxmRow, 'c3', '') |
|
||||
this.$set(jyxmRow, 'c4', '') |
|
||||
this.$set(jyxmRow, 'c9', '') |
|
||||
} |
|
||||
this.$set(jyxmRow, 'jianyanneirong', data[i].jianyanneirong) |
|
||||
this.$set(jyxmRow, 'xiangmuleibie', data[i].xiangmuleibie) |
|
||||
this.jyxmData.push(jyxmRow) |
|
||||
} |
|
||||
this.tableJs.getData(this.cols, this.rows, this.jyxmData) |
|
||||
}) |
|
||||
}, |
|
||||
getFbjyxm(id) { |
|
||||
this.api({ |
|
||||
url: '/jyxm/getJyxmInfoByYsjl', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: id, |
|
||||
type: 'fbjyxm' |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.yqsbData = JSON.parse(data) |
|
||||
}) |
|
||||
}, |
|
||||
getJyxmByYsjl(id) { |
|
||||
this.api({ |
|
||||
url: '/jyxm/getCyJyxmByYsjl', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: id, |
|
||||
isReport: false, |
|
||||
order: 1 |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.jyxmData = data |
|
||||
this.tableJs.getData(this.cols, this.rows, data) |
|
||||
}) |
|
||||
}, |
|
||||
// 获取表格中的id, 不为空的检验结果和备注 |
|
||||
getProp(operation) { |
|
||||
const retData = [] |
|
||||
for (let i = 0, length = this.jyxmData.length; i < length; i++) { |
|
||||
const retRow = {} |
|
||||
retRow.id = this.jyxmData[i].id |
|
||||
retRow.c1 = this.jyxmData[i].c1 === null ? '' : this.jyxmData[i].c1 |
|
||||
retRow.c2 = this.jyxmData[i].c2 === null ? '' : this.jyxmData[i].c2 |
|
||||
retRow.c3 = this.jyxmData[i].c3 === null ? '' : this.jyxmData[i].c3 |
|
||||
retRow.c4 = this.jyxmData[i].c4 === null ? '' : this.jyxmData[i].c4 |
|
||||
retRow.c5 = this.jyxmData[i].c5 === null ? '' : this.jyxmData[i].c5 |
|
||||
retRow.c6 = this.jyxmData[i].c6 === null ? '' : this.jyxmData[i].c6 |
|
||||
retRow.c7 = this.jyxmData[i].c7 === null ? '' : this.jyxmData[i].c7 |
|
||||
retRow.c8 = this.jyxmData[i].c8 === null ? '' : this.jyxmData[i].c8 |
|
||||
retRow.c9 = this.jyxmData[i].c9 === null ? '' : this.jyxmData[i].c9 |
|
||||
retRow.c10 = this.jyxmData[i].c10 === null ? '' : this.jyxmData[i].c10 |
|
||||
// 实测值为实测1 和实测2 自动求平均值 |
|
||||
// this.jyxmData[i].jianyanjieguo = (Number(this.jyxmData[i].jyjg1) + '' !== 'NaN' && Number(this.jyxmData[i].jyjg2) + '' !== 'NaN') ? (Number(this.jyxmData[i].jyjg1) + Number(this.jyxmData[i].jyjg2)) / 2 : this.jyxmData[i].jianyanjieguo |
|
||||
// retRow.jianyanjieguo = this.jyxmData[i].jianyanjieguo |
|
||||
// retRow.beizhu = this.jyxmData[i].beizhu |
|
||||
if (operation === 'build') { |
|
||||
if (retRow.c1 === '/') { |
|
||||
retRow.c3 = '/' |
|
||||
} |
|
||||
if (retRow.c5 === '/') { |
|
||||
retRow.c7 = '/' |
|
||||
} |
|
||||
} |
|
||||
retData.push(retRow) |
|
||||
} |
|
||||
return retData |
|
||||
}, |
|
||||
saveYsjl: function(operation) { |
|
||||
this.setSblb(this.ysjl.shebeileibiedaima) |
|
||||
this.setSbpz(this.ysjl.shebeipinzhongdaima) |
|
||||
if (operation === 'add') { |
|
||||
if (this.jlbh3.trim() === '') { |
|
||||
this.$message({ message: '请先确认报告编号是否完整!', type: 'warning' }) |
|
||||
return false |
|
||||
} |
|
||||
} |
|
||||
const tableData = [] // 检验项目存储 |
|
||||
const bgTableData = [] |
|
||||
tableData.push(this.getProp(operation)) |
|
||||
if (operation === 'build') { |
|
||||
const data3 = [] |
|
||||
for (let i = 0; i < this.jyxmData.length; i++) { |
|
||||
const jyxm3 = {} |
|
||||
this.$set(jyxm3, 'id', this.jyxmData[i].id) |
|
||||
this.$set(jyxm3, 'c1', this.jyxmData[i].jianyanneirong) |
|
||||
this.$set(jyxm3, 'c2', this.jyxmData[i].c4) |
|
||||
this.$set(jyxm3, 'c3', this.jyxmData[i].xiangmuleibie) |
|
||||
this.$set(jyxm3, 'c4', this.jyxmData[i].c8) |
|
||||
data3.push(jyxm3) |
|
||||
} |
|
||||
bgTableData.push(data3) |
|
||||
} |
|
||||
let url = '' |
|
||||
let data = {} |
|
||||
this.ysjl.bglx = 1 |
|
||||
this.ysjl.zfState = false |
|
||||
this.ysjl.jianyanxiangmu = 'dzscl' |
|
||||
this.ysjl.jlprintState = 0 |
|
||||
if (operation === 'add') { |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + '-' + this.jlbh3 |
|
||||
url = '/ysjl/saveYsjl' |
|
||||
data = { |
|
||||
ysjl: this.ysjl, |
|
||||
param: this.param, |
|
||||
jyxm: JSON.stringify(tableData), |
|
||||
fbjyxm: JSON.stringify(this.yqsbData), |
|
||||
flag: operation |
|
||||
} |
|
||||
this.ysjl.cjState = 'ysjl' |
|
||||
} else if (operation === 'upd') { |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
data = { |
|
||||
ysjl: this.ysjl, |
|
||||
param: this.param, |
|
||||
jyxm: JSON.stringify(tableData), |
|
||||
fbjyxm: JSON.stringify(this.yqsbData), |
|
||||
flag: operation |
|
||||
} |
|
||||
} 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 |
|
||||
} |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
data = { |
|
||||
ysjl: this.ysjl, |
|
||||
param: this.param, |
|
||||
jyxm: JSON.stringify(tableData), |
|
||||
fbjyxm: JSON.stringify(this.yqsbData), |
|
||||
bgjyxm: JSON.stringify(bgTableData), |
|
||||
flag: operation |
|
||||
} |
|
||||
} |
|
||||
if (this.isRepeat) { |
|
||||
this.$message({ message: '报告编号重复,请先修改报告编号再保存', type: 'error' }) |
|
||||
return false |
|
||||
} else { |
|
||||
this.$refs['ysjl'].validate(valid => { |
|
||||
if (valid) { |
|
||||
this.api({ |
|
||||
url: url, |
|
||||
method: 'post', |
|
||||
data: data |
|
||||
}).then(data => { |
|
||||
// 刷新任务列表,检验报告 |
|
||||
Utils.$emit('task-list') |
|
||||
Utils.$emit('ysjl-list') |
|
||||
Utils.$emit('bggl-daiban-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 |
|
||||
}) |
|
||||
// this.$router.push({ |
|
||||
// path: '/ysjl/1000/dj/dzscl/' + this.ysjl.id, |
|
||||
// query: { state: 'update', id: this.ysjl.id, departmentId: this.ysjl.departmentId, jianyanrenyuan: this.ysjl.jianyanrenyuan } |
|
||||
// }) |
|
||||
} else if (operation === 'upd') { |
|
||||
Utils.$emit('ysjl-list') |
|
||||
this.$message({ message: '更新成功', type: 'success' }) |
|
||||
// this.$refs.bill.updateChargeBill() |
|
||||
} else { |
|
||||
Utils.$emit('ysjl-list') |
|
||||
// 修改16版任务状态 |
|
||||
this.common.updRenwuState(this.ysjl.id, 2, true) |
|
||||
Utils.$emit('bggl-daiban-list') |
|
||||
this.$message({ message: '生成报告成功', type: 'success' }) |
|
||||
this.$store.dispatch('delCurrentViews', { |
|
||||
view: this.$route, |
|
||||
$router: this.$router |
|
||||
}) |
|
||||
} |
|
||||
this.state = 'update' |
|
||||
}) |
|
||||
} |
|
||||
}) |
|
||||
} |
|
||||
}, |
|
||||
// 查询最大记录编号 |
|
||||
getMaxBh() { |
|
||||
const aheadPart = this.jlbh1 + this.jlbh2 + '-' |
|
||||
this.api({ |
|
||||
url: '/ysjl/gainCurrentBh', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
aheadPart: aheadPart, |
|
||||
hinderPart: '' |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.jlbh3 = data |
|
||||
}) |
|
||||
}, |
|
||||
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 |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
indexMethod(index) { |
|
||||
return index + 24 |
|
||||
}, |
|
||||
getXcjyrq() { |
|
||||
var dateTemp = this.ysjl.jianyanjieshuriqi.split('-') |
|
||||
const xcjyrq = new Date((Number(dateTemp[0]) + 1) + '-' + dateTemp[1] + '-' + dateTemp[2]) |
|
||||
this.ysjl.xiacijianyanriqi = xcjyrq.setDate(xcjyrq.getDate() - 1) |
|
||||
}, |
|
||||
setJyxmStandard() { // 设置检验项目标准值 |
|
||||
try { |
|
||||
this.getBuildJyxm() |
|
||||
} catch (e) { |
|
||||
// 不输出 |
|
||||
console.log('其他参数信息不全,导致报错。') |
|
||||
} |
|
||||
}, |
|
||||
// 检验项目标准值赋值 |
|
||||
getBuildJyxm() { |
|
||||
let bgjyxm = [] |
|
||||
const shuichulishebei = this.param.shuichulishebei |
|
||||
const guoneichuliyaoji = this.param.guoneichuliyaoji |
|
||||
if (shuichulishebei === '氧化性全挥发处理') { |
|
||||
if (guoneichuliyaoji === '有铜系统') { |
|
||||
bgjyxm = Bzz.getYhYtRadio(this.jyxmData, this.param) |
|
||||
} else if (guoneichuliyaoji === '无铜系统') { |
|
||||
bgjyxm = Bzz.getYhWtRadio(this.jyxmData, this.param) |
|
||||
} |
|
||||
} else if (shuichulishebei === '还原性全挥发处理') { |
|
||||
if (guoneichuliyaoji === '有铜系统') { |
|
||||
bgjyxm = Bzz.getHyYtRadio(this.jyxmData, this.param) |
|
||||
} else if (guoneichuliyaoji === '无铜系统') { |
|
||||
bgjyxm = Bzz.getHyWtRadio(this.jyxmData, this.param) |
|
||||
} |
|
||||
} |
|
||||
for (let i = 0; i < this.jyxmData.length; i++) { |
|
||||
this.jyxmData[i].c9 = bgjyxm[i].c1 |
|
||||
this.jyxmData[i].c10 = bgjyxm[i].c3 |
|
||||
} |
|
||||
return bgjyxm |
|
||||
}, |
|
||||
setRounding(index) { |
|
||||
if (isNaN(this.jyxmData[index].c1) || isNaN(this.jyxmData[index].c2)) { |
|
||||
return false |
|
||||
} |
|
||||
// 四舍五入 |
|
||||
const c1 = (parseFloat(this.jyxmData[index].c1)).toFixed(2) |
|
||||
this.jyxmData[index].c1 = c1 |
|
||||
const c2 = (parseFloat(this.jyxmData[index].c2)).toFixed(2) |
|
||||
this.jyxmData[index].c2 = c2 |
|
||||
if (!isNaN(c1) && !isNaN(c2)) { |
|
||||
this.jyxmData[index].c4 = parseFloat((parseFloat(c1) + parseFloat(c2)) / 2).toFixed(2) |
|
||||
} |
|
||||
}, |
|
||||
setRounding2(index) { |
|
||||
if (isNaN(this.jyxmData[index].c5) || isNaN(this.jyxmData[index].c6)) { |
|
||||
return false |
|
||||
} |
|
||||
// 四舍五入 |
|
||||
const c5 = (parseFloat(this.jyxmData[index].c5)).toFixed(2) |
|
||||
this.jyxmData[index].c5 = c5 |
|
||||
const c6 = (parseFloat(this.jyxmData[index].c6)).toFixed(2) |
|
||||
this.jyxmData[index].c6 = c6 |
|
||||
if (!isNaN(c5) && !isNaN(c6)) { |
|
||||
this.jyxmData[index].c8 = parseFloat((parseFloat(c5) + parseFloat(c6)) / 2).toFixed(2) |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
<style> |
|
||||
.el-textarea__inner { |
|
||||
border: 1px solid #91393975; |
|
||||
border-radius: 4px; |
|
||||
} |
|
||||
.el-form-item__error { |
|
||||
padding-top: 0px; |
|
||||
position: absolute; |
|
||||
} |
|
||||
.el-input.is-disabled .el-input__inner { |
|
||||
color: #606266; |
|
||||
} |
|
||||
.el-textarea.is-disabled .el-textarea__inner { |
|
||||
color: #606266; |
|
||||
} |
|
||||
.el-dialog__body { |
|
||||
padding-top: 10px; |
|
||||
} |
|
||||
</style> |
|
@ -1,828 +0,0 @@ |
|||||
<!--工业锅炉内部检验--> |
|
||||
<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> |
|
||||
<Ft v-if="state !== 'create'" :state="state" :ysjl="ysjl" :ysjl-id="Number(ysjlId ? ysjlId : 0)" :department-id="Number(departmentId ? departmentId : 0)" style="margin-left: 10px;" /> |
|
||||
</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="130px"> |
|
||||
<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:80px" disabled />- |
|
||||
<el-input v-model="jlbh4" style="width:85px" @blur="judgeRepeat(jlbh1 + jlbh2 + jlbh3 + '-' + jlbh4 , 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="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="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="shiyongdengjibianhao"> |
|
||||
<el-input v-model="ysjl.shiyongdengjibianhao" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="单位邮编" prop="shiyongdanweiYoubian"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiYoubian" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="累计运行小时" prop="leijiyunxingxiaoshi"> |
|
||||
<el-input v-model="param.leijiyunxingxiaoshi" :disabled="edit"> |
|
||||
<template slot="append"> |
|
||||
h |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</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="danweineibubianhao"> |
|
||||
<el-input v-model="ysjl.danweineibubianhao" :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="18"> |
|
||||
<el-form-item label="制造单位" prop="zhizaodanwei"> |
|
||||
<el-input v-model="ysjl.zhizaodanwei" :disabled="edit" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<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-col :span="9"> |
|
||||
<el-form-item label="投用日期" prop="touyongriqi"> |
|
||||
<el-date-picker v-model="ysjl.touyongriqi" 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="shigongdanwei"> |
|
||||
<el-input v-model="ysjl.shigongdanwei" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="出厂编号" prop="chanpinbianhao"> |
|
||||
<el-input v-model="ysjl.chanpinbianhao" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="上次检验日期" prop="shangcijianyanriqi"> |
|
||||
<el-date-picker v-model="param.shangcijianyanriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>性能参数</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定蒸发量" prop="edingzhengfaliang"> |
|
||||
<el-input v-model="param.edingzhengfaliang"> |
|
||||
<template slot="append"> |
|
||||
t/h |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="再热蒸汽流量" prop="zairezhengqiliuliang"> |
|
||||
<el-input v-model="param.zairezhengqiliuliang"> |
|
||||
<template slot="append"> |
|
||||
t/h |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="过热器出口压力" prop="guoreqichukouyali"> |
|
||||
<el-input v-model="param.guoreqichukouyali" @change="grqckylChange"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="锅筒工作压力" prop="guotonggongzuoyali"> |
|
||||
<el-input v-model="param.guotonggongzuoyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="锅筒工作温度" prop="guotonggongzuowendu"> |
|
||||
<el-input v-model="param.guotonggongzuowendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="过热器出口温度" prop="guoreqichukouwendu"> |
|
||||
<el-input v-model="param.guoreqichukouwendu" @change="grqckwdChange"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="再热器出口压力" prop="zaireqichukouyali"> |
|
||||
<el-input v-model="param.zaireqichukouyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="再热器出口温度" prop="zaireqichukouwendu"> |
|
||||
<el-input v-model="param.zaireqichukouwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="给水压力" prop="geishuiyali"> |
|
||||
<el-input v-model="param.geishuiyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="再热器进口压力" prop="zaireqijinkouyali"> |
|
||||
<el-input v-model="param.zaireqijinkouyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="再热器进口温度" prop="zaireqijinkouwendu"> |
|
||||
<el-input v-model="param.zaireqijinkouwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="给水温度" prop="geishuiwendu"> |
|
||||
<el-input v-model="param.geishuiwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>允许使用参数</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="允许压力" prop="yali"> |
|
||||
<el-input v-model="param.yali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="允许温度" prop="wendu"> |
|
||||
<el-input v-model="param.wendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="允许介质" prop="jiezhi"> |
|
||||
<el-input v-model="param.jiezhi" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="其他" prop="qita"> |
|
||||
<el-input v-model="param.qita" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>检查与校验</legend> |
|
||||
<el-row :gutter="20" style="height: 110px;"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="缺陷及其处理:" prop="wentijizai"> |
|
||||
<el-input v-model="param.wentijizai" :rows="4" :disabled="edit" type="textarea" palceholder="检验发现的缺陷位置、性质、程度及处理意见(必要时附图)" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="10"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验人员" prop="jianyanrenyuan"> |
|
||||
<el-input v-model="jianyanrenyuan" disabled /> |
|
||||
<el-input v-show="false" v-model="ysjl.jianyanrenyuan" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<sign-name :jianyanrenyuan="jianyanrenyuan" :ysjl="ysjl" @setSignValue="singNameValue" /> |
|
||||
</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" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" @change="getXcjyrq" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验结论" prop="jianyanjielun"> |
|
||||
<el-select v-model="ysjl.jianyanjielun" :disabled="edit" type="text" placeholder="请选择" style="width:232px"> |
|
||||
<el-option label="符合要求" value="符合要求" /> |
|
||||
<el-option label="基本符合要求" value="基本符合要求" /> |
|
||||
<el-option label="不符合要求" value="不符合要求" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="下次检验日期" prop="xiacijianyanriqi"> |
|
||||
<el-input v-if="ysjl.jianyanjielun === '不符合要求'" v-model="ysjl.xiacijianyanriqishuoming" type="text" disabled="true" /> |
|
||||
<el-date-picker v-else v-model="ysjl.xiacijianyanriqi" type="date" placeholder="选择日期" editable style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="height: 110px;"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="说明:" prop="beizhu"> |
|
||||
<el-input v-model="ysjl.beizhu" :rows="4" :disabled="edit" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="height: 110px;"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="备注:" prop="shuoming"> |
|
||||
<el-input v-model="param.shuoming" :rows="4" :disabled="edit" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
</el-form> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane label="检查项目" name="second"> |
|
||||
<el-form ref="ysjl" :model="ysjl" class="el-form" label-position="right" label-width="130px"> |
|
||||
<el-row :gutter="20" style="height: 110px;"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="情况说明:" prop="shuoming"> |
|
||||
<el-input v-model="param.shuoming" :rows="4" :disabled="edit" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</el-form> |
|
||||
<el-table :data="sybjSData" border stripe style="width:90%"> |
|
||||
<el-table-column align="center" label="内部检验情况汇总"> |
|
||||
<el-table-column align="center" label="部件及对应编号"> |
|
||||
<el-table-column align="center" prop="jianyanxiang" /> |
|
||||
<el-table-column align="center" type="index" width="60" /> |
|
||||
<el-table-column align="center" prop="jianyanneirong"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-if="scope.$index < 11 || scope.$index === 15 || scope.$index === 16" v-model="scope.row.jianyanneirong" :disabled="true" /> |
|
||||
<el-input v-else v-model="scope.row.jianyanneirong" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="D3" label="缺陷类别"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.D3" :disabled="edit" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="D2" label="单项记录编号"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.D2" :disabled="edit" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="D1" label="备注"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.D1" :disabled="edit" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
<br> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane label="锅炉结构简图" name="third"> |
|
||||
<el-form ref="ysjl" :model="ysjl" class="el-form" label-position="right" label-width="130px"> |
|
||||
<fieldset> |
|
||||
<legend>附图</legend> |
|
||||
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请先保存再上传图片</span> |
|
||||
<pictureUpload ref="picture" :info="info" @changed="changed" /> |
|
||||
</fieldset> |
|
||||
</el-form> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane v-if="state !== 'create'" label="检验收费情况" name="jysfqk"> |
|
||||
<complex-bill v-if="complexShow" ref="bill" :ysjl="ysjl" /> |
|
||||
</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 pictureUpload from '@/components/Upload' |
|
||||
import Ft from '@/views/ysjl/1000/common/glft' |
|
||||
import ComplexBill from '@/views/chargeBill/components/complex' |
|
||||
export default { |
|
||||
name: 'GlDznbYsjl2', |
|
||||
components: { SignName, Sticky, pictureUpload, Ft, ComplexBill }, |
|
||||
data() { |
|
||||
return { |
|
||||
jlbh1: 'GDN(', |
|
||||
jlbh2: new Date().getFullYear(), |
|
||||
jlbh3: ')', |
|
||||
jlbh4: '', |
|
||||
ysjl: {}, |
|
||||
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, |
|
||||
info: { |
|
||||
ysjlId: this.$route.query.id, |
|
||||
jyxm: 'dznb' |
|
||||
}, |
|
||||
complexShow: false, |
|
||||
cols: [ |
|
||||
{ |
|
||||
name: 'jianyanxiang', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { // 该列用于比较的值的获取方法 |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
} |
|
||||
], |
|
||||
rows: [ |
|
||||
{ |
|
||||
name: 'jianyanxiang', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { // 该列用于比较的值的获取方法 |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
} |
|
||||
] |
|
||||
} |
|
||||
}, |
|
||||
computed: { |
|
||||
jilubianhao: function() { |
|
||||
let bianhao |
|
||||
if (this.ysjl.jilubianhao === null || this.ysjl.jilubianhao === undefined || this.ysjl.jilubianhao === '') { |
|
||||
return this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 |
|
||||
} else { |
|
||||
bianhao = this.ysjl.jilubianhao |
|
||||
} |
|
||||
return this.judgeRepeat(bianhao, this.ysjl.id) |
|
||||
} |
|
||||
}, |
|
||||
watch: { |
|
||||
jlbh4: function(val) { |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + val |
|
||||
this.judgeRepeat(this.ysjl.jilubianhao, this.ysjl.id) |
|
||||
}, |
|
||||
jilubianhao: function(newValue) { |
|
||||
this.judgeRepeat(newValue, this.ysjl.id) |
|
||||
}, |
|
||||
state: function(val) { |
|
||||
this.$refs.picture.stateChange(val) |
|
||||
} |
|
||||
}, |
|
||||
// 添加F5刷新监听事件 |
|
||||
mounted() { |
|
||||
window.addEventListener('beforeunload', this.beforeunloadHandler, false) |
|
||||
}, |
|
||||
created() { |
|
||||
if (this.state === 'create') { |
|
||||
// 查询最大记录编号 |
|
||||
this.getMaxBh() |
|
||||
this.initYsjl() |
|
||||
} else { |
|
||||
this.getYsjl(this.$route.query.id) |
|
||||
} |
|
||||
this.getJyxm(1) |
|
||||
this.getUserList() |
|
||||
if (this.param.yali === '' || this.param.yali === undefined) { |
|
||||
this.$set(this.param, 'yali', this.param.guoreqichukouyali) |
|
||||
} |
|
||||
this.$nextTick(() => { |
|
||||
this.$refs.picture.stateChange(this.state) |
|
||||
}) |
|
||||
}, |
|
||||
beforeDestroy() { |
|
||||
window.removeEventListener('beforeunload', this.beforeunloadHandler, false) |
|
||||
}, |
|
||||
methods: { |
|
||||
// 签名方法 |
|
||||
singNameValue(data) { |
|
||||
this.jianyanrenyuan = data.name |
|
||||
this.ysjl.jianyanrenyuan = data.id |
|
||||
if (this.state !== 'create') { |
|
||||
this.common.signName(this.ysjl.id, this.ysjl.jianyanrenyuan) |
|
||||
Utils.$emit('ysjl-list') |
|
||||
} |
|
||||
}, |
|
||||
// 查询最大记录编号 |
|
||||
getMaxBh() { |
|
||||
const aheadPart = this.jlbh1 + '' + this.jlbh2 + '' + this.jlbh3 |
|
||||
this.api({ |
|
||||
url: '/ysjl/gainCurrentBh', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
aheadPart: aheadPart + '-', |
|
||||
hinderPart: '' |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.jlbh4 = data |
|
||||
}) |
|
||||
}, |
|
||||
initYsjl() { |
|
||||
this.api({ |
|
||||
url: '/ysjl/initYsjl', |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
modelId: this.$route.query.modelId, |
|
||||
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.getXcjyrq() |
|
||||
this.ysjl.jilubianhao = this.jilubianhao |
|
||||
this.ysjl.baogaobianhao = null // 避免从设备中取值导致信息错误 |
|
||||
this.ysjl.jianyanjielun = '符合要求' |
|
||||
this.ysjl.jigouhezhunzhenghao = process.env.VUE_APP_HZZBH |
|
||||
this.ysjl.beizhu = '/' |
|
||||
this.ysjl.anzhuangdidian = this.ysjl.shiyongdanweiDizhi |
|
||||
this.ysjl.xiacijianyanriqishuoming = '/' |
|
||||
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/getYsjlById', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: id |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.ysjl = data.ysjl |
|
||||
this.complexShow = true |
|
||||
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 |
|
||||
this.fileList = data.imagePath === null || data.imagePath === undefined ? JSON.parse('[]') : JSON.parse(data.imagePath) |
|
||||
if (this.fileList.length > 0) { |
|
||||
for (let i = 0; i < this.fileList.length; i++) { |
|
||||
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '1000/dznb/' + this.fileList[i].name |
|
||||
} |
|
||||
} |
|
||||
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1) |
|
||||
}) |
|
||||
}, |
|
||||
// 查询检验项目 |
|
||||
getJyxm(sort) { |
|
||||
let url = '' |
|
||||
let data = {} |
|
||||
if (this.state === 'create') { |
|
||||
url = '/jyxm/getCyJyxm' |
|
||||
data = { |
|
||||
templateId: this.$route.query.modelId, |
|
||||
order: sort |
|
||||
} |
|
||||
} else { |
|
||||
url = '/jyxm/getCyJyxmByYsjl' |
|
||||
data = { |
|
||||
ysjlId: this.ysjlId, |
|
||||
isReport: false, |
|
||||
templateId: this.$route.query.modelId, |
|
||||
order: sort |
|
||||
} |
|
||||
} |
|
||||
this.api({ |
|
||||
url: url, |
|
||||
method: 'get', |
|
||||
params: data |
|
||||
}).then(data => { |
|
||||
if (this.state === 'create') { |
|
||||
for (let i = 0; i < data.length; i++) { |
|
||||
const row = data[i] |
|
||||
this.sybjSData.push({ |
|
||||
id: row.id, |
|
||||
jianyanxiang: row.jianyanxiang, |
|
||||
jianyanneirong: row.jianyanneirong, |
|
||||
D3: '', |
|
||||
D2: '', |
|
||||
D1: '' |
|
||||
}) |
|
||||
} |
|
||||
} else { |
|
||||
data.forEach(row => { |
|
||||
this.sybjSData.push({ |
|
||||
id: row.id, |
|
||||
jianyanxiang: row.jianyanxiang, |
|
||||
jianyanneirong: row.jianyanneirong, |
|
||||
D3: row.d3, |
|
||||
D2: row.d2, |
|
||||
D1: row.d1 |
|
||||
}) |
|
||||
}) |
|
||||
} |
|
||||
this.tableJs.getData(this.cols, this.rows, this.sybjSData) |
|
||||
}) |
|
||||
}, |
|
||||
// 获取表格中的id, 不为空的检验结果和备注 |
|
||||
getProp: function(data) { |
|
||||
const retData = [] |
|
||||
for (let i = 0; i < data.length; i++) { |
|
||||
const retRow = {} |
|
||||
|
|
||||
retData.push(retRow) |
|
||||
} |
|
||||
return retData |
|
||||
}, |
|
||||
getUserList() { |
|
||||
this.api({ |
|
||||
url: '/user/getAllUserList', |
|
||||
method: 'get' |
|
||||
}).then(data => { |
|
||||
this.users = data |
|
||||
}) |
|
||||
}, |
|
||||
saveYsjl: function(operation) { |
|
||||
if (operation === 'add') { |
|
||||
if (this.jlbh4.trim() === '') { |
|
||||
this.$message({ message: '请先确认记录编号是否完整!', type: 'warning' }) |
|
||||
return false |
|
||||
} |
|
||||
} |
|
||||
this.tableData = [] |
|
||||
this.tableData.push(this.sybjSData.map(row => { |
|
||||
return { |
|
||||
id: row.id, |
|
||||
D3: row.D3, |
|
||||
D2: row.D2, |
|
||||
D1: row.D1 |
|
||||
} |
|
||||
})) |
|
||||
let url = '' |
|
||||
this.ysjl.bglx = 1 |
|
||||
this.ysjl.cjState = 'ysjl' |
|
||||
this.ysjl.zfState = '0' |
|
||||
this.ysjl.jianyanxiangmu = 'dznb' |
|
||||
this.ysjl.jlprintState = 0 |
|
||||
if (this.ysjl.jianyanjielun === '不符合要求') { |
|
||||
this.ysjl.xiacijianyanriqi = null |
|
||||
} |
|
||||
if (operation === 'add') { |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + '' + this.jlbh2 + '' + this.jlbh3 + '-' + this.jlbh4 |
|
||||
url = '/ysjl/saveYsjl' |
|
||||
} 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 |
|
||||
} |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} else if (operation === 'upd') { |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} |
|
||||
if (this.isRepeat) { |
|
||||
this.$message({ message: '记录编号重复,请先修改记录编号再保存', type: 'error' }) |
|
||||
return false |
|
||||
} else { |
|
||||
this.$refs['ysjl'].validate(valid => { |
|
||||
if (valid) { |
|
||||
const jyxm = JSON.stringify(this.tableData) |
|
||||
this.api({ |
|
||||
url: url, |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
ysjl: this.ysjl, |
|
||||
param: this.param, |
|
||||
jyxm: jyxm, |
|
||||
bgjyxm: jyxm, |
|
||||
flag: operation |
|
||||
} |
|
||||
}).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 |
|
||||
// 修改16版任务状态 |
|
||||
this.common.updStateByNew(this.ysjl.renwuId, '2', false) |
|
||||
// 刷新路由网址 |
|
||||
this.$store.dispatch('delCurrentViews', { |
|
||||
view: this.$route, |
|
||||
$router: this.$router |
|
||||
}) |
|
||||
// this.$router.push({ |
|
||||
// path: '/ysjl/1000/nb/dznb' + '/' + this.ysjl.id, |
|
||||
// query: { state: 'update', id: this.ysjl.id, departmentId: this.ysjl.departmentId, jianyanrenyuan: this.ysjl.jianyanrenyuan } |
|
||||
// }) |
|
||||
} 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() { |
|
||||
var dateTemp = this.ysjl.jianyanjieshuriqi.split('-') |
|
||||
const xcjyrq = new Date((Number(dateTemp[0]) + 3) + '-' + dateTemp[1] + '-' + dateTemp[2]) |
|
||||
this.ysjl.xiacijianyanriqi = xcjyrq.setDate(xcjyrq.getDate() - 1) |
|
||||
}, |
|
||||
// F5刷新监听 |
|
||||
beforeunloadHandler(e) { |
|
||||
e.returnValue = '' |
|
||||
}, |
|
||||
changed(item) { |
|
||||
this.param.imagePath = item |
|
||||
}, |
|
||||
grqckylChange(val) { |
|
||||
this.param.yali = val |
|
||||
}, |
|
||||
grqckwdChange(val) { |
|
||||
this.param.wendu = val |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
@ -1,694 +0,0 @@ |
|||||
<!--工业锅炉内部检验--> |
|
||||
<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> |
|
||||
<Ft v-if="state !== 'create'" :state="state" :ysjl="ysjl" :ysjl-id="Number(ysjlId ? ysjlId : 0)" :department-id="Number(departmentId ? departmentId : 0)" style="margin-left: 10px;" /> |
|
||||
</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="130px"> |
|
||||
<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:80px" disabled />- |
|
||||
<el-input v-model="jlbh4" style="width:85px" @blur="judgeRepeat(jlbh1 + jlbh2 + jlbh3 + '-' + jlbh4 , 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="shiyongdengjibianhao"> |
|
||||
<el-input v-model="ysjl.shiyongdengjibianhao" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备(注册)代码" prop="zhucedaima"> |
|
||||
<el-input v-model="ysjl.zhucedaima" :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="9"> |
|
||||
<el-form-item label="单位邮编" prop="shiyongdanweiYoubian"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiYoubian" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="使用编号" prop="danweineibubianhao"> |
|
||||
<el-input v-model="ysjl.danweineibubianhao" :disabled="edit" /> |
|
||||
</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="guigexinghao"> |
|
||||
<el-input v-model="ysjl.guigexinghao" :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="18"> |
|
||||
<el-form-item label="制造单位" prop="zhizaodanwei"> |
|
||||
<el-input v-model="ysjl.zhizaodanwei" :disabled="edit" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="投用日期" prop="touyongriqi"> |
|
||||
<el-date-picker v-model="ysjl.touyongriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</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="18"> |
|
||||
<el-form-item label="安装单位" prop="shigongdanwei"> |
|
||||
<el-input v-model="ysjl.shigongdanwei" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="上次检验日期" prop="shangcijianyanriqi"> |
|
||||
<el-date-picker v-model="param.shangcijianyanriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>性能参数</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定蒸发量(热功率)" prop="edingzhengfaliang" label-width="160px"> |
|
||||
<el-input v-model="param.edingzhengfaliang"> |
|
||||
<template slot="append"> |
|
||||
t/h(MW) |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定压力" prop="edingyali"> |
|
||||
<el-input v-model="param.edingyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定温度" prop="edingwendu"> |
|
||||
<el-input v-model="param.edingwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="使用压力" prop="gongzuoyali"> |
|
||||
<el-input v-model="param.gongzuoyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="出口温度" prop="chukouwendu"> |
|
||||
<el-input v-model="param.chukouwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="回流温度" prop="huiliuwendu"> |
|
||||
<el-input v-model="param.huiliuwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>允许使用参数</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="压力" prop="yali"> |
|
||||
<el-input v-model="param.yali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="温度" prop="wendu"> |
|
||||
<el-input v-model="param.wendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="介质" prop="jiezhi"> |
|
||||
<el-select v-model="param.jiezhi" filterable allow-create default-first-option placeholder="请选择" style="width:232px"> |
|
||||
<el-option label="水" value="水" /> |
|
||||
<el-option label="有机热载体" value="有机热载体" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="其他" prop="qita"> |
|
||||
<el-input v-model="param.qita" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>检查与校验</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="检验依据" prop="jianyanyiju"> |
|
||||
<el-input v-model="ysjl.jianyanyiju" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="height: 110px;"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="缺陷及其处理:" prop="wentijizai"> |
|
||||
<el-input v-model="param.wentijizai" :rows="4" :disabled="edit" type="textarea" palceholder="检验发现的缺陷位置、性质、程度及处理意见(必要时附图)" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="10"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验人员" prop="jianyanrenyuan"> |
|
||||
<el-input v-model="jianyanrenyuan" disabled /> |
|
||||
<el-input v-show="false" v-model="ysjl.jianyanrenyuan" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<sign-name :jianyanrenyuan="jianyanrenyuan" :ysjl="ysjl" @setSignValue="singNameValue" /> |
|
||||
</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" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" @change="getXcjyrq" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验结论" prop="jianyanjielun"> |
|
||||
<el-select v-model="ysjl.jianyanjielun" :disabled="edit" type="text" placeholder="请选择" style="width:232px"> |
|
||||
<el-option label="符合要求" value="符合要求" /> |
|
||||
<el-option label="基本符合要求" value="基本符合要求" /> |
|
||||
<el-option label="不符合要求" value="不符合要求" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="下次检验日期" prop="xiacijianyanriqi"> |
|
||||
<el-input v-if="ysjl.jianyanjielun === '不符合要求'" v-model="ysjl.xiacijianyanriqishuoming" type="text" disabled="true" /> |
|
||||
<el-date-picker v-else v-model="ysjl.xiacijianyanriqi" type="date" placeholder="选择日期" editable style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="height: 110px;"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="说明:" prop="beizhu"> |
|
||||
<el-input v-model="ysjl.beizhu" :rows="4" :disabled="edit" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="height: 110px;"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="其它缺陷情况或说明:" prop="shuoming" label-width="160px"> |
|
||||
<el-input v-model="param.shuoming" :rows="4" :disabled="edit" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</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-tab-pane v-if="state !== 'create'" label="检验收费情况" name="jysfqk"> |
|
||||
<complex-bill v-if="complexShow" ref="bill" :ysjl.sync="ysjl" /> |
|
||||
</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 Ft from '@/views/ysjl/1000/common/glft' |
|
||||
import ComplexBill from '@/views/chargeBill/components/complex' |
|
||||
|
|
||||
export default { |
|
||||
name: 'GlGynbYsjl2', |
|
||||
components: { SignName, Sticky, Ft, ComplexBill }, |
|
||||
data() { |
|
||||
return { |
|
||||
jlbh1: 'GN(', |
|
||||
jlbh2: new Date().getFullYear(), |
|
||||
jlbh3: ')', |
|
||||
jlbh4: '', |
|
||||
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, |
|
||||
complexShow: false, |
|
||||
// 表格合并相关 |
|
||||
// 参与列合并的字段,在这里增加即可 |
|
||||
cols: [ |
|
||||
{ |
|
||||
name: 'jianyanxiang', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { // 该列用于比较的值的获取方法 |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
} |
|
||||
] |
|
||||
} |
|
||||
}, |
|
||||
computed: { |
|
||||
jilubianhao: function() { |
|
||||
let bianhao |
|
||||
if (!this.ysjl.jilubianhao) { |
|
||||
return this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 |
|
||||
} else { |
|
||||
bianhao = this.ysjl.jilubianhao |
|
||||
} |
|
||||
return this.judgeRepeat(bianhao, this.ysjl.id) |
|
||||
} |
|
||||
}, |
|
||||
watch: { |
|
||||
jlbh4: function(val) { |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + 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() |
|
||||
}, |
|
||||
beforeDestroy() { |
|
||||
window.removeEventListener('beforeunload', this.beforeunloadHandler, false) |
|
||||
}, |
|
||||
methods: { |
|
||||
// 签名方法 |
|
||||
singNameValue(data) { |
|
||||
this.jianyanrenyuan = data.name |
|
||||
this.ysjl.jianyanrenyuan = data.id |
|
||||
if (this.state !== 'create') { |
|
||||
this.common.signName(this.ysjl.id, this.ysjl.jianyanrenyuan) |
|
||||
Utils.$emit('ysjl-list') |
|
||||
} |
|
||||
}, |
|
||||
// 查询最大记录编号 |
|
||||
getMaxBh() { |
|
||||
const aheadPart = this.jlbh1 + '' + this.jlbh2 + '' + this.jlbh3 |
|
||||
this.api({ |
|
||||
url: '/ysjl/gainCurrentBh', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
aheadPart: aheadPart + '-', |
|
||||
hinderPart: '' |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.jlbh4 = data |
|
||||
}) |
|
||||
}, |
|
||||
initYsjl() { |
|
||||
this.api({ |
|
||||
url: '/ysjl/initYsjl', |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
modelId: this.$route.query.modelId, |
|
||||
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.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/getYsjlById', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: id |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.ysjl = data.ysjl |
|
||||
this.complexShow = true |
|
||||
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.modelId, |
|
||||
order: sort |
|
||||
} |
|
||||
} else { |
|
||||
url = '/jyxm/getCyJyxmByYsjl' |
|
||||
data = { |
|
||||
ysjlId: this.ysjlId, |
|
||||
isReport: false, |
|
||||
templateId: this.$route.query.modelId, |
|
||||
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/getAllUserList', |
|
||||
method: 'get' |
|
||||
}).then(data => { |
|
||||
this.users = data |
|
||||
}) |
|
||||
}, |
|
||||
saveYsjl: function(operation) { |
|
||||
if (operation === 'add') { |
|
||||
if (this.jlbh4.trim() === '') { |
|
||||
this.$message({ message: '请先确认记录编号是否完整!', type: 'warning' }) |
|
||||
return false |
|
||||
} |
|
||||
} |
|
||||
// 把第一个检验项目表中的检验结果单独放到字段中 |
|
||||
this.tableData = [] |
|
||||
this.tableData.push(this.sybjSData.map(row => { |
|
||||
return { |
|
||||
id: row.id, |
|
||||
D1: row.D1 |
|
||||
} |
|
||||
})) |
|
||||
let url = '' |
|
||||
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 + '-' + this.jlbh4 |
|
||||
url = '/ysjl/saveYsjl' |
|
||||
} 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 |
|
||||
} |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} else if (operation === 'upd') { |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} |
|
||||
if (this.isRepeat) { |
|
||||
this.$message({ message: '记录编号重复,请先修改记录编号再保存', type: 'error' }) |
|
||||
return false |
|
||||
} else { |
|
||||
this.$refs['ysjl'].validate(valid => { |
|
||||
if (valid) { |
|
||||
const jyxm = JSON.stringify(this.tableData) |
|
||||
this.api({ |
|
||||
url: url, |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
ysjl: this.ysjl, |
|
||||
param: this.param, |
|
||||
jyxm: jyxm, |
|
||||
bgjyxm: jyxm, |
|
||||
flag: operation |
|
||||
} |
|
||||
}).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 |
|
||||
// 修改16版任务状态 |
|
||||
this.common.updStateByNew(this.ysjl.renwuId, '2', false) |
|
||||
// 刷新路由网址 |
|
||||
this.$store.dispatch('delCurrentViews', { |
|
||||
view: this.$route, |
|
||||
$router: this.$router |
|
||||
}) |
|
||||
// this.$router.push({ |
|
||||
// path: '/ysjl/1000/nb/gynb' + '/' + this.ysjl.id, |
|
||||
// query: { state: 'update', id: this.ysjl.id, departmentId: this.ysjl.departmentId, jianyanrenyuan: this.ysjl.jianyanrenyuan } |
|
||||
// }) |
|
||||
} 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() { |
|
||||
var dateTemp = this.ysjl.jianyanjieshuriqi.split('-') |
|
||||
const xcjyrq = new Date((Number(dateTemp[0]) + 2) + '-' + dateTemp[1] + '-' + dateTemp[2]) |
|
||||
this.ysjl.xiacijianyanriqi = xcjyrq.setDate(xcjyrq.getDate() - 1) |
|
||||
}, |
|
||||
setYsjlData(data) { |
|
||||
this.ysjl.sfdId = data |
|
||||
}, |
|
||||
// F5刷新监听 |
|
||||
beforeunloadHandler(e) { |
|
||||
e.returnValue = '' |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
@ -1,810 +0,0 @@ |
|||||
<!--工业锅炉内部检验--> |
|
||||
<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> |
|
||||
<Ft v-if="state !== 'create'" :state="state" :ysjl="ysjl" :ysjl-id="Number(ysjlId ? ysjlId : 0)" :department-id="Number(departmentId ? departmentId : 0)" style="margin-left: 10px;" /> |
|
||||
</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="130px"> |
|
||||
<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:80px" disabled />- |
|
||||
<el-input v-model="jlbh4" style="width:85px" @blur="judgeRepeat(jlbh1 + jlbh2 + jlbh3 + '-' + jlbh4 , 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="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="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="shiyongdengjibianhao"> |
|
||||
<el-input v-model="ysjl.shiyongdengjibianhao" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="单位邮编" prop="shiyongdanweiYoubian"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiYoubian" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="累计运行小时" prop="leijiyunxingxiaoshi"> |
|
||||
<el-input v-model="param.leijiyunxingxiaoshi" :disabled="edit"> |
|
||||
<template slot="append"> |
|
||||
h |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</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="danweineibubianhao"> |
|
||||
<el-input v-model="ysjl.danweineibubianhao" :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="18"> |
|
||||
<el-form-item label="制造单位" prop="zhizaodanwei"> |
|
||||
<el-input v-model="ysjl.zhizaodanwei" :disabled="edit" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<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-col :span="9"> |
|
||||
<el-form-item label="投用日期" prop="touyongriqi"> |
|
||||
<el-date-picker v-model="ysjl.touyongriqi" 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="shigongdanwei"> |
|
||||
<el-input v-model="ysjl.shigongdanwei" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="出厂编号" prop="chanpinbianhao"> |
|
||||
<el-input v-model="ysjl.chanpinbianhao" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="上次检验日期" prop="shangcijianyanriqi"> |
|
||||
<el-date-picker v-model="param.shangcijianyanriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>性能参数</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定蒸发量" prop="edingzhengfaliang"> |
|
||||
<el-input v-model="param.edingzhengfaliang"> |
|
||||
<template slot="append"> |
|
||||
t/h |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="再热蒸汽流量" prop="zairezhengqiliuliang"> |
|
||||
<el-input v-model="param.zairezhengqiliuliang"> |
|
||||
<template slot="append"> |
|
||||
t/h |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="过热器出口压力" prop="guoreqichukouyali"> |
|
||||
<el-input v-model="param.guoreqichukouyali" @change="grqckylChange"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="锅筒工作压力" prop="guotonggongzuoyali"> |
|
||||
<el-input v-model="param.guotonggongzuoyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="锅筒工作温度" prop="guotonggongzuowendu"> |
|
||||
<el-input v-model="param.guotonggongzuowendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="过热器出口温度" prop="guoreqichukouwendu"> |
|
||||
<el-input v-model="param.guoreqichukouwendu" @change="grqckwdChange"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="再热器出口压力" prop="zaireqichukouyali"> |
|
||||
<el-input v-model="param.zaireqichukouyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="再热器出口温度" prop="zaireqichukouwendu"> |
|
||||
<el-input v-model="param.zaireqichukouwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="给水压力" prop="geishuiyali"> |
|
||||
<el-input v-model="param.geishuiyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="再热器进口压力" prop="zaireqijinkouyali"> |
|
||||
<el-input v-model="param.zaireqijinkouyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="再热器进口温度" prop="zaireqijinkouwendu"> |
|
||||
<el-input v-model="param.zaireqijinkouwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="给水温度" prop="geishuiwendu"> |
|
||||
<el-input v-model="param.geishuiwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>允许使用参数</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="允许压力" prop="yali"> |
|
||||
<el-input v-model="param.yali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="允许温度" prop="wendu"> |
|
||||
<el-input v-model="param.wendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="允许介质" prop="jiezhi"> |
|
||||
<el-input v-model="param.jiezhi" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="其他" prop="qita"> |
|
||||
<el-input v-model="param.qita" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>检查与校验</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="检验依据" prop="jianyanyiju"> |
|
||||
<el-input v-model="ysjl.jianyanyiju" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="height: 110px;"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="缺陷及其处理:" prop="wentijizai"> |
|
||||
<el-input v-model="param.wentijizai" :rows="4" :disabled="edit" type="textarea" palceholder="检验发现的缺陷位置、性质、程度及处理意见(必要时附图)" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="10"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验人员" prop="jianyanrenyuan"> |
|
||||
<el-input v-model="jianyanrenyuan" disabled /> |
|
||||
<el-input v-show="false" v-model="ysjl.jianyanrenyuan" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<sign-name :jianyanrenyuan="jianyanrenyuan" :ysjl="ysjl" @setSignValue="singNameValue" /> |
|
||||
</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" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" @change="getXcjyrq" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验结论" prop="jianyanjielun"> |
|
||||
<el-select v-model="ysjl.jianyanjielun" :disabled="edit" type="text" placeholder="请选择" style="width:232px"> |
|
||||
<el-option label="符合要求" value="符合要求" /> |
|
||||
<el-option label="基本符合要求" value="基本符合要求" /> |
|
||||
<el-option label="不符合要求" value="不符合要求" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="下次检验日期" prop="xiacijianyanriqi"> |
|
||||
<el-input v-if="ysjl.jianyanjielun === '不符合要求'" v-model="ysjl.xiacijianyanriqishuoming" type="text" disabled="true" /> |
|
||||
<el-date-picker v-else v-model="ysjl.xiacijianyanriqi" type="date" placeholder="选择日期" editable style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="height: 110px;"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="说明:" prop="beizhu"> |
|
||||
<el-input v-model="ysjl.beizhu" :rows="4" :disabled="edit" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
</el-form> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane label="检查项目" name="second"> |
|
||||
<el-form ref="ysjl" :model="ysjl" class="el-form" label-position="right" label-width="130px"> |
|
||||
<el-row :gutter="20" style="height: 110px;"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="备注:" prop="shuoming"> |
|
||||
<el-input v-model="param.shuoming" :rows="4" :disabled="edit" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</el-form> |
|
||||
<el-table :data="sybjSData" :span-method="arraySpanMethod" border stripe style="width:90%"> |
|
||||
<el-table-column align="center" label="内部检验情况汇总"> |
|
||||
<el-table-column align="center" prop="C1" label="检查项目" /> |
|
||||
<el-table-column align="center" prop="C2" label="检查内容"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-if="scope.$index < 10" v-model="scope.row.C2" :disabled="true" /> |
|
||||
<el-input v-else v-model="scope.row.C2" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="C3" label="缺陷类别"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.C3" :disabled="edit" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="C4" label="单项记录编号"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.C4" :disabled="edit" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="C5" label="备注"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.C5" :disabled="edit" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
<br> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane label="锅炉结构简图" name="third"> |
|
||||
<el-form ref="ysjl" :model="ysjl" class="el-form" label-position="right" label-width="130px"> |
|
||||
<fieldset> |
|
||||
<legend>附图</legend> |
|
||||
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请先保存再上传图片</span> |
|
||||
<pictureUpload ref="picture" :info="info" @changed="changed" /> |
|
||||
</fieldset> |
|
||||
</el-form> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane v-if="state !== 'create'" label="检验收费情况" name="jysfqk"> |
|
||||
<complex-bill v-if="complexShow" ref="bill" :ysjl="ysjl" /> |
|
||||
</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 pictureUpload from '@/components/Upload' |
|
||||
import Ft from '@/views/ysjl/1000/common/glft' |
|
||||
import ComplexBill from '@/views/chargeBill/components/complex' |
|
||||
export default { |
|
||||
name: 'GlDznbYsjl', |
|
||||
components: { SignName, Sticky, pictureUpload, Ft, ComplexBill }, |
|
||||
data() { |
|
||||
return { |
|
||||
jlbh1: 'GDN(', |
|
||||
jlbh2: new Date().getFullYear(), |
|
||||
jlbh3: ')', |
|
||||
jlbh4: '', |
|
||||
ysjl: {}, |
|
||||
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, |
|
||||
info: { |
|
||||
ysjlId: this.$route.query.id, |
|
||||
jyxm: 'dznb' |
|
||||
}, |
|
||||
complexShow: false |
|
||||
} |
|
||||
}, |
|
||||
computed: { |
|
||||
jilubianhao: function() { |
|
||||
let bianhao |
|
||||
if (this.ysjl.jilubianhao === null || this.ysjl.jilubianhao === undefined || this.ysjl.jilubianhao === '') { |
|
||||
return this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 |
|
||||
} else { |
|
||||
bianhao = this.ysjl.jilubianhao |
|
||||
} |
|
||||
return this.judgeRepeat(bianhao, this.ysjl.id) |
|
||||
} |
|
||||
}, |
|
||||
watch: { |
|
||||
jlbh4: function(val) { |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + val |
|
||||
this.judgeRepeat(this.ysjl.jilubianhao, this.ysjl.id) |
|
||||
}, |
|
||||
jilubianhao: function(newValue) { |
|
||||
this.judgeRepeat(newValue, this.ysjl.id) |
|
||||
}, |
|
||||
state: function(val) { |
|
||||
this.$refs.picture.stateChange(val) |
|
||||
} |
|
||||
}, |
|
||||
// 添加F5刷新监听事件 |
|
||||
mounted() { |
|
||||
window.addEventListener('beforeunload', this.beforeunloadHandler, false) |
|
||||
}, |
|
||||
created() { |
|
||||
if (this.state === 'create') { |
|
||||
// 查询最大记录编号 |
|
||||
this.getMaxBh() |
|
||||
this.initYsjl() |
|
||||
this.getJyxm(1) |
|
||||
} else { |
|
||||
this.getYsjl(this.$route.query.id) |
|
||||
this.getJyxmById() |
|
||||
} |
|
||||
this.getUserList() |
|
||||
if (this.param.yali === '' || this.param.yali === undefined) { |
|
||||
this.$set(this.param, 'yali', this.param.guoreqichukouyali) |
|
||||
} |
|
||||
this.$nextTick(() => { |
|
||||
this.$refs.picture.stateChange(this.state) |
|
||||
}) |
|
||||
}, |
|
||||
beforeDestroy() { |
|
||||
window.removeEventListener('beforeunload', this.beforeunloadHandler, false) |
|
||||
}, |
|
||||
methods: { |
|
||||
// 签名方法 |
|
||||
singNameValue(data) { |
|
||||
this.jianyanrenyuan = data.name |
|
||||
this.ysjl.jianyanrenyuan = data.id |
|
||||
if (this.state !== 'create') { |
|
||||
this.common.signName(this.ysjl.id, this.ysjl.jianyanrenyuan) |
|
||||
Utils.$emit('ysjl-list') |
|
||||
} |
|
||||
}, |
|
||||
// 查询最大记录编号 |
|
||||
getMaxBh() { |
|
||||
const aheadPart = this.jlbh1 + '' + this.jlbh2 + '' + this.jlbh3 |
|
||||
this.api({ |
|
||||
url: '/ysjl/gainCurrentBh', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
aheadPart: aheadPart + '-', |
|
||||
hinderPart: '' |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.jlbh4 = data |
|
||||
}) |
|
||||
}, |
|
||||
initYsjl() { |
|
||||
this.api({ |
|
||||
url: '/ysjl/initYsjl', |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
modelId: this.$route.query.modelId, |
|
||||
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.getXcjyrq() |
|
||||
this.ysjl.jilubianhao = this.jilubianhao |
|
||||
this.ysjl.baogaobianhao = null // 避免从设备中取值导致信息错误 |
|
||||
this.ysjl.jianyanjielun = '符合要求' |
|
||||
this.ysjl.jigouhezhunzhenghao = process.env.VUE_APP_HZZBH |
|
||||
this.ysjl.jianyanyiju = '《锅炉安全技术监察规程》、《锅炉定期检验规则》' |
|
||||
this.ysjl.beizhu = '/' |
|
||||
this.ysjl.anzhuangdidian = this.ysjl.shiyongdanweiDizhi |
|
||||
this.ysjl.xiacijianyanriqishuoming = '/' |
|
||||
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/getYsjlById', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: id |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.ysjl = data.ysjl |
|
||||
this.complexShow = true |
|
||||
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 |
|
||||
this.fileList = data.imagePath === null || data.imagePath === undefined ? JSON.parse('[]') : JSON.parse(data.imagePath) |
|
||||
if (this.fileList.length > 0) { |
|
||||
for (let i = 0; i < this.fileList.length; i++) { |
|
||||
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '1000/dznb/' + this.fileList[i].name |
|
||||
} |
|
||||
} |
|
||||
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1) |
|
||||
}) |
|
||||
}, |
|
||||
// 查询检验项目 |
|
||||
getJyxm(sort) { |
|
||||
let url = '' |
|
||||
let data = {} |
|
||||
if (this.state === 'create') { |
|
||||
url = '/jyxm/getCyJyxm' |
|
||||
data = { |
|
||||
templateId: this.$route.query.modelId, |
|
||||
order: sort |
|
||||
} |
|
||||
} |
|
||||
this.api({ |
|
||||
url: url, |
|
||||
method: 'get', |
|
||||
params: data |
|
||||
}).then(data => { |
|
||||
for (let i = 0; i < data.length; i++) { |
|
||||
const sybjSRow = {} |
|
||||
this.$set(sybjSRow, 'C1', data[i].jianyanxiang) |
|
||||
this.$set(sybjSRow, 'C2', data[i].jianyanneirong) |
|
||||
this.sybjSData.push(sybjSRow) |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
getJyxmById() { |
|
||||
this.api({ |
|
||||
url: '/jyxm/getJyxmInfoByYsjl', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: this.ysjlId, |
|
||||
type: 'jyxm' |
|
||||
} |
|
||||
}).then(data => { |
|
||||
data = JSON.parse(data) |
|
||||
this.sybjSData = data[0] |
|
||||
}) |
|
||||
}, |
|
||||
// 获取表格中的id, 不为空的检验结果和备注 |
|
||||
getProp: function(data) { |
|
||||
const retData = [] |
|
||||
for (let i = 0; i < data.length; i++) { |
|
||||
const retRow = {} |
|
||||
|
|
||||
retData.push(retRow) |
|
||||
} |
|
||||
return retData |
|
||||
}, |
|
||||
getUserList() { |
|
||||
this.api({ |
|
||||
url: '/user/getAllUserList', |
|
||||
method: 'get' |
|
||||
}).then(data => { |
|
||||
this.users = data |
|
||||
}) |
|
||||
}, |
|
||||
arraySpanMethod({ row, column, rowIndex, columnIndex }) { |
|
||||
if (columnIndex === 0) { |
|
||||
if (rowIndex === 0) { |
|
||||
return { |
|
||||
rowspan: 15, |
|
||||
colspan: 1 |
|
||||
} |
|
||||
} else if (rowIndex === 15) { |
|
||||
return { |
|
||||
rowspan: 4, |
|
||||
colspan: 1 |
|
||||
} |
|
||||
} else { |
|
||||
return { |
|
||||
rowspan: 0, |
|
||||
colspan: 0 |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
saveYsjl: function(operation) { |
|
||||
if (operation === 'add') { |
|
||||
if (this.jlbh4.trim() === '') { |
|
||||
this.$message({ message: '请先确认记录编号是否完整!', type: 'warning' }) |
|
||||
return false |
|
||||
} |
|
||||
} |
|
||||
this.tableData = [] |
|
||||
this.tableData.push(this.sybjSData) |
|
||||
let url = '' |
|
||||
this.ysjl.bglx = 1 |
|
||||
this.ysjl.cjState = 'ysjl' |
|
||||
this.ysjl.zfState = '0' |
|
||||
this.ysjl.jianyanxiangmu = 'dznb' |
|
||||
this.ysjl.jlprintState = 0 |
|
||||
if (this.ysjl.jianyanjielun === '不符合要求') { |
|
||||
this.ysjl.xiacijianyanriqi = null |
|
||||
} |
|
||||
if (operation === 'add') { |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + '' + this.jlbh2 + '' + this.jlbh3 + '-' + this.jlbh4 |
|
||||
url = '/ysjl/saveYsjl' |
|
||||
} 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 |
|
||||
} |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} else if (operation === 'upd') { |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} |
|
||||
if (this.isRepeat) { |
|
||||
this.$message({ message: '记录编号重复,请先修改记录编号再保存', type: 'error' }) |
|
||||
return false |
|
||||
} else { |
|
||||
this.$refs['ysjl'].validate(valid => { |
|
||||
if (valid) { |
|
||||
const jyxm = JSON.stringify(this.tableData) |
|
||||
this.api({ |
|
||||
url: url, |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
ysjl: this.ysjl, |
|
||||
param: this.param, |
|
||||
jyxm: jyxm, |
|
||||
bgjyxm: jyxm, |
|
||||
flag: operation |
|
||||
} |
|
||||
}).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 |
|
||||
// 修改16版任务状态 |
|
||||
this.common.updStateByNew(this.ysjl.renwuId, '2', false) |
|
||||
// 刷新路由网址 |
|
||||
this.$store.dispatch('delCurrentViews', { |
|
||||
view: this.$route, |
|
||||
$router: this.$router |
|
||||
}) |
|
||||
// this.$router.push({ |
|
||||
// path: '/ysjl/1000/nb/dznb' + '/' + this.ysjl.id, |
|
||||
// query: { state: 'update', id: this.ysjl.id, departmentId: this.ysjl.departmentId, jianyanrenyuan: this.ysjl.jianyanrenyuan } |
|
||||
// }) |
|
||||
} 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() { |
|
||||
var dateTemp = this.ysjl.jianyanjieshuriqi.split('-') |
|
||||
const xcjyrq = new Date((Number(dateTemp[0]) + 3) + '-' + dateTemp[1] + '-' + dateTemp[2]) |
|
||||
this.ysjl.xiacijianyanriqi = xcjyrq.setDate(xcjyrq.getDate() - 1) |
|
||||
}, |
|
||||
// F5刷新监听 |
|
||||
beforeunloadHandler(e) { |
|
||||
e.returnValue = '' |
|
||||
}, |
|
||||
changed(item) { |
|
||||
this.param.imagePath = item |
|
||||
}, |
|
||||
grqckylChange(val) { |
|
||||
this.param.yali = val |
|
||||
}, |
|
||||
grqckwdChange(val) { |
|
||||
this.param.wendu = val |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
@ -1,643 +0,0 @@ |
|||||
<!--水耐压试验--> |
|
||||
<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')"> |
|
||||
预览 |
|
||||
</el-button> |
|
||||
<Ft v-if="state !== 'create'" :state="state" :ysjl="ysjl" :ysjl-id="Number(ysjlId ? ysjlId : 0)" :department-id="Number(departmentId ? departmentId : 0)" style="margin-left: 10px;" /> |
|
||||
</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="130px"> |
|
||||
<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:80px" disabled />- |
|
||||
<el-input v-model="jlbh4" style="width:85px" @blur="judgeRepeat(jlbh1 + jlbh2 + jlbh3 + '-' + jlbh4 , 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="shiyongdanwei"> |
|
||||
<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="shishidanwei"> |
|
||||
<el-input v-model="param.shishidanwei" :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="danweineibubianhao"> |
|
||||
<el-input v-model="ysjl.danweineibubianhao" :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="zhucedaima"> |
|
||||
<el-input v-model="ysjl.zhucedaima" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="使用登记证编号" prop="shiyongdengjibianhao"> |
|
||||
<el-input v-model="ysjl.shiyongdengjibianhao" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>性能参数</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="6"> |
|
||||
<el-form-item label="额定出力" prop="edingchuli"> |
|
||||
<el-input v-model="param.edingchuli" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="3"> |
|
||||
<el-select v-model="param.edinggonglv" :disabled="edit" type="text" placeholder="请选择"> |
|
||||
<el-option label="t/h" value="t/h" /> |
|
||||
<el-option label="MW" value="MW" /> |
|
||||
</el-select> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定压力" prop="edingyali"> |
|
||||
<el-input v-model="param.edingyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="12"> |
|
||||
<el-form-item label="(锅筒、过热器、再热器、省煤器)工作压力/工作温度" prop="gongzuoyali" label-width="335px"> |
|
||||
<el-input v-model="param.gongzuoyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="6"> |
|
||||
<el-form-item label="/" prop="yunxugongzuowendu" label-width="20px"> |
|
||||
<el-input v-model="param.yunxugongzuowendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>水(耐)压试验检验内容</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="试验日期" prop="shiyanriqi"> |
|
||||
<el-date-picker v-model="param.shiyanriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="确定试验压力" prop="shiyanyali"> |
|
||||
<el-input v-model="param.shiyanyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="试验设备型号" prop="shiyanshebeixinghao"> |
|
||||
<el-input v-model="param.shiyanshebeixinghao" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="安全防护措施" prop="anquanfanghucuoshi"> |
|
||||
<el-input v-model="param.anquanfanghucuoshi" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="试验条件(温度)" prop="shiyantiaojian"> |
|
||||
<el-input v-model="param.shiyantiaojian" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="水(介)质情况" prop="shuizhiqingkuang"> |
|
||||
<el-input v-model="param.shuizhiqingkuang" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="height: 80px;"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="试验范围" prop="shiyanfanwei"> |
|
||||
<el-input v-model="param.shiyanfanwei" :rows="3" :disabled="edit" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>压力测量装置</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="数量" prop="shuliang"> |
|
||||
<el-input v-model="param.shuliang" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="量程" prop="liangcheng"> |
|
||||
<el-input v-model="param.liangcheng" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="精度" prop="jingdu"> |
|
||||
<el-input v-model="param.jingdu" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="有效期" prop="youxiaoqi"> |
|
||||
<el-input v-model="param.youxiaoqi" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>监督检验结论</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验结论" prop="jianyanjielun"> |
|
||||
<el-select v-model="ysjl.jianyanjielun" :disabled="edit" type="text" placeholder="请选择" style="width:232px"> |
|
||||
<el-option label="合格" value="合格" /> |
|
||||
<el-option label="不合格" value="不合格" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验日期" prop="jianyanjieshuriqi"> |
|
||||
<el-date-picker v-model="ysjl.jianyanjieshuriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="10"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验人员" prop="jianyanrenyuan"> |
|
||||
<el-input v-model="jianyanrenyuan" disabled /> |
|
||||
<el-input v-show="false" v-model="ysjl.jianyanrenyuan" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<sign-name :jianyanrenyuan="jianyanrenyuan" :ysjl="ysjl" @setSignValue="singNameValue" /> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
</el-form> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane label="检查项目" name="second"> |
|
||||
<el-table :data="sybjSData" :span-method="tableJs.mergeColRows" border stripe style="width:90%"> |
|
||||
<el-table-column align="center" width="50" label="试验步骤"> |
|
||||
<el-table-column type="index" align="center" width="50" label="序号" /> |
|
||||
<el-table-column align="center" prop="jianyanxiang" min-width="50" label="检查项目" /> |
|
||||
<el-table-column align="left" prop="jianyanneirong" min-width="100" label="检验内容" /> |
|
||||
<el-table-column align="center" prop="D1" label="检验结果"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-autocomplete v-model="scope.row.D1" class="inline-input" :fetch-suggestions="querySearch" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
<br> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane v-if="state !== 'create'" label="检验收费情况" name="jysfqk"> |
|
||||
<complex-bill v-if="complexShow" ref="bill" :ysjl="ysjl" /> |
|
||||
</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 Ft from '@/views/ysjl/1000/common/glft' |
|
||||
import ComplexBill from '@/views/chargeBill/components/complex' |
|
||||
export default { |
|
||||
name: 'GlSysyYsjl2', |
|
||||
components: { SignName, Sticky, Ft, ComplexBill }, |
|
||||
data() { |
|
||||
return { |
|
||||
jlbh1: 'GS(', |
|
||||
jlbh2: new Date().getFullYear(), |
|
||||
jlbh3: ')', |
|
||||
jlbh4: '', |
|
||||
ysjl: { |
|
||||
renwuId: 0 |
|
||||
}, |
|
||||
fileList: [], |
|
||||
users: [], |
|
||||
bianzhiren: '', |
|
||||
param: {}, |
|
||||
state: this.$route.query.state, |
|
||||
jianyanrenyuan: '', |
|
||||
departmentId: this.$store.getters.departmentId, |
|
||||
isRepeat: false, |
|
||||
edit: false, |
|
||||
checkedTab: 'first', |
|
||||
// 表格合并相关 |
|
||||
// 参与列合并的字段,在这里增加即可 |
|
||||
cols: [ |
|
||||
{ |
|
||||
name: 'jianyanxiang', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { // 该列用于比较的值的获取方法 |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
} |
|
||||
], |
|
||||
sybjSData: [], |
|
||||
ysjlId: this.$route.query.id, |
|
||||
complexShow: false, |
|
||||
jyjgOptions: [{ value: '√' }, { value: '○' }, { value: '×' }, { value: '/' }] |
|
||||
} |
|
||||
}, |
|
||||
computed: { |
|
||||
jilubianhao: function() { |
|
||||
let bianhao |
|
||||
if (this.ysjl.jilubianhao === null || this.ysjl.jilubianhao === undefined || this.ysjl.jilubianhao === '') { |
|
||||
return this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 |
|
||||
} else { |
|
||||
bianhao = this.ysjl.jilubianhao |
|
||||
} |
|
||||
return this.judgeRepeat(bianhao, this.ysjl.id) |
|
||||
} |
|
||||
}, |
|
||||
watch: { |
|
||||
jlbh4: function(val) { |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + 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.getMaxBh() |
|
||||
} else { |
|
||||
this.getYsjl(this.$route.query.id) |
|
||||
} |
|
||||
this.getJyxm(1) |
|
||||
this.getUserList() |
|
||||
}, |
|
||||
beforeDestroy() { |
|
||||
window.removeEventListener('beforeunload', this.beforeunloadHandler, false) |
|
||||
}, |
|
||||
methods: { |
|
||||
// 签名方法 |
|
||||
singNameValue(data) { |
|
||||
this.jianyanrenyuan = data.name |
|
||||
this.ysjl.jianyanrenyuan = data.id |
|
||||
if (this.state !== 'create') { |
|
||||
this.common.signName(this.ysjl.id, this.ysjl.jianyanrenyuan) |
|
||||
Utils.$emit('ysjl-list') |
|
||||
} |
|
||||
}, |
|
||||
getUserList() { |
|
||||
this.api({ |
|
||||
url: '/user/getAllUserList', |
|
||||
method: 'get' |
|
||||
}).then(data => { |
|
||||
this.users = data |
|
||||
}) |
|
||||
}, |
|
||||
// 查询最大记录编号 |
|
||||
getMaxBh() { |
|
||||
const aheadPart = this.jlbh1 + '' + this.jlbh2 + '' + this.jlbh3 |
|
||||
this.api({ |
|
||||
url: '/ysjl/gainCurrentBh', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
aheadPart: aheadPart + '-', |
|
||||
hinderPart: '' |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.jlbh4 = data |
|
||||
}) |
|
||||
}, |
|
||||
initYsjl() { |
|
||||
const tempTime = new Date() |
|
||||
this.api({ |
|
||||
url: '/ysjl/initYsjl', |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
modelId: this.$route.query.modelId, |
|
||||
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.jilubianhao = this.jilubianhao |
|
||||
this.ysjl.baogaobianhao = null // 避免从设备中取值导致信息错误 |
|
||||
this.ysjl.bianzhiriqi = tempTime.getFullYear() + '-' + (tempTime.getMonth() + 1) + '-' + tempTime.getDate() |
|
||||
this.ysjl.jianyanjielun = '合格' |
|
||||
this.ysjl.jigouhezhunzhenghao = process.env.VUE_APP_HZZBH |
|
||||
this.ysjl.beizhu = '/' |
|
||||
this.ysjl.jianyanyiju = '1. 《锅炉安全技术监察规程》\n' + |
|
||||
'2. 《锅炉定期检验规则》' |
|
||||
this.$set(this.param, 'edingchuli', (this.param.edingchuli !== null && this.param.edingchuli !== undefined && this.param.edingchuli !== '') ? parseFloat(this.param.edingchuli) : this.param.edingchuli) |
|
||||
this.$set(this.param, 'weihujianxiuqingkuangshuoming', '/') |
|
||||
this.$set(this.param, 'jianchajieguo', '') |
|
||||
this.$set(this.param, 'edinggonglv', 't/h') |
|
||||
this.$set(this.param, 'shiyanriqi', this.ysjl.bianzhiriqi) |
|
||||
}) |
|
||||
}, |
|
||||
getYsjl(id) { |
|
||||
this.api({ |
|
||||
url: '/ysjl/getYsjlById', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: id |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.ysjl = data.ysjl |
|
||||
this.complexShow = true |
|
||||
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 |
|
||||
this.fileList = data.imagePath === null || data.imagePath === undefined ? JSON.parse('[]') : JSON.parse(data.imagePath) |
|
||||
if (this.fileList.length > 0) { |
|
||||
for (let i = 0; i < this.fileList.length; i++) { |
|
||||
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '1000/sysy/' + this.fileList[i].name |
|
||||
} |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
// 查询检验项目 |
|
||||
getJyxm(sort) { |
|
||||
let url = '' |
|
||||
let data = {} |
|
||||
if (this.state === 'create') { |
|
||||
url = '/jyxm/getCyJyxm' |
|
||||
data = { |
|
||||
templateId: this.$route.query.modelId, |
|
||||
order: sort |
|
||||
} |
|
||||
} else { |
|
||||
url = '/jyxm/getCyJyxmByYsjl' |
|
||||
data = { |
|
||||
ysjlId: this.ysjlId, |
|
||||
isReport: false, |
|
||||
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) |
|
||||
}) |
|
||||
}, |
|
||||
// 获取表格中的id, 不为空的检验结果和备注 |
|
||||
getProp: function(data) { |
|
||||
const retData = [] |
|
||||
for (let i = 0; i < data.length; i++) { |
|
||||
const retRow = {} |
|
||||
retRow.id = data[i].id |
|
||||
if (data[i].beizhu !== '' && data[i].beizhu !== null && data[i].beizhu !== undefined) { |
|
||||
retRow.beizhu = data[i].beizhu |
|
||||
} |
|
||||
retData.push(retRow) |
|
||||
} |
|
||||
return retData |
|
||||
}, |
|
||||
saveYsjl: function(operation) { |
|
||||
if (operation === 'add') { |
|
||||
if (this.jlbh4.trim() === '') { |
|
||||
this.$message({ message: '请先确认记录编号是否完整!', type: 'warning' }) |
|
||||
return false |
|
||||
} |
|
||||
} |
|
||||
this.tableData = [] |
|
||||
this.tableData.push(this.sybjSData.map(row => { |
|
||||
return { |
|
||||
id: row.id, |
|
||||
D1: row.D1 |
|
||||
} |
|
||||
})) |
|
||||
let url = '' |
|
||||
this.ysjl.bglx = 1 |
|
||||
this.ysjl.cjState = 'ysjl' |
|
||||
this.ysjl.zfState = '0' |
|
||||
this.ysjl.jianyanxiangmu = 'sysy' |
|
||||
this.ysjl.jlprintState = 0 |
|
||||
if (operation === 'add') { |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 |
|
||||
url = '/ysjl/saveYsjl' |
|
||||
} 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 |
|
||||
} |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} else if (operation === 'upd') { |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} |
|
||||
if (this.isRepeat) { |
|
||||
this.$message({ message: '记录编号重复,请先修改记录编号再保存', type: 'error' }) |
|
||||
return false |
|
||||
} else { |
|
||||
this.$refs['ysjl'].validate(valid => { |
|
||||
if (valid) { |
|
||||
const jyxm = JSON.stringify(this.tableData) |
|
||||
this.api({ |
|
||||
url: url, |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
ysjl: this.ysjl, |
|
||||
param: this.param, |
|
||||
jyxm: jyxm, |
|
||||
bgjyxm: jyxm, |
|
||||
flag: operation |
|
||||
} |
|
||||
}).then(data => { |
|
||||
Utils.$emit('task-list') |
|
||||
Utils.$emit('ysjl-list') |
|
||||
if (operation === 'add') { |
|
||||
this.$message({ message: '保存成功, 请前往待办记录中查看。', type: 'success' }) |
|
||||
this.ysjl.id = data |
|
||||
this.param.ysjlId = data |
|
||||
// 修改16版任务状态 |
|
||||
this.common.updStateByNew(this.ysjl.renwuId, '2', false) |
|
||||
// 刷新路由网址 |
|
||||
this.$store.dispatch('delCurrentViews', { |
|
||||
view: this.$route, |
|
||||
$router: this.$router |
|
||||
}) |
|
||||
// this.$router.push({ |
|
||||
// path: '/ysjl/1000/sy/sysy' + '/' + this.ysjl.id, |
|
||||
// query: merge({}, { state: 'update', id: this.ysjl.id, departmentId: this.ysjl.departmentId, jianyanrenyuan: this.ysjl.jianyanrenyuan }) |
|
||||
// }) |
|
||||
} 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 |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
jcjgChange(val) { |
|
||||
const index = this.param.jianchajieguo.split(';').length + 1 |
|
||||
this.param.jianchajieguo = this.param.jianchajieguo === '' ? '1、' + val : this.param.jianchajieguo.replace('。', ';') + '\n' + index + '、' + val |
|
||||
}, |
|
||||
// F5刷新监听 |
|
||||
beforeunloadHandler(e) { |
|
||||
e.returnValue = '' |
|
||||
}, |
|
||||
querySearch(queryString, cb) { |
|
||||
// 调用 callback 返回建议列表的数据 |
|
||||
cb(this.jyjgOptions) |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
@ -1,14 +0,0 @@ |
|||||
<!--电站锅炉运行水处理监督检验原始记录--> |
|
||||
<template> |
|
||||
<gl-dzscl-ysjl /> |
|
||||
</template> |
|
||||
<script> |
|
||||
import GlDzsclYsjl from '@/views/ysjl/1000/common/sz/dzscl' |
|
||||
|
|
||||
export default { |
|
||||
name: 'GlDjDzsclYsjl', |
|
||||
components: { GlDzsclYsjl } |
|
||||
} |
|
||||
</script> |
|
||||
<style> |
|
||||
</style> |
|
@ -1,781 +0,0 @@ |
|||||
<!--电站锅炉外部检验--> |
|
||||
<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> |
|
||||
<Ft v-if="state !== 'create'" :state="state" :ysjl="ysjl" :ysjl-id="Number(ysjlId ? ysjlId : 0)" :department-id="Number(departmentId ? departmentId : 0)" style="margin-left: 10px;" /> |
|
||||
</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="130px"> |
|
||||
<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:80px" disabled />- |
|
||||
<el-input v-model="jlbh4" style="width:85px" @blur="judgeRepeat(jlbh1 + jlbh2 + jlbh3 + '-' + jlbh4 , 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="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="9"> |
|
||||
<el-form-item label="使用登记证编号" prop="shiyongdengjibianhao"> |
|
||||
<el-input v-model="ysjl.shiyongdengjibianhao" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备(注册)代码" prop="zhucedaima"> |
|
||||
<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="shiyongdanweiYoubian"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiYoubian" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="使用单位联系人" prop="shiyongdanweiLianxiren"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiLianxiren" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="联系电话" prop="shiyongdanweiDianhua"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiDianhua" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="使用编号" prop="danweineibubianhao"> |
|
||||
<el-input v-model="ysjl.danweineibubianhao" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="锅炉型号" prop="guigexinghao"> |
|
||||
<el-input v-model="ysjl.guigexinghao" :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="18"> |
|
||||
<el-form-item label="制造单位" prop="zhizaodanwei"> |
|
||||
<el-input v-model="ysjl.zhizaodanwei" :disabled="edit" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="投用日期" prop="touyongriqi"> |
|
||||
<el-date-picker v-model="ysjl.touyongriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</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="18"> |
|
||||
<el-form-item label="锅炉安装单位" prop="shigongdanwei"> |
|
||||
<el-input v-model="ysjl.shigongdanwei" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="上次检验日期" prop="shangcijianyanriqi"> |
|
||||
<el-date-picker v-model="param.shangcijianyanriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>性能参数</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定蒸发量" prop="edingzhengfaliang"> |
|
||||
<el-input v-model="param.edingzhengfaliang"> |
|
||||
<template slot="append"> |
|
||||
t/h |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="锅筒工作压力" prop="guotonggongzuoyali"> |
|
||||
<el-input v-model="param.guotonggongzuoyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="过热器出口压力" prop="guoreqichukouyali"> |
|
||||
<el-input v-model="param.guoreqichukouyali" @change="grqckylChange"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="再热蒸汽流量" prop="zairezhengqiliuliang"> |
|
||||
<el-input v-model="param.zairezhengqiliuliang"> |
|
||||
<template slot="append"> |
|
||||
t/h |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="锅筒工作温度" prop="guotonggongzuowendu"> |
|
||||
<el-input v-model="param.guotonggongzuowendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="过热器出口温度" prop="guoreqichukouwendu"> |
|
||||
<el-input v-model="param.guoreqichukouwendu" @change="grqckwdChange"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="再热器出口压力" prop="zaireqichukouyali"> |
|
||||
<el-input v-model="param.zaireqichukouyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="再热器出口温度" prop="zaireqichukouwendu"> |
|
||||
<el-input v-model="param.zaireqichukouwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="给水压力" prop="geishuiyali"> |
|
||||
<el-input v-model="param.geishuiyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="再热器进口压力" prop="zaireqijinkouyali"> |
|
||||
<el-input v-model="param.zaireqijinkouyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="再热器进口温度" prop="zaireqijinkouwendu"> |
|
||||
<el-input v-model="param.zaireqijinkouwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="给水温度" prop="geishuiwendu"> |
|
||||
<el-input v-model="param.geishuiwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>允许使用参数</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="压力" prop="yali"> |
|
||||
<el-input v-model="param.yali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="温度" prop="wendu"> |
|
||||
<el-input v-model="param.wendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="介质" prop="jiezhi"> |
|
||||
<el-input v-model="param.jiezhi" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="其他" prop="qita"> |
|
||||
<el-input v-model="param.qita" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>检查与校验</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="检验依据" prop="jianyanyiju"> |
|
||||
<el-input v-model="ysjl.jianyanyiju" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="height: 110px;"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="缺陷及其处理:" prop="wentijizai"> |
|
||||
<el-input v-model="param.wentijizai" :rows="4" :disabled="edit" type="textarea" palceholder="检验发现的缺陷位置、性质、程度及处理意见(必要时附图)" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="10"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验人员" prop="jianyanrenyuan"> |
|
||||
<el-input v-model="jianyanrenyuan" disabled /> |
|
||||
<el-input v-show="false" v-model="ysjl.jianyanrenyuan" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<sign-name :jianyanrenyuan="jianyanrenyuan" :ysjl="ysjl" @setSignValue="singNameValue" /> |
|
||||
</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" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" @change="getXcjyrq" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验结论" prop="jianyanjielun"> |
|
||||
<el-select v-model="ysjl.jianyanjielun" :disabled="edit" type="text" placeholder="请选择" style="width:232px"> |
|
||||
<el-option label="符合要求" value="符合要求" /> |
|
||||
<el-option label="基本符合要求" value="基本符合要求" /> |
|
||||
<el-option label="不符合要求" value="不符合要求" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="下次检验日期" prop="xiacijianyanriqi"> |
|
||||
<el-input v-if="ysjl.jianyanjielun === '不符合要求'" v-model="ysjl.xiacijianyanriqishuoming" type="text" disabled="true" /> |
|
||||
<el-date-picker v-else v-model="ysjl.xiacijianyanriqi" type="date" placeholder="选择日期" editable style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="height: 110px;"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="说明:" prop="beizhu"> |
|
||||
<el-input v-model="ysjl.beizhu" :rows="4" :disabled="edit" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</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="100" /> |
|
||||
<el-table-column align="center" prop="jianyanmu" width="100" /> |
|
||||
<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-tab-pane v-if="state !== 'create'" label="检验收费情况" name="jysfqk"> |
|
||||
<complex-bill v-if="complexShow" ref="bill" :ysjl="ysjl" /> |
|
||||
</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 Ft from '@/views/ysjl/1000/common/glft' |
|
||||
import ComplexBill from '@/views/chargeBill/components/complex' |
|
||||
|
|
||||
export default { |
|
||||
name: 'GlDzwbYsjl2', |
|
||||
components: { SignName, Sticky, Ft, ComplexBill }, |
|
||||
data() { |
|
||||
return { |
|
||||
jlbh1: 'GDW(', |
|
||||
jlbh2: new Date().getFullYear(), |
|
||||
jlbh3: ')', |
|
||||
jlbh4: '', |
|
||||
ysjl: {}, |
|
||||
param: {}, |
|
||||
state: this.$route.query.state, |
|
||||
jianyanrenyuan: '', |
|
||||
departmentId: this.$store.getters.departmentId, |
|
||||
isRepeat: false, |
|
||||
edit: false, |
|
||||
sybjSData: [], |
|
||||
tableData: [], |
|
||||
users: [], |
|
||||
checkedTab: 'first', |
|
||||
// 表格合并相关 |
|
||||
// 参与列合并的字段,在这里增加即可 |
|
||||
cols: [ |
|
||||
{ |
|
||||
name: 'jianyanxiang', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { // 该列用于比较的值的获取方法 |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianyanmu', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { // 该列用于比较的值的获取方法 |
|
||||
return row.jianyanmu |
|
||||
} |
|
||||
} |
|
||||
], |
|
||||
rows: [ |
|
||||
{ |
|
||||
name: 'jianyanxiang', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { // 该列用于比较的值的获取方法 |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianyanmu', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { // 该列用于比较的值的获取方法 |
|
||||
return row.jianyanmu |
|
||||
} |
|
||||
} |
|
||||
], |
|
||||
ysjlId: this.$route.query.id, |
|
||||
complexShow: false |
|
||||
} |
|
||||
}, |
|
||||
computed: { |
|
||||
jilubianhao: function() { |
|
||||
let bianhao |
|
||||
if (this.ysjl.jilubianhao === null || this.ysjl.jilubianhao === undefined || this.ysjl.jilubianhao === '') { |
|
||||
return this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 |
|
||||
} else { |
|
||||
bianhao = this.ysjl.jilubianhao |
|
||||
} |
|
||||
return this.judgeRepeat(bianhao, this.ysjl.id) |
|
||||
} |
|
||||
}, |
|
||||
watch: { |
|
||||
jlbh4: function(val) { |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + 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.getMaxBh() |
|
||||
this.getJyxm(1) |
|
||||
} else { |
|
||||
this.getYsjl(this.$route.query.id) |
|
||||
this.getJyxm(1) |
|
||||
} |
|
||||
this.getUserList() |
|
||||
if (this.param.yali === '' || this.param.yali === undefined) { |
|
||||
this.$set(this.param, 'yali', this.param.guoreqichukouyali) |
|
||||
} |
|
||||
}, |
|
||||
beforeDestroy() { |
|
||||
window.removeEventListener('beforeunload', this.beforeunloadHandler, false) |
|
||||
}, |
|
||||
methods: { |
|
||||
// 签名方法 |
|
||||
singNameValue(data) { |
|
||||
this.jianyanrenyuan = data.name |
|
||||
this.ysjl.jianyanrenyuan = data.id |
|
||||
if (this.state !== 'create') { |
|
||||
this.common.signName(this.ysjl.id, this.ysjl.jianyanrenyuan) |
|
||||
Utils.$emit('ysjl-list') |
|
||||
} |
|
||||
}, |
|
||||
// 查询最大记录编号 |
|
||||
getMaxBh() { |
|
||||
const aheadPart = this.jlbh1 + '' + this.jlbh2 + '' + this.jlbh3 |
|
||||
this.api({ |
|
||||
url: '/ysjl/gainCurrentBh', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
aheadPart: aheadPart + '-', |
|
||||
hinderPart: '' |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.jlbh4 = data |
|
||||
}) |
|
||||
}, |
|
||||
initYsjl() { |
|
||||
this.api({ |
|
||||
url: '/ysjl/initYsjl', |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
modelId: this.$route.query.modelId, |
|
||||
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.getXcjyrq() |
|
||||
this.ysjl.jilubianhao = this.jilubianhao |
|
||||
this.ysjl.baogaobianhao = null // 避免从设备中取值导致信息错误 |
|
||||
this.ysjl.jianyanjielun = '符合要求' |
|
||||
this.ysjl.jigouhezhunzhenghao = process.env.VUE_APP_HZZBH |
|
||||
this.ysjl.jianyanyiju = '《锅炉安全技术监察规程》、《锅炉定期检验规则》' |
|
||||
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/getYsjlById', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: id |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.ysjl = data.ysjl |
|
||||
this.complexShow = true |
|
||||
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.modelId, |
|
||||
order: sort |
|
||||
} |
|
||||
} else { |
|
||||
url = '/jyxm/getCyJyxmByYsjl' |
|
||||
data = { |
|
||||
ysjlId: this.ysjlId, |
|
||||
isReport: false, |
|
||||
templateId: this.$route.query.modelId, |
|
||||
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, |
|
||||
jianyanmu: row.jianyanmu, |
|
||||
jianyanneirong: row.jianyanneirong, |
|
||||
D1: row.jianyanjieguo |
|
||||
}) |
|
||||
}) |
|
||||
} else { |
|
||||
data.forEach(row => { |
|
||||
this.sybjSData.push({ |
|
||||
id: row.id, |
|
||||
jianyanxiang: row.jianyanxiang, |
|
||||
jianyanmu: row.jianyanmu, |
|
||||
jianyanneirong: row.jianyanneirong, |
|
||||
D1: row.d1 |
|
||||
}) |
|
||||
}) |
|
||||
} |
|
||||
this.tableJs.getData(this.cols, this.rows, this.sybjSData) |
|
||||
}) |
|
||||
}, |
|
||||
// 获取表格中的id, 不为空的检验结果和备注 |
|
||||
getProp: function(data) { |
|
||||
const retData = [] |
|
||||
for (let i = 0; i < data.length; i++) { |
|
||||
const retRow = {} |
|
||||
this.$set(retRow, 'id', data[i].id) |
|
||||
this.$set(retRow, 'beizhu', data[i].beizhu) |
|
||||
retData.push(retRow) |
|
||||
} |
|
||||
return retData |
|
||||
}, |
|
||||
getUserList() { |
|
||||
this.api({ |
|
||||
url: '/user/getAllUserList', |
|
||||
method: 'get' |
|
||||
}).then(data => { |
|
||||
this.users = data |
|
||||
}) |
|
||||
}, |
|
||||
saveYsjl: function(operation) { |
|
||||
if (operation === 'add') { |
|
||||
if (this.jlbh4.trim() === '') { |
|
||||
this.$message({ message: '请先确认记录编号是否完整!', type: 'warning' }) |
|
||||
return false |
|
||||
} |
|
||||
} |
|
||||
// 把第一个检验项目表中的检验结果单独放到字段中 |
|
||||
this.tableData = [] |
|
||||
this.tableData.push(this.sybjSData.map(row => { |
|
||||
return { |
|
||||
id: row.id, |
|
||||
D1: row.D1 |
|
||||
} |
|
||||
})) |
|
||||
let url = '' |
|
||||
this.ysjl.bglx = 1 |
|
||||
this.ysjl.cjState = 'ysjl' |
|
||||
this.ysjl.zfState = '0' |
|
||||
this.ysjl.jianyanxiangmu = 'dzwb' |
|
||||
this.ysjl.jlprintState = 0 |
|
||||
if (this.ysjl.jianyanjielun === '不符合要求') { |
|
||||
this.ysjl.xiacijianyanriqi = null |
|
||||
} |
|
||||
if (operation === 'add') { |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 |
|
||||
url = '/ysjl/saveYsjl' |
|
||||
} 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 |
|
||||
} |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} else if (operation === 'upd') { |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} |
|
||||
if (this.isRepeat) { |
|
||||
this.$message({ message: '记录编号重复,请先修改记录编号再保存', type: 'error' }) |
|
||||
return false |
|
||||
} else { |
|
||||
this.$refs['ysjl'].validate(valid => { |
|
||||
if (valid) { |
|
||||
const jyxm = JSON.stringify(this.tableData) |
|
||||
this.api({ |
|
||||
url: url, |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
ysjl: this.ysjl, |
|
||||
param: this.param, |
|
||||
jyxm: jyxm, |
|
||||
bgjyxm: jyxm, |
|
||||
flag: operation |
|
||||
} |
|
||||
}).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 |
|
||||
// 修改16版任务状态 |
|
||||
this.common.updStateByNew(this.ysjl.renwuId, '2', false) |
|
||||
// 刷新路由网址 |
|
||||
this.$store.dispatch('delCurrentViews', { |
|
||||
view: this.$route, |
|
||||
$router: this.$router |
|
||||
}) |
|
||||
// this.$router.push({ |
|
||||
// path: '/ysjl/1000/wb/dzwb' + '/' + this.ysjl.id, |
|
||||
// query: { state: 'update', id: this.ysjl.id, departmentId: this.ysjl.departmentId, jianyanrenyuan: this.ysjl.jianyanrenyuan } |
|
||||
// }) |
|
||||
} else if (operation === 'upd') { |
|
||||
this.$message({ message: '更新成功', type: 'success' }) |
|
||||
// this.$refs.bill.updateChargeBill() |
|
||||
// 替换路由中的参数 |
|
||||
this.$router.push({ |
|
||||
query: merge(this.$route.query, { 'jianyanrenyuan': this.ysjl.jianyanrenyuan }) |
|
||||
}) |
|
||||
} 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() { |
|
||||
var dateTemp = this.ysjl.jianyanjieshuriqi.split('-') |
|
||||
const xcjyrq = new Date((Number(dateTemp[0]) + 1) + '-' + dateTemp[1] + '-' + dateTemp[2]) |
|
||||
this.ysjl.xiacijianyanriqi = xcjyrq.setDate(xcjyrq.getDate() - 1) |
|
||||
}, |
|
||||
grqckylChange(val) { |
|
||||
this.param.yali = val |
|
||||
}, |
|
||||
grqckwdChange(val) { |
|
||||
this.param.wendu = val |
|
||||
}, |
|
||||
// F5刷新监听 |
|
||||
beforeunloadHandler(e) { |
|
||||
e.returnValue = '' |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
@ -1,708 +0,0 @@ |
|||||
<!--工业锅炉内部检验--> |
|
||||
<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> |
|
||||
<Ft v-if="state !== 'create'" :state="state" :ysjl="ysjl" :ysjl-id="Number(ysjlId ? ysjlId : 0)" :department-id="Number(departmentId ? departmentId : 0)" style="margin-left: 10px;" /> |
|
||||
</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="130px"> |
|
||||
<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:80px" disabled />- |
|
||||
<el-input v-model="jlbh4" style="width:85px" @blur="judgeRepeat(jlbh1 + jlbh2 + jlbh3 + '-' + jlbh4 , 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="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="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="zhucedaima"> |
|
||||
<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="shiyongdengjibianhao"> |
|
||||
<el-input v-model="ysjl.shiyongdengjibianhao" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="单位邮编" prop="shiyongdanweiYoubian"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiYoubian" :disabled="edit" /> |
|
||||
</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="danweineibubianhao"> |
|
||||
<el-input v-model="ysjl.danweineibubianhao" :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="18"> |
|
||||
<el-form-item label="制造单位" prop="zhizaodanwei"> |
|
||||
<el-input v-model="ysjl.zhizaodanwei" :disabled="edit" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<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-col :span="9"> |
|
||||
<el-form-item label="投用日期" prop="touyongriqi"> |
|
||||
<el-date-picker v-model="ysjl.touyongriqi" 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="chanpinbianhao"> |
|
||||
<el-input v-model="ysjl.chanpinbianhao" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="上次检验日期" prop="shangcijianyanriqi"> |
|
||||
<el-date-picker v-model="param.shangcijianyanriqi" 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="shigongdanwei"> |
|
||||
<el-input v-model="ysjl.shigongdanwei" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>性能参数</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定蒸发量(热功率)" prop="edingzhengfaliang"> |
|
||||
<el-input v-model="param.edingzhengfaliang" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定压力" prop="edingyali"> |
|
||||
<el-input v-model="param.edingyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="出口温度" prop="chukouwendu"> |
|
||||
<el-input v-model="param.chukouwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="使用压力" prop="gongzuoyali"> |
|
||||
<el-input v-model="param.gongzuoyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定温度" prop="edingwendu"> |
|
||||
<el-input v-model="param.edingwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="回流温度" prop="huiliuwendu"> |
|
||||
<el-input v-model="param.huiliuwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>允许使用参数</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="压力" prop="yali"> |
|
||||
<el-input v-model="param.yali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="温度" prop="wendu"> |
|
||||
<el-input v-model="param.wendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="介质" prop="jiezhi"> |
|
||||
<el-select v-model="param.jiezhi" filterable allow-create default-first-option placeholder="请选择" style="width:232px"> |
|
||||
<el-option label="水" value="水" /> |
|
||||
<el-option label="有机热载体" value="有机热载体" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="其他" prop="qita"> |
|
||||
<el-input v-model="param.qita" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>检查与校验</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="检验依据" prop="jianyanyiju"> |
|
||||
<el-input v-model="ysjl.jianyanyiju" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="height: 110px;"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="缺陷及其处理:" prop="wentijizai"> |
|
||||
<el-input v-model="param.wentijizai" :rows="4" :disabled="edit" type="textarea" palceholder="检验发现的缺陷位置、性质、程度及处理意见(必要时附图)" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="10"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验人员" prop="jianyanrenyuan"> |
|
||||
<el-input v-model="jianyanrenyuan" disabled /> |
|
||||
<el-input v-show="false" v-model="ysjl.jianyanrenyuan" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<sign-name :jianyanrenyuan="jianyanrenyuan" :ysjl="ysjl" @setSignValue="singNameValue" /> |
|
||||
</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" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" @change="getXcjyrq" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验结论" prop="jianyanjielun"> |
|
||||
<el-select v-model="ysjl.jianyanjielun" :disabled="edit" type="text" placeholder="请选择" style="width:232px"> |
|
||||
<el-option label="符合要求" value="符合要求" /> |
|
||||
<el-option label="基本符合要求" value="基本符合要求" /> |
|
||||
<el-option label="不符合要求" value="不符合要求" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="下次检验日期" prop="xiacijianyanriqi"> |
|
||||
<el-input v-if="ysjl.jianyanjielun === '不符合要求'" v-model="ysjl.xiacijianyanriqishuoming" type="text" disabled="true" /> |
|
||||
<el-date-picker v-else v-model="ysjl.xiacijianyanriqi" type="date" placeholder="选择日期" editable style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="height: 110px;"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="其它缺陷情况或说明:" prop="beizhu"> |
|
||||
<el-input v-model="ysjl.beizhu" :rows="4" :disabled="edit" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</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="100" /> |
|
||||
<el-table-column align="center" prop="jianyanmu" width="100" /> |
|
||||
<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-tab-pane v-if="state !== 'create'" label="检验收费情况" name="jysfqk"> |
|
||||
<complex-bill v-if="complexShow" ref="bill" :ysjl="ysjl" /> |
|
||||
</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 Ft from '@/views/ysjl/1000/common/glft' |
|
||||
import ComplexBill from '@/views/chargeBill/components/complex' |
|
||||
export default { |
|
||||
name: 'GlGywbYsjl2', |
|
||||
components: { SignName, Sticky, Ft, ComplexBill }, |
|
||||
data() { |
|
||||
return { |
|
||||
jlbh1: 'GW(', |
|
||||
jlbh2: new Date().getFullYear(), |
|
||||
jlbh3: ')', |
|
||||
jlbh4: '', |
|
||||
ysjl: (this.$route.query.ysjl === null || this.$route.query.ysjl === undefined) ? {} : this.$route.query.ysjl, |
|
||||
defaultParam: {}, |
|
||||
param: (this.$route.query.param === null || this.$route.query.param === undefined) ? Object.assign({}, this.defaultParam) : this.$route.query.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, |
|
||||
complexShow: false, |
|
||||
// 表格合并相关 |
|
||||
// 参与列合并的字段,在这里增加即可 |
|
||||
cols: [ |
|
||||
{ |
|
||||
name: 'jianyanxiang', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { // 该列用于比较的值的获取方法 |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianyanmu', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { // 该列用于比较的值的获取方法 |
|
||||
return row.jianyanmu |
|
||||
} |
|
||||
} |
|
||||
], |
|
||||
rows: [ |
|
||||
{ |
|
||||
name: 'jianyanxiang', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { // 该列用于比较的值的获取方法 |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianyanmu', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { // 该列用于比较的值的获取方法 |
|
||||
return row.jianyanmu |
|
||||
} |
|
||||
} |
|
||||
] |
|
||||
} |
|
||||
}, |
|
||||
computed: { |
|
||||
jilubianhao: function() { |
|
||||
let bianhao |
|
||||
if (this.ysjl.jilubianhao === null || this.ysjl.jilubianhao === undefined || this.ysjl.jilubianhao === '') { |
|
||||
return this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 |
|
||||
} else { |
|
||||
bianhao = this.ysjl.jilubianhao |
|
||||
} |
|
||||
return this.judgeRepeat(bianhao, this.ysjl.id) |
|
||||
} |
|
||||
}, |
|
||||
watch: { |
|
||||
jlbh4: function(val) { |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + 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.getMaxBh() |
|
||||
this.getJyxm(1) |
|
||||
} else { |
|
||||
this.getYsjl(this.$route.query.id) |
|
||||
this.getJyxm(1) |
|
||||
} |
|
||||
this.getUserList() |
|
||||
}, |
|
||||
beforeDestroy() { |
|
||||
window.removeEventListener('beforeunload', this.beforeunloadHandler, false) |
|
||||
}, |
|
||||
methods: { |
|
||||
// 签名方法 |
|
||||
singNameValue(data) { |
|
||||
this.jianyanrenyuan = data.name |
|
||||
this.ysjl.jianyanrenyuan = data.id |
|
||||
if (this.state !== 'create') { |
|
||||
this.common.signName(this.ysjl.id, this.ysjl.jianyanrenyuan) |
|
||||
Utils.$emit('ysjl-list') |
|
||||
} |
|
||||
}, |
|
||||
initYsjl() { |
|
||||
this.api({ |
|
||||
url: '/ysjl/initYsjl', |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
modelId: this.$route.query.modelId, |
|
||||
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.getXcjyrq() |
|
||||
this.ysjl.jilubianhao = this.jilubianhao |
|
||||
this.ysjl.baogaobianhao = null // 避免从设备中取值导致信息错误 |
|
||||
this.ysjl.jianyanjielun = '符合要求' |
|
||||
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', '/') |
|
||||
if (this.$route.query.sblbdm === '1100') { |
|
||||
this.$set(this.param, 'edinggonglv', 't/h') |
|
||||
} else { |
|
||||
this.$set(this.param, 'edinggonglv', 'MW') |
|
||||
} |
|
||||
// 制造日期、投用日期、上次检验日期设置成正确的日期格式 |
|
||||
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/getYsjlById', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: id |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.ysjl = data.ysjl |
|
||||
this.complexShow = true |
|
||||
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) { |
|
||||
this.api({ |
|
||||
url: '/ysjl/getParamByYsjlId', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: ysjlId, |
|
||||
sbzldm: sbzldm |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.param = data |
|
||||
}) |
|
||||
}, |
|
||||
// 查询最大记录编号 |
|
||||
getMaxBh() { |
|
||||
const aheadPart = this.jlbh1 + '' + this.jlbh2 + '' + this.jlbh3 |
|
||||
this.api({ |
|
||||
url: '/ysjl/gainCurrentBh', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
aheadPart: aheadPart + '-', |
|
||||
hinderPart: '' |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.jlbh4 = data |
|
||||
}) |
|
||||
}, |
|
||||
// 查询检验项目 |
|
||||
getJyxm(sort) { |
|
||||
let url = '' |
|
||||
let data = {} |
|
||||
if (this.state === 'create') { |
|
||||
url = '/jyxm/getCyJyxm' |
|
||||
data = { |
|
||||
templateId: this.$route.query.modelId, |
|
||||
order: sort |
|
||||
} |
|
||||
} else { |
|
||||
url = '/jyxm/getCyJyxmByYsjl' |
|
||||
data = { |
|
||||
ysjlId: this.ysjlId, |
|
||||
isReport: false, |
|
||||
templateId: this.$route.query.modelId, |
|
||||
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, |
|
||||
jianyanmu: row.jianyanmu, |
|
||||
jianyanneirong: row.jianyanneirong, |
|
||||
D1: row.jianyanjieguo |
|
||||
}) |
|
||||
}) |
|
||||
} else { |
|
||||
data.forEach(row => { |
|
||||
this.sybjSData.push({ |
|
||||
id: row.id, |
|
||||
jianyanxiang: row.jianyanxiang, |
|
||||
jianyanmu: row.jianyanmu, |
|
||||
jianyanneirong: row.jianyanneirong, |
|
||||
D1: row.d1 |
|
||||
}) |
|
||||
}) |
|
||||
} |
|
||||
this.tableJs.getData(this.cols, this.rows, this.sybjSData) |
|
||||
}) |
|
||||
}, |
|
||||
getUserList() { |
|
||||
this.api({ |
|
||||
url: '/user/getAllUserList', |
|
||||
method: 'get' |
|
||||
}).then(data => { |
|
||||
this.users = data |
|
||||
}) |
|
||||
}, |
|
||||
saveYsjl: function(operation) { |
|
||||
if (operation === 'add') { |
|
||||
if (this.jlbh4.trim() === '') { |
|
||||
this.$message({ message: '请先确认记录编号是否完整!', type: 'warning' }) |
|
||||
return false |
|
||||
} |
|
||||
} |
|
||||
// 把第一个检验项目表中的检验结果单独放到字段中 |
|
||||
this.tableData = [] |
|
||||
this.tableData.push(this.sybjSData.map(row => { |
|
||||
return { |
|
||||
id: row.id, |
|
||||
D1: row.D1 |
|
||||
} |
|
||||
})) |
|
||||
let url = '' |
|
||||
this.ysjl.bglx = 1 |
|
||||
this.ysjl.cjState = 'ysjl' |
|
||||
this.ysjl.zfState = '0' |
|
||||
this.ysjl.jianyanxiangmu = 'gywb' |
|
||||
this.ysjl.jlprintState = 0 |
|
||||
if (this.ysjl.jianyanjielun === '不符合要求') { |
|
||||
this.ysjl.xiacijianyanriqi = null |
|
||||
} |
|
||||
if (operation === 'add') { |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 |
|
||||
url = '/ysjl/saveYsjl' |
|
||||
} 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 |
|
||||
} |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} else if (operation === 'upd') { |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} |
|
||||
if (this.isRepeat) { |
|
||||
this.$message({ message: '记录编号重复,请先修改记录编号再保存', type: 'error' }) |
|
||||
return false |
|
||||
} else { |
|
||||
this.$refs['ysjl'].validate(valid => { |
|
||||
if (valid) { |
|
||||
const jyxm = JSON.stringify(this.tableData) |
|
||||
this.api({ |
|
||||
url: url, |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
ysjl: this.ysjl, |
|
||||
param: this.param, |
|
||||
jyxm: jyxm, |
|
||||
bgjyxm: jyxm, |
|
||||
flag: operation |
|
||||
} |
|
||||
}).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 |
|
||||
// 修改16版任务状态 |
|
||||
this.common.updStateByNew(this.ysjl.renwuId, '2', false) |
|
||||
// 刷新路由网址 |
|
||||
this.$store.dispatch('delCurrentViews', { |
|
||||
view: this.$route, |
|
||||
$router: this.$router |
|
||||
}) |
|
||||
// this.$router.push({ |
|
||||
// path: '/ysjl/1000/wb/gywb' + '/' + this.ysjl.id, |
|
||||
// query: { state: 'update', id: this.ysjl.id, departmentId: this.ysjl.departmentId, jianyanrenyuan: this.ysjl.jianyanrenyuan } |
|
||||
// }) |
|
||||
} 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() { |
|
||||
var dateTemp = this.ysjl.jianyanjieshuriqi.split('-') |
|
||||
const xcjyrq = new Date((Number(dateTemp[0]) + 1) + '-' + dateTemp[1] + '-' + dateTemp[2]) |
|
||||
this.ysjl.xiacijianyanriqi = xcjyrq.setDate(xcjyrq.getDate() - 1) |
|
||||
}, |
|
||||
// F5刷新监听 |
|
||||
beforeunloadHandler(e) { |
|
||||
e.returnValue = '' |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
@ -1,809 +0,0 @@ |
|||||
<!--电站锅炉外部检验--> |
|
||||
<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> |
|
||||
<Ft v-if="state !== 'create'" :state="state" :ysjl="ysjl" :ysjl-id="Number(ysjlId ? ysjlId : 0)" :department-id="Number(departmentId ? departmentId : 0)" style="margin-left: 10px;" /> |
|
||||
</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="130px"> |
|
||||
<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:80px" disabled />- |
|
||||
<el-input v-model="jlbh4" style="width:85px" @blur="judgeRepeat(jlbh1 + jlbh2 + jlbh3 + '-' + jlbh4 , 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="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="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="zhucedaima"> |
|
||||
<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="shiyongdengjibianhao"> |
|
||||
<el-input v-model="ysjl.shiyongdengjibianhao" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="单位邮编" prop="shiyongdanweiYoubian"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiYoubian" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="累计运行小时" prop="leijiyunxingxiaoshi"> |
|
||||
<el-input v-model="param.leijiyunxingxiaoshi" :disabled="edit"> |
|
||||
<template slot="append"> |
|
||||
h |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</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="danweineibubianhao"> |
|
||||
<el-input v-model="ysjl.danweineibubianhao" :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="18"> |
|
||||
<el-form-item label="制造单位" prop="zhizaodanwei"> |
|
||||
<el-input v-model="ysjl.zhizaodanwei" :disabled="edit" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<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-col :span="9"> |
|
||||
<el-form-item label="投用日期" prop="touyongriqi"> |
|
||||
<el-date-picker v-model="ysjl.touyongriqi" 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="shigongdanwei"> |
|
||||
<el-input v-model="ysjl.shigongdanwei" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="出厂编号" prop="chanpinbianhao"> |
|
||||
<el-input v-model="ysjl.chanpinbianhao" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="上次检验日期" prop="shangcijianyanriqi"> |
|
||||
<el-date-picker v-model="param.shangcijianyanriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>性能参数</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定蒸发量" prop="edingzhengfaliang"> |
|
||||
<el-input v-model="param.edingzhengfaliang"> |
|
||||
<template slot="append"> |
|
||||
t/h |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="再热蒸汽流量" prop="zairezhengqiliuliang"> |
|
||||
<el-input v-model="param.zairezhengqiliuliang"> |
|
||||
<template slot="append"> |
|
||||
t/h |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="过热器出口压力" prop="guoreqichukouyali"> |
|
||||
<el-input v-model="param.guoreqichukouyali" @change="grqckylChange"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="锅筒工作压力" prop="guotonggongzuoyali"> |
|
||||
<el-input v-model="param.guotonggongzuoyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="锅筒工作温度" prop="guotonggongzuowendu"> |
|
||||
<el-input v-model="param.guotonggongzuowendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="过热器出口温度" prop="guoreqichukouwendu"> |
|
||||
<el-input v-model="param.guoreqichukouwendu" @change="grqckwdChange"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="再热器出口压力" prop="zaireqichukouyali"> |
|
||||
<el-input v-model="param.zaireqichukouyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="再热器出口温度" prop="zaireqichukouwendu"> |
|
||||
<el-input v-model="param.zaireqichukouwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="给水压力" prop="geishuiyali"> |
|
||||
<el-input v-model="param.geishuiyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="再热器进口压力" prop="zaireqijinkouyali"> |
|
||||
<el-input v-model="param.zaireqijinkouyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="再热器进口温度" prop="zaireqijinkouwendu"> |
|
||||
<el-input v-model="param.zaireqijinkouwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="给水温度" prop="geishuiwendu"> |
|
||||
<el-input v-model="param.geishuiwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>允许使用参数</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="压力" prop="yali"> |
|
||||
<el-input v-model="param.yali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="温度" prop="wendu"> |
|
||||
<el-input v-model="param.wendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="介质" prop="jiezhi"> |
|
||||
<el-input v-model="param.jiezhi" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="其他" prop="qita"> |
|
||||
<el-input v-model="param.qita" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>检查与校验</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="检验依据" prop="jianyanyiju"> |
|
||||
<el-input v-model="ysjl.jianyanyiju" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="height: 110px;"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="缺陷及其处理:" prop="wentijizai"> |
|
||||
<el-input v-model="param.wentijizai" :rows="4" :disabled="edit" type="textarea" palceholder="检验发现的缺陷位置、性质、程度及处理意见(必要时附图)" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="10"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验人员" prop="jianyanrenyuan"> |
|
||||
<el-input v-model="jianyanrenyuan" disabled /> |
|
||||
<el-input v-show="false" v-model="ysjl.jianyanrenyuan" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<sign-name :jianyanrenyuan="jianyanrenyuan" :ysjl="ysjl" @setSignValue="singNameValue" /> |
|
||||
</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" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" @change="getXcjyrq" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验结论" prop="jianyanjielun"> |
|
||||
<el-select v-model="ysjl.jianyanjielun" :disabled="edit" type="text" placeholder="请选择" style="width:232px"> |
|
||||
<el-option label="符合要求" value="符合要求" /> |
|
||||
<el-option label="基本符合要求" value="基本符合要求" /> |
|
||||
<el-option label="不符合要求" value="不符合要求" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="下次检验日期" prop="xiacijianyanriqi"> |
|
||||
<el-input v-if="ysjl.jianyanjielun === '不符合要求'" v-model="ysjl.xiacijianyanriqishuoming" type="text" disabled="true" /> |
|
||||
<el-date-picker v-else v-model="ysjl.xiacijianyanriqi" type="date" placeholder="选择日期" editable style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="height: 110px;"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="说明:" prop="beizhu"> |
|
||||
<el-input v-model="ysjl.beizhu" :rows="4" :disabled="edit" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
</el-form> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane label="外部检验原始记录附页" name="second"> |
|
||||
<el-table :data="sybjSData" :span-method="tableJs.mergeColRows" border stripe style="width:90%"> |
|
||||
<el-table-column type="index" align="center" width="50" label="序号" /> |
|
||||
<el-table-column align="center" prop="jianyanxiang" label="项目" /> |
|
||||
<el-table-column align="left" prop="jianyanneirong" label="检验项目" /> |
|
||||
<el-table-column align="center" prop="beizhu" label="检验结果"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-select v-model="scope.row.beizhu" :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-tab-pane label="外部检验原始记录附页" name="third"> |
|
||||
<el-table :data="sybjTData" :span-method="tableJs.mergeColRows" border stripe style="width:90%"> |
|
||||
<el-table-column type="index" align="center" width="50" label="序号" /> |
|
||||
<el-table-column align="center" prop="jianyanxiang" label="项目" /> |
|
||||
<el-table-column align="left" prop="jianyanneirong" label="检验项目" /> |
|
||||
<el-table-column align="center" prop="beizhu" label="检验结果"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-select v-model="scope.row.beizhu" :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-tab-pane v-if="state !== 'create'" label="检验收费情况" name="jysfqk"> |
|
||||
<complex-bill v-if="complexShow" ref="bill" :ysjl="ysjl" /> |
|
||||
</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 Ft from '@/views/ysjl/1000/common/glft' |
|
||||
import ComplexBill from '@/views/chargeBill/components/complex' |
|
||||
import tableJs from '@/utils/table' |
|
||||
export default { |
|
||||
name: 'GlDzwbYsjl', |
|
||||
components: { SignName, Sticky, Ft, ComplexBill }, |
|
||||
data() { |
|
||||
return { |
|
||||
jlbh1: 'GDW(', |
|
||||
jlbh2: new Date().getFullYear(), |
|
||||
jlbh3: ')', |
|
||||
jlbh4: '', |
|
||||
ysjl: {}, |
|
||||
param: {}, |
|
||||
state: this.$route.query.state, |
|
||||
jianyanrenyuan: '', |
|
||||
departmentId: this.$store.getters.departmentId, |
|
||||
isRepeat: false, |
|
||||
edit: false, |
|
||||
sybjSData: [], |
|
||||
sybjTData: [], |
|
||||
tableData: [], |
|
||||
users: [], |
|
||||
checkedTab: 'first', |
|
||||
cols: [ |
|
||||
{ |
|
||||
name: 'jianyanxiang', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { // 该列用于比较的值的获取方法 |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
} |
|
||||
], |
|
||||
ysjlId: this.$route.query.id, |
|
||||
complexShow: false |
|
||||
} |
|
||||
}, |
|
||||
computed: { |
|
||||
jilubianhao: function() { |
|
||||
let bianhao |
|
||||
if (this.ysjl.jilubianhao === null || this.ysjl.jilubianhao === undefined || this.ysjl.jilubianhao === '') { |
|
||||
return this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 |
|
||||
} else { |
|
||||
bianhao = this.ysjl.jilubianhao |
|
||||
} |
|
||||
return this.judgeRepeat(bianhao, this.ysjl.id) |
|
||||
} |
|
||||
}, |
|
||||
watch: { |
|
||||
jlbh4: function(val) { |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + 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() { |
|
||||
const jyxmtable = [1, 2] |
|
||||
if (this.state === 'create') { |
|
||||
this.initYsjl() |
|
||||
this.getMaxBh() |
|
||||
for (let i = 0; i < jyxmtable.length; i++) { |
|
||||
this.getJyxm(jyxmtable[i]) |
|
||||
} |
|
||||
} else { |
|
||||
this.getYsjl(this.$route.query.id) |
|
||||
for (let i = 0; i < jyxmtable.length; i++) { |
|
||||
this.getJyxmById(jyxmtable[i]) |
|
||||
} |
|
||||
} |
|
||||
this.getUserList() |
|
||||
if (this.param.yali === '' || this.param.yali === undefined) { |
|
||||
this.$set(this.param, 'yali', this.param.guoreqichukouyali) |
|
||||
} |
|
||||
}, |
|
||||
beforeDestroy() { |
|
||||
window.removeEventListener('beforeunload', this.beforeunloadHandler, false) |
|
||||
}, |
|
||||
methods: { |
|
||||
// 签名方法 |
|
||||
singNameValue(data) { |
|
||||
this.jianyanrenyuan = data.name |
|
||||
this.ysjl.jianyanrenyuan = data.id |
|
||||
if (this.state !== 'create') { |
|
||||
this.common.signName(this.ysjl.id, this.ysjl.jianyanrenyuan) |
|
||||
Utils.$emit('ysjl-list') |
|
||||
} |
|
||||
}, |
|
||||
// 查询最大记录编号 |
|
||||
getMaxBh() { |
|
||||
const aheadPart = this.jlbh1 + '' + this.jlbh2 + '' + this.jlbh3 |
|
||||
this.api({ |
|
||||
url: '/ysjl/gainCurrentBh', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
aheadPart: aheadPart + '-', |
|
||||
hinderPart: '' |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.jlbh4 = data |
|
||||
}) |
|
||||
}, |
|
||||
initYsjl() { |
|
||||
this.api({ |
|
||||
url: '/ysjl/initYsjl', |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
modelId: this.$route.query.modelId, |
|
||||
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.getXcjyrq() |
|
||||
this.ysjl.jilubianhao = this.jilubianhao |
|
||||
this.ysjl.baogaobianhao = null // 避免从设备中取值导致信息错误 |
|
||||
this.ysjl.jianyanjielun = '符合要求' |
|
||||
this.ysjl.jigouhezhunzhenghao = process.env.VUE_APP_HZZBH |
|
||||
this.ysjl.jianyanyiju = '《锅炉安全技术监察规程》、《锅炉定期检验规则》' |
|
||||
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/getYsjlById', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: id |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.ysjl = data.ysjl |
|
||||
this.complexShow = true |
|
||||
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 = {} |
|
||||
url = '/jyxm/getCyJyxm' |
|
||||
data = { |
|
||||
templateId: this.$route.query.modelId, |
|
||||
order: sort |
|
||||
} |
|
||||
this.api({ |
|
||||
url: url, |
|
||||
method: 'get', |
|
||||
params: data |
|
||||
}).then(data => { |
|
||||
switch (sort) { |
|
||||
case 1: |
|
||||
for (let i = 0; i < data.length; i++) { |
|
||||
const sybjSRow = {} |
|
||||
this.$set(sybjSRow, 'id', data[i].id) |
|
||||
this.$set(sybjSRow, 'jianyanxiang', data[i].jianyanxiang) |
|
||||
this.$set(sybjSRow, 'jianyanneirong', data[i].jianyanneirong) |
|
||||
this.$set(sybjSRow, 'beizhu', '√') |
|
||||
this.sybjSData.push(sybjSRow) |
|
||||
} |
|
||||
break |
|
||||
case 2: |
|
||||
for (let i = 0; i < data.length; i++) { |
|
||||
const sybjTRow = {} |
|
||||
this.$set(sybjTRow, 'id', data[i].id) |
|
||||
this.$set(sybjTRow, 'jianyanxiang', data[i].jianyanxiang) |
|
||||
this.$set(sybjTRow, 'jianyanneirong', data[i].jianyanneirong) |
|
||||
this.$set(sybjTRow, 'beizhu', '√') |
|
||||
this.sybjTData.push(sybjTRow) |
|
||||
} |
|
||||
break |
|
||||
default: |
|
||||
break |
|
||||
} |
|
||||
tableJs.getData(this.cols, this.rows, data) |
|
||||
}) |
|
||||
}, |
|
||||
getJyxmById(sort) { |
|
||||
const url = '/jyxm/getCyJyxmByYsjl' |
|
||||
const data = { |
|
||||
ysjlId: this.ysjlId, |
|
||||
isReport: false, |
|
||||
order: sort |
|
||||
} |
|
||||
this.api({ |
|
||||
url: url, |
|
||||
method: 'get', |
|
||||
params: data |
|
||||
}).then(data => { |
|
||||
switch (sort) { |
|
||||
case 1: |
|
||||
this.sybjSData = data |
|
||||
break |
|
||||
case 2: |
|
||||
this.sybjTData = data |
|
||||
break |
|
||||
default: |
|
||||
break |
|
||||
} |
|
||||
tableJs.getData(this.cols, this.rows, data) |
|
||||
}) |
|
||||
}, |
|
||||
// 获取表格中的id, 不为空的检验结果和备注 |
|
||||
getProp: function(data) { |
|
||||
const retData = [] |
|
||||
for (let i = 0; i < data.length; i++) { |
|
||||
const retRow = {} |
|
||||
this.$set(retRow, 'id', data[i].id) |
|
||||
this.$set(retRow, 'beizhu', data[i].beizhu) |
|
||||
retData.push(retRow) |
|
||||
} |
|
||||
return retData |
|
||||
}, |
|
||||
getUserList() { |
|
||||
this.api({ |
|
||||
url: '/user/getAllUserList', |
|
||||
method: 'get' |
|
||||
}).then(data => { |
|
||||
this.users = data |
|
||||
}) |
|
||||
}, |
|
||||
saveYsjl: function(operation) { |
|
||||
if (operation === 'add') { |
|
||||
if (this.jlbh4.trim() === '') { |
|
||||
this.$message({ message: '请先确认记录编号是否完整!', type: 'warning' }) |
|
||||
return false |
|
||||
} |
|
||||
} |
|
||||
// 把第一个检验项目表中的检验结果单独放到字段中 |
|
||||
this.tableData = [] |
|
||||
this.tableData.push(this.getProp(this.sybjSData)) |
|
||||
this.tableData.push(this.getProp(this.sybjTData)) |
|
||||
let url = '' |
|
||||
this.ysjl.bglx = 1 |
|
||||
this.ysjl.cjState = 'ysjl' |
|
||||
this.ysjl.zfState = '0' |
|
||||
this.ysjl.jianyanxiangmu = 'dzwb' |
|
||||
this.ysjl.jlprintState = 0 |
|
||||
if (this.ysjl.jianyanjielun === '不符合要求') { |
|
||||
this.ysjl.xiacijianyanriqi = null |
|
||||
} |
|
||||
if (operation === 'add') { |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 |
|
||||
url = '/ysjl/saveYsjl' |
|
||||
} 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 |
|
||||
} |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} else if (operation === 'upd') { |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} |
|
||||
if (this.isRepeat) { |
|
||||
this.$message({ message: '记录编号重复,请先修改记录编号再保存', type: 'error' }) |
|
||||
return false |
|
||||
} else { |
|
||||
this.$refs['ysjl'].validate(valid => { |
|
||||
if (valid) { |
|
||||
const jyxm = JSON.stringify(this.tableData) |
|
||||
this.api({ |
|
||||
url: url, |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
ysjl: this.ysjl, |
|
||||
param: this.param, |
|
||||
jyxm: jyxm, |
|
||||
bgjyxm: jyxm, |
|
||||
flag: operation |
|
||||
} |
|
||||
}).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 |
|
||||
// 修改16版任务状态 |
|
||||
this.common.updStateByNew(this.ysjl.renwuId, '2', false) |
|
||||
// 刷新路由网址 |
|
||||
this.$store.dispatch('delCurrentViews', { |
|
||||
view: this.$route, |
|
||||
$router: this.$router |
|
||||
}) |
|
||||
// this.$router.push({ |
|
||||
// path: '/ysjl/1000/wb/dzwb' + '/' + this.ysjl.id, |
|
||||
// query: { state: 'update', id: this.ysjl.id, departmentId: this.ysjl.departmentId, jianyanrenyuan: this.ysjl.jianyanrenyuan } |
|
||||
// }) |
|
||||
} else if (operation === 'upd') { |
|
||||
this.$message({ message: '更新成功', type: 'success' }) |
|
||||
// this.$refs.bill.updateChargeBill() |
|
||||
// 替换路由中的参数 |
|
||||
this.$router.push({ |
|
||||
query: merge(this.$route.query, { 'jianyanrenyuan': this.ysjl.jianyanrenyuan }) |
|
||||
}) |
|
||||
} 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() { |
|
||||
var dateTemp = this.ysjl.jianyanjieshuriqi.split('-') |
|
||||
const xcjyrq = new Date((Number(dateTemp[0]) + 1) + '-' + dateTemp[1] + '-' + dateTemp[2]) |
|
||||
this.ysjl.xiacijianyanriqi = xcjyrq.setDate(xcjyrq.getDate() - 1) |
|
||||
}, |
|
||||
grqckylChange(val) { |
|
||||
this.param.yali = val |
|
||||
}, |
|
||||
grqckwdChange(val) { |
|
||||
this.param.wendu = val |
|
||||
}, |
|
||||
// F5刷新监听 |
|
||||
beforeunloadHandler(e) { |
|
||||
e.returnValue = '' |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
@ -1,172 +0,0 @@ |
|||||
<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"> |
|
||||
保存 |
|
||||
</el-button> |
|
||||
<el-button v-if="state === 'update'" type="success" icon="el-icon-edit" size="medium" @click="saveYsjl"> |
|
||||
更新 |
|
||||
</el-button> |
|
||||
</div> |
|
||||
</sticky> |
|
||||
<el-form ref="ysjl" :model="ysjl" class="el-form" label-position="right" label-width="130px"> |
|
||||
<fieldset> |
|
||||
<legend>附图</legend> |
|
||||
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请先保存再上传图片</span> |
|
||||
<el-upload |
|
||||
v-if="state !== 'create'" |
|
||||
ref="upload" |
|
||||
:on-preview="handlePictureCardPreview" |
|
||||
:file-list="fileList" |
|
||||
:before-upload="beforeUpload" |
|
||||
:before-remove="beforeRemove" |
|
||||
:on-remove="handleRemove" |
|
||||
action="123" |
|
||||
accept="image/png,image/gif,image/jpg,image/jpeg" |
|
||||
list-type="picture-card" |
|
||||
> |
|
||||
<i class="el-icon-plus" /> |
|
||||
</el-upload> |
|
||||
<el-dialog :visible.sync="dialogVisible"> |
|
||||
<img :src="dialogImageUrl" width="100%" alt=""> |
|
||||
</el-dialog> |
|
||||
</fieldset> |
|
||||
</el-form> |
|
||||
</div> |
|
||||
</template> |
|
||||
<script> |
|
||||
import Sticky from '@/components/Sticky' |
|
||||
export default { |
|
||||
name: 'GlDxtYsjl', |
|
||||
components: { Sticky }, |
|
||||
data() { |
|
||||
return { |
|
||||
ysjl: {}, |
|
||||
param: {}, |
|
||||
fileList: [], |
|
||||
state: '', |
|
||||
dialogVisible: false, |
|
||||
dialogImageUrl: '', |
|
||||
sort: 1 |
|
||||
} |
|
||||
}, |
|
||||
created() { |
|
||||
this.getInfo() |
|
||||
}, |
|
||||
methods: { |
|
||||
getInfo() { |
|
||||
this.api({ |
|
||||
url: '/fx/getFxByYsjlId', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: this.$route.query.id, |
|
||||
jyxm: this.$route.query.jyxm |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.ysjl = data.ysjl |
|
||||
this.state = 'create' |
|
||||
if (data.param !== null && data.param !== undefined) { |
|
||||
// 有无损原始记录参数 |
|
||||
this.state = 'update' |
|
||||
this.param = data.param |
|
||||
this.fileList = (data.param.imagePath === null || data.param.imagePath === '') ? JSON.parse('[]') : JSON.parse(data.param.imagePath) |
|
||||
if (this.fileList.length > 0) { |
|
||||
for (let i = 0; i < this.fileList.length; i++) { |
|
||||
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '1000/dxt/' + this.fileList[i].name |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
beforeRemove(file, fileList) { |
|
||||
if (file.status === 'success') { |
|
||||
return this.$confirm('图片删除后将不能恢复,是否确定删除该图片?', '提示', { |
|
||||
confirmButtonText: '确定', |
|
||||
cancelButtonText: '取消', |
|
||||
type: 'warning' |
|
||||
}).then(data => { |
|
||||
return null |
|
||||
}).catch(e => { |
|
||||
e() |
|
||||
}) |
|
||||
} |
|
||||
}, |
|
||||
handleRemove(file, fileList) { |
|
||||
if (fileList.length > 0) { |
|
||||
const imgList = [] |
|
||||
for (let i = 0; i < fileList.length; i++) { |
|
||||
const img = {} |
|
||||
this.$set(img, 'name', fileList[i].name) |
|
||||
imgList.push(img) |
|
||||
} |
|
||||
fileList = imgList |
|
||||
} else { |
|
||||
fileList = '' |
|
||||
} |
|
||||
const imgPath = fileList === '' ? '' : JSON.stringify(fileList) |
|
||||
if (file.status === 'success') { |
|
||||
this.preview({ |
|
||||
url: '/upload/delImg', |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
ysjlId: this.ysjl.id, |
|
||||
delFileName: file.name, |
|
||||
imgPath: imgPath, |
|
||||
sort: this.sort |
|
||||
} |
|
||||
}) |
|
||||
} |
|
||||
this.param.imagePath = fileList |
|
||||
}, |
|
||||
beforeUpload(file) { |
|
||||
const isJPG = file.type === 'image/jpeg' || file.type === 'image/png' |
|
||||
if (!isJPG) { |
|
||||
this.$message.error('只能上传jpg/png格式的图片') |
|
||||
return false |
|
||||
} |
|
||||
const fd = new FormData() |
|
||||
fd.append('file', file) |
|
||||
fd.append('ysjlId', this.ysjl.id) |
|
||||
fd.append('sort', this.sort) |
|
||||
this.preview({ |
|
||||
url: '/upload/uploadImg', |
|
||||
method: 'post', |
|
||||
data: fd |
|
||||
}).then(data => { |
|
||||
this.fileList = JSON.parse(data) |
|
||||
this.param.imagePath = data |
|
||||
for (let i = 0; i < this.fileList.length; i++) { |
|
||||
this.fileList[i].url = process.env.VUE_APP_IMG_URL + '1000/dxt/' + this.fileList[i].name |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
handlePictureCardPreview(file) { |
|
||||
this.dialogImageUrl = file.url |
|
||||
this.dialogVisible = true |
|
||||
}, |
|
||||
saveYsjl() { |
|
||||
if (this.fileList.length <= 0) { |
|
||||
this.ysjl.flowstatus = null |
|
||||
// 删除分项 |
|
||||
} else { |
|
||||
this.ysjl.flowstatus = 4 |
|
||||
} |
|
||||
this.ysjl.bglx = 3 |
|
||||
this.param.ysjlId = this.ysjl.id |
|
||||
this.api({ |
|
||||
url: '/fx/saveFx', |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
ysjl: this.ysjl, |
|
||||
jyxm: this.ysjl.jianyanxiangmu, |
|
||||
fxObj: this.param |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.$message({ message: '操作成功', type: 'success' }) |
|
||||
this.state = 'update' |
|
||||
}) |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
@ -1,167 +0,0 @@ |
|||||
<template> |
|
||||
<div class="app-container"> |
|
||||
<sticky style="margin-bottom: 10px;"> |
|
||||
<btn ref="btn" /> |
|
||||
</sticky> |
|
||||
<el-form ref="ysjl" :model="ysjl" class="el-form" label-position="right" label-width="130px"> |
|
||||
<fieldset> |
|
||||
<legend>基本信息</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="记录编号" prop="jilubianhao"> |
|
||||
<el-input v-model="ysjl.jilubianhao" disabled /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="报检单位" prop="baojiandanwei"> |
|
||||
<el-input v-model="param.baojiandanwei" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<!--<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="产品名称" prop="shebeimingcheng"> |
|
||||
<el-input v-model="ysjl.shebeimingcheng" :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="18" style="height: 130px;"> |
|
||||
<el-form-item label="备注" prop="beizhu"> |
|
||||
<el-input v-model="ysjl.beizhu" :disabled="edit" :rows="5" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<el-table ref="tableData" :data="tableData" :span-method="tableJs.mergeColRows" border style="margin-top: 10px;width:90%"> |
|
||||
<el-table-column type="index" align="center" width="60" label="序号" /> |
|
||||
<el-table-column align="center" label="审查内容"> |
|
||||
<el-table-column align="center" prop="jianyanxiang" /> |
|
||||
<el-table-column align="center" prop="jianyanmu" /> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="C1" label="安全阀"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.C1" :disabled="edit" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="C2" label="压力表"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.C2" :disabled="edit" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="C3" label="温度计"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.C3" :disabled="edit" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="C4" label="液位计"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.C4" :disabled="edit" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="C5" label="超压保护装置"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.C5" :disabled="edit" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="C6" label="熄火保护装置"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.C6" :disabled="edit" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
</el-form> |
|
||||
</div> |
|
||||
</template> |
|
||||
<script> |
|
||||
import Sticky from '@/components/Sticky' |
|
||||
import btn from '@/views/common/FxButton' |
|
||||
export default { |
|
||||
name: 'RqZbgTbl', |
|
||||
components: { Sticky, btn }, |
|
||||
data() { |
|
||||
return { |
|
||||
ysjl: {}, |
|
||||
param: {}, |
|
||||
tableData: [], |
|
||||
edit: false, |
|
||||
state: '', |
|
||||
cols: [ |
|
||||
{ |
|
||||
name: 'jianyanxiang', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { // 该列用于比较的值的获取方法 |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
} |
|
||||
] |
|
||||
} |
|
||||
}, |
|
||||
created() { |
|
||||
this.getInfo() |
|
||||
}, |
|
||||
methods: { |
|
||||
getInfo() { |
|
||||
this.api({ |
|
||||
url: '/fx/getFxByYsjlId', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: this.$route.query.id, |
|
||||
jyxm: this.$route.query.jyxm |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.ysjl = data.ysjl |
|
||||
this.state = 'create' |
|
||||
if (data.param !== null && data.param !== undefined) { |
|
||||
// 有无损原始记录参数 |
|
||||
this.state = 'update' |
|
||||
this.param = data.param |
|
||||
this.tableData = JSON.parse(data.param.fubiao) ? JSON.parse(data.param.fubiao) : JSON.parse('[]') |
|
||||
} else { |
|
||||
// TODO |
|
||||
} |
|
||||
if (this.ysjl.flowstatus === 4) { |
|
||||
this.state = 'finish' |
|
||||
this.edit = true |
|
||||
} |
|
||||
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm, true, false) |
|
||||
if (this.state === 'create') { |
|
||||
this.getJyxm(1) |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
// 查询检验项目 |
|
||||
getJyxm(sort) { |
|
||||
this.api({ |
|
||||
url: '/jyxm/getCyJyxm', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
templateId: this.ysjl.modelId, |
|
||||
order: sort |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.tableData = [] |
|
||||
data.forEach(row => { |
|
||||
this.tableData.push({ |
|
||||
jianyanxiang: row.jianyanxiang, |
|
||||
jianyanmu: row.jianyanmu, |
|
||||
C7: undefined, |
|
||||
C8: undefined |
|
||||
}) |
|
||||
}) |
|
||||
this.tableJs.getData(this.cols, undefined, this.tableData) |
|
||||
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm, true, false) |
|
||||
}) |
|
||||
}, |
|
||||
beforeSaveBuildData() { |
|
||||
// TODO |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
@ -1,254 +0,0 @@ |
|||||
<!--壁厚测定--> |
|
||||
<template> |
|
||||
<div class="app-container"> |
|
||||
<sticky style="margin-bottom: 10px;"> |
|
||||
<btn ref="btn" /> |
|
||||
</sticky> |
|
||||
<el-form ref="ysjl" :model="ysjl" class="el-form" label-position="right" label-width="130px"> |
|
||||
<fieldset> |
|
||||
<legend>基本信息</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="记录编号" prop="jilubianhao"> |
|
||||
<el-input v-model="ysjl.jilubianhao" disabled /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="报检单位" prop="baojiandanwei"> |
|
||||
<el-input v-model="param.baojiandanwei" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<!--<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="部件名称" prop="shebeimingcheng"> |
|
||||
<el-input v-model="ysjl.shebeimingcheng" :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="celiangyiqixinghao"> |
|
||||
<el-input v-model="param.celiangyiqixinghao" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="试块厚度" prop="shikuaihoudu"> |
|
||||
<el-input v-model="param.shikuaihoudu" :disabled="edit"> |
|
||||
<template slot="append"> |
|
||||
mm |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="结论" prop="jianyanjielun"> |
|
||||
<el-input v-model="ysjl.jianyanjielun" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>测点部位示意图</legend> |
|
||||
<span v-if="state === 'create'" style="color: red;font-size: 26px;">请在原始记录保存后上传示意图</span> |
|
||||
<pictureUpload v-else ref="picture" :info="sytInfo" @changed="changed" /> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>测厚记录</legend> |
|
||||
<el-button type="success" icon="el-icon-download" size="mini" style="margin-right: 10px;" @click="common.downloadTemplate('xxx.xlsx')"> |
|
||||
下载导入模板 |
|
||||
</el-button> |
|
||||
<el-upload |
|
||||
:show-file-list="false" |
|
||||
:before-upload="uploadTableData" |
|
||||
style="float: left; margin-right: 10px;" |
|
||||
action="" |
|
||||
> |
|
||||
<el-button type="primary" size="mini" icon="el-icon-upload" :disabled="edit"> |
|
||||
导入数据 |
|
||||
</el-button> |
|
||||
</el-upload> |
|
||||
<el-button v-if="state !== 'bgView'" type="success" size="mini" icon="el-icon-circle-plus-outline" :disabled="edit" @click="addChRow()"> |
|
||||
添加 |
|
||||
</el-button> |
|
||||
<el-button v-if="state !== 'bgView'" type="danger" size="mini" icon="el-icon-remove-outline" :disabled="edit" @click="delChRow()"> |
|
||||
删除 |
|
||||
</el-button> |
|
||||
<el-table id="myTable" ref="tableData" :data="tableData" border style="width:100%;margin-top: 5px;"> |
|
||||
<el-table-column type="selection" width="40px" /> |
|
||||
<el-table-column type="index" width="60px" label="序号" align="center" /> |
|
||||
<el-table-column align="center" prop="C1" width="100px" label="测点编号"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.C1" :disabled="edit" size="mini" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="C2" width="200px" label="测点设计厚度(mm)"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.C2" :disabled="edit" size="mini" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="C3" width="200px" label="测点实测厚度(mm)"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.C3" :disabled="edit" size="mini" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="C4" width="100px" label="测点编号"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.C4" :disabled="edit" size="mini" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="C5" width="200px" label="测点设计厚度(mm)"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.C5" :disabled="edit" size="mini" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="C6" width="200px" label="测点实测厚度(mm)"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.C6" :disabled="edit" size="mini" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
</fieldset> |
|
||||
</el-form> |
|
||||
</div> |
|
||||
</template> |
|
||||
<script> |
|
||||
import Sticky from '@/components/Sticky' |
|
||||
import btn from '@/views/common/FxButton' |
|
||||
import pictureUpload from '@/components/Upload' |
|
||||
|
|
||||
export default { |
|
||||
name: 'RqZbgBhcd2100', |
|
||||
components: { Sticky, btn, pictureUpload }, |
|
||||
data() { |
|
||||
return { |
|
||||
ysjl: {}, |
|
||||
param: {}, |
|
||||
tableData: [], |
|
||||
delRowIndex: [], |
|
||||
state: '', |
|
||||
edit: false, |
|
||||
info: { |
|
||||
ysjlId: this.$route.query.id, |
|
||||
jyxm: this.$route.query.jyxm, |
|
||||
limit: 1 |
|
||||
}, |
|
||||
fileList: [], |
|
||||
sytInfo: { |
|
||||
ysjlId: this.$route.query.id, |
|
||||
jyxm: 'bhcd', |
|
||||
flowstatus: 4 |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
created() { |
|
||||
this.getInfo() |
|
||||
}, |
|
||||
methods: { |
|
||||
getInfo() { |
|
||||
this.api({ |
|
||||
url: '/fx/getFxByYsjlId', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: this.$route.query.id, |
|
||||
jyxm: this.$route.query.jyxm |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.ysjl = data.ysjl |
|
||||
this.state = 'create' |
|
||||
if (data.param !== null && data.param !== undefined) { |
|
||||
// 有无损原始记录参数 |
|
||||
this.state = 'update' |
|
||||
this.param = data.param |
|
||||
this.tableData = JSON.parse(data.param.fubiao) === null ? JSON.parse('[]') : JSON.parse(data.param.fubiao) |
|
||||
this.fileList = JSON.parse(data.param.imagePath) === null ? JSON.parse('[]') : JSON.parse(data.param.imagePath) |
|
||||
} else { |
|
||||
this.param = {} |
|
||||
} |
|
||||
if (this.ysjl.flowstatus === 4) { |
|
||||
this.state = 'finish' |
|
||||
this.edit = true |
|
||||
} |
|
||||
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm, true, false) |
|
||||
this.fileList.forEach(row => { |
|
||||
row.url = process.env.VUE_APP_IMG_URL + '1000/bhcd/' + row.name |
|
||||
}) |
|
||||
this.$refs.picture.getChange(this.ysjl.shebeizhongleidaima, this.state, this.fileList, 1, this.ysjl.id) |
|
||||
}) |
|
||||
}, |
|
||||
addChRow: function() { |
|
||||
const d = { C1: '', C2: '', C3: '', C4: '', C5: '', C6: '' } |
|
||||
this.tableData.push(d) |
|
||||
setTimeout(() => { |
|
||||
this.$refs.tableData.setCurrentRow(d) |
|
||||
}, 10) // 用于延时渲染后选中这行 |
|
||||
}, |
|
||||
delChRow: function() { |
|
||||
if (this.delRowIndex.length === 0) { |
|
||||
this.$message({ |
|
||||
type: 'error', |
|
||||
message: '请选中需要删除的数据!' |
|
||||
}) |
|
||||
return false |
|
||||
} else { |
|
||||
// 对delRowIndex进行排序,因为删除一个元素后index值会变 |
|
||||
this.delRowIndex.sort(function(x, y) { |
|
||||
if (x < y) { |
|
||||
return 1 |
|
||||
} |
|
||||
if (x > y) { |
|
||||
return -1 |
|
||||
} |
|
||||
return 0 |
|
||||
}) |
|
||||
for (let i = 0; i < this.delRowIndex.length; i++) { |
|
||||
this.tableData.splice(this.delRowIndex[i], 1) |
|
||||
} |
|
||||
this.$refs.tableData.clearSelection() |
|
||||
this.delRowIndex = [] |
|
||||
} |
|
||||
}, |
|
||||
// 表格单击选中行 |
|
||||
onRowClick(row) { |
|
||||
this.$refs.tableData.toggleRowSelection(row) |
|
||||
}, |
|
||||
tableRowClassName({ row, rowIndex }) { |
|
||||
row.index = rowIndex |
|
||||
}, |
|
||||
handleSelectionChange(val) { |
|
||||
this.delRowIndex = [] |
|
||||
for (let i = 0; i < val.length; i++) { |
|
||||
this.delRowIndex.push(val[i].index) |
|
||||
} |
|
||||
}, |
|
||||
// 上传数据 |
|
||||
uploadTableData(file) { |
|
||||
this.common.uploadTableData(file, this.tableData) |
|
||||
}, |
|
||||
changed(item) { |
|
||||
this.fileList = item |
|
||||
}, |
|
||||
/** |
|
||||
* 数据构建 |
|
||||
*/ |
|
||||
beforeSaveBuildData() { |
|
||||
// TODO |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
<style> |
|
||||
#myTable .el-input__inner{ |
|
||||
padding: 0px 5px; |
|
||||
text-align: center; |
|
||||
} |
|
||||
</style> |
|
@ -1,120 +0,0 @@ |
|||||
<template> |
|
||||
<div class="app-container"> |
|
||||
<sticky style="margin-bottom: 10px;"> |
|
||||
<btn ref="btn" /> |
|
||||
</sticky> |
|
||||
<el-form ref="ysjl" :model="ysjl" class="el-form" label-position="right" label-width="130px"> |
|
||||
<fieldset> |
|
||||
<legend>基本信息</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="记录编号" prop="jilubianhao"> |
|
||||
<el-input v-model="ysjl.jilubianhao" disabled /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="报检单位" prop="baojiandanwei"> |
|
||||
<el-input v-model="param.baojiandanwei" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<!--<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="产品名称" prop="shebeimingcheng"> |
|
||||
<el-input v-model="ysjl.shebeimingcheng" :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>--> |
|
||||
</fieldset> |
|
||||
<el-table ref="tableData" :data="tableData" border style="margin-top: 10px;width:90%"> |
|
||||
<el-table-column align="center" prop="C1" label="审查内容" /> |
|
||||
<el-table-column align="center" prop="C2" label="审查情况"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.C2" :disabled="edit" placeholder="请输入内容" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
</el-form> |
|
||||
</div> |
|
||||
</template> |
|
||||
<script> |
|
||||
import Sticky from '@/components/Sticky' |
|
||||
import btn from '@/views/common/FxButton' |
|
||||
export default { |
|
||||
name: 'RqZbgTbl', |
|
||||
components: { Sticky, btn }, |
|
||||
data() { |
|
||||
return { |
|
||||
ysjl: {}, |
|
||||
param: {}, |
|
||||
tableData: [], |
|
||||
edit: false, |
|
||||
state: '' |
|
||||
} |
|
||||
}, |
|
||||
created() { |
|
||||
this.getInfo() |
|
||||
}, |
|
||||
methods: { |
|
||||
getInfo() { |
|
||||
this.api({ |
|
||||
url: '/fx/getFxByYsjlId', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: this.$route.query.id, |
|
||||
jyxm: this.$route.query.jyxm |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.ysjl = data.ysjl |
|
||||
this.state = 'create' |
|
||||
if (data.param !== null && data.param !== undefined) { |
|
||||
// 有无损原始记录参数 |
|
||||
this.state = 'update' |
|
||||
this.param = data.param |
|
||||
this.tableData = this.param.fubiao ? JSON.parse(this.param.fubiao) : [] |
|
||||
} else { |
|
||||
// TODO |
|
||||
} |
|
||||
if (this.ysjl.flowstatus === 4) { |
|
||||
this.state = 'finish' |
|
||||
this.edit = true |
|
||||
} |
|
||||
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm, true, false) |
|
||||
if (this.state === 'create') { |
|
||||
this.getJyxm(1) |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
// 查询检验项目 |
|
||||
getJyxm(sort) { |
|
||||
this.api({ |
|
||||
url: '/jyxm/getCyJyxm', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
templateId: this.ysjl.modelId, |
|
||||
order: sort |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.tableData = [] |
|
||||
data.forEach(row => { |
|
||||
this.tableData.push({ |
|
||||
C1: row.jianyanxiang, |
|
||||
C2: row.jianyanjieguo |
|
||||
}) |
|
||||
}) |
|
||||
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm, true, false) |
|
||||
}) |
|
||||
}, |
|
||||
beforeSaveBuildData() { |
|
||||
// TODO |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
@ -1,133 +0,0 @@ |
|||||
<template> |
|
||||
<div class="app-container"> |
|
||||
<sticky style="margin-bottom: 10px;"> |
|
||||
<btn ref="btn" /> |
|
||||
</sticky> |
|
||||
<el-form ref="ysjl" :model="ysjl" class="el-form" label-position="right" label-width="130px"> |
|
||||
<fieldset> |
|
||||
<legend>基本信息</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="记录编号" prop="jilubianhao"> |
|
||||
<el-input v-model="ysjl.jilubianhao" disabled /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="报检单位" prop="baojiandanwei"> |
|
||||
<el-input v-model="param.baojiandanwei" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<!--<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="产品名称" prop="shebeimingcheng"> |
|
||||
<el-input v-model="ysjl.shebeimingcheng" :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="18"> |
|
||||
<el-form-item label="结论" prop="jianyanjielun"> |
|
||||
<el-input v-model="ysjl.jianyanjielun" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<el-table ref="tableData" :data="tableData" border style="margin-top: 10px;width:90%"> |
|
||||
<el-table-column align="center" prop="C1" label="检查项目" /> |
|
||||
<el-table-column align="center" prop="C2" label="检验内容"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.C2" :disabled="edit" placeholder="请输入内容" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="C3" label="检查结果"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.C3" :disabled="edit" placeholder="请输入内容" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
</el-form> |
|
||||
</div> |
|
||||
</template> |
|
||||
<script> |
|
||||
import Sticky from '@/components/Sticky' |
|
||||
import btn from '@/views/common/FxButton' |
|
||||
export default { |
|
||||
name: 'RqZbgTbl', |
|
||||
components: { Sticky, btn }, |
|
||||
data() { |
|
||||
return { |
|
||||
ysjl: {}, |
|
||||
param: {}, |
|
||||
tableData: [], |
|
||||
edit: false, |
|
||||
state: '' |
|
||||
} |
|
||||
}, |
|
||||
created() { |
|
||||
this.getInfo() |
|
||||
}, |
|
||||
methods: { |
|
||||
getInfo() { |
|
||||
this.api({ |
|
||||
url: '/fx/getFxByYsjlId', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: this.$route.query.id, |
|
||||
jyxm: this.$route.query.jyxm |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.ysjl = data.ysjl |
|
||||
this.state = 'create' |
|
||||
if (data.param !== null && data.param !== undefined) { |
|
||||
// 有无损原始记录参数 |
|
||||
this.state = 'update' |
|
||||
this.param = data.param |
|
||||
this.tableData = JSON.parse(data.param.fubiao) ? JSON.parse(data.param.fubiao) : JSON.parse('[]') |
|
||||
} else { |
|
||||
// TODO |
|
||||
} |
|
||||
if (this.ysjl.flowstatus === 4) { |
|
||||
this.state = 'finish' |
|
||||
this.edit = true |
|
||||
} |
|
||||
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm, true, false) |
|
||||
if (this.state === 'create') { |
|
||||
this.getJyxm(1) |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
// 查询检验项目 |
|
||||
getJyxm(sort) { |
|
||||
this.api({ |
|
||||
url: '/jyxm/getCyJyxm', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
templateId: this.ysjl.modelId, |
|
||||
order: sort |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.tableData = [] |
|
||||
data.forEach(row => { |
|
||||
this.tableData.push({ |
|
||||
C1: row.jianyanxiang, |
|
||||
C2: row.jianyanneirong, |
|
||||
C3: row.jianyanjieguo |
|
||||
}) |
|
||||
}) |
|
||||
this.$refs.btn.getParentInfo(this.ysjl, this.param, null, this.tableData, this.state, this.$route.query.jyxm, true, false) |
|
||||
}) |
|
||||
}, |
|
||||
beforeSaveBuildData() { |
|
||||
// TODO |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
@ -1,697 +0,0 @@ |
|||||
<!--锅炉改造和重大修理--> |
|
||||
<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')"> |
|
||||
预览 |
|
||||
</el-button> |
|
||||
<Ft v-if="state !== 'create'" :state="state" :ysjl="ysjl" :ysjl-id="Number(ysjlId ? ysjlId : 0)" :department-id="Number(departmentId ? departmentId : 0)" style="margin-left: 10px;" /> |
|
||||
</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="130px"> |
|
||||
<fieldset> |
|
||||
<legend>基本信息</legend> |
|
||||
<el-row :gutter="25"> |
|
||||
<el-col v-if="state === 'create'" :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:80px" disabled />- |
|
||||
<el-input v-model="jlbh4" style="width:85px" @blur="judgeRepeat(jlbh1 + jlbh2 + jlbh3 + '-' + jlbh4 , 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="shiyongdengjibianhao"> |
|
||||
<el-input v-model="ysjl.shiyongdengjibianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备代码" prop="zhucedaima"> |
|
||||
<el-input v-model="ysjl.zhucedaima" type="text" /> |
|
||||
</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" 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" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="联系电话" prop="shiyongdanweiDianhua"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiDianhua" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="单位邮编" prop="shiyongdanweiYoubian"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiYoubian" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="锅炉型号" prop="guigexinghao"> |
|
||||
<el-input v-model="ysjl.guigexinghao" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="制造单位" prop="zhizaodanwei"> |
|
||||
<el-input v-model="ysjl.zhizaodanwei" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<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-col :span="9"> |
|
||||
<el-form-item label="额定蒸发量(热功率)" prop="edingzhengfaliang" label-width="170px"> |
|
||||
<el-input v-model="param.edingzhengfaliang" type="text"> |
|
||||
<template slot="append"> |
|
||||
t/h(MW) |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="产品编号" prop="chanpinbianhao"> |
|
||||
<el-input v-model="ysjl.chanpinbianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定压力" prop="edingyali"> |
|
||||
<el-input v-model="param.edingyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定温度" prop="edingwendu"> |
|
||||
<el-input v-model="param.edingwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备类别" prop="shebeileibiedaima"> |
|
||||
<el-select v-model="ysjl.shebeileibiedaima" placeholder="设备类别" style="width: 100%" @change="getSbpzList"> |
|
||||
<el-option v-for="item in sblbList" :key="item.value" :label="item.label" :value="item.value" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="允许工作压力" prop="gongzuoyali"> |
|
||||
<el-input v-model="param.gongzuoyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="允许工作温度" prop="yunxugongzuowendu"> |
|
||||
<el-input v-model="param.yunxugongzuowendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备品种(名称)" prop="shebeipinzhongdaima"> |
|
||||
<el-select v-model="ysjl.shebeipinzhongdaima" placeholder="设备品种" style="width: 100%" @change="setSbpz"> |
|
||||
<el-option v-for="item in sbpzList" :key="item.value" :label="item.label" :value="item.value" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="水(耐)压试验压力" prop="shuiyashiyanyali" label-width="150px"> |
|
||||
<el-input v-model="param.shuiyashiyanyali" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="使用压力" prop="shiyongyali"> |
|
||||
<el-input v-model="param.shiyongyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="内部编号" prop="danweineibubianhao"> |
|
||||
<el-input v-model="ysjl.danweineibubianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="施工单位" prop="shigongdanwei"> |
|
||||
<el-input v-model="ysjl.shigongdanwei" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="告知书编号" prop="gaozhibianhao"> |
|
||||
<el-input v-model="param.gaozhibianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="许可证编号" prop="shigongxukezheng"> |
|
||||
<el-input v-model="ysjl.shigongxukezheng" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="许可级别" prop="shigongxukezhengjibie"> |
|
||||
<el-input v-model="ysjl.shigongxukezhengjibie" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="施工单位联系人" prop="shigongdanweiLianxiren"> |
|
||||
<el-input v-model="ysjl.shigongdanweiLianxiren" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="施工单位联系电话" prop="shigongdanweiDianhua"> |
|
||||
<el-input v-model="ysjl.shigongdanweiDianhua" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>检查与校验</legend> |
|
||||
<el-row :gutter="20" style="text-align:left;margin-left: 50px;font-size: 18px;color: #606266;line-height: 40px;font-weight: bolder;"> |
|
||||
根据《中华人民共和国特种设备安全法》、《特种设备安全监察条例》的规定,该锅炉 的( |
|
||||
<el-select v-model="ysjl.shigongleibie" placeholder="请选择" style="width: 120px;"> |
|
||||
<el-option v-for="item in sglbList" :key="item" :label="item" :value="item" /> |
|
||||
</el-select>)经我机构监督检验,符合《锅炉安全技术规程》规定的基本安 全要求,特发此证书。 |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="margin-top: 20px;"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验日期" prop="jianyanjieshuriqi"> |
|
||||
<el-date-picker v-model="ysjl.jianyanjieshuriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="10"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验人员" prop="jianyanrenyuan"> |
|
||||
<el-input v-model="jianyanrenyuan" disabled /> |
|
||||
<el-input v-show="false" v-model="ysjl.jianyanrenyuan" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<sign-name :jianyanrenyuan="jianyanrenyuan" :ysjl="ysjl" @setSignValue="signNameValue" /> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18" style="height: 130px;"> |
|
||||
<el-form-item label="锅炉修理、改造的主要内容及范围:" prop="weihujianxiuqingkuangshuoming" label-width="230px"> |
|
||||
<el-input v-model="param.wentijizai" :rows="5" :disabled="edit" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
</el-form> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane label="锅炉改造和重大修理监督检验项目表" name="second"> |
|
||||
<el-table ref="bgfyData" :data="bgfyData" :span-method="tableJs.mergeColRows" border stripe @row-click="onRowClick"> |
|
||||
<el-table-column type="selection" width="55" /> |
|
||||
<el-table-column type="index" align="center" width="50" label="序号" /> |
|
||||
<el-table-column align="center" prop="jianyanxiang" width="200" label="检验项目" /> |
|
||||
<el-table-column align="center" prop="jianyanjieguo" label="检查结果"> |
|
||||
<template slot-scope="scope"> |
|
||||
<span v-if="scope.$index === 4"> |
|
||||
保压时间:<el-input v-model="param.baoyashijian" style="width: 25%;" />min, |
|
||||
水(耐)压试验压力:<el-input v-model="param.shuiyashiyanyali" style="width: 25%;" />MPa |
|
||||
</span> |
|
||||
<el-autocomplete v-else v-model="scope.row.jianyanjieguo" :fetch-suggestions="querySearch" :disabled="edit" style="width: 100%;" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="beizhu" label="备注"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.beizhu" :disabled="edit" placeholder="请输入内容" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
<el-form class="el-form" style="margin-top: 10px;"> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18" style="height: 170px;"> |
|
||||
<el-form-item label="其它记录内容:" prop="beizhu"> |
|
||||
<el-input v-model="ysjl.beizhu" :rows="5" :disabled="edit" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</el-form> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane v-if="state !== 'create'" label="检验收费情况" name="jysfqk"> |
|
||||
<complex-bill v-if="complexShow" ref="bill" :ysjl="ysjl" /> |
|
||||
</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 Ft from '@/views/ysjl/1000/common/glft' |
|
||||
import ComplexBill from '@/views/chargeBill/components/complex' |
|
||||
export default { |
|
||||
name: 'GlGzwxYsjl', |
|
||||
components: { SignName, Sticky, Ft, ComplexBill }, |
|
||||
data() { |
|
||||
return { |
|
||||
jlbh1: 'GX(', |
|
||||
jlbh2: new Date().getFullYear(), |
|
||||
jlbh3: ')', |
|
||||
ysjl: {}, |
|
||||
param: {}, |
|
||||
state: this.$route.query.state, |
|
||||
jianyanrenyuan: '', |
|
||||
departmentId: this.$route.query.departmentId, |
|
||||
isRepeat: false, |
|
||||
edit: false, |
|
||||
bgfyData: [], |
|
||||
tableData: [], |
|
||||
checkedTab: 'first', |
|
||||
sblbList: [], |
|
||||
sbpzList: [], |
|
||||
ysjlId: this.$route.query.id, |
|
||||
jyjgOption: [{ value: '符合要求' }, { value: '不符合要求' }, { value: '无此项' }], |
|
||||
sglbList: ['改造', '重大修理'], |
|
||||
complexShow: false |
|
||||
} |
|
||||
}, |
|
||||
computed: { |
|
||||
jilubianhao: function() { |
|
||||
let bianhao |
|
||||
if (this.ysjl.jilubianhao === null || this.ysjl.jilubianhao === undefined || this.ysjl.jilubianhao === '') { |
|
||||
return this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 |
|
||||
} else { |
|
||||
bianhao = this.ysjl.jilubianhao |
|
||||
} |
|
||||
return this.judgeRepeat(bianhao, this.ysjl.id) |
|
||||
} |
|
||||
}, |
|
||||
watch: { |
|
||||
jlbh4: function(val) { |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + val |
|
||||
this.judgeRepeat(this.ysjl.jilubianhao, this.ysjl.id) |
|
||||
}, |
|
||||
jilubianhao: function(newValue) { |
|
||||
this.judgeRepeat(newValue, this.ysjl.id) |
|
||||
} |
|
||||
}, |
|
||||
created() { |
|
||||
if (this.state === 'create') { |
|
||||
this.api({ |
|
||||
url: '/ysjl/initYsjl', |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
modelId: this.$route.query.modelId, |
|
||||
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.ysjl.jianyanjielun = '符合要求' |
|
||||
this.ysjl.baogaojielun = '符合' |
|
||||
this.ysjl.jigouhezhunzhenghao = process.env.VUE_APP_HZZBH |
|
||||
this.ysjl.beizhu = '/' |
|
||||
this.changeEdgl() |
|
||||
this.getSbList('1000', this.ysjl.shebeileibiedaima, 3) |
|
||||
const sglb = this.sglbList.filter(item => { |
|
||||
return item === this.ysjl.shigongleibie |
|
||||
}) |
|
||||
if (sglb.length) { |
|
||||
this.$set(this.ysjl, 'shigongleibie', sglb[0]) |
|
||||
} else { |
|
||||
this.$set(this.ysjl, 'shigongleibie', '改造') |
|
||||
} |
|
||||
}) |
|
||||
this.$set(this.param, 'weihujianxiuqingkuangshuoming', '/') |
|
||||
this.getSbList('1000', undefined, 2) |
|
||||
} else { |
|
||||
this.getYsjl(this.$route.query.id) |
|
||||
this.getSbList('1000', undefined, 2) |
|
||||
} |
|
||||
// 查询最大记录编号 |
|
||||
if (!this.ysjl.jilubianhao) { |
|
||||
this.getMaxBh() |
|
||||
} |
|
||||
this.getJyxm(1) |
|
||||
}, |
|
||||
methods: { |
|
||||
// 签名方法 |
|
||||
signNameValue(data) { |
|
||||
this.ysjl.jianyanrenyuan = data.id |
|
||||
this.jianyanrenyuan = data.name |
|
||||
if (this.state !== 'create') { |
|
||||
this.common.signName(this.ysjl.id, this.ysjl.jianyanrenyuan) |
|
||||
Utils.$emit('ysjl-list') |
|
||||
} |
|
||||
}, |
|
||||
// 查询最大记录编号 |
|
||||
getMaxBh() { |
|
||||
const aheadPart = this.jlbh1 + '' + this.jlbh2 + '' + this.jlbh3 |
|
||||
this.api({ |
|
||||
url: '/ysjl/gainCurrentBh', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
aheadPart: aheadPart + '-', |
|
||||
hinderPart: '' |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.jlbh4 = data |
|
||||
}) |
|
||||
}, |
|
||||
getSbpzList(val) { |
|
||||
this.changeEdgl() |
|
||||
let obj = {} |
|
||||
obj = this.sblbList.find((item) => { // 这里的sblbList就是上面遍历的数据源 |
|
||||
return item.value === val // 筛选出匹配数据 |
|
||||
}) |
|
||||
if (obj) { |
|
||||
this.ysjl.shebeileibie = obj.label |
|
||||
} |
|
||||
this.ysjl.shebeipinzhongdaima = '' |
|
||||
this.ysjl.shebeipinzhong = '' |
|
||||
if (val) { |
|
||||
this.getSbList('1000', val, 3) |
|
||||
} |
|
||||
}, |
|
||||
setSbpz(val) { |
|
||||
let obj = {} |
|
||||
obj = this.sbpzList.find((item) => { // 这里的userList就是上面遍历的数据源 |
|
||||
return item.value === val // 筛选出匹配数据 |
|
||||
}) |
|
||||
this.ysjl.shebeipinzhong = obj.label |
|
||||
}, |
|
||||
getSbList(sbzl, sblb, level) { |
|
||||
this.api({ |
|
||||
url: '/sedirectory/getList', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
sbzl: sbzl, |
|
||||
sblb: sblb, |
|
||||
level: level |
|
||||
} |
|
||||
}).then(data => { |
|
||||
switch (level) { |
|
||||
case 2: |
|
||||
this.sblbList = data |
|
||||
return '' |
|
||||
case 3: |
|
||||
this.sbpzList = data |
|
||||
return '' |
|
||||
default: |
|
||||
this.sbzlList = data |
|
||||
return '' |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
getYsjl(id) { |
|
||||
this.api({ |
|
||||
url: '/ysjl/getYsjlById', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: id |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.ysjl = data.ysjl |
|
||||
this.complexShow = true |
|
||||
if (this.ysjl.jianyanrenyuan !== null && this.ysjl.jianyanrenyuan.length > 0) { |
|
||||
this.jianyanrenyuan = this.common.convertCnName(this.ysjl.jianyanrenyuan) |
|
||||
} |
|
||||
this.getParam(this.ysjl.id, this.ysjl.shebeizhongleidaima) |
|
||||
if (this.ysjl.shebeileibiedaima) { |
|
||||
this.changeEdgl() |
|
||||
this.getSbList('1000', this.ysjl.shebeileibiedaima, 3) |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
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.modelId, |
|
||||
order: sort |
|
||||
} |
|
||||
} else { |
|
||||
url = '/jyxm/getCyJyxmByYsjl' |
|
||||
data = { |
|
||||
ysjlId: this.ysjlId, |
|
||||
isReport: false, |
|
||||
order: sort |
|
||||
} |
|
||||
} |
|
||||
this.api({ |
|
||||
url: url, |
|
||||
method: 'get', |
|
||||
params: data |
|
||||
}).then(data => { |
|
||||
switch (sort) { |
|
||||
case 1: |
|
||||
this.bgfyData = data |
|
||||
break |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
onRowClick(row) { |
|
||||
this.$refs.bgfyData.toggleRowSelection(row) |
|
||||
}, |
|
||||
/** |
|
||||
* 获取表格中的id, 不为空的检验结果和备注 |
|
||||
*/ |
|
||||
getProp: function(data) { |
|
||||
const retData = [] |
|
||||
for (let i = 0; i < data.length; i++) { |
|
||||
const retRow = {} |
|
||||
retRow.id = data[i].id |
|
||||
if (data[i].jianyanjieguo) { |
|
||||
if (i === 4) { |
|
||||
retRow.jianyanjieguo = '保压时间:' + (this.param.baoyashijian || '') + 'min,水(耐)压试验压力:' + (this.param.shuiyashiyanyali || '') + 'MPa' |
|
||||
} else { |
|
||||
retRow.jianyanjieguo = data[i].jianyanjieguo |
|
||||
} |
|
||||
} |
|
||||
if (data[i].beizhu) { |
|
||||
retRow.beizhu = data[i].beizhu |
|
||||
} |
|
||||
retData.push(retRow) |
|
||||
} |
|
||||
return retData |
|
||||
}, |
|
||||
saveYsjl: function(operation) { |
|
||||
if (operation === 'add') { |
|
||||
if (!this.jlbh4.trim()) { |
|
||||
this.$message({ message: '请先确认记录编号是否完整!', type: 'warning' }) |
|
||||
return false |
|
||||
} |
|
||||
} |
|
||||
this.tableData = [] |
|
||||
this.tableData.push(this.getProp(this.bgfyData)) |
|
||||
let url = '' |
|
||||
this.ysjl.bglx = 1 |
|
||||
this.ysjl.cjState = 'ysjl' |
|
||||
this.ysjl.zfState = '0' |
|
||||
this.ysjl.jlprintState = 0 |
|
||||
if (operation === 'add') { |
|
||||
url = '/ysjl/saveYsjl' |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + '' + this.jlbh2 + '' + this.jlbh3 + '-' + this.jlbh4 |
|
||||
this.ysjl.jianyanxiangmu = 'gzwx' |
|
||||
} else if (operation === 'build') { |
|
||||
if (!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 |
|
||||
} |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} else if (operation === 'upd') { |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} |
|
||||
if (this.isRepeat) { |
|
||||
this.$message({ message: '记录编号重复,请先修改记录编号再保存', type: 'error' }) |
|
||||
return false |
|
||||
} else { |
|
||||
this.$refs['ysjl'].validate(valid => { |
|
||||
if (valid) { |
|
||||
const jyxm = JSON.stringify(this.tableData) |
|
||||
this.api({ |
|
||||
url: url, |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
ysjl: this.ysjl, |
|
||||
param: this.param, |
|
||||
jyxm: jyxm, |
|
||||
flag: operation |
|
||||
} |
|
||||
}).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 |
|
||||
}) |
|
||||
// this.$router.push({ |
|
||||
// path: '/ysjl/1000/gz/gzwx/' + this.ysjl.id, |
|
||||
// query: { state: 'update', id: this.ysjl.id, departmentId: this.ysjl.departmentId, jianyanrenyuan: this.ysjl.jianyanrenyuan } |
|
||||
// }) |
|
||||
} 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-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 |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
querySearch(queryString, cb) { |
|
||||
cb(this.jyjgOption) |
|
||||
}, |
|
||||
changeBgjl(val) { |
|
||||
if (val === '符合要求') { |
|
||||
this.ysjl.baogaojielun = '符合' |
|
||||
} else { |
|
||||
this.ysjl.baogaojielun = '不符合' |
|
||||
} |
|
||||
}, |
|
||||
/** |
|
||||
* 改变额定功率:蒸汽锅炉是t/h,其他的是MW |
|
||||
*/ |
|
||||
changeEdgl() { |
|
||||
if (this.ysjl.shebeileibiedaima === '1100') { |
|
||||
this.param.edinggonglv = 't/h' |
|
||||
} else { |
|
||||
this.param.edinggonglv = 'MW' |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
@ -1,716 +0,0 @@ |
|||||
<!--锅炉改造和重大修理--> |
|
||||
<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 === 'update'" type="primary" icon="el-icon-circle-check-outline" size="medium" @click="toAddJyfa"> |
|
||||
添加检验方案 |
|
||||
</el-button> |
|
||||
<el-button v-if="state !== 'create'" type="warning" icon="el-icon-view" size="medium" @click="common.viewYsjl(ysjl.id, 'YSJL')"> |
|
||||
预览 |
|
||||
</el-button> |
|
||||
<Ft v-if="state !== 'create'" :state="state" :ysjl="ysjl" :ysjl-id="Number(ysjlId ? ysjlId : 0)" :department-id="Number(departmentId ? departmentId : 0)" style="margin-left: 10px;" /> |
|
||||
</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="130px"> |
|
||||
<fieldset> |
|
||||
<legend>基本信息</legend> |
|
||||
<el-row :gutter="25"> |
|
||||
<el-col v-if="state === 'create'" :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:80px" disabled />- |
|
||||
<el-input v-model="jlbh4" style="width:85px" @blur="judgeRepeat(jlbh1 + jlbh2 + jlbh3 + '-' + jlbh4 , 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="shiyongdanwei" label-width="160px"> |
|
||||
<el-input v-model="ysjl.shiyongdanwei" :disabled="edit" /> |
|
||||
</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" /> |
|
||||
</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" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="联系电话" prop="shiyongdanweiDianhua"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiDianhua" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="单位邮编" prop="shiyongdanweiYoubian"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiYoubian" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="锅炉型号" prop="guigexinghao"> |
|
||||
<el-input v-model="ysjl.guigexinghao" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="产品编号" prop="chanpinbianhao"> |
|
||||
<el-input v-model="ysjl.chanpinbianhao" /> |
|
||||
</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="18"> |
|
||||
<el-form-item label="制造单位" prop="zhizaodanwei"> |
|
||||
<el-input v-model="ysjl.zhizaodanwei" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定蒸发量(热功率)" prop="edingzhengfaliang" label-width="160px"> |
|
||||
<el-input v-model="param.edingzhengfaliang"> |
|
||||
<template slot="append"> |
|
||||
t/h(MW) |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定压力" prop="edingyali"> |
|
||||
<el-input v-model="param.edingyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定温度" prop="edingwendu"> |
|
||||
<el-input v-model="param.edingwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="制造许可证编号" prop="zhizaoxukezhengbianhao"> |
|
||||
<el-input v-model="ysjl.zhizaoxukezhengbianhao" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="制造单位地址" prop="zhizaodanweiDizhi"> |
|
||||
<el-input v-model="ysjl.zhizaodanweiDizhi" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="制造许可证级别" prop="zhizaoxukezhengjibie"> |
|
||||
<el-input v-model="ysjl.zhizaoxukezhengjibie" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="产品图号" prop="chanpintuhao"> |
|
||||
<el-input v-model="param.chanpintuhao" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备类别" prop="shebeileibiedaima"> |
|
||||
<el-select v-model="ysjl.shebeileibiedaima" placeholder="设备类别" style="width: 100%" @change="getSbpzList"> |
|
||||
<el-option v-for="item in sblbList" :key="item.value" :label="item.label" :value="item.value" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备品种(名称)" prop="shebeipinzhongdaima"> |
|
||||
<el-select v-model="ysjl.shebeipinzhongdaima" placeholder="设备品种" style="width: 100%" @change="setSbpz"> |
|
||||
<el-option v-for="item in sbpzList" :key="item.value" :label="item.label" :value="item.value" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="监督检验地点" prop="jiandujianyandizhi"> |
|
||||
<el-input v-model="param.jiandujianyandizhi" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>检查与校验</legend> |
|
||||
<el-row :gutter="20" style="text-align:left;margin-left: 50px;font-size: 18px;color: #606266;line-height: 40px;font-weight: bolder;"> |
|
||||
按照《中华人民共和国特种设备安全法》、《特种设备安全监察条例》的规定,该( |
|
||||
<el-select v-model="ysjl.shigongleibie" placeholder="请选择" style="width: 120px;"> |
|
||||
<el-option v-for="item in sglbList" :key="item" :label="item" :value="item" /> |
|
||||
</el-select> )<br> |
|
||||
产品经我机构监督检验,安全性能 |
|
||||
<el-select v-model="ysjl.baogaojielun" placeholder="请选择" style="width: 100px;" @change="changeJyjl"> |
|
||||
<el-option label="符合" value="符合" /> |
|
||||
<el-option label="不符合" value="不符合" /> |
|
||||
</el-select>《锅炉安全技术规程》的要求,特发此证书。 |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="margin-top: 20px;"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验日期" prop="jianyanjieshuriqi"> |
|
||||
<el-date-picker v-model="ysjl.jianyanjieshuriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="10"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验人员" prop="jianyanrenyuan"> |
|
||||
<el-input v-model="jianyanrenyuan" disabled /> |
|
||||
<el-input v-show="false" v-model="ysjl.jianyanrenyuan" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<sign-name :jianyanrenyuan="jianyanrenyuan" :ysjl="ysjl" @setSignValue="signNameValue" /> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18" style="height: 150px;"> |
|
||||
<el-form-item label="监督检验范围说明:" prop="beizhu" label-width="230px"> |
|
||||
<el-input v-model="ysjl.beizhu" :rows="5" :disabled="edit" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
</el-form> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane label="安全性能监督检验项目表" name="second"> |
|
||||
<el-form ref="ysjl2" :model="ysjl" class="el-form" label-position="right" label-width="130px"> |
|
||||
<fieldset> |
|
||||
<legend>基本信息</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="报检号" prop="baojianbianhao"> |
|
||||
<el-input v-model="param.baojianbianhao" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="合约号" prop="heyuebianhao"> |
|
||||
<el-input v-model="param.heyuebianhao" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备品种(名称)" prop="shebeipinzhongdaima"> |
|
||||
<el-select v-model="ysjl.shebeipinzhongdaima" placeholder="设备品种" style="width: 100%" disabled @change="setSbpz"> |
|
||||
<el-option v-for="item in sbpzList" :key="item.value" :label="item.label" :value="item.value" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="产品编号" prop="chanpinbianhao"> |
|
||||
<el-input v-model="ysjl.chanpinbianhao" disabled /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="制造国名" prop="zhizaoguojia"> |
|
||||
<el-input v-model="param.zhizaoguojia" /> |
|
||||
</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%;" disabled /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="制造单位" prop="zhizaodanwei"> |
|
||||
<el-input v-model="ysjl.zhizaodanwei" disabled /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="制造、检验规范标准(指和约签定的规范标准)" prop="jianyanyiju" label-width="320px"> |
|
||||
<el-input v-model="ysjl.jianyanyiju" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设计压力" prop="yali"> |
|
||||
<el-input v-model="param.yali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设计温度" prop="wendu"> |
|
||||
<el-input v-model="param.wendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="介质" prop="jiezhi"> |
|
||||
<el-input v-model="param.jiezhi" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<el-table ref="jyxmData" :data="jyxmData" :span-method="tableJs.mergeColRows" border stripe style="width:90%;margin-top: 10px;"> |
|
||||
<el-table-column type="index" align="center" label="序号" width="60px" /> |
|
||||
<el-table-column align="center" label="检验项" prop="jianyanxiang" /> |
|
||||
<el-table-column align="center" label="检验目" prop="jianyanmu" /> |
|
||||
<el-table-column align="center" label="检验结果" prop="jianyanjieguo"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.jianyanjieguo" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" label="备注" prop="beizhu"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.beizhu" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
</el-form> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane v-if="state !== 'create'" label="检验收费情况" name="jysfqk"> |
|
||||
<complex-bill v-if="complexShow" ref="bill" :ysjl="ysjl" /> |
|
||||
</el-tab-pane> |
|
||||
</el-tabs> |
|
||||
<el-dialog :visible.sync="jyfaDialogVisible" title="添加检验方案" width="600px" @close="closeJyfaDialog"> |
|
||||
<jyfa ref="jyfa" :info="info" /> |
|
||||
</el-dialog> |
|
||||
</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 Ft from '@/views/ysjl/1000/common/glft' |
|
||||
import ComplexBill from '@/views/chargeBill/components/complex' |
|
||||
import jyfa from '@/views/bggl/addJyfa' |
|
||||
|
|
||||
export default { |
|
||||
name: 'GlJkjdYsjl', |
|
||||
components: { SignName, Sticky, Ft, ComplexBill, jyfa }, |
|
||||
data() { |
|
||||
return { |
|
||||
jlbh1: 'GJK(', |
|
||||
jlbh2: new Date().getFullYear(), |
|
||||
jlbh3: ')', |
|
||||
jlbh4: '', |
|
||||
ysjl: {}, |
|
||||
param: {}, |
|
||||
state: this.$route.query.state, |
|
||||
jianyanrenyuan: '', |
|
||||
departmentId: this.$route.query.departmentId, |
|
||||
isRepeat: false, |
|
||||
edit: false, |
|
||||
checkedTab: 'first', |
|
||||
sblbList: [], |
|
||||
sbpzList: [], |
|
||||
ysjlId: this.$route.query.id, |
|
||||
sglbList: ['锅炉', '部件', '组件'], |
|
||||
complexShow: false, |
|
||||
jyxmData: [], |
|
||||
cols: [ |
|
||||
{ |
|
||||
name: 'jianyanxiang', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianyanmu', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { |
|
||||
return row.jianyanmu |
|
||||
} |
|
||||
} |
|
||||
], |
|
||||
rows: [ |
|
||||
{ |
|
||||
name: 'jianyanxiang', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianyanmu', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { |
|
||||
return row.jianyanmu |
|
||||
} |
|
||||
} |
|
||||
], |
|
||||
// 检验方案 |
|
||||
jyfaDialogVisible: false, |
|
||||
info: { |
|
||||
modelId: this.$route.query.modelId, |
|
||||
sbzldm: this.$route.query.sbzldm, |
|
||||
sblbdm: this.$route.query.sblbdm, |
|
||||
ysjlId: this.$route.query.id, |
|
||||
departmentId: this.$route.query.departmentId, |
|
||||
jylb: this.$route.query.jylb, |
|
||||
nblb: this.$route.query.neibuleibie, |
|
||||
type: 'YSJL' |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
computed: { |
|
||||
jilubianhao: function() { |
|
||||
let bianhao |
|
||||
if (!this.ysjl.jilubianhao) { |
|
||||
return this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 |
|
||||
} else { |
|
||||
bianhao = this.ysjl.jilubianhao |
|
||||
} |
|
||||
return this.judgeRepeat(bianhao, this.ysjl.id) |
|
||||
} |
|
||||
}, |
|
||||
watch: { |
|
||||
jlbh4: function(val) { |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + val |
|
||||
this.judgeRepeat(this.ysjl.jilubianhao, this.ysjl.id) |
|
||||
}, |
|
||||
jilubianhao: function(newValue) { |
|
||||
this.judgeRepeat(newValue, this.ysjl.id) |
|
||||
} |
|
||||
}, |
|
||||
created() { |
|
||||
if (this.state === 'create') { |
|
||||
this.api({ |
|
||||
url: '/ysjl/initYsjl', |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
modelId: this.$route.query.modelId, |
|
||||
renwuId: this.$route.query.renwuId, |
|
||||
neibuleibie: this.$route.query.neibuleibie |
|
||||
} |
|
||||
}).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.ysjl.jianyanjielun = '合格' |
|
||||
this.ysjl.baogaojielun = '符合' |
|
||||
this.ysjl.jigouhezhunzhenghao = process.env.VUE_APP_HZZBH |
|
||||
this.ysjl.beizhu = '/' |
|
||||
this.getSbpzList(this.ysjl.shebeileibiedaima) |
|
||||
const sglb = this.sglbList.filter(item => { |
|
||||
return item === this.ysjl.shigongleibie |
|
||||
}) |
|
||||
if (sglb.length) { |
|
||||
this.$set(this.ysjl, 'shigongleibie', sglb[0]) |
|
||||
} else { |
|
||||
this.$set(this.ysjl, 'shigongleibie', '锅炉') |
|
||||
} |
|
||||
// 查询最大记录编号 |
|
||||
this.getMaxBh() |
|
||||
}) |
|
||||
this.$set(this.param, 'weihujianxiuqingkuangshuoming', '/') |
|
||||
this.getSblbList() |
|
||||
} else { |
|
||||
this.getYsjl(this.$route.query.id) |
|
||||
this.getSbList('1000', undefined, 2) |
|
||||
} |
|
||||
this.getJyxm(1) |
|
||||
}, |
|
||||
methods: { |
|
||||
toAddJyfa() { |
|
||||
this.jyfaDialogVisible = true |
|
||||
}, |
|
||||
closeJyfaDialog() { |
|
||||
this.jyfaDialogVisible = false |
|
||||
}, |
|
||||
// 签名方法 |
|
||||
signNameValue(data) { |
|
||||
this.ysjl.jianyanrenyuan = data.id |
|
||||
this.jianyanrenyuan = data.name |
|
||||
if (this.state !== 'create') { |
|
||||
this.common.signName(this.ysjl.id, this.ysjl.jianyanrenyuan) |
|
||||
Utils.$emit('ysjl-list') |
|
||||
} |
|
||||
}, |
|
||||
// 查询最大记录编号 |
|
||||
getMaxBh() { |
|
||||
const aheadPart = this.jlbh1 + '' + this.jlbh2 + '' + this.jlbh3 |
|
||||
this.api({ |
|
||||
url: '/ysjl/gainCurrentBh', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
aheadPart: aheadPart + '-', |
|
||||
hinderPart: '' |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.jlbh4 = data |
|
||||
}) |
|
||||
}, |
|
||||
getSblbList(val) { |
|
||||
this.ysjl.shebeileibiedaima = '' |
|
||||
this.sbpzList = [] |
|
||||
this.ysjl.shebeipinzhongdaima = '' |
|
||||
this.getSbList('1000', undefined, 2) |
|
||||
}, |
|
||||
getSbpzList(val) { |
|
||||
let obj = {} |
|
||||
obj = this.sblbList.find((item) => { // 这里的sblbList就是上面遍历的数据源 |
|
||||
return item.value === val // 筛选出匹配数据 |
|
||||
}) |
|
||||
if (obj) { |
|
||||
this.ysjl.shebeileibie = obj.label |
|
||||
} |
|
||||
this.ysjl.shebeipinzhongdaima = '' |
|
||||
this.ysjl.shebeipinzhong = '' |
|
||||
if (val) { |
|
||||
this.getSbList('1000', val, 3) |
|
||||
} |
|
||||
}, |
|
||||
setSbpz(val) { |
|
||||
let obj = {} |
|
||||
obj = this.sbpzList.find((item) => { // 这里的userList就是上面遍历的数据源 |
|
||||
return item.value === val // 筛选出匹配数据 |
|
||||
}) |
|
||||
this.ysjl.shebeipinzhong = obj.label |
|
||||
}, |
|
||||
getSbList(sbzl, sblb, level) { |
|
||||
this.api({ |
|
||||
url: '/sedirectory/getList', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
sbzl: sbzl, |
|
||||
sblb: sblb, |
|
||||
level: level |
|
||||
} |
|
||||
}).then(data => { |
|
||||
switch (level) { |
|
||||
case 2: |
|
||||
this.sblbList = data |
|
||||
return '' |
|
||||
case 3: |
|
||||
this.sbpzList = data |
|
||||
return '' |
|
||||
default: |
|
||||
this.sbzlList = data |
|
||||
return '' |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
getYsjl(id) { |
|
||||
this.api({ |
|
||||
url: '/ysjl/getYsjlById', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: id |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.ysjl = data.ysjl |
|
||||
this.complexShow = true |
|
||||
if (this.ysjl.jianyanrenyuan !== null && this.ysjl.jianyanrenyuan.length > 0) { |
|
||||
this.jianyanrenyuan = this.common.convertCnName(this.ysjl.jianyanrenyuan) |
|
||||
} |
|
||||
this.getParam(this.ysjl.id, this.ysjl.shebeizhongleidaima) |
|
||||
if (this.ysjl.shebeileibiedaima) { |
|
||||
this.getSbList('1000', this.ysjl.shebeileibiedaima, 3) |
|
||||
} |
|
||||
// 查询最大记录编号 |
|
||||
if (!this.ysjl.jilubianhao) { |
|
||||
this.getMaxBh() |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
getParam(ysjlId, sbzldm) { |
|
||||
// 根据原始记录id查询参数 |
|
||||
this.api({ |
|
||||
url: '/ysjl/getParamByYsjlId', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: ysjlId, |
|
||||
sbzldm: sbzldm |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.param = data |
|
||||
}) |
|
||||
}, |
|
||||
// 查询检验项目 |
|
||||
getJyxm(sort) { |
|
||||
this.jyxmController.getJyxm(this.$route.query.modelId, this.$route.query.id, sort, this.state, false).then(data => { |
|
||||
switch (sort) { |
|
||||
case 1: |
|
||||
this.jyxmData = data |
|
||||
this.jyxmController.initJjyJyxm(this.state, this.jyxmData) |
|
||||
this.tableJs.getData(this.cols, this.rows, this.jyxmData) |
|
||||
break |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
saveYsjl: function(operation) { |
|
||||
if (operation === 'add') { |
|
||||
if (!this.jlbh4.trim()) { |
|
||||
this.$message({ message: '请先确认记录编号是否完整!', type: 'warning' }) |
|
||||
return false |
|
||||
} |
|
||||
} |
|
||||
this.tableData = [] |
|
||||
this.tableData.push(this.jyxmData.map(row => { |
|
||||
return { |
|
||||
id: row.id, |
|
||||
jianyanjieguo: row.jianyanjieguo, |
|
||||
beizhu: row.beizhu |
|
||||
} |
|
||||
})) |
|
||||
let url = '' |
|
||||
this.ysjl.bglx = 1 |
|
||||
this.ysjl.cjState = 'ysjl' |
|
||||
this.ysjl.zfState = '0' |
|
||||
this.ysjl.jlprintState = 0 |
|
||||
if (operation === 'add') { |
|
||||
url = '/ysjl/saveYsjl' |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 |
|
||||
this.ysjl.jianyanxiangmu = 'jkjd' |
|
||||
} else if (operation === 'build') { |
|
||||
if (!this.ysjl.jianyanrenyuan) { |
|
||||
this.$message({ |
|
||||
type: 'error', |
|
||||
message: '请先签名再生成报告!' |
|
||||
}) |
|
||||
if (this.ysjl.sfdId === null || this.ysjl.sfdId === '') { |
|
||||
this.$message({ |
|
||||
type: 'error', |
|
||||
message: '请先追加或者创建收费单后在尝试!' |
|
||||
}) |
|
||||
return false |
|
||||
} |
|
||||
return false |
|
||||
} |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} else if (operation === 'upd') { |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} |
|
||||
if (this.isRepeat) { |
|
||||
this.$message({ message: '记录编号重复,请先修改记录编号再保存', type: 'error' }) |
|
||||
return false |
|
||||
} else { |
|
||||
this.$refs['ysjl'].validate(valid => { |
|
||||
if (valid) { |
|
||||
this.api({ |
|
||||
url: url, |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
ysjl: this.ysjl, |
|
||||
param: this.param, |
|
||||
jyxm: JSON.stringify(this.tableData), |
|
||||
flag: operation |
|
||||
} |
|
||||
}).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 |
|
||||
}) |
|
||||
// this.$router.push({ |
|
||||
// path: '/ysjl/1000/jj/jkjd/' + this.ysjl.id, |
|
||||
// query: { state: 'update', id: this.ysjl.id, departmentId: this.ysjl.departmentId, jianyanrenyuan: this.ysjl.jianyanrenyuan } |
|
||||
// }) |
|
||||
} 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-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 |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
changeJyjl(val) { |
|
||||
if (val === '符合') { |
|
||||
this.ysjl.jianyanjielun = '合格' |
|
||||
} else { |
|
||||
this.ysjl.jianyanjielun = '合格' |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
@ -1,915 +0,0 @@ |
|||||
<!--散装锅炉安装监督检验--> |
|
||||
<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 type="primary" size="medium" @click="Signjyxm"> |
|
||||
<svg-icon icon-class="sign" /> |
|
||||
检验项目批量签名 |
|
||||
</el-button> |
|
||||
<el-button type="danger" icon="el-icon-delete" size="medium" @click="signClear"> |
|
||||
批量清除签名 |
|
||||
</el-button> |
|
||||
<el-button type="success" size="medium" icon="el-icon-edit" @click="batchUpdDate"> |
|
||||
批量修改日期 |
|
||||
</el-button> |
|
||||
<el-button v-if="state !== 'create'" type="warning" icon="el-icon-view" size="medium" @click="common.viewYsjl(ysjl.id, 'YSJL')"> |
|
||||
预览 |
|
||||
</el-button> |
|
||||
<Ft v-if="state !== 'create'" :state="state" :ysjl="ysjl" :ysjl-id="Number(ysjlId ? ysjlId : 0)" :department-id="Number(departmentId ? departmentId : 0)" style="margin-left: 10px;" /> |
|
||||
</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="130px"> |
|
||||
<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" disabled />- |
|
||||
<el-input v-model="jlbh4" style="width:85px" @blur="judgeRepeat(jlbh1 + jlbh2 + jlbh3 + '-' + jlbh4 , 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="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" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="邮政编码" prop="shiyongdanweiYoubian"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiYoubian" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="使用单位联系人" prop="shiyongdanweiLianxiren"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiLianxiren" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="联系电话" prop="shiyongdanweiDianhua"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiDianhua" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="锅炉型号" prop="guigexinghao"> |
|
||||
<el-input v-model="ysjl.guigexinghao" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="制造单位" prop="zhizaodanwei"> |
|
||||
<el-input v-model="ysjl.zhizaodanwei" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<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-col :span="9"> |
|
||||
<el-form-item label="额定蒸发量(热功率)" prop="edingzhengfaliang" label-width="160px"> |
|
||||
<el-input v-model="param.edingzhengfaliang"> |
|
||||
<template slot="append"> |
|
||||
t/h(MW) |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="产品编号" prop="chanpinbianhao"> |
|
||||
<el-input v-model="ysjl.chanpinbianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备代码" prop="shebeidaima"> |
|
||||
<el-input v-model="ysjl.shebeidaima" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定压力" prop="edingyali"> |
|
||||
<el-input v-model="param.edingyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定温度" prop="edingwendu"> |
|
||||
<el-input v-model="param.edingwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备类别" prop="shebeileibiedaima"> |
|
||||
<el-select v-model="ysjl.shebeileibiedaima" filterable allow-create default-first-option style="width: 100%" @change="getSbpzList"> |
|
||||
<el-option v-for="item in sblbList" :key="item.value" :label="item.label" :value="item.value" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="允许工作压力" prop="gongzuoyali"> |
|
||||
<el-input v-model="param.gongzuoyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="允许工作温度" prop="yunxugongzuowendu"> |
|
||||
<el-input v-model="param.yunxugongzuowendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备品种" prop="shebeipinzhongdaima"> |
|
||||
<el-select v-model="ysjl.shebeipinzhongdaima" filterable allow-create default-first-option style="width: 100%" @change="setSbpz"> |
|
||||
<el-option v-for="item in sbpzList" :key="item.value" :label="item.label" :value="item.value" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="水(耐)压试验压力" prop="shuiyashiyanyali" label-width="150px"> |
|
||||
<el-input v-model="param.shuiyashiyanyali" type="text"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="使用压力" prop="shiyongyali"> |
|
||||
<el-input v-model="param.shiyongyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="内部编号" prop="danweineibubianhao"> |
|
||||
<el-input v-model="ysjl.danweineibubianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="告知书编号" prop="gaozhibianhao"> |
|
||||
<el-input v-model="param.gaozhibianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="施工单位" prop="shigongdanwei"> |
|
||||
<el-input v-model="ysjl.shigongdanwei" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="许可级别" prop="shigongxukezhengjibie"> |
|
||||
<el-input v-model="ysjl.shigongxukezhengjibie" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="许可证编号" prop="shigongxukezheng"> |
|
||||
<el-input v-model="ysjl.shigongxukezheng" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="施工单位联系人" prop="shigongdanweiLianxiren"> |
|
||||
<el-input v-model="ysjl.shigongdanweiLianxiren" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="施工单位联系电话" prop="shigongdanweiDianhua"> |
|
||||
<el-input v-model="ysjl.shigongdanweiDianhua" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="建设项目环境影响评价批复文件" prop="huanjingbiaozhun" label-width="220px"> |
|
||||
<el-input v-model="param.huanjingbiaozhun" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>检验信息</legend> |
|
||||
<el-row :gutter="20" style="text-align:left;margin-left: 50px;font-size: 18px;color: #606266;line-height: 40px;font-weight: bolder;"> |
|
||||
根据《中华人民共和国特种设备安全法》、《特种设备安全监察条例》的规定,该锅炉 的(安装、改造、重大修理)经我机构监督检验,符合《锅炉安全技术规程》规定的基本安 全要求,特发此证书。 |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="margin-top: 20px;"> |
|
||||
<el-col :span="9"> |
|
||||
<!-- 开始安装日期就是开工告知日期 --> |
|
||||
<el-form-item label="开始安装日期" prop="gaozhiriqi"> |
|
||||
<el-date-picker v-model="param.gaozhiriqi" type="date" value-format="yyyy年MM月dd日" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="水压试验日期" prop="shiyanriqi"> |
|
||||
<el-date-picker v-model="param.shiyanriqi" type="date" placeholder="选择日期" style="width: 75%;" /> |
|
||||
<el-button type="primary" title="同步检验项中第1大项到第9大项的监检日期" icon="el-icon-refresh" size="mini" @click="syncRq(0, 38, param.shiyanriqi)" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="试运行完毕日期" prop="shiyunxingriqi"> |
|
||||
<el-date-picker v-model="param.shiyunxingriqi" type="date" value-format="yyyy年MM月dd日" placeholder="选择日期" style="width: 75%;" /> |
|
||||
<el-button type="primary" title="同步检验项中第10大项到第12大项的监检日期" icon="el-icon-refresh" size="mini" @click="syncRq(44, bgfyData.length, param.shiyunxingriqi)" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="安装资料送审日期" prop="anzhuangziliaosongshenriqi"> |
|
||||
<el-date-picker v-model="param.anzhuangziliaosongshenriqi" 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="jianyanjieshuriqi"> |
|
||||
<el-date-picker v-model="ysjl.jianyanjieshuriqi" type="date" 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" type="date" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="10"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验人员" prop="jianyanrenyuan"> |
|
||||
<el-input v-model="jianyanrenyuan" disabled /> |
|
||||
<el-input v-show="false" v-model="ysjl.jianyanrenyuan" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<sign-name :jianyanrenyuan="jianyanrenyuan" :ysjl="ysjl" @setSignValue="signNameValue" /> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18" style="height: 130px;"> |
|
||||
<el-form-item label="其他情况说明:" prop="beizhu"> |
|
||||
<el-input v-model="ysjl.beizhu" :rows="5" :disabled="edit" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
</el-form> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane label="散装锅炉安装监督检验项目表" name="second"> |
|
||||
<el-form class="el-form" label-width="150px"> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18" style="height: 170px;"> |
|
||||
<el-form-item label="其它记录的内容" prop="shuoming"> |
|
||||
<el-input v-model="param.shuoming" :rows="5" :disabled="edit" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18" style="height: 200px;"> |
|
||||
<el-form-item label="附件" prop="fujian"> |
|
||||
<el-checkbox v-model="checkAll" :indeterminate="isIndeterminate" @change="handleCheckAllChange"> |
|
||||
全选 |
|
||||
</el-checkbox> |
|
||||
<br> |
|
||||
<el-checkbox |
|
||||
v-for="(item, index) in param.fujian" |
|
||||
:key="item" |
|
||||
v-model="param.fujian[index]" |
|
||||
:true-label="'☑' + getFujianOption(item)" |
|
||||
:false-label="'□' + getFujianOption(item)" |
|
||||
@change="handleCheckedChange" |
|
||||
> |
|
||||
{{ getFujianOption(item) }} |
|
||||
</el-checkbox> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</el-form> |
|
||||
<el-table ref="bgfyData" :data="bgfyData" :span-method="tableJs.mergeColRows" border stripe style="width:90%" @row-click="onRowClick"> |
|
||||
<el-table-column type="selection" width="55" prop="checkbox" /> |
|
||||
<el-table-column type="index" align="center" width="50" label="序号" /> |
|
||||
<el-table-column align="center" label="监检项目"> |
|
||||
<el-table-column align="center" prop="jianyanxiang" width="90" label="检验项" /> |
|
||||
<el-table-column align="center" prop="jianyanmu" width="90" label="检验目" /> |
|
||||
<el-table-column align="left" prop="jianyanneirong" label="检验内容" /> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="xiangmuleibie" width="100" label="类别" /> |
|
||||
<el-table-column align="center" label="检验检测情况或结果"> |
|
||||
<el-table-column align="center" prop="jyjg1" width="90" label="合格"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-checkbox v-model="scope.row.jyjg1" label="√" true-label="√" border @change="changeJyjg(scope.$index, 'jyjg1')" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="jyjg2" width="90" label="不合格"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-checkbox v-model="scope.row.jyjg2" label="√" true-label="√" border @change="changeJyjg(scope.$index, 'jyjg2')" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="jianyanjieguo" width="90" label="无此项"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-checkbox v-model="scope.row.jianyanjieguo" label="√" true-label="√" border @change="changeJyjg(scope.$index, 'jianyanjieguo')" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table-column> |
|
||||
<el-table-column :formatter="formatterJianjianyuan" align="center" prop="jianjianyuan" width="150" label="监检员" /> |
|
||||
<el-table-column align="center" prop="querenriqi" width="160" label="日期"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-date-picker v-model="scope.row.querenriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane v-if="state !== 'create'" label="检验收费情况" name="jysfqk"> |
|
||||
<complex-bill v-if="complexShow" ref="bill" :ysjl="ysjl" /> |
|
||||
</el-tab-pane> |
|
||||
</el-tabs> |
|
||||
<el-dialog :visible.sync="jyxmrqShow" title="批量修改日期" width="500px" @close="closeDialog"> |
|
||||
<template> |
|
||||
<el-date-picker v-model="querenriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</template> |
|
||||
<span slot="footer" class="dialog-footer"> |
|
||||
<el-button @click="jyxmrqShow = false">取 消</el-button> |
|
||||
<el-button type="primary" @click="batchUpd">确 定</el-button> |
|
||||
</span> |
|
||||
</el-dialog> |
|
||||
<sign-name v-show="signShow" ref="qmButton" :ysjl="ysjl" :jianyanrenyuan="xmjianyanrenyuan" field-name="xmqianming" @setSignValue="signNameValue" /> |
|
||||
</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 Ft from '@/views/ysjl/1000/common/glft' |
|
||||
import ComplexBill from '@/views/chargeBill/components/complex' |
|
||||
export default { |
|
||||
name: 'GlSgjdYsjl2', |
|
||||
components: { SignName, Sticky, Ft, ComplexBill }, |
|
||||
data() { |
|
||||
return { |
|
||||
jlbh1: 'GSA(', |
|
||||
jlbh2: new Date().getFullYear(), |
|
||||
jlbh3: ')', |
|
||||
jlbh4: '', |
|
||||
ysjl: {}, |
|
||||
param: {}, |
|
||||
jyxm: 'sgjd', |
|
||||
path: '/ysjl/1000/sg/sgjd/', |
|
||||
state: this.$route.query.state, |
|
||||
jianyanrenyuan: '', |
|
||||
departmentId: this.$route.query.departmentId, |
|
||||
isRepeat: false, |
|
||||
edit: false, |
|
||||
bgfyData: [], |
|
||||
tableData: [], |
|
||||
checkedTab: 'first', |
|
||||
xmjianyanrenyuan: '', |
|
||||
// 表格合并相关 |
|
||||
// 参与列合并的字段,在这里增加即可 |
|
||||
cols: [ |
|
||||
{ |
|
||||
name: 'checkbox', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { |
|
||||
return row.jianyanmu |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianyanxiang', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { // 该列用于比较的值的获取方法 |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianyanmu', |
|
||||
getValue(row) { |
|
||||
return row.jianyanmu |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianjianyuan', |
|
||||
getValue(row) { |
|
||||
return row.jianyanmu |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'querenriqi', |
|
||||
getValue(row) { |
|
||||
return row.jianyanmu |
|
||||
} |
|
||||
} |
|
||||
], |
|
||||
// 参与行内合并的字段 |
|
||||
rows: [ |
|
||||
{ |
|
||||
name: 'jianyanxiang', |
|
||||
getValue(row) { |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianyanmu', |
|
||||
getValue(row) { |
|
||||
return row.jianyanmu |
|
||||
} |
|
||||
} |
|
||||
], |
|
||||
signShow: false, |
|
||||
jyxmrqShow: false, |
|
||||
querenriqi: new Date(), |
|
||||
sblbList: [], |
|
||||
sbpzList: [], |
|
||||
ysjlId: this.$route.query.id, |
|
||||
fieldArr: ['jyjg1', 'jyjg2', 'jianyanjieguo'], |
|
||||
xmlbList: ['B', 'C'], |
|
||||
showXmlbIndexListSg: [2, 26, 28, 38, 39, 40, 41, 46, 47, 56, 73], |
|
||||
complexShow: false, |
|
||||
fujianOptions: ['□安装告知书', '□安装许可证', '□环评批复', '□锅炉房设计平面图', '□锅炉出厂合格证', '□产品监检证书', '□锅炉定型测试报告', '□燃烧机定型测试报告', |
|
||||
'□管道探伤抽查报告', '□调试人员培训合格证书和授权委托书', '□燃烧机调试合格报告', '□污染物排放报告', '□监督检验工作联络单或监督检验工作意见通知书', '□其它见证材料'], |
|
||||
isIndeterminate: false, |
|
||||
checkAll: [] |
|
||||
} |
|
||||
}, |
|
||||
computed: { |
|
||||
jilubianhao: function() { |
|
||||
let bianhao |
|
||||
if (!this.ysjl.jilubianhao) { |
|
||||
return this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 |
|
||||
} else { |
|
||||
bianhao = this.ysjl.jilubianhao |
|
||||
} |
|
||||
return this.judgeRepeat(bianhao, this.ysjl.id) |
|
||||
} |
|
||||
}, |
|
||||
watch: { |
|
||||
jlbh4: function(val) { |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + val |
|
||||
this.judgeRepeat(this.ysjl.jilubianhao, this.ysjl.id) |
|
||||
}, |
|
||||
jilubianhao: function(newValue) { |
|
||||
this.judgeRepeat(newValue, this.ysjl.id) |
|
||||
} |
|
||||
}, |
|
||||
created() { |
|
||||
if (this.state === 'create') { |
|
||||
this.api({ |
|
||||
url: '/ysjl/initYsjl', |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
modelId: this.$route.query.modelId, |
|
||||
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') |
|
||||
const currentDate = new Date() |
|
||||
const xcjyrq = new Date((currentDate.getFullYear() + 1) + '-' + (currentDate.getMonth() + 1) + '-' + currentDate.getDate()) |
|
||||
this.ysjl.xiacijianyanriqi = xcjyrq.setDate(xcjyrq.getDate() - 1) |
|
||||
this.ysjl.jianyanjielun = '合格' |
|
||||
this.ysjl.baogaojielun = '符合' |
|
||||
this.ysjl.jigouhezhunzhenghao = process.env.VUE_APP_HZZBH |
|
||||
this.ysjl.beizhu = '/' |
|
||||
this.ysjl.zhizaoriqi = '' |
|
||||
this.changeEdgl() |
|
||||
this.getSbList('1000', this.ysjl.shebeileibiedaima, 3) |
|
||||
this.$set(this.param, 'hasYijiantongzhishu', '无。') |
|
||||
this.$set(this.param, 'fujian', this.fujianOptions) |
|
||||
this.$set(this.param, 'shiyunxingriqi', this.formatter.dateFormat('YYYY年MM月dd日')) |
|
||||
}) |
|
||||
this.getMaxBh() |
|
||||
} else { |
|
||||
this.getYsjl(this.$route.query.id) |
|
||||
} |
|
||||
this.getSbList('1000', undefined, 2) |
|
||||
this.getJyxm(1) |
|
||||
}, |
|
||||
methods: { |
|
||||
getFujianOption(val) { |
|
||||
return val.replace('□', '').replace('☑', '') |
|
||||
}, |
|
||||
handleCheckAllChange(val) { |
|
||||
this.param.fujian = val ? this.fujianOptions.map(row => row.replace('□', '☑')) : this.fujianOptions |
|
||||
this.isIndeterminate = false |
|
||||
}, |
|
||||
handleCheckedChange() { |
|
||||
const checkedCount = this.param.fujian.filter(row => row.indexOf('☑') === 0).length |
|
||||
const totalCount = this.param.fujian.length |
|
||||
this.checkAll = checkedCount === totalCount |
|
||||
this.isIndeterminate = checkedCount > 0 && checkedCount < totalCount |
|
||||
}, |
|
||||
/** |
|
||||
* 格式化监检员 |
|
||||
*/ |
|
||||
formatterJianjianyuan(row) { |
|
||||
if (row.jianjianyuan) { |
|
||||
if (typeof (row.jianjianyuan) === 'number') { |
|
||||
row.jianjianyuan = row.jianjianyuan.toString() |
|
||||
} |
|
||||
return this.common.convertCnName(row.jianjianyuan) |
|
||||
} |
|
||||
}, |
|
||||
// 签名方法 |
|
||||
signNameValue(data) { |
|
||||
if (data.fieldName === 'xmqianming') { |
|
||||
this.jyxmController.findFirstJyxAndSignName(this.$refs.bgfyData.selection, this.bgfyData, data) |
|
||||
this.signShow = false |
|
||||
} else { |
|
||||
this.ysjl.jianyanrenyuan = data.id |
|
||||
this.jianyanrenyuan = data.name |
|
||||
if (this.state !== 'create') { |
|
||||
this.common.signName(this.ysjl.id, this.ysjl.jianyanrenyuan) |
|
||||
Utils.$emit('ysjl-list') |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
// 查询最大记录编号 |
|
||||
getMaxBh() { |
|
||||
const aheadPart = this.jlbh1 + '' + this.jlbh2 + '' + this.jlbh3 |
|
||||
this.api({ |
|
||||
url: '/ysjl/gainCurrentBh', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
aheadPart: aheadPart + '-', |
|
||||
hinderPart: '' |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.jlbh4 = data |
|
||||
}) |
|
||||
}, |
|
||||
getSbpzList(val) { |
|
||||
this.changeEdgl() |
|
||||
let obj = {} |
|
||||
obj = this.sblbList.find((item) => { // 这里的sblbList就是上面遍历的数据源 |
|
||||
return item.value === val // 筛选出匹配数据 |
|
||||
}) |
|
||||
this.ysjl.shebeileibie = obj.label |
|
||||
this.ysjl.shebeipinzhongdaima = '' |
|
||||
this.ysjl.shebeipinzhong = '' |
|
||||
if (val) { |
|
||||
this.getSbList('1000', val, 3) |
|
||||
} |
|
||||
}, |
|
||||
setSbpz(val) { |
|
||||
let obj = {} |
|
||||
obj = this.sbpzList.find((item) => { // 这里的userList就是上面遍历的数据源 |
|
||||
return item.value === val // 筛选出匹配数据 |
|
||||
}) |
|
||||
this.ysjl.shebeipinzhong = obj.label |
|
||||
}, |
|
||||
getSbList(sbzl, sblb, level) { |
|
||||
this.api({ |
|
||||
url: '/sedirectory/getList', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
sbzl: sbzl, |
|
||||
sblb: sblb, |
|
||||
level: level |
|
||||
} |
|
||||
}).then(data => { |
|
||||
switch (level) { |
|
||||
case 2: |
|
||||
this.sblbList = data |
|
||||
return '' |
|
||||
case 3: |
|
||||
this.sbpzList = data |
|
||||
return '' |
|
||||
default: |
|
||||
this.sbzlList = data |
|
||||
return '' |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
getYsjl(id) { |
|
||||
this.api({ |
|
||||
url: '/ysjl/getYsjlById', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: id |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.ysjl = data.ysjl |
|
||||
this.complexShow = true |
|
||||
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) |
|
||||
this.changeEdgl() |
|
||||
this.getSbList('1000', this.ysjl.shebeileibiedaima, 3) |
|
||||
}) |
|
||||
}, |
|
||||
getParam(ysjlId, sbzldm) { |
|
||||
// 根据原始记录id查询参数 |
|
||||
this.api({ |
|
||||
url: '/ysjl/getParamByYsjlId', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: ysjlId, |
|
||||
sbzldm: sbzldm |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.param = data |
|
||||
this.$set(this.param, 'fujian', JSON.parse(this.param.fujian)) |
|
||||
this.handleCheckedChange() |
|
||||
}) |
|
||||
}, |
|
||||
// 查询检验项目 |
|
||||
getJyxm(sort) { |
|
||||
this.jyxmController.getJyxm(this.$route.query.modelId, this.$route.query.id, sort, this.state, false).then(data => { |
|
||||
switch (sort) { |
|
||||
case 1: |
|
||||
this.bgfyData = data |
|
||||
this.jyxmController.initJjyJyxm(this.state, this.bgfyData) |
|
||||
this.tableJs.getData(this.cols, this.rows, this.bgfyData) |
|
||||
break |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
/** |
|
||||
* 获取表格中的id, 不为空的检验结果和备注 |
|
||||
*/ |
|
||||
getProp: function(data) { |
|
||||
const retData = [] |
|
||||
const fields = ['xiangmuleibie', 'jyjg1', 'jyjg2', 'jianyanjieguo', 'jianjianyuan', 'querenriqi'] |
|
||||
for (let i = 0; i < data.length; i++) { |
|
||||
const retRow = {} |
|
||||
retRow.id = data[i].id |
|
||||
fields.forEach(field => { |
|
||||
if (data[i][field]) { |
|
||||
retRow[field] = data[i][field] |
|
||||
} |
|
||||
}) |
|
||||
retData.push(retRow) |
|
||||
} |
|
||||
return retData |
|
||||
}, |
|
||||
/** |
|
||||
* 检验项目批量签名 |
|
||||
*/ |
|
||||
Signjyxm() { |
|
||||
if (this.$refs.bgfyData.selection.length === 0) { |
|
||||
this.$message('请在列表选择要签名的数据。') |
|
||||
return |
|
||||
} |
|
||||
this.signShow = true |
|
||||
this.$refs.qmButton.dialogFormVisible = true |
|
||||
}, |
|
||||
/** |
|
||||
* 检验项目清除签名 |
|
||||
*/ |
|
||||
signClear: function() { |
|
||||
if (this.$refs.bgfyData.selection.length === 0) { |
|
||||
this.$message('请在列表选择要清除签名的数据。') |
|
||||
return |
|
||||
} |
|
||||
this.$refs.qmButton.clearSign() |
|
||||
}, |
|
||||
closeDialog() { |
|
||||
this.jyxmrqShow = false |
|
||||
}, |
|
||||
onRowClick(row) { |
|
||||
this.$refs.bgfyData.toggleRowSelection(row) |
|
||||
}, |
|
||||
batchUpdDate() { |
|
||||
if (this.$refs.bgfyData.selection.length === 0) { |
|
||||
this.$message('请在列表选择要修改日期的数据。') |
|
||||
return false |
|
||||
} |
|
||||
this.jyxmrqShow = true |
|
||||
}, |
|
||||
batchUpd() { |
|
||||
for (let i = 0; i < this.$refs.bgfyData.selection.length; i++) { |
|
||||
this.$refs.bgfyData.selection[i].querenriqi = this.querenriqi |
|
||||
for (let j = 0; j < this.bgfyData.length; j++) { |
|
||||
if (this.bgfyData[j].id === this.$refs.bgfyData.selection[i].id) { |
|
||||
this.$set(this.bgfyData[j], this.$refs.bgfyData.selection[i]) |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
this.jyxmrqShow = false |
|
||||
}, |
|
||||
saveYsjl: function(operation) { |
|
||||
if (operation === 'add') { |
|
||||
if (!this.jlbh4.trim()) { |
|
||||
this.$message({ message: '请先确认记录编号是否完整!', type: 'warning' }) |
|
||||
return false |
|
||||
} |
|
||||
} |
|
||||
this.tableData = [] |
|
||||
this.tableData.push(this.getProp(this.bgfyData)) |
|
||||
let url = '' |
|
||||
this.ysjl.bglx = 1 |
|
||||
this.ysjl.cjState = 'ysjl' |
|
||||
this.ysjl.zfState = '0' |
|
||||
this.ysjl.jlprintState = 0 |
|
||||
if (operation === 'add') { |
|
||||
url = '/ysjl/saveYsjl' |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 |
|
||||
this.ysjl.jianyanxiangmu = this.jyxm |
|
||||
} else if (operation === 'build') { |
|
||||
if (!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 |
|
||||
} |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} else if (operation === 'upd') { |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} |
|
||||
if (this.isRepeat) { |
|
||||
this.$message({ message: '记录编号重复,请先修改记录编号再保存', type: 'error' }) |
|
||||
return false |
|
||||
} else { |
|
||||
this.$refs['ysjl'].validate(valid => { |
|
||||
if (valid) { |
|
||||
this.api({ |
|
||||
url: url, |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
ysjl: this.ysjl, |
|
||||
param: this.param, |
|
||||
jyxm: JSON.stringify(this.tableData), |
|
||||
flag: operation |
|
||||
} |
|
||||
}).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 |
|
||||
}) |
|
||||
// this.$router.push({ |
|
||||
// path: this.path + this.ysjl.id, |
|
||||
// query: { state: 'update', id: this.ysjl.id, departmentId: this.ysjl.departmentId, jianyanrenyuan: this.ysjl.jianyanrenyuan } |
|
||||
// }) |
|
||||
} 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-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 |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
changeJyjl(val) { |
|
||||
if (val === '符合') { |
|
||||
// 性能符合的时候下次检验日期加一年减一天 |
|
||||
this.ysjl.jianyanjielun = '合格' |
|
||||
const xcjyrq = new Date(this.ysjl.jianyanjieshuriqi) |
|
||||
xcjyrq.setFullYear(xcjyrq.getFullYear() + 1) |
|
||||
this.ysjl.xiacijianyanriqi = xcjyrq.setDate(xcjyrq.getDate() - 1) |
|
||||
} else { |
|
||||
// 性能不符合的时候下次检验日期加三个月减一天 |
|
||||
this.ysjl.jianyanjielun = '不合格' |
|
||||
const xcjyrq = new Date(this.ysjl.jianyanjieshuriqi) |
|
||||
xcjyrq.setMonth(xcjyrq.getMonth() + 1 + 2) |
|
||||
this.ysjl.xiacijianyanriqi = xcjyrq.setDate(xcjyrq.getDate() - 1) |
|
||||
} |
|
||||
}, |
|
||||
/** |
|
||||
* 改变额定功率:蒸汽锅炉是t/h,其他的是MW |
|
||||
*/ |
|
||||
changeEdgl() { |
|
||||
if (this.ysjl.shebeileibiedaima === '1100') { |
|
||||
this.param.edinggonglv = 't/h' |
|
||||
} else { |
|
||||
this.param.edinggonglv = 'MW' |
|
||||
} |
|
||||
}, |
|
||||
/** |
|
||||
* |
|
||||
* @param $index |
|
||||
* @param field |
|
||||
*/ |
|
||||
changeJyjg($index, field) { |
|
||||
this.fieldArr.forEach(currentField => { |
|
||||
if (field !== currentField) { |
|
||||
this.bgfyData[$index][currentField] = '' |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
/** |
|
||||
* 是否可编辑 |
|
||||
* @param $index |
|
||||
* @returns {number} |
|
||||
*/ |
|
||||
showXmlb($index) { |
|
||||
return this.showXmlbIndexListSg.filter(xl => { |
|
||||
return xl === $index |
|
||||
}).length |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
@ -1,949 +0,0 @@ |
|||||
<!--整装锅炉安装监督检验--> |
|
||||
<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 type="primary" size="medium" @click="Signjyxm"> |
|
||||
<svg-icon icon-class="sign" /> |
|
||||
检验项目批量签名 |
|
||||
</el-button> |
|
||||
<el-button type="danger" icon="el-icon-delete" size="medium" @click="signClear"> |
|
||||
批量清除签名 |
|
||||
</el-button> |
|
||||
<el-button type="success" size="medium" icon="el-icon-edit" @click="batchUpdDate"> |
|
||||
批量修改日期 |
|
||||
</el-button> |
|
||||
<el-button v-if="state !== 'create'" type="warning" icon="el-icon-view" size="medium" @click="common.viewYsjl(ysjl.id, 'YSJL')"> |
|
||||
预览 |
|
||||
</el-button> |
|
||||
<Ft v-if="state !== 'create'" :state="state" :ysjl="ysjl" :ysjl-id="Number(ysjlId ? ysjlId : 0)" :department-id="Number(departmentId ? departmentId : 0)" style="margin-left: 10px;" /> |
|
||||
</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="130px"> |
|
||||
<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:80px" disabled />- |
|
||||
<el-input v-model="jlbh4" style="width:85px" @blur="judgeRepeat(jlbh1 + jlbh2 + jlbh3 + '-' + jlbh4 , 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="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" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="邮政编码" prop="shiyongdanweiYoubian"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiYoubian" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="使用单位联系人" prop="shiyongdanweiLianxiren"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiLianxiren" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="联系电话" prop="shiyongdanweiDianhua"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiDianhua" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="锅炉型号" prop="guigexinghao"> |
|
||||
<el-input v-model="ysjl.guigexinghao" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<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-col :span="9"> |
|
||||
<el-form-item label="额定蒸发量(热功率)" label-width="140px" prop="edingzhengfaliang"> |
|
||||
<el-input v-model="param.edingzhengfaliang" type="text"> |
|
||||
<template slot="append"> |
|
||||
t/h(MW) |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="制造单位" prop="zhizaodanwei"> |
|
||||
<el-input v-model="ysjl.zhizaodanwei" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="产品编号" prop="chanpinbianhao"> |
|
||||
<el-input v-model="ysjl.chanpinbianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备代码" prop="shebeidaima"> |
|
||||
<el-input v-model="ysjl.shebeidaima" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定压力" prop="edingyali"> |
|
||||
<el-input v-model="param.edingyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定温度" prop="edingwendu"> |
|
||||
<el-input v-model="param.edingwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备类别" prop="shebeileibiedaima"> |
|
||||
<el-select v-model="ysjl.shebeileibiedaima" filterable allow-create default-first-option style="width: 100%" @change="getSbpzList"> |
|
||||
<el-option v-for="item in sblbList" :key="item.value" :label="item.label" :value="item.value" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="允许工作压力" prop="gongzuoyali"> |
|
||||
<el-input v-model="param.gongzuoyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="允许工作温度" prop="yunxugongzuowendu"> |
|
||||
<el-input v-model="param.yunxugongzuowendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备品种(名称)" prop="shebeipinzhongdaima"> |
|
||||
<el-select v-model="ysjl.shebeipinzhongdaima" filterable allow-create default-first-option style="width: 100%" @change="setSbpz"> |
|
||||
<el-option v-for="item in sbpzList" :key="item.value" :label="item.label" :value="item.value" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="水(耐)压试验压力" prop="shuiyashiyanyali" label-width="150px"> |
|
||||
<el-input v-model="param.shuiyashiyanyali" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="使用压力" prop="shiyongyali"> |
|
||||
<el-input v-model="param.shiyongyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="内部编号" prop="danweineibubianhao"> |
|
||||
<el-input v-model="ysjl.danweineibubianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="告知书编号" prop="gaozhibianhao"> |
|
||||
<el-input v-model="param.gaozhibianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="施工单位" prop="shigongdanwei"> |
|
||||
<el-input v-model="ysjl.shigongdanwei" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="许可级别" prop="shigongxukezhengjibie"> |
|
||||
<el-input v-model="ysjl.shigongxukezhengjibie" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="许可证编号" prop="shigongxukezheng"> |
|
||||
<el-input v-model="ysjl.shigongxukezheng" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="施工单位联系人" prop="shigongdanweiLianxiren"> |
|
||||
<el-input v-model="ysjl.shigongdanweiLianxiren" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="施工单位联系电话" prop="shigongdanweiDianhua"> |
|
||||
<el-input v-model="ysjl.shigongdanweiDianhua" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>检验信息</legend> |
|
||||
<el-row :gutter="20" style="text-align:left;margin-left: 50px;font-size: 18px;color: #606266;line-height: 40px;font-weight: bolder;"> |
|
||||
根据《中华人民共和国特种设备安全法》、《特种设备安全监察条例》的规定,该锅炉 的(安装)经我机构监督检验,符合《锅炉安全技术规程》规定的基本安 全要求,特发此证书。 |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="margin-top: 20px;"> |
|
||||
<el-col :span="9"> |
|
||||
<!-- 开始安装日期就是开工告知日期 --> |
|
||||
<el-form-item label="开始安装日期" prop="gaozhiriqi"> |
|
||||
<el-date-picker v-model="param.gaozhiriqi" type="date" value-format="yyyy年MM月dd日" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="水压试验日期" prop="shiyanriqi"> |
|
||||
<el-date-picker v-model="param.shiyanriqi" type="date" placeholder="选择日期" style="width: 75%;" /> |
|
||||
<el-button type="primary" title="同步检验项中第1大项到第9大项的监检日期" icon="el-icon-refresh" size="mini" @click="syncRq(0, 38, param.shiyanriqi)" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="试运行完毕日期" prop="shiyunxingriqi"> |
|
||||
<el-date-picker v-model="param.shiyunxingriqi" type="date" value-format="yyyy年MM月dd日" placeholder="选择日期" style="width: 75%;" /> |
|
||||
<el-button type="primary" title="同步检验项中第10大项到第12大项的监检日期" icon="el-icon-refresh" size="mini" @click="syncRq(44, bgfyData.length, param.shiyunxingriqi)" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="安装资料送审日期" prop="anzhuangziliaosongshenriqi"> |
|
||||
<el-date-picker v-model="param.anzhuangziliaosongshenriqi" 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="jianyanjieshuriqi"> |
|
||||
<el-date-picker v-model="ysjl.jianyanjieshuriqi" type="date" 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" type="date" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="10"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验人员" prop="jianyanrenyuan"> |
|
||||
<el-input v-model="jianyanrenyuan" disabled /> |
|
||||
<el-input v-show="false" v-model="ysjl.jianyanrenyuan" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<sign-name :jianyanrenyuan="jianyanrenyuan" :ysjl="ysjl" @setSignValue="signNameValue" /> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18" style="height: 130px;"> |
|
||||
<el-form-item label="其他情况说明:" prop="beizhu"> |
|
||||
<el-input v-model="ysjl.beizhu" :rows="5" :disabled="edit" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
</el-form> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane label="整装锅炉安装监督检验项目表" name="second"> |
|
||||
<el-form class="el-form" label-width="150px"> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18" style="height: 170px;"> |
|
||||
<el-form-item label="其他记录的内容:" prop="shuoming"> |
|
||||
<el-input v-model="param.shuoming" :rows="5" :disabled="edit" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18" style="height: 200px;"> |
|
||||
<el-form-item label="附件" prop="fujian"> |
|
||||
<el-checkbox v-model="checkAll" :indeterminate="isIndeterminate" @change="handleCheckAllChange"> |
|
||||
全选 |
|
||||
</el-checkbox> |
|
||||
<br> |
|
||||
<el-checkbox |
|
||||
v-for="(item, index) in param.fujian" |
|
||||
:key="item" |
|
||||
v-model="param.fujian[index]" |
|
||||
:true-label="'☑' + getFujianOption(item)" |
|
||||
:false-label="'□' + getFujianOption(item)" |
|
||||
@change="handleCheckedChange" |
|
||||
> |
|
||||
{{ getFujianOption(item) }} |
|
||||
</el-checkbox> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</el-form> |
|
||||
<el-table ref="bgfyData" :data="bgfyData" :span-method="tableJs.mergeColRows" border stripe style="width:90%" @row-click="onRowClick"> |
|
||||
<el-table-column type="selection" width="55" prop="checkbox" /> |
|
||||
<el-table-column type="index" align="center" width="50" label="序号" /> |
|
||||
<el-table-column align="center" label="监检项目"> |
|
||||
<el-table-column align="center" prop="jianyanxiang" width="70" label="检验项" /> |
|
||||
<el-table-column align="left" prop="jianyanneirong" label="检验内容" /> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="xiangmuleibie" width="100" label="类别" /> |
|
||||
<el-table-column align="center" label="检验检测情况或结果"> |
|
||||
<el-table-column align="center" prop="jyjg1" width="90" label="合格"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-checkbox v-model="scope.row.jyjg1" label="√" true-label="√" border @change="changeJyjg(scope.$index, 'jyjg1')" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="jyjg2" width="90" label="不合格"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-checkbox v-model="scope.row.jyjg2" label="√" true-label="√" border @change="changeJyjg(scope.$index, 'jyjg2')" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="jianyanjieguo" width="90" label="无此项"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-checkbox v-model="scope.row.jianyanjieguo" label="√" true-label="√" border @change="changeJyjg(scope.$index, 'jianyanjieguo')" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table-column> |
|
||||
<el-table-column :formatter="formatterJianjianyuan" align="center" prop="jianjianyuan" width="100" label="监检员" /> |
|
||||
<el-table-column align="center" prop="querenriqi" width="160" label="日期"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-date-picker v-model="scope.row.querenriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane v-if="state !== 'create'" label="检验收费情况" name="jysfqk"> |
|
||||
<complex-bill v-if="complexShow" ref="bill" :ysjl="ysjl" /> |
|
||||
</el-tab-pane> |
|
||||
</el-tabs> |
|
||||
<el-dialog :visible.sync="jyxmrqShow" title="批量修改日期" width="500px" @close="closeDialog"> |
|
||||
<template> |
|
||||
<el-date-picker v-model="querenriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</template> |
|
||||
<span slot="footer" class="dialog-footer"> |
|
||||
<el-button @click="jyxmrqShow = false">取 消</el-button> |
|
||||
<el-button type="primary" @click="batchUpd">确 定</el-button> |
|
||||
</span> |
|
||||
</el-dialog> |
|
||||
<sign-name v-show="signShow" ref="qmButton" :ysjl="ysjl" :jianyanrenyuan="xmjianyanrenyuan" field-name="xmqianming" @setSignValue="signNameValue" /> |
|
||||
</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 Ft from '@/views/ysjl/1000/common/glft' |
|
||||
import ComplexBill from '@/views/chargeBill/components/complex' |
|
||||
|
|
||||
export default { |
|
||||
name: 'GlZgjdYsjl2', |
|
||||
components: { SignName, Sticky, Ft, ComplexBill }, |
|
||||
data() { |
|
||||
return { |
|
||||
jlbh1: 'GZA(', |
|
||||
jlbh2: new Date().getFullYear(), |
|
||||
jlbh3: ')', |
|
||||
jlbh4: '', |
|
||||
ysjl: {}, |
|
||||
param: {}, |
|
||||
jyxm: 'zgjd', |
|
||||
path: '/ysjl/1000/zg/zgjd/', |
|
||||
state: this.$route.query.state, |
|
||||
jianyanrenyuan: '', |
|
||||
departmentId: this.$route.query.departmentId, |
|
||||
isRepeat: false, |
|
||||
edit: false, |
|
||||
bgfyData: [], |
|
||||
tableData: [], |
|
||||
checkedTab: 'first', |
|
||||
xmjianyanrenyuan: '', |
|
||||
// 表格合并相关 |
|
||||
// 参与列合并的字段,在这里增加即可 |
|
||||
cols: [ |
|
||||
{ |
|
||||
name: 'checkbox', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianyanxiang', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { // 该列用于比较的值的获取方法 |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianyanneirong', |
|
||||
getValue(row) { |
|
||||
return row.jianyanneirong |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianjianyuan', |
|
||||
getValue(row) { |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'querenriqi', |
|
||||
getValue(row) { |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
} |
|
||||
], |
|
||||
// 参与行内合并的字段 |
|
||||
rows: [ |
|
||||
{ |
|
||||
name: 'jianyanxiang', |
|
||||
getValue(row) { |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianyanneirong', |
|
||||
getValue(row) { |
|
||||
return row.jianyanneirong |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianjianyuan', |
|
||||
getValue(row) { |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
} |
|
||||
], |
|
||||
signShow: false, |
|
||||
jyxmrqShow: false, |
|
||||
querenriqi: new Date(), |
|
||||
sblbList: [], |
|
||||
sbpzList: [], |
|
||||
ysjlId: this.$route.query.id, |
|
||||
fieldArr: ['jyjg1', 'jyjg2', 'jianyanjieguo'], |
|
||||
xmlbList: ['B', 'C'], |
|
||||
showXmlbIndexListZg: [1, 16, 22, 45, 46, 47, 48, 49, 50, 51, 52], |
|
||||
disabledEdit: [46, 47, 48, 49, 50, 51, 52], |
|
||||
complexShow: false, |
|
||||
fujianOptions: ['□安装告知书', '□安装许可证', '□环评批复', '□锅炉房设计平面图', '□锅炉出厂合格证', '□产品监检证书', '□锅炉定型测试报告', '□燃烧机定型测试报告', |
|
||||
'□管道探伤抽查报告', '□调试人员培训合格证书和授权委托书', '□燃烧机调试合格报告', '□污染物排放报告', '□监督检验工作联络单或监督检验工作意见通知书', '□其它见证材料'], |
|
||||
isIndeterminate: false, |
|
||||
checkAll: [] |
|
||||
} |
|
||||
}, |
|
||||
computed: { |
|
||||
jilubianhao: function() { |
|
||||
let bianhao |
|
||||
if (!this.ysjl.jilubianhao) { |
|
||||
return this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 |
|
||||
} else { |
|
||||
bianhao = this.ysjl.jilubianhao |
|
||||
} |
|
||||
return this.judgeRepeat(bianhao, this.ysjl.id) |
|
||||
} |
|
||||
}, |
|
||||
watch: { |
|
||||
jlbh4: function(val) { |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + val |
|
||||
this.judgeRepeat(this.ysjl.jilubianhao, this.ysjl.id) |
|
||||
}, |
|
||||
jilubianhao: function(newValue) { |
|
||||
this.judgeRepeat(newValue, this.ysjl.id) |
|
||||
} |
|
||||
}, |
|
||||
created() { |
|
||||
if (this.state === 'create') { |
|
||||
this.api({ |
|
||||
url: '/ysjl/initYsjl', |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
modelId: this.$route.query.modelId, |
|
||||
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') |
|
||||
const currentDate = new Date() |
|
||||
const xcjyrq = new Date((currentDate.getFullYear() + 1) + '-' + (currentDate.getMonth() + 1) + '-' + currentDate.getDate()) |
|
||||
this.ysjl.xiacijianyanriqi = xcjyrq.setDate(xcjyrq.getDate() - 1) |
|
||||
this.ysjl.jianyanjielun = '合格' |
|
||||
this.ysjl.baogaojielun = '符合' |
|
||||
this.ysjl.jigouhezhunzhenghao = process.env.VUE_APP_HZZBH |
|
||||
this.$set(this.param, 'shiyunxingriqi', this.formatter.dateFormat('YYYY年MM月dd日')) |
|
||||
this.ysjl.beizhu = '/' |
|
||||
this.ysjl.zhizaoriqi = '' |
|
||||
this.changeEdgl() |
|
||||
this.getSbList('1000', this.ysjl.shebeileibiedaima, 3) |
|
||||
this.$set(this.param, 'hasYijiantongzhishu', '无。') |
|
||||
this.$set(this.param, 'fujian', this.fujianOptions) |
|
||||
}) |
|
||||
this.getMaxBh() |
|
||||
} else { |
|
||||
this.getYsjl(this.$route.query.id) |
|
||||
} |
|
||||
this.getSbList('1000', undefined, 2) |
|
||||
this.getJyxm(1) |
|
||||
}, |
|
||||
methods: { |
|
||||
getFujianOption(val) { |
|
||||
return val.replace('□', '').replace('☑', '') |
|
||||
}, |
|
||||
handleCheckAllChange(val) { |
|
||||
this.param.fujian = val ? this.fujianOptions.map(row => row.replace('□', '☑')) : this.fujianOptions |
|
||||
this.isIndeterminate = false |
|
||||
}, |
|
||||
handleCheckedChange() { |
|
||||
const checkedCount = this.param.fujian.filter(row => row.indexOf('☑') === 0).length |
|
||||
const totalCount = this.param.fujian.length |
|
||||
this.checkAll = checkedCount === totalCount |
|
||||
this.isIndeterminate = checkedCount > 0 && checkedCount < totalCount |
|
||||
}, |
|
||||
/** |
|
||||
* 格式化监检员 |
|
||||
*/ |
|
||||
formatterJianjianyuan(row) { |
|
||||
if (row.jianjianyuan) { |
|
||||
if (typeof (row.jianjianyuan) === 'number') { |
|
||||
row.jianjianyuan = row.jianjianyuan.toString() |
|
||||
} |
|
||||
return this.common.convertCnName(row.jianjianyuan) |
|
||||
} |
|
||||
}, |
|
||||
// 签名方法 |
|
||||
signNameValue(data) { |
|
||||
if (data.fieldName === 'xmqianming') { |
|
||||
this.jyxmController.findFirstJyxAndSignName(this.$refs.bgfyData.selection, this.bgfyData, data) |
|
||||
this.signShow = false |
|
||||
} else { |
|
||||
this.ysjl.jianyanrenyuan = data.id |
|
||||
this.jianyanrenyuan = data.name |
|
||||
if (this.state !== 'create') { |
|
||||
this.common.signName(this.ysjl.id, this.ysjl.jianyanrenyuan) |
|
||||
Utils.$emit('ysjl-list') |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
// 查询最大记录编号 |
|
||||
getMaxBh() { |
|
||||
const aheadPart = this.jlbh1 + '' + this.jlbh2 + '' + this.jlbh3 |
|
||||
this.api({ |
|
||||
url: '/ysjl/gainCurrentBh', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
aheadPart: aheadPart + '-', |
|
||||
hinderPart: '' |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.jlbh4 = data |
|
||||
}) |
|
||||
}, |
|
||||
getSbpzList(val) { |
|
||||
this.changeEdgl() |
|
||||
let obj = {} |
|
||||
obj = this.sblbList.find((item) => { // 这里的sblbList就是上面遍历的数据源 |
|
||||
return item.value === val // 筛选出匹配数据 |
|
||||
}) |
|
||||
this.ysjl.shebeileibie = obj.label |
|
||||
this.ysjl.shebeipinzhongdaima = '' |
|
||||
this.ysjl.shebeipinzhong = '' |
|
||||
if (val) { |
|
||||
this.getSbList('1000', val, 3) |
|
||||
} |
|
||||
}, |
|
||||
setSbpz(val) { |
|
||||
let obj = {} |
|
||||
obj = this.sbpzList.find((item) => { // 这里的userList就是上面遍历的数据源 |
|
||||
return item.value === val // 筛选出匹配数据 |
|
||||
}) |
|
||||
this.ysjl.shebeipinzhong = obj.label |
|
||||
}, |
|
||||
getSbList(sbzl, sblb, level) { |
|
||||
this.api({ |
|
||||
url: '/sedirectory/getList', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
sbzl: sbzl, |
|
||||
sblb: sblb, |
|
||||
level: level |
|
||||
} |
|
||||
}).then(data => { |
|
||||
switch (level) { |
|
||||
case 2: |
|
||||
this.sblbList = data |
|
||||
return '' |
|
||||
case 3: |
|
||||
this.sbpzList = data |
|
||||
return '' |
|
||||
default: |
|
||||
this.sbzlList = data |
|
||||
return '' |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
getYsjl(id) { |
|
||||
this.api({ |
|
||||
url: '/ysjl/getYsjlById', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: id |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.ysjl = data.ysjl |
|
||||
this.complexShow = true |
|
||||
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) |
|
||||
this.changeEdgl() |
|
||||
this.getSbList('1000', this.ysjl.shebeileibiedaima, 3) |
|
||||
}) |
|
||||
}, |
|
||||
getParam(ysjlId, sbzldm) { |
|
||||
// 根据原始记录id查询参数 |
|
||||
this.api({ |
|
||||
url: '/ysjl/getParamByYsjlId', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: ysjlId, |
|
||||
sbzldm: sbzldm |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.param = data |
|
||||
this.$set(this.param, 'fujian', JSON.parse(this.param.fujian)) |
|
||||
this.handleCheckedChange() |
|
||||
}) |
|
||||
}, |
|
||||
// 查询检验项目 |
|
||||
getJyxm(sort) { |
|
||||
this.jyxmController.getJyxm(this.$route.query.modelId, this.$route.query.id, sort, this.state, false).then(data => { |
|
||||
switch (sort) { |
|
||||
case 1: |
|
||||
this.bgfyData = data |
|
||||
this.jyxmController.initJjyJyxm(this.state, this.bgfyData) |
|
||||
this.tableJs.getData(this.cols, this.rows, this.bgfyData) |
|
||||
break |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
/** |
|
||||
* 获取表格中的id, 不为空的检验结果和备注 |
|
||||
*/ |
|
||||
getProp: function(data) { |
|
||||
const retData = [] |
|
||||
const fields = ['xiangmuleibie', 'jyjg1', 'jyjg2', 'jianyanjieguo', 'jianjianyuan', 'querenriqi'] |
|
||||
for (let i = 0; i < data.length; i++) { |
|
||||
const retRow = {} |
|
||||
retRow.id = data[i].id |
|
||||
fields.forEach(field => { |
|
||||
if (data[i][field]) { |
|
||||
retRow[field] = data[i][field] |
|
||||
} |
|
||||
}) |
|
||||
retData.push(retRow) |
|
||||
} |
|
||||
return retData |
|
||||
}, |
|
||||
/** |
|
||||
* 检验项目批量签名 |
|
||||
*/ |
|
||||
Signjyxm() { |
|
||||
if (this.$refs.bgfyData.selection.length === 0) { |
|
||||
this.$message('请在列表选择要签名的数据。') |
|
||||
return |
|
||||
} |
|
||||
this.signShow = true |
|
||||
this.$refs.qmButton.dialogFormVisible = true |
|
||||
}, |
|
||||
/** |
|
||||
* 检验项目清除签名 |
|
||||
*/ |
|
||||
signClear: function() { |
|
||||
if (this.$refs.bgfyData.selection.length === 0) { |
|
||||
this.$message('请在列表选择要清除签名的数据。') |
|
||||
return |
|
||||
} |
|
||||
this.$refs.qmButton.clearSign() |
|
||||
}, |
|
||||
closeDialog() { |
|
||||
this.jyxmrqShow = false |
|
||||
}, |
|
||||
onRowClick(row) { |
|
||||
this.$refs.bgfyData.toggleRowSelection(row) |
|
||||
}, |
|
||||
batchUpdDate() { |
|
||||
if (this.$refs.bgfyData.selection.length === 0) { |
|
||||
this.$message('请在列表选择要修改日期的数据。') |
|
||||
return false |
|
||||
} |
|
||||
this.jyxmrqShow = true |
|
||||
}, |
|
||||
batchUpd() { |
|
||||
for (let i = 0; i < this.$refs.bgfyData.selection.length; i++) { |
|
||||
this.$refs.bgfyData.selection[i].querenriqi = this.querenriqi |
|
||||
for (let j = 0; j < this.bgfyData.length; j++) { |
|
||||
if (this.bgfyData[j].id === this.$refs.bgfyData.selection[i].id) { |
|
||||
this.$set(this.bgfyData[j], this.$refs.bgfyData.selection[i]) |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
this.jyxmrqShow = false |
|
||||
}, |
|
||||
saveYsjl: function(operation) { |
|
||||
if (operation === 'add') { |
|
||||
if (!this.jlbh4.trim()) { |
|
||||
this.$message({ message: '请先确认记录编号是否完整!', type: 'warning' }) |
|
||||
return false |
|
||||
} |
|
||||
} |
|
||||
this.tableData = [] |
|
||||
this.tableData.push(this.getProp(this.bgfyData)) |
|
||||
let url = '' |
|
||||
this.ysjl.bglx = 1 |
|
||||
this.ysjl.cjState = 'ysjl' |
|
||||
this.ysjl.zfState = '0' |
|
||||
this.ysjl.jlprintState = 0 |
|
||||
if (operation === 'add') { |
|
||||
url = '/ysjl/saveYsjl' |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 |
|
||||
this.ysjl.jianyanxiangmu = this.jyxm |
|
||||
} else if (operation === 'build') { |
|
||||
if (!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 |
|
||||
} |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} else if (operation === 'upd') { |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} |
|
||||
if (this.isRepeat) { |
|
||||
this.$message({ message: '记录编号重复,请先修改记录编号再保存', type: 'error' }) |
|
||||
return false |
|
||||
} else { |
|
||||
this.$refs['ysjl'].validate(valid => { |
|
||||
if (valid) { |
|
||||
this.api({ |
|
||||
url: url, |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
ysjl: this.ysjl, |
|
||||
param: this.param, |
|
||||
jyxm: JSON.stringify(this.tableData), |
|
||||
flag: operation |
|
||||
} |
|
||||
}).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 |
|
||||
}) |
|
||||
// this.$router.push({ |
|
||||
// path: this.path + this.ysjl.id, |
|
||||
// query: { state: 'update', id: this.ysjl.id, departmentId: this.ysjl.departmentId, jianyanrenyuan: this.ysjl.jianyanrenyuan } |
|
||||
// }) |
|
||||
} 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-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 |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
changeJyjl(val) { |
|
||||
if (val === '符合') { |
|
||||
// 性能符合的时候下次检验日期加一年减一天 |
|
||||
this.ysjl.jianyanjielun = '合格' |
|
||||
const xcjyrq = new Date(this.ysjl.jianyanjieshuriqi) |
|
||||
xcjyrq.setFullYear(xcjyrq.getFullYear() + 1) |
|
||||
this.ysjl.xiacijianyanriqi = xcjyrq.setDate(xcjyrq.getDate() - 1) |
|
||||
} else { |
|
||||
// 性能不符合的时候下次检验日期加三个月减一天 |
|
||||
this.ysjl.jianyanjielun = '不合格' |
|
||||
const xcjyrq = new Date(this.ysjl.jianyanjieshuriqi) |
|
||||
xcjyrq.setMonth(xcjyrq.getMonth() + 1 + 2) |
|
||||
this.ysjl.xiacijianyanriqi = xcjyrq.setDate(xcjyrq.getDate() - 1) |
|
||||
} |
|
||||
}, |
|
||||
/** |
|
||||
* 改变额定功率:蒸汽锅炉是t/h,其他的是MW |
|
||||
*/ |
|
||||
changeEdgl() { |
|
||||
if (this.ysjl.shebeileibiedaima === '1100') { |
|
||||
this.param.edinggonglv = 't/h' |
|
||||
} else { |
|
||||
this.param.edinggonglv = 'MW' |
|
||||
} |
|
||||
}, |
|
||||
/** |
|
||||
* |
|
||||
* @param $index |
|
||||
* @param field |
|
||||
*/ |
|
||||
changeJyjg($index, field) { |
|
||||
this.fieldArr.forEach(currentField => { |
|
||||
if (field !== currentField) { |
|
||||
this.bgfyData[$index][currentField] = '' |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
/** |
|
||||
* 同步检验项目中的日期 |
|
||||
* 水压试验日期同步1-9大项 |
|
||||
* 试运行日期同步10-12大项 |
|
||||
* @param startIndex 索引 |
|
||||
* @param count 最大索引 |
|
||||
* @param riqi 同步的日期 |
|
||||
*/ |
|
||||
syncRq(startIndex, count, riqi) { |
|
||||
for (let i = startIndex; i < count; i++) { |
|
||||
if (i === 0) { |
|
||||
this.bgfyData[i].querenriqi = this.param.shiyanriqi |
|
||||
} else if (i + 1 < this.bgfyData.length && this.bgfyData[i].jianyanxiang !== this.bgfyData[i + 1].jianyanxiang) { |
|
||||
this.bgfyData[i + 1].querenriqi = riqi.replace('年', '-').replace('月', '-').replace('日', '') |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
/** |
|
||||
* 是否展示项目类别 |
|
||||
* @param $index |
|
||||
* @returns {number} |
|
||||
*/ |
|
||||
showXmlb($index) { |
|
||||
return this.showXmlbIndexListZg.filter(index => { |
|
||||
return index === $index |
|
||||
}).length |
|
||||
}, |
|
||||
/** |
|
||||
* 是否可编辑 |
|
||||
* @param $index |
|
||||
* @returns {boolean} |
|
||||
*/ |
|
||||
editStatus($index) { |
|
||||
return this.disabledEdit.filter(index => { |
|
||||
return index === $index |
|
||||
}).length > 0 |
|
||||
}, |
|
||||
/** |
|
||||
* 改变部分项目类别 |
|
||||
* @param $index |
|
||||
*/ |
|
||||
changeXmlb($index) { |
|
||||
if ($index === 45) { |
|
||||
this.disabledEdit.forEach(index => { |
|
||||
this.bgfyData[index].xiangmuleibie = this.bgfyData[$index].xiangmuleibie |
|
||||
}) |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
@ -1,714 +0,0 @@ |
|||||
<!--锅炉改造和重大修理--> |
|
||||
<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')"> |
|
||||
预览 |
|
||||
</el-button> |
|
||||
<Ft v-if="state !== 'create'" :state="state" :ysjl="ysjl" :ysjl-id="Number(ysjlId ? ysjlId : 0)" :department-id="Number(departmentId ? departmentId : 0)" style="margin-left: 10px;" /> |
|
||||
</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="130px"> |
|
||||
<fieldset> |
|
||||
<legend>基本信息</legend> |
|
||||
<el-row :gutter="25"> |
|
||||
<el-col v-if="state === 'create'" :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:80px" disabled />- |
|
||||
<el-input v-model="jlbh4" style="width:85px" @blur="judgeRepeat(jlbh1 + jlbh2 + jlbh3 + '-' + jlbh4 , 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="shiyongdengjibianhao"> |
|
||||
<el-input v-model="ysjl.shiyongdengjibianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="注册代码" prop="zhucedaima"> |
|
||||
<el-input v-model="ysjl.zhucedaima" type="text" /> |
|
||||
</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" 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" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="电话" prop="shiyongdanweiDianhua"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiDianhua" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="单位邮编" prop="shiyongdanweiYoubian"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiYoubian" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="锅炉型号" prop="guigexinghao"> |
|
||||
<el-input v-model="ysjl.guigexinghao" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="制造单位" prop="zhizaodanwei"> |
|
||||
<el-input v-model="ysjl.zhizaodanwei" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<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-col :span="9"> |
|
||||
<el-form-item label="投用日期" prop="touyongriqi"> |
|
||||
<el-date-picker v-model="ysjl.touyongriqi" 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="chanpinbianhao"> |
|
||||
<el-input v-model="ysjl.chanpinbianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="使用编号" prop="danweineibubianhao"> |
|
||||
<el-input v-model="ysjl.danweineibubianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="6"> |
|
||||
<el-form-item label="额定出力" prop="edingchuli"> |
|
||||
<el-input v-model="param.edingchuli" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="3"> |
|
||||
<el-select v-model="param.edinggonglv" :disabled="true" type="text" placeholder="请选择"> |
|
||||
<el-option label="t/h" value="t/h" /> |
|
||||
<el-option label="MW" value="MW" /> |
|
||||
</el-select> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定压力" prop="edingyali"> |
|
||||
<el-input v-model="param.edingyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</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" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="使用压力" prop="shiyongyali"> |
|
||||
<el-input v-model="param.shiyongyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定温度" prop="edingwendu"> |
|
||||
<el-input v-model="param.edingwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备类别" prop="shebeileibiedaima"> |
|
||||
<el-select v-model="ysjl.shebeileibiedaima" placeholder="设备类别" style="width: 100%" @change="getSbpzList"> |
|
||||
<el-option v-for="item in sblbList" :key="item.value" :label="item.label" :value="item.value" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备品种(名称)" prop="shebeipinzhongdaima"> |
|
||||
<el-select v-model="ysjl.shebeipinzhongdaima" placeholder="设备品种" style="width: 100%" @change="setSbpz"> |
|
||||
<el-option v-for="item in sbpzList" :key="item.value" :label="item.label" :value="item.value" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="允许工作压力" prop="gongzuoyali"> |
|
||||
<el-input v-model="param.gongzuoyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="允许工作温度" prop="yunxugongzuowendu"> |
|
||||
<el-input v-model="param.yunxugongzuowendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="许可级别" prop="shigongxukezhengjibie"> |
|
||||
<el-input v-model="ysjl.shigongxukezhengjibie" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="施工单位" prop="shigongdanwei"> |
|
||||
<el-input v-model="ysjl.shigongdanwei" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="许可证编号" prop="shigongxukezheng"> |
|
||||
<el-input v-model="ysjl.shigongxukezheng" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="告知书编号" prop="gaozhibianhao"> |
|
||||
<el-input v-model="param.gaozhibianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="施工单位联系人" prop="shigongdanweiLianxiren"> |
|
||||
<el-input v-model="ysjl.shigongdanweiLianxiren" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="施工单位联系电话" prop="shigongdanweiDianhua"> |
|
||||
<el-input v-model="ysjl.shigongdanweiDianhua" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>检查与校验</legend> |
|
||||
<el-row :gutter="20" style="text-align:left;margin-left: 50px;font-size: 18px;color: #606266;line-height: 40px;font-weight: bolder;"> |
|
||||
按照《中华人民共和国特种设备安全法》、《特种设备安全监察条例》的规定,该锅炉的( |
|
||||
<el-select v-model="ysjl.shigongleibie" placeholder="请选择" style="width: 120px;"> |
|
||||
<el-option v-for="item in sglbList" :key="item" :label="item" :value="item" /> |
|
||||
</el-select> )<br> |
|
||||
经我机构实施监督检验,安全性能{{ ysjl.baogaojielun }}《锅炉安全技术规程》的要求,特发此证书。 |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="margin-top: 20px;"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验日期" prop="jianyanjieshuriqi"> |
|
||||
<el-date-picker v-model="ysjl.jianyanjieshuriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="修理(改造)检验结果" prop="jianyanjielun"> |
|
||||
<el-select v-model="ysjl.jianyanjielun" :disabled="edit" placeholder="请选择" style="width: 100%;" @change="changeBgjl"> |
|
||||
<el-option label="符合要求" value="符合要求" /> |
|
||||
<el-option label="不符合要求" value="不符合要求" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="10"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验人员" prop="jianyanrenyuan"> |
|
||||
<el-input v-model="jianyanrenyuan" disabled /> |
|
||||
<el-input v-show="false" v-model="ysjl.jianyanrenyuan" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<sign-name :jianyanrenyuan="jianyanrenyuan" :ysjl="ysjl" @setSignValue="signNameValue" /> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18" style="height: 130px;"> |
|
||||
<el-form-item label="锅炉修理、改造的主要内容及范围:" prop="weihujianxiuqingkuangshuoming" label-width="230px"> |
|
||||
<el-input v-model="param.wentijizai" :rows="5" :disabled="edit" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
</el-form> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane label="锅炉改造和重大修理监督检验项目表" name="second"> |
|
||||
<el-table ref="bgfyData" :data="bgfyData" :span-method="tableJs.mergeColRows" border stripe style="width:70%" @row-click="onRowClick"> |
|
||||
<el-table-column type="selection" width="55" /> |
|
||||
<el-table-column type="index" align="center" width="50" label="序号" /> |
|
||||
<el-table-column align="center" prop="jianyanxiang" width="200" label="检验项目" /> |
|
||||
<el-table-column align="center" prop="jianyanjieguo" label="检查结果"> |
|
||||
<template slot-scope="scope"> |
|
||||
<span v-if="scope.$index === 4"> |
|
||||
保压时间:<el-input v-model="param.baoyashijian" style="width: 25%;" />min, |
|
||||
试验压力:<el-input v-model="param.shiyanyali" style="width: 25%;" />MPa |
|
||||
</span> |
|
||||
<el-autocomplete v-else v-model="scope.row.jianyanjieguo" :fetch-suggestions="querySearch" :disabled="edit" style="width: 100%;" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="beizhu" label="备注"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.beizhu" :disabled="edit" placeholder="请输入内容" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
<el-form class="el-form" style="margin-top: 10px;"> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18" style="height: 170px;"> |
|
||||
<el-form-item label="其它记录内容:" prop="beizhu"> |
|
||||
<el-input v-model="ysjl.beizhu" :rows="5" :disabled="edit" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</el-form> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane v-if="state !== 'create'" label="检验收费情况" name="jysfqk"> |
|
||||
<complex-bill v-if="complexShow" ref="bill" :ysjl="ysjl" /> |
|
||||
</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 Ft from '@/views/ysjl/1000/common/glft' |
|
||||
import ComplexBill from '@/views/chargeBill/components/complex' |
|
||||
export default { |
|
||||
name: 'GlGzwxYsjl', |
|
||||
components: { SignName, Sticky, Ft, ComplexBill }, |
|
||||
data() { |
|
||||
return { |
|
||||
jlbh1: 'GX(', |
|
||||
jlbh2: new Date().getFullYear(), |
|
||||
jlbh3: ')', |
|
||||
ysjl: {}, |
|
||||
param: {}, |
|
||||
state: this.$route.query.state, |
|
||||
jianyanrenyuan: '', |
|
||||
departmentId: this.$route.query.departmentId, |
|
||||
isRepeat: false, |
|
||||
edit: false, |
|
||||
bgfyData: [], |
|
||||
tableData: [], |
|
||||
checkedTab: 'first', |
|
||||
sblbList: [], |
|
||||
sbpzList: [], |
|
||||
ysjlId: this.$route.query.id, |
|
||||
jyjgOption: [{ value: '符合要求' }, { value: '不符合要求' }, { value: '无此项' }], |
|
||||
sglbList: ['改造', '重大修理'], |
|
||||
complexShow: false |
|
||||
} |
|
||||
}, |
|
||||
computed: { |
|
||||
jilubianhao: function() { |
|
||||
let bianhao |
|
||||
if (this.ysjl.jilubianhao === null || this.ysjl.jilubianhao === undefined || this.ysjl.jilubianhao === '') { |
|
||||
return this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 |
|
||||
} else { |
|
||||
bianhao = this.ysjl.jilubianhao |
|
||||
} |
|
||||
return this.judgeRepeat(bianhao, this.ysjl.id) |
|
||||
} |
|
||||
}, |
|
||||
watch: { |
|
||||
jlbh4: function(val) { |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + val |
|
||||
this.judgeRepeat(this.ysjl.jilubianhao, this.ysjl.id) |
|
||||
}, |
|
||||
jilubianhao: function(newValue) { |
|
||||
this.judgeRepeat(newValue, this.ysjl.id) |
|
||||
} |
|
||||
}, |
|
||||
created() { |
|
||||
if (this.state === 'create') { |
|
||||
this.api({ |
|
||||
url: '/ysjl/initYsjl', |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
modelId: this.$route.query.modelId, |
|
||||
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.ysjl.jianyanjielun = '符合要求' |
|
||||
this.ysjl.baogaojielun = '符合' |
|
||||
this.ysjl.jigouhezhunzhenghao = process.env.VUE_APP_HZZBH |
|
||||
this.ysjl.beizhu = '/' |
|
||||
this.changeEdgl() |
|
||||
this.getSbList('1000', this.ysjl.shebeileibiedaima, 3) |
|
||||
const sglb = this.sglbList.filter(item => { |
|
||||
return item === this.ysjl.shigongleibie |
|
||||
}) |
|
||||
if (sglb.length) { |
|
||||
this.$set(this.ysjl, 'shigongleibie', sglb[0]) |
|
||||
} else { |
|
||||
this.$set(this.ysjl, 'shigongleibie', '改造') |
|
||||
} |
|
||||
}) |
|
||||
this.$set(this.param, 'weihujianxiuqingkuangshuoming', '/') |
|
||||
this.getSbList('1000', undefined, 2) |
|
||||
} else { |
|
||||
this.getYsjl(this.$route.query.id) |
|
||||
this.getSbList('1000', undefined, 2) |
|
||||
} |
|
||||
// 查询最大记录编号 |
|
||||
if (!this.ysjl.jilubianhao) { |
|
||||
this.getMaxBh() |
|
||||
} |
|
||||
this.getJyxm(1) |
|
||||
}, |
|
||||
methods: { |
|
||||
// 签名方法 |
|
||||
signNameValue(data) { |
|
||||
this.ysjl.jianyanrenyuan = data.id |
|
||||
this.jianyanrenyuan = data.name |
|
||||
if (this.state !== 'create') { |
|
||||
this.common.signName(this.ysjl.id, this.ysjl.jianyanrenyuan) |
|
||||
Utils.$emit('ysjl-list') |
|
||||
} |
|
||||
}, |
|
||||
// 查询最大记录编号 |
|
||||
getMaxBh() { |
|
||||
const aheadPart = this.jlbh1 + '' + this.jlbh2 + '' + this.jlbh3 |
|
||||
this.api({ |
|
||||
url: '/ysjl/gainCurrentBh', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
aheadPart: aheadPart + '-', |
|
||||
hinderPart: '' |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.jlbh4 = data |
|
||||
}) |
|
||||
}, |
|
||||
getSbpzList(val) { |
|
||||
this.changeEdgl() |
|
||||
let obj = {} |
|
||||
obj = this.sblbList.find((item) => { // 这里的sblbList就是上面遍历的数据源 |
|
||||
return item.value === val // 筛选出匹配数据 |
|
||||
}) |
|
||||
if (obj) { |
|
||||
this.ysjl.shebeileibie = obj.label |
|
||||
} |
|
||||
this.ysjl.shebeipinzhongdaima = '' |
|
||||
this.ysjl.shebeipinzhong = '' |
|
||||
if (val) { |
|
||||
this.getSbList('1000', val, 3) |
|
||||
} |
|
||||
}, |
|
||||
setSbpz(val) { |
|
||||
let obj = {} |
|
||||
obj = this.sbpzList.find((item) => { // 这里的userList就是上面遍历的数据源 |
|
||||
return item.value === val // 筛选出匹配数据 |
|
||||
}) |
|
||||
this.ysjl.shebeipinzhong = obj.label |
|
||||
}, |
|
||||
getSbList(sbzl, sblb, level) { |
|
||||
this.api({ |
|
||||
url: '/sedirectory/getList', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
sbzl: sbzl, |
|
||||
sblb: sblb, |
|
||||
level: level |
|
||||
} |
|
||||
}).then(data => { |
|
||||
switch (level) { |
|
||||
case 2: |
|
||||
this.sblbList = data |
|
||||
return '' |
|
||||
case 3: |
|
||||
this.sbpzList = data |
|
||||
return '' |
|
||||
default: |
|
||||
this.sbzlList = data |
|
||||
return '' |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
getYsjl(id) { |
|
||||
this.api({ |
|
||||
url: '/ysjl/getYsjlById', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: id |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.ysjl = data.ysjl |
|
||||
this.complexShow = true |
|
||||
if (this.ysjl.jianyanrenyuan !== null && this.ysjl.jianyanrenyuan.length > 0) { |
|
||||
this.jianyanrenyuan = this.common.convertCnName(this.ysjl.jianyanrenyuan) |
|
||||
} |
|
||||
this.getParam(this.ysjl.id, this.ysjl.shebeizhongleidaima) |
|
||||
if (this.ysjl.shebeileibiedaima) { |
|
||||
this.changeEdgl() |
|
||||
this.getSbList('1000', this.ysjl.shebeileibiedaima, 3) |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
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.modelId, |
|
||||
order: sort |
|
||||
} |
|
||||
} else { |
|
||||
url = '/jyxm/getCyJyxmByYsjl' |
|
||||
data = { |
|
||||
ysjlId: this.ysjlId, |
|
||||
isReport: false, |
|
||||
order: sort |
|
||||
} |
|
||||
} |
|
||||
this.api({ |
|
||||
url: url, |
|
||||
method: 'get', |
|
||||
params: data |
|
||||
}).then(data => { |
|
||||
switch (sort) { |
|
||||
case 1: |
|
||||
this.bgfyData = data |
|
||||
break |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
onRowClick(row) { |
|
||||
this.$refs.bgfyData.toggleRowSelection(row) |
|
||||
}, |
|
||||
/** |
|
||||
* 获取表格中的id, 不为空的检验结果和备注 |
|
||||
*/ |
|
||||
getProp: function(data) { |
|
||||
const retData = [] |
|
||||
for (let i = 0; i < data.length; i++) { |
|
||||
const retRow = {} |
|
||||
retRow.id = data[i].id |
|
||||
if (data[i].jianyanjieguo) { |
|
||||
if (i === 4) { |
|
||||
retRow.jianyanjieguo = '保压时间:' + (this.param.baoyashijian ? this.param.baoyashijian : '') + 'min,试验压力:' + (this.param.shiyanyali ? this.param.shiyanyali : '') + 'MPa' |
|
||||
} else { |
|
||||
retRow.jianyanjieguo = data[i].jianyanjieguo |
|
||||
} |
|
||||
} |
|
||||
if (data[i].beizhu) { |
|
||||
retRow.beizhu = data[i].beizhu |
|
||||
} |
|
||||
retData.push(retRow) |
|
||||
} |
|
||||
return retData |
|
||||
}, |
|
||||
saveYsjl: function(operation) { |
|
||||
if (operation === 'add') { |
|
||||
if (!this.jlbh4.trim()) { |
|
||||
this.$message({ message: '请先确认记录编号是否完整!', type: 'warning' }) |
|
||||
return false |
|
||||
} |
|
||||
} |
|
||||
this.tableData = [] |
|
||||
this.tableData.push(this.getProp(this.bgfyData)) |
|
||||
let url = '' |
|
||||
this.ysjl.bglx = 1 |
|
||||
this.ysjl.cjState = 'ysjl' |
|
||||
this.ysjl.zfState = '0' |
|
||||
this.ysjl.jlprintState = 0 |
|
||||
if (operation === 'add') { |
|
||||
url = '/ysjl/saveYsjl' |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + '' + this.jlbh2 + '' + this.jlbh3 + '-' + this.jlbh4 |
|
||||
this.ysjl.jianyanxiangmu = 'gzwx' |
|
||||
} else if (operation === 'build') { |
|
||||
if (!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 |
|
||||
} |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} else if (operation === 'upd') { |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} |
|
||||
if (this.isRepeat) { |
|
||||
this.$message({ message: '记录编号重复,请先修改记录编号再保存', type: 'error' }) |
|
||||
return false |
|
||||
} else { |
|
||||
this.$refs['ysjl'].validate(valid => { |
|
||||
if (valid) { |
|
||||
const jyxm = JSON.stringify(this.tableData) |
|
||||
this.api({ |
|
||||
url: url, |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
ysjl: this.ysjl, |
|
||||
param: this.param, |
|
||||
jyxm: jyxm, |
|
||||
bgjyxm: jyxm, |
|
||||
flag: operation |
|
||||
} |
|
||||
}).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 |
|
||||
}) |
|
||||
// this.$router.push({ |
|
||||
// path: '/ysjl/1000/gz/gzwx/' + this.ysjl.id, |
|
||||
// query: { state: 'update', id: this.ysjl.id, departmentId: this.ysjl.departmentId, jianyanrenyuan: this.ysjl.jianyanrenyuan } |
|
||||
// }) |
|
||||
} 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-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 |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
querySearch(queryString, cb) { |
|
||||
cb(this.jyjgOption) |
|
||||
}, |
|
||||
changeBgjl(val) { |
|
||||
if (val === '符合要求') { |
|
||||
this.ysjl.baogaojielun = '符合' |
|
||||
} else { |
|
||||
this.ysjl.baogaojielun = '不符合' |
|
||||
} |
|
||||
}, |
|
||||
/** |
|
||||
* 改变额定功率:蒸汽锅炉是t/h,其他的是MW |
|
||||
*/ |
|
||||
changeEdgl() { |
|
||||
if (this.ysjl.shebeileibiedaima === '1100') { |
|
||||
this.param.edinggonglv = 't/h' |
|
||||
} else { |
|
||||
this.param.edinggonglv = 'MW' |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
@ -1,551 +0,0 @@ |
|||||
<!--锅炉改造和重大修理--> |
|
||||
<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')"> |
|
||||
预览 |
|
||||
</el-button> |
|
||||
<Ft v-if="state !== 'create'" :state="state" :ysjl="ysjl" :ysjl-id="Number(ysjlId ? ysjlId : 0)" :department-id="Number(departmentId ? departmentId : 0)" style="margin-left: 10px;" /> |
|
||||
</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="130px"> |
|
||||
<fieldset> |
|
||||
<legend>基本信息</legend> |
|
||||
<el-row :gutter="25"> |
|
||||
<el-col v-if="state === 'create'" :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:80px" disabled />- |
|
||||
<el-input v-model="jlbh4" style="width:85px" @blur="judgeRepeat(jlbh1 + jlbh2 + jlbh3 + '-' + jlbh4 , 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="shiyongdengjibianhao"> |
|
||||
<el-input v-model="ysjl.shiyongdengjibianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="注册代码" prop="zhucedaima"> |
|
||||
<el-input v-model="ysjl.zhucedaima" type="text" /> |
|
||||
</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" /> |
|
||||
</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" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="单位邮编" prop="shiyongdanweiYoubian"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiYoubian" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="联系人" prop="shiyongdanweiLianxiren"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiLianxiren" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="电话" prop="shiyongdanweiDianhua"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiDianhua" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="产品编号" prop="chanpinbianhao"> |
|
||||
<el-input v-model="ysjl.chanpinbianhao" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="锅炉型号" prop="guigexinghao"> |
|
||||
<el-input v-model="ysjl.guigexinghao" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="6"> |
|
||||
<el-form-item label="额定出力" prop="edingchuli"> |
|
||||
<el-input v-model="param.edingchuli" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="3"> |
|
||||
<el-select v-model="param.edinggonglv" :disabled="edit" placeholder="请选择"> |
|
||||
<el-option label="t/h" value="t/h" /> |
|
||||
<el-option label="MW" value="MW" /> |
|
||||
</el-select> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="制造单位" prop="zhizaodanwei"> |
|
||||
<el-input v-model="ysjl.zhizaodanwei" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定压力" prop="edingyali"> |
|
||||
<el-input v-model="param.edingyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定温度" prop="edingwendu"> |
|
||||
<el-input v-model="param.edingwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<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-col :span="9"> |
|
||||
<el-form-item label="制造许可证编号" prop="zhizaoxukezhengbianhao"> |
|
||||
<el-input v-model="ysjl.zhizaoxukezhengbianhao" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="制造单位地址" prop="zhizaodanweiDizhi"> |
|
||||
<el-input v-model="ysjl.zhizaodanweiDizhi" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="制造许可证级别" prop="zhizaoxukezhengjibie"> |
|
||||
<el-input v-model="ysjl.zhizaoxukezhengjibie" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备类别" prop="shebeileibiedaima"> |
|
||||
<el-select v-model="ysjl.shebeileibiedaima" placeholder="设备类别" style="width: 100%" @change="getSbpzList"> |
|
||||
<el-option v-for="item in sblbList" :key="item.value" :label="item.label" :value="item.value" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备品种(名称)" prop="shebeipinzhongdaima"> |
|
||||
<el-select v-model="ysjl.shebeipinzhongdaima" placeholder="设备品种" style="width: 100%" @change="setSbpz"> |
|
||||
<el-option v-for="item in sbpzList" :key="item.value" :label="item.label" :value="item.value" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="产品图号" prop="chanpintuhao"> |
|
||||
<el-input v-model="param.chanpintuhao" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="监督检验地点" prop="jiandujianyandizhi"> |
|
||||
<el-input v-model="param.jiandujianyandizhi" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>检查与校验</legend> |
|
||||
<el-row :gutter="20" style="text-align:left;margin-left: 50px;font-size: 18px;color: #606266;line-height: 40px;font-weight: bolder;"> |
|
||||
按照《中华人民共和国特种设备安全法》、《特种设备安全监察条例》的规定,该( |
|
||||
<el-select v-model="ysjl.shigongleibie" placeholder="请选择" style="width: 120px;"> |
|
||||
<el-option v-for="item in sglbList" :key="item" :label="item" :value="item" /> |
|
||||
</el-select> )<br> |
|
||||
产品经我机构监督检验,安全性能 |
|
||||
<el-select v-model="ysjl.baogaojielun" placeholder="请选择" style="width: 100px;" @change="changeJyjl"> |
|
||||
<el-option label="符合" value="符合" /> |
|
||||
<el-option label="不符合" value="不符合" /> |
|
||||
</el-select>《锅炉安全技术规程》的要求,特发此证书。 |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="margin-top: 20px;"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验日期" prop="jianyanjieshuriqi"> |
|
||||
<el-date-picker v-model="ysjl.jianyanjieshuriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="10"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="监督检验人员" prop="jianyanrenyuan"> |
|
||||
<el-input v-model="jianyanrenyuan" disabled /> |
|
||||
<el-input v-show="false" v-model="ysjl.jianyanrenyuan" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<sign-name :jianyanrenyuan="jianyanrenyuan" :ysjl="ysjl" @setSignValue="signNameValue" /> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18" style="height: 150px;"> |
|
||||
<el-form-item label="监督检验范围说明:" prop="beizhu" label-width="230px"> |
|
||||
<el-input v-model="ysjl.beizhu" :rows="5" :disabled="edit" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
</el-form> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane v-if="state !== 'create'" label="检验收费情况" name="jysfqk"> |
|
||||
<complex-bill v-if="complexShow" ref="bill" :ysjl="ysjl" /> |
|
||||
</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 Ft from '@/views/ysjl/1000/common/glft' |
|
||||
import ComplexBill from '@/views/chargeBill/components/complex' |
|
||||
export default { |
|
||||
name: 'GlJkjdYsjl', |
|
||||
components: { SignName, Sticky, Ft, ComplexBill }, |
|
||||
data() { |
|
||||
return { |
|
||||
jlbh1: 'GJK(', |
|
||||
jlbh2: new Date().getFullYear(), |
|
||||
jlbh3: ')', |
|
||||
jlbh4: '', |
|
||||
ysjl: {}, |
|
||||
param: {}, |
|
||||
state: this.$route.query.state, |
|
||||
jianyanrenyuan: '', |
|
||||
departmentId: this.$route.query.departmentId, |
|
||||
isRepeat: false, |
|
||||
edit: false, |
|
||||
checkedTab: 'first', |
|
||||
sblbList: [], |
|
||||
sbpzList: [], |
|
||||
ysjlId: this.$route.query.id, |
|
||||
sglbList: ['锅炉', '部件', '组件'], |
|
||||
complexShow: false |
|
||||
} |
|
||||
}, |
|
||||
computed: { |
|
||||
jilubianhao: function() { |
|
||||
let bianhao |
|
||||
if (!this.ysjl.jilubianhao) { |
|
||||
return this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 |
|
||||
} else { |
|
||||
bianhao = this.ysjl.jilubianhao |
|
||||
} |
|
||||
return this.judgeRepeat(bianhao, this.ysjl.id) |
|
||||
} |
|
||||
}, |
|
||||
watch: { |
|
||||
jlbh4: function(val) { |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + val |
|
||||
this.judgeRepeat(this.ysjl.jilubianhao, this.ysjl.id) |
|
||||
}, |
|
||||
jilubianhao: function(newValue) { |
|
||||
this.judgeRepeat(newValue, this.ysjl.id) |
|
||||
} |
|
||||
}, |
|
||||
created() { |
|
||||
if (this.state === 'create') { |
|
||||
this.api({ |
|
||||
url: '/ysjl/initYsjl', |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
modelId: this.$route.query.modelId, |
|
||||
renwuId: this.$route.query.renwuId, |
|
||||
neibuleibie: this.$route.query.neibuleibie |
|
||||
} |
|
||||
}).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.ysjl.jianyanjielun = '合格' |
|
||||
this.ysjl.baogaojielun = '符合' |
|
||||
this.ysjl.jigouhezhunzhenghao = process.env.VUE_APP_HZZBH |
|
||||
this.ysjl.beizhu = '/' |
|
||||
this.getSbpzList(this.ysjl.shebeileibiedaima) |
|
||||
const sglb = this.sglbList.filter(item => { |
|
||||
return item === this.ysjl.shigongleibie |
|
||||
}) |
|
||||
if (sglb.length) { |
|
||||
this.$set(this.ysjl, 'shigongleibie', sglb[0]) |
|
||||
} else { |
|
||||
this.$set(this.ysjl, 'shigongleibie', '锅炉') |
|
||||
} |
|
||||
}) |
|
||||
this.$set(this.param, 'weihujianxiuqingkuangshuoming', '/') |
|
||||
this.getSblbList() |
|
||||
} else { |
|
||||
this.getYsjl(this.$route.query.id) |
|
||||
this.getSbList('1000', undefined, 2) |
|
||||
} |
|
||||
// 查询最大记录编号 |
|
||||
if (!this.ysjl.jilubianhao) { |
|
||||
this.getMaxBh() |
|
||||
} |
|
||||
}, |
|
||||
methods: { |
|
||||
// 签名方法 |
|
||||
signNameValue(data) { |
|
||||
this.ysjl.jianyanrenyuan = data.id |
|
||||
this.jianyanrenyuan = data.name |
|
||||
if (this.state !== 'create') { |
|
||||
this.common.signName(this.ysjl.id, this.ysjl.jianyanrenyuan) |
|
||||
Utils.$emit('ysjl-list') |
|
||||
} |
|
||||
}, |
|
||||
// 查询最大记录编号 |
|
||||
getMaxBh() { |
|
||||
const aheadPart = this.jlbh1 + '' + this.jlbh2 + '' + this.jlbh3 |
|
||||
this.api({ |
|
||||
url: '/ysjl/gainCurrentBh', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
aheadPart: aheadPart + '-', |
|
||||
hinderPart: '' |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.jlbh4 = data |
|
||||
}) |
|
||||
}, |
|
||||
getSblbList(val) { |
|
||||
this.ysjl.shebeileibiedaima = '' |
|
||||
this.sbpzList = [] |
|
||||
this.ysjl.shebeipinzhongdaima = '' |
|
||||
this.getSbList('1000', undefined, 2) |
|
||||
}, |
|
||||
getSbpzList(val) { |
|
||||
let obj = {} |
|
||||
obj = this.sblbList.find((item) => { // 这里的sblbList就是上面遍历的数据源 |
|
||||
return item.value === val // 筛选出匹配数据 |
|
||||
}) |
|
||||
if (obj) { |
|
||||
this.ysjl.shebeileibie = obj.label |
|
||||
} |
|
||||
this.ysjl.shebeipinzhongdaima = '' |
|
||||
this.ysjl.shebeipinzhong = '' |
|
||||
if (val) { |
|
||||
this.getSbList('1000', val, 3) |
|
||||
} |
|
||||
}, |
|
||||
setSbpz(val) { |
|
||||
let obj = {} |
|
||||
obj = this.sbpzList.find((item) => { // 这里的userList就是上面遍历的数据源 |
|
||||
return item.value === val // 筛选出匹配数据 |
|
||||
}) |
|
||||
this.ysjl.shebeipinzhong = obj.label |
|
||||
}, |
|
||||
getSbList(sbzl, sblb, level) { |
|
||||
this.api({ |
|
||||
url: '/sedirectory/getList', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
sbzl: sbzl, |
|
||||
sblb: sblb, |
|
||||
level: level |
|
||||
} |
|
||||
}).then(data => { |
|
||||
switch (level) { |
|
||||
case 2: |
|
||||
this.sblbList = data |
|
||||
return '' |
|
||||
case 3: |
|
||||
this.sbpzList = data |
|
||||
return '' |
|
||||
default: |
|
||||
this.sbzlList = data |
|
||||
return '' |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
getYsjl(id) { |
|
||||
this.api({ |
|
||||
url: '/ysjl/getYsjlById', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: id |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.ysjl = data.ysjl |
|
||||
this.complexShow = true |
|
||||
if (this.ysjl.jianyanrenyuan !== null && this.ysjl.jianyanrenyuan.length > 0) { |
|
||||
this.jianyanrenyuan = this.common.convertCnName(this.ysjl.jianyanrenyuan) |
|
||||
} |
|
||||
this.getParam(this.ysjl.id, this.ysjl.shebeizhongleidaima) |
|
||||
if (this.ysjl.shebeileibiedaima) { |
|
||||
this.getSbList('1000', this.ysjl.shebeileibiedaima, 3) |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
getParam(ysjlId, sbzldm) { |
|
||||
// 根据原始记录id查询参数 |
|
||||
this.api({ |
|
||||
url: '/ysjl/getParamByYsjlId', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: ysjlId, |
|
||||
sbzldm: sbzldm |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.param = data |
|
||||
}) |
|
||||
}, |
|
||||
saveYsjl: function(operation) { |
|
||||
if (operation === 'add') { |
|
||||
if (!this.jlbh4.trim()) { |
|
||||
this.$message({ message: '请先确认记录编号是否完整!', type: 'warning' }) |
|
||||
return false |
|
||||
} |
|
||||
} |
|
||||
let url = '' |
|
||||
this.ysjl.bglx = 1 |
|
||||
this.ysjl.cjState = 'ysjl' |
|
||||
this.ysjl.zfState = '0' |
|
||||
this.ysjl.jlprintState = 0 |
|
||||
if (operation === 'add') { |
|
||||
url = '/ysjl/saveYsjl' |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 |
|
||||
this.ysjl.jianyanxiangmu = 'jkjd' |
|
||||
} else if (operation === 'build') { |
|
||||
if (!this.ysjl.jianyanrenyuan) { |
|
||||
this.$message({ |
|
||||
type: 'error', |
|
||||
message: '请先签名再生成报告!' |
|
||||
}) |
|
||||
if (this.ysjl.sfdId === null || this.ysjl.sfdId === '') { |
|
||||
this.$message({ |
|
||||
type: 'error', |
|
||||
message: '请先追加或者创建收费单后在尝试!' |
|
||||
}) |
|
||||
return false |
|
||||
} |
|
||||
return false |
|
||||
} |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} else if (operation === 'upd') { |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} |
|
||||
if (this.isRepeat) { |
|
||||
this.$message({ message: '记录编号重复,请先修改记录编号再保存', type: 'error' }) |
|
||||
return false |
|
||||
} else { |
|
||||
this.$refs['ysjl'].validate(valid => { |
|
||||
if (valid) { |
|
||||
this.api({ |
|
||||
url: url, |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
ysjl: this.ysjl, |
|
||||
param: this.param, |
|
||||
jyxm: JSON.stringify(this.tableData), |
|
||||
flag: operation |
|
||||
} |
|
||||
}).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 |
|
||||
}) |
|
||||
// this.$router.push({ |
|
||||
// path: '/ysjl/1000/jj/jkjd/' + this.ysjl.id, |
|
||||
// query: { state: 'update', id: this.ysjl.id, departmentId: this.ysjl.departmentId, jianyanrenyuan: this.ysjl.jianyanrenyuan } |
|
||||
// }) |
|
||||
} 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-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 |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
changeJyjl(val) { |
|
||||
if (val === '符合') { |
|
||||
this.ysjl.jianyanjielun = '合格' |
|
||||
} else { |
|
||||
this.ysjl.jianyanjielun = '合格' |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
|
|
@ -1,859 +0,0 @@ |
|||||
<!--散装锅炉安装监督检验--> |
|
||||
<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 type="primary" size="medium" @click="Signjyxm"> |
|
||||
<svg-icon icon-class="sign" /> |
|
||||
检验项目批量签名 |
|
||||
</el-button> |
|
||||
<el-button type="danger" icon="el-icon-delete" size="medium" @click="signClear"> |
|
||||
批量清除签名 |
|
||||
</el-button> |
|
||||
<el-button type="success" size="medium" icon="el-icon-edit" @click="batchUpdDate"> |
|
||||
批量修改日期 |
|
||||
</el-button> |
|
||||
<el-button v-if="state !== 'create'" type="warning" icon="el-icon-view" size="medium" @click="common.viewYsjl(ysjl.id, 'YSJL')"> |
|
||||
预览 |
|
||||
</el-button> |
|
||||
<Ft v-if="state !== 'create'" :state="state" :ysjl="ysjl" :ysjl-id="Number(ysjlId ? ysjlId : 0)" :department-id="Number(departmentId ? departmentId : 0)" style="margin-left: 10px;" /> |
|
||||
</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="130px"> |
|
||||
<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" disabled />- |
|
||||
<el-input v-model="jlbh4" style="width:85px" @blur="judgeRepeat(jlbh1 + jlbh2 + jlbh3 + '-' + jlbh4 , 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="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" 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" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="电话" prop="shiyongdanweiDianhua"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiDianhua" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="单位邮编" prop="shiyongdanweiYoubian"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiYoubian" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="锅炉型号" prop="guigexinghao"> |
|
||||
<el-input v-model="ysjl.guigexinghao" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="制造单位" prop="zhizaodanwei"> |
|
||||
<el-input v-model="ysjl.zhizaodanwei" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<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-col :span="9"> |
|
||||
<el-form-item label="产品编号" prop="chanpinbianhao"> |
|
||||
<el-input v-model="ysjl.chanpinbianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="使用编号" prop="danweineibubianhao"> |
|
||||
<el-input v-model="ysjl.danweineibubianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="6"> |
|
||||
<el-form-item label="额定出力" prop="edingchuli"> |
|
||||
<el-input v-model="param.edingchuli" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="3"> |
|
||||
<el-select v-model="param.edinggonglv" :disabled="true" type="text" placeholder="请选择"> |
|
||||
<el-option label="t/h" value="t/h" /> |
|
||||
<el-option label="MW" value="MW" /> |
|
||||
</el-select> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定压力" prop="edingyali"> |
|
||||
<el-input v-model="param.edingyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备代码" prop="shebeidaima"> |
|
||||
<el-input v-model="ysjl.shebeidaima" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="使用压力" prop="shiyongyali"> |
|
||||
<el-input v-model="param.shiyongyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定温度" prop="edingwendu"> |
|
||||
<el-input v-model="param.edingwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备类别" prop="shebeileibiedaima"> |
|
||||
<el-select v-model="ysjl.shebeileibiedaima" filterable allow-create default-first-option style="width: 100%" @change="getSbpzList"> |
|
||||
<el-option v-for="item in sblbList" :key="item.value" :label="item.label" :value="item.value" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备品种(名称)" prop="shebeipinzhongdaima"> |
|
||||
<el-select v-model="ysjl.shebeipinzhongdaima" filterable allow-create default-first-option style="width: 100%" @change="setSbpz"> |
|
||||
<el-option v-for="item in sbpzList" :key="item.value" :label="item.label" :value="item.value" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="允许工作压力" prop="gongzuoyali"> |
|
||||
<el-input v-model="param.gongzuoyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="允许工作温度" prop="yunxugongzuowendu"> |
|
||||
<el-input v-model="param.yunxugongzuowendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="施工单位" prop="shigongdanwei"> |
|
||||
<el-input v-model="ysjl.shigongdanwei" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="许可级别" prop="shigongxukezhengjibie"> |
|
||||
<el-input v-model="ysjl.shigongxukezhengjibie" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="许可证编号" prop="shigongxukezheng"> |
|
||||
<el-input v-model="ysjl.shigongxukezheng" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="告知书编号" prop="gaozhibianhao"> |
|
||||
<el-input v-model="param.gaozhibianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="施工单位联系人" prop="shigongdanweiLianxiren"> |
|
||||
<el-input v-model="ysjl.shigongdanweiLianxiren" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="施工单位联系电话" prop="shigongdanweiDianhua"> |
|
||||
<el-input v-model="ysjl.shigongdanweiDianhua" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>检验信息</legend> |
|
||||
<el-row :gutter="20" style="text-align:left;margin-left: 50px;font-size: 18px;color: #606266;line-height: 40px;font-weight: bolder;"> |
|
||||
按照《中华人民共和国特种设备安全法》、《特种设备安全监察条例》的规定,该锅炉的<u>(安装)</u><br> |
|
||||
经我机构实施监督检验,安全性能 |
|
||||
<el-select v-model="ysjl.baogaojielun" placeholder="请选择" style="width: 100px;" @change="changeJyjl"> |
|
||||
<el-option label="符合" value="符合" /> |
|
||||
<el-option label="不符合" value="不符合" /> |
|
||||
</el-select>《锅炉安全技术规程》的要求,特发此证书。 |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验日期" prop="jianyanjieshuriqi"> |
|
||||
<el-date-picker v-model="ysjl.jianyanjieshuriqi" type="date" 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" type="date" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="10"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验人员" prop="jianyanrenyuan"> |
|
||||
<el-input v-model="jianyanrenyuan" disabled /> |
|
||||
<el-input v-show="false" v-model="ysjl.jianyanrenyuan" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<sign-name :jianyanrenyuan="jianyanrenyuan" :ysjl="ysjl" @setSignValue="signNameValue" /> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18" style="height: 130px;"> |
|
||||
<el-form-item label="说明:" prop="beizhu"> |
|
||||
<el-input v-model="ysjl.beizhu" :rows="5" :disabled="edit" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
</el-form> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane label="散装锅炉安装监督检验项目表" name="second"> |
|
||||
<el-form class="el-form"> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18" style="height: 170px;"> |
|
||||
<el-form-item label="记事" prop="shuoming" label-width="150px"> |
|
||||
<el-input v-model="param.shuoming" :rows="5" :disabled="edit" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</el-form> |
|
||||
<el-table ref="bgfyData" :data="bgfyData" :span-method="tableJs.mergeColRows" border stripe style="width:90%" @row-click="onRowClick"> |
|
||||
<el-table-column type="selection" width="55" prop="checkbox" /> |
|
||||
<el-table-column type="index" align="center" width="50" label="序号" /> |
|
||||
<el-table-column align="center" label="监检项目"> |
|
||||
<el-table-column align="center" prop="jianyanxiang" width="90" label="检验项" /> |
|
||||
<el-table-column align="left" prop="jianyanneirong" label="检验内容" /> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="xiangmuleibie" width="100" label="类别"> |
|
||||
<template slot-scope="scope"> |
|
||||
<!--el-checkbox-group-- v-if="showXmlb(scope.$index)" v-model="scope.row.xiangmuleibie"> |
|
||||
<el-checkbox label="B" true-label="B" false-label="C" :disabled="edit" border /> |
|
||||
<el-checkbox label="C" true-label="C" false-label="B" :disabled="edit" border /> |
|
||||
</el-checkbox-group--> |
|
||||
<el-select v-if="showXmlb(scope.$index)" v-model="scope.row.xiangmuleibie" style="width:60px;"> |
|
||||
<el-option value="B"> |
|
||||
B |
|
||||
</el-option> |
|
||||
<el-option value="C"> |
|
||||
C |
|
||||
</el-option> |
|
||||
</el-select> |
|
||||
<span v-else>{{ scope.row.xiangmuleibie }}</span> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" label="检验检测情况或结果"> |
|
||||
<el-table-column align="center" prop="jyjg1" width="90" label="合格"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-checkbox v-model="scope.row.jyjg1" label="√" true-label="√" border @change="changeJyjg(scope.$index, 'jyjg1')" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="jyjg2" width="90" label="不合格"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-checkbox v-model="scope.row.jyjg2" label="√" true-label="√" border @change="changeJyjg(scope.$index, 'jyjg2')" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="jianyanjieguo" width="90" label="无此项"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-checkbox v-model="scope.row.jianyanjieguo" label="√" true-label="√" border @change="changeJyjg(scope.$index, 'jianyanjieguo')" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table-column> |
|
||||
<el-table-column :formatter="formatterJianjianyuan" align="center" prop="jianjianyuan" width="150" label="监检员" /> |
|
||||
<el-table-column align="center" prop="querenriqi" width="160" label="日期"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-date-picker v-model="scope.row.querenriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane v-if="state !== 'create'" label="检验收费情况" name="jysfqk"> |
|
||||
<complex-bill v-if="complexShow" ref="bill" :ysjl="ysjl" /> |
|
||||
</el-tab-pane> |
|
||||
</el-tabs> |
|
||||
<el-dialog :visible.sync="jyxmrqShow" title="批量修改日期" width="500px" @close="closeDialog"> |
|
||||
<template> |
|
||||
<el-date-picker v-model="querenriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</template> |
|
||||
<span slot="footer" class="dialog-footer"> |
|
||||
<el-button @click="jyxmrqShow = false">取 消</el-button> |
|
||||
<el-button type="primary" @click="batchUpd">确 定</el-button> |
|
||||
</span> |
|
||||
</el-dialog> |
|
||||
<sign-name v-show="signShow" ref="qmButton" :ysjl="ysjl" :jianyanrenyuan="xmjianyanrenyuan" field-name="xmqianming" @setSignValue="signNameValue" /> |
|
||||
</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 Ft from '@/views/ysjl/1000/common/glft' |
|
||||
import ComplexBill from '@/views/chargeBill/components/complex' |
|
||||
export default { |
|
||||
name: 'GlSgjdYsjl', |
|
||||
components: { SignName, Sticky, Ft, ComplexBill }, |
|
||||
data() { |
|
||||
return { |
|
||||
jlbh1: 'GSA(', |
|
||||
jlbh2: new Date().getFullYear(), |
|
||||
jlbh3: ')', |
|
||||
jlbh4: '', |
|
||||
ysjl: {}, |
|
||||
param: {}, |
|
||||
jyxm: 'sgjd', |
|
||||
path: '/ysjl/1000/sg/sgjd/', |
|
||||
state: this.$route.query.state, |
|
||||
jianyanrenyuan: '', |
|
||||
departmentId: this.$route.query.departmentId, |
|
||||
isRepeat: false, |
|
||||
edit: false, |
|
||||
bgfyData: [], |
|
||||
tableData: [], |
|
||||
checkedTab: 'first', |
|
||||
xmjianyanrenyuan: '', |
|
||||
// 表格合并相关 |
|
||||
// 参与列合并的字段,在这里增加即可 |
|
||||
cols: [ |
|
||||
{ |
|
||||
name: 'checkbox', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianyanxiang', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { // 该列用于比较的值的获取方法 |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianyanneirong', |
|
||||
getValue(row) { |
|
||||
return row.jianyanneirong |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianjianyuan', |
|
||||
getValue(row) { |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'querenriqi', |
|
||||
getValue(row) { |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
} |
|
||||
], |
|
||||
// 参与行内合并的字段 |
|
||||
rows: [ |
|
||||
{ |
|
||||
name: 'jianyanxiang', |
|
||||
getValue(row) { |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianyanneirong', |
|
||||
getValue(row) { |
|
||||
return row.jianyanneirong |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianjianyuan', |
|
||||
getValue(row) { |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
} |
|
||||
], |
|
||||
signShow: false, |
|
||||
jyxmrqShow: false, |
|
||||
querenriqi: new Date(), |
|
||||
sblbList: [], |
|
||||
sbpzList: [], |
|
||||
ysjlId: this.$route.query.id, |
|
||||
fieldArr: ['jyjg1', 'jyjg2', 'jianyanjieguo'], |
|
||||
xmlbList: ['B', 'C'], |
|
||||
showXmlbIndexListSg: [2, 26, 28, 38, 39, 40, 41, 46, 47, 56, 73], |
|
||||
complexShow: false |
|
||||
} |
|
||||
}, |
|
||||
computed: { |
|
||||
jilubianhao: function() { |
|
||||
let bianhao |
|
||||
if (!this.ysjl.jilubianhao) { |
|
||||
return this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 |
|
||||
} else { |
|
||||
bianhao = this.ysjl.jilubianhao |
|
||||
} |
|
||||
return this.judgeRepeat(bianhao, this.ysjl.id) |
|
||||
} |
|
||||
}, |
|
||||
watch: { |
|
||||
jlbh4: function(val) { |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + val |
|
||||
this.judgeRepeat(this.ysjl.jilubianhao, this.ysjl.id) |
|
||||
}, |
|
||||
jilubianhao: function(newValue) { |
|
||||
this.judgeRepeat(newValue, this.ysjl.id) |
|
||||
} |
|
||||
}, |
|
||||
created() { |
|
||||
if (this.state === 'create') { |
|
||||
this.api({ |
|
||||
url: '/ysjl/initYsjl', |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
modelId: this.$route.query.modelId, |
|
||||
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') |
|
||||
const currentDate = new Date() |
|
||||
const xcjyrq = new Date((currentDate.getFullYear() + 1) + '-' + (currentDate.getMonth() + 1) + '-' + currentDate.getDate()) |
|
||||
this.ysjl.xiacijianyanriqi = xcjyrq.setDate(xcjyrq.getDate() - 1) |
|
||||
this.ysjl.jianyanjielun = '合格' |
|
||||
this.ysjl.baogaojielun = '符合' |
|
||||
this.ysjl.jigouhezhunzhenghao = process.env.VUE_APP_HZZBH |
|
||||
this.ysjl.beizhu = '/' |
|
||||
this.ysjl.zhizaoriqi = '' |
|
||||
this.changeEdgl() |
|
||||
this.getSbList('1000', this.ysjl.shebeileibiedaima, 3) |
|
||||
}) |
|
||||
this.getMaxBh() |
|
||||
this.$set(this.param, 'hasYijiantongzhishu', '无。') |
|
||||
} else { |
|
||||
this.getYsjl(this.$route.query.id) |
|
||||
} |
|
||||
this.getSbList('1000', undefined, 2) |
|
||||
this.getJyxm(1) |
|
||||
}, |
|
||||
methods: { |
|
||||
/** |
|
||||
* 格式化监检员 |
|
||||
*/ |
|
||||
formatterJianjianyuan(row) { |
|
||||
if (row.jianjianyuan) { |
|
||||
if (typeof (row.jianjianyuan) === 'number') { |
|
||||
row.jianjianyuan = row.jianjianyuan.toString() |
|
||||
} |
|
||||
return this.common.convertCnName(row.jianjianyuan) |
|
||||
} |
|
||||
}, |
|
||||
// 签名方法 |
|
||||
signNameValue(data) { |
|
||||
if (data.fieldName === 'xmqianming') { |
|
||||
this.jyxmController.findFirstJyxAndSignName(this.$refs.bgfyData.selection, this.bgfyData, data) |
|
||||
this.signShow = false |
|
||||
} else { |
|
||||
this.ysjl.jianyanrenyuan = data.id |
|
||||
this.jianyanrenyuan = data.name |
|
||||
if (this.state !== 'create') { |
|
||||
this.common.signName(this.ysjl.id, this.ysjl.jianyanrenyuan) |
|
||||
Utils.$emit('ysjl-list') |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
// 查询最大记录编号 |
|
||||
getMaxBh() { |
|
||||
const aheadPart = this.jlbh1 + '' + this.jlbh2 + '' + this.jlbh3 |
|
||||
this.api({ |
|
||||
url: '/ysjl/gainCurrentBh', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
aheadPart: aheadPart + '-', |
|
||||
hinderPart: '' |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.jlbh4 = data |
|
||||
}) |
|
||||
}, |
|
||||
getSbpzList(val) { |
|
||||
this.changeEdgl() |
|
||||
let obj = {} |
|
||||
obj = this.sblbList.find((item) => { // 这里的sblbList就是上面遍历的数据源 |
|
||||
return item.value === val // 筛选出匹配数据 |
|
||||
}) |
|
||||
this.ysjl.shebeileibie = obj.label |
|
||||
this.ysjl.shebeipinzhongdaima = '' |
|
||||
this.ysjl.shebeipinzhong = '' |
|
||||
if (val) { |
|
||||
this.getSbList('1000', val, 3) |
|
||||
} |
|
||||
}, |
|
||||
setSbpz(val) { |
|
||||
let obj = {} |
|
||||
obj = this.sbpzList.find((item) => { // 这里的userList就是上面遍历的数据源 |
|
||||
return item.value === val // 筛选出匹配数据 |
|
||||
}) |
|
||||
this.ysjl.shebeipinzhong = obj.label |
|
||||
}, |
|
||||
getSbList(sbzl, sblb, level) { |
|
||||
this.api({ |
|
||||
url: '/sedirectory/getList', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
sbzl: sbzl, |
|
||||
sblb: sblb, |
|
||||
level: level |
|
||||
} |
|
||||
}).then(data => { |
|
||||
switch (level) { |
|
||||
case 2: |
|
||||
this.sblbList = data |
|
||||
return '' |
|
||||
case 3: |
|
||||
this.sbpzList = data |
|
||||
return '' |
|
||||
default: |
|
||||
this.sbzlList = data |
|
||||
return '' |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
getYsjl(id) { |
|
||||
this.api({ |
|
||||
url: '/ysjl/getYsjlById', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: id |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.ysjl = data.ysjl |
|
||||
this.complexShow = true |
|
||||
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) |
|
||||
this.changeEdgl() |
|
||||
this.getSbList('1000', this.ysjl.shebeileibiedaima, 3) |
|
||||
}) |
|
||||
}, |
|
||||
getParam(ysjlId, sbzldm) { |
|
||||
// 根据原始记录id查询参数 |
|
||||
this.api({ |
|
||||
url: '/ysjl/getParamByYsjlId', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: ysjlId, |
|
||||
sbzldm: sbzldm |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.param = data |
|
||||
}) |
|
||||
}, |
|
||||
// 查询检验项目 |
|
||||
getJyxm(sort) { |
|
||||
this.jyxmController.getJyxm(this.$route.query.modelId, this.$route.query.id, sort, this.state, false).then(data => { |
|
||||
switch (sort) { |
|
||||
case 1: |
|
||||
this.bgfyData = data |
|
||||
this.jyxmController.initJjyJyxm(this.state, this.bgfyData) |
|
||||
this.tableJs.getData(this.cols, this.rows, this.bgfyData) |
|
||||
break |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
/** |
|
||||
* 获取表格中的id, 不为空的检验结果和备注 |
|
||||
*/ |
|
||||
getProp: function(data) { |
|
||||
const retData = [] |
|
||||
const fields = ['xiangmuleibie', 'jyjg1', 'jyjg2', 'jianyanjieguo', 'jianjianyuan', 'querenriqi'] |
|
||||
for (let i = 0; i < data.length; i++) { |
|
||||
const retRow = {} |
|
||||
retRow.id = data[i].id |
|
||||
fields.forEach(field => { |
|
||||
if (data[i][field]) { |
|
||||
retRow[field] = data[i][field] |
|
||||
} |
|
||||
}) |
|
||||
retData.push(retRow) |
|
||||
} |
|
||||
return retData |
|
||||
}, |
|
||||
/** |
|
||||
* 检验项目批量签名 |
|
||||
*/ |
|
||||
Signjyxm() { |
|
||||
if (this.$refs.bgfyData.selection.length === 0) { |
|
||||
this.$message('请在列表选择要签名的数据。') |
|
||||
return |
|
||||
} |
|
||||
this.signShow = true |
|
||||
this.$refs.qmButton.dialogFormVisible = true |
|
||||
}, |
|
||||
/** |
|
||||
* 检验项目清除签名 |
|
||||
*/ |
|
||||
signClear: function() { |
|
||||
if (this.$refs.bgfyData.selection.length === 0) { |
|
||||
this.$message('请在列表选择要清除签名的数据。') |
|
||||
return |
|
||||
} |
|
||||
this.$refs.qmButton.clearSign() |
|
||||
}, |
|
||||
closeDialog() { |
|
||||
this.jyxmrqShow = false |
|
||||
}, |
|
||||
onRowClick(row) { |
|
||||
this.$refs.bgfyData.toggleRowSelection(row) |
|
||||
}, |
|
||||
batchUpdDate() { |
|
||||
if (this.$refs.bgfyData.selection.length === 0) { |
|
||||
this.$message('请在列表选择要修改日期的数据。') |
|
||||
return false |
|
||||
} |
|
||||
this.jyxmrqShow = true |
|
||||
}, |
|
||||
batchUpd() { |
|
||||
for (let i = 0; i < this.$refs.bgfyData.selection.length; i++) { |
|
||||
this.$refs.bgfyData.selection[i].querenriqi = this.querenriqi |
|
||||
for (let j = 0; j < this.bgfyData.length; j++) { |
|
||||
if (this.bgfyData[j].id === this.$refs.bgfyData.selection[i].id) { |
|
||||
this.$set(this.bgfyData[j], this.$refs.bgfyData.selection[i]) |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
this.jyxmrqShow = false |
|
||||
}, |
|
||||
saveYsjl: function(operation) { |
|
||||
if (operation === 'add') { |
|
||||
if (!this.jlbh4.trim()) { |
|
||||
this.$message({ message: '请先确认记录编号是否完整!', type: 'warning' }) |
|
||||
return false |
|
||||
} |
|
||||
} |
|
||||
this.tableData = [] |
|
||||
this.tableData.push(this.getProp(this.bgfyData)) |
|
||||
let url = '' |
|
||||
this.ysjl.bglx = 1 |
|
||||
this.ysjl.cjState = 'ysjl' |
|
||||
this.ysjl.zfState = '0' |
|
||||
this.ysjl.jlprintState = 0 |
|
||||
if (operation === 'add') { |
|
||||
url = '/ysjl/saveYsjl' |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 |
|
||||
this.ysjl.jianyanxiangmu = this.jyxm |
|
||||
} else if (operation === 'build') { |
|
||||
if (!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 |
|
||||
} |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} else if (operation === 'upd') { |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} |
|
||||
if (this.isRepeat) { |
|
||||
this.$message({ message: '记录编号重复,请先修改记录编号再保存', type: 'error' }) |
|
||||
return false |
|
||||
} else { |
|
||||
this.$refs['ysjl'].validate(valid => { |
|
||||
if (valid) { |
|
||||
this.api({ |
|
||||
url: url, |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
ysjl: this.ysjl, |
|
||||
param: this.param, |
|
||||
jyxm: JSON.stringify(this.tableData), |
|
||||
flag: operation |
|
||||
} |
|
||||
}).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 |
|
||||
}) |
|
||||
// this.$router.push({ |
|
||||
// path: this.path + this.ysjl.id, |
|
||||
// query: { state: 'update', id: this.ysjl.id, departmentId: this.ysjl.departmentId, jianyanrenyuan: this.ysjl.jianyanrenyuan } |
|
||||
// }) |
|
||||
} 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-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 |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
changeJyjl(val) { |
|
||||
if (val === '符合') { |
|
||||
// 性能符合的时候下次检验日期加一年减一天 |
|
||||
this.ysjl.jianyanjielun = '合格' |
|
||||
const xcjyrq = new Date(this.ysjl.jianyanjieshuriqi) |
|
||||
xcjyrq.setFullYear(xcjyrq.getFullYear() + 1) |
|
||||
this.ysjl.xiacijianyanriqi = xcjyrq.setDate(xcjyrq.getDate() - 1) |
|
||||
} else { |
|
||||
// 性能不符合的时候下次检验日期加三个月减一天 |
|
||||
this.ysjl.jianyanjielun = '不合格' |
|
||||
const xcjyrq = new Date(this.ysjl.jianyanjieshuriqi) |
|
||||
xcjyrq.setMonth(xcjyrq.getMonth() + 1 + 2) |
|
||||
this.ysjl.xiacijianyanriqi = xcjyrq.setDate(xcjyrq.getDate() - 1) |
|
||||
} |
|
||||
}, |
|
||||
/** |
|
||||
* 改变额定功率:蒸汽锅炉是t/h,其他的是MW |
|
||||
*/ |
|
||||
changeEdgl() { |
|
||||
if (this.ysjl.shebeileibiedaima === '1100') { |
|
||||
this.param.edinggonglv = 't/h' |
|
||||
} else { |
|
||||
this.param.edinggonglv = 'MW' |
|
||||
} |
|
||||
}, |
|
||||
/** |
|
||||
* |
|
||||
* @param $index |
|
||||
* @param field |
|
||||
*/ |
|
||||
changeJyjg($index, field) { |
|
||||
this.fieldArr.forEach(currentField => { |
|
||||
if (field !== currentField) { |
|
||||
this.bgfyData[$index][currentField] = '' |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
/** |
|
||||
* 是否可编辑 |
|
||||
* @param $index |
|
||||
* @returns {number} |
|
||||
*/ |
|
||||
showXmlb($index) { |
|
||||
return this.showXmlbIndexListSg.filter(xl => { |
|
||||
return xl === $index |
|
||||
}).length |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
@ -1,14 +0,0 @@ |
|||||
<!--电站锅炉运行水处理监督检验原始记录--> |
|
||||
<template> |
|
||||
<gl-dzscl-ysjl /> |
|
||||
</template> |
|
||||
<script> |
|
||||
import GlDzsclYsjl from '@/views/ysjl/1000/common/sz/dzscl' |
|
||||
|
|
||||
export default { |
|
||||
name: 'GlJjDzsclYsjl', |
|
||||
components: { GlDzsclYsjl } |
|
||||
} |
|
||||
</script> |
|
||||
<style> |
|
||||
</style> |
|
@ -1,14 +0,0 @@ |
|||||
<!--工业锅炉运行水处理监督检验原始记录--> |
|
||||
<template> |
|
||||
<gl-gyscl-ysjl /> |
|
||||
</template> |
|
||||
<script> |
|
||||
import GlGysclYsjl from '@/views/ysjl/1000/common/sz/gyscl' |
|
||||
|
|
||||
export default { |
|
||||
name: 'GlJjGysclYsjl', |
|
||||
components: { GlGysclYsjl } |
|
||||
} |
|
||||
</script> |
|
||||
<style> |
|
||||
</style> |
|
@ -1,941 +0,0 @@ |
|||||
<!--整装锅炉安装监督检验--> |
|
||||
<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 type="primary" size="medium" @click="Signjyxm"> |
|
||||
<svg-icon icon-class="sign" /> |
|
||||
检验项目批量签名 |
|
||||
</el-button> |
|
||||
<el-button type="danger" icon="el-icon-delete" size="medium" @click="signClear"> |
|
||||
批量清除签名 |
|
||||
</el-button> |
|
||||
<el-button type="success" size="medium" icon="el-icon-edit" @click="batchUpdDate"> |
|
||||
批量修改日期 |
|
||||
</el-button> |
|
||||
<el-button v-if="state !== 'create'" type="warning" icon="el-icon-view" size="medium" @click="common.viewYsjl(ysjl.id, 'YSJL')"> |
|
||||
预览 |
|
||||
</el-button> |
|
||||
<Ft v-if="state !== 'create'" :state="state" :ysjl="ysjl" :ysjl-id="Number(ysjlId ? ysjlId : 0)" :department-id="Number(departmentId ? departmentId : 0)" style="margin-left: 10px;" /> |
|
||||
</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="130px"> |
|
||||
<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:80px" disabled />- |
|
||||
<el-input v-model="jlbh4" style="width:85px" @blur="judgeRepeat(jlbh1 + jlbh2 + jlbh3 + '-' + jlbh4 , 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="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" 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" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="电话" prop="shiyongdanweiDianhua"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiDianhua" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="单位邮编" prop="shiyongdanweiYoubian"> |
|
||||
<el-input v-model="ysjl.shiyongdanweiYoubian" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="锅炉型号" prop="guigexinghao"> |
|
||||
<el-input v-model="ysjl.guigexinghao" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="制造单位" prop="zhizaodanwei"> |
|
||||
<el-input v-model="ysjl.zhizaodanwei" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<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-col :span="9"> |
|
||||
<el-form-item label="产品编号" prop="chanpinbianhao"> |
|
||||
<el-input v-model="ysjl.chanpinbianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="使用编号" prop="danweineibubianhao"> |
|
||||
<el-input v-model="ysjl.danweineibubianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="6"> |
|
||||
<el-form-item label="额定出力" prop="edingchuli"> |
|
||||
<el-input v-model="param.edingchuli" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="3"> |
|
||||
<el-select v-model="param.edinggonglv" :disabled="true" type="text" placeholder="请选择"> |
|
||||
<el-option label="t/h" value="t/h" /> |
|
||||
<el-option label="MW" value="MW" /> |
|
||||
</el-select> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定压力" prop="edingyali"> |
|
||||
<el-input v-model="param.edingyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备代码" prop="shebeidaima"> |
|
||||
<el-input v-model="ysjl.shebeidaima" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="使用压力" prop="shiyongyali"> |
|
||||
<el-input v-model="param.shiyongyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="额定温度" prop="edingwendu"> |
|
||||
<el-input v-model="param.edingwendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备类别" prop="shebeileibiedaima"> |
|
||||
<el-select v-model="ysjl.shebeileibiedaima" filterable allow-create default-first-option style="width: 100%" @change="getSbpzList"> |
|
||||
<el-option v-for="item in sblbList" :key="item.value" :label="item.label" :value="item.value" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备品种(名称)" prop="shebeipinzhongdaima"> |
|
||||
<el-select v-model="ysjl.shebeipinzhongdaima" filterable allow-create default-first-option style="width: 100%" @change="setSbpz"> |
|
||||
<el-option v-for="item in sbpzList" :key="item.value" :label="item.label" :value="item.value" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="允许工作压力" prop="gongzuoyali"> |
|
||||
<el-input v-model="param.gongzuoyali"> |
|
||||
<template slot="append"> |
|
||||
MPa |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="允许工作温度" prop="yunxugongzuowendu"> |
|
||||
<el-input v-model="param.yunxugongzuowendu"> |
|
||||
<template slot="append"> |
|
||||
℃ |
|
||||
</template> |
|
||||
</el-input> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="施工单位" prop="shigongdanwei"> |
|
||||
<el-input v-model="ysjl.shigongdanwei" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="许可级别" prop="shigongxukezhengjibie"> |
|
||||
<el-input v-model="ysjl.shigongxukezhengjibie" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="许可证编号" prop="shigongxukezheng"> |
|
||||
<el-input v-model="ysjl.shigongxukezheng" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="告知书编号" prop="gaozhibianhao"> |
|
||||
<el-input v-model="param.gaozhibianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="施工单位联系人" prop="shigongdanweiLianxiren"> |
|
||||
<el-input v-model="ysjl.shigongdanweiLianxiren" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="施工单位联系电话" prop="shigongdanweiDianhua"> |
|
||||
<el-input v-model="ysjl.shigongdanweiDianhua" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>检验信息</legend> |
|
||||
<el-row :gutter="20" style="text-align:left;margin-left: 50px;font-size: 18px;color: #606266;line-height: 40px;font-weight: bolder;"> |
|
||||
按照《中华人民共和国特种设备安全法》、《特种设备安全监察条例》的规定,该锅炉的<u>(安装)</u><br> |
|
||||
经我机构实施监督检验,安全性能 |
|
||||
<el-select v-model="ysjl.baogaojielun" placeholder="请选择" style="width: 100px;" @change="changeJyjl"> |
|
||||
<el-option label="符合" value="符合" /> |
|
||||
<el-option label="不符合" value="不符合" /> |
|
||||
</el-select>《锅炉安全技术规程》的要求,特发此证书。 |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="是否有监督检验工作联络单或监督检验工作意见通知书" prop="hasYijiantongzhishu" label-width="350px"> |
|
||||
<el-input v-model="param.hasYijiantongzhishu" :disabled="edit" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18" style="height: 70px;"> |
|
||||
<el-form-item label="处理情况" prop="quexianjiqichuli"> |
|
||||
<el-input v-model="param.quexianjiqichuli" :rows="3" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="margin-top: 20px;"> |
|
||||
<el-col :span="9"> |
|
||||
<!-- 开始安装日期就是开工告知日期 --> |
|
||||
<el-form-item label="开始安装日期" prop="gaozhiriqi"> |
|
||||
<el-date-picker v-model="param.gaozhiriqi" type="date" value-format="yyyy年MM月dd日" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="水压试验日期" prop="shiyanriqi"> |
|
||||
<el-date-picker v-model="param.shiyanriqi" type="date" placeholder="选择日期" style="width: 75%;" /> |
|
||||
<el-button type="primary" title="同步检验项中第1大项到第9大项的监检日期" icon="el-icon-refresh" size="mini" @click="syncRq(0, 38, param.shiyanriqi)" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="试运行完毕日期" prop="shiyunxingriqi"> |
|
||||
<el-date-picker v-model="param.shiyunxingriqi" type="date" value-format="yyyy年MM月dd日" placeholder="选择日期" style="width: 75%;" /> |
|
||||
<el-button type="primary" title="同步检验项中第10大项到第12大项的监检日期" icon="el-icon-refresh" size="mini" @click="syncRq(44, bgfyData.length, param.shiyunxingriqi)" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="安装资料送审日期" prop="anzhuangziliaosongshenriqi"> |
|
||||
<el-date-picker v-model="param.anzhuangziliaosongshenriqi" 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="jianyanjieshuriqi"> |
|
||||
<el-date-picker v-model="ysjl.jianyanjieshuriqi" type="date" 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" type="date" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="10"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验人员" prop="jianyanrenyuan"> |
|
||||
<el-input v-model="jianyanrenyuan" disabled /> |
|
||||
<el-input v-show="false" v-model="ysjl.jianyanrenyuan" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<sign-name :jianyanrenyuan="jianyanrenyuan" :ysjl="ysjl" @setSignValue="signNameValue" /> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18" style="height: 130px;"> |
|
||||
<el-form-item label="说明:" prop="beizhu"> |
|
||||
<el-input v-model="ysjl.beizhu" :rows="5" :disabled="edit" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
</el-form> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane label="整装锅炉安装监督检验项目表" name="second"> |
|
||||
<el-form class="el-form"> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18" style="height: 170px;"> |
|
||||
<el-form-item label="其他记录的内容:" prop="shuoming" label-width="150px"> |
|
||||
<el-input v-model="param.shuoming" :rows="5" :disabled="edit" type="textarea" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</el-form> |
|
||||
<el-table ref="bgfyData" :data="bgfyData" :span-method="tableJs.mergeColRows" border stripe style="width:90%" @row-click="onRowClick"> |
|
||||
<el-table-column type="selection" width="55" prop="checkbox" /> |
|
||||
<el-table-column type="index" align="center" width="50" label="序号" /> |
|
||||
<el-table-column align="center" label="监检项目"> |
|
||||
<el-table-column align="center" prop="jianyanxiang" width="70" label="检验项" /> |
|
||||
<el-table-column align="left" prop="jianyanneirong" label="检验内容" /> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="xiangmuleibie" width="100" label="类别"> |
|
||||
<template slot-scope="scope"> |
|
||||
<!-- <el-checkbox-group v-if="showXmlb(scope.$index)" v-model="scope.row.xiangmuleibie" @change="changeXmlb(scope.$index)">--> |
|
||||
<!-- <el-checkbox label="B" true-label="B" false-label="C" :disabled="edit || editStatus(scope.$index)" border />--> |
|
||||
<!-- <el-checkbox label="C" true-label="C" false-label="B" :disabled="edit || editStatus(scope.$index)" border />--> |
|
||||
<!-- </el-checkbox-group>--> |
|
||||
<el-select v-if="showXmlb(scope.$index)" v-model="scope.row.xiangmuleibie" style="width:60px;" :disabled="edit || editStatus(scope.$index)" @change="changeXmlb(scope.$index)"> |
|
||||
<el-option value="B"> |
|
||||
B |
|
||||
</el-option> |
|
||||
<el-option value="C"> |
|
||||
C |
|
||||
</el-option> |
|
||||
</el-select> |
|
||||
<span v-else>{{ scope.row.xiangmuleibie }}</span> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" label="检验检测情况或结果"> |
|
||||
<el-table-column align="center" prop="jyjg1" width="90" label="合格"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-checkbox v-model="scope.row.jyjg1" label="√" true-label="√" border @change="changeJyjg(scope.$index, 'jyjg1')" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="jyjg2" width="90" label="不合格"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-checkbox v-model="scope.row.jyjg2" label="√" true-label="√" border @change="changeJyjg(scope.$index, 'jyjg2')" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="jianyanjieguo" width="90" label="无此项"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-checkbox v-model="scope.row.jianyanjieguo" label="√" true-label="√" border @change="changeJyjg(scope.$index, 'jianyanjieguo')" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table-column> |
|
||||
<el-table-column :formatter="formatterJianjianyuan" align="center" prop="jianjianyuan" width="100" label="监检员" /> |
|
||||
<el-table-column align="center" prop="querenriqi" width="160" label="日期"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-date-picker v-model="scope.row.querenriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane v-if="state !== 'create'" label="检验收费情况" name="jysfqk"> |
|
||||
<complex-bill v-if="complexShow" ref="bill" :ysjl="ysjl" /> |
|
||||
</el-tab-pane> |
|
||||
</el-tabs> |
|
||||
<el-dialog :visible.sync="jyxmrqShow" title="批量修改日期" width="500px" @close="closeDialog"> |
|
||||
<template> |
|
||||
<el-date-picker v-model="querenriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</template> |
|
||||
<span slot="footer" class="dialog-footer"> |
|
||||
<el-button @click="jyxmrqShow = false">取 消</el-button> |
|
||||
<el-button type="primary" @click="batchUpd">确 定</el-button> |
|
||||
</span> |
|
||||
</el-dialog> |
|
||||
<sign-name v-show="signShow" ref="qmButton" :ysjl="ysjl" :jianyanrenyuan="xmjianyanrenyuan" field-name="xmqianming" @setSignValue="signNameValue" /> |
|
||||
</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 Ft from '@/views/ysjl/1000/common/glft' |
|
||||
import ComplexBill from '@/views/chargeBill/components/complex' |
|
||||
|
|
||||
export default { |
|
||||
name: 'GlZgjdYsjl', |
|
||||
components: { SignName, Sticky, Ft, ComplexBill }, |
|
||||
data() { |
|
||||
return { |
|
||||
jlbh1: 'GZA(', |
|
||||
jlbh2: new Date().getFullYear(), |
|
||||
jlbh3: ')', |
|
||||
jlbh4: '', |
|
||||
ysjl: {}, |
|
||||
param: {}, |
|
||||
jyxm: 'zgjd', |
|
||||
path: '/ysjl/1000/zg/zgjd/', |
|
||||
state: this.$route.query.state, |
|
||||
jianyanrenyuan: '', |
|
||||
departmentId: this.$route.query.departmentId, |
|
||||
isRepeat: false, |
|
||||
edit: false, |
|
||||
bgfyData: [], |
|
||||
tableData: [], |
|
||||
checkedTab: 'first', |
|
||||
xmjianyanrenyuan: '', |
|
||||
// 表格合并相关 |
|
||||
// 参与列合并的字段,在这里增加即可 |
|
||||
cols: [ |
|
||||
{ |
|
||||
name: 'checkbox', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianyanxiang', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { // 该列用于比较的值的获取方法 |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianyanneirong', |
|
||||
getValue(row) { |
|
||||
return row.jianyanneirong |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianjianyuan', |
|
||||
getValue(row) { |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'querenriqi', |
|
||||
getValue(row) { |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
} |
|
||||
], |
|
||||
// 参与行内合并的字段 |
|
||||
rows: [ |
|
||||
{ |
|
||||
name: 'jianyanxiang', |
|
||||
getValue(row) { |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianyanneirong', |
|
||||
getValue(row) { |
|
||||
return row.jianyanneirong |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianjianyuan', |
|
||||
getValue(row) { |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
} |
|
||||
], |
|
||||
signShow: false, |
|
||||
jyxmrqShow: false, |
|
||||
querenriqi: new Date(), |
|
||||
sblbList: [], |
|
||||
sbpzList: [], |
|
||||
ysjlId: this.$route.query.id, |
|
||||
fieldArr: ['jyjg1', 'jyjg2', 'jianyanjieguo'], |
|
||||
xmlbList: ['B', 'C'], |
|
||||
showXmlbIndexListZg: [1, 16, 22, 45, 46, 47, 48, 49, 50, 51, 52], |
|
||||
disabledEdit: [46, 47, 48, 49, 50, 51, 52], |
|
||||
complexShow: false |
|
||||
} |
|
||||
}, |
|
||||
computed: { |
|
||||
jilubianhao: function() { |
|
||||
let bianhao |
|
||||
if (!this.ysjl.jilubianhao) { |
|
||||
return this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 |
|
||||
} else { |
|
||||
bianhao = this.ysjl.jilubianhao |
|
||||
} |
|
||||
return this.judgeRepeat(bianhao, this.ysjl.id) |
|
||||
} |
|
||||
}, |
|
||||
watch: { |
|
||||
jlbh4: function(val) { |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + val |
|
||||
this.judgeRepeat(this.ysjl.jilubianhao, this.ysjl.id) |
|
||||
}, |
|
||||
jilubianhao: function(newValue) { |
|
||||
this.judgeRepeat(newValue, this.ysjl.id) |
|
||||
} |
|
||||
}, |
|
||||
created() { |
|
||||
if (this.state === 'create') { |
|
||||
this.api({ |
|
||||
url: '/ysjl/initYsjl', |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
modelId: this.$route.query.modelId, |
|
||||
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') |
|
||||
const currentDate = new Date() |
|
||||
const xcjyrq = new Date((currentDate.getFullYear() + 1) + '-' + (currentDate.getMonth() + 1) + '-' + currentDate.getDate()) |
|
||||
this.ysjl.xiacijianyanriqi = xcjyrq.setDate(xcjyrq.getDate() - 1) |
|
||||
this.ysjl.jianyanjielun = '合格' |
|
||||
this.ysjl.baogaojielun = '符合' |
|
||||
this.ysjl.jigouhezhunzhenghao = process.env.VUE_APP_HZZBH |
|
||||
this.$set(this.param, 'shiyunxingriqi', this.formatter.dateFormat('YYYY年MM月dd日')) |
|
||||
this.ysjl.beizhu = '/' |
|
||||
this.ysjl.zhizaoriqi = '' |
|
||||
this.changeEdgl() |
|
||||
this.getSbList('1000', this.ysjl.shebeileibiedaima, 3) |
|
||||
}) |
|
||||
this.getMaxBh() |
|
||||
this.$set(this.param, 'hasYijiantongzhishu', '无。') |
|
||||
} else { |
|
||||
this.getYsjl(this.$route.query.id) |
|
||||
} |
|
||||
this.getSbList('1000', undefined, 2) |
|
||||
this.getJyxm(1) |
|
||||
}, |
|
||||
methods: { |
|
||||
/** |
|
||||
* 格式化监检员 |
|
||||
*/ |
|
||||
formatterJianjianyuan(row) { |
|
||||
if (row.jianjianyuan) { |
|
||||
if (typeof (row.jianjianyuan) === 'number') { |
|
||||
row.jianjianyuan = row.jianjianyuan.toString() |
|
||||
} |
|
||||
return this.common.convertCnName(row.jianjianyuan) |
|
||||
} |
|
||||
}, |
|
||||
// 签名方法 |
|
||||
signNameValue(data) { |
|
||||
if (data.fieldName === 'xmqianming') { |
|
||||
this.jyxmController.findFirstJyxAndSignName(this.$refs.bgfyData.selection, this.bgfyData, data) |
|
||||
this.signShow = false |
|
||||
} else { |
|
||||
this.ysjl.jianyanrenyuan = data.id |
|
||||
this.jianyanrenyuan = data.name |
|
||||
if (this.state !== 'create') { |
|
||||
this.common.signName(this.ysjl.id, this.ysjl.jianyanrenyuan) |
|
||||
Utils.$emit('ysjl-list') |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
// 查询最大记录编号 |
|
||||
getMaxBh() { |
|
||||
const aheadPart = this.jlbh1 + '' + this.jlbh2 + '' + this.jlbh3 |
|
||||
this.api({ |
|
||||
url: '/ysjl/gainCurrentBh', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
aheadPart: aheadPart + '-', |
|
||||
hinderPart: '' |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.jlbh4 = data |
|
||||
}) |
|
||||
}, |
|
||||
getSbpzList(val) { |
|
||||
this.changeEdgl() |
|
||||
let obj = {} |
|
||||
obj = this.sblbList.find((item) => { // 这里的sblbList就是上面遍历的数据源 |
|
||||
return item.value === val // 筛选出匹配数据 |
|
||||
}) |
|
||||
this.ysjl.shebeileibie = obj.label |
|
||||
this.ysjl.shebeipinzhongdaima = '' |
|
||||
this.ysjl.shebeipinzhong = '' |
|
||||
if (val) { |
|
||||
this.getSbList('1000', val, 3) |
|
||||
} |
|
||||
}, |
|
||||
setSbpz(val) { |
|
||||
let obj = {} |
|
||||
obj = this.sbpzList.find((item) => { // 这里的userList就是上面遍历的数据源 |
|
||||
return item.value === val // 筛选出匹配数据 |
|
||||
}) |
|
||||
this.ysjl.shebeipinzhong = obj.label |
|
||||
}, |
|
||||
getSbList(sbzl, sblb, level) { |
|
||||
this.api({ |
|
||||
url: '/sedirectory/getList', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
sbzl: sbzl, |
|
||||
sblb: sblb, |
|
||||
level: level |
|
||||
} |
|
||||
}).then(data => { |
|
||||
switch (level) { |
|
||||
case 2: |
|
||||
this.sblbList = data |
|
||||
return '' |
|
||||
case 3: |
|
||||
this.sbpzList = data |
|
||||
return '' |
|
||||
default: |
|
||||
this.sbzlList = data |
|
||||
return '' |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
getYsjl(id) { |
|
||||
this.api({ |
|
||||
url: '/ysjl/getYsjlById', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: id |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.ysjl = data.ysjl |
|
||||
this.complexShow = true |
|
||||
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) |
|
||||
this.changeEdgl() |
|
||||
this.getSbList('1000', this.ysjl.shebeileibiedaima, 3) |
|
||||
}) |
|
||||
}, |
|
||||
getParam(ysjlId, sbzldm) { |
|
||||
// 根据原始记录id查询参数 |
|
||||
this.api({ |
|
||||
url: '/ysjl/getParamByYsjlId', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
ysjlId: ysjlId, |
|
||||
sbzldm: sbzldm |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.param = data |
|
||||
}) |
|
||||
}, |
|
||||
// 查询检验项目 |
|
||||
getJyxm(sort) { |
|
||||
this.jyxmController.getJyxm(this.$route.query.modelId, this.$route.query.id, sort, this.state, false).then(data => { |
|
||||
switch (sort) { |
|
||||
case 1: |
|
||||
this.bgfyData = data |
|
||||
this.jyxmController.initJjyJyxm(this.state, this.bgfyData) |
|
||||
this.tableJs.getData(this.cols, this.rows, this.bgfyData) |
|
||||
break |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
/** |
|
||||
* 获取表格中的id, 不为空的检验结果和备注 |
|
||||
*/ |
|
||||
getProp: function(data) { |
|
||||
const retData = [] |
|
||||
const fields = ['xiangmuleibie', 'jyjg1', 'jyjg2', 'jianyanjieguo', 'jianjianyuan', 'querenriqi'] |
|
||||
for (let i = 0; i < data.length; i++) { |
|
||||
const retRow = {} |
|
||||
retRow.id = data[i].id |
|
||||
fields.forEach(field => { |
|
||||
if (data[i][field]) { |
|
||||
retRow[field] = data[i][field] |
|
||||
} |
|
||||
}) |
|
||||
retData.push(retRow) |
|
||||
} |
|
||||
return retData |
|
||||
}, |
|
||||
/** |
|
||||
* 检验项目批量签名 |
|
||||
*/ |
|
||||
Signjyxm() { |
|
||||
if (this.$refs.bgfyData.selection.length === 0) { |
|
||||
this.$message('请在列表选择要签名的数据。') |
|
||||
return |
|
||||
} |
|
||||
this.signShow = true |
|
||||
this.$refs.qmButton.dialogFormVisible = true |
|
||||
}, |
|
||||
/** |
|
||||
* 检验项目清除签名 |
|
||||
*/ |
|
||||
signClear: function() { |
|
||||
if (this.$refs.bgfyData.selection.length === 0) { |
|
||||
this.$message('请在列表选择要清除签名的数据。') |
|
||||
return |
|
||||
} |
|
||||
this.$refs.qmButton.clearSign() |
|
||||
}, |
|
||||
closeDialog() { |
|
||||
this.jyxmrqShow = false |
|
||||
}, |
|
||||
onRowClick(row) { |
|
||||
this.$refs.bgfyData.toggleRowSelection(row) |
|
||||
}, |
|
||||
batchUpdDate() { |
|
||||
if (this.$refs.bgfyData.selection.length === 0) { |
|
||||
this.$message('请在列表选择要修改日期的数据。') |
|
||||
return false |
|
||||
} |
|
||||
this.jyxmrqShow = true |
|
||||
}, |
|
||||
batchUpd() { |
|
||||
for (let i = 0; i < this.$refs.bgfyData.selection.length; i++) { |
|
||||
this.$refs.bgfyData.selection[i].querenriqi = this.querenriqi |
|
||||
for (let j = 0; j < this.bgfyData.length; j++) { |
|
||||
if (this.bgfyData[j].id === this.$refs.bgfyData.selection[i].id) { |
|
||||
this.$set(this.bgfyData[j], this.$refs.bgfyData.selection[i]) |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
this.jyxmrqShow = false |
|
||||
}, |
|
||||
saveYsjl: function(operation) { |
|
||||
if (operation === 'add') { |
|
||||
if (!this.jlbh4.trim()) { |
|
||||
this.$message({ message: '请先确认记录编号是否完整!', type: 'warning' }) |
|
||||
return false |
|
||||
} |
|
||||
} |
|
||||
this.tableData = [] |
|
||||
this.tableData.push(this.getProp(this.bgfyData)) |
|
||||
let url = '' |
|
||||
this.ysjl.bglx = 1 |
|
||||
this.ysjl.cjState = 'ysjl' |
|
||||
this.ysjl.zfState = '0' |
|
||||
this.ysjl.jlprintState = 0 |
|
||||
if (operation === 'add') { |
|
||||
url = '/ysjl/saveYsjl' |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + this.jlbh3 + '-' + this.jlbh4 |
|
||||
this.ysjl.jianyanxiangmu = this.jyxm |
|
||||
} else if (operation === 'build') { |
|
||||
if (!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 |
|
||||
} |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} else if (operation === 'upd') { |
|
||||
url = '/ysjl/updateYsjl' |
|
||||
} |
|
||||
if (this.isRepeat) { |
|
||||
this.$message({ message: '记录编号重复,请先修改记录编号再保存', type: 'error' }) |
|
||||
return false |
|
||||
} else { |
|
||||
this.$refs['ysjl'].validate(valid => { |
|
||||
if (valid) { |
|
||||
this.api({ |
|
||||
url: url, |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
ysjl: this.ysjl, |
|
||||
param: this.param, |
|
||||
jyxm: JSON.stringify(this.tableData), |
|
||||
flag: operation |
|
||||
} |
|
||||
}).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 |
|
||||
}) |
|
||||
// this.$router.push({ |
|
||||
// path: this.path + this.ysjl.id, |
|
||||
// query: { state: 'update', id: this.ysjl.id, departmentId: this.ysjl.departmentId, jianyanrenyuan: this.ysjl.jianyanrenyuan } |
|
||||
// }) |
|
||||
} 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-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 |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
changeJyjl(val) { |
|
||||
if (val === '符合') { |
|
||||
// 性能符合的时候下次检验日期加一年减一天 |
|
||||
this.ysjl.jianyanjielun = '合格' |
|
||||
const xcjyrq = new Date(this.ysjl.jianyanjieshuriqi) |
|
||||
xcjyrq.setFullYear(xcjyrq.getFullYear() + 1) |
|
||||
this.ysjl.xiacijianyanriqi = xcjyrq.setDate(xcjyrq.getDate() - 1) |
|
||||
} else { |
|
||||
// 性能不符合的时候下次检验日期加三个月减一天 |
|
||||
this.ysjl.jianyanjielun = '不合格' |
|
||||
const xcjyrq = new Date(this.ysjl.jianyanjieshuriqi) |
|
||||
xcjyrq.setMonth(xcjyrq.getMonth() + 1 + 2) |
|
||||
this.ysjl.xiacijianyanriqi = xcjyrq.setDate(xcjyrq.getDate() - 1) |
|
||||
} |
|
||||
}, |
|
||||
/** |
|
||||
* 改变额定功率:蒸汽锅炉是t/h,其他的是MW |
|
||||
*/ |
|
||||
changeEdgl() { |
|
||||
if (this.ysjl.shebeileibiedaima === '1100') { |
|
||||
this.param.edinggonglv = 't/h' |
|
||||
} else { |
|
||||
this.param.edinggonglv = 'MW' |
|
||||
} |
|
||||
}, |
|
||||
/** |
|
||||
* |
|
||||
* @param $index |
|
||||
* @param field |
|
||||
*/ |
|
||||
changeJyjg($index, field) { |
|
||||
this.fieldArr.forEach(currentField => { |
|
||||
if (field !== currentField) { |
|
||||
this.bgfyData[$index][currentField] = '' |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
/** |
|
||||
* 同步检验项目中的日期 |
|
||||
* 水压试验日期同步1-9大项 |
|
||||
* 试运行日期同步10-12大项 |
|
||||
* @param startIndex 索引 |
|
||||
* @param count 最大索引 |
|
||||
* @param riqi 同步的日期 |
|
||||
*/ |
|
||||
syncRq(startIndex, count, riqi) { |
|
||||
for (let i = startIndex; i < count; i++) { |
|
||||
if (i === 0) { |
|
||||
this.bgfyData[i].querenriqi = this.param.shiyanriqi |
|
||||
} else if (i + 1 < this.bgfyData.length && this.bgfyData[i].jianyanxiang !== this.bgfyData[i + 1].jianyanxiang) { |
|
||||
this.bgfyData[i + 1].querenriqi = riqi.replace('年', '-').replace('月', '-').replace('日', '') |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
/** |
|
||||
* 是否展示项目类别 |
|
||||
* @param $index |
|
||||
* @returns {number} |
|
||||
*/ |
|
||||
showXmlb($index) { |
|
||||
return this.showXmlbIndexListZg.filter(index => { |
|
||||
return index === $index |
|
||||
}).length |
|
||||
}, |
|
||||
/** |
|
||||
* 是否可编辑 |
|
||||
* @param $index |
|
||||
* @returns {boolean} |
|
||||
*/ |
|
||||
editStatus($index) { |
|
||||
return this.disabledEdit.filter(index => { |
|
||||
return index === $index |
|
||||
}).length > 0 |
|
||||
}, |
|
||||
/** |
|
||||
* 改变部分项目类别 |
|
||||
* @param $index |
|
||||
*/ |
|
||||
changeXmlb($index) { |
|
||||
if ($index === 45) { |
|
||||
this.disabledEdit.forEach(index => { |
|
||||
this.bgfyData[index].xiangmuleibie = this.bgfyData[$index].xiangmuleibie |
|
||||
}) |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
@ -1,855 +0,0 @@ |
|||||
<!--锅炉改造和重大修理--> |
|
||||
<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> |
|
||||
<template v-else> |
|
||||
<el-button type="primary" icon="el-icon-edit" size="medium" @click="saveYsjl('upd')"> |
|
||||
更新 |
|
||||
</el-button> |
|
||||
<el-button v-if="isSysUser" type="success" icon="el-icon-upload2" size="medium" @click="saveYsjl('build')"> |
|
||||
生成报告 |
|
||||
</el-button> |
|
||||
<el-button type="warning" icon="el-icon-view" size="medium" @click="common.viewYsjl(ysjl.id, 'YSJL')"> |
|
||||
预览 |
|
||||
</el-button> |
|
||||
</template> |
|
||||
<template v-if="isSysUser"> |
|
||||
<el-button type="primary" size="medium" @click="Signjyxm"> |
|
||||
<svg-icon icon-class="sign" /> |
|
||||
检验项目批量签名 |
|
||||
</el-button> |
|
||||
<el-button type="danger" icon="el-icon-delete" size="medium" @click="signClear"> |
|
||||
批量清除签名 |
|
||||
</el-button> |
|
||||
<el-button type="success" size="medium" icon="el-icon-edit" @click="batchUpdDate"> |
|
||||
批量修改日期 |
|
||||
</el-button> |
|
||||
<el-button type="primary" size="medium" icon="el-icon-info" @click="showDialogRoleVisible"> |
|
||||
编辑权限 |
|
||||
</el-button> |
|
||||
</template> |
|
||||
<el-button type="info" size="medium" icon="el-icon-info" @click="dialogEnclosureVisible = true"> |
|
||||
相关鉴证 |
|
||||
</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="130px"> |
|
||||
<fieldset> |
|
||||
<legend>基本信息</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col v-if="state === 'create' || !ysjl.jilubianhao" :span="13"> |
|
||||
<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:80px" @blur="ysjlController.judgeRepeat(jlbh1 + jlbh2 + '-' + jlbh3, ysjl.id).then(data => { isRepeat = data })" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col v-else :span="9"> |
|
||||
<el-form-item label="监检编号" prop="jilubianhao"> |
|
||||
<el-input v-model="ysjl.jilubianhao" :disabled="edit" @blur="ysjlController.judgeRepeat(ysjl.jilubianhao, ysjl.id).then(data => { isRepeat = data })" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col v-show="isRepeat" :span="2"> |
|
||||
<span style="color:red">编号重复</span> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="height: 110px;"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="产品名称" prop="shebeimingcheng"> |
|
||||
<el-input v-model="ysjl.shebeimingcheng" type="textarea" :rows="4" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="height: 110px;"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="产品图号" prop="chanpintuhao"> |
|
||||
<el-input v-model="param.chanpintuhao" type="textarea" :rows="4" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="产品型号" prop="guigexinghao"> |
|
||||
<el-select v-model="ysjl.guigexinghao" filterable allow-create default-first-option style="width: 100%;" @change="changXh"> |
|
||||
<el-option v-for="item in xinghaoList" :key="item.id" :label="item.xinghao" :value="item.xinghao" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="鉴定报告编号" prop="jiandingbaogaobianhao"> |
|
||||
<el-input v-model="param.jiandingbaogaobianhao" type="text" :disabled="edit" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="产品编号" prop="chanpinbianhao"> |
|
||||
<el-input v-model="ysjl.chanpinbianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="设备代码" prop="shebeidaima"> |
|
||||
<el-input v-model="ysjl.shebeidaima" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="制造日期" prop="zhizaoriqi"> |
|
||||
<el-date-picker v-model="ysjl.zhizaoriqi" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>收费信息</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="合同编号" prop="hetongbianhao"> |
|
||||
<el-input v-model="param.hetongbianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="合同金额" prop="zaojia"> |
|
||||
<el-input v-model="param.zaojia" type="text" disabled @input="beforeHejia" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="比例" prop="bili"> |
|
||||
<el-select v-model="param.bili" allow-create clearable filterable default-first-option style="width: 100%;" disabled @change="beforeHejia"> |
|
||||
<el-option v-for="item in biliOptions" :key="item" :label="item" :value="item" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验费用" prop="jianyanheding"> |
|
||||
<el-input v-model="ysjl.jianyanheding" type="text" disabled /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>校验信息</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="20" style="margin-left: 100px;height: 90px;font-size: 16px;"> |
|
||||
根据<el-input v-model="ysjl.jianyanyiju" style="width: 450px;" />的规定,该产品的制造经我机构监督检验,符合 |
|
||||
<el-select v-model="param.xiangguanguicheng" style="width: 300px;"> |
|
||||
<el-option v-for="item in xggcList" :key="item.id" :label="item.name" :value="item.name" /> |
|
||||
</el-select>规定的基本安全要求,特发此证书。 |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<template v-show="type !== 'glbj' && type !== 'fqg'"> |
|
||||
<el-row style="margin-left: 80px;margin-bottom: 10px;"> |
|
||||
<el-col :span="18"> |
|
||||
<el-alert title="此”说明“在原始记录与监检证书上均体现。" type="info" /> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="margin-bottom: 20px;height: 90px;"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="说明" prop="beizhu"> |
|
||||
<el-input v-model="ysjl.beizhu" type="textarea" :rows="4" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</template> |
|
||||
<template v-if="isSysUser"> |
|
||||
<el-row :gutter="20" style="margin-top: 20px;"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验日期" prop="jianyanjieshuriqi"> |
|
||||
<el-date-picker v-model="ysjl.jianyanjieshuriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="10"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验人员" prop="jianyanrenyuan"> |
|
||||
<el-input v-model="jianyanrenyuan" disabled /> |
|
||||
<el-input v-show="false" v-model="ysjl.jianyanrenyuan" /> |
|
||||
</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-form class="el-form" label-position="right" label-width="130px"> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18" :offset="6"> |
|
||||
<el-button size="small" type="primary" @click="changeJsl(' 由 外协生产,监检证号: 产品编号: 。锅炉范围内管道提供部分锅炉主蒸汽管道、锅炉主给水管道和管件,符合《市场监管总局办公厅关于电站锅炉范围内管道有关问题意见》(市监特设函(2019) -849号) 等文件的相关要求。')"> |
|
||||
外协 |
|
||||
</el-button> |
|
||||
<el-button size="small" type="warning" @click="changeJsl('无此项.')"> |
|
||||
无此项 |
|
||||
</el-button> |
|
||||
<el-button size="small" type="primary" @click="changeJsl('部件调台,详见该厂的调台计划.')"> |
|
||||
调台 |
|
||||
</el-button> |
|
||||
<el-button size="small" type="primary" @click="changeJsl('该锅炉为设计文件鉴定后制造的前三台锅炉。')"> |
|
||||
前三台 |
|
||||
</el-button> |
|
||||
<el-button size="small" type="danger" @click="changeJsl(undefined)"> |
|
||||
清空 |
|
||||
</el-button> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row style="margin-left: 80px;margin-bottom: 10px;"> |
|
||||
<el-col :span="18"> |
|
||||
<el-alert title="此”记事栏“只在原始记录上体现。" type="info" /> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="height: 100px;"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="记事栏" prop="qita"> |
|
||||
<el-input v-model="param.qita" type="textarea" :rows="4" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</el-form> |
|
||||
<el-table ref="bgfyData" :data="bgfyData" :span-method="tableJs.mergeColRows" border stripe style="margin-top: 10px;" @row-click="onRowClick"> |
|
||||
<el-table-column type="selection" width="55" prop="checkbox" /> |
|
||||
<el-table-column type="index" align="center" width="50" label="序号" /> |
|
||||
<el-table-column align="center" label="监检项目"> |
|
||||
<el-table-column align="center" prop="jianyanxiang" label="检验项" width="100" /> |
|
||||
<el-table-column align="center" prop="jianyanneirong" label="检验内容" width="300" /> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="xiangmuleibie" width="100" label="类别"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-select v-if="showXmlb(scope.$index)" v-model="scope.row.xiangmuleibie" style="width:60px;"> |
|
||||
<el-option v-for="xmlb in getXmlbList(scope.$index)" :key="xmlb" :label="xmlb" :value="xmlb" /> |
|
||||
</el-select> |
|
||||
<span v-else>{{ scope.row.xiangmuleibie }}</span> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="jianyanjieguo" width="120" label="检查结果"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-select v-model="scope.row.jianyanjieguo" @change="changeJyjg(scope.$index)"> |
|
||||
<el-option v-for="item in jyjgList" :key="item" :label="item" :value="item" /> |
|
||||
</el-select> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="gongzuojianzheng" min-width="200" label="工作见证"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-autocomplete v-model="scope.row.gongzuojianzheng" class="inline-input" style="width: 100%;" :fetch-suggestions="((queryString, cb) => { querySearchGzjz(queryString, cb, scope.$index) })" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="jianjianyuan" width="200" label="监检员" /> |
|
||||
<el-table-column align="center" prop="querenriqi" width="160" label="日期"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-date-picker v-model="scope.row.querenriqi" type="date" format="yyyy.MM.dd" value-format="yyyy-MM-dd" :picker-options="pickerOptions" placeholder="选择日期" style="width: 100%;" @change="changeQrrq(scope.$index)" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
</el-tab-pane> |
|
||||
</el-tabs> |
|
||||
<el-dialog :visible.sync="jyxmrqShow" title="批量修改日期" width="500px" @close="jyxmrqShow = false"> |
|
||||
<template> |
|
||||
<el-date-picker v-model="querenriqi" type="date" format="yyyy.MM.dd" value-format="yyyy-MM-dd" :picker-options="pickerOptions" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</template> |
|
||||
<span slot="footer" class="dialog-footer"> |
|
||||
<el-button @click="jyxmrqShow = false">取 消</el-button> |
|
||||
<el-button type="primary" @click="batchUpd">确 定</el-button> |
|
||||
</span> |
|
||||
</el-dialog> |
|
||||
<el-dialog title="查看相关鉴证" :modal-append-to-body="false" :visible.sync="dialogEnclosureVisible"> |
|
||||
<enclosure :relation-id="ysjl.renwuId" :if-liaison="false" :view-button="true" :is-show-hetong="isSysUser" /> |
|
||||
</el-dialog> |
|
||||
<el-dialog title="编辑权限" :visible.sync="dialogRoleVisible"> |
|
||||
<template> |
|
||||
<div class="tag-group"> |
|
||||
<span class="tag-group__title">已有权限人员:</span> |
|
||||
<el-tag v-for="item in defaultRlr" :key="item" effect="dark"> |
|
||||
{{ common.convertCnName(item) }} |
|
||||
</el-tag> |
|
||||
</div> |
|
||||
<br> |
|
||||
<el-select v-model="renlingren" multiple collapse-tags placeholder="请选择要追加的监检员"> |
|
||||
<el-option v-for="item in userList" :key="item.id" :label="item.nickname" :value="item.id" /> |
|
||||
</el-select> |
|
||||
</template> |
|
||||
<span slot="footer" class="dialog-footer"> |
|
||||
<el-button @click="dialogRoleVisible = false">取 消</el-button> |
|
||||
<el-button type="primary" @click="updateRenlingren">确 定</el-button> |
|
||||
</span> |
|
||||
</el-dialog> |
|
||||
<sign-name v-show="signShow" ref="qmButton" :ysjl="ysjl" :jianyanrenyuan="xmjianyanrenyuan" field-name="xmqianming" :custom-clear-sign="customClearSign" @setSignValue="signNameValue" /> |
|
||||
</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 Enclosure from '@/views/common/Enclosure' |
|
||||
|
|
||||
export default { |
|
||||
name: 'GlZjYsjl', |
|
||||
components: { SignName, Sticky, Enclosure }, |
|
||||
props: { |
|
||||
type: { |
|
||||
required: true, |
|
||||
type: String |
|
||||
}, |
|
||||
showXmlbIndexListSg: { |
|
||||
required: true, |
|
||||
type: Array |
|
||||
}, |
|
||||
/** |
|
||||
* 格式为: [{ index: 0, relationIds: [1, 2] }] |
|
||||
*/ |
|
||||
jyxmRelations: { |
|
||||
required: true, |
|
||||
type: Array |
|
||||
} |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
ysjl: {}, |
|
||||
param: {}, |
|
||||
jlbh1: 'GJ', |
|
||||
jlbh2: '(' + new Date().getFullYear() + ')', |
|
||||
jlbh3: '', |
|
||||
isRepeat: false, |
|
||||
jianyanrenyuan: '', |
|
||||
departmentId: this.$route.query.departmentId, |
|
||||
edit: false, |
|
||||
state: this.$route.query.state, |
|
||||
bgfyData: [], |
|
||||
ysjlId: this.$route.query.id, |
|
||||
checkedTab: 'first', |
|
||||
xmlbListAB: ['A', 'B'], |
|
||||
xmlbListAC: ['A', 'C'], |
|
||||
xmlbListBC: ['B', 'C'], |
|
||||
cols: [ |
|
||||
{ |
|
||||
name: 'jianyanxiang', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { // 该列用于比较的值的获取方法 |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
} |
|
||||
], |
|
||||
rows: [ |
|
||||
{ |
|
||||
name: 'jianyanxiang', |
|
||||
getValue(row) { |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianyanneirong', |
|
||||
getValue(row) { |
|
||||
return row.jianyanneirong |
|
||||
} |
|
||||
} |
|
||||
], |
|
||||
jyxmrqShow: false, |
|
||||
querenriqi: null, |
|
||||
signShow: false, |
|
||||
xmjianyanrenyuan: '', |
|
||||
xggcList: [], |
|
||||
biliOptions: ['0.4', '0.5', '0.6', '0.7', '0.8', '0.9', '1'], |
|
||||
dialogEnclosureVisible: false, |
|
||||
dialogRoleVisible: false, |
|
||||
userList: [], |
|
||||
defaultRlr: [], |
|
||||
renlingren: [], |
|
||||
xinghaoList: [], |
|
||||
jyjgList: ['符合', '无此项', '外协'], |
|
||||
dicGzjz: [], |
|
||||
isSysUser: this.$store.getters.clientType === 'System', |
|
||||
pickerOptions: { |
|
||||
disabledDate(time) { |
|
||||
return time.getTime() > Date.now() |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
created() { |
|
||||
if (this.state === 'create') { |
|
||||
this.initYsjl() |
|
||||
} else { |
|
||||
this.getYsjl() |
|
||||
this.getParam() |
|
||||
} |
|
||||
this.getDicJyxm(1) |
|
||||
this.getJyxm(1) |
|
||||
this.getDicData() |
|
||||
this.userList = this.$store.getters.allUser.filter(user => user.departmentId === 74 && user.clientType === 'System') |
|
||||
}, |
|
||||
methods: { |
|
||||
initYsjl() { |
|
||||
this.ysjlController.init(this.$route.query).then(data => { |
|
||||
this.ysjl = data.ysjl |
|
||||
this.param = data.param ? data.param : {} |
|
||||
this.ysjl.jianyanjieshuriqi = this.formatter.dateFormat('YYYY-MM-dd') |
|
||||
this.ysjl.jianyanjielun = '符合' |
|
||||
this.ysjl.baogaojielun = '符合' |
|
||||
this.ysjl.bglx = 1 |
|
||||
this.ysjl.cjState = 'ysjl' |
|
||||
this.ysjl.jlprintState = 0 |
|
||||
this.ysjl.jigouhezhunzhenghao = process.env.VUE_APP_HZZBH |
|
||||
this.ysjl.jianyanyiju = '《中华人民共和国特种设备安全法》《特种设备安全监察条例》' |
|
||||
this.$set(this.param, 'xiangguanguicheng', '《锅炉安全技术规程》') |
|
||||
this.beforeHejia() |
|
||||
this.getZzdw() |
|
||||
this.getXinghao() |
|
||||
}) |
|
||||
}, |
|
||||
getYsjl() { |
|
||||
this.ysjlController.getYsjl(this.ysjlId).then(data => { |
|
||||
this.ysjl = data.ysjl |
|
||||
this.ysjl.jianyanjielun = '符合' |
|
||||
if (this.ysjl.jianyanrenyuan !== null && this.ysjl.jianyanrenyuan.length > 0) { |
|
||||
this.jianyanrenyuan = this.common.convertCnName(this.ysjl.jianyanrenyuan) |
|
||||
} |
|
||||
this.ysjlController.judgeRepeat(this.ysjl.jilubianhao, this.ysjl.id).then(data => { |
|
||||
this.isRepeat = data |
|
||||
}) |
|
||||
this.getXinghao() |
|
||||
}) |
|
||||
}, |
|
||||
getParam() { |
|
||||
this.ysjlController.getParam(this.ysjlId, '1000').then(data => { |
|
||||
this.param = data |
|
||||
}) |
|
||||
}, |
|
||||
getJyxm(sort) { |
|
||||
this.jyxmController.getJyxm(this.$route.query.modelId, this.ysjlId, sort, this.state).then(data => { |
|
||||
this.bgfyData = data |
|
||||
this.tableJs.getData(this.cols, this.rows, data) |
|
||||
}) |
|
||||
}, |
|
||||
getDicJyxm(sort) { |
|
||||
this.jyxmController.getCyJyxm(this.$route.query.modelId, sort).then(data => { |
|
||||
this.dicGzjz = data.map(row => { |
|
||||
return { value: row.gongzuojianzheng } |
|
||||
}) |
|
||||
}) |
|
||||
}, |
|
||||
getXinghao() { |
|
||||
this.api({ |
|
||||
url: 'dicXinghao/getAll', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
zzdwId: this.zzdwId |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.xinghaoList = data |
|
||||
if (this.state === 'create') { |
|
||||
this.changXh(this.ysjl.guigexinghao) |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
getZzdw() { |
|
||||
this.api({ |
|
||||
url: '/dwxx/getById', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
id: this.ysjl.zzdwId |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.jlbh1 += data.zhizaodanweiCode |
|
||||
this.ysjl.zhizaoxukezhengjibie = data.zhizaoxukezhengjibie |
|
||||
this.ysjl.zhizaoxukezhengbianhao = data.zhizaoxukezhengbianhao |
|
||||
this.getMaxBh() |
|
||||
}) |
|
||||
}, |
|
||||
getDicData() { |
|
||||
this.api({ |
|
||||
url: '/dicData/getDicDataByTypeCode', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
typeCode: 'GL_ZZ_XGGC' |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.xggcList = data |
|
||||
}) |
|
||||
}, |
|
||||
// 查询最大记录编号 |
|
||||
getMaxBh() { |
|
||||
const aheadPart = this.jlbh1 + this.jlbh2 + '-' |
|
||||
this.api({ |
|
||||
url: '/ysjl/gainCurrentBh', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
aheadPart: aheadPart, |
|
||||
hinderPart: '' |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.jlbh3 = data |
|
||||
this.ysjlController.judgeRepeat(this.ysjl.jilubianhao, this.ysjl.id).then(data => { |
|
||||
this.isRepeat = data |
|
||||
}) |
|
||||
}) |
|
||||
}, |
|
||||
/** |
|
||||
* 签名方法 |
|
||||
* @param data |
|
||||
*/ |
|
||||
signNameValue(data) { |
|
||||
if (data.fieldName === 'xmqianming') { |
|
||||
for (let i = 0; i < this.$refs.bgfyData.selection.length; i++) { |
|
||||
const jianyanrenyuan = this.$refs.bgfyData.selection[i].jianjianyuan ? this.$refs.bgfyData.selection[i].jianjianyuan.split(',') : [] |
|
||||
if (!jianyanrenyuan.includes(data.name)) { |
|
||||
jianyanrenyuan.push(data.name) |
|
||||
this.$refs.bgfyData.selection[i].jianjianyuan = jianyanrenyuan.join(',') |
|
||||
} |
|
||||
} |
|
||||
} else { |
|
||||
const isNotHasJyry = !this.ysjl.jianyanrenyuan |
|
||||
this.ysjl.jianyanrenyuan = String(data.id) |
|
||||
this.jianyanrenyuan = data.name |
|
||||
this.common.signName(this.ysjl.id, this.ysjl.jianyanrenyuan) |
|
||||
Utils.$emit('manufacture-list') |
|
||||
// 如果是第一检验员签名的话,需要给所有检验项目的检验人员追加当前检验人员 |
|
||||
if (isNotHasJyry && this.jianyanrenyuan && this.jianyanrenyuan.split(',').length === 1) { |
|
||||
this.bgfyData.forEach(jyxm => { |
|
||||
// 如果第一检验人员已在该检验项目签名的话,无需重复签名 |
|
||||
if (!jyxm.jianjianyuan || !jyxm.jianjianyuan.split(',').filter(jjr => jjr === this.jianyanrenyuan).length) { |
|
||||
if (jyxm.jianjianyuan) { |
|
||||
const jianjianyuan = jyxm.jianjianyuan.split(',') |
|
||||
jianjianyuan.push(this.jianyanrenyuan) |
|
||||
jyxm.jianjianyuan = jianjianyuan.join(',') |
|
||||
} else { |
|
||||
jyxm.jianjianyuan = this.jianyanrenyuan |
|
||||
} |
|
||||
} |
|
||||
}) |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
customClearSign(fieldName) { |
|
||||
if (fieldName === 'xmqianming') { |
|
||||
for (let i = 0; i < this.$refs.bgfyData.selection.length; i++) { |
|
||||
let jyry = this.$refs.bgfyData.selection[i].jianjianyuan || '' |
|
||||
jyry = this.common.deleteElement(jyry.split(','), String(this.$store.getters.nickname)).join(',') |
|
||||
} |
|
||||
} else { |
|
||||
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) |
|
||||
} |
|
||||
}, |
|
||||
saveYsjl(operation) { |
|
||||
const tableData = [[]] |
|
||||
this.bgfyData.forEach(row => { |
|
||||
tableData[0].push({ |
|
||||
id: row.id, |
|
||||
xiangmuleibie: row.xiangmuleibie ? row.xiangmuleibie : '', |
|
||||
jianyanjieguo: row.jianyanjieguo ? row.jianyanjieguo : '', |
|
||||
gongzuojianzheng: row.gongzuojianzheng ? row.gongzuojianzheng : '', |
|
||||
jianjianyuan: row.jianjianyuan ? row.jianjianyuan : '', |
|
||||
querenriqi: row.querenriqi ? row.querenriqi : '' |
|
||||
}) |
|
||||
}) |
|
||||
if (operation === 'add') { |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + '-' + this.jlbh3 |
|
||||
this.save(operation, '/ysjl/saveYsjl', tableData) |
|
||||
} else if (operation === 'build') { |
|
||||
this.ysjl.baogaobianhao = this.ysjl.jilubianhao |
|
||||
if (this.ysjl.jilubianhao && this.ysjl.jilubianhao.indexOf('COPY') > -1) { |
|
||||
this.$message({ |
|
||||
type: 'error', |
|
||||
message: '请先修改报告编号,不允许携带COPY标志生成报告!' |
|
||||
}) |
|
||||
return false |
|
||||
} |
|
||||
if (this.ysjl.jianyanrenyuan === null || this.ysjl.jianyanrenyuan === '') { |
|
||||
this.$message({ |
|
||||
type: 'error', |
|
||||
message: '请先签名再生成报告!' |
|
||||
}) |
|
||||
return false |
|
||||
} |
|
||||
for (let i = 0; i < this.bgfyData.length; i++) { |
|
||||
if (!this.bgfyData[i].jianjianyuan || !this.bgfyData[i].querenriqi) { |
|
||||
this.$message.error('请将检验项目中的监检人员及监检日期填写完毕,再生成报告!') |
|
||||
return false |
|
||||
} |
|
||||
} |
|
||||
this.save(operation, '/ysjl/updateYsjl', tableData) |
|
||||
} else if (operation === 'upd') { |
|
||||
this.save(operation, '/ysjl/updateYsjl', tableData) |
|
||||
} |
|
||||
}, |
|
||||
save(operation, url, jyxm) { |
|
||||
// 判断报告编号是否重复 |
|
||||
if (this.isRepeat) { |
|
||||
this.$message({ message: '记录编号重复,请先修改记录编号再保存', type: 'error' }) |
|
||||
return false |
|
||||
} else { |
|
||||
this.$refs['ysjl'].validate(valid => { |
|
||||
if (valid) { |
|
||||
this.api({ |
|
||||
url: url, |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
ysjl: this.ysjl, |
|
||||
param: this.param, |
|
||||
jyxm: JSON.stringify(jyxm), |
|
||||
flag: operation |
|
||||
} |
|
||||
}).then(data => { |
|
||||
Utils.$emit('ysjl-db-list') |
|
||||
// 刷新任务列表,原始记录待办,原始记录已办,检验报告 |
|
||||
if (operation === 'add') { |
|
||||
Utils.$emit('task-list') |
|
||||
this.ysjl.id = data |
|
||||
this.param.ysjlId = data |
|
||||
this.$message({ message: '保存成功', type: 'success' }) |
|
||||
// 刷新路由网址 |
|
||||
this.common.reloadViewToUpdateYsjl(this.ysjl) |
|
||||
} else if (operation === 'upd') { |
|
||||
this.dialogRoleVisible = false |
|
||||
this.$message({ message: '更新成功', type: 'success' }) |
|
||||
// 替换路由中的参数 |
|
||||
this.$router.push({ |
|
||||
query: merge(this.$route.query, { 'jianyanrenyuan': this.ysjl.jianyanrenyuan }) |
|
||||
}) |
|
||||
} else { |
|
||||
// 生成pdf |
|
||||
this.common.viewYsjlNoOpen(this.ysjl.id, 'YSJL') |
|
||||
Utils.$emit('ysjl-list') |
|
||||
Utils.$emit('ysjl-yb-list') |
|
||||
Utils.$emit('bggl-daiban-list') |
|
||||
this.$message({ message: '生成报告成功', type: 'success' }) |
|
||||
this.common.delCurrentViews() |
|
||||
} |
|
||||
this.state = 'update' |
|
||||
}) |
|
||||
} |
|
||||
}) |
|
||||
} |
|
||||
}, |
|
||||
onRowClick(row) { |
|
||||
this.$refs.bgfyData.toggleRowSelection(row) |
|
||||
}, |
|
||||
/** |
|
||||
* 格式化监检员 |
|
||||
*/ |
|
||||
formatterJianjianyuan(row) { |
|
||||
if (row.jianjianyuan) { |
|
||||
if (typeof (row.jianjianyuan) === 'number') { |
|
||||
row.jianjianyuan = row.jianjianyuan.toString() |
|
||||
return this.common.convertCnName(row.jianjianyuan) |
|
||||
} |
|
||||
return row.jianjianyuan |
|
||||
} |
|
||||
}, |
|
||||
/** |
|
||||
* 是否可编辑 |
|
||||
* @param $index |
|
||||
* @returns {number} |
|
||||
*/ |
|
||||
showXmlb($index) { |
|
||||
return this.showXmlbIndexListSg.filter(xl => { |
|
||||
return xl.index === $index |
|
||||
}).length |
|
||||
}, |
|
||||
/** |
|
||||
* 根据索引找到对应的项目类别选项列表 |
|
||||
* @param $index |
|
||||
*/ |
|
||||
getXmlbList($index) { |
|
||||
for (let i = 0; i < this.showXmlbIndexListSg.length; i++) { |
|
||||
const xl = this.showXmlbIndexListSg[i] |
|
||||
if (xl.index === $index) { |
|
||||
return xl.xmlb === 'AB' ? this.xmlbListAB : xl.xmlb === 'AC' ? this.xmlbListAC : this.xmlbListBC |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
/** |
|
||||
* 检验项目批量签名 |
|
||||
*/ |
|
||||
Signjyxm() { |
|
||||
if (this.$refs.bgfyData.selection.length === 0) { |
|
||||
this.$message('请在列表选择要签名的数据。') |
|
||||
return |
|
||||
} |
|
||||
this.signShow = true |
|
||||
this.$refs.qmButton.dialogFormVisible = true |
|
||||
}, |
|
||||
/** |
|
||||
* 检验项目清除签名 |
|
||||
*/ |
|
||||
signClear: function() { |
|
||||
if (this.$refs.bgfyData.selection.length === 0) { |
|
||||
this.$message('请在列表选择要清除签名的数据。') |
|
||||
return |
|
||||
} |
|
||||
this.$refs.bgfyData.selection.forEach(row => { |
|
||||
row.jianjianyuan = null |
|
||||
}) |
|
||||
}, |
|
||||
batchUpdDate() { |
|
||||
if (this.$refs.bgfyData.selection.length === 0) { |
|
||||
this.$message('请在列表选择要修改日期的数据。') |
|
||||
return false |
|
||||
} |
|
||||
this.jyxmrqShow = true |
|
||||
}, |
|
||||
batchUpd() { |
|
||||
for (let i = 0; i < this.$refs.bgfyData.selection.length; i++) { |
|
||||
this.$refs.bgfyData.selection[i].querenriqi = this.querenriqi |
|
||||
} |
|
||||
this.jyxmrqShow = false |
|
||||
}, |
|
||||
changeJsl(val) { |
|
||||
if (val === '无此项.') { |
|
||||
this.$set(this.param, 'qita', val) |
|
||||
} else { |
|
||||
this.$set(this.param, 'qita', val ? (this.param.qita ? this.param.qita + '\n' : '') + val : '') |
|
||||
} |
|
||||
}, |
|
||||
/** |
|
||||
* 核价 |
|
||||
*/ |
|
||||
beforeHejia: function() { |
|
||||
// 锅炉制造费用四舍五入到个位 |
|
||||
this.ysjl.jianyanheding = Math.round((!this.param.zaojia || !this.param.bili) ? 0 : this.common.accMul(this.param.zaojia, this.param.bili / 100)) |
|
||||
}, |
|
||||
showDialogRoleVisible: function() { |
|
||||
// 重置表单所需数据 |
|
||||
this.renlingren.length = 0 |
|
||||
this.defaultRlr = this.ysjl.renlingren.split(',') |
|
||||
// 在可追加的人员列表中移除认领人中已有的人员 |
|
||||
this.defaultRlr.forEach(userId => { |
|
||||
for (let i = 0; i < this.userList.length; i++) { |
|
||||
if (String(this.userList[i].id) === userId) { |
|
||||
this.userList.splice(i, 1) |
|
||||
break |
|
||||
} |
|
||||
} |
|
||||
}) |
|
||||
this.dialogRoleVisible = true |
|
||||
}, |
|
||||
/** |
|
||||
* 追加认领人 |
|
||||
* 将默认(原)认领人拼接新加的认领人 |
|
||||
*/ |
|
||||
updateRenlingren: function() { |
|
||||
const rlr = this.defaultRlr.concat(this.renlingren) |
|
||||
this.ysjl.renlingren = rlr.join(',') |
|
||||
this.saveYsjl('upd') |
|
||||
}, |
|
||||
changXh: function(val) { |
|
||||
const xinghao = this.xinghaoList.filter(xh => xh.xinghao === val)[0] |
|
||||
this.$set(this.param, 'jiandingbaogaobianhao', (xinghao && xinghao.jiandingbaogaobianhao) || '') |
|
||||
}, |
|
||||
/** |
|
||||
* 修改检验项目关联的检验结果及确认日期为监检日期 |
|
||||
* @param $index 检验项目索引 |
|
||||
*/ |
|
||||
changeJyjg($index) { |
|
||||
// 检查结果为:外协,工作见证为:外协部件监检证书,确认日期为当前日期。检查结果为:无此项,工作见证为:—,确认日期为当前日期。 |
|
||||
const isWcx = this.bgfyData[$index].jianyanjieguo === '无此项' |
|
||||
const isWx = this.bgfyData[$index].jianyanjieguo === '外协' |
|
||||
if (isWcx) { |
|
||||
this.bgfyData[$index].gongzuojianzheng = '—' |
|
||||
} |
|
||||
if (isWx) { |
|
||||
this.bgfyData[$index].gongzuojianzheng = '外协部件监检证书' |
|
||||
} |
|
||||
if (isWcx || isWx) { |
|
||||
this.bgfyData[$index].querenriqi = this.formatter.dateFormat('YYYY-MM-dd') |
|
||||
} else { |
|
||||
this.bgfyData[$index].gongzuojianzheng = this.dicGzjz[$index].value |
|
||||
this.bgfyData[$index].querenriqi = this.ysjl.jianyanjieshuriqi |
|
||||
} |
|
||||
// 根据索引获取对应关联索引信息 |
|
||||
const jyxm = this.jyxmRelations.filter(jyxm => jyxm.index === $index)[0] |
|
||||
// 如果不存在关联信息,不进行任何操作 |
|
||||
if (!jyxm) { |
|
||||
return |
|
||||
} |
|
||||
// 遍历关联索引 |
|
||||
// 检查结果改变时,其子项的序号中的检查结果也及工作见证也要随着进行变化。 |
|
||||
jyxm.relationIds.forEach(index => { |
|
||||
this.bgfyData[index].jianyanjieguo = this.bgfyData[$index].jianyanjieguo |
|
||||
if (isWcx || isWx) { |
|
||||
this.bgfyData[index].gongzuojianzheng = this.bgfyData[$index].gongzuojianzheng |
|
||||
this.bgfyData[index].querenriqi = this.bgfyData[$index].querenriqi |
|
||||
} else { |
|
||||
this.bgfyData[index].gongzuojianzheng = this.dicGzjz[index].value |
|
||||
this.bgfyData[index].querenriqi = this.ysjl.jianyanjieshuriqi |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
/** |
|
||||
* 修改检验项目关联的确认日期 |
|
||||
* @param $index 检验项目索引 |
|
||||
*/ |
|
||||
changeQrrq: function($index) { |
|
||||
// 如果是清空当前确认日期,不进行任何操作 |
|
||||
if (!this.bgfyData[$index].querenriqi) { |
|
||||
return |
|
||||
} |
|
||||
// 根据索引获取对应关联索引信息 |
|
||||
const jyxm = this.jyxmRelations.filter(jyxm => jyxm.index === $index)[0] |
|
||||
// 如果不存在关联信息,不进行任何操作 |
|
||||
if (!jyxm) { |
|
||||
return |
|
||||
} |
|
||||
// 遍历关联索引 |
|
||||
jyxm.relationIds.forEach(index => { |
|
||||
// 如果当前确认日期为空,则将其同步关联的确认日期 |
|
||||
if (!this.bgfyData[index].querenriqi) { |
|
||||
this.bgfyData[index].querenriqi = this.bgfyData[$index].querenriqi |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
querySearchGzjz: function(queryString, cb, $index) { |
|
||||
cb([this.dicGzjz[$index]]) |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
<style scoped> |
|
||||
.el-tag { |
|
||||
margin: auto 5px; |
|
||||
} |
|
||||
|
|
||||
/* 表格边框样式 */ |
|
||||
>>> .el-table td, >>> .el-table th.is-leaf, .el-table--border, .el-table--group { |
|
||||
border-color: black; |
|
||||
} |
|
||||
|
|
||||
/* 多级表头样式 */ |
|
||||
>>> .el-table--border th,>>> .el-table--border th.gutter:last-of-type { |
|
||||
border-bottom: 1px solid black; |
|
||||
border-right: 1px solid black; |
|
||||
} |
|
||||
|
|
||||
/* 表格字体增亮色 */ |
|
||||
>>>.el-table--border::after, >>>.el-table--group::after, >>>.el-table::before { |
|
||||
background-color: black; |
|
||||
} |
|
||||
>>> .el-table thead,.el-table { |
|
||||
color: black; |
|
||||
} |
|
||||
</style> |
|
||||
<style lang="scss" scoped> |
|
||||
/*.el-table/deep/ td, .el-table/deep/ th.is-leaf,.el-table--border,.el-table--group{ |
|
||||
border-color: black; |
|
||||
}*/ |
|
||||
|
|
||||
.el-table { |
|
||||
/deep/tbody tr:hover>td { |
|
||||
background-color: oldlace; |
|
||||
} |
|
||||
} |
|
||||
</style> |
|
@ -1,49 +0,0 @@ |
|||||
<!--制造监检锅炉部件--> |
|
||||
<template> |
|
||||
<index type="fqg" :show-xmlb-index-list-sg.sync="showXmlbIndexListSg" :jyxm-relations.sync="jyxmRelations" /> |
|
||||
</template> |
|
||||
<script> |
|
||||
import Index from '@/views/ysjl/1000/zj/common' |
|
||||
|
|
||||
export default { |
|
||||
name: 'FqgYsjl', |
|
||||
components: { Index }, |
|
||||
data() { |
|
||||
return { |
|
||||
showXmlbIndexListSg: [], |
|
||||
jyxmRelations: [ |
|
||||
/* // 1 |
|
||||
{ index: 0, relationIds: [1, 2, 3, 4, 6, 7] }, |
|
||||
// 2 |
|
||||
{ index: 5, relationIds: [] }, |
|
||||
// 3 |
|
||||
{ index: 8, relationIds: [9] }, |
|
||||
// 4 |
|
||||
{ index: 10, relationIds: [] }, |
|
||||
// 5 |
|
||||
{ index: 11, relationIds: [] }, |
|
||||
// 6 |
|
||||
{ index: 12, relationIds: [13, 15] }, |
|
||||
// 7 |
|
||||
{ index: 14, relationIds: [16] }, |
|
||||
// 8 |
|
||||
{ index: 17, relationIds: [] }, |
|
||||
// 9 |
|
||||
{ index: 18, relationIds: [] }, |
|
||||
// 10 |
|
||||
{ index: 19, relationIds: [20, 21, 22, 23, 24, 25, 26, 27] }, |
|
||||
// 11 |
|
||||
{ index: 28, relationIds: [29, 30, 31, 32, 33, 34] }, |
|
||||
// 12 |
|
||||
{ index: 35, relationIds: [36, 37, 38, 39] }, |
|
||||
// 13 |
|
||||
{ index: 40, relationIds: [41, 42, 43, 44, 45] }, |
|
||||
// 14 |
|
||||
{ index: 46, relationIds: [47, 48] }, |
|
||||
// 15 |
|
||||
{ index: 49, relationIds: [50] }*/ |
|
||||
] |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
@ -1,52 +0,0 @@ |
|||||
<!--制造监检锅壳式锅炉--> |
|
||||
<template> |
|
||||
<index type="gks" :show-xmlb-index-list-sg.sync="showXmlbIndexListSg" :jyxm-relations.sync="jyxmRelations" /> |
|
||||
</template> |
|
||||
<script> |
|
||||
import Index from '@/views/ysjl/1000/zj/common' |
|
||||
|
|
||||
export default { |
|
||||
name: 'GlGksYsjl', |
|
||||
components: { Index }, |
|
||||
data() { |
|
||||
return { |
|
||||
showXmlbIndexListSg: [], |
|
||||
/** |
|
||||
* 格式为: [{ index: 0, relationIds: [1, 2] }] |
|
||||
*/ |
|
||||
jyxmRelations: [ |
|
||||
// 1 |
|
||||
{ index: 0, relationIds: [1, 2, 3, 4, 6, 7] }, |
|
||||
// 2 |
|
||||
{ index: 5, relationIds: [] }, |
|
||||
// 3 |
|
||||
{ index: 8, relationIds: [9] }, |
|
||||
// 4 |
|
||||
{ index: 10, relationIds: [] }, |
|
||||
// 5 |
|
||||
{ index: 11, relationIds: [] }, |
|
||||
// 6 |
|
||||
{ index: 12, relationIds: [15, 37] }, |
|
||||
// 7 |
|
||||
{ index: 13, relationIds: [] }, |
|
||||
// 8 |
|
||||
{ index: 14, relationIds: [16] }, |
|
||||
// 9 |
|
||||
{ index: 17, relationIds: [] }, |
|
||||
// 10 |
|
||||
{ index: 18, relationIds: [] }, |
|
||||
// 11 |
|
||||
{ index: 19, relationIds: [20, 21, 22, 23, 24, 25, 26] }, |
|
||||
// 12 |
|
||||
{ index: 27, relationIds: [28, 29, 30, 31] }, |
|
||||
// 13 |
|
||||
{ index: 32, relationIds: [33, 34] }, |
|
||||
// 14 |
|
||||
{ index: 35, relationIds: [36] }, |
|
||||
// 15 |
|
||||
{ index: 38, relationIds: [39, 40, 41, 42] } |
|
||||
] |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
@ -1,49 +0,0 @@ |
|||||
<!--制造监检锅炉部件--> |
|
||||
<template> |
|
||||
<index type="glbj" :show-xmlb-index-list-sg.sync="showXmlbIndexListSg" :jyxm-relations.sync="jyxmRelations" /> |
|
||||
</template> |
|
||||
<script> |
|
||||
import Index from '@/views/ysjl/1000/zj/common' |
|
||||
|
|
||||
export default { |
|
||||
name: 'GlbjYsjl', |
|
||||
components: { Index }, |
|
||||
data() { |
|
||||
return { |
|
||||
showXmlbIndexListSg: [], |
|
||||
jyxmRelations: [ |
|
||||
// 1 |
|
||||
{ index: 0, relationIds: [1, 2, 3, 4, 6, 7] }, |
|
||||
// 2 |
|
||||
{ index: 5, relationIds: [] }, |
|
||||
// 3 |
|
||||
{ index: 8, relationIds: [9] }, |
|
||||
// 4 |
|
||||
{ index: 10, relationIds: [] }, |
|
||||
// 5 |
|
||||
{ index: 11, relationIds: [] }, |
|
||||
// 6 |
|
||||
{ index: 12, relationIds: [13, 15] }, |
|
||||
// 7 |
|
||||
{ index: 14, relationIds: [16] }, |
|
||||
// 8 |
|
||||
{ index: 17, relationIds: [] }, |
|
||||
// 9 |
|
||||
{ index: 18, relationIds: [] }, |
|
||||
// 10 |
|
||||
{ index: 19, relationIds: [20, 21, 22, 23, 24, 25, 26, 27] }, |
|
||||
// 11 |
|
||||
{ index: 28, relationIds: [29, 30, 31, 32, 33, 34] }, |
|
||||
// 12 |
|
||||
{ index: 35, relationIds: [36, 37, 38, 39] }, |
|
||||
// 13 |
|
||||
{ index: 40, relationIds: [41, 42, 43, 44, 45] }, |
|
||||
// 14 |
|
||||
{ index: 46, relationIds: [47, 48] }, |
|
||||
// 15 |
|
||||
{ index: 49, relationIds: [50] } |
|
||||
] |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
@ -1,698 +0,0 @@ |
|||||
<!--螺旋翅片管--> |
|
||||
<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> |
|
||||
<template v-else> |
|
||||
<el-button type="primary" icon="el-icon-edit" size="medium" @click="saveYsjl('upd')"> |
|
||||
更新 |
|
||||
</el-button> |
|
||||
<el-button v-if="isSysUser" type="success" icon="el-icon-upload2" size="medium" @click="saveYsjl('build')"> |
|
||||
生成报告 |
|
||||
</el-button> |
|
||||
<el-button type="warning" icon="el-icon-view" size="medium" @click="common.viewYsjl(ysjl.id, 'YSJL')"> |
|
||||
预览 |
|
||||
</el-button> |
|
||||
</template> |
|
||||
<template v-if="isSysUser"> |
|
||||
<el-button type="primary" size="medium" @click="Signjyxm"> |
|
||||
<svg-icon icon-class="sign" /> |
|
||||
检验项目批量签名 |
|
||||
</el-button> |
|
||||
<el-button type="danger" icon="el-icon-delete" size="medium" @click="signClear"> |
|
||||
批量清除签名 |
|
||||
</el-button> |
|
||||
<el-button type="success" size="medium" icon="el-icon-edit" @click="batchUpdDate"> |
|
||||
批量修改日期 |
|
||||
</el-button> |
|
||||
<el-button v-if="notHasRole('GLQYD')" type="info" size="medium" icon="el-icon-info" @click="dialogEnclosureVisible = true"> |
|
||||
相关鉴证 |
|
||||
</el-button> |
|
||||
<el-button type="primary" size="medium" icon="el-icon-info" @click="showDialogRoleVisible"> |
|
||||
编辑权限 |
|
||||
</el-button> |
|
||||
</template> |
|
||||
</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="130px"> |
|
||||
<fieldset> |
|
||||
<legend>基本信息</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col v-if="state === 'create' || !ysjl.jilubianhao" :span="13"> |
|
||||
<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:80px" @blur="ysjlController.judgeRepeat(jlbh1 + jlbh2 + '-' + jlbh3, ysjl.id).then(data => { isRepeat = data })" /> |
|
||||
<el-input v-model="jlbh4" style="width:80px" disabled /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col v-else :span="9"> |
|
||||
<el-form-item label="监检编号" prop="jilubianhao"> |
|
||||
<el-input v-model="ysjl.jilubianhao" :disabled="edit" @blur="ysjlController.judgeRepeat(ysjl.jilubianhao, ysjl.id).then(data => { isRepeat = data })" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col v-show="isRepeat" :span="2"> |
|
||||
<span style="color:red">编号重复</span> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="产品编号" prop="chanpinbianhao"> |
|
||||
<el-input v-model="ysjl.chanpinbianhao" type="text" disabled /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="产品名称" prop="shebeimingcheng"> |
|
||||
<el-input v-model="ysjl.shebeimingcheng" type="text" disabled /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="产品规格" prop="guigexinghao"> |
|
||||
<el-input v-model="ysjl.guigexinghao" type="text" disabled /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="制造日期" prop="zhizaoriqi"> |
|
||||
<el-date-picker v-model="ysjl.zhizaoriqi" 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="zhizaodanwei"> |
|
||||
<el-input v-model="ysjl.zhizaodanwei" type="text" disabled /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>收费信息</legend> |
|
||||
<!-- 收费相关信息禁止在原始记录编辑 合同编号除外 --> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="合同编号" prop="hetongbianhao"> |
|
||||
<el-input v-model="param.hetongbianhao" type="text" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="合同金额" prop="zaojia"> |
|
||||
<el-input v-model="param.zaojia" type="text" disabled @input="beforeHejia" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="比例" prop="bili"> |
|
||||
<el-select v-model="param.bili" allow-create clearable filterable default-first-option style="width: 100%;" disabled @change="beforeHejia"> |
|
||||
<el-option v-for="item in biliOptions" :key="item" :label="item" :value="item" /> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验费用" prop="jianyanheding"> |
|
||||
<el-input v-model="ysjl.jianyanheding" type="text" disabled /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</fieldset> |
|
||||
<fieldset> |
|
||||
<legend>校验信息</legend> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="20" style="margin-left: 100px;height: 90px;font-size: 16px;"> |
|
||||
根据制造单位委托,该批产品经我单位检验,质量符合<el-input v-model="ysjl.jianyanyiju" style="width: 500px;" />的规定。 |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18" style="height: 120px;"> |
|
||||
<el-form-item label="所抽查的产品编号" prop="beizhu"> |
|
||||
<el-input v-model="ysjl.beizhu" type="textarea" :rows="4" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<template v-if="isSysUser"> |
|
||||
<el-row :gutter="20" style="margin-top: 20px;"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验日期" prop="jianyanjieshuriqi"> |
|
||||
<el-date-picker v-model="ysjl.jianyanjieshuriqi" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="10"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验人员" prop="jianyanrenyuan"> |
|
||||
<el-input v-model="jianyanrenyuan" disabled /> |
|
||||
<el-input v-show="false" v-model="ysjl.jianyanrenyuan" /> |
|
||||
</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-form class="el-form" label-position="right" label-width="130px" style="margin-top: 10px;"> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="18" :offset="6"> |
|
||||
<el-button size="small" type="primary" @click="changeJsl(' 由 外协生产,监检证号: 产品编号: 。锅炉范围内管道提供部分锅炉主蒸汽管道、锅炉主给水管道和管件,符合《市场监管总局办公厅关于电站锅炉范围内管道有关问题意见》(市监特设函(2019) -849号) 等文件的相关要求。')"> |
|
||||
外协 |
|
||||
</el-button> |
|
||||
<el-button size="small" type="warning" @click="changeJsl('无此项.')"> |
|
||||
无此项 |
|
||||
</el-button> |
|
||||
<el-button size="small" type="primary" @click="changeJsl('部件调台,详见该厂的调台计划.')"> |
|
||||
调台 |
|
||||
</el-button> |
|
||||
<el-button size="small" type="primary" @click="changeJsl('该锅炉为设计文件鉴定后制造的前三台锅炉。')"> |
|
||||
前三台 |
|
||||
</el-button> |
|
||||
<el-button size="small" type="danger" @click="changeJsl(undefined)"> |
|
||||
清空 |
|
||||
</el-button> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20" style="height: 100px;"> |
|
||||
<el-col :span="18"> |
|
||||
<el-form-item label="记事栏" prop="qita"> |
|
||||
<el-input v-model="param.qita" type="textarea" :rows="4" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
<el-row :gutter="20"> |
|
||||
<el-col :span="9"> |
|
||||
<el-form-item label="检验结论" prop="qita"> |
|
||||
<el-input v-model="ysjl.jianyanjielun" /> |
|
||||
</el-form-item> |
|
||||
</el-col> |
|
||||
</el-row> |
|
||||
</el-form> |
|
||||
<el-table ref="bgfyData" :data="bgfyData" :span-method="tableJs.mergeColRows" border stripe style="margin-top: 10px;width:90%" @row-click="onRowClick"> |
|
||||
<el-table-column type="selection" width="55" prop="checkbox" /> |
|
||||
<el-table-column type="index" align="center" width="50" label="序号" /> |
|
||||
<el-table-column align="center" label="监检项目"> |
|
||||
<el-table-column align="center" prop="jianyanxiang" label="检验项" /> |
|
||||
<el-table-column align="center" prop="jianyanmu" label="检验目" /> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="jianyanjieguo" label="检查结果"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-select v-model="scope.row.jianyanjieguo"> |
|
||||
<el-option v-for="item in jyjgList" :key="item" :label="item" :value="item" @change="changeJyjg(scope.$index)" /> |
|
||||
</el-select> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="gongzuojianzheng" label="工作见证"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-input v-model="scope.row.gongzuojianzheng" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
<el-table-column align="center" prop="jianjianyuan" width="150" label="监检员" /> |
|
||||
<el-table-column align="center" prop="querenriqi" width="160" label="日期"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-date-picker v-model="scope.row.querenriqi" type="date" format="yyyy.MM.dd" value-format="yyyy-MM-dd" :picker-options="pickerOptions" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
</el-tab-pane> |
|
||||
</el-tabs> |
|
||||
<el-dialog :visible.sync="jyxmrqShow" title="批量修改日期" width="500px" @close="jyxmrqShow = false"> |
|
||||
<template> |
|
||||
<el-date-picker v-model="querenriqi" type="date" format="yyyy.MM.dd" value-format="yyyy-MM-dd" :picker-options="pickerOptions" placeholder="选择日期" style="width: 100%;" /> |
|
||||
</template> |
|
||||
<span slot="footer" class="dialog-footer"> |
|
||||
<el-button @click="jyxmrqShow = false">取 消</el-button> |
|
||||
<el-button type="primary" @click="batchUpd">确 定</el-button> |
|
||||
</span> |
|
||||
</el-dialog> |
|
||||
<el-dialog title="查看相关鉴证" :modal-append-to-body="false" :visible.sync="dialogEnclosureVisible"> |
|
||||
<enclosure :relation-id="ysjl.renwuId" :if-liaison="false" :view-button="true" :is-show-hetong="isSysUser" /> |
|
||||
</el-dialog> |
|
||||
<el-dialog title="编辑权限" :visible.sync="dialogRoleVisible"> |
|
||||
<template> |
|
||||
<div class="tag-group"> |
|
||||
<span class="tag-group__title">已有权限人员:</span> |
|
||||
<el-tag v-for="item in defaultRlr" :key="item" effect="dark"> |
|
||||
{{ common.convertCnName(item) }} |
|
||||
</el-tag> |
|
||||
</div> |
|
||||
<el-select v-model="renlingren" multiple collapse-tags> |
|
||||
<el-option v-for="item in userList" :key="item.id" :label="item.nickname" :value="item.id" /> |
|
||||
</el-select> |
|
||||
</template> |
|
||||
<span slot="footer" class="dialog-footer"> |
|
||||
<el-button @click="dialogRoleVisible = false">取 消</el-button> |
|
||||
<el-button type="primary" @click="updateRenlingren">确 定</el-button> |
|
||||
</span> |
|
||||
</el-dialog> |
|
||||
<sign-name v-show="signShow" ref="qmButton" :ysjl="ysjl" :jianyanrenyuan="xmjianyanrenyuan" field-name="xmqianming" :custom-clear-sign="customClearSign" @setSignValue="signNameValue" /> |
|
||||
</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 Enclosure from '@/views/common/Enclosure' |
|
||||
|
|
||||
export default { |
|
||||
name: 'GlZjYsjl', |
|
||||
components: { SignName, Sticky, Enclosure }, |
|
||||
data() { |
|
||||
return { |
|
||||
ysjl: {}, |
|
||||
param: {}, |
|
||||
jlbh1: 'GJ', |
|
||||
jlbh2: '(' + new Date().getFullYear() + ')', |
|
||||
jlbh3: '', |
|
||||
jlbh4: '(X)', |
|
||||
isRepeat: false, |
|
||||
jianyanrenyuan: '', |
|
||||
departmentId: this.$route.query.departmentId, |
|
||||
edit: false, |
|
||||
state: this.$route.query.state, |
|
||||
bgfyData: [], |
|
||||
ysjlId: this.$route.query.id, |
|
||||
checkedTab: 'first', |
|
||||
xmlbListAB: ['A', 'B'], |
|
||||
xmlbListAC: ['A', 'C'], |
|
||||
xmlbListBC: ['B', 'C'], |
|
||||
cols: [ |
|
||||
{ |
|
||||
name: 'jianyanxiang', // 参与计算的列名,必须和el-table-column prop=''值一致 |
|
||||
getValue(row) { // 该列用于比较的值的获取方法 |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
} |
|
||||
], |
|
||||
rows: [ |
|
||||
{ |
|
||||
name: 'jianyanxiang', |
|
||||
getValue(row) { |
|
||||
return row.jianyanxiang |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianyanmu', |
|
||||
getValue(row) { |
|
||||
return row.jianyanmu |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
name: 'jianyanneirong', |
|
||||
getValue(row) { |
|
||||
return row.jianyanneirong |
|
||||
} |
|
||||
} |
|
||||
], |
|
||||
jyxmrqShow: false, |
|
||||
querenriqi: null, |
|
||||
signShow: false, |
|
||||
xmjianyanrenyuan: '', |
|
||||
xggcList: [], |
|
||||
biliOptions: ['0.4', '0.5', '0.6', '0.7', '0.8', '0.9', '1'], |
|
||||
dialogEnclosureVisible: false, |
|
||||
dialogRoleVisible: false, |
|
||||
userList: [], |
|
||||
defaultRlr: [], |
|
||||
renlingren: [], |
|
||||
jyjgList: ['符合', '无此项', '外协'], |
|
||||
isSysUser: this.$store.getters.clientType === 'System', |
|
||||
jyxmRelations: [], |
|
||||
pickerOptions: { |
|
||||
disabledDate(time) { |
|
||||
return time.getTime() > Date.now() |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
created() { |
|
||||
if (this.state === 'create') { |
|
||||
this.initYsjl() |
|
||||
} else { |
|
||||
this.getYsjl() |
|
||||
this.getParam() |
|
||||
} |
|
||||
this.getJyxm(1) |
|
||||
this.getDicData() |
|
||||
this.userList = this.$store.getters.allUser.filter(user => user.departmentId === 74 && user.clientType === 'System') |
|
||||
}, |
|
||||
methods: { |
|
||||
initYsjl() { |
|
||||
this.ysjlController.init(this.$route.query).then(data => { |
|
||||
this.ysjl = data.ysjl |
|
||||
this.param = data.param ? data.param : {} |
|
||||
this.ysjl.jianyanjieshuriqi = this.formatter.dateFormat('YYYY-MM-dd') |
|
||||
this.ysjl.jianyanjielun = '合格' |
|
||||
this.ysjl.baogaojielun = '符合' |
|
||||
this.ysjl.bglx = 1 |
|
||||
this.ysjl.cjState = 'ysjl' |
|
||||
this.ysjl.jlprintState = 0 |
|
||||
this.ysjl.jigouhezhunzhenghao = process.env.VUE_APP_HZZBH |
|
||||
this.ysjl.jianyanyiju = '设计图样和NB/T47030-2013 《锅炉用高频电阻焊螺旋翅片管技术条件》' |
|
||||
this.beforeHejia() |
|
||||
this.getZzdw() |
|
||||
}) |
|
||||
}, |
|
||||
getYsjl() { |
|
||||
this.ysjlController.getYsjl(this.ysjlId).then(data => { |
|
||||
this.ysjl = data.ysjl |
|
||||
this.ysjl.jianyanjielun = '符合' |
|
||||
if (this.ysjl.jianyanrenyuan !== null && this.ysjl.jianyanrenyuan.length > 0) { |
|
||||
this.jianyanrenyuan = this.common.convertCnName(this.ysjl.jianyanrenyuan) |
|
||||
} |
|
||||
this.ysjlController.judgeRepeat(this.ysjl.jilubianhao, this.ysjl.id).then(data => { |
|
||||
this.isRepeat = data |
|
||||
}) |
|
||||
}) |
|
||||
}, |
|
||||
getParam() { |
|
||||
this.ysjlController.getParam(this.ysjlId, '1000').then(data => { |
|
||||
this.param = data |
|
||||
}) |
|
||||
}, |
|
||||
getJyxm(sort) { |
|
||||
this.jyxmController.getJyxm(this.$route.query.modelId, this.ysjlId, sort, this.state).then(data => { |
|
||||
this.bgfyData = data |
|
||||
this.tableJs.getData(this.cols, this.rows, data) |
|
||||
}) |
|
||||
}, |
|
||||
getZzdw() { |
|
||||
this.api({ |
|
||||
url: '/dwxx/getById', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
id: this.ysjl.zzdwId |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.jlbh1 += data.zhizaodanweiCode |
|
||||
this.ysjl.zhizaoxukezhengjibie = data.zhizaoxukezhengjibie |
|
||||
this.ysjl.zhizaoxukezhengbianhao = data.zhizaoxukezhengbianhao |
|
||||
this.getMaxBh() |
|
||||
}) |
|
||||
}, |
|
||||
getDicData() { |
|
||||
this.api({ |
|
||||
url: '/dicData/getDicDataByTypeCode', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
typeCode: 'GL_ZZ_XGGC' |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.xggcList = data |
|
||||
}) |
|
||||
}, |
|
||||
// 查询最大记录编号 |
|
||||
getMaxBh() { |
|
||||
const aheadPart = this.jlbh1 + this.jlbh2 + '-' |
|
||||
this.api({ |
|
||||
url: '/ysjl/gainCurrentBh', |
|
||||
method: 'get', |
|
||||
params: { |
|
||||
aheadPart: aheadPart, |
|
||||
hinderPart: this.jlbh4 |
|
||||
} |
|
||||
}).then(data => { |
|
||||
this.jlbh3 = data |
|
||||
this.ysjlController.judgeRepeat(this.ysjl.jilubianhao, this.ysjl.id).then(data => { |
|
||||
this.isRepeat = data |
|
||||
}) |
|
||||
}) |
|
||||
}, |
|
||||
/** |
|
||||
* 签名方法 |
|
||||
* @param data |
|
||||
*/ |
|
||||
signNameValue(data) { |
|
||||
if (data.fieldName === 'xmqianming') { |
|
||||
for (let i = 0; i < this.$refs.bgfyData.selection.length; i++) { |
|
||||
const jianyanrenyuan = this.$refs.bgfyData.selection[i].jianjianyuan ? this.$refs.bgfyData.selection[i].jianjianyuan.split(',') : [] |
|
||||
if (!jianyanrenyuan.includes(data.name)) { |
|
||||
jianyanrenyuan.push(data.name) |
|
||||
this.$refs.bgfyData.selection[i].jianjianyuan = jianyanrenyuan.join(',') |
|
||||
} |
|
||||
} |
|
||||
} else { |
|
||||
const isNotHasJyry = !this.ysjl.jianyanrenyuan |
|
||||
this.ysjl.jianyanrenyuan = data.id |
|
||||
this.jianyanrenyuan = data.name |
|
||||
this.common.signName(this.ysjl.id, this.ysjl.jianyanrenyuan) |
|
||||
Utils.$emit('manufacture-list') |
|
||||
// 如果是第一检验员签名的话,需要给所有检验项目的检验人员追加当前检验人员 |
|
||||
if (isNotHasJyry && this.jianyanrenyuan && this.jianyanrenyuan.split(',').length === 1) { |
|
||||
this.bgfyData.forEach(jyxm => { |
|
||||
// 如果第一检验人员已在该检验项目签名的话,无需重复签名 |
|
||||
if (!jyxm.jianjianyuan.split(',').filter(jjr => jjr === this.jianyanrenyuan).length) { |
|
||||
if (jyxm.jianjianyuan) { |
|
||||
const jianjianyuan = jyxm.jianjianyuan.split(',') |
|
||||
jianjianyuan.push(this.jianyanrenyuan) |
|
||||
jyxm.jianjianyuan = jianjianyuan.join(',') |
|
||||
} else { |
|
||||
jyxm.jianjianyuan = this.jianyanrenyuan |
|
||||
} |
|
||||
} |
|
||||
}) |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
customClearSign(fieldName) { |
|
||||
if (fieldName === 'xmqianming') { |
|
||||
for (let i = 0; i < this.$refs.bgfyData.selection.length; i++) { |
|
||||
let jyry = this.$refs.bgfyData.selection[i].jianjianyuan || '' |
|
||||
jyry = this.common.deleteElement(jyry.split(','), String(this.$store.getters.nickname)).join(',') |
|
||||
} |
|
||||
} else { |
|
||||
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) |
|
||||
} |
|
||||
}, |
|
||||
saveYsjl(operation) { |
|
||||
const tableData = [[]] |
|
||||
this.bgfyData.forEach(row => { |
|
||||
tableData[0].push({ |
|
||||
id: row.id, |
|
||||
xiangmuleibie: row.xiangmuleibie ? row.xiangmuleibie : '', |
|
||||
jianyanjieguo: row.jianyanjieguo ? row.jianyanjieguo : '', |
|
||||
gongzuojianzheng: row.gongzuojianzheng ? row.gongzuojianzheng : '', |
|
||||
jianjianyuan: row.jianjianyuan ? row.jianjianyuan : '', |
|
||||
querenriqi: row.querenriqi ? row.querenriqi : '' |
|
||||
}) |
|
||||
}) |
|
||||
if (operation === 'add') { |
|
||||
this.ysjl.jilubianhao = this.jlbh1 + this.jlbh2 + '-' + this.jlbh3 + this.jlbh4 |
|
||||
this.save(operation, '/ysjl/saveYsjl', tableData) |
|
||||
} else if (operation === 'build') { |
|
||||
this.ysjl.baogaobianhao = this.ysjl.jilubianhao |
|
||||
if (this.ysjl.jilubianhao && this.ysjl.jilubianhao.indexOf('COPY') > -1) { |
|
||||
this.$message({ |
|
||||
type: 'error', |
|
||||
message: '请先修改报告编号,不允许携带COPY标志生成报告!' |
|
||||
}) |
|
||||
return false |
|
||||
} |
|
||||
if (this.ysjl.jianyanrenyuan === null || this.ysjl.jianyanrenyuan === '') { |
|
||||
this.$message({ |
|
||||
type: 'error', |
|
||||
message: '请先签名再生成报告!' |
|
||||
}) |
|
||||
return false |
|
||||
} |
|
||||
for (let i = 0; i < this.bgfyData.length; i++) { |
|
||||
if (!this.bgfyData[i].jianjianyuan || !this.bgfyData[i].querenriqi) { |
|
||||
this.$message.error('请将检验项目中的监检人员及监检日期填写完毕,再生成报告!') |
|
||||
return false |
|
||||
} |
|
||||
} |
|
||||
this.save(operation, '/ysjl/updateYsjl', tableData) |
|
||||
} else if (operation === 'upd') { |
|
||||
this.save(operation, '/ysjl/updateYsjl', tableData) |
|
||||
} |
|
||||
}, |
|
||||
save(operation, url, jyxm) { |
|
||||
// 判断报告编号是否重复 |
|
||||
if (this.isRepeat) { |
|
||||
this.$message({ message: '记录编号重复,请先修改记录编号再保存', type: 'error' }) |
|
||||
return false |
|
||||
} else { |
|
||||
this.$refs['ysjl'].validate(valid => { |
|
||||
if (valid) { |
|
||||
this.api({ |
|
||||
url: url, |
|
||||
method: 'post', |
|
||||
data: { |
|
||||
ysjl: this.ysjl, |
|
||||
param: this.param, |
|
||||
jyxm: JSON.stringify(jyxm), |
|
||||
flag: operation |
|
||||
} |
|
||||
}).then(data => { |
|
||||
Utils.$emit('ysjl-db-list') |
|
||||
// 刷新任务列表,原始记录待办,原始记录已办,检验报告 |
|
||||
if (operation === 'add') { |
|
||||
Utils.$emit('task-list') |
|
||||
this.ysjl.id = data |
|
||||
this.param.ysjlId = data |
|
||||
this.$message({ message: '保存成功', type: 'success' }) |
|
||||
// 刷新路由网址 |
|
||||
this.common.reloadViewToUpdateYsjl(this.ysjl) |
|
||||
} else if (operation === 'upd') { |
|
||||
this.$message({ message: '更新成功', type: 'success' }) |
|
||||
// 替换路由中的参数 |
|
||||
this.$router.push({ |
|
||||
query: merge(this.$route.query, { 'jianyanrenyuan': this.ysjl.jianyanrenyuan }) |
|
||||
}) |
|
||||
} else { |
|
||||
// 生成pdf |
|
||||
this.common.viewYsjlNoOpen(this.ysjl.id, 'YSJL') |
|
||||
Utils.$emit('ysjl-list') |
|
||||
Utils.$emit('ysjl-yb-list') |
|
||||
Utils.$emit('bggl-daiban-list') |
|
||||
this.$message({ message: '生成报告成功', type: 'success' }) |
|
||||
this.common.delCurrentViews() |
|
||||
} |
|
||||
this.state = 'update' |
|
||||
}) |
|
||||
} |
|
||||
}) |
|
||||
} |
|
||||
}, |
|
||||
onRowClick(row) { |
|
||||
this.$refs.bgfyData.toggleRowSelection(row) |
|
||||
}, |
|
||||
/** |
|
||||
* 格式化监检员 |
|
||||
*/ |
|
||||
formatterJianjianyuan(row) { |
|
||||
if (row.jianjianyuan) { |
|
||||
if (typeof (row.jianjianyuan) === 'number') { |
|
||||
row.jianjianyuan = row.jianjianyuan.toString() |
|
||||
} |
|
||||
return this.common.convertCnName(row.jianjianyuan) |
|
||||
} |
|
||||
}, |
|
||||
/** |
|
||||
* 检验项目批量签名 |
|
||||
*/ |
|
||||
Signjyxm() { |
|
||||
if (this.$refs.bgfyData.selection.length === 0) { |
|
||||
this.$message('请在列表选择要签名的数据。') |
|
||||
return |
|
||||
} |
|
||||
this.signShow = true |
|
||||
this.$refs.qmButton.dialogFormVisible = true |
|
||||
}, |
|
||||
/** |
|
||||
* 检验项目清除签名 |
|
||||
*/ |
|
||||
signClear: function() { |
|
||||
if (this.$refs.bgfyData.selection.length === 0) { |
|
||||
this.$message('请在列表选择要清除签名的数据。') |
|
||||
return |
|
||||
} |
|
||||
this.$refs.qmButton.clearSign() |
|
||||
}, |
|
||||
batchUpdDate() { |
|
||||
if (this.$refs.bgfyData.selection.length === 0) { |
|
||||
this.$message('请在列表选择要修改日期的数据。') |
|
||||
return false |
|
||||
} |
|
||||
this.jyxmrqShow = true |
|
||||
}, |
|
||||
batchUpd() { |
|
||||
for (let i = 0; i < this.$refs.bgfyData.selection.length; i++) { |
|
||||
this.$refs.bgfyData.selection[i].querenriqi = this.querenriqi |
|
||||
} |
|
||||
this.jyxmrqShow = false |
|
||||
}, |
|
||||
changeJsl(val) { |
|
||||
if (val === '无此项.') { |
|
||||
this.$set(this.param, 'qita', val) |
|
||||
} else { |
|
||||
this.$set(this.param, 'qita', val ? (this.param.qita ? this.param.qita + '\n' : '') + val : '') |
|
||||
} |
|
||||
}, |
|
||||
/** |
|
||||
* 核价 |
|
||||
*/ |
|
||||
beforeHejia: function() { |
|
||||
// 锅炉制造费用四舍五入到个位 |
|
||||
this.ysjl.jianyanheding = Math.round((!this.param.zaojia || !this.param.bili) ? 0 : this.common.accMul(this.param.zaojia, this.param.bili / 100)) |
|
||||
}, |
|
||||
showDialogRoleVisible: function() { |
|
||||
// 重置表单所需数据 |
|
||||
this.renlingren.length = 0 |
|
||||
this.defaultRlr = this.ysjl.renlingren.split(',') |
|
||||
// 在可追加的人员列表中移除认领人中已有的人员 |
|
||||
this.defaultRlr.forEach(userId => { |
|
||||
for (let i = 0; i < this.userList.length; i++) { |
|
||||
if (String(this.userList[i].id) === userId) { |
|
||||
this.userList.splice(i, 1) |
|
||||
break |
|
||||
} |
|
||||
} |
|
||||
}) |
|
||||
this.dialogRoleVisible = true |
|
||||
}, |
|
||||
/** |
|
||||
* 追加认领人 |
|
||||
* 最终认领人数据为:将默认(原)认领人拼接新加的认领人 |
|
||||
*/ |
|
||||
updateRenlingren: function() { |
|
||||
const rlr = this.defaultRlr.concat(this.renlingren) |
|
||||
this.ysjl.renlingren = rlr.join(',') |
|
||||
this.saveYsjl('upd') |
|
||||
}, |
|
||||
/** |
|
||||
* 修改检验结果为无此项时,确认日期默认为监检日期 |
|
||||
* @param $index 检验项目索引 |
|
||||
*/ |
|
||||
changeJyjg($index) { |
|
||||
if (this.bgfyData[$index].jianyanjieguo === '无此项') { |
|
||||
this.bgfyData[$index].querenriqi = this.ysjl.jianyanjieshuriqi |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
||||
<style scoped> |
|
||||
.el-tag { |
|
||||
margin: auto 5px; |
|
||||
} |
|
||||
|
|
||||
/* 表格边框样式 */ |
|
||||
>>> .el-table td, >>> .el-table th.is-leaf, .el-table--border, .el-table--group { |
|
||||
border-color: black; |
|
||||
} |
|
||||
|
|
||||
/* 多级表头样式 */ |
|
||||
>>> .el-table--border th,>>> .el-table--border th.gutter:last-of-type { |
|
||||
border-bottom: 1px solid black; |
|
||||
border-right: 1px solid black; |
|
||||
} |
|
||||
|
|
||||
/* 表格字体增亮色 */ |
|
||||
>>>.el-table--border::after, >>>.el-table--group::after, >>>.el-table::before { |
|
||||
background-color: black; |
|
||||
} |
|
||||
>>> .el-table thead,.el-table { |
|
||||
color: black; |
|
||||
} |
|
||||
</style> |
|
||||
<style lang="scss" scoped> |
|
||||
.el-table { |
|
||||
/deep/tbody tr:hover>td { |
|
||||
background-color: oldlace; |
|
||||
} |
|
||||
} |
|
||||
</style> |
|
@ -1,51 +0,0 @@ |
|||||
<!--制造监检水管式锅炉--> |
|
||||
<template> |
|
||||
<index type="sgs" :show-xmlb-index-list-sg.sync="showXmlbIndexListSg" :jyxm-relations.sync="jyxmRelations" /> |
|
||||
</template> |
|
||||
<script> |
|
||||
import Index from '@/views/ysjl/1000/zj/common' |
|
||||
|
|
||||
export default { |
|
||||
name: 'GlSgsYsjl', |
|
||||
components: { Index }, |
|
||||
data() { |
|
||||
return { |
|
||||
showXmlbIndexListSg: [], |
|
||||
jyxmRelations: [ |
|
||||
// 1 |
|
||||
{ index: 0, relationIds: [1, 2, 3, 4, 6, 7] }, |
|
||||
// 2 |
|
||||
{ index: 5, relationIds: [] }, |
|
||||
// 3 |
|
||||
{ index: 8, relationIds: [9] }, |
|
||||
// 4 |
|
||||
{ index: 10, relationIds: [] }, |
|
||||
// 5 |
|
||||
{ index: 11, relationIds: [] }, |
|
||||
// 6 |
|
||||
{ index: 12, relationIds: [15, 42] }, |
|
||||
// 7 |
|
||||
{ index: 13, relationIds: [] }, |
|
||||
// 8 |
|
||||
{ index: 14, relationIds: [16] }, |
|
||||
// 9 |
|
||||
{ index: 17, relationIds: [] }, |
|
||||
// 10 |
|
||||
{ index: 18, relationIds: [] }, |
|
||||
// 11 |
|
||||
{ index: 19, relationIds: [20, 21, 22, 23, 24, 25, 26] }, |
|
||||
// 12 |
|
||||
{ index: 27, relationIds: [28, 29, 30, 31] }, |
|
||||
// 13 |
|
||||
{ index: 32, relationIds: [33, 34] }, |
|
||||
// 14 |
|
||||
{ index: 35, relationIds: [36, 37, 38, 39] }, |
|
||||
// 15 |
|
||||
{ index: 40, relationIds: [41] }, |
|
||||
// 16 |
|
||||
{ index: 43, relationIds: [44, 45, 46, 47] } |
|
||||
] |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
@ -1,51 +0,0 @@ |
|||||
<!--制造监检散装锅炉--> |
|
||||
<template> |
|
||||
<index type="sz" :show-xmlb-index-list-sg.sync="showXmlbIndexListSg" :jyxm-relations.sync="jyxmRelations" /> |
|
||||
</template> |
|
||||
<script> |
|
||||
import Index from '@/views/ysjl/1000/zj/common' |
|
||||
|
|
||||
export default { |
|
||||
name: 'GlSzYsjl', |
|
||||
components: { Index }, |
|
||||
data() { |
|
||||
return { |
|
||||
showXmlbIndexListSg: [], |
|
||||
jyxmRelations: [ |
|
||||
// 1 |
|
||||
{ index: 0, relationIds: [1, 2, 3, 4, 6, 7] }, |
|
||||
// 2 |
|
||||
{ index: 5, relationIds: [] }, |
|
||||
// 3 |
|
||||
{ index: 8, relationIds: [9] }, |
|
||||
// 4 |
|
||||
{ index: 10, relationIds: [] }, |
|
||||
// 5 |
|
||||
{ index: 11, relationIds: [] }, |
|
||||
// 6 |
|
||||
{ index: 12, relationIds: [15] }, |
|
||||
// 7 |
|
||||
{ index: 13, relationIds: [] }, |
|
||||
// 8 |
|
||||
{ index: 14, relationIds: [16] }, |
|
||||
// 9 |
|
||||
{ index: 17, relationIds: [] }, |
|
||||
// 10 |
|
||||
{ index: 18, relationIds: [] }, |
|
||||
// 11 |
|
||||
{ index: 19, relationIds: [20, 21, 22, 23, 24, 25, 26, 27] }, |
|
||||
// 12 |
|
||||
{ index: 28, relationIds: [29, 30, 31, 32, 33, 34] }, |
|
||||
// 13 |
|
||||
{ index: 35, relationIds: [36, 37, 38, 39, 40] }, |
|
||||
// 14 |
|
||||
{ index: 41, relationIds: [42, 43, 44, 45, 46] }, |
|
||||
// 15 |
|
||||
{ index: 47, relationIds: [48, 49] }, |
|
||||
// 16 |
|
||||
{ index: 50, relationIds: [51, 52, 53, 54] } |
|
||||
] |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
@ -1,49 +0,0 @@ |
|||||
<!--制造监检有机热载体锅炉--> |
|
||||
<template> |
|
||||
<index type="yjrzt" :show-xmlb-index-list-sg.sync="showXmlbIndexListSg" :jyxm-relations.sync="jyxmRelations" /> |
|
||||
</template> |
|
||||
<script> |
|
||||
import Index from '@/views/ysjl/1000/zj/common' |
|
||||
|
|
||||
export default { |
|
||||
name: 'GlYjrztYsjl', |
|
||||
components: { Index }, |
|
||||
data() { |
|
||||
return { |
|
||||
showXmlbIndexListSg: [], |
|
||||
jyxmRelations: [ |
|
||||
// 1 |
|
||||
{ index: 0, relationIds: [1, 2, 3, 4, 6, 7] }, |
|
||||
// 2 |
|
||||
{ index: 5, relationIds: [] }, |
|
||||
// 3 |
|
||||
{ index: 8, relationIds: [9] }, |
|
||||
// 4 |
|
||||
{ index: 10, relationIds: [] }, |
|
||||
// 5 |
|
||||
{ index: 11, relationIds: [] }, |
|
||||
// 6 |
|
||||
{ index: 12, relationIds: [15, 42] }, |
|
||||
// 7 |
|
||||
{ index: 13, relationIds: [] }, |
|
||||
// 8 |
|
||||
{ index: 14, relationIds: [16] }, |
|
||||
// 9 |
|
||||
{ index: 17, relationIds: [] }, |
|
||||
// 10 |
|
||||
{ index: 18, relationIds: [] }, |
|
||||
// 11 |
|
||||
{ index: 19, relationIds: [20, 21, 22, 23, 24, 25, 26] }, |
|
||||
// 12 |
|
||||
{ index: 27, relationIds: [28, 29, 30, 31] }, |
|
||||
// 13 |
|
||||
{ index: 32, relationIds: [33, 34] }, |
|
||||
// 14 |
|
||||
{ index: 35, relationIds: [36] }, |
|
||||
// 15 |
|
||||
{ index: 38, relationIds: [39, 40, 41, 42] } |
|
||||
] |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
</script> |
|
Loading…
Reference in new issue