|
@@ -1,85 +1,92 @@
|
|
|
<template>
|
|
|
-
|
|
|
<div class="mainContentBox">
|
|
|
<el-container>
|
|
|
- <el-aside width="200px" style="min-height: 800px; max-height: calc(100vh - 200px);overflow-y:hidden">
|
|
|
- <avue-tree :option="treeOption"
|
|
|
- :data="treeData"
|
|
|
- v-model="formTree"
|
|
|
- @node-click="nodeClick"
|
|
|
- @save="save"
|
|
|
- @update="updateRow"
|
|
|
- @del="delRow"
|
|
|
- ></avue-tree>
|
|
|
- </el-aside>
|
|
|
- <el-main>
|
|
|
- <avue-crud
|
|
|
- ref="crudRef"
|
|
|
- :option="option"
|
|
|
- v-model:page="page"
|
|
|
- v-model:search="search"
|
|
|
- v-model="form"
|
|
|
- :table-loading="loading"
|
|
|
- :permission="permission"
|
|
|
- @search-change="handleQuery"
|
|
|
- @search-reset="resetChange"
|
|
|
- @size-change="handleQuery"
|
|
|
- @current-change="handleQuery"
|
|
|
- @row-save="rowSave"
|
|
|
- @row-update="rowUpdate"
|
|
|
- @row-del="rowDel"
|
|
|
- :data="pageData"
|
|
|
- >
|
|
|
- <!-- <template #menu-left="{ size }">
|
|
|
+ <el-aside
|
|
|
+ width="200px"
|
|
|
+ style="
|
|
|
+ min-height: 800px;
|
|
|
+ max-height: calc(100vh - 200px);
|
|
|
+ overflow-y: hidden;
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <avue-tree
|
|
|
+ :option="treeOption"
|
|
|
+ :data="treeData"
|
|
|
+ v-model="formTree"
|
|
|
+ @node-click="nodeClick"
|
|
|
+ @save="save"
|
|
|
+ @update="updateRow"
|
|
|
+ @del="delRow"
|
|
|
+ ></avue-tree>
|
|
|
+ </el-aside>
|
|
|
+ <el-main>
|
|
|
+ <avue-crud
|
|
|
+ ref="crudRef"
|
|
|
+ :option="option"
|
|
|
+ v-model:page="page"
|
|
|
+ v-model:search="search"
|
|
|
+ v-model="form"
|
|
|
+ :table-loading="loading"
|
|
|
+ :permission="permission"
|
|
|
+ @search-change="handleQuery"
|
|
|
+ @search-reset="resetChange"
|
|
|
+ @size-change="handleQuery"
|
|
|
+ @current-change="handleQuery"
|
|
|
+ @row-save="rowSave"
|
|
|
+ @row-update="rowUpdate"
|
|
|
+ @row-del="rowDel"
|
|
|
+ :data="pageData"
|
|
|
+ >
|
|
|
+ <!-- <template #menu-left="{ size }">
|
|
|
<el-button type="primary" @click="scan">扫码导入</el-button>
|
|
|
<el-button type="primary" @click="test">测试数据</el-button>
|
|
|
</template>-->
|
|
|
- <template #menu-left="{ size }">
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- icon="el-icon-plus"
|
|
|
- :size="size"
|
|
|
- @click="rowAdd"
|
|
|
- >新增</el-button
|
|
|
- >
|
|
|
- </template>
|
|
|
- <template #menu-right="{}">
|
|
|
- <el-dropdown split-button v-hasPerm="['plan:order:import']"
|
|
|
- >导入
|
|
|
- <template #dropdown>
|
|
|
- <el-dropdown-menu>
|
|
|
- <el-dropdown-item @click="downloadTemplate">
|
|
|
- <i-ep-download />下载模板
|
|
|
- </el-dropdown-item>
|
|
|
- <el-dropdown-item @click="openDialog('obj-import')">
|
|
|
- <i-ep-top />导入数据
|
|
|
- </el-dropdown-item>
|
|
|
- </el-dropdown-menu>
|
|
|
+ <template #menu-left="{ size }">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ icon="el-icon-plus"
|
|
|
+ :size="size"
|
|
|
+ @click="rowAdd"
|
|
|
+ >新增</el-button
|
|
|
+ >
|
|
|
</template>
|
|
|
- </el-dropdown>
|
|
|
- <el-button
|
|
|
- class="ml-3"
|
|
|
- v-hasPerm="['plan:order:export']"
|
|
|
- @click="handleExport"
|
|
|
- >
|
|
|
- <template #icon> <i-ep-download /> </template>导出
|
|
|
- </el-button>
|
|
|
- </template>
|
|
|
- <template #menu="{ size, row, index }">
|
|
|
- <el-button
|
|
|
- v-hasPerm="[buttonPermission.PLAN.BTNS.order_edit]"
|
|
|
- v-if="
|
|
|
- row.orderState === '0' ||
|
|
|
- row.orderState === '1' ||
|
|
|
- row.orderState === '2'
|
|
|
- "
|
|
|
- type="primary"
|
|
|
- link
|
|
|
- size="small"
|
|
|
- @click="handleEdit(row, 0)"
|
|
|
- ><i-ep-edit />编辑
|
|
|
- </el-button>
|
|
|
- <!-- <el-button
|
|
|
+ <template #menu-right="{}">
|
|
|
+ <el-dropdown split-button v-hasPerm="['plan:order:import']"
|
|
|
+ >导入
|
|
|
+ <template #dropdown>
|
|
|
+ <el-dropdown-menu>
|
|
|
+ <el-dropdown-item @click="downloadTemplate">
|
|
|
+ <i-ep-download />下载模板
|
|
|
+ </el-dropdown-item>
|
|
|
+ <el-dropdown-item @click="openDialog('obj-import')">
|
|
|
+ <i-ep-top />导入数据
|
|
|
+ </el-dropdown-item>
|
|
|
+ </el-dropdown-menu>
|
|
|
+ </template>
|
|
|
+ </el-dropdown>
|
|
|
+ <el-button
|
|
|
+ class="ml-3"
|
|
|
+ v-hasPerm="['plan:order:export']"
|
|
|
+ @click="handleExport"
|
|
|
+ >
|
|
|
+ <template #icon> <i-ep-download /> </template>导出
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ <template #menu="{ size, row, index }">
|
|
|
+ <el-button
|
|
|
+ v-hasPerm="[buttonPermission.PLAN.BTNS.order_edit]"
|
|
|
+ v-if="
|
|
|
+ row.orderState === '0' ||
|
|
|
+ row.orderState === '1' ||
|
|
|
+ row.orderState === '2'
|
|
|
+ "
|
|
|
+ type="primary"
|
|
|
+ link
|
|
|
+ size="small"
|
|
|
+ @click="handleEdit(row, 0)"
|
|
|
+ ><i-ep-edit />编辑
|
|
|
+ </el-button>
|
|
|
+ <!-- <el-button
|
|
|
v-if="row.nameplated === 1"
|
|
|
type="info"
|
|
|
link
|
|
@@ -87,161 +94,161 @@
|
|
|
@click="handleNameplated(row)"
|
|
|
><i-ep-edit />铭牌
|
|
|
</el-button>-->
|
|
|
- <el-button
|
|
|
- v-hasPerm="[buttonPermission.PLAN.BTNS.order_del]"
|
|
|
- v-if="
|
|
|
- row.orderState === '0' ||
|
|
|
- row.orderState === '1' ||
|
|
|
- row.orderState === '2'
|
|
|
- "
|
|
|
- type="danger"
|
|
|
- link
|
|
|
- size="small"
|
|
|
- @click="rowDel(row, 0)"
|
|
|
- ><i-ep-edit />删除
|
|
|
- </el-button>
|
|
|
- <!-- <el-button
|
|
|
+ <el-button
|
|
|
+ v-hasPerm="[buttonPermission.PLAN.BTNS.order_del]"
|
|
|
+ v-if="
|
|
|
+ row.orderState === '0' ||
|
|
|
+ row.orderState === '1' ||
|
|
|
+ row.orderState === '2'
|
|
|
+ "
|
|
|
+ type="danger"
|
|
|
+ link
|
|
|
+ size="small"
|
|
|
+ @click="rowDel(row, 0)"
|
|
|
+ ><i-ep-edit />删除
|
|
|
+ </el-button>
|
|
|
+ <!-- <el-button
|
|
|
type="primary"
|
|
|
size="small"
|
|
|
v-if="row.orderState == '5'"
|
|
|
@click="handleScanCode(row.id)"
|
|
|
>二维码生成
|
|
|
</el-button>-->
|
|
|
- </template>
|
|
|
- </avue-crud>
|
|
|
- <el-dialog
|
|
|
- v-model="dialog1.visible"
|
|
|
- :title="dialog1.title"
|
|
|
- width="950px"
|
|
|
- @close="dialog1.visible = false"
|
|
|
- >
|
|
|
- <choice-item-page @material-info="materialInfo" />
|
|
|
- </el-dialog>
|
|
|
- <el-dialog
|
|
|
- v-model="dialog.visible"
|
|
|
- :title="dialog.title"
|
|
|
- width="500px"
|
|
|
- @close="closeDialog"
|
|
|
- >
|
|
|
- <el-form
|
|
|
- v-if="dialog.type === 'obj-import'"
|
|
|
- :model="importData"
|
|
|
- label-width="100px"
|
|
|
- >
|
|
|
- <el-form-item label="Excel文件">
|
|
|
- <el-upload
|
|
|
- ref="uploadRef"
|
|
|
- action=""
|
|
|
- drag
|
|
|
- accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
|
|
|
- :limit="1"
|
|
|
- :auto-upload="false"
|
|
|
- :file-list="importData.fileList"
|
|
|
- :on-change="handleFileChange"
|
|
|
- :on-exceed="handleFileExceed"
|
|
|
+ </template>
|
|
|
+ </avue-crud>
|
|
|
+ <el-dialog
|
|
|
+ v-model="dialog1.visible"
|
|
|
+ :title="dialog1.title"
|
|
|
+ width="950px"
|
|
|
+ @close="dialog1.visible = false"
|
|
|
+ >
|
|
|
+ <choice-item-page @material-info="materialInfo" />
|
|
|
+ </el-dialog>
|
|
|
+ <el-dialog
|
|
|
+ v-model="dialog.visible"
|
|
|
+ :title="dialog.title"
|
|
|
+ width="500px"
|
|
|
+ @close="closeDialog"
|
|
|
+ >
|
|
|
+ <el-form
|
|
|
+ v-if="dialog.type === 'obj-import'"
|
|
|
+ :model="importData"
|
|
|
+ label-width="100px"
|
|
|
>
|
|
|
- <el-icon class="el-icon--upload">
|
|
|
- <i-ep-upload-filled />
|
|
|
- </el-icon>
|
|
|
- <div class="el-upload__text">
|
|
|
- 将文件拖到此处,或
|
|
|
- <em>点击上传</em>
|
|
|
- </div>
|
|
|
- <template #tip>
|
|
|
- <div style="color: red">文件类型: xls/xlsx</div>
|
|
|
- </template>
|
|
|
- </el-upload>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <!-- 弹窗底部操作按钮 -->
|
|
|
- <template #footer>
|
|
|
- <div class="dialog-footer">
|
|
|
- <el-button type="primary" @click="handleSubmit">确 定</el-button>
|
|
|
- <el-button @click="closeDialog">取 消</el-button>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-dialog>
|
|
|
- <el-dialog
|
|
|
- v-model="dialog2.visible"
|
|
|
- :title="dialog2.title"
|
|
|
- width="950px"
|
|
|
- @close="
|
|
|
- dialog2.visible = false;
|
|
|
- scanArray = [];
|
|
|
- scanCpArray = [];
|
|
|
- "
|
|
|
- >
|
|
|
- <el-input
|
|
|
- @keyup.enter="scanFnc"
|
|
|
- v-model="scanCode"
|
|
|
- style="padding: 20px"
|
|
|
- placeholder="请扫码"
|
|
|
- />
|
|
|
-
|
|
|
- <div class="scanInfo">
|
|
|
- <el-scrollbar class="scrollbar">
|
|
|
- <div class="item" v-for="(item, index) in scanArray" :key="index">
|
|
|
- <div class="text">扫码Cp: {{ item.cp }}</div>
|
|
|
- <div @click="deleteItem(index)" class="text">
|
|
|
- <el-icon><Delete /></el-icon>
|
|
|
+ <el-form-item label="Excel文件">
|
|
|
+ <el-upload
|
|
|
+ ref="uploadRef"
|
|
|
+ action=""
|
|
|
+ drag
|
|
|
+ accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
|
|
|
+ :limit="1"
|
|
|
+ :auto-upload="false"
|
|
|
+ :file-list="importData.fileList"
|
|
|
+ :on-change="handleFileChange"
|
|
|
+ :on-exceed="handleFileExceed"
|
|
|
+ >
|
|
|
+ <el-icon class="el-icon--upload">
|
|
|
+ <i-ep-upload-filled />
|
|
|
+ </el-icon>
|
|
|
+ <div class="el-upload__text">
|
|
|
+ 将文件拖到此处,或
|
|
|
+ <em>点击上传</em>
|
|
|
+ </div>
|
|
|
+ <template #tip>
|
|
|
+ <div style="color: red">文件类型: xls/xlsx</div>
|
|
|
+ </template>
|
|
|
+ </el-upload>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <!-- 弹窗底部操作按钮 -->
|
|
|
+ <template #footer>
|
|
|
+ <div class="dialog-footer">
|
|
|
+ <el-button type="primary" @click="handleSubmit">确 定</el-button>
|
|
|
+ <el-button @click="closeDialog">取 消</el-button>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div v-if="scanArray.length < 1">暂无数据</div>
|
|
|
- </el-scrollbar>
|
|
|
- <div class="bottombtn">
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- :disabled="scanArray.length < 1"
|
|
|
- @click="scanSubmit"
|
|
|
- >生 成</el-button
|
|
|
- >
|
|
|
- </div>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
+ <el-dialog
|
|
|
+ v-model="dialog2.visible"
|
|
|
+ :title="dialog2.title"
|
|
|
+ width="950px"
|
|
|
+ @close="
|
|
|
+ dialog2.visible = false;
|
|
|
+ scanArray = [];
|
|
|
+ scanCpArray = [];
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ @keyup.enter="scanFnc"
|
|
|
+ v-model="scanCode"
|
|
|
+ style="padding: 20px"
|
|
|
+ placeholder="请扫码"
|
|
|
+ />
|
|
|
|
|
|
- <!-- <vue-qrcode value="1241421gaga" size="45" error-level="H" /> -->
|
|
|
- </div>
|
|
|
- </el-dialog>
|
|
|
- <el-dialog
|
|
|
- v-model="dialog3.visible"
|
|
|
- :title="dialog3.title"
|
|
|
- width="950px"
|
|
|
- @close="
|
|
|
- dialog3.visible = false;
|
|
|
- scanCodeArray = [];
|
|
|
- "
|
|
|
- >
|
|
|
- <div class="scanInfo">
|
|
|
- <div style="padding: 0 20px; text-align: center">
|
|
|
- 二维码数量:{{ scanCodeArray.length }}
|
|
|
- </div>
|
|
|
- <el-scrollbar class="scrollbarA">
|
|
|
- <div
|
|
|
- class="box"
|
|
|
- :style="
|
|
|
- scanCodeArray.length == 1 ? ' justify-content: center;' : ''
|
|
|
- "
|
|
|
- >
|
|
|
- <div
|
|
|
- class="scancodeitem"
|
|
|
- v-for="(item, index) in scanCodeArray"
|
|
|
- :key="index"
|
|
|
- >
|
|
|
- <div class="qrcodeItem">
|
|
|
- <vue-qrcode :value="item" size="70" error-level="low" />
|
|
|
+ <div class="scanInfo">
|
|
|
+ <el-scrollbar class="scrollbar">
|
|
|
+ <div class="item" v-for="(item, index) in scanArray" :key="index">
|
|
|
+ <div class="text">扫码Cp: {{ item.cp }}</div>
|
|
|
+ <div @click="deleteItem(index)" class="text">
|
|
|
+ <el-icon><Delete /></el-icon>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
+ <div v-if="scanArray.length < 1">暂无数据</div>
|
|
|
+ </el-scrollbar>
|
|
|
+ <div class="bottombtn">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ :disabled="scanArray.length < 1"
|
|
|
+ @click="scanSubmit"
|
|
|
+ >生 成</el-button
|
|
|
+ >
|
|
|
</div>
|
|
|
+
|
|
|
+ <!-- <vue-qrcode value="1241421gaga" size="45" error-level="H" /> -->
|
|
|
</div>
|
|
|
+ </el-dialog>
|
|
|
+ <el-dialog
|
|
|
+ v-model="dialog3.visible"
|
|
|
+ :title="dialog3.title"
|
|
|
+ width="950px"
|
|
|
+ @close="
|
|
|
+ dialog3.visible = false;
|
|
|
+ scanCodeArray = [];
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <div class="scanInfo">
|
|
|
+ <div style="padding: 0 20px; text-align: center">
|
|
|
+ 二维码数量:{{ scanCodeArray.length }}
|
|
|
+ </div>
|
|
|
+ <el-scrollbar class="scrollbarA">
|
|
|
+ <div
|
|
|
+ class="box"
|
|
|
+ :style="
|
|
|
+ scanCodeArray.length == 1 ? ' justify-content: center;' : ''
|
|
|
+ "
|
|
|
+ >
|
|
|
+ <div
|
|
|
+ class="scancodeitem"
|
|
|
+ v-for="(item, index) in scanCodeArray"
|
|
|
+ :key="index"
|
|
|
+ >
|
|
|
+ <div class="qrcodeItem">
|
|
|
+ <vue-qrcode :value="item" size="70" error-level="low" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
|
|
|
- <div v-if="scanCodeArray.length < 1">暂无数据</div>
|
|
|
- </el-scrollbar>
|
|
|
- </div>
|
|
|
- </el-dialog>
|
|
|
- <CommonTable
|
|
|
- ref="ctableRef"
|
|
|
- tableTitle="报故单"
|
|
|
- tableType="FAULT"
|
|
|
- @selected-sure="onSelectedFinish"
|
|
|
- />
|
|
|
- </el-main>
|
|
|
+ <div v-if="scanCodeArray.length < 1">暂无数据</div>
|
|
|
+ </el-scrollbar>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+ <CommonTable
|
|
|
+ ref="ctableRef"
|
|
|
+ tableTitle="报故单"
|
|
|
+ tableType="FAULT"
|
|
|
+ @selected-sure="onSelectedFinish"
|
|
|
+ />
|
|
|
+ </el-main>
|
|
|
</el-container>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -262,17 +269,20 @@ import {
|
|
|
getExpandAlias,
|
|
|
scanImport,
|
|
|
getScanCode,
|
|
|
- getTestCode, orderLevelList, addOrderLevel, levelList, updateOrderLevel, delOrderLevel,
|
|
|
+ getTestCode,
|
|
|
+ orderLevelList,
|
|
|
+ addOrderLevel,
|
|
|
+ levelList,
|
|
|
+ updateOrderLevel,
|
|
|
+ delOrderLevel,
|
|
|
} from "@/api/order";
|
|
|
import { ref } from "vue";
|
|
|
import _ from "lodash-es";
|
|
|
import ChoiceItemPage from "@/views/base/materials/components/choice-item-page.vue";
|
|
|
-import {da} from "element-plus/es/locale";
|
|
|
-import {params} from "postcss-html";
|
|
|
+import { da } from "element-plus/es/locale";
|
|
|
+import { params } from "postcss-html";
|
|
|
const rowAdd = () => {
|
|
|
crudRef.value.rowAdd();
|
|
|
-
|
|
|
-
|
|
|
};
|
|
|
// 弹窗对象
|
|
|
const dialog = reactive({
|
|
@@ -281,7 +291,7 @@ const dialog = reactive({
|
|
|
width: 800,
|
|
|
title: "",
|
|
|
});
|
|
|
-const formTree=ref(null);
|
|
|
+const formTree = ref(null);
|
|
|
const ctableRef = ref(null);
|
|
|
const search = ref({});
|
|
|
const option = ref({});
|
|
@@ -298,108 +308,94 @@ const importData = reactive({
|
|
|
const treeData = ref([]);
|
|
|
const dataDetail = ref({});
|
|
|
const save = (node, data, done, loading) => {
|
|
|
- if(Object.keys(node).length===0){
|
|
|
- data.level=1;
|
|
|
+ if (Object.keys(node).length === 0) {
|
|
|
+ data.level = 1;
|
|
|
}
|
|
|
- if(Object.keys(node).length>0){
|
|
|
- data.level=node.level+1;
|
|
|
- data.parentId=node.data.id;
|
|
|
+ if (Object.keys(node).length > 0) {
|
|
|
+ data.level = node.level + 1;
|
|
|
+ data.parentId = node.data.id;
|
|
|
}
|
|
|
- addOrderLevel(data).then(
|
|
|
- (resouce)=>{
|
|
|
- done();
|
|
|
- if(resouce.code==="200"){
|
|
|
- ElMessage.success("新增成功");
|
|
|
-
|
|
|
- orderLevelList(dataDetail.value).then(
|
|
|
- (res)=>{
|
|
|
- treeData.value=res.data;
|
|
|
- }
|
|
|
- )
|
|
|
+ addOrderLevel(data).then((resouce) => {
|
|
|
+ done();
|
|
|
+ if (resouce.code === "200") {
|
|
|
+ ElMessage.success("新增成功");
|
|
|
|
|
|
- }
|
|
|
+ orderLevelList(dataDetail.value).then((res) => {
|
|
|
+ treeData.value = res.data;
|
|
|
+ });
|
|
|
}
|
|
|
- )
|
|
|
-
|
|
|
+ });
|
|
|
};
|
|
|
const delRow = (data, done) => {
|
|
|
- ElMessageBox.confirm('此操作将永久删除该文件, 是否继续?', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- cancelButtonText: '取消',
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- delOrderLevel(data.data).then(
|
|
|
- (resouce)=>{
|
|
|
+ ElMessageBox.confirm("此操作将永久删除该文件, 是否继续?", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ delOrderLevel(data.data).then((resouce) => {
|
|
|
done();
|
|
|
- if(resouce.code==="200"){
|
|
|
+ if (resouce.code === "200") {
|
|
|
ElMessage.success("删除成功");
|
|
|
-
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
ElMessage.error(resouce.msg);
|
|
|
- orderLevelList(dataDetail.value).then(
|
|
|
- (res)=>{
|
|
|
- treeData.value=res.data;
|
|
|
- }
|
|
|
- )
|
|
|
+ orderLevelList(dataDetail.value).then((res) => {
|
|
|
+ treeData.value = res.data;
|
|
|
+ });
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
- )
|
|
|
- }).catch(() => {
|
|
|
- ElMessage.info('已取消删除')
|
|
|
- })
|
|
|
-}
|
|
|
+ });
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ ElMessage.info("已取消删除");
|
|
|
+ });
|
|
|
+};
|
|
|
|
|
|
const updateRow = (node, data, done, loading) => {
|
|
|
- updateOrderLevel(data).then(
|
|
|
- (resouce)=>{
|
|
|
- done();
|
|
|
- if(resouce.code==="200"){
|
|
|
- ElMessage.success("修改成功");
|
|
|
-
|
|
|
- orderLevelList(dataDetail.value).then(
|
|
|
- (res)=>{
|
|
|
- treeData.value=res.data;
|
|
|
- }
|
|
|
- )
|
|
|
+ updateOrderLevel(data).then((resouce) => {
|
|
|
+ done();
|
|
|
+ if (resouce.code === "200") {
|
|
|
+ ElMessage.success("修改成功");
|
|
|
|
|
|
- }else {
|
|
|
- ElMessage.error(resouce.msg);
|
|
|
- }
|
|
|
+ orderLevelList(dataDetail.value).then((res) => {
|
|
|
+ treeData.value = res.data;
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ ElMessage.error(resouce.msg);
|
|
|
}
|
|
|
-
|
|
|
- )
|
|
|
-}
|
|
|
-const param =ref({});
|
|
|
+ });
|
|
|
+};
|
|
|
+const param = ref({});
|
|
|
const nodeClick = (data) => {
|
|
|
- search.value.aircraftId=null;
|
|
|
- search.value.sortiesId=null;
|
|
|
- search.value.subId=null;
|
|
|
- if(data.level==1){
|
|
|
- search.value.aircraftId=data.id;
|
|
|
- }
|
|
|
- if(data.level==2){
|
|
|
- search.value.sortiesId=data.id;
|
|
|
- }
|
|
|
- if(data.level==3){
|
|
|
- search.value.subId=data.id;
|
|
|
- }
|
|
|
- handleQuery(null,null);
|
|
|
+ search.value.aircraftId = null;
|
|
|
+ search.value.sortiesId = null;
|
|
|
+ search.value.subId = null;
|
|
|
+ if (data.level == 1) {
|
|
|
+ search.value.aircraftId = data.id;
|
|
|
+ }
|
|
|
+ if (data.level == 2) {
|
|
|
+ search.value.sortiesId = data.id;
|
|
|
+ }
|
|
|
+ if (data.level == 3) {
|
|
|
+ search.value.subId = data.id;
|
|
|
+ }
|
|
|
+ handleQuery(null, null);
|
|
|
};
|
|
|
const treeOption = {
|
|
|
formOption: {
|
|
|
labelWidth: 100,
|
|
|
- column: [{
|
|
|
- label: '层级名称',
|
|
|
- prop: 'label'
|
|
|
- }],
|
|
|
+ column: [
|
|
|
+ {
|
|
|
+ label: "层级名称",
|
|
|
+ prop: "label",
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
props: {
|
|
|
- labelText: '标题',
|
|
|
- label: 'label',
|
|
|
- value: 'value',
|
|
|
- children: 'children'
|
|
|
- }
|
|
|
+ labelText: "标题",
|
|
|
+ label: "label",
|
|
|
+ value: "value",
|
|
|
+ children: "children",
|
|
|
+ },
|
|
|
};
|
|
|
const materialInfo = (value) => {
|
|
|
form.value.materialCode = value.materialCode;
|
|
@@ -495,13 +491,13 @@ option.value = {
|
|
|
value: "id",
|
|
|
},
|
|
|
change: ({ value, column }) => {
|
|
|
- form.value.idSorties=null;
|
|
|
- form.value.idSub=null;
|
|
|
- sorties.value=[];
|
|
|
- sub.value=[];
|
|
|
- sorties1.value = treeData.value.filter(item =>item.id==value);
|
|
|
- if(sorties1.value!=null&&sorties1.value.length>0){
|
|
|
- sorties.value=sorties1.value[0].children;
|
|
|
+ form.value.idSorties = null;
|
|
|
+ form.value.idSub = null;
|
|
|
+ sorties.value = [];
|
|
|
+ sub.value = [];
|
|
|
+ sorties1.value = treeData.value.filter((item) => item.id == value);
|
|
|
+ if (sorties1.value != null && sorties1.value.length > 0) {
|
|
|
+ sorties.value = sorties1.value[0].children;
|
|
|
}
|
|
|
},
|
|
|
rules: [
|
|
@@ -524,11 +520,11 @@ option.value = {
|
|
|
value: "id",
|
|
|
},
|
|
|
change: ({ value, column }) => {
|
|
|
- form.value.idSub=null;
|
|
|
- sub.value=[];
|
|
|
- sub1.value = sorties.value.filter(item =>item.id==value);
|
|
|
- if(sub1.value!=null&&sub1.value.length>0){
|
|
|
- sub.value=sub1.value[0].children;
|
|
|
+ form.value.idSub = null;
|
|
|
+ sub.value = [];
|
|
|
+ sub1.value = sorties.value.filter((item) => item.id == value);
|
|
|
+ if (sub1.value != null && sub1.value.length > 0) {
|
|
|
+ sub.value = sub1.value[0].children;
|
|
|
}
|
|
|
},
|
|
|
rules: [
|
|
@@ -580,8 +576,7 @@ option.value = {
|
|
|
props: {
|
|
|
label: "label",
|
|
|
value: "id",
|
|
|
- }
|
|
|
-
|
|
|
+ },
|
|
|
},
|
|
|
{
|
|
|
label: "计划类型",
|
|
@@ -721,7 +716,8 @@ option.value = {
|
|
|
width: 100,
|
|
|
overHidden: true,
|
|
|
min: 1,
|
|
|
- max: 99999,
|
|
|
+ max: 1,
|
|
|
+ value: 1,
|
|
|
rules: [
|
|
|
{
|
|
|
required: true,
|
|
@@ -973,7 +969,8 @@ const handleQuery = (params, done) => {
|
|
|
const querySearch = {
|
|
|
pageSize: page.value.pageSize,
|
|
|
pageNo: page.value.currentPage,
|
|
|
- ...params,...search.value
|
|
|
+ ...params,
|
|
|
+ ...search.value,
|
|
|
};
|
|
|
getOrderPage(querySearch)
|
|
|
.then(({ data }) => {
|
|
@@ -1110,18 +1107,13 @@ const handleExport = () => {
|
|
|
onMounted?.(() => {
|
|
|
queryExpandAlias();
|
|
|
handleQuery(null, null);
|
|
|
- orderLevelList(dataDetail.value).then(
|
|
|
- (data)=>{
|
|
|
- treeData.value=data.data;
|
|
|
- }
|
|
|
- )
|
|
|
- levelList(dataDetail.value).then(
|
|
|
- (data)=>{
|
|
|
- sub2.value=data.data;
|
|
|
- sorties2.value=data.data;
|
|
|
- }
|
|
|
- )
|
|
|
-
|
|
|
+ orderLevelList(dataDetail.value).then((data) => {
|
|
|
+ treeData.value = data.data;
|
|
|
+ });
|
|
|
+ levelList(dataDetail.value).then((data) => {
|
|
|
+ sub2.value = data.data;
|
|
|
+ sorties2.value = data.data;
|
|
|
+ });
|
|
|
});
|
|
|
|
|
|
/** 选择报故单 */
|