From e9d51762bf342f3f9b542ef0214ed41a6ff7d679 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期二, 07 十一月 2023 13:58:45 +0800
Subject: [PATCH] Changes
---
modules/mainPart/src/main/java/com/zt/life/modules/project/service/ProjectService.java | 2
modules/mainPart/src/main/java/com/zt/life/modules/project/model/Project.java | 40 ++++-
zt/core/src/main/resources/template/index.vue.vm | 19 ++
zt/core/src/main/java/com/zt/generator/controller/SysGeneratorController.java | 4
zt/core/src/main/java/com/zt/generator/utils/GenUtils.java | 5
modules/mainPart/src/main/java/com/zt/life/modules/project/dao/ProjectDao.java | 2
zt/core/src/main/resources/template/add-or-update.vue.vm | 6
/dev/null | 49 -------
web/src/views/modules/project/Project-AddOrUpdate.vue | 109 +++++++++++++++
web/src/views/modules/project/Project.vue | 90 ++++++++++++
zt/core/src/main/java/com/zt/generator/data/DBUtil.java | 30 +++-
web/packages/views/pages/generator.vue | 37 +++--
modules/mainPart/src/main/java/com/zt/life/modules/project/controller/ProjectController.java | 4
13 files changed, 299 insertions(+), 98 deletions(-)
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/ProjectController.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/ProjectController.java
index 483d93a..d28c818 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/ProjectController.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/ProjectController.java
@@ -30,7 +30,7 @@
* project
*
* @author zt generator
- * @since 1.0.0 2023-11-06
+ * @since 1.0.0 2023-11-07
*/
@RestController
@RequestMapping("/project/")
@@ -46,7 +46,7 @@
@ApiImplicitParam(name = Constant.Q.LIMIT, value = Constant.QV.LIMIT, required = true, dataType = Constant.QT.INT),
@ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING),
@ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING),
- })
+ @ApiImplicitParam(name = "entrustUnitName", value = "濮旀墭鍗曚綅鍚嶇О", dataType = Constant.QT.STRING, format = "entrust_unit_name^LK"), @ApiImplicitParam(name = "developUnitName", value = "寮�鍙戝崟浣嶅悕绉�", dataType = Constant.QT.STRING, format = "develop_unit_name^LK"), @ApiImplicitParam(name = "software", value = "杞欢鍚嶇О", dataType = Constant.QT.STRING, format = "software^LK"), @ApiImplicitParam(name = "code", value = "椤圭洰缂栧彿", dataType = Constant.QT.STRING, format = "CODE^LK"), @ApiImplicitParam(name = "identity", value = "椤圭洰鏍囪瘑", dataType = Constant.QT.STRING, format = "IDENTITY^LK"), @ApiImplicitParam(name = "criticalLevel", value = "鍏抽敭绛夌骇", dataType = Constant.QT.STRING, format = "critical_level^EQ"), @ApiImplicitParam(name = "testLevel", value = "娴嬭瘯绾у埆", dataType = Constant.QT.STRING, format = "test_level^EQ") })
public PageResult<Project> page(@ApiIgnore @QueryParam QueryFilter queryFilter){
return PageResult.ok(projectService.page(queryFilter));
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/dao/ProjectDao.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/dao/ProjectDao.java
index 0a88920..a5b0fb4 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/project/dao/ProjectDao.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/dao/ProjectDao.java
@@ -13,7 +13,7 @@
* project
*
* @author zt generator
- * @since 1.0.0 2023-11-06
+ * @since 1.0.0 2023-11-07
*/
@Mapper
public interface ProjectDao extends BaseDao<Project> {
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/model/Project.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/model/Project.java
index 9d7cdc1..ca54ea8 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/project/model/Project.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/model/Project.java
@@ -13,7 +13,7 @@
* project
*
* @author zt generator
- * @since 1.0.0 2023-11-06
+ * @since 1.0.0 2023-11-07
*/
@Data
@EqualsAndHashCode(callSuper=false)
@@ -21,8 +21,32 @@
public class Project extends BusiEntity {
private static final long serialVersionUID = 1L;
+ @ApiModelProperty(value = "濮旀墭鍗曚綅鍚嶇О")
+ private String entrustUnitName;
+
+ @ApiModelProperty(value = "濮旀墭鍗曚綅鍦板潃")
+ private String entrustUnitAddress;
+
+ @ApiModelProperty(value = "濮旀墭鍗曚綅鑱旂郴浜�")
+ private String entrustUnitContact;
+
+ @ApiModelProperty(value = "濮旀墭鍗曚綅鑱旂郴鏂瑰紡")
+ private String entrustUnitContWay;
+
+ @ApiModelProperty(value = "寮�鍙戝崟浣嶅悕绉�")
+ private String developUnitName;
+
+ @ApiModelProperty(value = "寮�鍙戝崟浣嶅湴鍧�")
+ private String developUnitAddress;
+
+ @ApiModelProperty(value = "寮�鍙戝崟浣嶈仈绯讳汉")
+ private String developUnitContact;
+
+ @ApiModelProperty(value = "寮�鍙戝崟浣嶈仈绯绘柟寮�")
+ private String developUnitContWay;
+
@ApiModelProperty(value = "杞欢鍚嶇О")
- private String softwarename;
+ private String software;
@ApiModelProperty(value = "椤圭洰缂栧彿")
private String code;
@@ -36,14 +60,8 @@
@ApiModelProperty(value = "鍏抽敭绛夌骇")
private Integer criticalLevel;
- @ApiModelProperty(value = "杩愯鐜")
- private String optEnviron;
-
- @ApiModelProperty(value = "缂栫▼璇█")
- private String programLang;
-
- @ApiModelProperty(value = "杞欢绫诲瀷")
- private Integer softwareType;
+ @ApiModelProperty(value = "娴嬭瘯绾у埆")
+ private Integer testLevel;
@ApiModelProperty(value = "椤圭洰璐熻矗浜�")
private String projectLeader;
@@ -55,6 +73,6 @@
private String projectReviewer;
@ApiModelProperty(value = "鏄惁绛剧讲鍚堝悓")
- private String isContract;
+ private Integer isContract;
}
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/ProjectService.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/ProjectService.java
index f9d905c..33fe756 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/ProjectService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/ProjectService.java
@@ -13,7 +13,7 @@
* project
*
* @author zt generator
- * @since 1.0.0 2023-11-06
+ * @since 1.0.0 2023-11-07
*/
@Service
public class ProjectService extends BaseService<ProjectDao, Project> {
diff --git a/modules/mainPart/src/main/resources/mapper/mainParts/TaskCenterDao.xml b/modules/mainPart/src/main/resources/mapper/mainParts/TaskCenterDao.xml
deleted file mode 100644
index 21ea4e8..0000000
--- a/modules/mainPart/src/main/resources/mapper/mainParts/TaskCenterDao.xml
+++ /dev/null
@@ -1,241 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-
-<mapper namespace="com.zt.life.modules.mainPart.task.dao.TaskCenterDao">
- <delete id="deleteTable">
- drop table ${tableName}
- </delete>
-
- <select id="page" resultType="com.zt.modules.workflow.model.WfRunTask">
- SELECT
- a.id,
- a.prev_id,
- a.prev_step_id,
- a.flow_id,
- a.step_id,
- a.step_name,
- a.biz_id,
- a.title,
- a.sender_id,
- a.sender_name,
- a.sender_time,
- a.group_id,
- a.receive_id,
- a.receive_name,
- a.receive_time,
- a.open_time,
- /* a.finish_time,*/
- a.finish_time2,
- a.comment,
- a.is_sign,
- a.sort,
- a.note,
- a.remark,
- a.is_delete,
- a.dept_id,
- a.company_id,
- a.tenant_id,
- a.topic,
- a.apply_user_id,
- a.apply_time,
-/* a.apply_user,*/
- a.step_marker,
- /*--step_router,*/
- a.flow_code,
- a.group_id2,
- a.finish_id,
- a.finish_name,
- a.biz_group_id,
- a.opinion,
- (case when status = 1 then '琚┏鍥�' else '' end) as statusName,
- DateDiff(CURRENT_DATE,a.RECEIVE_TIME) as idleDays,
- a.topic AS taskName,
- a.step_name as taskType,
- a.biz_id as id,
- 0 as Product_id,
- 0 as MAINTAIN_LEVEL,
- 0 as YEAR,
- a.RECEIVE_NAME as apply_user,
- date_add(a.RECEIVE_TIME,interval 7 day) AS finishTime,
- a.STEP_ID as APPROVE_STEP_ID,
- a.STEP_MARKER,
- a.FLOW_CODE,
- a.APPLY_USER as taskPeople,
- 2 code,
- a.title as summary,
- b.STEP_ROUTER,
- b.STEP_ROUTER_ID
- FROM WF_RUN_TASK a
- left join WF_DEF_STEP b on a.step_id = b.id
- WHERE a.is_delete =0 and a.status in (0,1)
- AND a.RECEIVE_ID = #{userId}
- <if test="projectId != null and projectId != ''">
- and a.biz_group_id = #{projectId}
- </if>
- <if test="djxlSystem != null and djxlSystem != ''">
- and a.FLOW_ID in (select id from wf_def where system_type = #{djxlSystem})
- </if>
- ORDER BY a.receive_time DESC
- </select>
-
- <update id="pageDone_temp">
- drop table if exists ${pageDone_temp1};
- create table ${pageDone_temp1} as
- SELECT * FROM (
- SELECT
- a1.id,
- a1.title,
- a1.topic,
- a1.remark,
- a1.biz_id,
- a1.biz_group_id,
- a1.flow_code,
- a1.step_id,
- a1.step_marker,
- /*a.step_name as step_name_my,*/
- a1.receive_name as sender_name,
- a1.receive_time,
- a1.finish_time as finish_time,
- a1.status
- FROM WF_RUN_TASK a1
- WHERE a1.is_delete = 0
- and (a1.receive_id=#{userId}
- or EXISTS(SELECT 1 FROM sys_role s1,sys_role_user s2 WHERE s1.ID = s2.role_id AND s2.USER_id = #{userId} AND
- s2.is_delete=0 and s1.CODE in ('all','xtglybm')))
- <if test="djxlSystem != null and djxlSystem != ''">
- and a1.FLOW_ID in (select id from wf_def where system_type = #{djxlSystem})
- </if>
-
- ) a2
- where status in (20,10)
- group by a2.biz_id,a2.flow_code,a2.step_id;
-
- drop table if exists ${pageDone_temp2};
- create table ${pageDone_temp2} as
- select * from
- (select
- b1.prev_id,
- b1.group_id,
- b1.biz_id,
- b1.flow_code,
- b1.step_id,
- b1.step_marker,
- b1.step_name,
- b1.receive_name,
- b1.receive_time,
- b1.status
- from ${pageDone_temp1} a1,
- WF_RUN_TASK b1
- WHERE b1.is_delete = 0
- and b1.status in(0,1,100)
-
- and a1.biz_id = b1.biz_id
- and a1.flow_code = b1.flow_code
- order by b1.receive_time DESC
- ) b2 group by biz_id,flow_code,step_id;
- </update>
-
- <select id="pageDone" resultType="com.zt.modules.workflow.model.WfRunTask">
- SELECT
- a.id,
- a.title,
- a.topic,
- a.remark,
- a.biz_id,
- a.flow_code,
- a.biz_group_id,
- c.STEP_READ_ROUTER_ID,
- a.sender_name,
- a.finish_time,
- b.prev_id,
- b.step_marker,
- b.step_name,
- case when c.CAN_RECALL=1 and a.id=b.prev_id and c.step_no < d.step_no and d.step_no < 100
- then 1 else 0 end as canRecall,
- c.step_no as myStepNo,
- d.step_no as curStepNo,
- (select group_concat(DISTINCT receive_name) from ${pageDone_temp2} s where s.group_id=b.group_id limit 0,3) receive_name,
- b.receive_time,
- (case when a.status = 10 then '椹冲洖' else '' end) as statusName,
- c.name as finishStepName,
- a.sender_name as finishUserName
- FROM ${pageDone_temp1} a
- join ${pageDone_temp2} b on a.biz_id = b.biz_id and a.flow_code = b.flow_code
- left join WF_DEF_STEP c on a.step_id = c.id
- left join WF_DEF_STEP d on b.step_id = d.id
- group by a.biz_id,a.flow_code,a.step_id
- ORDER BY a.receive_time DESC
- </select>
-
- <select id="getRowByProjectId" resultType="com.zt.modules.workflow.model.WfRunTask">
- SELECT
- a.id,
- a.prev_id,
- a.prev_step_id,
- a.flow_id,
- a.step_id,
- a.step_name,
- a.biz_id,
- a.title,
- a.sender_id,
- a.sender_name,
- a.sender_time,
- a.group_id,
- a.receive_id,
- a.receive_name,
- a.receive_time,
- a.open_time,
- a.finish_time,
- a.finish_time2,
- a.comment,
- a.is_sign,
- a.sort,
- a.note,
- a.remark,
- a.is_delete,
- a.dept_id,
- a.company_id,
- a.tenant_id,
- a.topic,
- a.apply_user_id,
- a.apply_time,
- a.apply_user,
- a.step_marker,
- /*--step_router,*/
- a.flow_code,
- a.group_id2,
- a.finish_id,
- a.finish_name,
- a.biz_group_id,
- a.opinion,
- (case when status = 1 then '琚┏鍥�' else '' end) as statusName,
- DateDiff(CURRENT_DATE,a.RECEIVE_TIME) as idleDays,
- a.topic AS taskName,
- a.step_name as taskType,
- a.biz_id as id,
- 0 as Product_id,
- 0 as MAINTAIN_LEVEL,
- 0 as YEAR,
- a.RECEIVE_TIME AS finishTime,
- a.STEP_ID as APPROVE_STEP_ID,
- a.STEP_MARKER,
- a.FLOW_CODE,
- a.APPLY_USER as taskPeople,
- 2 code,
- a.title as summary,
- b.STEP_ROUTER,
- b.STEP_ROUTER_ID
- FROM WF_RUN_TASK a
- left join WF_DEF_STEP b on a.step_id = b.id
- WHERE a.is_delete =0 and a.status in (0,1)
- and a.topic=(select model_name from wx_project where id=#{projectId})
- and a.step_marker='jsfa_sc'
- ORDER BY a.receive_time DESC limit 1
- </select>
-
- <update id="oneKeyDoneCy">
- update wf_run_task
- set status=20, UPDATER=#{userId}, UPDATE_DATE=CURRENT_TIMESTAMP
- where STEP_MARKER in('rjh_cy','zjh_cy','yjh_cy') and status=0 and RECEIVE_ID=#{userId}
- </update>
-</mapper>
diff --git a/web/packages/views/pages/generator.vue b/web/packages/views/pages/generator.vue
index 0915787..b9c071b 100644
--- a/web/packages/views/pages/generator.vue
+++ b/web/packages/views/pages/generator.vue
@@ -1,14 +1,15 @@
<template>
<div class="fa-card-a calcHeight" style="height: calc(100vh - 198px);overflow-y: hidden">
- <div class="mod-sys__generator" >
- <el-form :model="dataForm" label-width="80px" @keyup.enter.native="getDataList()">
- <el-form-item>
- <el-input style="width: 30%;margin-right: 20px;" v-model="dataForm.tableName" placeholder="璇疯緭鍏ヨ〃鍚�" clearable></el-input>
- <el-button @click="getTableInfo()">鏌ヨ</el-button>
- </el-form-item>
- </el-form>
- <el-table :data="dataForm.tableData" height="320" stripe style="width: 100%">
- <el-table-column prop="columnName" label="CODE"> </el-table-column>
+ <div class="mod-sys__generator">
+ <el-form :model="dataForm" label-width="80px" @keyup.enter.native="getDataList()">
+ <el-form-item>
+ <el-input style="width: 30%;margin-right: 20px;" v-model="dataForm.tableName" placeholder="璇疯緭鍏ヨ〃鍚�"
+ clearable></el-input>
+ <el-button @click="getTableInfo()">鏌ヨ</el-button>
+ </el-form-item>
+ </el-form>
+ <el-table :data="dataForm.tableData" height="320" stripe style="width: 100%">
+ <el-table-column prop="columnName" label="CODE"></el-table-column>
<el-table-column prop="remarks" label="鍚嶇О">
<template v-slot="{ row }">
<el-input size="small" v-model="row.remarks"></el-input>
@@ -23,7 +24,7 @@
<!-- <el-table-column prop="columnSize" label="鏁版嵁闀垮害"></el-table-column> -->
<el-table-column prop="isTableColumn" label="椤甸潰琛ㄦ牸鍒�">
<template v-slot="{ row }">
- <el-checkbox v-model="row.isTableColumn"></el-checkbox>
+ <el-checkbox v-model="row.isTableColumn"></el-checkbox>
</template>
</el-table-column>
<el-table-column prop="isSelectColumn" label="椤甸潰鏌ヨ鍒�">
@@ -41,16 +42,18 @@
</el-table-column>
</el-table>
- <el-divider><el-tag type="primary">鐢熸垚浠g爜鍙傛暟:</el-tag></el-divider>
+ <el-divider>
+ <el-tag type="primary">鐢熸垚浠g爜鍙傛暟:</el-tag>
+ </el-divider>
<div v-show="dataForm.tableData.length > 0" style="height:300px;overflow-y: auto">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" label-width="200px">
<el-form-item prop="className" label="瀹炰綋瀵硅薄鍚嶇О" style="width: 60%">
- <el-input v-model="dataForm.className" placeholder="璇疯緭鍏ョ敓鎴愮殑瀹炰綋瀵硅薄鍚嶇О" ></el-input>
+ <el-input v-model="dataForm.className" placeholder="璇疯緭鍏ョ敓鎴愮殑瀹炰綋瀵硅薄鍚嶇О"></el-input>
</el-form-item>
<el-form-item prop="packName" label="鍖呭悕" style="width: 60%">
- <el-input v-model="dataForm.packName" placeholder="璇疯緭鍏ョ敓鎴愮殑Java鍖呭悕" ></el-input>
+ <el-input v-model="dataForm.packName" placeholder="璇疯緭鍏ョ敓鎴愮殑Java鍖呭悕"></el-input>
</el-form-item>
<el-form-item prop="javaFilePath" label="Java椤圭洰璺緞" :inline="true">
@@ -92,7 +95,11 @@
export default {
data() {
return {
- modules: [], // 鍚庡彴modules
+ modules: [{id: '11', fileName: '鍚庣', filePath: 'D:\\test_project\\modules\\mainPart'}, {
+ id: '22',
+ fileName: '鍓嶇',
+ filePath: 'D:\\test_project\\web'
+ }], // 鍚庡彴modules
eqList: [],
dataForm: {
tableName: '',
@@ -100,7 +107,7 @@
javaFilePath: '',
vueFilePath: '',
checked: true,
- packName: 'com.zt.modules',
+ packName: 'com.zt.life.modules',
isPageFlag: true,
isExport: false,
tableData: []
diff --git a/web/src/views/modules/project/Project-AddOrUpdate.vue b/web/src/views/modules/project/Project-AddOrUpdate.vue
new file mode 100644
index 0000000..e0f1801
--- /dev/null
+++ b/web/src/views/modules/project/Project-AddOrUpdate.vue
@@ -0,0 +1,109 @@
+<template>
+ <zt-dialog ref="dialog" column="2" @confirm="formSubmit">
+ <el-form :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="120px">
+ <zt-form-item label="濮旀墭鍗曚綅鍚嶇О" prop="entrustUnitName" rules="required">
+ <el-input v-model="dataForm.entrustUnitName"></el-input>
+ </zt-form-item>
+ <zt-form-item label="濮旀墭鍗曚綅鍦板潃" prop="entrustUnitAddress" rules="required">
+ <el-input v-model="dataForm.entrustUnitAddress"></el-input>
+ </zt-form-item>
+ <zt-form-item label="濮旀墭鍗曚綅鑱旂郴浜�" prop="entrustUnitContact" rules="required">
+ <el-input v-model="dataForm.entrustUnitContact"></el-input>
+ </zt-form-item>
+ <zt-form-item label="濮旀墭鍗曚綅鑱旂郴鏂瑰紡" prop="entrustUnitContWay" rules="required">
+ <el-input v-model="dataForm.entrustUnitContWay"></el-input>
+ </zt-form-item>
+ <zt-form-item label="寮�鍙戝崟浣嶅悕绉�" prop="developUnitName" rules="required">
+ <el-input v-model="dataForm.developUnitName"></el-input>
+ </zt-form-item>
+ <zt-form-item label="寮�鍙戝崟浣嶅湴鍧�" prop="developUnitAddress" rules="required">
+ <el-input v-model="dataForm.developUnitAddress"></el-input>
+ </zt-form-item>
+ <zt-form-item label="寮�鍙戝崟浣嶈仈绯讳汉" prop="developUnitContact" rules="required">
+ <el-input v-model="dataForm.developUnitContact"></el-input>
+ </zt-form-item>
+ <zt-form-item label="寮�鍙戝崟浣嶈仈绯绘柟寮�" prop="developUnitContWay" rules="required">
+ <el-input v-model="dataForm.developUnitContWay"></el-input>
+ </zt-form-item>
+ <zt-form-item label="杞欢鍚嶇О" prop="software" rules="required">
+ <el-input v-model="dataForm.software"></el-input>
+ </zt-form-item>
+ <zt-form-item label="椤圭洰缂栧彿" prop="code" rules="required">
+ <el-input v-model="dataForm.code"></el-input>
+ </zt-form-item>
+ <zt-form-item label="椤圭洰鏍囪瘑" prop="identity" rules="required">
+ <el-input v-model="dataForm.identity"></el-input>
+ </zt-form-item>
+ <zt-form-item label="瀵嗙骇" prop="secretClass" rules="required">
+ <zt-dict v-model="dataForm.secretClass" dict="secret_class"></zt-dict>
+ </zt-form-item>
+ <zt-form-item label="鍏抽敭绛夌骇" prop="criticalLevel" rules="required">
+ <zt-dict v-model="dataForm.criticalLevel" dict="critical_level"></zt-dict>
+ </zt-form-item>
+ <zt-form-item label="娴嬭瘯绾у埆" prop="testLevel" rules="required">
+ <zt-dict v-model="dataForm.testLevel" dict="test_level"></zt-dict>
+ </zt-form-item>
+ <zt-form-item label="椤圭洰璐熻矗浜�" prop="projectLeader" rules="required">
+ <el-input v-model="dataForm.projectLeader"></el-input>
+ </zt-form-item>
+ <zt-form-item label="椤圭洰娴嬭瘯浜哄憳" prop="projectTesters" rules="required">
+ <el-input v-model="dataForm.projectTesters"></el-input>
+ </zt-form-item>
+ <zt-form-item label="椤圭洰瀹℃牳浜哄憳" prop="projectReviewer" rules="required">
+ <el-input v-model="dataForm.projectReviewer"></el-input>
+ </zt-form-item>
+ <zt-form-item label="鏄惁绛剧讲鍚堝悓" prop="isContract" rules="required">
+ <zt-dict v-model="dataForm.isContract" dict="is_or_not"></zt-dict>
+ </zt-form-item>
+ </el-form>
+ </zt-dialog>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ dataForm: {
+ id: '',
+ entrustUnitName: '',
+ entrustUnitAddress: '',
+ entrustUnitContact: '',
+ entrustUnitContWay: '',
+ developUnitName: '',
+ developUnitAddress: '',
+ developUnitContact: '',
+ developUnitContWay: '',
+ software: '',
+ code: '',
+ identity: '',
+ secretClass: '',
+ criticalLevel: '',
+ testLevel: '',
+ projectLeader: '',
+ projectTesters: '',
+ projectReviewer: '',
+ isContract: ''
+ }
+ }
+ },
+ methods: {
+ // 鑾峰彇淇℃伅
+ async getInfo() {
+ let res = await this.$http.get(`/project//${this.dataForm.id}`)
+ this.dataForm = {
+ ...this.dataForm,
+ ...res.data
+ }
+ },
+ // 琛ㄥ崟鎻愪氦
+ async formSubmit() {
+ let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/project//', this.dataForm)
+ if (res.success) {
+ await this.$tip.success()
+ this.$refs.dialog.close()
+ this.$emit('refreshDataList')
+ }
+ }
+ }
+ }
+</script>
diff --git a/web/src/views/modules/project/Project.vue b/web/src/views/modules/project/Project.vue
new file mode 100644
index 0000000..599ad11
--- /dev/null
+++ b/web/src/views/modules/project/Project.vue
@@ -0,0 +1,90 @@
+<template>
+ <el-card shadow="never" class="aui-card--fill">
+ <div class="mod-project-project}">
+ <zt-table-wraper query-url="/project//page" delete-url="/project/" v-slot="{ table }">
+ <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()">
+ <el-form-item>
+ <el-input v-model="dataForm.entrustUnitName" placeholder="璇疯緭鍏ュ鎵樺崟浣嶅悕绉�" clearable></el-input>
+
+ </el-form-item>
+ <el-form-item>
+ <el-input v-model="dataForm.developUnitName" placeholder="璇疯緭鍏ュ紑鍙戝崟浣嶅悕绉�" clearable></el-input>
+
+ </el-form-item>
+ <el-form-item>
+ <el-input v-model="dataForm.software" placeholder="璇疯緭鍏ヨ蒋浠跺悕绉�" clearable></el-input>
+
+ </el-form-item>
+ <el-form-item>
+ <el-input v-model="dataForm.code" placeholder="璇疯緭鍏ラ」鐩紪鍙�" clearable></el-input>
+
+ </el-form-item>
+ <el-form-item>
+ <el-input v-model="dataForm.identity" placeholder="璇疯緭鍏ラ」鐩爣璇�" clearable></el-input>
+
+ </el-form-item>
+ <el-form-item>
+ <zt-dict v-model="dataForm.criticalLevel" dict="critical_level" clearable></zt-dict>
+
+ </el-form-item>
+ <el-form-item>
+ <zt-dict v-model="dataForm.testLevel" dict="test_level" clearable></zt-dict>
+
+ </el-form-item>
+ <el-form-item>
+ <zt-button type="query" @click="table.query()"/>
+ <zt-button type="add" perm="project:add" @click="table.editHandle()"/>
+ <zt-button type="delete" perm="project:delete" @click="table.deleteHandle()"/>
+ </el-form-item>
+ </el-form>
+ <el-table v-loading="table.dataLoading" :data="table.dataList" border @selection-change="table.selectionChangeHandle">
+ <el-table-column type="selection" width="40"/>
+ <el-table-column prop="entrustUnitName" label="濮旀墭鍗曚綅鍚嶇О"/>
+ <el-table-column prop="entrustUnitAddress" label="濮旀墭鍗曚綅鍦板潃"/>
+ <el-table-column prop="entrustUnitContact" label="濮旀墭鍗曚綅鑱旂郴浜�"/>
+ <el-table-column prop="entrustUnitContWay" label="濮旀墭鍗曚綅鑱旂郴鏂瑰紡"/>
+ <el-table-column prop="developUnitName" label="寮�鍙戝崟浣嶅悕绉�"/>
+ <el-table-column prop="developUnitAddress" label="寮�鍙戝崟浣嶅湴鍧�"/>
+ <el-table-column prop="developUnitContact" label="寮�鍙戝崟浣嶈仈绯讳汉"/>
+ <el-table-column prop="developUnitContWay" label="寮�鍙戝崟浣嶈仈绯绘柟寮�"/>
+ <el-table-column prop="software" label="杞欢鍚嶇О"/>
+ <el-table-column prop="code" label="椤圭洰缂栧彿"/>
+ <el-table-column prop="identity" label="椤圭洰鏍囪瘑"/>
+ <zt-table-column-dict prop="secretClass" label="瀵嗙骇" dict="secret_class"/>
+ <zt-table-column-dict prop="criticalLevel" label="鍏抽敭绛夌骇" dict="critical_level"/>
+ <zt-table-column-dict prop="testLevel" label="娴嬭瘯绾у埆" dict="test_level"/>
+ <el-table-column prop="projectLeader" label="椤圭洰璐熻矗浜�"/>
+ <el-table-column prop="projectTesters" label="椤圭洰娴嬭瘯浜哄憳"/>
+ <el-table-column prop="projectReviewer" label="椤圭洰瀹℃牳浜哄憳"/>
+ <zt-table-column-dict prop="isContract" label="鏄惁绛剧讲鍚堝悓" dict="is_or_not"/>
+
+ <zt-table-column-handle :table="table" edit-perm="project:update" delete-perm="project::delete"/>
+ </el-table>
+ <!-- 寮圭獥, 鏂板 / 淇敼 -->
+ <add-or-update @refreshDataList="table.query"/>
+ </zt-table-wraper>
+ </div>
+ </el-card>
+</template>
+
+<script>
+ import AddOrUpdate from './Project-AddOrUpdate'
+ export default {
+ data() {
+ return {
+ dataForm: {
+ entrustUnitName: '',
+ developUnitName: '',
+ software: '',
+ code: '',
+ identity: '',
+ criticalLevel: '',
+ testLevel: '',
+ }
+ }
+ },
+ components: {
+ AddOrUpdate
+ }
+ }
+</script>
diff --git a/web/src/views/modules/project/project-add-or-update.vue b/web/src/views/modules/project/project-add-or-update.vue
deleted file mode 100644
index 5fac391..0000000
--- a/web/src/views/modules/project/project-add-or-update.vue
+++ /dev/null
@@ -1,85 +0,0 @@
-<template>
- <zt-dialog ref="dialog" column="2" @confirm="formSubmit">
- <el-form :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="120px">
- <zt-form-item label="杞欢鍚嶇О" prop="softwarename" rules="required">
- <el-input v-model="dataForm.softwarename"></el-input>
- </zt-form-item>
- <zt-form-item label="椤圭洰缂栧彿" prop="code" rules="required">
- <el-input v-model="dataForm.code"></el-input>
- </zt-form-item>
- <zt-form-item label="椤圭洰鏍囪瘑" prop="identity" rules="required">
- <el-input v-model="dataForm.identity"></el-input>
- </zt-form-item>
- <zt-form-item label="瀵嗙骇" prop="secretClass" rules="required">
- <el-input v-model="dataForm.secretClass"></el-input>
- </zt-form-item>
- <zt-form-item label="鍏抽敭绛夌骇" prop="criticalLevel" rules="required">
- <el-input v-model="dataForm.criticalLevel"></el-input>
- </zt-form-item>
- <zt-form-item label="杩愯鐜" prop="optEnviron" rules="required">
- <el-input v-model="dataForm.optEnviron"></el-input>
- </zt-form-item>
- <zt-form-item label="缂栫▼璇█" prop="programLang" rules="required">
- <el-input v-model="dataForm.programLang"></el-input>
- </zt-form-item>
- <zt-form-item label="杞欢绫诲瀷" prop="softwareType" rules="required">
- <el-input v-model="dataForm.softwareType"></el-input>
- </zt-form-item>
- <zt-form-item label="椤圭洰璐熻矗浜�" prop="projectLeader" rules="required">
- <el-input v-model="dataForm.projectLeader"></el-input>
- </zt-form-item>
- <zt-form-item label="椤圭洰娴嬭瘯浜哄憳" prop="projectTesters" rules="required">
- <el-input v-model="dataForm.projectTesters"></el-input>
- </zt-form-item>
- <zt-form-item label="椤圭洰瀹℃牳浜哄憳" prop="projectReviewer" rules="required">
- <el-input v-model="dataForm.projectReviewer"></el-input>
- </zt-form-item>
- <zt-form-item label="鏄惁绛剧讲鍚堝悓" prop="isContract" rules="required">
- <el-input v-model="dataForm.isContract"></el-input>
- </zt-form-item>
- </el-form>
- </zt-dialog>
-</template>
-
-<script>
- export default {
- data() {
- return {
- dataForm: {
- id: '',
- softwarename: '',
- code: '',
- identity: '',
- secretClass: '',
- criticalLevel: '',
- optEnviron: '',
- programLang: '',
- softwareType: '',
- projectLeader: '',
- projectTesters: '',
- projectReviewer: '',
- isContract: ''
- }
- }
- },
- methods: {
- // 鑾峰彇淇℃伅
- async getInfo() {
- let res = await this.$http.get(`/project//${this.dataForm.id}`)
- this.dataForm = {
- ...this.dataForm,
- ...res.data
- }
- },
- // 琛ㄥ崟鎻愪氦
- async formSubmit() {
- let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/project//', this.dataForm)
- if (res.success) {
- await this.$tip.success()
- this.$refs.dialog.close()
- this.$emit('refreshDataList')
- }
- }
- }
- }
-</script>
diff --git a/web/src/views/modules/project/project.vue b/web/src/views/modules/project/project.vue
deleted file mode 100644
index 8efe674..0000000
--- a/web/src/views/modules/project/project.vue
+++ /dev/null
@@ -1,49 +0,0 @@
-<template>
- <el-card shadow="never" class="aui-card--fill">
- <div class="mod-project-project}">
- <zt-table-wraper query-url="/project//page" delete-url="/project/" v-slot="{ table }">
- <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()">
- <el-form-item>
- <zt-button type="query" @click="table.query()"/>
- <zt-button type="add" perm="project::add" @click="table.editHandle()"/>
- <zt-button type="delete" perm="project::delete" @click="table.deleteHandle()"/>
- </el-form-item>
- </el-form>
- <el-table v-loading="table.dataLoading" :data="table.dataList" border @selection-change="table.selectionChangeHandle">
- <el-table-column type="selection" width="40"/>
- <el-table-column prop="softwarename" label="杞欢鍚嶇О"/>
- <el-table-column prop="code" label="椤圭洰缂栧彿"/>
- <el-table-column prop="identity" label="椤圭洰鏍囪瘑"/>
- <el-table-column prop="secretClass" label="瀵嗙骇"/>
- <el-table-column prop="criticalLevel" label="鍏抽敭绛夌骇"/>
- <el-table-column prop="optEnviron" label="杩愯鐜"/>
- <el-table-column prop="programLang" label="缂栫▼璇█"/>
- <el-table-column prop="softwareType" label="杞欢绫诲瀷"/>
- <el-table-column prop="projectLeader" label="椤圭洰璐熻矗浜�"/>
- <el-table-column prop="projectTesters" label="椤圭洰娴嬭瘯浜哄憳"/>
- <el-table-column prop="projectReviewer" label="椤圭洰瀹℃牳浜哄憳"/>
- <el-table-column prop="isContract" label="鏄惁绛剧讲鍚堝悓"/>
-
- <zt-table-column-handle :table="table" edit-perm="project:update" delete-perm="project::delete"/>
- </el-table>
- <!-- 寮圭獥, 鏂板 / 淇敼 -->
- <add-or-update @refreshDataList="table.query"/>
- </zt-table-wraper>
- </div>
- </el-card>
-</template>
-
-<script>
- import AddOrUpdate from './project-add-or-update'
- export default {
- data() {
- return {
- dataForm: {
- }
- }
- },
- components: {
- AddOrUpdate
- }
- }
-</script>
diff --git a/zt/core/src/main/java/com/zt/generator/controller/SysGeneratorController.java b/zt/core/src/main/java/com/zt/generator/controller/SysGeneratorController.java
index e9c794b..a609970 100644
--- a/zt/core/src/main/java/com/zt/generator/controller/SysGeneratorController.java
+++ b/zt/core/src/main/java/com/zt/generator/controller/SysGeneratorController.java
@@ -45,7 +45,7 @@
public class SysGeneratorController {
@GetMapping("properties")
- @RequiresPermissions(Constant.Permissions.SUPER_ADMIN)
+ //@RequiresPermissions(Constant.Permissions.SUPER_ADMIN)
public Result<JSONObject> queryProperties() {
JSONObject jsonObject = new JSONObject();
try {
@@ -133,7 +133,7 @@
JSONObject json = array.getJSONObject(i);
String columnName = json.getString("columnName");
if ("is_delete,dept_id,company_id,tenant_id,creator,create_date,updater,update_date"
- .indexOf(columnName) >= 0) {
+ .indexOf(columnName.toLowerCase()) >= 0) {
json.put("isTableColumn", "false");
}
}
diff --git a/zt/core/src/main/java/com/zt/generator/data/DBUtil.java b/zt/core/src/main/java/com/zt/generator/data/DBUtil.java
index d9d6eca..1bc6b4f 100644
--- a/zt/core/src/main/java/com/zt/generator/data/DBUtil.java
+++ b/zt/core/src/main/java/com/zt/generator/data/DBUtil.java
@@ -6,10 +6,8 @@
import org.springframework.jdbc.core.JdbcTemplate;
-import java.sql.Connection;
-import java.sql.DatabaseMetaData;
-import java.sql.ResultSet;
-import java.sql.SQLException;
+import java.sql.*;
+import java.util.HashMap;
import java.util.Map;
public class DBUtil {
@@ -18,7 +16,7 @@
try {
DatabaseMetaData dbm = conn.getMetaData();
String currentCatalog = conn.getCatalog();
- String[] types = { "TABLE" };
+ String[] types = {"TABLE"};
ResultSet tabs = dbm.getTables(currentCatalog, null, tableName, types);
if (tabs.next()) {
return true;
@@ -33,21 +31,35 @@
try {
DatabaseMetaData dbm = conn.getMetaData();
String currentCatalog = conn.getCatalog();
+
+ Map<String, String> mapDict = new HashMap<>();
+ String sql = "SELECT * FROM sys_dict_type WHERE is_delete=0";
+ PreparedStatement preparedStatement = conn.prepareStatement(sql);
+ ResultSet resultSet = preparedStatement.executeQuery();
+ while (resultSet.next()) {
+ String dictType = resultSet.getString("DICT_TYPE");
+ mapDict.put(dictType, dictType);
+ }
+
ResultSet rs = dbm.getColumns(currentCatalog, null, tableName, null);
-
DataTable dt = new DataTable(rs);
-
- rs = dbm.getPrimaryKeys(currentCatalog, null, tableName);
DataTable keyDt = new DataTable(rs);
Map map = keyDt.toMap("Column_Name", "PK_Name");
dt.insertColumn("isKey");
+ dt.insertColumn("dictType");
for (int i = 0; i < dt.getRowCount(); i++) {
DataRow dr = dt.getDataRow(i);
- if (map.containsKey(dr.getString("Column_Name"))) {
+ String columnName = dr.getString("Column_Name");
+ if (map.containsKey(columnName)) {
dr.set("isKey", "Y");
} else {
dr.set("isKey", "N");
}
+ if (mapDict.get(columnName) != null) {
+ dr.set("dictType", columnName);
+ } else {
+ dr.set("dictType", "");
+ }
}
return dt;
} catch (Exception e) {
diff --git a/zt/core/src/main/java/com/zt/generator/utils/GenUtils.java b/zt/core/src/main/java/com/zt/generator/utils/GenUtils.java
index bdfc5af..0dfe9a1 100644
--- a/zt/core/src/main/java/com/zt/generator/utils/GenUtils.java
+++ b/zt/core/src/main/java/com/zt/generator/utils/GenUtils.java
@@ -155,6 +155,7 @@
pathName = pathName.substring(1);
}
}
+ map.put("importPath", tableName.replaceAll("_", "-"));// url璇锋眰鐨�
map.put("pathName", pathName);// url璇锋眰鐨�
map.put("permName", pathName.replace("/", ":"));// 鏉冮檺鐨�
map.put("columns", columsList);
@@ -197,10 +198,10 @@
String fileName = "";
String filePath = "";
if (template.contains("index.vue")) {
- fileName = tableName.substring(tableName.indexOf("_") + 1).replaceAll("_", "-") + ".vue";
+ fileName = className + ".vue";
filePath = getFilePath(template, vueFilePath, packageName, moduleName);
} else if (template.contains("add-or-update.vue")) {
- fileName = tableName.substring(tableName.indexOf("_") + 1).replaceAll("_", "-") + "-add-or-update.vue";
+ fileName = className + "-AddOrUpdate.vue";
filePath = getFilePath(template, vueFilePath, packageName, moduleName);
} else if (template.contains("Entity.java.vm")) {
fileName = className + ".java";
diff --git a/zt/core/src/main/resources/template/add-or-update.vue.vm b/zt/core/src/main/resources/template/add-or-update.vue.vm
index e7b9b4a..fb3afda 100644
--- a/zt/core/src/main/resources/template/add-or-update.vue.vm
+++ b/zt/core/src/main/resources/template/add-or-update.vue.vm
@@ -3,7 +3,11 @@
<el-form :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="120px">
#foreach($column in $columns)
<zt-form-item label="${column.comments}" prop="${column.attrName}" rules="required">
- <el-input v-model="dataForm.${column.attrName}"></el-input>
+ #if($column.dictType != 'null' && $column.dictType != '')
+ <zt-dict v-model="dataForm.${column.attrName}" dict="$column.dictType"></zt-dict>
+ #else
+ <el-input v-model="dataForm.${column.attrName}"></el-input>
+ #end
</zt-form-item>
#end
</el-form>
diff --git a/zt/core/src/main/resources/template/index.vue.vm b/zt/core/src/main/resources/template/index.vue.vm
index d1e57e7..67593bd 100644
--- a/zt/core/src/main/resources/template/index.vue.vm
+++ b/zt/core/src/main/resources/template/index.vue.vm
@@ -6,21 +6,30 @@
#foreach($column in $columns)
#if($column.isSelectColumn == 'true')
<el-form-item>
- <el-input v-model="dataForm.${column.attrName}" placeholder="璇疯緭鍏�${column.comments}" clearable></el-input>
+ #if($column.dictType != 'null' && $column.dictType != '')
+ <zt-dict v-model="dataForm.${column.attrName}" dict="$column.dictType" clearable></zt-dict>
+ #else
+ <el-input v-model="dataForm.${column.attrName}" placeholder="璇疯緭鍏�${column.comments}" clearable></el-input>
+ #end
+
</el-form-item>
#end
#end
<el-form-item>
<zt-button type="query" @click="table.query()"/>
- <zt-button type="add" perm="${moduleName}::add" @click="table.editHandle()"/>
- <zt-button type="delete" perm="${moduleName}::delete" @click="table.deleteHandle()"/>
+ <zt-button type="add" perm="${moduleName}:add" @click="table.editHandle()"/>
+ <zt-button type="delete" perm="${moduleName}:delete" @click="table.deleteHandle()"/>
</el-form-item>
</el-form>
<el-table v-loading="table.dataLoading" :data="table.dataList" border @selection-change="table.selectionChangeHandle">
<el-table-column type="selection" width="40"/>
#foreach($column in $columns)
#if($column.isTableColumn == 'true')
- <el-table-column prop="${column.attrName}" label="${column.comments}"/>
+ #if($column.dictType != 'null' && $column.dictType != '')
+ <zt-table-column-dict prop="${column.attrName}" label="${column.comments}" dict="$column.dictType"/>
+ #else
+ <el-table-column prop="${column.attrName}" label="${column.comments}"/>
+ #end
#end
#end
@@ -34,7 +43,7 @@
</template>
<script>
- import AddOrUpdate from './${tableName}-add-or-update'
+ import AddOrUpdate from './${className}-AddOrUpdate'
export default {
data() {
return {
--
Gitblit v1.9.1