From 78e153a3bec824964a52c3a0c2744ef0191f44ac Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期二, 24 三月 2026 11:46:17 +0800
Subject: [PATCH] feat: 新增缺失前端页面并接入路由
---
Code/WCS/WIDESEAWCS_Client/src/extension/system/Sys_Tenant.js | 69 ++++
Code/WCS/WIDESEAWCS_Client/src/extension/taskinfo/taskHty.js | 69 ++++
Code/WCS/WIDESEAWCS_Client/src/views/system/Sys_Tenant.vue | 238 +++++++++++++++++
Code/WCS/WIDESEAWCS_Client/src/views/taskinfo/taskHty.vue | 242 +++++++++++++++++
Code/WCS/WIDESEAWCS_Client/src/router/viewGird.js | 46 ++
Code/WCS/WIDESEAWCS_Client/src/views/quartzJob/scheduler.vue | 136 +++++++++
6 files changed, 788 insertions(+), 12 deletions(-)
diff --git a/Code/WCS/WIDESEAWCS_Client/src/extension/system/Sys_Tenant.js b/Code/WCS/WIDESEAWCS_Client/src/extension/system/Sys_Tenant.js
new file mode 100644
index 0000000..4e21a4a
--- /dev/null
+++ b/Code/WCS/WIDESEAWCS_Client/src/extension/system/Sys_Tenant.js
@@ -0,0 +1,69 @@
+// 璇ユ墿灞曟枃浠剁敤浜庣鎴烽〉闈㈢殑鍓嶇鎵╁睍銆�
+// 鏂规硶鐩殑锛氬湪涓嶄慨鏀归�氱敤 view-grid 缁勪欢鐨勫墠鎻愪笅锛岄鐣欐煡璇㈠墠鍚庛�佷繚瀛樺墠鍚庣殑涓氬姟鎵╁睍鍏ュ彛銆�
+// 鍙傛暟璇存槑锛氬悇鏂规硶鍙傛暟鐢辨鏋跺洖璋冧紶鍏ワ紙濡傛悳绱㈠弬鏁般�佽〃鍗曟暟鎹�佽鏁版嵁锛夈��
+// 杩斿洖鍊艰鏄庯細杩斿洖 true 琛ㄧず缁х画鎵ц妗嗘灦榛樿娴佺▼锛岃繑鍥� false 琛ㄧず涓柇榛樿娴佺▼銆�
+// 寮傚父澶勭悊璇存槑锛氬綋鍓嶆墿灞曚笉鎶涘嚭寮傚父锛岃嫢鍚庣画澧炲姞缃戠粶璋冪敤锛岃鍦ㄥ搴旀柟娉曞唴浣跨敤 try-catch 骞惰褰曞叧閿笂涓嬫枃銆�
+
+let extension = {
+ components: {
+ gridHeader: "",
+ gridBody: "",
+ gridFooter: "",
+ modelHeader: "",
+ modelBody: "",
+ modelFooter: "",
+ },
+ tableAction: "",
+ buttons: { view: [], box: [], detail: [] },
+ methods: {
+ // 鏂规硶鐩殑锛氶〉闈㈠垵濮嬪寲鍓嶆墽琛岋紝鍙敤浜庤皟鏁存寜閽�佸垪閰嶇疆銆�
+ // 鍙傛暟鍚箟锛氭棤銆�
+ // 杩斿洖鍊硷細鏃犮��
+ onInit() {},
+
+ // 鏂规硶鐩殑锛氶〉闈㈠垵濮嬪寲瀹屾垚鍚庢墽琛岋紝鍙敤浜庡姞杞介檮鍔犳暟鎹��
+ // 鍙傛暟鍚箟锛氭棤銆�
+ // 杩斿洖鍊硷細鏃犮��
+ onInited() {},
+
+ // 鏂规硶鐩殑锛氭煡璇㈠墠鍙傛暟棰勫鐞嗐��
+ // 鍙傛暟鍚箟锛歱aram 涓哄綋鍓嶆煡璇㈡潯浠跺璞°��
+ // 杩斿洖鍊硷細true 缁х画鏌ヨ锛宖alse 缁堟鏌ヨ銆�
+ searchBefore(param) {
+ return true;
+ },
+
+ // 鏂规硶鐩殑锛氭煡璇㈢粨鏋滃悗澶勭悊銆�
+ // 鍙傛暟鍚箟锛歳esult 涓哄悗绔繑鍥炵粨鏋溿��
+ // 杩斿洖鍊硷細true 缁х画娓叉煋锛宖alse 鍙敤浜庨樆鏂悗缁鐞嗐��
+ searchAfter(result) {
+ return true;
+ },
+
+ // 鏂规硶鐩殑锛氭柊澧炰繚瀛樺墠鏍¢獙鎴栬ˉ鍏呭瓧娈点��
+ // 鍙傛暟鍚箟锛歠ormData 涓哄緟鎻愪氦琛ㄥ崟瀵硅薄銆�
+ // 杩斿洖鍊硷細true 缁х画淇濆瓨锛宖alse 缁堟淇濆瓨銆�
+ addBefore(formData) {
+ return true;
+ },
+
+ // 鏂规硶鐩殑锛氱紪杈戜繚瀛樺墠鏍¢獙鎴栬ˉ鍏呭瓧娈点��
+ // 鍙傛暟鍚箟锛歠ormData 涓哄緟鎻愪氦琛ㄥ崟瀵硅薄銆�
+ // 杩斿洖鍊硷細true 缁х画淇濆瓨锛宖alse 缁堟淇濆瓨銆�
+ updateBefore(formData) {
+ return true;
+ },
+
+ // 鏂规硶鐩殑锛氳〃鏍艰鐐瑰嚮浜嬩欢鎵╁睍銆�
+ // 鍙傛暟鍚箟锛歳ow 涓鸿鏁版嵁锛宑olumn 涓哄垪閰嶇疆锛宔vent 涓哄師濮嬩簨浠跺璞°��
+ // 杩斿洖鍊硷細鏃犮��
+ rowClick({ row, column, event }) {},
+
+ // 鏂规硶鐩殑锛氭柊澧�/缂栬緫寮圭獥鎵撳紑鍚庢墿灞曞鐞嗐��
+ // 鍙傛暟鍚箟锛歳ow 涓哄綋鍓嶈鏁版嵁锛涙柊澧炴椂鍙兘涓虹┖瀵硅薄銆�
+ // 杩斿洖鍊硷細鏃犮��
+ modelOpenAfter(row) {},
+ },
+};
+
+export default extension;
diff --git a/Code/WCS/WIDESEAWCS_Client/src/extension/taskinfo/taskHty.js b/Code/WCS/WIDESEAWCS_Client/src/extension/taskinfo/taskHty.js
new file mode 100644
index 0000000..642855b
--- /dev/null
+++ b/Code/WCS/WIDESEAWCS_Client/src/extension/taskinfo/taskHty.js
@@ -0,0 +1,69 @@
+// 璇ユ墿灞曟枃浠剁敤浜庝换鍔″巻鍙查〉闈㈢殑涓氬姟鎵╁睍銆�
+// 鏂规硶鐩殑锛氱粺涓�棰勭暀鍒楄〃鏌ヨ銆佷繚瀛樺墠鍚庡拰寮圭獥鎵撳紑鏃剁殑鎵╁睍鍏ュ彛锛屼繚鎸佷笌椤圭洰鍐� task 椤甸潰涓�鑷寸殑鎵╁睍鐐广��
+// 鍙傛暟鍚箟锛氱敱妗嗘灦鎸夌敓鍛藉懆鏈熶紶鍏ワ紝鍖呭惈鏌ヨ鍙傛暟銆佽〃鍗曟暟鎹�佽鏁版嵁绛変笂涓嬫枃銆�
+// 杩斿洖鍊艰鏄庯細杩斿洖 true 浠h〃缁х画榛樿琛屼负锛岃繑鍥� false 浠h〃涓柇榛樿琛屼负銆�
+// 寮傚父澶勭悊璇存槑锛氬綋鍓嶆湭寮曞叆澶栭儴璋冪敤锛涜嫢鍚庣画鏂板鎺ュ彛璋冪敤锛岄渶鍦ㄦ柟娉曞唴琛ュ厖 try-catch 骞惰褰曞叧閿笟鍔″弬鏁般��
+
+let extension = {
+ components: {
+ gridHeader: "",
+ gridBody: "",
+ gridFooter: "",
+ modelHeader: "",
+ modelBody: "",
+ modelFooter: "",
+ },
+ tableAction: "",
+ buttons: { view: [], box: [], detail: [] },
+ methods: {
+ // 鏂规硶鐩殑锛氶〉闈㈠垵濮嬪寲鏃舵墽琛岃嚜瀹氫箟閫昏緫銆�
+ // 鍙傛暟锛氭棤銆�
+ // 杩斿洖鍊硷細鏃犮��
+ onInit() {},
+
+ // 鏂规硶鐩殑锛氶〉闈㈠垵濮嬪寲瀹屾垚鍚庢墽琛岃嚜瀹氫箟閫昏緫銆�
+ // 鍙傛暟锛氭棤銆�
+ // 杩斿洖鍊硷細鏃犮��
+ onInited() {},
+
+ // 鏂规硶鐩殑锛氭煡璇㈠墠澶勭悊鏌ヨ鏉′欢銆�
+ // 鍙傛暟锛歱aram 鏌ヨ鍙傛暟瀵硅薄銆�
+ // 杩斿洖鍊硷細true 缁х画鏌ヨ锛宖alse 缁堟鏌ヨ銆�
+ searchBefore(param) {
+ return true;
+ },
+
+ // 鏂规硶鐩殑锛氭煡璇㈠悗澶勭悊杩斿洖缁撴灉銆�
+ // 鍙傛暟锛歳esult 鍚庣杩斿洖鏁版嵁銆�
+ // 杩斿洖鍊硷細true 缁х画娓叉煋锛宖alse 缁堟鍚庣画澶勭悊銆�
+ searchAfter(result) {
+ return true;
+ },
+
+ // 鏂规硶鐩殑锛氭柊澧炲墠鏍¢獙鎴栬ˉ鍏呮彁浜ゅ瓧娈点��
+ // 鍙傛暟锛歠ormData 琛ㄥ崟鎻愪氦瀵硅薄銆�
+ // 杩斿洖鍊硷細true 缁х画鎻愪氦锛宖alse 缁堟鎻愪氦銆�
+ addBefore(formData) {
+ return true;
+ },
+
+ // 鏂规硶鐩殑锛氱紪杈戝墠鏍¢獙鎴栬ˉ鍏呮彁浜ゅ瓧娈点��
+ // 鍙傛暟锛歠ormData 琛ㄥ崟鎻愪氦瀵硅薄銆�
+ // 杩斿洖鍊硷細true 缁х画鎻愪氦锛宖alse 缁堟鎻愪氦銆�
+ updateBefore(formData) {
+ return true;
+ },
+
+ // 鏂规硶鐩殑锛氱偣鍑昏鏃舵墿灞曞鐞嗐��
+ // 鍙傛暟锛歳ow 琛屾暟鎹紝column 鍒楅厤缃紝event 鍘熷浜嬩欢銆�
+ // 杩斿洖鍊硷細鏃犮��
+ rowClick({ row, column, event }) {},
+
+ // 鏂规硶鐩殑锛氱紪杈戝脊绐楁墦寮�鍚庢墽琛屾墿灞曢�昏緫銆�
+ // 鍙傛暟锛歳ow 褰撳墠琛屾暟鎹��
+ // 杩斿洖鍊硷細鏃犮��
+ modelOpenAfter(row) {},
+ },
+};
+
+export default extension;
diff --git a/Code/WCS/WIDESEAWCS_Client/src/router/viewGird.js b/Code/WCS/WIDESEAWCS_Client/src/router/viewGird.js
index cde4249..9ad5891 100644
--- a/Code/WCS/WIDESEAWCS_Client/src/router/viewGird.js
+++ b/Code/WCS/WIDESEAWCS_Client/src/router/viewGird.js
@@ -1,4 +1,3 @@
-
let viewgird = [
{
path: '/Sys_Log',
@@ -15,7 +14,6 @@
name: 'permission',
component: () => import('@/views/system/Permission.vue')
},
-
{
path: '/Sys_Dictionary',
name: 'Sys_Dictionary',
@@ -25,38 +23,62 @@
path: '/Sys_Role',
name: 'Sys_Role',
component: () => import('@/views/system/Sys_Role.vue')
- }, {
+ },
+ {
path: '/Sys_Role1',
name: 'Sys_Role1',
component: () => import('@/views/system/Sys_Role1.vue')
- }, {
+ },
+ {
path: '/Sys_DictionaryList',
name: 'Sys_DictionaryList',
component: () => import('@/views/system/Sys_DictionaryList.vue')
- }, {
+ },
+ {
+ path: '/Sys_Tenant',
+ name: 'Sys_Tenant',
+ component: () => import('@/views/system/Sys_Tenant.vue')
+ },
+ {
path: '/deviceInfo',
name: 'deviceInfo',
component: () => import('@/views/quartzJob/deviceInfo.vue')
- }, {
+ },
+ {
path: '/deviceProtocol',
name: 'deviceProtocol',
component: () => import('@/views/quartzJob/deviceProtocol.vue')
- }, {
+ },
+ {
path: '/deviceProtocolDetail',
name: 'deviceProtocolDetail',
component: () => import('@/views/quartzJob/deviceProtocolDetail.vue')
- }, {
+ },
+ {
path: '/dispatchInfo',
name: 'dispatchInfo',
component: () => import('@/views/quartzJob/dispatchInfo.vue')
- }, {
+ },
+ {
+ path: '/scheduler',
+ name: 'scheduler',
+ component: () => import('@/views/quartzJob/scheduler.vue')
+ },
+ {
path: '/task',
name: 'task',
component: () => import('@/views/taskinfo/task.vue')
- }, {
+ },
+ {
+ path: '/taskHty',
+ name: 'taskHty',
+ component: () => import('@/views/taskinfo/taskHty.vue')
+ },
+ {
path: '/router',
name: 'router',
component: () => import('@/views/basicinfo/router.vue')
- }]
+ }
+];
-export default viewgird
+export default viewgird;
diff --git a/Code/WCS/WIDESEAWCS_Client/src/views/quartzJob/scheduler.vue b/Code/WCS/WIDESEAWCS_Client/src/views/quartzJob/scheduler.vue
new file mode 100644
index 0000000..479100f
--- /dev/null
+++ b/Code/WCS/WIDESEAWCS_Client/src/views/quartzJob/scheduler.vue
@@ -0,0 +1,136 @@
+<template>
+ <div class="scheduler-page">
+ <el-card shadow="never" class="card-item">
+ <template #header>
+ <span>璋冨害鏈嶅姟鎺у埗</span>
+ </template>
+ <div class="button-row">
+ <el-button type="success" @click="handleSchedulerAction('StartSchedule')">鍚姩璋冨害鏈嶅姟</el-button>
+ <el-button type="warning" @click="handleSchedulerAction('StopSchedule')">鍋滄璋冨害鏈嶅姟</el-button>
+ </div>
+ </el-card>
+
+ <el-card shadow="never" class="card-item">
+ <template #header>
+ <span>浠诲姟璋冨害鎿嶄綔</span>
+ </template>
+ <el-form :model="jobForm" label-width="110px" class="form-wrap">
+ <el-row :gutter="16">
+ <el-col :span="8">
+ <el-form-item label="浠诲姟鍚嶇О">
+ <el-input v-model="jobForm.name" placeholder="璇疯緭鍏ヤ换鍔″悕绉�" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="浠诲姟鍒嗙粍">
+ <el-input v-model="jobForm.jobGroup" placeholder="璇疯緭鍏ヤ换鍔″垎缁�" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="8">
+ <el-form-item label="鎵ц绫诲悕">
+ <el-input v-model="jobForm.className" placeholder="璇疯緭鍏ユ墽琛岀被鍚�" />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <div class="button-row">
+ <el-button type="primary" @click="handleSchedulerAction('PauseJob')">鏆傚仠浠诲姟</el-button>
+ <el-button type="primary" @click="handleSchedulerAction('ResumeJob')">鎭㈠浠诲姟</el-button>
+ <el-button type="primary" @click="handleSchedulerAction('ExecuteJob')">绔嬪嵆鎵ц</el-button>
+ <el-button type="danger" @click="handleSchedulerAction('DeleteScheduleJob')">鍒犻櫎浠诲姟</el-button>
+ </div>
+ </el-card>
+ </div>
+</template>
+
+<script>
+import { defineComponent, ref } from "vue";
+import { ElMessage } from "element-plus";
+import http from "@/api/http";
+
+export default defineComponent({
+ setup() {
+ const jobForm = ref({
+ name: "",
+ jobGroup: "",
+ className: "",
+ assemblyName: "",
+ intervalSecond: 0,
+ beginTime: "",
+ endTime: "",
+ remark: "",
+ });
+
+ /**
+ * 鏂规硶鐩殑锛氭牎楠屼换鍔$骇璋冨害鎿嶄綔鎵�闇�鍙傛暟锛岄伩鍏嶆彁浜ゆ棤鏁堣姹傘��
+ * 鍙傛暟鍚箟锛氭棤锛堢洿鎺ヨ鍙栧綋鍓� jobForm锛夈��
+ * 杩斿洖鍊硷細true 琛ㄧず鏍¢獙閫氳繃锛沠alse 琛ㄧず鏍¢獙澶辫触骞跺脊鍑烘彁绀恒��
+ * 寮傚父澶勭悊锛氭湰鍦版牎楠屼笉鎶涘紓甯革紝閫氳繃娑堟伅鎻愮ず寮曞鐢ㄦ埛琛ュ叏鍏抽敭瀛楁銆�
+ */
+ const validateJobPayload = () => {
+ if (!jobForm.value.name || !jobForm.value.jobGroup || !jobForm.value.className) {
+ ElMessage.error("璇峰厛濉啓浠诲姟鍚嶇О銆佷换鍔″垎缁勩�佹墽琛岀被鍚�");
+ return false;
+ }
+ return true;
+ };
+
+ /**
+ * 鏂规硶鐩殑锛氱粺涓�澶勭悊璋冨害鎺у埗璇锋眰锛屽吋瀹� GET 涓� POST 涓ょ被鎺ュ彛銆�
+ * 鍙傛暟鍚箟锛歛ction 涓鸿皟搴﹀姩浣滃悕绉帮紝瀵瑰簲鍚庣 api/Scheduler/{action}銆�
+ * 杩斿洖鍊硷細Promise<void>锛屾墽琛屽畬鎴愬悗閫氳繃娑堟伅鎻愮ず缁撴灉銆�
+ * 鍏抽敭閫昏緫锛�
+ * 1. 鍏ㄥ眬鍔ㄤ綔锛堝惎鍔�/鍋滄锛夎蛋 GET銆�
+ * 2. 浠诲姟鍔ㄤ綔锛堟殏鍋�/鎭㈠/鎵ц/鍒犻櫎锛夎蛋 POST锛屽苟鎻愪氦 jobForm銆�
+ * 3. 鎺ュ彛杩斿洖 status=false 鏃舵彁绀哄悗绔� message銆�
+ * 寮傚父澶勭悊锛氫娇鐢� try-catch 鎹曡幏璇锋眰寮傚父骞朵繚鐣欓敊璇笂涓嬫枃杈撳嚭銆�
+ */
+ const handleSchedulerAction = async (action) => {
+ try {
+ const isGlobalAction = action === "StartSchedule" || action === "StopSchedule";
+ if (!isGlobalAction && !validateJobPayload()) {
+ return;
+ }
+
+ let result;
+ if (isGlobalAction) {
+ result = await http.get(`/api/Scheduler/${action}`, {}, true);
+ } else {
+ result = await http.post(`/api/Scheduler/${action}`, jobForm.value, true);
+ }
+
+ if (result && result.status) {
+ ElMessage.success(result.message || "鎿嶄綔鎴愬姛");
+ return;
+ }
+
+ ElMessage.error((result && result.message) || "鎿嶄綔澶辫触");
+ } catch (error) {
+ console.error("璋冨害璇锋眰寮傚父", { action, jobForm: jobForm.value, error });
+ ElMessage.error("璋冨害璇锋眰澶辫触锛岃绋嶅悗閲嶈瘯");
+ }
+ };
+
+ return {
+ jobForm,
+ handleSchedulerAction,
+ };
+ },
+});
+</script>
+
+<style scoped>
+.scheduler-page {
+ padding: 12px;
+}
+
+.card-item {
+ margin-bottom: 12px;
+}
+
+.button-row {
+ display: flex;
+ gap: 10px;
+ flex-wrap: wrap;
+}
+</style>
diff --git a/Code/WCS/WIDESEAWCS_Client/src/views/system/Sys_Tenant.vue b/Code/WCS/WIDESEAWCS_Client/src/views/system/Sys_Tenant.vue
new file mode 100644
index 0000000..93d3e4f
--- /dev/null
+++ b/Code/WCS/WIDESEAWCS_Client/src/views/system/Sys_Tenant.vue
@@ -0,0 +1,238 @@
+锘�<template>
+ <view-grid
+ ref="grid"
+ :columns="columns"
+ :detail="detail"
+ :editFormFields="editFormFields"
+ :editFormOptions="editFormOptions"
+ :searchFormFields="searchFormFields"
+ :searchFormOptions="searchFormOptions"
+ :table="table"
+ :extend="extend"
+ >
+ </view-grid>
+</template>
+<script>
+import extend from "@/extension/system/Sys_Tenant.js";
+import { ref, defineComponent } from "vue";
+
+export default defineComponent({
+ setup() {
+ const tenantTypeOptions = [
+ { key: 0, value: "榛樿绉熸埛" },
+ { key: 1, value: "浼佷笟绉熸埛" },
+ { key: 2, value: "骞冲彴绉熸埛" },
+ ];
+
+ const dbTypeOptions = [
+ { key: 0, value: "SqlServer" },
+ { key: 1, value: "MySql" },
+ { key: 2, value: "PostgreSQL" },
+ { key: 3, value: "Oracle" },
+ { key: 4, value: "Sqlite" },
+ ];
+
+ const statusOptions = [
+ { key: 1, value: "鍚敤" },
+ { key: 0, value: "绂佺敤" },
+ ];
+
+ const table = ref({
+ key: "tenantId",
+ footer: "Foots",
+ cnName: "绉熸埛绠$悊",
+ name: "Sys_Tenant",
+ url: "/tenant/",
+ sortName: "tenantId",
+ });
+
+ const editFormFields = ref({
+ tenantName: "",
+ tenantType: 0,
+ dbType: 0,
+ connectionString: "",
+ status: 1,
+ remark: "",
+ });
+
+ const editFormOptions = ref([
+ [
+ { title: "绉熸埛鍚嶇О", required: true, field: "tenantName", type: "string" },
+ {
+ title: "绉熸埛绫诲瀷",
+ required: true,
+ field: "tenantType",
+ type: "select",
+ data: tenantTypeOptions,
+ },
+ ],
+ [
+ {
+ title: "鏁版嵁搴撶被鍨�",
+ required: true,
+ field: "dbType",
+ type: "select",
+ data: dbTypeOptions,
+ },
+ {
+ title: "鐘舵��",
+ required: true,
+ field: "status",
+ type: "select",
+ data: statusOptions,
+ },
+ ],
+ [
+ {
+ title: "杩炴帴瀛楃涓�",
+ required: true,
+ field: "connectionString",
+ colSize: 12,
+ type: "textarea",
+ },
+ ],
+ [{ title: "澶囨敞", field: "remark", colSize: 12, type: "textarea" }],
+ ]);
+
+ const searchFormFields = ref({
+ tenantName: "",
+ tenantType: "",
+ dbType: "",
+ status: "",
+ });
+
+ const searchFormOptions = ref([
+ [
+ { title: "绉熸埛鍚嶇О", field: "tenantName", type: "like" },
+ {
+ title: "绉熸埛绫诲瀷",
+ field: "tenantType",
+ type: "select",
+ data: tenantTypeOptions,
+ },
+ ],
+ [
+ {
+ title: "鏁版嵁搴撶被鍨�",
+ field: "dbType",
+ type: "select",
+ data: dbTypeOptions,
+ },
+ {
+ title: "鐘舵��",
+ field: "status",
+ type: "select",
+ data: statusOptions,
+ },
+ ],
+ ]);
+
+ const columns = ref([
+ {
+ field: "tenantId",
+ title: "绉熸埛ID",
+ type: "int",
+ width: 110,
+ readonly: true,
+ require: true,
+ align: "left",
+ },
+ {
+ field: "tenantName",
+ title: "绉熸埛鍚嶇О",
+ type: "string",
+ width: 180,
+ require: true,
+ align: "left",
+ },
+ {
+ field: "tenantType",
+ title: "绉熸埛绫诲瀷",
+ type: "int",
+ width: 120,
+ align: "left",
+ bind: { key: "tenantTypeLocal", data: tenantTypeOptions },
+ },
+ {
+ field: "dbType",
+ title: "鏁版嵁搴撶被鍨�",
+ type: "int",
+ width: 140,
+ align: "left",
+ bind: { key: "dbTypeLocal", data: dbTypeOptions },
+ },
+ {
+ field: "status",
+ title: "鐘舵��",
+ type: "int",
+ width: 100,
+ align: "left",
+ bind: { key: "tenantStatusLocal", data: statusOptions },
+ },
+ {
+ field: "connectionString",
+ title: "杩炴帴瀛楃涓�",
+ type: "string",
+ width: 320,
+ align: "left",
+ },
+ {
+ field: "creater",
+ title: "鍒涘缓浜�",
+ type: "string",
+ width: 100,
+ align: "left",
+ },
+ {
+ field: "createDate",
+ title: "鍒涘缓鏃堕棿",
+ type: "datetime",
+ width: 160,
+ align: "left",
+ sort: true,
+ },
+ {
+ field: "modifier",
+ title: "淇敼浜�",
+ type: "string",
+ width: 100,
+ align: "left",
+ },
+ {
+ field: "modifyDate",
+ title: "淇敼鏃堕棿",
+ type: "datetime",
+ width: 160,
+ align: "left",
+ sort: true,
+ },
+ {
+ field: "remark",
+ title: "澶囨敞",
+ type: "string",
+ width: 180,
+ align: "left",
+ },
+ ]);
+
+ const detail = ref({
+ cnName: "",
+ table: "",
+ columns: [],
+ sortName: "",
+ key: "",
+ });
+
+ return {
+ table,
+ extend,
+ editFormFields,
+ editFormOptions,
+ searchFormFields,
+ searchFormOptions,
+ columns,
+ detail,
+ };
+ },
+});
+</script>
diff --git a/Code/WCS/WIDESEAWCS_Client/src/views/taskinfo/taskHty.vue b/Code/WCS/WIDESEAWCS_Client/src/views/taskinfo/taskHty.vue
new file mode 100644
index 0000000..1211cf3
--- /dev/null
+++ b/Code/WCS/WIDESEAWCS_Client/src/views/taskinfo/taskHty.vue
@@ -0,0 +1,242 @@
+<template>
+ <view-grid
+ ref="grid"
+ :columns="columns"
+ :detail="detail"
+ :editFormFields="editFormFields"
+ :editFormOptions="editFormOptions"
+ :searchFormFields="searchFormFields"
+ :searchFormOptions="searchFormOptions"
+ :table="table"
+ :extend="extend"
+ >
+ </view-grid>
+</template>
+<script>
+import extend from "@/extension/taskinfo/taskHty.js";
+import { ref, defineComponent } from "vue";
+
+export default defineComponent({
+ setup() {
+ const table = ref({
+ key: "taskId",
+ footer: "Foots",
+ cnName: "浠诲姟鍘嗗彶",
+ name: "taskHty",
+ url: "/Task_Hty/",
+ sortName: "insertTime",
+ });
+
+ const editFormFields = ref({});
+ const editFormOptions = ref([]);
+
+ const searchFormFields = ref({
+ taskNum: "",
+ palletCode: "",
+ roadway: "",
+ sourceAddress: "",
+ targetAddress: "",
+ currentAddress: "",
+ nextAddress: "",
+ creater: "",
+ createDate: "",
+ operateType: "",
+ insertTime: "",
+ });
+
+ const searchFormOptions = ref([
+ [
+ { title: "浠诲姟鍙�", field: "taskNum", type: "int" },
+ { title: "鎵樼洏缂栫爜", field: "palletCode", type: "like" },
+ {
+ title: "浠诲姟绫诲瀷",
+ field: "taskType",
+ type: "selectList",
+ dataKey: "taskType",
+ data: [],
+ },
+ {
+ title: "浠诲姟鐘舵��",
+ field: "taskStatus",
+ type: "selectList",
+ dataKey: "taskState",
+ data: [],
+ },
+ ],
+ [
+ { title: "璧峰鍦板潃", field: "sourceAddress", type: "like" },
+ { title: "鐩爣鍦板潃", field: "targetAddress", type: "like" },
+ { title: "褰撳墠浣嶇疆", field: "currentAddress", type: "like" },
+ { title: "涓嬩竴浣嶇疆", field: "nextAddress", type: "like" },
+ ],
+ [
+ { title: "宸烽亾鍙�", field: "roadway", type: "like" },
+ { title: "鍒涘缓浜�", field: "creater", type: "like" },
+ { title: "鎿嶄綔绫诲瀷", field: "operateType", type: "like" },
+ { title: "绉诲叆鍘嗗彶鏃堕棿", field: "insertTime", type: "datetime" },
+ ],
+ ]);
+
+ const columns = ref([
+ {
+ field: "taskId",
+ title: "TaskId",
+ type: "int",
+ width: 90,
+ hidden: true,
+ readonly: true,
+ require: true,
+ align: "left",
+ },
+ {
+ field: "taskNum",
+ title: "浠诲姟鍙�",
+ type: "int",
+ width: 100,
+ align: "left",
+ },
+ {
+ field: "palletCode",
+ title: "鎵樼洏缂栫爜",
+ type: "string",
+ width: 150,
+ align: "left",
+ },
+ {
+ field: "roadway",
+ title: "宸烽亾鍙�",
+ type: "string",
+ width: 90,
+ align: "left",
+ },
+ {
+ field: "taskType",
+ title: "浠诲姟绫诲瀷",
+ type: "int",
+ width: 90,
+ align: "left",
+ bind: { key: "taskType", data: [] },
+ },
+ {
+ field: "taskStatus",
+ title: "浠诲姟鐘舵��",
+ type: "int",
+ width: 120,
+ align: "left",
+ bind: { key: "taskState", data: [] },
+ },
+ {
+ field: "sourceAddress",
+ title: "璧峰鍦板潃",
+ type: "string",
+ width: 120,
+ align: "left",
+ },
+ {
+ field: "targetAddress",
+ title: "鐩爣鍦板潃",
+ type: "string",
+ width: 120,
+ align: "left",
+ },
+ {
+ field: "currentAddress",
+ title: "褰撳墠浣嶇疆",
+ type: "string",
+ width: 120,
+ align: "left",
+ },
+ {
+ field: "nextAddress",
+ title: "涓嬩竴浣嶇疆",
+ type: "string",
+ width: 120,
+ align: "left",
+ },
+ {
+ field: "grade",
+ title: "浼樺厛绾�",
+ type: "int",
+ width: 90,
+ align: "left",
+ },
+ {
+ field: "sourceId",
+ title: "鍘熻〃涓婚敭",
+ type: "int",
+ width: 100,
+ align: "left",
+ },
+ {
+ field: "operateType",
+ title: "鎿嶄綔绫诲瀷",
+ type: "string",
+ width: 120,
+ align: "left",
+ },
+ {
+ field: "insertTime",
+ title: "绉诲叆鍘嗗彶鏃堕棿",
+ type: "datetime",
+ width: 170,
+ align: "left",
+ sort: true,
+ },
+ {
+ field: "creater",
+ title: "鍒涘缓浜�",
+ type: "string",
+ width: 100,
+ align: "left",
+ },
+ {
+ field: "createDate",
+ title: "鍒涘缓鏃堕棿",
+ type: "datetime",
+ width: 160,
+ align: "left",
+ },
+ {
+ field: "modifier",
+ title: "淇敼浜�",
+ type: "string",
+ width: 100,
+ align: "left",
+ },
+ {
+ field: "modifyDate",
+ title: "淇敼鏃堕棿",
+ type: "datetime",
+ width: 160,
+ align: "left",
+ },
+ {
+ field: "remark",
+ title: "澶囨敞",
+ type: "string",
+ width: 120,
+ align: "left",
+ },
+ ]);
+
+ const detail = ref({
+ cnName: "",
+ table: "",
+ columns: [],
+ sortName: "",
+ key: "",
+ });
+
+ return {
+ table,
+ extend,
+ editFormFields,
+ editFormOptions,
+ searchFormFields,
+ searchFormOptions,
+ columns,
+ detail,
+ };
+ },
+});
+</script>
--
Gitblit v1.9.3