|
@@ -109,12 +109,21 @@
|
|
|
@click="handleExport"
|
|
|
v-hasPermi="['invoice:bookingworkticket:export']"
|
|
|
>导出</el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button
|
|
|
+ type="success"
|
|
|
+ icon="el-icon-copy-document"
|
|
|
+ size="mini"
|
|
|
+ @click="tickedStatis"
|
|
|
+ v-hasPermi="['ehs:jobticket:add']"
|
|
|
+ >作业票统计</el-button>
|
|
|
</el-col>
|
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="cancelQuery"></right-toolbar>
|
|
|
</el-row>
|
|
|
|
|
|
<el-table v-loading="loading" :data="bookingworkticketList" ref="multipleTable" class="table-fixed" :span-method="mergeMethod" @selection-change="handleSelectionChange" :height="clientHeight" border>
|
|
|
-
|
|
|
+ <el-table-column type="selection" width="55" align="center" :reserve-selection="true"/>
|
|
|
<el-table-column label="作业单位" align="center" prop="bookingworkticket.workUnit" width="80" :show-overflow-tooltip="true"/>
|
|
|
<el-table-column label="作业区域单元" align="center" prop="bookingworkticket.workArea" width="100" :show-overflow-tooltip="true"/>
|
|
|
<el-table-column label="楼层位置" align="center" prop="bookingworkticket.floorLocation" width="100" :formatter="floorLocationFormat"/>
|
|
@@ -295,7 +304,7 @@
|
|
|
<el-row>
|
|
|
<el-col :span="18">
|
|
|
<el-form-item label="作业内容描述" prop="workDescription" >
|
|
|
- <el-input v-model="ruleForm.workDescription"></el-input>
|
|
|
+ <el-input type="text" v-model="ruleForm.workDescription" ></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="3">
|
|
@@ -367,37 +376,6 @@
|
|
|
|
|
|
</el-dialog>
|
|
|
|
|
|
-
|
|
|
- <!-- 用户导入对话框 -->
|
|
|
- <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
|
|
|
- <el-upload
|
|
|
- ref="upload"
|
|
|
- :limit="1"
|
|
|
- accept=".xlsx, .xls"
|
|
|
- :headers="upload.headers"
|
|
|
- :action="upload.url + '?updateSupport=' + upload.updateSupport"
|
|
|
- :disabled="upload.isUploading"
|
|
|
- :on-progress="handleFileUploadProgress"
|
|
|
- :on-success="handleFileSuccess"
|
|
|
- :auto-upload="false"
|
|
|
- drag
|
|
|
- >
|
|
|
- <i class="el-icon-upload"></i>
|
|
|
- <div class="el-upload__text">
|
|
|
- 将文件拖到此处,或
|
|
|
- <em>点击上传</em>
|
|
|
- </div>
|
|
|
- <div class="el-upload__tip" slot="tip">
|
|
|
- <el-checkbox v-model="upload.updateSupport" />是否更新已经存在的用户数据
|
|
|
- <el-link type="info" style="font-size:12px" @click="importTemplate">下载模板</el-link>
|
|
|
- </div>
|
|
|
- <div class="el-upload__tip" style="color:red" slot="tip">提示:仅允许导入“xls”或“xlsx”格式文件!</div>
|
|
|
- </el-upload>
|
|
|
- <div slot="footer" class="dialog-footer">
|
|
|
- <el-button type="primary" @click="submitFileForm">确 定</el-button>
|
|
|
- <el-button @click="upload.open = false">取 消</el-button>
|
|
|
- </div>
|
|
|
- </el-dialog>
|
|
|
<el-dialog
|
|
|
title="关联票号"
|
|
|
:visible.sync="guanlianVisible"
|
|
@@ -421,6 +399,7 @@ import { listWorkcontent, getWorkcontent, delWorkcontent, addWorkcontent, update
|
|
|
import { listDevice, getDevice, delDevice, updateDevice, exportDevice, selectDevice} from "@/api/invoice/device";
|
|
|
import { listUnit, getUnit, delUnit, addUnit, updateUnit, exportUnit,getUserByUnit} from "@/api/invoice/unit";
|
|
|
import { listUser, getUser, delUser, addUser, updateUser, exportUser, resetUserPwd, changeUserStatus,userDataScope,getUserByUserName } from "@/api/system/user";
|
|
|
+import { listJobticket, getJobticket, delJobticket, addJobticket, updateJobticket, exportJobticket,batchAddJobticket } from "@/api/ehs/jobticket";
|
|
|
import { treeselect } from "@/api/system/dept";
|
|
|
import { getToken } from "@/utils/auth";
|
|
|
import Treeselect from "@riophae/vue-treeselect";
|
|
@@ -560,7 +539,7 @@ export default {
|
|
|
{ required: true, message: "用户单位不能为空", trigger: "blur" }
|
|
|
],
|
|
|
workType: [
|
|
|
- { required: true, message: "作业类型不能为空", trigger: "change" }
|
|
|
+ { required: true, message: "作业类型不能为空", trigger: "blur" }
|
|
|
],
|
|
|
workDescription: [
|
|
|
{ required: true, message: "作业内容不能为空", trigger: "change" }
|
|
@@ -614,6 +593,10 @@ export default {
|
|
|
|
|
|
},
|
|
|
methods: {
|
|
|
+ //作业票统计
|
|
|
+ tickedStatis(){
|
|
|
+ console.log(this.$refs.multipleTable.selection);
|
|
|
+ },
|
|
|
//根据用户单位 查询对应选择的用户主管 根据用户单位 字段 查找对应的多个主管 返回 Sysuser的集合(id,name)
|
|
|
checkCategoryPromotion(oneId){
|
|
|
|
|
@@ -926,8 +909,6 @@ export default {
|
|
|
}
|
|
|
this.ruleForm[j].workType=st1
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
this.ruleForm.length=response.data.tInvoiceWorkcontentList.length
|
|
|
});
|
|
|
},
|
|
@@ -1078,32 +1059,12 @@ export default {
|
|
|
|
|
|
this.msgSuccess("请求成功");
|
|
|
},
|
|
|
- /** 下载模板操作 */
|
|
|
- importTemplate() {
|
|
|
- importTemplate().then(response => {
|
|
|
- this.download(response.msg);
|
|
|
- });
|
|
|
- },
|
|
|
- // 文件上传中处理
|
|
|
- handleFileUploadProgress(event, file, fileList) {
|
|
|
- this.upload.isUploading = true;
|
|
|
- },
|
|
|
- // 文件上传成功处理
|
|
|
- handleFileSuccess(response, file, fileList) {
|
|
|
- this.upload.open = false;
|
|
|
- this.upload.isUploading = false;
|
|
|
- this.$refs.upload.clearFiles();
|
|
|
- this.$alert(response.msg, "导入结果", { dangerouslyUseHTMLString: true });
|
|
|
- this.getList();
|
|
|
- },
|
|
|
- // 提交上传文件
|
|
|
- submitFileForm() {
|
|
|
- this.$refs.upload.submit();
|
|
|
- },
|
|
|
+ //校验表单中作业内容是否重复
|
|
|
+
|
|
|
//合并单元格
|
|
|
mergeMethod({ row, column, rowIndex, columnIndex }) {
|
|
|
// console.log(row)
|
|
|
- if (columnIndex === 0) {
|
|
|
+ if (columnIndex === 1) {
|
|
|
const _row = this.setTable(this.bookingworkticketList).merge[rowIndex];
|
|
|
const _col = _row > 0 ? 1 : 0;
|
|
|
return {
|
|
@@ -1111,7 +1072,7 @@ export default {
|
|
|
colspan: _col
|
|
|
};
|
|
|
}
|
|
|
- if (columnIndex === 1) {
|
|
|
+ if (columnIndex === 2) {
|
|
|
const _row = this.setTable(this.bookingworkticketList).merge[rowIndex];
|
|
|
const _col = _row > 0 ? 1 : 0;
|
|
|
return {
|
|
@@ -1119,7 +1080,7 @@ export default {
|
|
|
colspan: _col
|
|
|
};
|
|
|
}
|
|
|
- if (columnIndex === 10) {
|
|
|
+ if (columnIndex === 11) {
|
|
|
const _row = this.setTable(this.bookingworkticketList).merge[rowIndex];
|
|
|
const _col = _row > 0 ? 1 : 0;
|
|
|
return {
|
|
@@ -1127,7 +1088,7 @@ export default {
|
|
|
colspan: _col
|
|
|
};
|
|
|
}
|
|
|
- if (columnIndex === 11) {
|
|
|
+ if (columnIndex === 12) {
|
|
|
const _row = this.setTable(this.bookingworkticketList).merge[rowIndex];
|
|
|
const _col = _row > 0 ? 1 : 0;
|
|
|
return {
|
|
@@ -1135,7 +1096,7 @@ export default {
|
|
|
colspan: _col
|
|
|
};
|
|
|
}
|
|
|
- if (columnIndex === 12) {
|
|
|
+ if (columnIndex === 13) {
|
|
|
const _row = this.setTable(this.bookingworkticketList).merge[rowIndex];
|
|
|
const _col = _row > 0 ? 1 : 0;
|
|
|
return {
|
|
@@ -1143,7 +1104,7 @@ export default {
|
|
|
colspan: _col
|
|
|
};
|
|
|
}
|
|
|
- if (columnIndex === 13) {
|
|
|
+ if (columnIndex === 14) {
|
|
|
const _row = this.setTable(this.bookingworkticketList).merge[rowIndex];
|
|
|
const _col = _row > 0 ? 1 : 0;
|
|
|
return {
|
|
@@ -1151,7 +1112,7 @@ export default {
|
|
|
colspan: _col
|
|
|
};
|
|
|
}
|
|
|
- if (columnIndex === 15) {
|
|
|
+ if (columnIndex === 16) {
|
|
|
const _row = this.setTable(this.bookingworkticketList).merge[rowIndex];
|
|
|
const _col = _row > 0 ? 1 : 0;
|
|
|
return {
|