|
@@ -11,7 +11,8 @@
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="作业区域" prop="workArea">
|
|
|
- <el-select v-model="queryParams.workArea" placeholder="请选择作业区域" clearable size="small" @change="handleQuery" filterable>
|
|
|
+ <el-select v-model="queryParams.workArea" placeholder="请选择作业区域" clearable size="small"
|
|
|
+ @change="handleQuery" filterable>
|
|
|
<el-option
|
|
|
v-for="dict in workAreaOptions"
|
|
|
:key="dict.id"
|
|
@@ -51,7 +52,8 @@
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="作业类型" prop="workType">
|
|
|
- <el-select v-model="queryParams.workType" placeholder="请选择作业类型" clearable size="small" @change="handleQuery" filterable>
|
|
|
+ <el-select v-model="queryParams.workType" placeholder="请选择作业类型" clearable size="small"
|
|
|
+ @change="handleQuery" filterable>
|
|
|
<el-option
|
|
|
v-for="dict in workTypeOptions"
|
|
|
:key="dict.dictValue"
|
|
@@ -158,7 +160,7 @@
|
|
|
:span-method="mergeMethod" @selection-change="handleSelectionChange" :height="clientHeight" border
|
|
|
use-virtual :row-key="row => { return row.id }"
|
|
|
showBodyOverflow="title"
|
|
|
- :data-changes-scroll-top =false
|
|
|
+ :data-changes-scroll-top=false
|
|
|
>
|
|
|
<u-table-column type="selection" width="55" align="center" :reserve-selection="true"/>
|
|
|
<u-table-column label="作业单位" align="center" prop="bookingworkticket.workUnit" width="80"
|
|
@@ -180,11 +182,15 @@
|
|
|
<el-tag v-else-if="scope.row.xpxp == 12" size="small" type="info">续票</el-tag>
|
|
|
</template>
|
|
|
</u-table-column>
|
|
|
- <u-table-column label="作业类型" align="center" prop="workType" width="120" :show-overflow-tooltip="true" :formatter="workTypeFormat"/>
|
|
|
+ <u-table-column label="作业类型" align="center" prop="workType" width="120" :show-overflow-tooltip="true"
|
|
|
+ :formatter="workTypeFormat"/>
|
|
|
|
|
|
- <u-table-column label="作业内容描述" align="center" prop="workDescription" width="160" :show-overflow-tooltip="true"/>
|
|
|
- <u-table-column label="作业人员数" align="center" prop="workPeopleNumber" width="70" :show-overflow-tooltip="true"/>
|
|
|
- <u-table-column label="预计作业时间" align="center" prop="estimateWorktime" width="70" :show-overflow-tooltip="true"/>
|
|
|
+ <u-table-column label="作业内容描述" align="center" prop="workDescription" width="160"
|
|
|
+ :show-overflow-tooltip="true"/>
|
|
|
+ <u-table-column label="作业人员数" align="center" prop="workPeopleNumber" width="70"
|
|
|
+ :show-overflow-tooltip="true"/>
|
|
|
+ <u-table-column label="预计作业时间" align="center" prop="estimateWorktime" width="70"
|
|
|
+ :show-overflow-tooltip="true"/>
|
|
|
<u-table-column label="联系人" align="center" prop="bookingworkticket.contact" width="80"
|
|
|
:show-overflow-tooltip="true"/>
|
|
|
<u-table-column label="联系方式" align="center" prop="bookingworkticket.phonenumber" width="100"
|
|
@@ -194,7 +200,7 @@
|
|
|
<span>{{ parseTime(scope.row.bookingworkticket.createdate, '{y}-{m}-{d}') }}</span>
|
|
|
</template>
|
|
|
</u-table-column>
|
|
|
- <u-table-column label="预约状态" align="center" prop="bookingworkticket.status" :formatter="statusFormat" />
|
|
|
+ <u-table-column label="预约状态" align="center" prop="bookingworkticket.status" :formatter="statusFormat"/>
|
|
|
<u-table-column label="票号" align="center" width="40" prop="reservationNumber">
|
|
|
<template slot-scope="scope">
|
|
|
<span> {{ scope.row.reservationNumber }}</span>
|
|
@@ -208,25 +214,115 @@
|
|
|
></el-button>
|
|
|
</template>
|
|
|
</u-table-column>
|
|
|
- <u-table-column label="危害工作许可证号" align="center" prop="whgzxkzh" width="100" :show-overflow-tooltip="true"/>
|
|
|
- <u-table-column label="动火作业许可证号" align="center" prop="dhzyxkzh" width="100" :show-overflow-tooltip="true"/>
|
|
|
+ <u-table-column label="危害工作许可证号" align="center" prop="whgzxkzh" width="100" :show-overflow-tooltip="true">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ v-if="scope.row.bookingworkticket.status== 3&&!scope.row.whgzxkzh&&itemInStr(scope.row.workType,[16,17,18,19,10])"
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-edit"
|
|
|
+ @click="takeWhTicket(scope.row)"
|
|
|
+ >开票
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ v-else-if="scope.row.bookingworkticket.status== 3&&itemInStr(scope.row.workType,[16,17,18,19,10])"
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ @click="updateWhTicket(scope.row.whgzxkzh)"
|
|
|
+ >{{ scope.row.whgzxkzh }}
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </u-table-column>
|
|
|
+ <u-table-column label="动火作业许可证号" align="center" prop="dhzyxkzh" width="100"
|
|
|
+ :show-overflow-tooltip="true">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ v-if="scope.row.bookingworkticket.status== 3&&!scope.row.dhzyxkzh&&itemInStr(scope.row.workType,[1,2,3])"
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-edit"
|
|
|
+ @click="takeDhTicket(scope.row)"
|
|
|
+ >开票
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ v-else-if="scope.row.bookingworkticket.status== 3&&itemInStr(scope.row.workType,[1,2,3])"
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ @click="updateDhTicket(scope.row.dhzyxkzh)"
|
|
|
+ >{{ scope.row.dhzyxkzh }}
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </u-table-column>
|
|
|
<u-table-column label="火票级别" align="center" prop="hpjb" width="50" :formatter="hpjbFormat"/>
|
|
|
- <u-table-column label="限制空间许可证号" align="center" prop="xzkjxkzh" width="100" :show-overflow-tooltip="true"/>
|
|
|
- <u-table-column label="盲板作业许可证号" align="center" prop="mbzyxkzh" width="100" :show-overflow-tooltip="true"/>
|
|
|
- <u-table-column label="高处作业许可证号" align="center" prop="gczyxkzh" width="100" :show-overflow-tooltip="true"/>
|
|
|
+ <u-table-column label="限制空间许可证号" align="center" prop="xzkjxkzh" width="100"
|
|
|
+ :show-overflow-tooltip="true">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ v-if="scope.row.bookingworkticket.status== 3&&!scope.row.xzkjxkzh&&itemInStr(scope.row.workType,[15])"
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-edit"
|
|
|
+ @click=""
|
|
|
+ >开票
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ v-else-if="scope.row.bookingworkticket.status== 3&&itemInStr(scope.row.workType,[15])"
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ @click=""
|
|
|
+ >{{ scope.row.xzkjxkzh }}
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </u-table-column>
|
|
|
+ <u-table-column label="盲板作业许可证号" align="center" prop="mbzyxkzh" width="100"
|
|
|
+ :show-overflow-tooltip="true">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ v-if="scope.row.bookingworkticket.status== 3&&!scope.row.mbzyxkzh&&itemInStr(scope.row.workType,[11])"
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-edit"
|
|
|
+ @click=""
|
|
|
+ >开票
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ v-else-if="scope.row.bookingworkticket.status== 3&&itemInStr(scope.row.workType,[11])"
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ @click=""
|
|
|
+ >{{ scope.row.mbzyxkzh }}
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </u-table-column>
|
|
|
+ <u-table-column label="高处作业许可证号" align="center" prop="gczyxkzh" width="100"
|
|
|
+ :show-overflow-tooltip="true">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ v-if="scope.row.bookingworkticket.status== 3&&!scope.row.gczyxkzh&&itemInStr(scope.row.workType,[5,6,7,8])"
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-edit"
|
|
|
+ @click=""
|
|
|
+ >开票
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ v-else-if="scope.row.bookingworkticket.status== 3&&itemInStr(scope.row.workType,[5,6,7,8])"
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ @click=""
|
|
|
+ >{{ scope.row.gczyxkzh }}
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </u-table-column>
|
|
|
<u-table-column label="高处作业级别" align="center" prop="gczyjb" width="50" :formatter="gczyjbFormat"/>
|
|
|
<u-table-column label="延期许可证号" align="center" prop="yqxkzh" width="100" :show-overflow-tooltip="true"/>
|
|
|
<u-table-column label="票盒" align="center" prop="tag" width="60" :show-overflow-tooltip="true"/>
|
|
|
<u-table-column label="开票" align="center" fixed="right" width="90">
|
|
|
<template slot-scope="scope">
|
|
|
<el-tag v-if="scope.row.addStatus == 1" size="small" type="success">已开票</el-tag>
|
|
|
- <el-button
|
|
|
- v-else-if="scope.row.bookingworkticket.status== 3"
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- @click="tickedStatis(scope.row)"
|
|
|
- > <span>开票</span>
|
|
|
- </el-button>
|
|
|
+
|
|
|
+ <el-tag v-else-if="scope.row.bookingworkticket.status== 3" size="small" type="info">未开票</el-tag>
|
|
|
+
|
|
|
</template>
|
|
|
|
|
|
</u-table-column>
|
|
@@ -237,7 +333,7 @@
|
|
|
size="mini"
|
|
|
type="text"
|
|
|
@click="handleXp(scope.row)"
|
|
|
- > <span>续票预约</span>
|
|
|
+ ><span>续票预约</span>
|
|
|
</el-button>
|
|
|
</template>
|
|
|
</u-table-column>
|
|
@@ -262,8 +358,11 @@
|
|
|
|
|
|
<!-- </template>-->
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button @click="handleCancel(scope.row)" v-if="scope.row.bookingworkticket.status== 3" type="text" size="small" style="margin-right: 6px">作废</el-button>
|
|
|
- <el-dropdown v-if="scope.row.bookingworkticket.status== 3 && scope.row.xpxp == 10" size="mini" @command="(command) => handleCommand(command, scope.row)">
|
|
|
+ <el-button @click="handleCancel(scope.row)" v-if="scope.row.bookingworkticket.status== 3" type="text"
|
|
|
+ size="small" style="margin-right: 6px">作废
|
|
|
+ </el-button>
|
|
|
+ <el-dropdown v-if="scope.row.bookingworkticket.status== 3 && scope.row.xpxp == 10" size="mini"
|
|
|
+ @command="(command) => handleCommand(command, scope.row)">
|
|
|
<span class="el-dropdown-link">
|
|
|
<el-button
|
|
|
type="text"
|
|
@@ -272,7 +371,7 @@
|
|
|
</span>
|
|
|
<el-dropdown-menu slot="dropdown">
|
|
|
<el-dropdown-item command="billSee">票据预览</el-dropdown-item>
|
|
|
- <el-dropdown-item command="handleDownload" >下载申请单</el-dropdown-item>
|
|
|
+ <el-dropdown-item command="handleDownload">下载申请单</el-dropdown-item>
|
|
|
</el-dropdown-menu>
|
|
|
</el-dropdown>
|
|
|
</template>
|
|
@@ -289,7 +388,8 @@
|
|
|
/>
|
|
|
|
|
|
<!-- 添加或修改预约作业票台账对话框 -->
|
|
|
- <el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" width="1200px" append-to-bod :before-close="cancel">
|
|
|
+ <el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" width="1200px" append-to-bod
|
|
|
+ :before-close="cancel">
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
|
<el-row>
|
|
|
<el-col :span="8">
|
|
@@ -391,10 +491,12 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="3">
|
|
|
- <el-button type="success" plain @click.prevent="addDomain(ruleForm)" style="float: right;">拷贝</el-button>
|
|
|
+ <el-button type="success" plain @click.prevent="addDomain(ruleForm)" style="float: right;">拷贝
|
|
|
+ </el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="3">
|
|
|
- <el-button type="info" plain @click.prevent="removeDomain(ruleForm)" style="float: right;">删除</el-button>
|
|
|
+ <el-button type="info" plain @click.prevent="removeDomain(ruleForm)" style="float: right;">删除
|
|
|
+ </el-button>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row>
|
|
@@ -413,12 +515,13 @@
|
|
|
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="作业人数" prop="workPeopleNumber">
|
|
|
- <el-input-number v-model="ruleForm.workPeopleNumber" :min="1" :max="999" ></el-input-number>
|
|
|
+ <el-input-number v-model="ruleForm.workPeopleNumber" :min="1" :max="999"></el-input-number>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="预计作业时间" prop="estimateWorktime">
|
|
|
- <el-input-number v-model="ruleForm.estimateWorktime" :min="1" :max="999" ></el-input-number>H
|
|
|
+ <el-input-number v-model="ruleForm.estimateWorktime" :min="1" :max="999"></el-input-number>
|
|
|
+ H
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -433,7 +536,8 @@
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
<!-- 报告附件对话框 -->
|
|
|
- <el-dialog :close-on-click-modal="false" v-loading="loadingFlash" element-loading-background="rgba(0,0,0,0.2)" v-dialogDrag :title="pdf.title"
|
|
|
+ <el-dialog :close-on-click-modal="false" v-loading="loadingFlash" element-loading-background="rgba(0,0,0,0.2)"
|
|
|
+ v-dialogDrag :title="pdf.title"
|
|
|
:visible.sync="pdf.open" width="1300px" height="800px" :center="true" append-to-body>
|
|
|
<div style="margin-top: -60px;float: right;margin-right: 40px;">
|
|
|
<el-button size="mini" type="text" @click="openPdf">新页面预览</el-button>
|
|
@@ -580,7 +684,7 @@ import {getToken} from "@/utils/auth";
|
|
|
import Treeselect from "@riophae/vue-treeselect";
|
|
|
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
|
|
import AddApprove from "../approveinvoice/index"
|
|
|
-import {addInvoice} from "@/api/invoice/invoice";
|
|
|
+import {addInvoice, getInfoByInvoiceId, getInvoice} from "@/api/invoice/invoice";
|
|
|
import base from "@/assets/js/base";
|
|
|
|
|
|
export default {
|
|
@@ -760,10 +864,10 @@ export default {
|
|
|
},
|
|
|
licenseRules: {
|
|
|
hpjb: [
|
|
|
- { validator: checkHpjb, trigger: 'blur' }
|
|
|
+ {validator: checkHpjb, trigger: 'blur'}
|
|
|
],
|
|
|
gczyjb: [
|
|
|
- { validator: checkGczyjb, trigger: 'blur' }
|
|
|
+ {validator: checkGczyjb, trigger: 'blur'}
|
|
|
],
|
|
|
tag: [
|
|
|
{required: true, message: "票盒不能为空", trigger: "blur"}
|
|
@@ -818,6 +922,54 @@ export default {
|
|
|
|
|
|
},
|
|
|
methods: {
|
|
|
+ itemInStr(str,arr){
|
|
|
+ for (let i = 0; i < arr.length; i++) {
|
|
|
+ if(str.indexOf(arr[i].toString())>-1){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ },
|
|
|
+ updateWhTicket(aId) {
|
|
|
+ if (aId != null) {
|
|
|
+ this.$router.push({
|
|
|
+ path: '/ticket/hazardwork',
|
|
|
+ query: {
|
|
|
+ aId: aId
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ takeWhTicket(row) {
|
|
|
+ console.log('1111---', row)
|
|
|
+ let routeData = this.$router.resolve({
|
|
|
+ path: "/hazard",
|
|
|
+ query: {
|
|
|
+ data: JSON.stringify(row),
|
|
|
+ }
|
|
|
+ });
|
|
|
+ window.open(routeData.href, '_blank');
|
|
|
+ },
|
|
|
+ updateDhTicket(hId) {
|
|
|
+ if (hId != null) {
|
|
|
+ this.$router.push({
|
|
|
+ path: '/ticket/firework',
|
|
|
+ query: {
|
|
|
+ hId: hId
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ takeDhTicket(row) {
|
|
|
+ console.log('1111---', row)
|
|
|
+ let routeData = this.$router.resolve({
|
|
|
+ path: "/firework",
|
|
|
+ query: {
|
|
|
+ data: JSON.stringify(row),
|
|
|
+ }
|
|
|
+ });
|
|
|
+ window.open(routeData.href, '_blank');
|
|
|
+ },
|
|
|
// 自定义校验重复数据规则
|
|
|
checkSame(rule, value, callback) {
|
|
|
// rule 对应使用bargainMoney自定义验证的 对象
|
|
@@ -850,8 +1002,8 @@ export default {
|
|
|
var rows = this.dataListSelections.map(item => {
|
|
|
return item
|
|
|
})
|
|
|
- let putData = row? [row] : rows
|
|
|
- for (let i = 0; i <putData.length ; i++) {
|
|
|
+ let putData = row ? [row] : rows
|
|
|
+ for (let i = 0; i < putData.length; i++) {
|
|
|
if (putData[i].bookingworkticket.status != 3) {
|
|
|
this.$alert(this.$t('只能提交状态为已完成的预约票'), this.$t('提示'), {
|
|
|
type: 'warning'
|
|
@@ -1016,7 +1168,7 @@ export default {
|
|
|
let oldParams = JSON.stringify(this.queryParams)
|
|
|
listBookingworkticket(this.queryParams).then(response => {
|
|
|
//解决防止出现结果和搜索不一致的问题
|
|
|
- if (oldParams != JSON.stringify(this.queryParams)){
|
|
|
+ if (oldParams != JSON.stringify(this.queryParams)) {
|
|
|
this.loading = false;
|
|
|
return
|
|
|
}
|
|
@@ -1108,7 +1260,7 @@ export default {
|
|
|
userUnit: null
|
|
|
};
|
|
|
this.resetForm("form");
|
|
|
- this.userMgOptions=[];
|
|
|
+ this.userMgOptions = [];
|
|
|
},
|
|
|
/** 搜索按钮操作 */
|
|
|
handleQuery() {
|
|
@@ -1347,7 +1499,7 @@ export default {
|
|
|
// 预约续票
|
|
|
handleXp(row) {
|
|
|
this.xpForm = base.deepClone(row)
|
|
|
- if(!this.xpForm.yqxkzh) {
|
|
|
+ if (!this.xpForm.yqxkzh) {
|
|
|
this.xpForm.yqxkzh = 'V'
|
|
|
}
|
|
|
this.xpVisible = true
|
|
@@ -1534,10 +1686,10 @@ export default {
|
|
|
}
|
|
|
|
|
|
},
|
|
|
- handleCommand(command,row) {
|
|
|
+ handleCommand(command, row) {
|
|
|
if (command == 'billSee') {
|
|
|
this.billSee(row)
|
|
|
- }else if (command == 'handleDownload') {
|
|
|
+ } else if (command == 'handleDownload') {
|
|
|
this.handleDownload(row)
|
|
|
}
|
|
|
},
|