|
@@ -1,60 +1,79 @@
|
|
|
<template>
|
|
|
<div class="mainContentBox">
|
|
|
<avue-crud
|
|
|
- ref="crudRef"
|
|
|
- v-model:search="search"
|
|
|
- v-model="form"
|
|
|
- :data="data"
|
|
|
- :option="option"
|
|
|
- v-model:page="page"
|
|
|
- @row-save="createRow"
|
|
|
- @row-update="updateRow"
|
|
|
- @row-del="deleteRow"
|
|
|
- @search-change="searchChange"
|
|
|
- @search-reset="resetChange"
|
|
|
- @size-change="dataList"
|
|
|
- @current-change="dataList"
|
|
|
- @selection-change="selectionChange1"
|
|
|
+ ref="crudRef"
|
|
|
+ v-model:search="search"
|
|
|
+ v-model="form"
|
|
|
+ :data="data"
|
|
|
+ :option="option"
|
|
|
+ v-model:page="page"
|
|
|
+ @row-save="createRow"
|
|
|
+ @row-update="updateRow"
|
|
|
+ @row-del="deleteRow"
|
|
|
+ @search-change="searchChange"
|
|
|
+ @search-reset="resetChange"
|
|
|
+ @size-change="dataList"
|
|
|
+ @current-change="dataList"
|
|
|
+ @selection-change="selectionChange1"
|
|
|
>
|
|
|
- <template #menu="{size,row,index}">
|
|
|
- <el-button @click="deleteTep(row.id)" text type="primary" v-if ="info.workOrderState === '1' || info.workOrderState === '2' || info.workOrderState === '0'"
|
|
|
- >删除</el-button
|
|
|
+ <template #menu="{ size, row, index }">
|
|
|
+ <el-button
|
|
|
+ @click="deleteTep(row.id)"
|
|
|
+ text
|
|
|
+ type="primary"
|
|
|
+ v-if="
|
|
|
+ taskForm.info.workOrderState === '1' ||
|
|
|
+ taskForm.info.workOrderState === '2' ||
|
|
|
+ taskForm.info.workOrderState === '0'
|
|
|
+ "
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
+ <el-button type="primary" text @click="showExcelDialog(row)"
|
|
|
+ ><i-ep-view />查看</el-button
|
|
|
>
|
|
|
</template>
|
|
|
<template #menu-left="{}">
|
|
|
<el-button
|
|
|
- v-if ="info.workOrderState === '1' || info.workOrderState === '2' || info.workOrderState === '0'"
|
|
|
+ v-if="
|
|
|
+ taskForm.info.workOrderState === '1' ||
|
|
|
+ taskForm.info.workOrderState === '2' ||
|
|
|
+ taskForm.info.workOrderState === '0'
|
|
|
+ "
|
|
|
type="primary"
|
|
|
icon="el-icon-plus"
|
|
|
@click="addObj"
|
|
|
- >新增</el-button>
|
|
|
+ >新增</el-button
|
|
|
+ >
|
|
|
</template>
|
|
|
-
|
|
|
</avue-crud>
|
|
|
<el-dialog
|
|
|
- v-model="editDialog.visible"
|
|
|
- :title="editDialog.title"
|
|
|
- width="650px"
|
|
|
- @close="handleClose"
|
|
|
+ v-model="editDialog.visible"
|
|
|
+ :title="editDialog.title"
|
|
|
+ width="650px"
|
|
|
+ @close="handleClose"
|
|
|
>
|
|
|
<el-form
|
|
|
- ref="taskFormRef"
|
|
|
- status-icon
|
|
|
- :model="taskForm"
|
|
|
- :rules="rules"
|
|
|
- label-width="auto"
|
|
|
- class="demo-ruleForm">
|
|
|
+ ref="taskFormRef"
|
|
|
+ status-icon
|
|
|
+ :model="taskForm"
|
|
|
+ :rules="rules"
|
|
|
+ label-width="auto"
|
|
|
+ class="demo-ruleForm"
|
|
|
+ >
|
|
|
<el-form-item label="任务名称" prop="formName">
|
|
|
- <el-input v-model="taskForm.formName">
|
|
|
- </el-input>
|
|
|
+ <el-input v-model="taskForm.formName" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="Excel模板" prop="baseFormIds">
|
|
|
- <el-select v-model="taskForm.baseFormIds" multiple placeholder="Select">
|
|
|
+ <el-select
|
|
|
+ v-model="taskForm.baseFormIds"
|
|
|
+ multiple
|
|
|
+ placeholder="Select"
|
|
|
+ >
|
|
|
<el-option
|
|
|
- v-for="item in options"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
+ v-for="item in options"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -66,13 +85,31 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-dialog>
|
|
|
+ <el-dialog
|
|
|
+ v-model="excelDialogVisible"
|
|
|
+ title="查看表单"
|
|
|
+ :append-to-body="true"
|
|
|
+ :destroy-on-close="true"
|
|
|
+ width="70%"
|
|
|
+ height="80%"
|
|
|
+ @close="excelDialogVisible = true"
|
|
|
+ >
|
|
|
+ <TaskExcel v-if="excelDialogVisible" :data="excelData" />
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script setup>
|
|
|
-import {defineProps, ref} from "vue";
|
|
|
-import { getForm, add, deleteTemp } from "@/api/excel";
|
|
|
+import { defineProps, ref } from "vue";
|
|
|
+import {
|
|
|
+ getForm,
|
|
|
+ add,
|
|
|
+ deleteTemp,
|
|
|
+ getExcelDataByWorkOrderid,
|
|
|
+} from "@/api/excel";
|
|
|
+import TaskExcel from "@/views/plan/workOrder/components/taskExcel.vue";
|
|
|
+import { ElMessage } from "element-plus";
|
|
|
import { useCrud } from "@/hooks/userCrud";
|
|
|
-import { useCommonStoreHook,useDictionaryStore } from "@/store";
|
|
|
+import { useCommonStoreHook, useDictionaryStore } from "@/store";
|
|
|
const { isShowTable, tableType } = toRefs(useCommonStoreHook());
|
|
|
const toPrintRef = ref(null);
|
|
|
const options = ref([]);
|
|
@@ -84,8 +121,7 @@ const taskFormRef = ref();
|
|
|
const taskForm = ref({
|
|
|
formName: "",
|
|
|
baseFormIds: "",
|
|
|
- workOrderId: ""
|
|
|
-
|
|
|
+ workOrderId: "",
|
|
|
});
|
|
|
const rules = reactive({
|
|
|
formName: [{ required: true, trigger: "blur" }],
|
|
@@ -93,15 +129,15 @@ const rules = reactive({
|
|
|
});
|
|
|
const editDialog = ref({ visible: false, title: "绑定模版" });
|
|
|
const value1 = ref([]);
|
|
|
-const info = ref({})
|
|
|
+const info = ref({});
|
|
|
const props = defineProps({
|
|
|
workOrderInfo: {
|
|
|
type: Object,
|
|
|
default: () => {
|
|
|
return null;
|
|
|
- }
|
|
|
- }
|
|
|
-})
|
|
|
+ },
|
|
|
+ },
|
|
|
+});
|
|
|
const handleClose = () => {
|
|
|
editDialog.value.visible = false;
|
|
|
value1.value = [];
|
|
@@ -110,18 +146,18 @@ const dialog = reactive({
|
|
|
title: "二维码打印",
|
|
|
visible: false,
|
|
|
});
|
|
|
-const clickObjs = ref([])
|
|
|
-const selectionChange1 =(row)=>{
|
|
|
+const clickObjs = ref([]);
|
|
|
+const selectionChange1 = (row) => {
|
|
|
toDeleteIds.value = [];
|
|
|
row?.forEach((element) => {
|
|
|
toDeleteIds.value.push(element.id);
|
|
|
});
|
|
|
- clickObjs.value = row
|
|
|
-}
|
|
|
+ clickObjs.value = row;
|
|
|
+};
|
|
|
const crudRef = ref(null); //crudRef.value 获取avue-crud对象
|
|
|
-const addObj =()=>{
|
|
|
- editDialog.value.visible = true
|
|
|
-}
|
|
|
+const addObj = () => {
|
|
|
+ editDialog.value.visible = true;
|
|
|
+};
|
|
|
const deleteTep = async (id) => {
|
|
|
const { data, code } = await deleteTemp({
|
|
|
id,
|
|
@@ -135,17 +171,17 @@ const deleteTep = async (id) => {
|
|
|
const onSelected = () => {
|
|
|
taskFormRef.value.validate((valid) => {
|
|
|
if (valid) {
|
|
|
- add(taskForm.value).then((data)=>{
|
|
|
+ add(taskForm.value).then((data) => {
|
|
|
if (data.code == "200") {
|
|
|
ElMessage.success("添加成功!");
|
|
|
dataList();
|
|
|
handleClose();
|
|
|
- taskForm.value.baseFormIds = []
|
|
|
- taskForm.value.formName = ''
|
|
|
- }else{
|
|
|
+ taskForm.value.baseFormIds = [];
|
|
|
+ taskForm.value.formName = "";
|
|
|
+ } else {
|
|
|
ElMessage.error(data.msg);
|
|
|
}
|
|
|
- })
|
|
|
+ });
|
|
|
}
|
|
|
});
|
|
|
};
|
|
@@ -154,7 +190,7 @@ const getTemplate = async () => {
|
|
|
const { data } = await getForm({
|
|
|
pageNo: 1,
|
|
|
pageSize: 9999999,
|
|
|
- queryCheck: true
|
|
|
+ queryCheck: true,
|
|
|
});
|
|
|
options.value = [];
|
|
|
data.records.forEach((element) => {
|
|
@@ -165,25 +201,26 @@ const getTemplate = async () => {
|
|
|
});
|
|
|
};
|
|
|
watch(
|
|
|
- () => props.workOrderInfo,
|
|
|
- () => {
|
|
|
- taskForm.value.workOrderId = props.workOrderInfo.id
|
|
|
- form.value.workOrderId = props.workOrderInfo.id
|
|
|
- search.value.workOrderId = props.workOrderInfo.id
|
|
|
- dataList();
|
|
|
- }
|
|
|
+ () => props.workOrderInfo,
|
|
|
+ () => {
|
|
|
+ taskForm.value.info = props.workOrderInfo;
|
|
|
+ taskForm.value.workOrderId = props.workOrderInfo.id;
|
|
|
+ form.value.workOrderId = props.workOrderInfo.id;
|
|
|
+ search.value.workOrderId = props.workOrderInfo.id;
|
|
|
+ dataList();
|
|
|
+ }
|
|
|
);
|
|
|
// 传入一个url,后面不带/
|
|
|
const { form, data, option, search, page, toDeleteIds, Methords, Utils } =
|
|
|
useCrud({
|
|
|
src: "/api/v1/opExcelForm",
|
|
|
});
|
|
|
-const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } = Methords; //增删改查
|
|
|
+const { dataList, createRow, updateRow, deleteRow, searchChange, resetChange } =
|
|
|
+ Methords; //增删改查
|
|
|
const { selectionChange, multipleDelete } = Methords; //选中和批量删除事件
|
|
|
const { checkBtnPerm, downloadTemplate, exportData } = Utils; //按钮权限等工具
|
|
|
const { dicts } = useDictionaryStore();
|
|
|
|
|
|
-
|
|
|
// 设置表格列或者其他自定义的option
|
|
|
option.value = Object.assign(option.value, {
|
|
|
delBtn: false,
|
|
@@ -226,10 +263,24 @@ option.value = Object.assign(option.value, {
|
|
|
});
|
|
|
|
|
|
onMounted(() => {
|
|
|
- taskForm.value.workOrderId = props.workOrderInfo.id
|
|
|
- form.value.workOrderId = props.workOrderInfo.id
|
|
|
- search.value.workOrderId = props.workOrderInfo.id
|
|
|
+ taskForm.value.info = props.workOrderInfo;
|
|
|
+ taskForm.value.workOrderId = props.workOrderInfo.id;
|
|
|
+ form.value.workOrderId = props.workOrderInfo.id;
|
|
|
+ search.value.workOrderId = props.workOrderInfo.id;
|
|
|
dataList();
|
|
|
- getTemplate()
|
|
|
+ getTemplate();
|
|
|
});
|
|
|
+
|
|
|
+// 查看excel相关
|
|
|
+const excelDialogVisible = ref(false);
|
|
|
+const showExcelDialog = async (row) => {
|
|
|
+ ElMessage({
|
|
|
+ message: "正在获取数据,请稍后...",
|
|
|
+ });
|
|
|
+ let res = await getExcelDataByWorkOrderid(row.workOrderId, row.id);
|
|
|
+ excelData.value = res.data;
|
|
|
+
|
|
|
+ excelDialogVisible.value = true;
|
|
|
+};
|
|
|
+const excelData = ref(null);
|
|
|
</script>
|