From d66ab921c996c38da3aa373ffdc7c974c157df33 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期五, 07 三月 2025 09:37:53 +0800
Subject: [PATCH] Merge branch 'dev' of http://114.132.189.42:9002/r/lims-ruoyi-before into dev
---
src/api/cnas/personal/personalList.js | 2
src/views/CNAS/personnel/personnelInfo/tabs/personnelTraining.vue | 12
src/views/CNAS/resourceDemand/device/component/files.vue | 5
src/views/CNAS/resourceDemand/device/component/management.vue | 8
public/index.html | 2
src/views/business/rawMaterialInspection/index.vue | 8
src/views/business/productOrder/components/add.vue | 249 ++++++++++++--------
src/views/CNAS/personnel/personnelInfo/tabs/personnel-information.vue | 1
src/views/business/inspectionTask/components/viewManHourDia.vue | 204 +++++++++++++++++
src/views/business/inspectionTask/inspection.vue | 13 +
src/views/business/productOrder/index.vue | 16
src/router/index.js | 28 --
src/views/business/inspectionTask/components/EditInspectionItem.vue | 11
src/views/business/inspectionTask/index.vue | 40 ++
src/views/business/materialOrder/index.vue | 42 ++
src/views/CNAS/externalService/supplierManage/index.vue | 2
src/views/performance/manHour/workTimeManagement.vue | 3
/dev/null | 15 -
src/api/business/inspectionTask.js | 16 +
src/views/structural/capabilityAndLaboratory/laboratory/index.vue | 6
public/logo.ico | 0
21 files changed, 508 insertions(+), 175 deletions(-)
diff --git a/public/index.html b/public/index.html
index 22eff41..745aa41 100644
--- a/public/index.html
+++ b/public/index.html
@@ -8,7 +8,7 @@
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"
/>
- <link rel="icon" href="<%= BASE_URL %>favicon.ico" />
+ <link rel="icon" href="<%= BASE_URL %>logo.ico" />
<link
href="<%= BASE_URL %>luckysheet/plugins/css/pluginsCss.css"
rel="stylesheet"
diff --git a/public/logo.ico b/public/logo.ico
new file mode 100644
index 0000000..62ab8bb
--- /dev/null
+++ b/public/logo.ico
Binary files differ
diff --git a/src/api/business/inspectionTask.js b/src/api/business/inspectionTask.js
index 4187ad6..d4b8158 100644
--- a/src/api/business/inspectionTask.js
+++ b/src/api/business/inspectionTask.js
@@ -287,3 +287,19 @@
params: query,
});
}
+// 鏌ヨ宸ユ椂
+export function getWorkingHoursByOrderId(query) {
+ return request({
+ url: "/insOrderPlan/getWorkingHoursByOrderId",
+ method: "get",
+ params: query,
+ });
+}
+// 淇敼宸ユ椂璇︽儏
+export function updateWorkingHours(query) {
+ return request({
+ url: "/insOrderPlan/updateWorkingHours",
+ method: "post",
+ data: query,
+ });
+}
diff --git a/src/api/cnas/personal/personalList.js b/src/api/cnas/personal/personalList.js
index 567c481..a96377e 100644
--- a/src/api/cnas/personal/personalList.js
+++ b/src/api/cnas/personal/personalList.js
@@ -30,7 +30,7 @@
return request({
url: "/personBasicInfo/exportPersonBasicInfoById",
method: "get",
- data: query,
+ params: query,
responseType: "blob"
});
}
diff --git a/src/api/monitor/job.js b/src/api/monitor/job.js
deleted file mode 100644
index 3815569..0000000
--- a/src/api/monitor/job.js
+++ /dev/null
@@ -1,71 +0,0 @@
-import request from '@/utils/request'
-
-// 鏌ヨ瀹氭椂浠诲姟璋冨害鍒楄〃
-export function listJob(query) {
- return request({
- url: '/monitor/job/list',
- method: 'get',
- params: query
- })
-}
-
-// 鏌ヨ瀹氭椂浠诲姟璋冨害璇︾粏
-export function getJob(jobId) {
- return request({
- url: '/monitor/job/' + jobId,
- method: 'get'
- })
-}
-
-// 鏂板瀹氭椂浠诲姟璋冨害
-export function addJob(data) {
- return request({
- url: '/monitor/job',
- method: 'post',
- data: data
- })
-}
-
-// 淇敼瀹氭椂浠诲姟璋冨害
-export function updateJob(data) {
- return request({
- url: '/monitor/job',
- method: 'put',
- data: data
- })
-}
-
-// 鍒犻櫎瀹氭椂浠诲姟璋冨害
-export function delJob(jobId) {
- return request({
- url: '/monitor/job/' + jobId,
- method: 'delete'
- })
-}
-
-// 浠诲姟鐘舵�佷慨鏀�
-export function changeJobStatus(jobId, status) {
- const data = {
- jobId,
- status
- }
- return request({
- url: '/monitor/job/changeStatus',
- method: 'put',
- data: data
- })
-}
-
-
-// 瀹氭椂浠诲姟绔嬪嵆鎵ц涓�娆�
-export function runJob(jobId, jobGroup) {
- const data = {
- jobId,
- jobGroup
- }
- return request({
- url: '/monitor/job/run',
- method: 'put',
- data: data
- })
-}
\ No newline at end of file
diff --git a/src/api/tool/gen.js b/src/api/tool/gen.js
deleted file mode 100644
index 2075677..0000000
--- a/src/api/tool/gen.js
+++ /dev/null
@@ -1,85 +0,0 @@
-import request from '@/utils/request'
-
-// 鏌ヨ鐢熸垚琛ㄦ暟鎹�
-export function listTable(query) {
- return request({
- url: '/tool/gen/list',
- method: 'get',
- params: query
- })
-}
-// 鏌ヨdb鏁版嵁搴撳垪琛�
-export function listDbTable(query) {
- return request({
- url: '/tool/gen/db/list',
- method: 'get',
- params: query
- })
-}
-
-// 鏌ヨ琛ㄨ缁嗕俊鎭�
-export function getGenTable(tableId) {
- return request({
- url: '/tool/gen/' + tableId,
- method: 'get'
- })
-}
-
-// 淇敼浠g爜鐢熸垚淇℃伅
-export function updateGenTable(data) {
- return request({
- url: '/tool/gen',
- method: 'put',
- data: data
- })
-}
-
-// 瀵煎叆琛�
-export function importTable(data) {
- return request({
- url: '/tool/gen/importTable',
- method: 'post',
- params: data
- })
-}
-
-// 鍒涘缓琛�
-export function createTable(data) {
- return request({
- url: '/tool/gen/createTable',
- method: 'post',
- params: data
- })
-}
-
-// 棰勮鐢熸垚浠g爜
-export function previewTable(tableId) {
- return request({
- url: '/tool/gen/preview/' + tableId,
- method: 'get'
- })
-}
-
-// 鍒犻櫎琛ㄦ暟鎹�
-export function delTable(tableId) {
- return request({
- url: '/tool/gen/' + tableId,
- method: 'delete'
- })
-}
-
-// 鐢熸垚浠g爜锛堣嚜瀹氫箟璺緞锛�
-export function genCode(tableName) {
- return request({
- url: '/tool/gen/genCode/' + tableName,
- method: 'get'
- })
-}
-
-// 鍚屾鏁版嵁搴�
-export function synchDb(tableName) {
- return request({
- url: '/tool/gen/synchDb/' + tableName,
- method: 'get'
- })
-}
diff --git a/src/router/index.js b/src/router/index.js
index 11b0dad..47f9884 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -205,34 +205,6 @@
hidden: true,
permissions: ["customer:edit"],
},
- {
- path: "/monitor/job-log",
- component: Layout,
- hidden: true,
- permissions: ["monitor:job:list"],
- children: [
- {
- path: "index/:jobId(\\d+)",
- component: () => import("@/views/monitor/job/log"),
- name: "JobLog",
- meta: { title: "璋冨害鏃ュ織", activeMenu: "/monitor/job" },
- },
- ],
- },
- {
- path: "/tool/gen-edit",
- component: Layout,
- hidden: true,
- permissions: ["tool:gen:edit"],
- children: [
- {
- path: "index/:tableId(\\d+)",
- component: () => import("@/views/tool/gen/editTable"),
- name: "GenEdit",
- meta: { title: "淇敼鐢熸垚閰嶇疆", activeMenu: "/tool/gen" },
- },
- ],
- },
];
// 闃叉杩炵画鐐瑰嚮澶氭璺敱鎶ラ敊
diff --git a/src/views/CNAS/externalService/supplierManage/index.vue b/src/views/CNAS/externalService/supplierManage/index.vue
index b16a2a7..ec7cba1 100644
--- a/src/views/CNAS/externalService/supplierManage/index.vue
+++ b/src/views/CNAS/externalService/supplierManage/index.vue
@@ -13,7 +13,7 @@
</el-form>
</div>
<div>
- <el-button size="medium" @click="exportExcel">瀵� 鍑�</el-button>
+<!-- <el-button size="medium" @click="exportExcel">瀵� 鍑�</el-button>-->
<el-button size="medium" type="primary" @click="showDialog('add')">鏂� 澧�</el-button>
</div>
</div>
diff --git a/src/views/CNAS/personnel/personnelInfo/tabs/personnel-information.vue b/src/views/CNAS/personnel/personnelInfo/tabs/personnel-information.vue
index eac1bed..eab557f 100644
--- a/src/views/CNAS/personnel/personnelInfo/tabs/personnel-information.vue
+++ b/src/views/CNAS/personnel/personnelInfo/tabs/personnel-information.vue
@@ -688,6 +688,7 @@
methods: {
// 涓嬭浇妗f
downPerson() {
+ console.log('this.clickNodeVal.userId',this.clickNodeVal.userId)
exportPersonBasicInfoById({ id: this.clickNodeVal.userId }).then(res => {
const blob = new Blob([res], { type: 'application/msword' });
this.$download.saveAs(blob, '浜哄憳妗f.docx');
diff --git a/src/views/CNAS/personnel/personnelInfo/tabs/personnelTraining.vue b/src/views/CNAS/personnel/personnelInfo/tabs/personnelTraining.vue
index cb850e2..bb5600a 100644
--- a/src/views/CNAS/personnel/personnelInfo/tabs/personnelTraining.vue
+++ b/src/views/CNAS/personnel/personnelInfo/tabs/personnelTraining.vue
@@ -84,13 +84,13 @@
</el-dialog>
<el-dialog :visible.sync="uploadDia" title="鏁版嵁瀵煎叆" width="500px">
<div style="display: flex;align-items: center;">
- <div style="width: 70px">骞翠唤锛�</div>
+ <div style="width: 70px"><span class="required-span">* </span>骞翠唤锛�</div>
<el-date-picker v-model="planYear" type="year" value-format="yyyy" clearable size="small" format="yyyy"
placeholder="閫夋嫨骞�">
</el-date-picker>
</div>
<div style="display: flex;align-items: center;margin: 10px 0">
- <div style="width: 70px">瀹℃牳浜猴細</div>
+ <div style="width: 70px"><span class="required-span">* </span>瀹℃牳浜猴細</div>
<el-select v-model="reviewerId" clearable filterable size="small" style="width: 50%;">
<el-option v-for="item in responsibleOptions" :key="item.id" :label="item.name" :value="item.id">
</el-option>
@@ -625,6 +625,14 @@
},
// 骞村害璁″垝-瀵煎叆
submitUpload() {
+ if (!this.planYear) {
+ this.$message.error('璇烽�夋嫨骞翠唤')
+ return
+ }
+ if (!this.reviewerId) {
+ this.$message.error('璇烽�夋嫨瀹℃牳浜�')
+ return
+ }
if (this.$refs.upload.uploadFiles.length == 0) {
this.$message.error('鏈�夋嫨鏂囦欢')
return
diff --git a/src/views/CNAS/resourceDemand/device/component/files.vue b/src/views/CNAS/resourceDemand/device/component/files.vue
index 2ec826d..bb72b97 100644
--- a/src/views/CNAS/resourceDemand/device/component/files.vue
+++ b/src/views/CNAS/resourceDemand/device/component/files.vue
@@ -264,7 +264,7 @@
<el-col :span="7">
<el-form :model="editData" label-width="140px" ref="ruleForm" :rules="rules1">
<!-- 瀹為獙瀹ゅ垪琛� -->
- <el-form-item label="鎵�灞為儴闂�:">
+ <el-form-item label="鎵�灞為儴闂�:" prop="subordinateDepartmentsId">
<el-select v-model="editData.subordinateDepartmentsId" placeholder="璇烽�夋嫨" size="small" style="width:100%">
<el-option v-for="item in subordinateDepartmentsList" :key="item.value" :label="item.label"
:value="item.value">
@@ -512,6 +512,9 @@
calibrationDate: [
{ required: true, message: '璇疯緭鍏ユ牎鍑嗗懆鏈�(鏈�)', trigger: 'blur' },
],
+ subordinateDepartmentsId: [
+ { required: true, message: '璇烽�夋嫨鎵�灞為儴闂�', trigger: 'change' },
+ ]
},
// dateForm: {
diff --git a/src/views/CNAS/resourceDemand/device/component/management.vue b/src/views/CNAS/resourceDemand/device/component/management.vue
index 77e4671..d090b6e 100644
--- a/src/views/CNAS/resourceDemand/device/component/management.vue
+++ b/src/views/CNAS/resourceDemand/device/component/management.vue
@@ -119,7 +119,7 @@
<el-col :span="7">
<el-form :label-position="labelPosition" :model="formData" label-width="140px" ref="ruleForm">
<!-- 瀹為獙瀹ゅ垪琛� -->
- <el-form-item label="鎵�灞為儴闂�:">
+ <el-form-item label="鎵�灞為儴闂�:" required>
<el-select :disabled="isUp" v-model="formData.subordinateDepartmentsId" placeholder="璇烽�夋嫨" size="small"
style="width:100%">
<el-option v-for="item in subordinateDepartmentsList" :key="item.value" :label="item.label"
@@ -277,7 +277,7 @@
<el-col :span="7">
<el-form :label-position="labelPosition" :model="formData2" label-width="120px" ref="ruleForm">
<!-- 瀹為獙瀹ゅ垪琛� -->
- <el-form-item label="鎵�灞為儴闂�:">
+ <el-form-item label="鎵�灞為儴闂�:" required>
<el-select v-model="formData2.subordinateDepartmentsId" placeholder="璇烽�夋嫨" size="small" style="width:100%">
<el-option v-for="item in subordinateDepartmentsList" :key="item.value" :label="item.label"
:value="item.value">
@@ -813,6 +813,10 @@
this.$message.error('鏈緭鍏ユ牎鍑嗘湁鏁堟湡')
return
}
+ if (!this.formData.subordinateDepartmentsId) {
+ this.$message.error('鏈�夋嫨鎵�灞為儴闂�')
+ return
+ }
if (this.formData.deviceStatus === '' || this.formData.deviceStatus === null) {
this.$message.error('鏈�夋嫨褰撳墠鐘舵��')
return
diff --git a/src/views/business/inspectionTask/components/EditInspectionItem.vue b/src/views/business/inspectionTask/components/EditInspectionItem.vue
index b38e59c..3b711e9 100644
--- a/src/views/business/inspectionTask/components/EditInspectionItem.vue
+++ b/src/views/business/inspectionTask/components/EditInspectionItem.vue
@@ -6,6 +6,16 @@
width="80%"
@close="editInspectionDia = false"
>
+ <div>
+ <el-form :model="entity" :inline="true">
+ <el-form-item label="妫�楠岄」" prop="outputWorkTime">
+ <el-input v-model="entity.inspectionItem" clearable size="small"></el-input>
+ </el-form-item>
+ <el-form-item>
+ <el-button size="small" type="primary" @click="getTableData">鏌ヨ</el-button>
+ </el-form-item>
+ </el-form>
+ </div>
<lims-table
:column="editColumn"
:table-data="editTableData"
@@ -70,6 +80,7 @@
editInspectionDia: false,
entity: {
id: 0,
+ inspectionItem: ''
},
editColumn: [
{
diff --git a/src/views/business/inspectionTask/components/viewManHourDia.vue b/src/views/business/inspectionTask/components/viewManHourDia.vue
new file mode 100644
index 0000000..54268fd
--- /dev/null
+++ b/src/views/business/inspectionTask/components/viewManHourDia.vue
@@ -0,0 +1,204 @@
+<template>
+ <div>
+ <el-dialog
+ :visible.sync="editInspectionDia"
+ title="鏌ョ湅宸ユ椂"
+ width="80%"
+ @close="editInspectionDia = false"
+ >
+ <div>
+ <el-form :model="entity" :inline="true">
+ <el-form-item label="妫�楠岄」" prop="outputWorkTime">
+ <el-input v-model="entity.inspectionItem" clearable size="small"></el-input>
+ </el-form-item>
+ <el-form-item>
+ <el-button size="small" type="primary" @click="getList0">鏌ヨ</el-button>
+ </el-form-item>
+ </el-form>
+ </div>
+ <lims-table :tableData="tableData0" :column="column0"
+ :page="page0" :tableLoading="tableLoading"
+ height="500" @pagination="pagination0"></lims-table>
+ <span slot="footer" class="dialog-footer" v-if="insState == 99">
+ <el-button @click="editInspectionDia = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="handleSubmit">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ <el-dialog :visible.sync="editAskDia" title="淇敼" width="50%">
+ <el-form ref="form" :model="editForm" label-width="100px">
+ <el-form-item label="妫�娴嬩汉" prop="name">
+ <el-select v-model="editForm.name" clearable size="small">
+ <el-option v-for="item in responsibleOptions" :key="item.id" :label="item.name" :value="item.id">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="浜ч噺宸ユ椂" prop="outputWorkTime">
+ <el-input v-model="editForm.outputWorkTime" clearable size="small"></el-input>
+ </el-form-item>
+ <el-form-item label="鏃ユ湡" prop="dateTime">
+ <el-date-picker
+ v-model="editForm.dateTime"
+ placeholder="閫夋嫨鏃ユ湡"
+ size="small"
+ style="width: 100%;"
+ type="date"
+ format="yyyy-MM-dd"
+ value-format="yyyy-MM-dd">
+ </el-date-picker>
+ </el-form-item>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="editAskDia = false">鍙� 娑�</el-button>
+ <el-button
+ :loading="handleEditLoading"
+ type="primary"
+ @click="handleEdit"
+ >纭� 瀹�</el-button
+ >
+ </span>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import limsTable from "@/components/Table/lims-table.vue";
+import {
+ getWorkingHoursByOrderId, updateWorkingHours,
+} from "@/api/business/inspectionTask.js";
+import {selectUserCondition} from "@/api/system/user";
+export default {
+ name: "EditInspectionItem",
+ // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
+ components: { limsTable },
+ data() {
+ // 杩欓噷瀛樻斁鏁版嵁
+ return {
+ editInspectionDia: false,
+ entity: {
+ orderId: 0,
+ inspectionItem: ''
+ },
+ insState: 0,
+ tableData0: [],
+ tableLoading: false,
+ column0: [
+ { label: "妫�娴嬩汉", prop: "name" },
+ { label: "妫�娴嬮」鍒嗙被", prop: "inspectionItemClass" },
+ { label: "妫�娴嬮」", prop: "inspectionItem", width: 110 },
+ { label: "妫�娴嬪瓙椤�", prop: "inspectionItemSubclass", width: 110 },
+ { label: "鏍峰搧缂栧彿", prop: "sample", width: 160 },
+ { label: "濮旀墭鍗曞彿", prop: "orderNo", width: 160 },
+ { label: "鐢电紗鏍囪瘑", prop: "cableTag" },
+ { label: "浜ч噺宸ユ椂", prop: "outputWorkTime" },
+ { label: "宸ユ椂鍒嗙粍", prop: "manHourGroup" },
+ { label: "鍗曚环", prop: "price" },
+ { label: "鏃ユ湡", prop: "dateTime" },
+ { label: "鍛ㄦ", prop: "week" },
+ { label: "鏄熸湡", prop: "weekDay" },
+ {
+ dataType: "action",
+ width: "80px",
+ label: "鎿嶄綔",
+ fixed: "right",
+ operation: [
+ {
+ name: "缂栬緫",
+ type: "text",
+ clickFun: (row) => {
+ this.editIns(row);
+ },
+ disabled: (row) => {
+ return this.insState == 3 || this.insState == 5 || this.insState == 99
+ },
+ },
+ ],
+ },
+ ],
+ page0: {
+ total: 0,
+ size: 10,
+ current: 1,
+ },
+ editAskDia: false,
+ editForm: {
+ id: "",
+ name: "",
+ outputWorkTime: "",
+ inspectionValueType: "",
+ },
+ handleEditLoading: false,
+ inspectionValueType: [],
+ responsibleOptions: []
+ };
+ },
+ mounted() {
+
+ },
+ // 鏂规硶闆嗗悎
+ methods: {
+ showDialog(id, insState) {
+ this.insState = insState
+ this.editInspectionDia = true;
+ this.entity.orderId = id;
+ this.getList0();
+ },
+ getList0() {
+ this.tableLoading = true;
+ getWorkingHoursByOrderId({ ...this.entity, ...this.page0 })
+ .then((res) => {
+ this.tableLoading = false;
+ if (res.code === 200) {
+ this.tableData0 = res.data.records;
+ this.page0.total = res.data.total;
+ }
+ })
+ .catch((err) => {
+ this.tableLoading = false;
+ });
+ },
+ // 淇敼寮规
+ editIns(row) {
+ this.editAskDia = true;
+ this.editForm = { ...row };
+ this.getUserList()
+ },
+ // 鎻愪氦淇敼
+ handleEdit() {
+ this.handleEditLoading = true;
+ updateWorkingHours({...this.editForm})
+ .then((res) => {
+ this.handleEditLoading = false;
+ this.$message.success("淇敼鎴愬姛");
+ this.editAskDia = false;
+ this.getList0();
+ })
+ .catch(() => {
+ this.handleEditLoading = false;
+ });
+ },
+ // 纭宸ユ椂
+ handleSubmit () {
+ this.editInspectionDia = false;
+ this.$emit("submit");
+ },
+ pagination0({ page, limit }) {
+ this.page0.current = page;
+ this.page0.size = limit;
+ this.getList0();
+ },
+ // 鑾峰彇璐熻矗浜轰俊鎭帴鍙�
+ getUserList() {
+ selectUserCondition({ type: 1 }).then((res) => {
+ this.responsibleOptions = res.data;
+ })
+ }
+ },
+};
+</script>
+
+<style scoped>
+.pagination {
+ display: flex;
+ justify-content: space-between;
+}
+</style>
diff --git a/src/views/business/inspectionTask/index.vue b/src/views/business/inspectionTask/index.vue
index d7df57a..e03b541 100644
--- a/src/views/business/inspectionTask/index.vue
+++ b/src/views/business/inspectionTask/index.vue
@@ -181,6 +181,16 @@
</el-dialog>
<el-dialog :visible.sync="dataDialogVisible" title="鏁版嵁鏌ョ湅" width="80%">
<div v-if="dataDialogVisible" style="height: 70vh; overflow-y: auto">
+ <div>
+ <el-form :model="entity" :inline="true">
+ <el-form-item label="妫�楠岄」" prop="outputWorkTime">
+ <el-input v-model="entity.inspectionItem" clearable size="small"></el-input>
+ </el-form-item>
+ <el-form-item>
+ <el-button size="small" type="primary" @click="getLookList">鏌ヨ</el-button>
+ </el-form-item>
+ </el-form>
+ </div>
<lims-table :tableData="lookTableData" :column="lookColumn" :page="lookPage" :tableLoading="lookTableLoading"
:height="'60vh'" @pagination="lookPagination" key="tableData1"></lims-table>
</div>
@@ -232,7 +242,10 @@
ref="showInfoDialog"
:showInfoDialog="showInfoDialog"
></ShowInfo> -->
+ <!--淇敼妫�楠屽�煎脊妗�-->
<edit-inspection-item ref="editInspectionItem"></edit-inspection-item>
+ <!--鏌ョ湅宸ユ椂寮规-->
+ <viewManHourDia ref="viewManHourDia"></viewManHourDia>
</div>
</template>
@@ -240,6 +253,7 @@
import { getYearAndMonthAndDays } from "@/utils/date";
import EditInspectionItem from "./components/EditInspectionItem.vue";
import limsTable from "@/components/Table/lims-table.vue";
+import viewManHourDia from "./components/viewManHourDia.vue"
import {
claimInsOrderPlan,
upPlanUser2,
@@ -258,6 +272,7 @@
components: {
EditInspectionItem,
limsTable,
+ viewManHourDia
},
dicts: ["urgency_level", "inspection_task_state"],
computed: {
@@ -428,9 +443,17 @@
this.editInspection(row);
},
disabled: (row) => {
- return (
- row.userName == null || row.insState == 3 || row.insState == 5
- );
+ return (row.userName == null || row.insState == 3 || row.insState == 5) && this.checkPermi(['update:product:onPlan'])
+ },
+ },
+ {
+ name: "鏌ョ湅宸ユ椂",
+ type: "text",
+ clickFun: (row) => {
+ this.viewManHour(row);
+ },
+ showHide: (row) => {
+ return this.checkPermi(['get:working:hours:byOrder'])
},
},
{
@@ -498,6 +521,9 @@
},
],
// 鏁版嵁鏌ョ湅鐩稿叧瀛楁---寮�濮�
+ entity: {
+ inspectionItem: "",
+ },
lookTableData: [],
lookColumn: [
{
@@ -607,7 +633,7 @@
},
getLookList() {
this.lookTableLoading = true;
- let param = { id: this.lookInfo.id, ...this.lookPage };
+ let param = { id: this.lookInfo.id, ...this.lookPage, inspectionItem: this.entity.inspectionItem };
delete param.total;
selectSampleAndProductByOrderId({ ...param })
.then((res) => {
@@ -631,9 +657,9 @@
editInspection(row) {
this.$refs.editInspectionItem.showDialog(row.id);
},
- // 鍒锋柊椤甸潰
- refreshView() {
- this.getList();
+ // 鏌ョ湅宸ユ椂
+ viewManHour(row) {
+ this.$refs.viewManHourDia.showDialog(row.id, row.insState);
},
// 鏁版嵁鏌ョ湅
handleDataLook(row) {
diff --git a/src/views/business/inspectionTask/inspection.vue b/src/views/business/inspectionTask/inspection.vue
index 182cff4..55af32e 100644
--- a/src/views/business/inspectionTask/inspection.vue
+++ b/src/views/business/inspectionTask/inspection.vue
@@ -23,7 +23,7 @@
@click="openUnPassDialog('add')">涓嶅悎鏍煎鐞�</el-button>
<el-button size="small" type="primary" @click="sampleVisible = true; uploadSample();">鏍峰搧鍒囨崲</el-button>
<!-- <el-button v-if="state == 1" size="small" type="primary" @click="taskVisible = true">浠诲姟鍒囨崲</el-button>-->
- <el-button v-if="state == 1" size="small" type="primary" @click="addVerifyDia = true">鎻愪氦</el-button>
+ <el-button v-if="state == 1" size="small" type="primary" @click="viewManHour">鎻愪氦</el-button>
<!-- 澶嶆牳 -->
<el-button v-if="state == 2" size="medium" type="primary" @click="openAddCheck">閫氳繃</el-button>
<el-button v-if="state == 2" size="medium" @click="upInsReview(0)">涓嶉�氳繃</el-button>
@@ -509,6 +509,8 @@
:unPassCheck="unPassCheck" @closeUnPassCheckDialog="closeUnPassCheckDialog" @refreshView="refreshView" />
<purchase-verification v-if="purchaseDialog" ref="purchaseDialog" :orderId="orderId"
:purchaseDialog="purchaseDialog" @resetPurchaseDialog="resetPurchaseDialog"></purchase-verification>
+ <!--鏌ョ湅宸ユ椂寮规-->
+ <viewManHourDia ref="viewManHourDia" @submit="openAddVerifyDia"></viewManHourDia>
</div>
</template>
@@ -542,9 +544,11 @@
import DataWorker from '../../../DataWorker.worker';
import html2canvas from "html2canvas";
import { mapGetters } from "vuex";
+import viewManHourDia from "@/views/business/inspectionTask/components/viewManHourDia.vue";
export default {
name: 'Inspection',
components: {
+ viewManHourDia,
PurchaseVerification,
AddUnPass,
limsTable,
@@ -2582,6 +2586,13 @@
this.$message.error("鏈緭鍏ヤ笉閫氳繃鍘熷洜");
}
},
+ // 鏌ョ湅宸ユ椂
+ viewManHour() {
+ this.$refs.viewManHourDia.showDialog(this.id, 99);
+ },
+ openAddVerifyDia () {
+ this.addVerifyDia = true;
+ },
submit() {
if (this.verifyUser === null || this.verifyUser === "") {
this.$message.error("璇锋寚瀹氬鏍镐汉鍛�");
diff --git a/src/views/business/materialOrder/index.vue b/src/views/business/materialOrder/index.vue
index 4b4bbc4..51b698e 100644
--- a/src/views/business/materialOrder/index.vue
+++ b/src/views/business/materialOrder/index.vue
@@ -59,9 +59,11 @@
<div class="table-tab">
<div>
<ul class="tab">
- <li v-for="(m, i) in tabList" :key="m.value" :class="{ active: m.value === tabIndex }"
- @click="handleTab(m)">
- {{ m.label }}</li>
+ <li :class="{ active: tabIndex === 0 }" @click="handleTab(0)">寰呬笅鍗�</li>
+ <li :class="{ active: tabIndex === 1 }" @click="handleTab(1)">妫�楠屼腑</li>
+ <li :class="{ active: tabIndex === 2 }" @click="handleTab(2)">宸叉楠�</li>
+ <li :class="{ active: tabIndex === 4 }" @click="handleTab(4)">瀛e害妫�楠�</li>
+ <li :class="{ active: tabIndex === 3 }" v-if="checkPermi(['get:Ifs:ByAll'])" @click="handleTab(3)">鍏ㄩ儴</li>
</ul>
</div>
<div>
@@ -359,7 +361,13 @@
tableData2: [],
tableLoading2: false,
column2: [
- { label: '濮旀墭缂栧彿', prop: 'entrustCode',width: "160px", },
+ {
+ label: '濮旀墭缂栧彿',
+ prop: 'entrustCode',
+ width: "160px",
+ dataType: "link",
+ linkMethod: "changeEntrustCode",
+ },
{
dataType: 'tag',
label: '妫�楠岀姸鎬�',
@@ -404,7 +412,13 @@
{ label: '渚涘簲鍟嗗悕绉�', prop: 'supplierName' },
{ label: '涓嶅悎鏍兼弿杩�', prop: 'unqualifiedDesc' },
{ label: '鍏嶆', prop: 'isExemption' },
- { label: '鏍峰搧鍚嶇О', prop: 'sampleName' },
+ {
+ label: '鏍峰搧鍚嶇О',
+ prop: 'sampleName',
+ width: "160px",
+ dataType: "link",
+ linkMethod: "selectAllByOne",
+ },
{ label: '鏍峰搧鍨嬪彿', prop: 'sampleModel' },
{ label: '妫�楠屼汉', prop: 'userName' },
{
@@ -551,7 +565,13 @@
{ label: '渚涘簲鍟嗗悕绉�', prop: 'supplierName' },
{ label: '涓嶅悎鏍兼弿杩�', prop: 'unqualifiedDesc' },
{ label: '鍏嶆', prop: 'isExemption' },
- { label: '鏍峰搧鍚嶇О', prop: 'sampleName' },
+ {
+ label: '鏍峰搧鍚嶇О',
+ prop: 'sampleName',
+ width: "160px",
+ dataType: "link",
+ linkMethod: "selectAllByOne",
+ },
{ label: '鏍峰搧鍨嬪彿', prop: 'sampleModel' },
{ label: '妫�楠屼汉', prop: 'userName' },
{
@@ -651,7 +671,13 @@
{ label: '渚涘簲鍟嗗悕绉�', prop: 'supplierName' },
{ label: '涓嶅悎鏍兼弿杩�', prop: 'unqualifiedDesc' },
{ label: '鍏嶆', prop: 'isExemption' },
- { label: '鏍峰搧鍚嶇О', prop: 'sampleName' },
+ {
+ label: '鏍峰搧鍚嶇О',
+ prop: 'sampleName',
+ width: "160px",
+ dataType: "link",
+ linkMethod: "selectAllByOne",
+ },
{ label: '鏍峰搧鍨嬪彿', prop: 'sampleModel' },
{ label: '妫�楠屼汉', prop: 'userName' },
{
@@ -1204,7 +1230,7 @@
},
// 鍒囨崲涓嬪崟tab琛ㄦ牸
handleTab(m) {
- this.tabIndex = m.value;
+ this.tabIndex = m;
this.refreshTable()
},
// 琛ㄦ牸閫夋嫨鏂规硶
diff --git a/src/views/business/productOrder/components/add.vue b/src/views/business/productOrder/components/add.vue
index 6681783..5f151a6 100644
--- a/src/views/business/productOrder/components/add.vue
+++ b/src/views/business/productOrder/components/add.vue
@@ -2,9 +2,7 @@
<div class="app-container">
<div v-show="!cableConfigShow&&!auxiliaryShow">
<div style="display: flex;justify-content: space-between;align-items:center;">
- <div>
- 濮旀墭鍗曚俊鎭�
- </div>
+ <div>濮旀墭鍗曚俊鎭�</div>
<div>
<el-cascader
v-model="addObj.quarterItemId"
@@ -41,96 +39,146 @@
<div v-show="!cableConfigShow&&!auxiliaryShow" style="margin-top: 10px">
<div class="search">
<el-form ref="addObj" :inline="true" :model="addObj" :rules="addObjRules" label-width="108px" label-position="right">
- <el-form-item label="濮旀墭缂栧彿:">
- <el-input v-model="addObj.entrustCode" clearable disabled placeholder="绯荤粺鐢熸垚" size="small"></el-input>
- </el-form-item>
- <el-form-item label="妫�楠岀被鍒�:" prop="orderType">
- <el-select v-model="addObj.orderType" :disabled="active>1&&tabIndex!=4" clearable size="small" style="width: 100%;">
- <el-option v-for="(a, ai) in dict.type.check_type1" :key="ai" :label="a.label" :value="a.value"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="鍒跺崟浜�:">
- <el-input v-model="addObj.custom" disabled size="small" clearable></el-input>
- </el-form-item>
- <el-form-item label="濮旀墭鍗曚綅:" prop="company">
- <el-input v-model="addObj.company" disabled placeholder="閫夋嫨濮旀墭鍗曚綅" size="small" style="width: 208px">
- <template slot="append">
- <el-button slot="append" :disabled="active>1&&tabIndex!=4" icon="el-icon-search"
- @click="openCompanyList"></el-button>
- </template>
- </el-input>
- </el-form-item>
- <el-form-item label="鑱旂郴鏂瑰紡:" prop="phone">
- <el-input v-model="addObj.phone" :disabled="active>1&&tabIndex!=4" clearable placeholder="閫夋嫨濮旀墭瀹㈡埛" size="small"></el-input>
- </el-form-item>
- <el-form-item label="绱ф�ョ▼搴�:" prop="type">
- <el-select v-model="addObj.type" :disabled="active>1&&tabIndex!=4" clearable size="small">
- <el-option v-for="(a, ai) in dict.type.urgency_level" :key="ai" :label="a.label" :value="a.value"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="鏍峰搧鍚嶇О:" prop="sample">
- <el-input v-model="addObj.sample" disabled size="small" style="width: 208px">
- <template slot="append"><el-button slot="append" :disabled="active>1&&tabIndex!=4" icon="el-icon-search"
- @click="selectStandardTree = true"></el-button></template>
- </el-input>
- </el-form-item>
- <el-form-item label="鏍峰搧鏁伴噺:" prop="sampleNum" style="margin-right: 0">
- <el-input-number v-model="addObj.sampleNum" :disabled="active>1" :max="100" :min="1" :precision="0"
- size="small" @change="addStandardTree"></el-input-number>
- </el-form-item>
- <el-form-item label="鏍峰搧鐘舵��:" prop="sampleStatus">
- <el-select v-model="addObj.sampleStatus" :disabled="active>1&&tabIndex!=4" size="small">
- <el-option v-for="(a,ai) in dict.type.sample_status_list" :key="ai" :label="a.label" :value="a.value"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="鎶芥鏁伴噺:" prop="testQuantity">
- <el-input v-model="addObj.testQuantity" :disabled="active>1&&tabIndex!=4" clearable size="small"></el-input>
- </el-form-item>
- <el-form-item label="鏉ユ牱鏂瑰紡:" prop="formType">
- <el-select v-model="addObj.formType" :disabled="active>1&&tabIndex!=4" size="small" clearable>
- <el-option v-for="(a,ai) in dict.type.form_type" :key="ai" :label="a.label" :value="a.value"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="鐢熶骇鍗曚綅:" prop="production">
- <el-input v-model="addObj.production" :disabled="active>1&&tabIndex!=4" clearable placeholder="璇疯緭鍏�"
- size="small"></el-input>
- </el-form-item>
- <el-form-item label="鐢熶骇鍗曚綅EN:" prop="productionEn">
- <el-input v-model="addObj.productionEn" :disabled="active>1&&tabIndex!=4" clearable placeholder="璇疯緭鍏�"
- size="small"></el-input>
- </el-form-item>
- <el-form-item label="鏍峰搧澶勭悊鏂瑰紡:">
- <el-radio-group v-model="addObj.processing" :disabled="active>1&&tabIndex!=4" size="mini">
- <el-radio :label="0" border style="margin-right: 0">濮旀墭鍗曚綅鍙栧洖</el-radio>
- <el-radio :label="1" border>瀹為獙瀹ゅ鐞�</el-radio>
- </el-radio-group>
- </el-form-item>
- <el-form-item label="鏄惁鐣欐牱:">
- <el-radio-group v-model="addObj.isLeave" border :disabled="active>1&&tabIndex!=4" size="mini">
- <el-radio :label="0" border style="margin-right: 0">涓嶇暀鏍�</el-radio>
- <el-radio :label="1" border>鐣欐牱</el-radio>
- </el-radio-group>
- </el-form-item>
- <el-form-item label="鎶ュ憡鍙戦�佹柟寮�:">
- <el-radio-group v-model="addObj.send" :disabled="active>1&&tabIndex!=4" size="mini">
- <el-radio :label="1" border style="margin-right: 0">鑷彇</el-radio>
- <el-radio :label="0" border>鍏朵粬</el-radio>
- </el-radio-group>
- </el-form-item>
- <el-form-item label="濮旀墭浜�:">
- <el-input v-model="addObj.prepareUser" :disabled="active>1&&tabIndex!=4" :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable size="small"></el-input>
- </el-form-item>
- <el-form-item label="濮旀墭浜鸿嫳鏂�:">
- <el-input v-model="addObj.prepareUserEn" :disabled="active>1&&tabIndex!=4" :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable size="small"></el-input>
- </el-form-item>
- <el-form-item label="澶囨敞:">
- <el-input v-model="addObj.remark" :autosize="{ minRows: 2, maxRows: 2}" :disabled="active>1&&tabIndex!=4" :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable
- size="small" style="width: 100%" type="textarea"></el-input>
- </el-form-item>
- <el-form-item label="澶囨敞鑻辨枃:">
- <el-input v-model="addObj.remarkEn" :autosize="{ minRows: 2, maxRows: 2}" :disabled="active>1&&tabIndex!=4" :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable
- size="small" type="textarea"></el-input>
- </el-form-item>
+ <el-row>
+ <el-col :span="6">
+ <el-form-item label="濮旀墭缂栧彿:">
+ <el-input v-model="addObj.entrustCode" clearable disabled placeholder="绯荤粺鐢熸垚" size="small"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="妫�楠岀被鍒�:" prop="orderType">
+ <el-select v-model="addObj.orderType" :disabled="active>1&&tabIndex!=4" clearable size="small" style="width: 100%;">
+ <el-option v-for="(a, ai) in dict.type.check_type1" :key="ai" :label="a.label" :value="a.value"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鍒跺崟浜�:">
+ <el-input v-model="addObj.custom" disabled size="small" clearable></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="濮旀墭鍗曚綅:" prop="company">
+ <el-input v-model="addObj.company" disabled placeholder="閫夋嫨濮旀墭鍗曚綅" size="small" style="width: 208px">
+ <template slot="append">
+ <el-button slot="append" :disabled="active>1&&tabIndex!=4" icon="el-icon-search"
+ @click="openCompanyList"></el-button>
+ </template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="6">
+ <el-form-item label="鑱旂郴鏂瑰紡:" prop="phone">
+ <el-input v-model="addObj.phone" :disabled="active>1&&tabIndex!=4" clearable placeholder="閫夋嫨濮旀墭瀹㈡埛" size="small"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="绱ф�ョ▼搴�:" prop="type">
+ <el-select v-model="addObj.type" :disabled="active>1&&tabIndex!=4" clearable size="small">
+ <el-option v-for="(a, ai) in dict.type.urgency_level" :key="ai" :label="a.label" :value="a.value"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鏍峰搧鍚嶇О:" prop="sample">
+ <el-input v-model="addObj.sample" disabled size="small" style="width: 208px">
+ <template slot="append"><el-button slot="append" :disabled="active>1&&tabIndex!=4" icon="el-icon-search"
+ @click="selectStandardTree = true"></el-button></template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鏍峰搧鏁伴噺:" prop="sampleNum" style="margin-right: 0">
+ <el-input-number v-model="addObj.sampleNum" :disabled="active>1" :max="100" :min="1" :precision="0"
+ size="small" @change="addStandardTree"></el-input-number>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="6">
+ <el-form-item label="鏍峰搧鐘舵��:" prop="sampleStatus">
+ <el-select v-model="addObj.sampleStatus" :disabled="active>1&&tabIndex!=4" size="small">
+ <el-option v-for="(a,ai) in dict.type.sample_status_list" :key="ai" :label="a.label" :value="a.value"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鎶芥鏁伴噺:" prop="testQuantity">
+ <el-input v-model="addObj.testQuantity" :disabled="active>1&&tabIndex!=4" clearable size="small"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鏉ユ牱鏂瑰紡:" prop="formType">
+ <el-select v-model="addObj.formType" :disabled="active>1&&tabIndex!=4" size="small" clearable>
+ <el-option v-for="(a,ai) in dict.type.form_type" :key="ai" :label="a.label" :value="a.value"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鐢熶骇鍗曚綅:" prop="production">
+ <el-input v-model="addObj.production" :disabled="active>1&&tabIndex!=4" clearable placeholder="璇疯緭鍏�"
+ size="small"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="6">
+ <el-form-item label="鐢熶骇鍗曚綅EN:" prop="productionEn">
+ <el-input v-model="addObj.productionEn" :disabled="active>1&&tabIndex!=4" clearable placeholder="璇疯緭鍏�"
+ size="small"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鏍峰搧澶勭悊鏂瑰紡:">
+ <el-radio-group v-model="addObj.processing" :disabled="active>1&&tabIndex!=4" size="mini">
+ <el-radio :label="0" border style="margin-right: 0">濮旀墭鍗曚綅鍙栧洖</el-radio>
+ <el-radio :label="1" border>瀹為獙瀹ゅ鐞�</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鏄惁鐣欐牱:">
+ <el-radio-group v-model="addObj.isLeave" border :disabled="active>1&&tabIndex!=4" size="mini">
+ <el-radio :label="0" border style="margin-right: 0">涓嶇暀鏍�</el-radio>
+ <el-radio :label="1" border>鐣欐牱</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="鎶ュ憡鍙戦�佹柟寮�:">
+ <el-radio-group v-model="addObj.send" :disabled="active>1&&tabIndex!=4" size="mini">
+ <el-radio :label="1" border style="margin-right: 0">鑷彇</el-radio>
+ <el-radio :label="0" border>鍏朵粬</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="6">
+ <el-form-item label="濮旀墭浜�:">
+ <el-input v-model="addObj.prepareUser" :disabled="active>1&&tabIndex!=4" :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable size="small"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="濮旀墭浜鸿嫳鏂�:">
+ <el-input v-model="addObj.prepareUserEn" :disabled="active>1&&tabIndex!=4" :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable size="small"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="澶囨敞:">
+ <el-input v-model="addObj.remark" :autosize="{ minRows: 2, maxRows: 2}" :disabled="active>1&&tabIndex!=4" :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable
+ size="small" style="width: 100%" type="textarea"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="6">
+ <el-form-item label="澶囨敞鑻辨枃:">
+ <el-input v-model="addObj.remarkEn" :autosize="{ minRows: 2, maxRows: 2}" :disabled="active>1&&tabIndex!=4" :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable
+ size="small" type="textarea"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
<el-row>
<el-col :span="6">
<el-form-item label="鏍峰搧鍚嶇О:">
@@ -154,10 +202,10 @@
</el-form>
</div>
<div>
- <div style="display: flex;justify-content: space-between;">
+ <div style="display: flex;justify-content: space-between;background-color: #F5F7FB;margin-bottom: 6px">
<div v-if="active==1">
<el-form :inline="true" :model="addObj1" label-width="90px">
- <el-form-item label="鏍峰搧鍨嬪彿:" style="margin-bottom: 6px">
+ <el-form-item label="鏍峰搧鍨嬪彿:" style="margin-bottom: 6px;margin-top: 6px">
<el-select v-model="model" :placeholder="active>1 ? '' : '璇疯緭鍏�'"
allow-create clearable default-first-option filterable
size="small"
@@ -166,7 +214,7 @@
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="妫�楠屾爣鍑�:">
+ <el-form-item label="妫�楠屾爣鍑�:" style="margin-bottom: 6px;margin-top: 6px">
<el-select v-model="standardMethodListId" :loading="methodLoad"
:placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable size="small"
@change="changeStandardMethodListId" @focus="methodFocus">
@@ -176,7 +224,7 @@
</el-form-item>
</el-form>
</div>
- <div style="display: flex;align-items: center;margin-bottom: 10px">
+ <div style="display: flex;align-items: center;margin-bottom: 6px;margin-top: 6px">
<span style="width: 150px;font-size: 14px;text-align: right;">鐗规畩鏍囧噯锛�</span>
<el-input v-model="specialStandardMethod" :disabled="!isSpecial" clearable size="small"></el-input>
<el-button v-show="active==1" size="small" style="margin-left: 10px"
@@ -248,6 +296,7 @@
</el-table-column>
</el-table>
<el-table ref="productTable" v-loading="getProductLoad" :data="productList" :row-class-name="tableRowClassName" border class="el-table"
+ :key="upIndex"
max-height="400px" style="margin-bottom: 10px;" tooltip-effect="dark"
@select="selectOne" @selection-change="selectProduct" @select-all="handleAll">
<el-table-column v-if="active==1" :selectable="selectable0" type="selection" width="65"></el-table-column>
@@ -686,6 +735,7 @@
sampleViewEn: null,
expandedKeys: [],
sampleList: [],
+ upIndex: 0,
sampleIds: [],
methodList: [],
addSampleDia: false,
@@ -847,6 +897,10 @@
// 缂栬緫瑕佹眰鍊艰〃鏍�
editSpecial () {
this.isSpecial = true
+ this.$nextTick(() => {
+ this.$refs.productTable.doLayout();
+ this.upIndex++
+ });
},
getQuarterOnOrderList () {
getQuarterOnOrder().then(res => {
@@ -1709,6 +1763,7 @@
this.$refs.sampleTable.setCurrentRow(row)
this.$nextTick(() => {
this.$refs.productTable.doLayout();
+ this.upIndex++
});
setTimeout(() => {
this.productList.forEach(a => {
diff --git a/src/views/business/productOrder/index.vue b/src/views/business/productOrder/index.vue
index 61af313..a7a22f7 100644
--- a/src/views/business/productOrder/index.vue
+++ b/src/views/business/productOrder/index.vue
@@ -46,8 +46,13 @@
<div class="table-tab">
<div>
<ul class="tab">
- <li v-for="(m, i) in tabList" :key="i + 'afgh'" :class="{ active: i == tabIndex }" @click="handleTab(m, i)">{{ m.label }}
- </li>
+ <li :class="{ active: tabIndex === 0 }" v-if="checkPermi(['get:insOrder:reviewed'])" @click="handleTab(0)">寰呭鏍�</li>
+ <li :class="{ active: tabIndex === 1 }" v-if="checkPermi(['get:insOrder:checkout'])" @click="handleTab(1)">妫�楠屼腑</li>
+ <li :class="{ active: tabIndex === 2 }" v-if="checkPermi(['get:insOrder:customerOrdered'])" @click="handleTab(2)">濮旀墭宸叉</li>
+ <li :class="{ active: tabIndex === 3 }" v-if="checkPermi(['get:insOrder:spotCheck'])" @click="handleTab(3)">鎶芥牱宸叉</li>
+ <li :class="{ active: tabIndex === 4 }" v-if="checkPermi(['get:insOrder:sendBack'])" @click="handleTab(4)">閫�鍥�</li>
+ <li :class="{ active: tabIndex === 5 }" v-if="checkPermi(['get:insOrder:revocation'])" @click="handleTab(5)">鎾ら攢</li>
+ <li :class="{ active: tabIndex === 6 }" v-if="checkPermi(['get:insOrder:all'])" @click="handleTab(6)">鍏ㄩ儴</li>
</ul>
</div>
<div>
@@ -55,7 +60,7 @@
@click="downLoad">瀵煎嚭</el-button>
<el-button v-if="tabIndex === 1" size="small" type="primary" @click="openAddIns">娣诲姞妫�楠岄」</el-button>
<el-button size="small" type="primary" @click="openPrint">鏍囩鎵撳嵃</el-button>
- <el-button size="small" type="primary" @click="playOrder(1)">涓嬪崟</el-button>
+ <el-button v-if="checkPermi(['add:insOrder'])" size="small" type="primary" @click="playOrder(1)">涓嬪崟</el-button>
</div>
</div>
<div class="table">
@@ -168,8 +173,7 @@
<span slot="footer" class="dialog-footer">
<el-row>
<el-button @click="handleNo">{{ deleteTilte == '鎾ら攢' ? '鍙� 娑�' : '涓嶉�氳繃' }}</el-button>
- <el-button :loading="printLoading" type="primary" @click="submitDelete">{{ deleteTilte == '鎾ら攢' ? '纭� 瀹�' : '閫�
- 杩�'}}</el-button>
+ <el-button :loading="printLoading" type="primary" @click="submitDelete">{{ deleteTilte == '鎾ら攢' ? '纭� 瀹�' : '閫氳繃'}}</el-button>
</el-row>
</span>
</el-dialog>
@@ -1176,7 +1180,7 @@
handleVerify(row) {
this.$router.push({ path: "/productOrder/add", query: { examine: 1, active: 3, currentId: row.id } });
},
- handleTab(m, i) {
+ handleTab(i) {
this.tabIndex = i;
this.refreshTable()
},
diff --git a/src/views/business/rawMaterialInspection/index.vue b/src/views/business/rawMaterialInspection/index.vue
index 0a6bcdf..c1bf5c8 100644
--- a/src/views/business/rawMaterialInspection/index.vue
+++ b/src/views/business/rawMaterialInspection/index.vue
@@ -54,8 +54,10 @@
<div class="table-tab">
<div>
<ul class="tab">
- <li v-for="m in tabList" :key="m.value" :class="{ active: m.value === tabIndex }" @click="handleTab(m)">
- {{ m.label }}</li>
+ <li :class="{ active: tabIndex === 0 }" @click="handleTab(0)">寰呮姤妫�</li>
+ <li :class="{ active: tabIndex === 1 }" @click="handleTab(1)">寰呬笅鍗�</li>
+ <li :class="{ active: tabIndex === 3 }" @click="handleTab(3)">宸插畬鎴�</li>
+ <li :class="{ active: tabIndex === 4 }" v-if="checkPermi(['get:Ifs:ByAll'])" @click="handleTab(4)">鍏ㄩ儴</li>
</ul>
</div>
<div>
@@ -525,7 +527,7 @@
methods: {
// 鍒囨崲tab琛ㄦ牸
handleTab(m) {
- this.tabIndex = m.value;
+ this.tabIndex = m;
this.refreshTable()
},
// 鏌ヨ鍥炶皟
diff --git a/src/views/monitor/job/index.vue b/src/views/monitor/job/index.vue
deleted file mode 100644
index d13394c..0000000
--- a/src/views/monitor/job/index.vue
+++ /dev/null
@@ -1,513 +0,0 @@
-<template>
- <div class="app-container">
- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
- <el-form-item label="浠诲姟鍚嶇О" prop="jobName">
- <el-input
- v-model="queryParams.jobName"
- placeholder="璇疯緭鍏ヤ换鍔″悕绉�"
- clearable
- @keyup.enter.native="handleQuery"
- />
- </el-form-item>
- <el-form-item label="浠诲姟缁勫悕" prop="jobGroup">
- <el-select v-model="queryParams.jobGroup" placeholder="璇烽�夋嫨浠诲姟缁勫悕" clearable>
- <el-option
- v-for="dict in dict.type.sys_job_group"
- :key="dict.value"
- :label="dict.label"
- :value="dict.value"
- />
- </el-select>
- </el-form-item>
- <el-form-item label="浠诲姟鐘舵��" prop="status">
- <el-select v-model="queryParams.status" placeholder="璇烽�夋嫨浠诲姟鐘舵��" clearable>
- <el-option
- v-for="dict in dict.type.sys_job_status"
- :key="dict.value"
- :label="dict.label"
- :value="dict.value"
- />
- </el-select>
- </el-form-item>
- <el-form-item>
- <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鏌� 璇�</el-button>
- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲� 缃�</el-button>
- </el-form-item>
- </el-form>
-
- <el-row :gutter="10" class="mb8">
- <el-col :span="1.5">
- <el-button
- type="primary"
- plain
- icon="el-icon-plus"
- size="mini"
- @click="handleAdd"
- v-hasPermi="['monitor:job:add']"
- >鏂板</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="success"
- plain
- icon="el-icon-edit"
- size="mini"
- :disabled="single"
- @click="handleUpdate"
- v-hasPermi="['monitor:job:edit']"
- >淇敼</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="danger"
- plain
- icon="el-icon-delete"
- size="mini"
- :disabled="multiple"
- @click="handleDelete"
- v-hasPermi="['monitor:job:remove']"
- >鍒犻櫎</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="warning"
- plain
- icon="el-icon-download"
- size="mini"
- @click="handleExport"
- v-hasPermi="['monitor:job:export']"
- >瀵煎嚭</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="info"
- plain
- icon="el-icon-s-operation"
- size="mini"
- @click="handleJobLog"
- v-hasPermi="['monitor:job:query']"
- >鏃ュ織</el-button>
- </el-col>
- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
- </el-row>
-
- <el-table v-loading="loading" :data="jobList" @selection-change="handleSelectionChange">
- <el-table-column type="selection" width="55" align="center" />
- <el-table-column label="浠诲姟缂栧彿" width="100" align="center" prop="jobId" />
- <el-table-column label="浠诲姟鍚嶇О" align="center" prop="jobName" :show-overflow-tooltip="true" />
- <el-table-column label="浠诲姟缁勫悕" align="center" prop="jobGroup">
- <template slot-scope="scope">
- <dict-tag :options="dict.type.sys_job_group" :value="scope.row.jobGroup"/>
- </template>
- </el-table-column>
- <el-table-column label="璋冪敤鐩爣瀛楃涓�" align="center" prop="invokeTarget" :show-overflow-tooltip="true" />
- <el-table-column label="cron鎵ц琛ㄨ揪寮�" align="center" prop="cronExpression" :show-overflow-tooltip="true" />
- <el-table-column label="鐘舵��" align="center">
- <template slot-scope="scope">
- <el-switch
- v-model="scope.row.status"
- active-value="0"
- inactive-value="1"
- @change="handleStatusChange(scope.row)"
- ></el-switch>
- </template>
- </el-table-column>
- <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
- <template slot-scope="scope">
- <el-button
- size="mini"
- type="text"
- icon="el-icon-edit"
- @click="handleUpdate(scope.row)"
- v-hasPermi="['monitor:job:edit']"
- >淇敼</el-button>
- <el-button
- size="mini"
- type="text"
- icon="el-icon-delete"
- @click="handleDelete(scope.row)"
- v-hasPermi="['monitor:job:remove']"
- >鍒犻櫎</el-button>
- <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['monitor:job:changeStatus', 'monitor:job:query']">
- <el-button size="mini" type="text" icon="el-icon-d-arrow-right">鏇村</el-button>
- <el-dropdown-menu slot="dropdown">
- <el-dropdown-item command="handleRun" icon="el-icon-caret-right"
- v-hasPermi="['monitor:job:changeStatus']">鎵ц涓�娆�</el-dropdown-item>
- <el-dropdown-item command="handleView" icon="el-icon-view"
- v-hasPermi="['monitor:job:query']">浠诲姟璇︾粏</el-dropdown-item>
- <el-dropdown-item command="handleJobLog" icon="el-icon-s-operation"
- v-hasPermi="['monitor:job:query']">璋冨害鏃ュ織</el-dropdown-item>
- </el-dropdown-menu>
- </el-dropdown>
- </template>
- </el-table-column>
- </el-table>
-
- <pagination
- v-show="total>0"
- :total="total"
- :page.sync="queryParams.pageNum"
- :limit.sync="queryParams.pageSize"
- @pagination="getList"
- />
-
- <!-- 娣诲姞鎴栦慨鏀瑰畾鏃朵换鍔″璇濇 -->
- <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
- <el-form ref="form" :model="form" :rules="rules" label-width="120px">
- <el-row>
- <el-col :span="12">
- <el-form-item label="浠诲姟鍚嶇О" prop="jobName">
- <el-input v-model="form.jobName" placeholder="璇疯緭鍏ヤ换鍔″悕绉�" />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="浠诲姟鍒嗙粍" prop="jobGroup">
- <el-select v-model="form.jobGroup" placeholder="璇烽�夋嫨浠诲姟鍒嗙粍">
- <el-option
- v-for="dict in dict.type.sys_job_group"
- :key="dict.value"
- :label="dict.label"
- :value="dict.value"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="24">
- <el-form-item prop="invokeTarget">
- <span slot="label">
- 璋冪敤鏂规硶
- <el-tooltip placement="top">
- <div slot="content">
- Bean璋冪敤绀轰緥锛歳yTask.ryParams('ry')
- <br />Class绫昏皟鐢ㄧず渚嬶細com.ruoyi.quartz.task.RyTask.ryParams('ry')
- <br />鍙傛暟璇存槑锛氭敮鎸佸瓧绗︿覆锛屽竷灏旂被鍨嬶紝闀挎暣鍨嬶紝娴偣鍨嬶紝鏁村瀷
- </div>
- <i class="el-icon-question"></i>
- </el-tooltip>
- </span>
- <el-input v-model="form.invokeTarget" placeholder="璇疯緭鍏ヨ皟鐢ㄧ洰鏍囧瓧绗︿覆" />
- </el-form-item>
- </el-col>
- <el-col :span="24">
- <el-form-item label="cron琛ㄨ揪寮�" prop="cronExpression">
- <el-input v-model="form.cronExpression" placeholder="璇疯緭鍏ron鎵ц琛ㄨ揪寮�">
- <template slot="append">
- <el-button type="primary" @click="handleShowCron">
- 鐢熸垚琛ㄨ揪寮�
- <i class="el-icon-time el-icon--right"></i>
- </el-button>
- </template>
- </el-input>
- </el-form-item>
- </el-col>
- <el-col :span="24" v-if="form.jobId !== undefined">
- <el-form-item label="鐘舵��">
- <el-radio-group v-model="form.status">
- <el-radio
- v-for="dict in dict.type.sys_job_status"
- :key="dict.value"
- :label="dict.value"
- >{{dict.label}}</el-radio>
- </el-radio-group>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="鎵ц绛栫暐" prop="misfirePolicy">
- <el-radio-group v-model="form.misfirePolicy" size="small">
- <el-radio-button label="1">绔嬪嵆鎵ц</el-radio-button>
- <el-radio-button label="2">鎵ц涓�娆�</el-radio-button>
- <el-radio-button label="3">鏀惧純鎵ц</el-radio-button>
- </el-radio-group>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="鏄惁骞跺彂" prop="concurrent">
- <el-radio-group v-model="form.concurrent" size="small">
- <el-radio-button label="0">鍏佽</el-radio-button>
- <el-radio-button label="1">绂佹</el-radio-button>
- </el-radio-group>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="primary" @click="submitForm">纭� 瀹�</el-button>
- <el-button @click="cancel">鍙� 娑�</el-button>
- </div>
- </el-dialog>
-
- <el-dialog title="Cron琛ㄨ揪寮忕敓鎴愬櫒" :visible.sync="openCron" append-to-body destroy-on-close class="scrollbar">
- <crontab @hide="openCron=false" @fill="crontabFill" :expression="expression"></crontab>
- </el-dialog>
-
- <!-- 浠诲姟鏃ュ織璇︾粏 -->
- <el-dialog title="浠诲姟璇︾粏" :visible.sync="openView" width="700px" append-to-body>
- <el-form ref="form" :model="form" label-width="120px" size="mini">
- <el-row>
- <el-col :span="12">
- <el-form-item label="浠诲姟缂栧彿锛�">{{ form.jobId }}</el-form-item>
- <el-form-item label="浠诲姟鍚嶇О锛�">{{ form.jobName }}</el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="浠诲姟鍒嗙粍锛�">{{ jobGroupFormat(form) }}</el-form-item>
- <el-form-item label="鍒涘缓鏃堕棿锛�">{{ form.createTime }}</el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="cron琛ㄨ揪寮忥細">{{ form.cronExpression }}</el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="涓嬫鎵ц鏃堕棿锛�">{{ parseTime(form.nextValidTime) }}</el-form-item>
- </el-col>
- <el-col :span="24">
- <el-form-item label="璋冪敤鐩爣鏂规硶锛�">{{ form.invokeTarget }}</el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="浠诲姟鐘舵�侊細">
- <div v-if="form.status == 0">姝e父</div>
- <div v-else-if="form.status == 1">鏆傚仠</div>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="鏄惁骞跺彂锛�">
- <div v-if="form.concurrent == 0">鍏佽</div>
- <div v-else-if="form.concurrent == 1">绂佹</div>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="鎵ц绛栫暐锛�">
- <div v-if="form.misfirePolicy == 0">榛樿绛栫暐</div>
- <div v-else-if="form.misfirePolicy == 1">绔嬪嵆鎵ц</div>
- <div v-else-if="form.misfirePolicy == 2">鎵ц涓�娆�</div>
- <div v-else-if="form.misfirePolicy == 3">鏀惧純鎵ц</div>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button @click="openView = false">鍏� 闂�</el-button>
- </div>
- </el-dialog>
- </div>
-</template>
-
-<script>
-import { listJob, getJob, delJob, addJob, updateJob, runJob, changeJobStatus } from "@/api/monitor/job";
-import Crontab from '@/components/Crontab'
-
-export default {
- components: { Crontab },
- name: "Job",
- dicts: ['sys_job_group', 'sys_job_status'],
- data() {
- return {
- // 閬僵灞�
- loading: true,
- // 閫変腑鏁扮粍
- ids: [],
- // 闈炲崟涓鐢�
- single: true,
- // 闈炲涓鐢�
- multiple: true,
- // 鏄剧ず鎼滅储鏉′欢
- showSearch: true,
- // 鎬绘潯鏁�
- total: 0,
- // 瀹氭椂浠诲姟琛ㄦ牸鏁版嵁
- jobList: [],
- // 寮瑰嚭灞傛爣棰�
- title: "",
- // 鏄惁鏄剧ず寮瑰嚭灞�
- open: false,
- // 鏄惁鏄剧ず璇︾粏寮瑰嚭灞�
- openView: false,
- // 鏄惁鏄剧ずCron琛ㄨ揪寮忓脊鍑哄眰
- openCron: false,
- // 浼犲叆鐨勮〃杈惧紡
- expression: "",
- // 鏌ヨ鍙傛暟
- queryParams: {
- pageNum: 1,
- pageSize: 10,
- jobName: undefined,
- jobGroup: undefined,
- status: undefined
- },
- // 琛ㄥ崟鍙傛暟
- form: {},
- // 琛ㄥ崟鏍¢獙
- rules: {
- jobName: [
- { required: true, message: "浠诲姟鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
- ],
- invokeTarget: [
- { required: true, message: "璋冪敤鐩爣瀛楃涓蹭笉鑳戒负绌�", trigger: "blur" }
- ],
- cronExpression: [
- { required: true, message: "cron鎵ц琛ㄨ揪寮忎笉鑳戒负绌�", trigger: "blur" }
- ]
- }
- };
- },
- created() {
- this.getList();
- },
- methods: {
- /** 鏌ヨ瀹氭椂浠诲姟鍒楄〃 */
- getList() {
- this.loading = true;
- listJob(this.queryParams).then(response => {
- this.jobList = response.rows;
- this.total = response.total;
- this.loading = false;
- });
- },
- // 浠诲姟缁勫悕瀛楀吀缈昏瘧
- jobGroupFormat(row, column) {
- return this.selectDictLabel(this.dict.type.sys_job_group, row.jobGroup);
- },
- // 鍙栨秷鎸夐挳
- cancel() {
- this.open = false;
- this.reset();
- },
- // 琛ㄥ崟閲嶇疆
- reset() {
- this.form = {
- jobId: undefined,
- jobName: undefined,
- jobGroup: undefined,
- invokeTarget: undefined,
- cronExpression: undefined,
- misfirePolicy: 1,
- concurrent: 1,
- status: "0"
- };
- this.resetForm("form");
- },
- /** 鎼滅储鎸夐挳鎿嶄綔 */
- handleQuery() {
- this.queryParams.pageNum = 1;
- this.getList();
- },
- /** 閲嶇疆鎸夐挳鎿嶄綔 */
- resetQuery() {
- this.resetForm("queryForm");
- this.handleQuery();
- },
- // 澶氶�夋閫変腑鏁版嵁
- handleSelectionChange(selection) {
- this.ids = selection.map(item => item.jobId);
- this.single = selection.length != 1;
- this.multiple = !selection.length;
- },
- // 鏇村鎿嶄綔瑙﹀彂
- handleCommand(command, row) {
- switch (command) {
- case "handleRun":
- this.handleRun(row);
- break;
- case "handleView":
- this.handleView(row);
- break;
- case "handleJobLog":
- this.handleJobLog(row);
- break;
- default:
- break;
- }
- },
- // 浠诲姟鐘舵�佷慨鏀�
- handleStatusChange(row) {
- let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
- this.$modal.confirm('纭瑕�"' + text + '""' + row.jobName + '"浠诲姟鍚楋紵').then(function() {
- return changeJobStatus(row.jobId, row.status);
- }).then(() => {
- this.$modal.msgSuccess(text + "鎴愬姛");
- }).catch(function() {
- row.status = row.status === "0" ? "1" : "0";
- });
- },
- /* 绔嬪嵆鎵ц涓�娆� */
- handleRun(row) {
- this.$modal.confirm('纭瑕佺珛鍗虫墽琛屼竴娆�"' + row.jobName + '"浠诲姟鍚楋紵').then(function() {
- return runJob(row.jobId, row.jobGroup);
- }).then(() => {
- this.$modal.msgSuccess("鎵ц鎴愬姛");
- }).catch(() => {});
- },
- /** 浠诲姟璇︾粏淇℃伅 */
- handleView(row) {
- getJob(row.jobId).then(response => {
- this.form = response.data;
- this.openView = true;
- });
- },
- /** cron琛ㄨ揪寮忔寜閽搷浣� */
- handleShowCron() {
- this.expression = this.form.cronExpression;
- this.openCron = true;
- },
- /** 纭畾鍚庡洖浼犲�� */
- crontabFill(value) {
- this.form.cronExpression = value;
- },
- /** 浠诲姟鏃ュ織鍒楄〃鏌ヨ */
- handleJobLog(row) {
- const jobId = row.jobId || 0;
- this.$router.push('/monitor/job-log/index/' + jobId)
- },
- /** 鏂板鎸夐挳鎿嶄綔 */
- handleAdd() {
- this.reset();
- this.open = true;
- this.title = "娣诲姞浠诲姟";
- },
- /** 淇敼鎸夐挳鎿嶄綔 */
- handleUpdate(row) {
- this.reset();
- const jobId = row.jobId || this.ids;
- getJob(jobId).then(response => {
- this.form = response.data;
- this.open = true;
- this.title = "淇敼浠诲姟";
- });
- },
- /** 鎻愪氦鎸夐挳 */
- submitForm: function() {
- this.$refs["form"].validate(valid => {
- if (valid) {
- if (this.form.jobId != undefined) {
- updateJob(this.form).then(response => {
- this.$modal.msgSuccess("淇敼鎴愬姛");
- this.open = false;
- this.getList();
- });
- } else {
- addJob(this.form).then(response => {
- this.$modal.msgSuccess("鏂板鎴愬姛");
- this.open = false;
- this.getList();
- });
- }
- }
- });
- },
- /** 鍒犻櫎鎸夐挳鎿嶄綔 */
- handleDelete(row) {
- const jobIds = row.jobId || this.ids;
- this.$modal.confirm('鏄惁纭鍒犻櫎瀹氭椂浠诲姟缂栧彿涓�"' + jobIds + '"鐨勬暟鎹」锛�').then(function() {
- return delJob(jobIds);
- }).then(() => {
- this.getList();
- this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- }).catch(() => {});
- },
- /** 瀵煎嚭鎸夐挳鎿嶄綔 */
- handleExport() {
- this.download('monitor/job/export', {
- ...this.queryParams
- }, `job_${new Date().getTime()}.xlsx`)
- }
- }
-};
-</script>
diff --git a/src/views/monitor/job/log.vue b/src/views/monitor/job/log.vue
deleted file mode 100644
index 8f044b3..0000000
--- a/src/views/monitor/job/log.vue
+++ /dev/null
@@ -1,295 +0,0 @@
-<template>
- <div class="app-container">
- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
- <el-form-item label="浠诲姟鍚嶇О" prop="jobName">
- <el-input
- v-model="queryParams.jobName"
- placeholder="璇疯緭鍏ヤ换鍔″悕绉�"
- clearable
- style="width: 240px"
- @keyup.enter.native="handleQuery"
- />
- </el-form-item>
- <el-form-item label="浠诲姟缁勫悕" prop="jobGroup">
- <el-select
- v-model="queryParams.jobGroup"
- placeholder="璇烽�夋嫨浠诲姟缁勫悕"
- clearable
- style="width: 240px"
- >
- <el-option
- v-for="dict in dict.type.sys_job_group"
- :key="dict.value"
- :label="dict.label"
- :value="dict.value"
- />
- </el-select>
- </el-form-item>
- <el-form-item label="鎵ц鐘舵��" prop="status">
- <el-select
- v-model="queryParams.status"
- placeholder="璇烽�夋嫨鎵ц鐘舵��"
- clearable
- style="width: 240px"
- >
- <el-option
- v-for="dict in dict.type.sys_common_status"
- :key="dict.value"
- :label="dict.label"
- :value="dict.value"
- />
- </el-select>
- </el-form-item>
- <el-form-item label="鎵ц鏃堕棿">
- <el-date-picker
- v-model="dateRange"
- style="width: 240px"
- value-format="yyyy-MM-dd"
- type="daterange"
- range-separator="-"
- start-placeholder="寮�濮嬫棩鏈�"
- end-placeholder="缁撴潫鏃ユ湡"
- ></el-date-picker>
- </el-form-item>
- <el-form-item>
- <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鏌� 璇�</el-button>
- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲� 缃�</el-button>
- </el-form-item>
- </el-form>
-
- <el-row :gutter="10" class="mb8">
- <el-col :span="1.5">
- <el-button
- type="danger"
- plain
- icon="el-icon-delete"
- size="mini"
- :disabled="multiple"
- @click="handleDelete"
- v-hasPermi="['monitor:job:remove']"
- >鍒犻櫎</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="danger"
- plain
- icon="el-icon-delete"
- size="mini"
- @click="handleClean"
- v-hasPermi="['monitor:job:remove']"
- >娓呯┖</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="warning"
- plain
- icon="el-icon-download"
- size="mini"
- @click="handleExport"
- v-hasPermi="['monitor:job:export']"
- >瀵煎嚭</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="warning"
- plain
- icon="el-icon-close"
- size="mini"
- @click="handleClose"
- >鍏抽棴</el-button>
- </el-col>
- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
- </el-row>
-
- <el-table v-loading="loading" :data="jobLogList" @selection-change="handleSelectionChange">
- <el-table-column type="selection" width="55" align="center" />
- <el-table-column label="鏃ュ織缂栧彿" width="80" align="center" prop="jobLogId" />
- <el-table-column label="浠诲姟鍚嶇О" align="center" prop="jobName" :show-overflow-tooltip="true" />
- <el-table-column label="浠诲姟缁勫悕" align="center" prop="jobGroup" :show-overflow-tooltip="true">
- <template slot-scope="scope">
- <dict-tag :options="dict.type.sys_job_group" :value="scope.row.jobGroup"/>
- </template>
- </el-table-column>
- <el-table-column label="璋冪敤鐩爣瀛楃涓�" align="center" prop="invokeTarget" :show-overflow-tooltip="true" />
- <el-table-column label="鏃ュ織淇℃伅" align="center" prop="jobMessage" :show-overflow-tooltip="true" />
- <el-table-column label="鎵ц鐘舵��" align="center" prop="status">
- <template slot-scope="scope">
- <dict-tag :options="dict.type.sys_common_status" :value="scope.row.status"/>
- </template>
- </el-table-column>
- <el-table-column label="鎵ц鏃堕棿" align="center" prop="createTime" width="180">
- <template slot-scope="scope">
- <span>{{ parseTime(scope.row.createTime) }}</span>
- </template>
- </el-table-column>
- <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
- <template slot-scope="scope">
- <el-button
- size="mini"
- type="text"
- icon="el-icon-view"
- @click="handleView(scope.row)"
- v-hasPermi="['monitor:job:query']"
- >璇︾粏</el-button>
- </template>
- </el-table-column>
- </el-table>
-
- <pagination
- v-show="total>0"
- :total="total"
- :page.sync="queryParams.pageNum"
- :limit.sync="queryParams.pageSize"
- @pagination="getList"
- />
-
- <!-- 璋冨害鏃ュ織璇︾粏 -->
- <el-dialog title="璋冨害鏃ュ織璇︾粏" :visible.sync="open" width="700px" append-to-body>
- <el-form ref="form" :model="form" label-width="100px" size="mini">
- <el-row>
- <el-col :span="12">
- <el-form-item label="鏃ュ織搴忓彿锛�">{{ form.jobLogId }}</el-form-item>
- <el-form-item label="浠诲姟鍚嶇О锛�">{{ form.jobName }}</el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="浠诲姟鍒嗙粍锛�">{{ form.jobGroup }}</el-form-item>
- <el-form-item label="鎵ц鏃堕棿锛�">{{ form.createTime }}</el-form-item>
- </el-col>
- <el-col :span="24">
- <el-form-item label="璋冪敤鏂规硶锛�">{{ form.invokeTarget }}</el-form-item>
- </el-col>
- <el-col :span="24">
- <el-form-item label="鏃ュ織淇℃伅锛�">{{ form.jobMessage }}</el-form-item>
- </el-col>
- <el-col :span="24">
- <el-form-item label="鎵ц鐘舵�侊細">
- <div v-if="form.status == 0">姝e父</div>
- <div v-else-if="form.status == 1">澶辫触</div>
- </el-form-item>
- </el-col>
- <el-col :span="24">
- <el-form-item label="寮傚父淇℃伅锛�" v-if="form.status == 1">{{ form.exceptionInfo }}</el-form-item>
- </el-col>
- </el-row>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button @click="open = false">鍏� 闂�</el-button>
- </div>
- </el-dialog>
- </div>
-</template>
-
-<script>
-import { getJob} from "@/api/monitor/job";
-import { listJobLog, delJobLog, cleanJobLog } from "@/api/monitor/jobLog";
-
-export default {
- name: "JobLog",
- dicts: ['sys_common_status', 'sys_job_group'],
- data() {
- return {
- // 閬僵灞�
- loading: true,
- // 閫変腑鏁扮粍
- ids: [],
- // 闈炲涓鐢�
- multiple: true,
- // 鏄剧ず鎼滅储鏉′欢
- showSearch: true,
- // 鎬绘潯鏁�
- total: 0,
- // 璋冨害鏃ュ織琛ㄦ牸鏁版嵁
- jobLogList: [],
- // 鏄惁鏄剧ず寮瑰嚭灞�
- open: false,
- // 鏃ユ湡鑼冨洿
- dateRange: [],
- // 琛ㄥ崟鍙傛暟
- form: {},
- // 鏌ヨ鍙傛暟
- queryParams: {
- pageNum: 1,
- pageSize: 10,
- jobName: undefined,
- jobGroup: undefined,
- status: undefined
- }
- };
- },
- created() {
- const jobId = this.$route.params && this.$route.params.jobId;
- if (jobId !== undefined && jobId != 0) {
- getJob(jobId).then(response => {
- this.queryParams.jobName = response.data.jobName;
- this.queryParams.jobGroup = response.data.jobGroup;
- this.getList();
- });
- } else {
- this.getList();
- }
- },
- methods: {
- /** 鏌ヨ璋冨害鏃ュ織鍒楄〃 */
- getList() {
- this.loading = true;
- listJobLog(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
- this.jobLogList = response.rows;
- this.total = response.total;
- this.loading = false;
- }
- );
- },
- // 杩斿洖鎸夐挳
- handleClose() {
- const obj = { path: "/monitor/job" };
- this.$tab.closeOpenPage(obj);
- },
- /** 鎼滅储鎸夐挳鎿嶄綔 */
- handleQuery() {
- this.queryParams.pageNum = 1;
- this.getList();
- },
- /** 閲嶇疆鎸夐挳鎿嶄綔 */
- resetQuery() {
- this.dateRange = [];
- this.resetForm("queryForm");
- this.handleQuery();
- },
- // 澶氶�夋閫変腑鏁版嵁
- handleSelectionChange(selection) {
- this.ids = selection.map(item => item.jobLogId);
- this.multiple = !selection.length;
- },
- /** 璇︾粏鎸夐挳鎿嶄綔 */
- handleView(row) {
- this.open = true;
- this.form = row;
- },
- /** 鍒犻櫎鎸夐挳鎿嶄綔 */
- handleDelete(row) {
- const jobLogIds = this.ids;
- this.$modal.confirm('鏄惁纭鍒犻櫎璋冨害鏃ュ織缂栧彿涓�"' + jobLogIds + '"鐨勬暟鎹」锛�').then(function() {
- return delJobLog(jobLogIds);
- }).then(() => {
- this.getList();
- this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- }).catch(() => {});
- },
- /** 娓呯┖鎸夐挳鎿嶄綔 */
- handleClean() {
- this.$modal.confirm('鏄惁纭娓呯┖鎵�鏈夎皟搴︽棩蹇楁暟鎹」锛�').then(function() {
- return cleanJobLog();
- }).then(() => {
- this.getList();
- this.$modal.msgSuccess("娓呯┖鎴愬姛");
- }).catch(() => {});
- },
- /** 瀵煎嚭鎸夐挳鎿嶄綔 */
- handleExport() {
- this.download('/monitor/jobLog/export', {
- ...this.queryParams
- }, `log_${new Date().getTime()}.xlsx`)
- }
- }
-};
-</script>
diff --git a/src/views/performance/manHour/workTimeManagement.vue b/src/views/performance/manHour/workTimeManagement.vue
index 9e7a9c0..7fb4049 100644
--- a/src/views/performance/manHour/workTimeManagement.vue
+++ b/src/views/performance/manHour/workTimeManagement.vue
@@ -518,9 +518,10 @@
param = { ...entity, ...this.page };
} else {
param = { ...this.entity, ...this.page };
- param.dateTime = JSON.stringify(param.dateTime);
+ param.dateTime = param.dateTime?.length > 0 ? JSON.stringify(param.dateTime) : null;
}
delete param.total;
+ console.log('11111111111111111')
selectAuxiliaryWorkingHoursDay({ ...param })
.then((res) => {
this.tableLoading = false;
diff --git a/src/views/structural/capabilityAndLaboratory/laboratory/index.vue b/src/views/structural/capabilityAndLaboratory/laboratory/index.vue
index 8ab749f..16a9d49 100644
--- a/src/views/structural/capabilityAndLaboratory/laboratory/index.vue
+++ b/src/views/structural/capabilityAndLaboratory/laboratory/index.vue
@@ -328,7 +328,11 @@
},
// 璧勮川鏄庣粏闄勪欢涓嬭浇
handleDownLoad(row) {
- const url = process.env.VUE_APP_BASE_API + "/img/" + row.fileUrl;
+ if (!row.fileUrl) {
+ this.$message.warning('鏆傛棤闄勪欢')
+ return;
+ }
+ const url = this.javaApi + "/img/" + row.fileUrl;
this.$download.saveAs(url, row.fileUrl);
},
openAdd() {
diff --git a/src/views/tool/gen/basicInfoForm.vue b/src/views/tool/gen/basicInfoForm.vue
deleted file mode 100644
index 7029529..0000000
--- a/src/views/tool/gen/basicInfoForm.vue
+++ /dev/null
@@ -1,60 +0,0 @@
-<template>
- <el-form ref="basicInfoForm" :model="info" :rules="rules" label-width="150px">
- <el-row>
- <el-col :span="12">
- <el-form-item label="琛ㄥ悕绉�" prop="tableName">
- <el-input placeholder="璇疯緭鍏ヤ粨搴撳悕绉�" v-model="info.tableName" />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="琛ㄦ弿杩�" prop="tableComment">
- <el-input placeholder="璇疯緭鍏�" v-model="info.tableComment" />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="瀹炰綋绫诲悕绉�" prop="className">
- <el-input placeholder="璇疯緭鍏�" v-model="info.className" />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="浣滆��" prop="functionAuthor">
- <el-input placeholder="璇疯緭鍏�" v-model="info.functionAuthor" />
- </el-form-item>
- </el-col>
- <el-col :span="24">
- <el-form-item label="澶囨敞" prop="remark">
- <el-input type="textarea" :rows="3" v-model="info.remark"></el-input>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
-</template>
-
-<script>
-export default {
- props: {
- info: {
- type: Object,
- default: null
- }
- },
- data() {
- return {
- rules: {
- tableName: [
- { required: true, message: "璇疯緭鍏ヨ〃鍚嶇О", trigger: "blur" }
- ],
- tableComment: [
- { required: true, message: "璇疯緭鍏ヨ〃鎻忚堪", trigger: "blur" }
- ],
- className: [
- { required: true, message: "璇疯緭鍏ュ疄浣撶被鍚嶇О", trigger: "blur" }
- ],
- functionAuthor: [
- { required: true, message: "璇疯緭鍏ヤ綔鑰�", trigger: "blur" }
- ]
- }
- };
- }
-};
-</script>
diff --git a/src/views/tool/gen/createTable.vue b/src/views/tool/gen/createTable.vue
deleted file mode 100644
index f914b5d..0000000
--- a/src/views/tool/gen/createTable.vue
+++ /dev/null
@@ -1,45 +0,0 @@
-<template>
- <!-- 鍒涘缓琛� -->
- <el-dialog title="鍒涘缓琛�" :visible.sync="visible" width="800px" top="5vh" append-to-body>
- <span>鍒涘缓琛ㄨ鍙�(鏀寔澶氫釜寤鸿〃璇彞)锛�</span>
- <el-input type="textarea" :rows="10" placeholder="璇疯緭鍏ユ枃鏈�" v-model="content"></el-input>
- <div slot="footer" class="dialog-footer">
- <el-button type="primary" @click="handleCreateTable">纭� 瀹�</el-button>
- <el-button @click="visible = false">鍙� 娑�</el-button>
- </div>
- </el-dialog>
-</template>
-
-<script>
-import { createTable } from "@/api/tool/gen";
-export default {
- data() {
- return {
- // 閬僵灞�
- visible: false,
- // 鏂囨湰鍐呭
- content: ""
- };
- },
- methods: {
- // 鏄剧ず寮规
- show() {
- this.visible = true;
- },
- /** 鍒涘缓鎸夐挳鎿嶄綔 */
- handleCreateTable() {
- if (this.content === "") {
- this.$modal.msgError("璇疯緭鍏ュ缓琛ㄨ鍙�");
- return;
- }
- createTable({ sql: this.content }).then(res => {
- this.$modal.msgSuccess(res.msg);
- if (res.code === 200) {
- this.visible = false;
- this.$emit("ok");
- }
- });
- }
- }
-};
-</script>
diff --git a/src/views/tool/gen/editTable.vue b/src/views/tool/gen/editTable.vue
deleted file mode 100644
index 951497a..0000000
--- a/src/views/tool/gen/editTable.vue
+++ /dev/null
@@ -1,234 +0,0 @@
-<template>
- <el-card>
- <el-tabs v-model="activeName">
- <el-tab-pane label="鍩烘湰淇℃伅" name="basic">
- <basic-info-form ref="basicInfo" :info="info" />
- </el-tab-pane>
- <el-tab-pane label="瀛楁淇℃伅" name="columnInfo">
- <el-table ref="dragTable" :data="columns" row-key="columnId" :max-height="tableHeight">
- <el-table-column label="搴忓彿" type="index" min-width="5%" class-name="allowDrag" />
- <el-table-column
- label="瀛楁鍒楀悕"
- prop="columnName"
- min-width="10%"
- :show-overflow-tooltip="true"
- />
- <el-table-column label="瀛楁鎻忚堪" min-width="10%">
- <template slot-scope="scope">
- <el-input v-model="scope.row.columnComment"></el-input>
- </template>
- </el-table-column>
- <el-table-column
- label="鐗╃悊绫诲瀷"
- prop="columnType"
- min-width="10%"
- :show-overflow-tooltip="true"
- />
- <el-table-column label="Java绫诲瀷" min-width="11%">
- <template slot-scope="scope">
- <el-select v-model="scope.row.javaType">
- <el-option label="Long" value="Long" />
- <el-option label="String" value="String" />
- <el-option label="Integer" value="Integer" />
- <el-option label="Double" value="Double" />
- <el-option label="BigDecimal" value="BigDecimal" />
- <el-option label="Date" value="Date" />
- <el-option label="Boolean" value="Boolean" />
- </el-select>
- </template>
- </el-table-column>
- <el-table-column label="java灞炴��" min-width="10%">
- <template slot-scope="scope">
- <el-input v-model="scope.row.javaField"></el-input>
- </template>
- </el-table-column>
-
- <el-table-column label="鎻掑叆" min-width="5%">
- <template slot-scope="scope">
- <el-checkbox true-label="1" false-label="0" v-model="scope.row.isInsert"></el-checkbox>
- </template>
- </el-table-column>
- <el-table-column label="缂栬緫" min-width="5%">
- <template slot-scope="scope">
- <el-checkbox true-label="1" false-label="0" v-model="scope.row.isEdit"></el-checkbox>
- </template>
- </el-table-column>
- <el-table-column label="鍒楄〃" min-width="5%">
- <template slot-scope="scope">
- <el-checkbox true-label="1" false-label="0" v-model="scope.row.isList"></el-checkbox>
- </template>
- </el-table-column>
- <el-table-column label="鏌ヨ" min-width="5%">
- <template slot-scope="scope">
- <el-checkbox true-label="1" false-label="0" v-model="scope.row.isQuery"></el-checkbox>
- </template>
- </el-table-column>
- <el-table-column label="鏌ヨ鏂瑰紡" min-width="10%">
- <template slot-scope="scope">
- <el-select v-model="scope.row.queryType">
- <el-option label="=" value="EQ" />
- <el-option label="!=" value="NE" />
- <el-option label=">" value="GT" />
- <el-option label=">=" value="GTE" />
- <el-option label="<" value="LT" />
- <el-option label="<=" value="LTE" />
- <el-option label="LIKE" value="LIKE" />
- <el-option label="BETWEEN" value="BETWEEN" />
- </el-select>
- </template>
- </el-table-column>
- <el-table-column label="蹇呭~" min-width="5%">
- <template slot-scope="scope">
- <el-checkbox true-label="1" false-label="0" v-model="scope.row.isRequired"></el-checkbox>
- </template>
- </el-table-column>
- <el-table-column label="鏄剧ず绫诲瀷" min-width="12%">
- <template slot-scope="scope">
- <el-select v-model="scope.row.htmlType">
- <el-option label="鏂囨湰妗�" value="input" />
- <el-option label="鏂囨湰鍩�" value="textarea" />
- <el-option label="涓嬫媺妗�" value="select" />
- <el-option label="鍗曢�夋" value="radio" />
- <el-option label="澶嶉�夋" value="checkbox" />
- <el-option label="鏃ユ湡鎺т欢" value="datetime" />
- <el-option label="鍥剧墖涓婁紶" value="imageUpload" />
- <el-option label="鏂囦欢涓婁紶" value="fileUpload" />
- <el-option label="瀵屾枃鏈帶浠�" value="editor" />
- </el-select>
- </template>
- </el-table-column>
- <el-table-column label="瀛楀吀绫诲瀷" min-width="12%">
- <template slot-scope="scope">
- <el-select v-model="scope.row.dictType" clearable filterable placeholder="璇烽�夋嫨">
- <el-option
- v-for="dict in dictOptions"
- :key="dict.dictType"
- :label="dict.dictName"
- :value="dict.dictType">
- <span style="float: left">{{ dict.dictName }}</span>
- <span style="float: right; color: #8492a6; font-size: 13px">{{ dict.dictType }}</span>
- </el-option>
- </el-select>
- </template>
- </el-table-column>
- </el-table>
- </el-tab-pane>
- <el-tab-pane label="鐢熸垚淇℃伅" name="genInfo">
- <gen-info-form ref="genInfo" :info="info" :tables="tables" :menus="menus"/>
- </el-tab-pane>
- </el-tabs>
- <el-form label-width="100px">
- <el-form-item style="text-align: center;margin-left:-100px;margin-top:10px;">
- <el-button type="primary" @click="submitForm()">鎻愪氦</el-button>
- <el-button @click="close()">杩斿洖</el-button>
- </el-form-item>
- </el-form>
- </el-card>
-</template>
-
-<script>
-import { getGenTable, updateGenTable } from "@/api/tool/gen";
-import { optionselect as getDictOptionselect } from "@/api/system/dict/type";
-import { listMenu as getMenuTreeselect } from "@/api/system/menu";
-import basicInfoForm from "./basicInfoForm";
-import genInfoForm from "./genInfoForm";
-import Sortable from 'sortablejs'
-
-export default {
- name: "GenEdit",
- components: {
- basicInfoForm,
- genInfoForm
- },
- data() {
- return {
- // 閫変腑閫夐」鍗$殑 name
- activeName: "columnInfo",
- // 琛ㄦ牸鐨勯珮搴�
- tableHeight: document.documentElement.scrollHeight - 245 + "px",
- // 琛ㄤ俊鎭�
- tables: [],
- // 琛ㄥ垪淇℃伅
- columns: [],
- // 瀛楀吀淇℃伅
- dictOptions: [],
- // 鑿滃崟淇℃伅
- menus: [],
- // 琛ㄨ缁嗕俊鎭�
- info: {}
- };
- },
- created() {
- const tableId = this.$route.params && this.$route.params.tableId;
- if (tableId) {
- // 鑾峰彇琛ㄨ缁嗕俊鎭�
- getGenTable(tableId).then(res => {
- this.columns = res.data.rows;
- this.info = res.data.info;
- this.tables = res.data.tables;
- });
- /** 鏌ヨ瀛楀吀涓嬫媺鍒楄〃 */
- getDictOptionselect().then(response => {
- this.dictOptions = response.data;
- });
- /** 鏌ヨ鑿滃崟涓嬫媺鍒楄〃 */
- getMenuTreeselect().then(response => {
- this.menus = this.handleTree(response.data, "menuId");
- });
- }
- },
- methods: {
- /** 鎻愪氦鎸夐挳 */
- submitForm() {
- const basicForm = this.$refs.basicInfo.$refs.basicInfoForm;
- const genForm = this.$refs.genInfo.$refs.genInfoForm;
- Promise.all([basicForm, genForm].map(this.getFormPromise)).then(res => {
- const validateResult = res.every(item => !!item);
- if (validateResult) {
- const genTable = Object.assign({}, basicForm.model, genForm.model);
- genTable.columns = this.columns;
- genTable.params = {
- treeCode: genTable.treeCode,
- treeName: genTable.treeName,
- treeParentCode: genTable.treeParentCode,
- parentMenuId: genTable.parentMenuId
- };
- updateGenTable(genTable).then(res => {
- this.$modal.msgSuccess(res.msg);
- if (res.code === 200) {
- this.close();
- }
- });
- } else {
- this.$modal.msgError("琛ㄥ崟鏍¢獙鏈�氳繃锛岃閲嶆柊妫�鏌ユ彁浜ゅ唴瀹�");
- }
- });
- },
- getFormPromise(form) {
- return new Promise(resolve => {
- form.validate(res => {
- resolve(res);
- });
- });
- },
- /** 鍏抽棴鎸夐挳 */
- close() {
- const obj = { path: "/tool/gen", query: { t: Date.now(), pageNum: this.$route.query.pageNum } };
- this.$tab.closeOpenPage(obj);
- }
- },
- mounted() {
- const el = this.$refs.dragTable.$el.querySelectorAll(".el-table__body-wrapper > table > tbody")[0];
- const sortable = Sortable.create(el, {
- handle: ".allowDrag",
- onEnd: evt => {
- const targetRow = this.columns.splice(evt.oldIndex, 1)[0];
- this.columns.splice(evt.newIndex, 0, targetRow);
- for (let index in this.columns) {
- this.columns[index].sort = parseInt(index) + 1;
- }
- }
- });
- }
-};
-</script>
diff --git a/src/views/tool/gen/genInfoForm.vue b/src/views/tool/gen/genInfoForm.vue
deleted file mode 100644
index 98daf6d..0000000
--- a/src/views/tool/gen/genInfoForm.vue
+++ /dev/null
@@ -1,312 +0,0 @@
-<template>
- <el-form ref="genInfoForm" :model="info" :rules="rules" label-width="150px">
- <el-row>
- <el-col :span="12">
- <el-form-item prop="tplCategory">
- <span slot="label">鐢熸垚妯℃澘</span>
- <el-select v-model="info.tplCategory" @change="tplSelectChange">
- <el-option label="鍗曡〃锛堝鍒犳敼鏌ワ級" value="crud" />
- <el-option label="鏍戣〃锛堝鍒犳敼鏌ワ級" value="tree" />
- <el-option label="涓诲瓙琛紙澧炲垹鏀规煡锛�" value="sub" />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item prop="tplWebType">
- <span slot="label">鍓嶇绫诲瀷</span>
- <el-select v-model="info.tplWebType">
- <el-option label="Vue2 Element UI 妯$増" value="element-ui" />
- <el-option label="Vue3 Element Plus 妯$増" value="element-plus" />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item prop="packageName">
- <span slot="label">
- 鐢熸垚鍖呰矾寰�
- <el-tooltip content="鐢熸垚鍦ㄥ摢涓猨ava鍖呬笅锛屼緥濡� com.ruoyi.system" placement="top">
- <i class="el-icon-question"></i>
- </el-tooltip>
- </span>
- <el-input v-model="info.packageName" />
- </el-form-item>
- </el-col>
-
- <el-col :span="12">
- <el-form-item prop="moduleName">
- <span slot="label">
- 鐢熸垚妯″潡鍚�
- <el-tooltip content="鍙悊瑙d负瀛愮郴缁熷悕锛屼緥濡� system" placement="top">
- <i class="el-icon-question"></i>
- </el-tooltip>
- </span>
- <el-input v-model="info.moduleName" />
- </el-form-item>
- </el-col>
-
- <el-col :span="12">
- <el-form-item prop="businessName">
- <span slot="label">
- 鐢熸垚涓氬姟鍚�
- <el-tooltip content="鍙悊瑙d负鍔熻兘鑻辨枃鍚嶏紝渚嬪 user" placement="top">
- <i class="el-icon-question"></i>
- </el-tooltip>
- </span>
- <el-input v-model="info.businessName" />
- </el-form-item>
- </el-col>
-
- <el-col :span="12">
- <el-form-item prop="functionName">
- <span slot="label">
- 鐢熸垚鍔熻兘鍚�
- <el-tooltip content="鐢ㄤ綔绫绘弿杩帮紝渚嬪 鐢ㄦ埛" placement="top">
- <i class="el-icon-question"></i>
- </el-tooltip>
- </span>
- <el-input v-model="info.functionName" />
- </el-form-item>
- </el-col>
-
- <el-col :span="12">
- <el-form-item prop="genType">
- <span slot="label">
- 鐢熸垚浠g爜鏂瑰紡
- <el-tooltip content="榛樿涓簔ip鍘嬬缉鍖呬笅杞斤紝涔熷彲浠ヨ嚜瀹氫箟鐢熸垚璺緞" placement="top">
- <i class="el-icon-question"></i>
- </el-tooltip>
- </span>
- <el-radio v-model="info.genType" label="0">zip鍘嬬缉鍖�</el-radio>
- <el-radio v-model="info.genType" label="1">鑷畾涔夎矾寰�</el-radio>
- </el-form-item>
- </el-col>
-
- <el-col :span="12">
- <el-form-item>
- <span slot="label">
- 涓婄骇鑿滃崟
- <el-tooltip content="鍒嗛厤鍒版寚瀹氳彍鍗曚笅锛屼緥濡� 绯荤粺绠$悊" placement="top">
- <i class="el-icon-question"></i>
- </el-tooltip>
- </span>
- <treeselect
- :append-to-body="true"
- v-model="info.parentMenuId"
- :options="menus"
- :normalizer="normalizer"
- :show-count="true"
- placeholder="璇烽�夋嫨绯荤粺鑿滃崟"
- />
- </el-form-item>
- </el-col>
-
- <el-col :span="24" v-if="info.genType == '1'">
- <el-form-item prop="genPath">
- <span slot="label">
- 鑷畾涔夎矾寰�
- <el-tooltip content="濉啓纾佺洏缁濆璺緞锛岃嫢涓嶅~鍐欙紝鍒欑敓鎴愬埌褰撳墠Web椤圭洰涓�" placement="top">
- <i class="el-icon-question"></i>
- </el-tooltip>
- </span>
- <el-input v-model="info.genPath">
- <el-dropdown slot="append">
- <el-button type="primary">
- 鏈�杩戣矾寰勫揩閫熼�夋嫨
- <i class="el-icon-arrow-down el-icon--right"></i>
- </el-button>
- <el-dropdown-menu slot="dropdown">
- <el-dropdown-item @click.native="info.genPath = '/'">鎭㈠榛樿鐨勭敓鎴愬熀纭�璺緞</el-dropdown-item>
- </el-dropdown-menu>
- </el-dropdown>
- </el-input>
- </el-form-item>
- </el-col>
- </el-row>
-
- <el-row v-show="info.tplCategory == 'tree'">
- <h4 class="form-header">鍏朵粬淇℃伅</h4>
- <el-col :span="12">
- <el-form-item>
- <span slot="label">
- 鏍戠紪鐮佸瓧娈�
- <el-tooltip content="鏍戞樉绀虹殑缂栫爜瀛楁鍚嶏紝 濡傦細dept_id" placement="top">
- <i class="el-icon-question"></i>
- </el-tooltip>
- </span>
- <el-select v-model="info.treeCode" placeholder="璇烽�夋嫨">
- <el-option
- v-for="(column, index) in info.columns"
- :key="index"
- :label="column.columnName + '锛�' + column.columnComment"
- :value="column.columnName"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item>
- <span slot="label">
- 鏍戠埗缂栫爜瀛楁
- <el-tooltip content="鏍戞樉绀虹殑鐖剁紪鐮佸瓧娈靛悕锛� 濡傦細parent_Id" placement="top">
- <i class="el-icon-question"></i>
- </el-tooltip>
- </span>
- <el-select v-model="info.treeParentCode" placeholder="璇烽�夋嫨">
- <el-option
- v-for="(column, index) in info.columns"
- :key="index"
- :label="column.columnName + '锛�' + column.columnComment"
- :value="column.columnName"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item>
- <span slot="label">
- 鏍戝悕绉板瓧娈�
- <el-tooltip content="鏍戣妭鐐圭殑鏄剧ず鍚嶇О瀛楁鍚嶏紝 濡傦細dept_name" placement="top">
- <i class="el-icon-question"></i>
- </el-tooltip>
- </span>
- <el-select v-model="info.treeName" placeholder="璇烽�夋嫨">
- <el-option
- v-for="(column, index) in info.columns"
- :key="index"
- :label="column.columnName + '锛�' + column.columnComment"
- :value="column.columnName"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row v-show="info.tplCategory == 'sub'">
- <h4 class="form-header">鍏宠仈淇℃伅</h4>
- <el-col :span="12">
- <el-form-item>
- <span slot="label">
- 鍏宠仈瀛愯〃鐨勮〃鍚�
- <el-tooltip content="鍏宠仈瀛愯〃鐨勮〃鍚嶏紝 濡傦細sys_user" placement="top">
- <i class="el-icon-question"></i>
- </el-tooltip>
- </span>
- <el-select v-model="info.subTableName" placeholder="璇烽�夋嫨" @change="subSelectChange">
- <el-option
- v-for="(table, index) in tables"
- :key="index"
- :label="table.tableName + '锛�' + table.tableComment"
- :value="table.tableName"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item>
- <span slot="label">
- 瀛愯〃鍏宠仈鐨勫閿悕
- <el-tooltip content="瀛愯〃鍏宠仈鐨勫閿悕锛� 濡傦細user_id" placement="top">
- <i class="el-icon-question"></i>
- </el-tooltip>
- </span>
- <el-select v-model="info.subTableFkName" placeholder="璇烽�夋嫨">
- <el-option
- v-for="(column, index) in subColumns"
- :key="index"
- :label="column.columnName + '锛�' + column.columnComment"
- :value="column.columnName"
- ></el-option>
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- </el-form>
-</template>
-
-<script>
-import Treeselect from "@riophae/vue-treeselect";
-import "@riophae/vue-treeselect/dist/vue-treeselect.css";
-
-export default {
- components: { Treeselect },
- props: {
- info: {
- type: Object,
- default: null
- },
- tables: {
- type: Array,
- default: null
- },
- menus: {
- type: Array,
- default: []
- },
- },
- data() {
- return {
- subColumns: [],
- rules: {
- tplCategory: [
- { required: true, message: "璇烽�夋嫨鐢熸垚妯℃澘", trigger: "blur" }
- ],
- packageName: [
- { required: true, message: "璇疯緭鍏ョ敓鎴愬寘璺緞", trigger: "blur" }
- ],
- moduleName: [
- { required: true, message: "璇疯緭鍏ョ敓鎴愭ā鍧楀悕", trigger: "blur" }
- ],
- businessName: [
- { required: true, message: "璇疯緭鍏ョ敓鎴愪笟鍔″悕", trigger: "blur" }
- ],
- functionName: [
- { required: true, message: "璇疯緭鍏ョ敓鎴愬姛鑳藉悕", trigger: "blur" }
- ],
- }
- };
- },
- watch: {
- 'info.subTableName': function(val) {
- this.setSubTableColumns(val);
- },
- 'info.tplWebType': function(val) {
- if (val === '') {
- this.info.tplWebType = "element-ui";
- }
- }
- },
- methods: {
- /** 杞崲鑿滃崟鏁版嵁缁撴瀯 */
- normalizer(node) {
- if (node.children && !node.children.length) {
- delete node.children;
- }
- return {
- id: node.menuId,
- label: node.menuName,
- children: node.children
- };
- },
- /** 閫夋嫨瀛愯〃鍚嶈Е鍙� */
- subSelectChange(value) {
- this.info.subTableFkName = '';
- },
- /** 閫夋嫨鐢熸垚妯℃澘瑙﹀彂 */
- tplSelectChange(value) {
- if(value !== 'sub') {
- this.info.subTableName = '';
- this.info.subTableFkName = '';
- }
- },
- /** 璁剧疆鍏宠仈澶栭敭 */
- setSubTableColumns(value) {
- for (var item in this.tables) {
- const name = this.tables[item].tableName;
- if (value === name) {
- this.subColumns = this.tables[item].columns;
- break;
- }
- }
- }
- }
-};
-</script>
diff --git a/src/views/tool/gen/importTable.vue b/src/views/tool/gen/importTable.vue
deleted file mode 100644
index 6fe2b5a..0000000
--- a/src/views/tool/gen/importTable.vue
+++ /dev/null
@@ -1,120 +0,0 @@
-<template>
- <!-- 瀵煎叆琛� -->
- <el-dialog title="瀵煎叆琛�" :visible.sync="visible" width="800px" top="5vh" append-to-body>
- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
- <el-form-item label="琛ㄥ悕绉�" prop="tableName">
- <el-input
- v-model="queryParams.tableName"
- placeholder="璇疯緭鍏ヨ〃鍚嶇О"
- clearable
- @keyup.enter.native="handleQuery"
- />
- </el-form-item>
- <el-form-item label="琛ㄦ弿杩�" prop="tableComment">
- <el-input
- v-model="queryParams.tableComment"
- placeholder="璇疯緭鍏ヨ〃鎻忚堪"
- clearable
- @keyup.enter.native="handleQuery"
- />
- </el-form-item>
- <el-form-item>
- <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鏌� 璇�</el-button>
- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲� 缃�</el-button>
- </el-form-item>
- </el-form>
- <el-row>
- <el-table @row-click="clickRow" ref="table" :data="dbTableList" @selection-change="handleSelectionChange" height="260px">
- <el-table-column type="selection" width="55"></el-table-column>
- <el-table-column prop="tableName" label="琛ㄥ悕绉�" :show-overflow-tooltip="true"></el-table-column>
- <el-table-column prop="tableComment" label="琛ㄦ弿杩�" :show-overflow-tooltip="true"></el-table-column>
- <el-table-column prop="createTime" label="鍒涘缓鏃堕棿"></el-table-column>
- <el-table-column prop="updateTime" label="鏇存柊鏃堕棿"></el-table-column>
- </el-table>
- <pagination
- v-show="total>0"
- :total="total"
- :page.sync="queryParams.pageNum"
- :limit.sync="queryParams.pageSize"
- @pagination="getList"
- />
- </el-row>
- <div slot="footer" class="dialog-footer">
- <el-button type="primary" @click="handleImportTable">纭� 瀹�</el-button>
- <el-button @click="visible = false">鍙� 娑�</el-button>
- </div>
- </el-dialog>
-</template>
-
-<script>
-import { listDbTable, importTable } from "@/api/tool/gen";
-export default {
- data() {
- return {
- // 閬僵灞�
- visible: false,
- // 閫変腑鏁扮粍鍊�
- tables: [],
- // 鎬绘潯鏁�
- total: 0,
- // 琛ㄦ暟鎹�
- dbTableList: [],
- // 鏌ヨ鍙傛暟
- queryParams: {
- pageNum: 1,
- pageSize: 10,
- tableName: undefined,
- tableComment: undefined
- }
- };
- },
- methods: {
- // 鏄剧ず寮规
- show() {
- this.getList();
- this.visible = true;
- },
- clickRow(row) {
- this.$refs.table.toggleRowSelection(row);
- },
- // 澶氶�夋閫変腑鏁版嵁
- handleSelectionChange(selection) {
- this.tables = selection.map(item => item.tableName);
- },
- // 鏌ヨ琛ㄦ暟鎹�
- getList() {
- listDbTable(this.queryParams).then(res => {
- if (res.code === 200) {
- this.dbTableList = res.rows;
- this.total = res.total;
- }
- });
- },
- /** 鎼滅储鎸夐挳鎿嶄綔 */
- handleQuery() {
- this.queryParams.pageNum = 1;
- this.getList();
- },
- /** 閲嶇疆鎸夐挳鎿嶄綔 */
- resetQuery() {
- this.resetForm("queryForm");
- this.handleQuery();
- },
- /** 瀵煎叆鎸夐挳鎿嶄綔 */
- handleImportTable() {
- const tableNames = this.tables.join(",");
- if (tableNames == "") {
- this.$modal.msgError("璇烽�夋嫨瑕佸鍏ョ殑琛�");
- return;
- }
- importTable({ tables: tableNames }).then(res => {
- this.$modal.msgSuccess(res.msg);
- if (res.code === 200) {
- this.visible = false;
- this.$emit("ok");
- }
- });
- }
- }
-};
-</script>
diff --git a/src/views/tool/gen/index.vue b/src/views/tool/gen/index.vue
deleted file mode 100644
index b52fbe9..0000000
--- a/src/views/tool/gen/index.vue
+++ /dev/null
@@ -1,354 +0,0 @@
-<template>
- <div class="app-container">
- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
- <el-form-item label="琛ㄥ悕绉�" prop="tableName">
- <el-input
- v-model="queryParams.tableName"
- placeholder="璇疯緭鍏ヨ〃鍚嶇О"
- clearable
- @keyup.enter.native="handleQuery"
- />
- </el-form-item>
- <el-form-item label="琛ㄦ弿杩�" prop="tableComment">
- <el-input
- v-model="queryParams.tableComment"
- placeholder="璇疯緭鍏ヨ〃鎻忚堪"
- clearable
- @keyup.enter.native="handleQuery"
- />
- </el-form-item>
- <el-form-item label="鍒涘缓鏃堕棿">
- <el-date-picker
- v-model="dateRange"
- style="width: 240px"
- value-format="yyyy-MM-dd"
- type="daterange"
- range-separator="-"
- start-placeholder="寮�濮嬫棩鏈�"
- end-placeholder="缁撴潫鏃ユ湡"
- ></el-date-picker>
- </el-form-item>
- <el-form-item>
- <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鏌� 璇�</el-button>
- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲� 缃�</el-button>
- </el-form-item>
- </el-form>
-
- <el-row :gutter="10" class="mb8">
- <el-col :span="1.5">
- <el-button
- type="primary"
- plain
- icon="el-icon-download"
- size="mini"
- :disabled="multiple"
- @click="handleGenTable"
- v-hasPermi="['tool:gen:code']"
- >鐢熸垚</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="primary"
- plain
- icon="el-icon-plus"
- size="mini"
- @click="openCreateTable"
- v-hasRole="['admin']"
- >鍒涘缓</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="info"
- plain
- icon="el-icon-upload"
- size="mini"
- @click="openImportTable"
- v-hasPermi="['tool:gen:import']"
- >瀵煎叆</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="success"
- plain
- icon="el-icon-edit"
- size="mini"
- :disabled="single"
- @click="handleEditTable"
- v-hasPermi="['tool:gen:edit']"
- >淇敼</el-button>
- </el-col>
- <el-col :span="1.5">
- <el-button
- type="danger"
- plain
- icon="el-icon-delete"
- size="mini"
- :disabled="multiple"
- @click="handleDelete"
- v-hasPermi="['tool:gen:remove']"
- >鍒犻櫎</el-button>
- </el-col>
- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
- </el-row>
-
- <el-table v-loading="loading" :data="tableList" @selection-change="handleSelectionChange">
- <el-table-column type="selection" align="center" width="55"></el-table-column>
- <el-table-column label="搴忓彿" type="index" width="50" align="center">
- <template slot-scope="scope">
- <span>{{(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}</span>
- </template>
- </el-table-column>
- <el-table-column
- label="琛ㄥ悕绉�"
- align="center"
- prop="tableName"
- :show-overflow-tooltip="true"
- width="120"
- />
- <el-table-column
- label="琛ㄦ弿杩�"
- align="center"
- prop="tableComment"
- :show-overflow-tooltip="true"
- width="120"
- />
- <el-table-column
- label="瀹炰綋"
- align="center"
- prop="className"
- :show-overflow-tooltip="true"
- width="120"
- />
- <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="160" />
- <el-table-column label="鏇存柊鏃堕棿" align="center" prop="updateTime" width="160" />
- <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
- <template slot-scope="scope">
- <el-button
- type="text"
- size="small"
- icon="el-icon-view"
- @click="handlePreview(scope.row)"
- v-hasPermi="['tool:gen:preview']"
- >棰勮</el-button>
- <el-button
- type="text"
- size="small"
- icon="el-icon-edit"
- @click="handleEditTable(scope.row)"
- v-hasPermi="['tool:gen:edit']"
- >缂栬緫</el-button>
- <el-button
- type="text"
- size="small"
- icon="el-icon-delete"
- @click="handleDelete(scope.row)"
- v-hasPermi="['tool:gen:remove']"
- >鍒犻櫎</el-button>
- <el-button
- type="text"
- size="small"
- icon="el-icon-refresh"
- @click="handleSynchDb(scope.row)"
- v-hasPermi="['tool:gen:edit']"
- >鍚屾</el-button>
- <el-button
- type="text"
- size="small"
- icon="el-icon-download"
- @click="handleGenTable(scope.row)"
- v-hasPermi="['tool:gen:code']"
- >鐢熸垚浠g爜</el-button>
- </template>
- </el-table-column>
- </el-table>
- <pagination
- v-show="total>0"
- :total="total"
- :page.sync="queryParams.pageNum"
- :limit.sync="queryParams.pageSize"
- @pagination="getList"
- />
- <!-- 棰勮鐣岄潰 -->
- <el-dialog :title="preview.title" :visible.sync="preview.open" width="80%" top="5vh" append-to-body class="scrollbar">
- <el-tabs v-model="preview.activeName">
- <el-tab-pane
- v-for="(value, key) in preview.data"
- :label="key.substring(key.lastIndexOf('/')+1,key.indexOf('.vm'))"
- :name="key.substring(key.lastIndexOf('/')+1,key.indexOf('.vm'))"
- :key="key"
- >
- <el-link :underline="false" icon="el-icon-document-copy" v-clipboard:copy="value" v-clipboard:success="clipboardSuccess" style="float:right">澶嶅埗</el-link>
- <pre><code class="hljs" v-html="highlightedCode(value, key)"></code></pre>
- </el-tab-pane>
- </el-tabs>
- </el-dialog>
- <import-table ref="import" @ok="handleQuery" />
- <create-table ref="create" @ok="handleQuery" />
- </div>
-</template>
-
-<script>
-import { listTable, previewTable, delTable, genCode, synchDb } from "@/api/tool/gen";
-import importTable from "./importTable";
-import createTable from "./createTable";
-import hljs from "highlight.js/lib/highlight";
-import "highlight.js/styles/github-gist.css";
-hljs.registerLanguage("java", require("highlight.js/lib/languages/java"));
-hljs.registerLanguage("xml", require("highlight.js/lib/languages/xml"));
-hljs.registerLanguage("html", require("highlight.js/lib/languages/xml"));
-hljs.registerLanguage("vue", require("highlight.js/lib/languages/xml"));
-hljs.registerLanguage("javascript", require("highlight.js/lib/languages/javascript"));
-hljs.registerLanguage("sql", require("highlight.js/lib/languages/sql"));
-
-export default {
- name: "Gen",
- components: { importTable, createTable },
- data() {
- return {
- // 閬僵灞�
- loading: true,
- // 鍞竴鏍囪瘑绗�
- uniqueId: "",
- // 閫変腑鏁扮粍
- ids: [],
- // 閫変腑琛ㄦ暟缁�
- tableNames: [],
- // 闈炲崟涓鐢�
- single: true,
- // 闈炲涓鐢�
- multiple: true,
- // 鏄剧ず鎼滅储鏉′欢
- showSearch: true,
- // 鎬绘潯鏁�
- total: 0,
- // 琛ㄦ暟鎹�
- tableList: [],
- // 鏃ユ湡鑼冨洿
- dateRange: "",
- // 鏌ヨ鍙傛暟
- queryParams: {
- pageNum: 1,
- pageSize: 10,
- tableName: undefined,
- tableComment: undefined
- },
- // 棰勮鍙傛暟
- preview: {
- open: false,
- title: "浠g爜棰勮",
- data: {},
- activeName: "domain.java"
- }
- };
- },
- created() {
- this.getList();
- },
- activated() {
- const time = this.$route.query.t;
- if (time != null && time != this.uniqueId) {
- this.uniqueId = time;
- this.queryParams.pageNum = Number(this.$route.query.pageNum);
- this.getList();
- }
- },
- methods: {
- /** 鏌ヨ琛ㄩ泦鍚� */
- getList() {
- this.loading = true;
- listTable(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
- this.tableList = response.rows;
- this.total = response.total;
- this.loading = false;
- }
- );
- },
- /** 鎼滅储鎸夐挳鎿嶄綔 */
- handleQuery() {
- this.queryParams.pageNum = 1;
- this.getList();
- },
- /** 鐢熸垚浠g爜鎿嶄綔 */
- handleGenTable(row) {
- const tableNames = row.tableName || this.tableNames;
- if (tableNames == "") {
- this.$modal.msgError("璇烽�夋嫨瑕佺敓鎴愮殑鏁版嵁");
- return;
- }
- if(row.genType === "1") {
- genCode(row.tableName).then(response => {
- this.$modal.msgSuccess("鎴愬姛鐢熸垚鍒拌嚜瀹氫箟璺緞锛�" + row.genPath);
- });
- } else {
- this.$download.zip("/tool/gen/batchGenCode?tables=" + tableNames, "ruoyi.zip");
- }
- },
- /** 鍚屾鏁版嵁搴撴搷浣� */
- handleSynchDb(row) {
- const tableName = row.tableName;
- this.$modal.confirm('纭瑕佸己鍒跺悓姝�"' + tableName + '"琛ㄧ粨鏋勫悧锛�').then(function() {
- return synchDb(tableName);
- }).then(() => {
- this.$modal.msgSuccess("鍚屾鎴愬姛");
- }).catch(() => {});
- },
- /** 鎵撳紑瀵煎叆琛ㄥ脊绐� */
- openImportTable() {
- this.$refs.import.show();
- },
- /** 鎵撳紑鍒涘缓琛ㄥ脊绐� */
- openCreateTable() {
- this.$refs.create.show();
- },
- /** 閲嶇疆鎸夐挳鎿嶄綔 */
- resetQuery() {
- this.dateRange = [];
- this.resetForm("queryForm");
- this.handleQuery();
- },
- /** 棰勮鎸夐挳 */
- handlePreview(row) {
- previewTable(row.tableId).then(response => {
- this.preview.data = response.data;
- this.preview.open = true;
- this.preview.activeName = "domain.java";
- });
- },
- /** 楂樹寒鏄剧ず */
- highlightedCode(code, key) {
- const vmName = key.substring(key.lastIndexOf("/") + 1, key.indexOf(".vm"));
- var language = vmName.substring(vmName.indexOf(".") + 1, vmName.length);
- const result = hljs.highlight(language, code || "", true);
- return result.value || ' ';
- },
- /** 澶嶅埗浠g爜鎴愬姛 */
- clipboardSuccess() {
- this.$modal.msgSuccess("澶嶅埗鎴愬姛");
- },
- // 澶氶�夋閫変腑鏁版嵁
- handleSelectionChange(selection) {
- this.ids = selection.map(item => item.tableId);
- this.tableNames = selection.map(item => item.tableName);
- this.single = selection.length != 1;
- this.multiple = !selection.length;
- },
- /** 淇敼鎸夐挳鎿嶄綔 */
- handleEditTable(row) {
- const tableId = row.tableId || this.ids[0];
- const tableName = row.tableName || this.tableNames[0];
- const params = { pageNum: this.queryParams.pageNum };
- this.$tab.openPage("淇敼[" + tableName + "]鐢熸垚閰嶇疆", '/tool/gen-edit/index/' + tableId, params);
- },
- /** 鍒犻櫎鎸夐挳鎿嶄綔 */
- handleDelete(row) {
- const tableIds = row.tableId || this.ids;
- this.$modal.confirm('鏄惁纭鍒犻櫎琛ㄧ紪鍙蜂负"' + tableIds + '"鐨勬暟鎹」锛�').then(function() {
- return delTable(tableIds);
- }).then(() => {
- this.getList();
- this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- }).catch(() => {});
- }
- }
-};
-</script>
diff --git a/src/views/tool/swagger/index.vue b/src/views/tool/swagger/index.vue
deleted file mode 100644
index b8becc6..0000000
--- a/src/views/tool/swagger/index.vue
+++ /dev/null
@@ -1,15 +0,0 @@
-<template>
- <i-frame :src="url" />
-</template>
-<script>
-import iFrame from "@/components/iFrame/index";
-export default {
- name: "Swagger",
- components: { iFrame },
- data() {
- return {
- url: process.env.VUE_APP_BASE_API + "/swagger-ui/index.html"
- };
- },
-};
-</script>
--
Gitblit v1.9.3