瀏覽代碼

Merge remote-tracking branch 'origin/master'

110 2 年之前
父節點
當前提交
7f42d90628

+ 1 - 1
itdmWeb/.env

@@ -1,5 +1,5 @@
 NODE_ENV=production
-VUE_APP_PLATFORM_NAME=iTDM验协同管理平台
+VUE_APP_PLATFORM_NAME=iTDM验协同管理平台
 # 开启单点登录
 VUE_APP_SSO=false
 # 开启微应用模式

+ 1 - 11
itdmWeb/package-lock.json

@@ -6499,11 +6499,6 @@
       "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30001097.tgz",
       "integrity": "sha512-6zCYv0bxVP6ppQ/XpZsTQZNDC2zUutl8Yes2TDj7LyIDyBhq2N9JbQjcqQo6mAe8IVfszW5pmE0yHvAYD0zEmQ=="
     },
-    "node_modules/caniuse-lite": {
-      "version": "1.0.30001097",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001097.tgz",
-      "integrity": "sha512-TeuSleKt/vWXaPkLVFqGDnbweYfq4IaZ6rUugFf3rWY6dlII8StUZ8Ddin0PkADfgYZ4wRqCdO2ORl4Rn5eZIA=="
-    },
     "node_modules/case-sensitive-paths-webpack-plugin": {
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz",
@@ -27803,11 +27798,6 @@
       "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30001097.tgz",
       "integrity": "sha512-6zCYv0bxVP6ppQ/XpZsTQZNDC2zUutl8Yes2TDj7LyIDyBhq2N9JbQjcqQo6mAe8IVfszW5pmE0yHvAYD0zEmQ=="
     },
-    "caniuse-lite": {
-      "version": "1.0.30001097",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001097.tgz",
-      "integrity": "sha512-TeuSleKt/vWXaPkLVFqGDnbweYfq4IaZ6rUugFf3rWY6dlII8StUZ8Ddin0PkADfgYZ4wRqCdO2ORl4Rn5eZIA=="
-    },
     "case-sensitive-paths-webpack-plugin": {
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz",
@@ -40697,4 +40687,4 @@
       }
     }
   }
-}
+}

+ 2 - 2
itdmWeb/public/index.html

@@ -5,7 +5,7 @@
   <meta charset="utf-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport" content="width=device-width,initial-scale=1.0">
-  <title>iTDM验协同管理平台</title>
+  <title>iTDM验协同管理平台</title>
   <link rel="icon" href="<%= BASE_URL %>logo.png">
   <script src="<%= BASE_URL %>cdn/babel-polyfill/polyfill_7_2_5.js"></script>
   <style>
@@ -249,7 +249,7 @@
     <div id="loader"></div>
     <div class="loader-section section-left"></div>
     <div class="loader-section section-right"></div>
-    <div class="load_title">正在加载 iTDM验协同管理平台,请耐心等待
+    <div class="load_title">正在加载 iTDM验协同管理平台,请耐心等待
 
     </div>
   </div>

二進制
itdmWeb/public/logo.png


+ 5 - 1
itdmWeb/src/api/api.js

@@ -54,6 +54,9 @@ const queryMyDepartTreeList = (params)=>getAction("/sys/sysDepart/queryMyDeptTre
 
 // 设备故障判断
 const checkGuzhang = (params) => putAction('/itdmDevice/itdmDevice/edit1', params)
+// 获取设备下拉列表
+const getDeviceList = (params) => getAction('/itdmDevice/itdmDevice/xialalist', params)
+
 
 //日志管理
 const deleteLog = (params)=>deleteAction("/sys/log/delete",params);
@@ -159,7 +162,8 @@ export {
   queryMyDepartTreeList,
   getUserNoticeInfo,
   getDictItemsFromCache,
-  checkGuzhang
+  checkGuzhang,
+  getDeviceList
 }
 
 

二進制
itdmWeb/src/assets/logo-white.png


二進制
itdmWeb/src/assets/logo.png


+ 336 - 168
itdmWeb/src/components/Gantt.vue

@@ -2,7 +2,7 @@
 <template>
   <div ref="gantt"></div>
 </template>
- 
+
 <script>
 import {gantt} from 'dhtmlx-gantt';
 import {getDeviceList} from '@/api/api'
@@ -16,180 +16,348 @@ export default {
       }
     }
   },
-  // created() {
-  //   this.getDevicelist();
+  created() {
+    this.getDevicelist();
+  },
+  // mounted: function () {
+  //   // 启用动态加载
+  //     gantt.config.branch_loading = true
+  //     //日期格式化
+  //     gantt.config.xml_date = "%Y-%m-%d";
+  //     gantt.config.order_branch = true;
+  //     gantt.config.order_branch_free = true;
+  //     //左侧是否自适应
+  //     gantt.config.autofit = true;
+  //     gantt.config.drag_links = false;//连线
+  //     gantt.config.readonly = false;  //只读
+  //     gantt.config.date_scale = "%m月%d日"; //右侧显示列名
+  //     gantt.config.layout = {//拖拽布局
+  //       css: "gantt_container",
+  //       rows: [
+  //         {
+  //           cols: [
+  //             { view: "grid", id: "grid", scrollX: "scrollHor", scrollY: "scrollVer" },
+  //             { resizer: true, width: 1 },
+  //             { view: "timeline", id: "timeline", scrollX: "scrollHor", scrollY: "scrollVer" },
+  //             { view: "scrollbar", scroll: "y", id: "scrollVer" }
+  //           ]
+  //         },
+  //         { view: "scrollbar", scroll: "x", id: "scrollHor", height: 20 }
+  //       ]
+  //     };
+  //     gantt.config.start_on_monday = true;
+  //     gantt.config.work_time = true;
+  //     gantt.config.fit_tasks = true;   //自动调整图表坐标轴区间用于适配task的长度
+  //   // 甘特图汉化
+  //   gantt.locale = {
+  //       date: {
+  //         month_full: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
+  //         month_short: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
+  //         day_full: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"],
+  //         day_short: ["日", "一", "二", "三", "四", "五", "六"]
+  //       },
+  //       labels: {
+  //         dhx_cal_today_button: "今天",
+  //         day_tab: "日",
+  //         week_tab: "周",
+  //         month_tab: "月",
+  //         new_event: "新建日程",
+  //         icon_save: "保存",
+  //         icon_cancel: "关闭",
+  //         icon_details: "详细",
+  //         icon_edit: "编辑",
+  //         icon_delete: "删除",
+  //         confirm_closing: "请确认是否撤销修改!", //Your changes will be lost, are your sure?
+  //         confirm_deleting: "是否删除计划?",
+  //         section_description: "描述:",
+  //         section_time: "时间范围:",
+  //         section_type: "类型:",
+  //         section_text: "计划名称:",
+  //         section_test: "测试:",
+  //         section_projectClass: "项目类型:",
+  //         taskProjectType_0: "项目任务",
+  //         taskProjectType_1: "普通任务",
+  //         section_head: "项目经理:",
+  //         section_device: "试验设备:",
+  //         section_priority: '优先级:',
+  //         taskProgress: '任务状态',
+  //         taskProgress_0: "未开始",
+  //         taskProgress_1: "进行中",
+  //         taskProgress_2: "已完成",
+  //         taskProgress_3: "已延期",
+  //         taskProgress_4: "搁置中",
+  //         section_template: 'Details',
+  //         /* grid columns */
+  //         column_text: "计划名称",
+  //         column_sample: "样品名称",
+  //         column_project: "检测项目",
+  //         column_start_date: "开始时间",
+  //         column_duration: "持续时间",
+  //         column_add: "",
+  //         column_priority: "难度",
+  //         /* link confirmation */
+  //         link: "关联",
+  //         confirm_link_deleting: "将被删除",
+  //         link_start: " (开始)",
+  //         link_end: " (结束)",
+  //         type_task: "任务",
+  //         type_project: "项目",
+  //         type_milestone: "里程碑",
+  //
+  //         minutes: "分钟",
+  //         hours: "小时",
+  //         days: "天",
+  //         weeks: "周",
+  //         months: "月",
+  //         years: "年"
+  //       }
+  //     };
+  //
+  //   //定义各种编辑器及类型
+  //   // var textEditor = {type: "text", map_to: "text"};
+  //   // var startDateEditor = {type: "date", map_to: "start_date"};
+  //   // var endDateEditor = {type: "date", map_to: "end_date"};
+  //   //设置甘特图中各个列相关配置
+  //   gantt.config.columns = [
+  //     { name: "text", min_width:100,max_width:200, label:"任务", align: "left",resize: true, tree: true },
+  //     { name: "sample", label: "样品名称", width: 130, resize: true, align: "left" },
+  //     { name: "project", label: "检测项目", width: 130, resize: true, align: "left" },
+  //     { name: "start_date", label: "开始时间", width: 130, resize: true, align: "left" },
+  //     { name: "end_date", label: "结束时间", width: 130, resize: true, align: "left" },
+  //     { name: "add", label:"", width: 30 },
+  //     // {
+  //     //   name: 'text',
+  //     //   label: '项目名称',
+  //     //   editor: textEditor,
+  //     //   resize: true,
+  //     //   tree: true,
+  //     //   width: '100',
+  //     // },
+  //     // {
+  //     //   name: 'start_date',
+  //     //   label: '项目开始时间',
+  //     //   align: "center",
+  //     //   editor: startDateEditor,
+  //     //   resize:true,
+  //     //   tree: false,
+  //     //   width: '130',
+  //     // },
+  //     // {
+  //     //   name: 'end_date',
+  //     //   label: '项目结束时间',
+  //     //   width: '130',
+  //     //   align: 'center',
+  //     //   editor: endDateEditor,
+  //     //   resize: true,
+  //     // },
+  //   ];
+  //   // var staff = [
+  //   //       { id: 1, label: '大王' },
+  //   //       { id: 2, label: '小王' },
+  //   //       { id: 3, label: '老王' }
+  //   //   ];
+  //     //弹出层
+  //     gantt.config.lightbox.sections = [
+  //       { name: "text", height: 30, map_to: "text", type: "textarea", focus: true, width: "*" },
+  //       {
+  //         name: "time", height: 40, map_to: "auto", type: "duration",
+  //         time_format: ["%Y", "%m", "%d"],
+  //       },
+  //       { name: "head", height: 30, map_to: "head_id", type: "select", options:gantt.serverList("staff") },
+  //       {
+  //         name: "device", height: 30, map_to: "device_id", type: "select", options: gantt.serverList('staff',[]),
+  //       },
+  //       { name: "description", height: 70, map_to: "description", type: "textarea" },
+  //       // {
+  //       //   name: "priority", height: 40, map_to: "priority", type: "radio", options: gantt.serverList("priority")
+  //       // },
+  //
+  //     ];
+  //
+  //
+  //   gantt.init(this.$refs.gantt);
+  //   gantt.parse(this.$props.tasks);
   // },
-  mounted: function () {
-    // 启用动态加载
-      gantt.config.branch_loading = true
-      //日期格式化
-      gantt.config.xml_date = "%Y-%m-%d";
-      gantt.config.order_branch = true;
-      gantt.config.order_branch_free = true;
-      //左侧是否自适应
-      gantt.config.autofit = true;
-      gantt.config.drag_links = false;//连线
-      gantt.config.readonly = false;  //只读
-      gantt.config.date_scale = "%m月%d日"; //右侧显示列名
-      gantt.config.layout = {//拖拽布局
-        css: "gantt_container",
-        rows: [
+  methods: {
+    getDevicelist(){
+      getDeviceList().then((res) => {
+        this.tasks.collections.staff = res.map(response =>{
+          return {
+            value: response.id,
+            label: response.deviceName
+          }
+        })
+        console.log('this.tasks.collections.staff:',this.tasks.collections.staff)
+        this.tasks.collections.staff2.push(
+          { id: 2, label: '999' },
+          { id: 3, label: '777' }
+        )
+        this.initData()
+      })
+    },
+    initData(){
+        // 启用动态加载
+        gantt.config.branch_loading = true
+        //日期格式化
+        gantt.config.xml_date = "%Y-%m-%d";
+        gantt.config.order_branch = true;
+        gantt.config.order_branch_free = true;
+        //左侧是否自适应
+        gantt.config.autofit = true;
+        gantt.config.drag_links = false;//连线
+        gantt.config.readonly = false;  //只读
+        gantt.config.date_scale = "%m月%d日"; //右侧显示列名
+        gantt.config.layout = {//拖拽布局
+          css: "gantt_container",
+          rows: [
+            {
+              cols: [
+                { view: "grid", id: "grid", scrollX: "scrollHor", scrollY: "scrollVer" },
+                { resizer: true, width: 1 },
+                { view: "timeline", id: "timeline", scrollX: "scrollHor", scrollY: "scrollVer" },
+                { view: "scrollbar", scroll: "y", id: "scrollVer" }
+              ]
+            },
+            { view: "scrollbar", scroll: "x", id: "scrollHor", height: 20 }
+          ]
+        };
+        gantt.config.start_on_monday = true;
+        gantt.config.work_time = true;
+        gantt.config.fit_tasks = true;   //自动调整图表坐标轴区间用于适配task的长度
+        // 甘特图汉化
+        gantt.locale = {
+          date: {
+            month_full: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
+            month_short: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
+            day_full: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"],
+            day_short: ["日", "一", "二", "三", "四", "五", "六"]
+          },
+          labels: {
+            dhx_cal_today_button: "今天",
+            day_tab: "日",
+            week_tab: "周",
+            month_tab: "月",
+            new_event: "新建日程",
+            icon_save: "保存",
+            icon_cancel: "关闭",
+            icon_details: "详细",
+            icon_edit: "编辑",
+            icon_delete: "删除",
+            confirm_closing: "请确认是否撤销修改!", //Your changes will be lost, are your sure?
+            confirm_deleting: "是否删除计划?",
+            section_description: "描述:",
+            section_time: "时间范围:",
+            section_type: "类型:",
+            section_text: "计划名称:",
+            section_test: "测试:",
+            section_projectClass: "项目类型:",
+            taskProjectType_0: "项目任务",
+            taskProjectType_1: "普通任务",
+            section_head: "项目经理:",
+            section_device: "试验设备:",
+            section_priority: '优先级:',
+            taskProgress: '任务状态',
+            taskProgress_0: "未开始",
+            taskProgress_1: "进行中",
+            taskProgress_2: "已完成",
+            taskProgress_3: "已延期",
+            taskProgress_4: "搁置中",
+            section_template: 'Details',
+            /* grid columns */
+            column_text: "计划名称",
+            column_sample: "样品名称",
+            column_project: "检测项目",
+            column_start_date: "开始时间",
+            column_duration: "持续时间",
+            column_add: "",
+            column_priority: "难度",
+            /* link confirmation */
+            link: "关联",
+            confirm_link_deleting: "将被删除",
+            link_start: " (开始)",
+            link_end: " (结束)",
+            type_task: "任务",
+            type_project: "项目",
+            type_milestone: "里程碑",
+
+            minutes: "分钟",
+            hours: "小时",
+            days: "天",
+            weeks: "周",
+            months: "月",
+            years: "年"
+          }
+        };
+
+        //定义各种编辑器及类型
+        // var textEditor = {type: "text", map_to: "text"};
+        // var startDateEditor = {type: "date", map_to: "start_date"};
+        // var endDateEditor = {type: "date", map_to: "end_date"};
+        //设置甘特图中各个列相关配置
+        gantt.config.columns = [
+          { name: "text", min_width:100,max_width:200, label:"任务", align: "left",resize: true, tree: true },
+          { name: "sample", label: "样品名称", width: 130, resize: true, align: "left" },
+          { name: "project", label: "检测项目", width: 130, resize: true, align: "left" },
+          { name: "start_date", label: "开始时间", width: 130, resize: true, align: "left" },
+          { name: "end_date", label: "结束时间", width: 130, resize: true, align: "left" },
+          { name: "add", label:"", width: 30 },
+          // {
+          //   name: 'text',
+          //   label: '项目名称',
+          //   editor: textEditor,
+          //   resize: true,
+          //   tree: true,
+          //   width: '100',
+          // },
+          // {
+          //   name: 'start_date',
+          //   label: '项目开始时间',
+          //   align: "center",
+          //   editor: startDateEditor,
+          //   resize:true,
+          //   tree: false,
+          //   width: '130',
+          // },
+          // {
+          //   name: 'end_date',
+          //   label: '项目结束时间',
+          //   width: '130',
+          //   align: 'center',
+          //   editor: endDateEditor,
+          //   resize: true,
+          // },
+        ];
+        // var staff = [
+        //       { id: 1, label: '大王' },
+        //       { id: 2, label: '小王' },
+        //       { id: 3, label: '老王' }
+        //   ];
+        //弹出层
+        gantt.config.lightbox.sections = [
+          { name: "text", height: 30, map_to: "text", type: "textarea", focus: true, width: "*" },
           {
-            cols: [
-              { view: "grid", id: "grid", scrollX: "scrollHor", scrollY: "scrollVer" },
-              { resizer: true, width: 1 },
-              { view: "timeline", id: "timeline", scrollX: "scrollHor", scrollY: "scrollVer" },
-              { view: "scrollbar", scroll: "y", id: "scrollVer" }
-            ]
+            name: "time", height: 40, map_to: "auto", type: "duration",
+            time_format: ["%Y", "%m", "%d"],
           },
-          { view: "scrollbar", scroll: "x", id: "scrollHor", height: 20 }
-        ]
-      };
-      gantt.config.start_on_monday = true;
-      gantt.config.work_time = true;
-      gantt.config.fit_tasks = true;   //自动调整图表坐标轴区间用于适配task的长度
-    // 甘特图汉化
-    gantt.locale = {
-        date: {
-          month_full: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
-          month_short: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
-          day_full: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"],
-          day_short: ["日", "一", "二", "三", "四", "五", "六"]
-        },
-        labels: {
-          dhx_cal_today_button: "今天",
-          day_tab: "日",
-          week_tab: "周",
-          month_tab: "月",
-          new_event: "新建日程",
-          icon_save: "保存",
-          icon_cancel: "关闭",
-          icon_details: "详细",
-          icon_edit: "编辑",
-          icon_delete: "删除",
-          confirm_closing: "请确认是否撤销修改!", //Your changes will be lost, are your sure?
-          confirm_deleting: "是否删除计划?",
-          section_description: "描述:",
-          section_time: "时间范围:",
-          section_type: "类型:",
-          section_text: "计划名称:",
-          section_test: "测试:",
-          section_projectClass: "项目类型:",
-          taskProjectType_0: "项目任务",
-          taskProjectType_1: "普通任务",
-          section_head: "项目经理:",
-          section_device: "试验设备:",
-          section_priority: '优先级:',
-          taskProgress: '任务状态',
-          taskProgress_0: "未开始",
-          taskProgress_1: "进行中",
-          taskProgress_2: "已完成",
-          taskProgress_3: "已延期",
-          taskProgress_4: "搁置中",
-          section_template: 'Details',
-          /* grid columns */
-          column_text: "计划名称",
-          column_sample: "样品名称",
-          column_project: "检测项目",
-          column_start_date: "开始时间",
-          column_duration: "持续时间",
-          column_add: "",
-          column_priority: "难度",
-          /* link confirmation */
-          link: "关联",
-          confirm_link_deleting: "将被删除",
-          link_start: " (开始)",
-          link_end: " (结束)",
-          type_task: "任务",
-          type_project: "项目",
-          type_milestone: "里程碑",
+          { name: "head", height: 30, map_to: "head_id", type: "select", options:gantt.serverList("staff2") },
+          {
+            name: "device", height: 30, map_to: "device_id", type: "select", options: gantt.serverList('staff',[]),
+          },
+          { name: "description", height: 70, map_to: "description", type: "textarea" },
+          // {
+          //   name: "priority", height: 40, map_to: "priority", type: "radio", options: gantt.serverList("priority")
+          // },
 
-          minutes: "分钟",
-          hours: "小时",
-          days: "天",
-          weeks: "周",
-          months: "月",
-          years: "年"
-        }
-      };
-    
-    //定义各种编辑器及类型
-    // var textEditor = {type: "text", map_to: "text"};
-    // var startDateEditor = {type: "date", map_to: "start_date"};
-    // var endDateEditor = {type: "date", map_to: "end_date"};
-    //设置甘特图中各个列相关配置
-    gantt.config.columns = [
-      { name: "text", min_width:100,max_width:200, label:"任务", align: "left",resize: true, tree: true },
-      { name: "sample", label: "样品名称", width: 130, resize: true, align: "left" },
-      { name: "project", label: "检测项目", width: 130, resize: true, align: "left" },
-      { name: "start_date", label: "开始时间", width: 130, resize: true, align: "left" },
-      { name: "end_date", label: "结束时间", width: 130, resize: true, align: "left" },
-      { name: "add", label:"", width: 30 },
-      // {
-      //   name: 'text',
-      //   label: '项目名称',
-      //   editor: textEditor,
-      //   resize: true,
-      //   tree: true,
-      //   width: '100',
-      // },
-      // {
-      //   name: 'start_date',
-      //   label: '项目开始时间',
-      //   align: "center",
-      //   editor: startDateEditor,
-      //   resize:true,
-      //   tree: false,
-      //   width: '130',
-      // },
-      // {
-      //   name: 'end_date',
-      //   label: '项目结束时间',
-      //   width: '130',
-      //   align: 'center',
-      //   editor: endDateEditor,
-      //   resize: true,
-      // },
-    ];
-    // var staff = [
-    //       { id: 1, label: '大王' },
-    //       { id: 2, label: '小王' },
-    //       { id: 3, label: '老王' }
-    //   ];
-      //弹出层
-      gantt.config.lightbox.sections = [
-        { name: "text", height: 30, map_to: "text", type: "textarea", focus: true, width: "*" },
-        {
-          name: "time", height: 40, map_to: "auto", type: "duration",
-          time_format: ["%Y", "%m", "%d"],
-        },
-        { name: "head", height: 30, map_to: "head_id", type: "select", options:gantt.serverList("staff") },
-        {
-          name: "device", height: 30, map_to: "device_id", type: "select", options: gantt.serverList('staff',[]),
-        },
-        { name: "description", height: 70, map_to: "description", type: "textarea" },
-        // {
-        //   name: "priority", height: 40, map_to: "priority", type: "radio", options: gantt.serverList("priority")
-        // },
+        ];
 
-      ];
-      
-      
-    gantt.init(this.$refs.gantt);
-    gantt.parse(this.$props.tasks);
-  },
-  // methods: {
-  //   getDevicelist(){
-  //     getDeviceList().then((res) => {
-  //       console.log(111,res)
-  //       // this.staff = res
-  //       // console.log(this.staff)
-  //     })
-  //   }
-  // }
+
+        gantt.init(this.$refs.gantt);
+        gantt.parse(this.$props.tasks);
+    }
+  }
 }
 </script>
- 
+
 <style>
     @import "~dhtmlx-gantt/codebase/dhtmlxgantt.css";
 </style>

+ 1 - 1
itdmWeb/src/components/layouts/TabLayout.vue

@@ -183,7 +183,7 @@
        * @param title 要修改的新标题
        */
       changeTitle(title) {
-        let projectTitle = "iTDM验协同管理平台"
+        let projectTitle = "iTDM验协同管理平台"
         // 首页特殊处理
         if (this.$route.path === indexKey) {
           document.title = projectTitle

+ 2 - 2
itdmWeb/src/components/layouts/UserLayout.vue

@@ -4,8 +4,8 @@
       <div class="top">
         <div class="header">
           <a href="/">
-<!--            <img src="~@/assets/logo.svg" class="logo" alt="logo">-->
-            <span class="title">iTDM验协同管理平台</span>
+            <img src="~@/assets/logo.png" class="logo" alt="logo">
+            <span class="title">iTDM验协同管理平台</span>
           </a>
         </div>
         <div class="desc">

+ 1 - 1
itdmWeb/src/components/page/GlobalHeader.vue

@@ -17,7 +17,7 @@
         :type="collapsed ? 'menu-unfold' : 'menu-fold'"
         @click="toggle"/>
 
-      <span v-if="device === 'desktop'">欢迎进入 iTDM验协同管理平台</span>
+      <span v-if="device === 'desktop'">欢迎进入 iTDM验协同管理平台</span>
       <span v-else>Jeecg-Boot</span>
 
       <user-menu :theme="theme"/>

+ 1 - 1
itdmWeb/src/components/tools/Logo.vue

@@ -4,7 +4,7 @@
 
       <!-- update-begin- author:sunjianlei --- date:20190814 --- for: logo颜色根据主题颜色变化 -->
       <img v-if="navTheme === 'dark'" src="~@/assets/logo-white.png" alt="logo">
-      <img v-else src="~@/assets/logo.svg" alt="logo">
+      <img v-else src="~@/assets/logo.png" alt="logo">
       <!-- update-begin- author:sunjianlei --- date:20190814 --- for: logo颜色根据主题颜色变化 -->
 
       <h1 v-if="showTitle">{{ title }}</h1>

+ 6 - 5
itdmWeb/src/components/tools/UserMenu.vue

@@ -26,11 +26,12 @@
     <!-- update-end author:sunjianlei date:20200219 for: 菜单搜索改为动态组件,在手机端呈现出弹出框 -->
     <!-- update-end author:sunjianlei date:20191220 for: 解决全局样式冲突的问题 -->
     <!-- update_end  author:zhaoxin date:20191129 for: 做头部菜单栏导航 -->
-    <span class="action">
-      <a class="logout_title" target="_blank" href="http://doc.jeecg.com">
-        <a-icon type="question-circle-o"></a-icon>
-      </a>
-    </span>
+
+<!--    <span class="action">-->
+<!--      <a class="logout_title" target="_blank" href="http://doc.jeecg.com">-->
+<!--        <a-icon type="question-circle-o"></a-icon>-->
+<!--      </a>-->
+<!--    </span>-->
     <header-notice class="action"/>
     <a-dropdown>
       <span class="action action-full ant-dropdown-link user-dropdown-menu">

+ 22 - 20
itdmWeb/src/views/module-iTDM/ceshi.vue

@@ -21,11 +21,14 @@
     <gantt class="left-container" :tasks="tasks" style="height:600px;"></gantt>
   </div>
 </template>
- 
+
 <script>
 import Gantt from '../../components/Gantt.vue';
+
 import {getDeviceList} from '@/api/api'
- 
+import { getAction } from '@api/manage'
+import { gantt } from 'dhtmlx-gantt'
+
 export default {
   name: 'app',
   components: {Gantt},
@@ -45,43 +48,42 @@ export default {
         //   {id: 2, source: 2, target: 3, type: '0'},
         // ],
         collections: {
-          staff:[
-                
-          ]
+          staff:[],
+          staff2:[],
         }
       },
     }
   },
   created() {
-    this.getDevicelist();
+    // this.getDevicelist();
   },
   methods: {
     getDevicelist(){
       let that = this
       getDeviceList().then((res) => {
         console.log(111,res)
-        // this.staff = res.result
-        // that.tasks.collections.staff = res.map(response =>{
-        //   // console.log(222,response)
-        //   // return {
-        //   //   value: response.id,
-        //   //   lable: response.deviceName
-        //   // }
-          
-        // })
+        this.staff = res.result
+        that.tasks.collections.staff = res.map(response =>{
+          console.log(222,response)
+          return {
+            value: response.id,
+            lable: response.deviceName
+          }
+
+        })
         for (let index = 0; index < 3; index++) {
             that.tasks.collections.staff.push(
           { id: 2, label: '小王' },
           { id: 3, label: '老王' }
         )
-            
+
           }
         console.log(33,that.tasks.collections.staff)
-        
-        
-    
+
+
+
       })
-      
+
     }
   }
 }

+ 253 - 0
itdmWeb/src/views/module-iTDM/gongdandetail/ItdmGongdanDetailList.vue

@@ -0,0 +1,253 @@
+<template>
+  <a-card :bordered="false">
+    <!-- 查询区域 -->
+    <div class="table-page-search-wrapper">
+      <a-form layout="inline" @keyup.enter.native="searchQuery">
+        <a-row :gutter="24">
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="工单id">
+              <a-input placeholder="请输入工单id" v-model="queryParam.woId"></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="实绩设备id">
+              <a-input placeholder="请输入实绩设备id" v-model="queryParam.shijiShebeiId"></a-input>
+            </a-form-item>
+          </a-col>
+          <template v-if="toggleSearchStatus">
+            <a-col :xl="6" :lg="7" :md="8" :sm="24">
+              <a-form-item label="实绩试验类型">
+                <j-dict-select-tag placeholder="请选择实绩试验类型" v-model="queryParam.shijiShiiyanType" dictCode="shiyan_type"/>
+              </a-form-item>
+            </a-col>
+            <a-col :xl="10" :lg="11" :md="12" :sm="24">
+              <a-form-item label="任务日期">
+                <j-date placeholder="请选择开始日期" class="query-group-cust" v-model="queryParam.workDate_begin"></j-date>
+                <span class="query-group-split-cust"></span>
+                <j-date placeholder="请选择结束日期" class="query-group-cust" v-model="queryParam.workDate_end"></j-date>
+              </a-form-item>
+            </a-col>
+            <a-col :xl="10" :lg="11" :md="12" :sm="24">
+              <a-form-item label="实绩任务日期">
+                <j-date placeholder="请选择开始日期" class="query-group-cust" v-model="queryParam.shijiWorkDate_begin"></j-date>
+                <span class="query-group-split-cust"></span>
+                <j-date placeholder="请选择结束日期" class="query-group-cust" v-model="queryParam.shijiWorkDate_end"></j-date>
+              </a-form-item>
+            </a-col>
+            <a-col :xl="6" :lg="7" :md="8" :sm="24">
+              <a-form-item label="状态">
+                <j-dict-select-tag placeholder="请选择状态" v-model="queryParam.status" dictCode="test_plan_status"/>
+              </a-form-item>
+            </a-col>
+          </template>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
+              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
+              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
+
+            </span>
+          </a-col>
+        </a-row>
+      </a-form>
+    </div>
+    <!-- 查询区域-END -->
+
+    <!-- 操作按钮区域 -->
+    <div class="table-operator">
+
+    </div>
+
+    <!-- table区域-begin -->
+    <div>
+
+      <a-table
+        ref="table"
+        size="middle"
+        :scroll="{x:true}"
+        bordered
+        rowKey="id"
+        :columns="columns"
+        :dataSource="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+        class="j-table-force-nowrap"
+        @change="handleTableChange">
+
+        <template slot="htmlSlot" slot-scope="text">
+          <div v-html="text"></div>
+        </template>
+        <template slot="imgSlot" slot-scope="text,record">
+          <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
+          <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
+        </template>
+        <template slot="fileSlot" slot-scope="text">
+          <span v-if="!text" style="font-size: 12px;font-style: italic;">无文件</span>
+          <a-button
+            v-else
+            :ghost="true"
+            type="primary"
+            icon="download"
+            size="small"
+            @click="downloadFile(text)">
+            下载
+          </a-button>
+        </template>
+
+        <span slot="action" slot-scope="text, record" v-if="record.status===0">
+
+          <a @click="handleEdit(record)">确认</a>
+
+
+        </span>
+
+      </a-table>
+    </div>
+
+    <itdm-gongdan-detail-modal ref="modalForm" @ok="modalFormOk"></itdm-gongdan-detail-modal>
+  </a-card>
+</template>
+
+<script>
+
+  import '@assets/less/TableExpand.less'
+  import { mixinDevice } from '@/utils/mixin'
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  import ItdmGongdanDetailModal from './modules/ItdmGongdanDetailModal'
+  import {filterMultiDictText} from '@comp/dict/JDictSelectUtil'
+
+  export default {
+    name: 'ItdmGongdanDetailList',
+    mixins:[JeecgListMixin, mixinDevice],
+    components: {
+      ItdmGongdanDetailModal
+    },
+    data () {
+      return {
+        description: '工单detail管理页面',
+        // 表头
+        columns: [
+          {
+            title: '#',
+            dataIndex: '',
+            key:'rowIndex',
+            width:60,
+            align:"center",
+            customRender:function (t,r,index) {
+              return parseInt(index)+1;
+            }
+          },
+          {
+            title:'工单id',
+            align:"center",
+            dataIndex: 'woId'
+          },
+          {
+            title:'实绩设备id',
+            align:"center",
+            dataIndex: 'shijiShebeiId'
+          },
+          {
+            title:'实绩试验类型',
+            align:"center",
+            dataIndex: 'shijiShiiyanType_dictText'
+          },
+          {
+            title:'任务日期',
+            align:"center",
+            dataIndex: 'workDate',
+            customRender:function (text) {
+              return !text?"":(text.length>10?text.substr(0,10):text)
+            }
+          },
+          {
+            title:'试验开始时间',
+            align:"center",
+            dataIndex: 'startTime'
+          },
+          {
+            title:'试验结束时间',
+            align:"center",
+            dataIndex: 'endTime'
+          },
+          {
+            title:'实绩任务日期',
+            align:"center",
+            dataIndex: 'shijiWorkDate',
+            customRender:function (text) {
+              return !text?"":(text.length>10?text.substr(0,10):text)
+            }
+          },
+          {
+            title:'实绩试验开始时间',
+            align:"center",
+            dataIndex: 'shijiStartTime'
+          },
+          {
+            title:'实绩试验结束时间',
+            align:"center",
+            dataIndex: 'shijiEndTime'
+          },
+          {
+            title:'状态',
+            align:"center",
+            dataIndex: 'status_dictText'
+          },
+          {
+            title:'备注',
+            align:"center",
+            dataIndex: 'remark'
+          },
+          {
+            title: '操作',
+            dataIndex: 'action',
+            align:"center",
+            fixed:"right",
+            width:147,
+            scopedSlots: { customRender: 'action' }
+          }
+        ],
+        url: {
+          list: "/gongdandetail/itdmGongdanDetail/list",
+          delete: "/gongdandetail/itdmGongdanDetail/delete",
+          deleteBatch: "/gongdandetail/itdmGongdanDetail/deleteBatch",
+          exportXlsUrl: "/gongdandetail/itdmGongdanDetail/exportXls",
+          importExcelUrl: "gongdandetail/itdmGongdanDetail/importExcel",
+
+        },
+        dictOptions:{},
+        superFieldList:[],
+      }
+    },
+    created() {
+    this.getSuperFieldList();
+    },
+    computed: {
+      importExcelUrl: function(){
+        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
+      },
+    },
+    methods: {
+      initDictConfig(){
+      },
+      getSuperFieldList(){
+        let fieldList=[];
+        fieldList.push({type:'string',value:'woId',text:'工单id',dictCode:''})
+        fieldList.push({type:'string',value:'shijiShebeiId',text:'实绩设备id',dictCode:''})
+        fieldList.push({type:'int',value:'shijiShiiyanType',text:'实绩试验类型',dictCode:'shiyan_type'})
+        fieldList.push({type:'date',value:'workDate',text:'任务日期'})
+        fieldList.push({type:'string',value:'startTime',text:'试验开始时间',dictCode:''})
+        fieldList.push({type:'string',value:'endTime',text:'试验结束时间',dictCode:''})
+        fieldList.push({type:'date',value:'shijiWorkDate',text:'实绩任务日期'})
+        fieldList.push({type:'string',value:'shijiStartTime',text:'实绩试验开始时间',dictCode:''})
+        fieldList.push({type:'string',value:'shijiEndTime',text:'实绩试验结束时间',dictCode:''})
+        fieldList.push({type:'int',value:'status',text:'状态',dictCode:'test_plan_status'})
+        fieldList.push({type:'string',value:'remark',text:'备注',dictCode:''})
+        this.superFieldList = fieldList
+      }
+    }
+  }
+</script>
+<style scoped>
+  @import '~@assets/less/common.less';
+</style>

+ 26 - 0
itdmWeb/src/views/module-iTDM/gongdandetail/ItdmGongdanDetail_menu_insert.sql

@@ -0,0 +1,26 @@
+-- 注意:该页面对应的前台目录为views/gongdandetail文件夹下
+-- 如果你想更改到其他目录,请修改sql中component字段对应的值
+
+
+INSERT INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external)
+VALUES ('2023052104004790080', NULL, '工单detail', '/gongdandetail/itdmGongdanDetailList', 'module-iTDM/gongdandetail/ItdmGongdanDetailList', NULL, NULL, 0, NULL, '1', 0.00, 0, NULL, 1, 1, 0, 0, 0, NULL, '1', 0, 0, 'admin', '2023-05-21 16:00:08', NULL, NULL, 0);
+
+-- 权限控制sql
+-- 新增
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('2023052104004790081', '2023052104004790080', '新增', NULL, NULL, 0, NULL, NULL, 2, 'org.jeecg.modules:itdm_gongdan_detail:add', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2023-05-21 16:00:08', NULL, NULL, 0, 0, '1', 0);
+-- 编辑
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('2023052104004790082', '2023052104004790080', '编辑', NULL, NULL, 0, NULL, NULL, 2, 'org.jeecg.modules:itdm_gongdan_detail:edit', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2023-05-21 16:00:08', NULL, NULL, 0, 0, '1', 0);
+-- 删除
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('2023052104004790083', '2023052104004790080', '删除', NULL, NULL, 0, NULL, NULL, 2, 'org.jeecg.modules:itdm_gongdan_detail:delete', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2023-05-21 16:00:08', NULL, NULL, 0, 0, '1', 0);
+-- 批量删除
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('2023052104004790084', '2023052104004790080', '批量删除', NULL, NULL, 0, NULL, NULL, 2, 'org.jeecg.modules:itdm_gongdan_detail:deleteBatch', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2023-05-21 16:00:08', NULL, NULL, 0, 0, '1', 0);
+-- 导出excel
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('2023052104004790085', '2023052104004790080', '导出excel', NULL, NULL, 0, NULL, NULL, 2, 'org.jeecg.modules:itdm_gongdan_detail:exportXls', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2023-05-21 16:00:08', NULL, NULL, 0, 0, '1', 0);
+-- 导入excel
+INSERT INTO sys_permission(id, parent_id, name, url, component, is_route, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_leaf, keep_alive, hidden, hide_tab, description, create_by, create_time, update_by, update_time, del_flag, rule_flag, status, internal_or_external)
+VALUES ('2023052104004790086', '2023052104004790080', '导入excel', NULL, NULL, 0, NULL, NULL, 2, 'org.jeecg.modules:itdm_gongdan_detail:importExcel', '1', NULL, 0, NULL, 1, 0, 0, 0, NULL, 'admin', '2023-05-21 16:00:08', NULL, NULL, 0, 0, '1', 0);

+ 137 - 0
itdmWeb/src/views/module-iTDM/gongdandetail/modules/ItdmGongdanDetailForm.vue

@@ -0,0 +1,137 @@
+<template>
+  <a-spin :spinning="confirmLoading">
+    <j-form-container :disabled="formDisabled">
+      <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
+        <a-row>
+
+          <a-col :span="24">
+            <a-form-model-item label="实绩任务日期" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shijiWorkDate">
+              <j-date placeholder="请选择实绩任务日期" v-model="model.shijiWorkDate"  style="width: 100%" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="实绩试验开始时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shijiStartTime">
+              <j-date placeholder="请选择实绩试验开始时间" v-model="model.shijiStartTime" :showTime="true"  :dateFormat= "'HH:mm'" style="width: 100%" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="实绩试验结束时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="shijiEndTime">
+              <j-date placeholder="请选择实绩试验结束时间" v-model="model.shijiEndTime"  :showTime="true" :dateFormat="'HH:mm'" style="width: 100%" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="status">
+              <j-dict-select-tag type="list" v-model="model.status" dictCode="test_plan_status" placeholder="请选择状态" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="备注" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark">
+              <a-input v-model="model.remark" placeholder="请输入备注"  ></a-input>
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+      </a-form-model>
+    </j-form-container>
+  </a-spin>
+</template>
+
+<script>
+
+  import { httpAction, getAction } from '@/api/manage'
+  import { validateDuplicateValue } from '@/utils/util'
+
+  export default {
+    name: 'ItdmGongdanDetailForm',
+    components: {
+    },
+    props: {
+      //表单禁用
+      disabled: {
+        type: Boolean,
+        default: false,
+        required: false
+      }
+    },
+    data () {
+      return {
+        model:{
+         },
+        labelCol: {
+          xs: { span: 24 },
+          sm: { span: 5 },
+        },
+        wrapperCol: {
+          xs: { span: 24 },
+          sm: { span: 16 },
+        },
+        confirmLoading: false,
+        validatorRules: {
+           woId: [
+              { required: true, message: '请输入工单id!'},
+           ],
+           workDate: [
+              { required: true, message: '请输入任务日期!'},
+           ],
+           startTime: [
+              { required: true, message: '请输入试验开始时间!'},
+           ],
+           endTime: [
+              { required: true, message: '请输入试验结束时间!'},
+           ],
+        },
+        url: {
+          add: "/gongdandetail/itdmGongdanDetail/add",
+          edit: "/gongdandetail/itdmGongdanDetail/edit",
+          queryById: "/gongdandetail/itdmGongdanDetail/queryById"
+        }
+      }
+    },
+    computed: {
+      formDisabled(){
+        return this.disabled
+      },
+    },
+    created () {
+       //备份model原始值
+      this.modelDefault = JSON.parse(JSON.stringify(this.model));
+    },
+    methods: {
+      add () {
+        this.edit(this.modelDefault);
+      },
+      edit (record) {
+        this.model = Object.assign({}, record);
+        this.visible = true;
+      },
+      submitForm () {
+        const that = this;
+        // 触发表单验证
+        this.$refs.form.validate(valid => {
+          if (valid) {
+            that.confirmLoading = true;
+            let httpurl = '';
+            let method = '';
+            if(!this.model.id){
+              httpurl+=this.url.add;
+              method = 'post';
+            }else{
+              httpurl+=this.url.edit;
+               method = 'put';
+            }
+            httpAction(httpurl,this.model,method).then((res)=>{
+              if(res.success){
+                that.$message.success(res.message);
+                that.$emit('ok');
+              }else{
+                that.$message.warning(res.message);
+              }
+            }).finally(() => {
+              that.confirmLoading = false;
+            })
+          }
+
+        })
+      },
+    }
+  }
+</script>

+ 84 - 0
itdmWeb/src/views/module-iTDM/gongdandetail/modules/ItdmGongdanDetailModal.Style#Drawer.vue

@@ -0,0 +1,84 @@
+<template>
+  <a-drawer
+    :title="title"
+    :width="width"
+    placement="right"
+    :closable="false"
+    @close="close"
+    destroyOnClose
+    :visible="visible">
+    <itdm-gongdan-detail-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit" normal></itdm-gongdan-detail-form>
+    <div class="drawer-footer">
+      <a-button @click="handleCancel" style="margin-bottom: 0;">关闭</a-button>
+      <a-button v-if="!disableSubmit"  @click="handleOk" type="primary" style="margin-bottom: 0;">提交</a-button>
+    </div>
+  </a-drawer>
+</template>
+
+<script>
+
+  import ItdmGongdanDetailForm from './ItdmGongdanDetailForm'
+
+  export default {
+    name: 'ItdmGongdanDetailModal',
+    components: {
+      ItdmGongdanDetailForm
+    },
+    data () {
+      return {
+        title:"操作",
+        width:800,
+        visible: false,
+        disableSubmit: false
+      }
+    },
+    methods: {
+      add () {
+        this.visible=true
+        this.$nextTick(()=>{
+          this.$refs.realForm.add();
+        })
+      },
+      edit (record) {
+        this.visible=true
+        this.$nextTick(()=>{
+          this.$refs.realForm.edit(record);
+        });
+      },
+      close () {
+        this.$emit('close');
+        this.visible = false;
+      },
+      submitCallback(){
+        this.$emit('ok');
+        this.visible = false;
+      },
+      handleOk () {
+        this.$refs.realForm.submitForm();
+      },
+      handleCancel () {
+        this.close()
+      }
+    }
+  }
+</script>
+
+<style lang="less" scoped>
+/** Button按钮间距 */
+  .ant-btn {
+    margin-left: 30px;
+    margin-bottom: 30px;
+    float: right;
+  }
+  .drawer-footer{
+    position: absolute;
+    bottom: -8px;
+    width: 100%;
+    border-top: 1px solid #e8e8e8;
+    padding: 10px 16px;
+    text-align: right;
+    left: 0;
+    background: #fff;
+    border-radius: 0 0 2px 2px;
+  }
+</style>

+ 60 - 0
itdmWeb/src/views/module-iTDM/gongdandetail/modules/ItdmGongdanDetailModal.vue

@@ -0,0 +1,60 @@
+<template>
+  <j-modal
+    :title="title"
+    :width="width"
+    :visible="visible"
+    switchFullscreen
+    @ok="handleOk"
+    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
+    @cancel="handleCancel"
+    cancelText="关闭">
+    <itdm-gongdan-detail-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></itdm-gongdan-detail-form>
+  </j-modal>
+</template>
+
+<script>
+
+  import ItdmGongdanDetailForm from './ItdmGongdanDetailForm'
+  export default {
+    name: 'ItdmGongdanDetailModal',
+    components: {
+      ItdmGongdanDetailForm
+    },
+    data () {
+      return {
+        title:'',
+        width:800,
+        visible: false,
+        disableSubmit: false
+      }
+    },
+    methods: {
+      add () {
+        this.visible=true
+        this.$nextTick(()=>{
+          this.$refs.realForm.add();
+        })
+      },
+      edit (record) {
+        this.visible=true
+        this.$nextTick(()=>{
+          this.$refs.realForm.edit(record);
+        })
+      },
+      close () {
+        this.$emit('close');
+        this.visible = false;
+      },
+      handleOk () {
+        this.$refs.realForm.submitForm();
+      },
+      submitCallback(){
+        this.$emit('ok');
+        this.visible = false;
+      },
+      handleCancel () {
+        this.close()
+      }
+    }
+  }
+</script>

+ 1 - 1
itdmWeb/src/views/user/oauth2/OAuth2Login.vue

@@ -4,7 +4,7 @@
       <div id="loader"></div>
       <div class="loader-section section-left"></div>
       <div class="loader-section section-right"></div>
-      <div class="load_title">正在登录 iTDM验协同管理平台,请耐心等待</div>
+      <div class="load_title">正在登录 iTDM验协同管理平台,请耐心等待</div>
     </div>
   </div>
 </template>

+ 1 - 1
itdmWeb/vue.config.js

@@ -108,7 +108,7 @@ module.exports = {
       /* 注意:jeecgboot前端做了改造,此处不需要配置跨域和后台接口(只需要改.env相关配置文件即可)
           issues/3462 很多人此处做了配置,导致刷新前端404问题,请一定注意*/
       '/jeecg-boot': {
-        // target: 'http://192.168.186.146:8080',
+        // target: 'http://192.168.1.15:8080',
         target: 'http://localhost:8080',
         ws: false,
         changeOrigin: true

File diff suppressed because it is too large
+ 11232 - 11715
itdmWeb/yarn.lock