diff --git a/common/pom.xml b/common/pom.xml
index 5afa1fd..1b28312 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -288,7 +288,7 @@
true
-
+
junit
diff --git a/web-api/src/main/java/com/jeesite/modules/biz/entity/MyProjectContract.java b/web-api/src/main/java/com/jeesite/modules/biz/entity/MyProjectContract.java
index 258f9f4..e0db24f 100644
--- a/web-api/src/main/java/com/jeesite/modules/biz/entity/MyProjectContract.java
+++ b/web-api/src/main/java/com/jeesite/modules/biz/entity/MyProjectContract.java
@@ -43,7 +43,7 @@ import java.io.Serial;
@Column(name = "contract_status", attrName = "contractStatus", label = "合同状态"),
@Column(name = "payment_status", attrName = "paymentStatus", label = "付款状态"),
@Column(name = "remark", attrName = "remark", label = "合同备注", isQuery = false),
- @Column(name = "create_user", attrName = "createUser", label = "创建人员", isUpdate = false, isQuery = false),
+ @Column(name = "create_user", attrName = "createUser", label = "创建人员", isUpdate = false),
@Column(name = "update_time", attrName = "updateTime", label = "更新时间", isQuery = false, isUpdateForce = true),
}, joinTable = {
@JoinTable(type = Type.LEFT_JOIN, entity = MyProjectInfo.class, alias = "b",
diff --git a/web-api/src/main/java/com/jeesite/modules/biz/entity/MyProjectTask.java b/web-api/src/main/java/com/jeesite/modules/biz/entity/MyProjectTask.java
index a30ef74..3d26cee 100644
--- a/web-api/src/main/java/com/jeesite/modules/biz/entity/MyProjectTask.java
+++ b/web-api/src/main/java/com/jeesite/modules/biz/entity/MyProjectTask.java
@@ -43,7 +43,7 @@ import java.io.Serial;
@Column(name = "actual_end_time", attrName = "actualEndTime", label = "实际结束", isQuery = false, isUpdateForce = true),
@Column(name = "work_hours", attrName = "workHours", label = "工时", isQuery = false),
@Column(name = "remark", attrName = "remark", label = "备注", queryType = QueryType.LIKE),
- @Column(name = "create_user", attrName = "createUser", label = "创建人员", isUpdate = false, isQuery = false),
+ @Column(name = "create_user", attrName = "createUser", label = "创建人员", isUpdate = false),
@Column(name = "update_time", attrName = "updateTime", label = "更新时间", isUpdate = false, isQuery = false, isUpdateForce = true),
}, joinTable = {
@JoinTable(type = Type.LEFT_JOIN, entity = MyProjectInfo.class, alias = "b",
diff --git a/web-api/src/main/java/com/jeesite/modules/biz/web/MyProjectContractController.java b/web-api/src/main/java/com/jeesite/modules/biz/web/MyProjectContractController.java
index 02ad343..3c72ec4 100644
--- a/web-api/src/main/java/com/jeesite/modules/biz/web/MyProjectContractController.java
+++ b/web-api/src/main/java/com/jeesite/modules/biz/web/MyProjectContractController.java
@@ -1,6 +1,7 @@
package com.jeesite.modules.biz.web;
import java.util.List;
+
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
@@ -26,6 +27,7 @@ import com.jeesite.modules.biz.service.MyProjectContractService;
/**
* 项目合同 Controller
+ *
* @author gaoxq
* @version 2026-04-04
*/
@@ -33,114 +35,119 @@ import com.jeesite.modules.biz.service.MyProjectContractService;
@RequestMapping(value = "${adminPath}/biz/myProjectContract")
public class MyProjectContractController extends BaseController {
- private final MyProjectContractService myProjectContractService;
+ private final MyProjectContractService myProjectContractService;
- public MyProjectContractController(MyProjectContractService myProjectContractService) {
- this.myProjectContractService = myProjectContractService;
- }
-
- /**
- * 获取数据
- */
- @ModelAttribute
- public MyProjectContract get(String contractId, boolean isNewRecord) {
- return myProjectContractService.get(contractId, isNewRecord);
- }
-
- /**
- * 查询列表
- */
- @RequiresPermissions("biz:myProjectContract:view")
- @RequestMapping(value = {"list", ""})
- public String list(MyProjectContract myProjectContract, Model model) {
- model.addAttribute("myProjectContract", myProjectContract);
- return "modules/biz/myProjectContractList";
- }
-
- /**
- * 查询列表数据
- */
- @RequiresPermissions("biz:myProjectContract:view")
- @RequestMapping(value = "listData")
- @ResponseBody
- public Page listData(MyProjectContract myProjectContract, HttpServletRequest request, HttpServletResponse response) {
- myProjectContract.setPage(new Page<>(request, response));
- Page page = myProjectContractService.findPage(myProjectContract);
- return page;
- }
+ public MyProjectContractController(MyProjectContractService myProjectContractService) {
+ this.myProjectContractService = myProjectContractService;
+ }
- /**
- * 查看编辑表单
- */
- @RequiresPermissions("biz:myProjectContract:view")
- @RequestMapping(value = "form")
- public String form(MyProjectContract myProjectContract, Model model) {
- model.addAttribute("myProjectContract", myProjectContract);
- return "modules/biz/myProjectContractForm";
- }
+ /**
+ * 获取数据
+ */
+ @ModelAttribute
+ public MyProjectContract get(String contractId, boolean isNewRecord) {
+ return myProjectContractService.get(contractId, isNewRecord);
+ }
- /**
- * 保存数据
- */
- @RequiresPermissions("biz:myProjectContract:edit")
- @PostMapping(value = "save")
- @ResponseBody
- public String save(@Validated MyProjectContract myProjectContract) {
- myProjectContractService.save(myProjectContract);
- return renderResult(Global.TRUE, text("保存合同成功!"));
- }
+ /**
+ * 查询列表
+ */
+ @RequiresPermissions("biz:myProjectContract:view")
+ @RequestMapping(value = {"list", ""})
+ public String list(MyProjectContract myProjectContract, Model model) {
+ model.addAttribute("myProjectContract", myProjectContract);
+ return "modules/biz/myProjectContractList";
+ }
- /**
- * 导出数据
- */
- @RequiresPermissions("biz:myProjectContract:view")
- @RequestMapping(value = "exportData")
- public void exportData(MyProjectContract myProjectContract, HttpServletResponse response) {
- List list = myProjectContractService.findList(myProjectContract);
- String fileName = "合同" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";
- try(ExcelExport ee = new ExcelExport("合同", MyProjectContract.class)){
- ee.setDataList(list).write(response, fileName);
- }
- }
+ /**
+ * 查询列表数据
+ */
+ @RequiresPermissions("biz:myProjectContract:view")
+ @RequestMapping(value = "listData")
+ @ResponseBody
+ public Page listData(MyProjectContract myProjectContract, HttpServletRequest request, HttpServletResponse response) {
+ myProjectContract.setPage(new Page<>(request, response));
+ Page page = myProjectContractService.findPage(myProjectContract);
+ return page;
+ }
- /**
- * 下载模板
- */
- @RequiresPermissions("biz:myProjectContract:view")
- @RequestMapping(value = "importTemplate")
- public void importTemplate(HttpServletResponse response) {
- MyProjectContract myProjectContract = new MyProjectContract();
- List list = ListUtils.newArrayList(myProjectContract);
- String fileName = "合同模板.xlsx";
- try(ExcelExport ee = new ExcelExport("合同", MyProjectContract.class, Type.IMPORT)){
- ee.setDataList(list).write(response, fileName);
- }
- }
+ /**
+ * 查看编辑表单
+ */
+ @RequiresPermissions("biz:myProjectContract:view")
+ @RequestMapping(value = "form")
+ public String form(MyProjectContract myProjectContract, Model model) {
+ model.addAttribute("myProjectContract", myProjectContract);
+ return "modules/biz/myProjectContractForm";
+ }
- /**
- * 导入数据
- */
- @ResponseBody
- @RequiresPermissions("biz:myProjectContract:edit")
- @PostMapping(value = "importData")
- public String importData(MultipartFile file) {
- try {
- String message = myProjectContractService.importData(file);
- return renderResult(Global.TRUE, "posfull:"+message);
- } catch (Exception ex) {
- return renderResult(Global.FALSE, "posfull:"+ex.getMessage());
- }
- }
-
- /**
- * 删除数据
- */
- @RequiresPermissions("biz:myProjectContract:edit")
- @RequestMapping(value = "delete")
- @ResponseBody
- public String delete(MyProjectContract myProjectContract) {
- myProjectContractService.delete(myProjectContract);
- return renderResult(Global.TRUE, text("删除合同成功!"));
- }
-
+ /**
+ * 保存数据
+ */
+ @RequiresPermissions("biz:myProjectContract:edit")
+ @PostMapping(value = "save")
+ @ResponseBody
+ public String save(@Validated MyProjectContract myProjectContract) {
+ myProjectContractService.save(myProjectContract);
+ return renderResult(Global.TRUE, text("保存合同成功!"));
+ }
+
+ /**
+ * 导出数据
+ */
+ @RequiresPermissions("biz:myProjectContract:view")
+ @RequestMapping(value = "exportData")
+ public void exportData(MyProjectContract myProjectContract, HttpServletResponse response) {
+ List list = myProjectContractService.findList(myProjectContract);
+ String fileName = "合同" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";
+ try (ExcelExport ee = new ExcelExport("合同", MyProjectContract.class)) {
+ ee.setDataList(list).write(response, fileName);
+ }
+ }
+
+ /**
+ * 下载模板
+ */
+ @RequiresPermissions("biz:myProjectContract:view")
+ @RequestMapping(value = "importTemplate")
+ public void importTemplate(HttpServletResponse response) {
+ MyProjectContract myProjectContract = new MyProjectContract();
+ List list = ListUtils.newArrayList(myProjectContract);
+ String fileName = "合同模板.xlsx";
+ try (ExcelExport ee = new ExcelExport("合同", MyProjectContract.class, Type.IMPORT)) {
+ ee.setDataList(list).write(response, fileName);
+ }
+ }
+
+ /**
+ * 导入数据
+ */
+ @ResponseBody
+ @RequiresPermissions("biz:myProjectContract:edit")
+ @PostMapping(value = "importData")
+ public String importData(MultipartFile file) {
+ try {
+ String message = myProjectContractService.importData(file);
+ return renderResult(Global.TRUE, "posfull:" + message);
+ } catch (Exception ex) {
+ return renderResult(Global.FALSE, "posfull:" + ex.getMessage());
+ }
+ }
+
+ /**
+ * 删除数据
+ */
+ @RequiresPermissions("biz:myProjectContract:edit")
+ @RequestMapping(value = "delete")
+ @ResponseBody
+ public String delete(MyProjectContract myProjectContract) {
+ myProjectContractService.delete(myProjectContract);
+ return renderResult(Global.TRUE, text("删除合同成功!"));
+ }
+
+ @RequestMapping(value = "listAll")
+ @ResponseBody
+ public List listAll(MyProjectContract myProjectContract) {
+ return myProjectContractService.findList(myProjectContract);
+ }
}
\ No newline at end of file
diff --git a/web-api/src/main/java/com/jeesite/modules/biz/web/MyProjectTaskController.java b/web-api/src/main/java/com/jeesite/modules/biz/web/MyProjectTaskController.java
index 27d6a6c..d809c5a 100644
--- a/web-api/src/main/java/com/jeesite/modules/biz/web/MyProjectTaskController.java
+++ b/web-api/src/main/java/com/jeesite/modules/biz/web/MyProjectTaskController.java
@@ -1,6 +1,7 @@
package com.jeesite.modules.biz.web;
import java.util.List;
+
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
@@ -26,6 +27,7 @@ import com.jeesite.modules.biz.service.MyProjectTaskService;
/**
* 项目任务 Controller
+ *
* @author gaoxq
* @version 2026-04-04
*/
@@ -33,114 +35,121 @@ import com.jeesite.modules.biz.service.MyProjectTaskService;
@RequestMapping(value = "${adminPath}/biz/myProjectTask")
public class MyProjectTaskController extends BaseController {
- private final MyProjectTaskService myProjectTaskService;
+ private final MyProjectTaskService myProjectTaskService;
- public MyProjectTaskController(MyProjectTaskService myProjectTaskService) {
- this.myProjectTaskService = myProjectTaskService;
- }
-
- /**
- * 获取数据
- */
- @ModelAttribute
- public MyProjectTask get(String taskId, boolean isNewRecord) {
- return myProjectTaskService.get(taskId, isNewRecord);
- }
-
- /**
- * 查询列表
- */
- @RequiresPermissions("biz:myProjectTask:view")
- @RequestMapping(value = {"list", ""})
- public String list(MyProjectTask myProjectTask, Model model) {
- model.addAttribute("myProjectTask", myProjectTask);
- return "modules/biz/myProjectTaskList";
- }
-
- /**
- * 查询列表数据
- */
- @RequiresPermissions("biz:myProjectTask:view")
- @RequestMapping(value = "listData")
- @ResponseBody
- public Page listData(MyProjectTask myProjectTask, HttpServletRequest request, HttpServletResponse response) {
- myProjectTask.setPage(new Page<>(request, response));
- Page page = myProjectTaskService.findPage(myProjectTask);
- return page;
- }
+ public MyProjectTaskController(MyProjectTaskService myProjectTaskService) {
+ this.myProjectTaskService = myProjectTaskService;
+ }
- /**
- * 查看编辑表单
- */
- @RequiresPermissions("biz:myProjectTask:view")
- @RequestMapping(value = "form")
- public String form(MyProjectTask myProjectTask, Model model) {
- model.addAttribute("myProjectTask", myProjectTask);
- return "modules/biz/myProjectTaskForm";
- }
+ /**
+ * 获取数据
+ */
+ @ModelAttribute
+ public MyProjectTask get(String taskId, boolean isNewRecord) {
+ return myProjectTaskService.get(taskId, isNewRecord);
+ }
- /**
- * 保存数据
- */
- @RequiresPermissions("biz:myProjectTask:edit")
- @PostMapping(value = "save")
- @ResponseBody
- public String save(@Validated MyProjectTask myProjectTask) {
- myProjectTaskService.save(myProjectTask);
- return renderResult(Global.TRUE, text("保存任务成功!"));
- }
+ /**
+ * 查询列表
+ */
+ @RequiresPermissions("biz:myProjectTask:view")
+ @RequestMapping(value = {"list", ""})
+ public String list(MyProjectTask myProjectTask, Model model) {
+ model.addAttribute("myProjectTask", myProjectTask);
+ return "modules/biz/myProjectTaskList";
+ }
- /**
- * 导出数据
- */
- @RequiresPermissions("biz:myProjectTask:view")
- @RequestMapping(value = "exportData")
- public void exportData(MyProjectTask myProjectTask, HttpServletResponse response) {
- List list = myProjectTaskService.findList(myProjectTask);
- String fileName = "任务" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";
- try(ExcelExport ee = new ExcelExport("任务", MyProjectTask.class)){
- ee.setDataList(list).write(response, fileName);
- }
- }
+ /**
+ * 查询列表数据
+ */
+ @RequiresPermissions("biz:myProjectTask:view")
+ @RequestMapping(value = "listData")
+ @ResponseBody
+ public Page listData(MyProjectTask myProjectTask, HttpServletRequest request, HttpServletResponse response) {
+ myProjectTask.setPage(new Page<>(request, response));
+ Page page = myProjectTaskService.findPage(myProjectTask);
+ return page;
+ }
- /**
- * 下载模板
- */
- @RequiresPermissions("biz:myProjectTask:view")
- @RequestMapping(value = "importTemplate")
- public void importTemplate(HttpServletResponse response) {
- MyProjectTask myProjectTask = new MyProjectTask();
- List list = ListUtils.newArrayList(myProjectTask);
- String fileName = "任务模板.xlsx";
- try(ExcelExport ee = new ExcelExport("任务", MyProjectTask.class, Type.IMPORT)){
- ee.setDataList(list).write(response, fileName);
- }
- }
+ /**
+ * 查看编辑表单
+ */
+ @RequiresPermissions("biz:myProjectTask:view")
+ @RequestMapping(value = "form")
+ public String form(MyProjectTask myProjectTask, Model model) {
+ model.addAttribute("myProjectTask", myProjectTask);
+ return "modules/biz/myProjectTaskForm";
+ }
+
+ /**
+ * 保存数据
+ */
+ @RequiresPermissions("biz:myProjectTask:edit")
+ @PostMapping(value = "save")
+ @ResponseBody
+ public String save(@Validated MyProjectTask myProjectTask) {
+ myProjectTaskService.save(myProjectTask);
+ return renderResult(Global.TRUE, text("保存任务成功!"));
+ }
+
+ /**
+ * 导出数据
+ */
+ @RequiresPermissions("biz:myProjectTask:view")
+ @RequestMapping(value = "exportData")
+ public void exportData(MyProjectTask myProjectTask, HttpServletResponse response) {
+ List list = myProjectTaskService.findList(myProjectTask);
+ String fileName = "任务" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";
+ try (ExcelExport ee = new ExcelExport("任务", MyProjectTask.class)) {
+ ee.setDataList(list).write(response, fileName);
+ }
+ }
+
+ /**
+ * 下载模板
+ */
+ @RequiresPermissions("biz:myProjectTask:view")
+ @RequestMapping(value = "importTemplate")
+ public void importTemplate(HttpServletResponse response) {
+ MyProjectTask myProjectTask = new MyProjectTask();
+ List list = ListUtils.newArrayList(myProjectTask);
+ String fileName = "任务模板.xlsx";
+ try (ExcelExport ee = new ExcelExport("任务", MyProjectTask.class, Type.IMPORT)) {
+ ee.setDataList(list).write(response, fileName);
+ }
+ }
+
+ /**
+ * 导入数据
+ */
+ @ResponseBody
+ @RequiresPermissions("biz:myProjectTask:edit")
+ @PostMapping(value = "importData")
+ public String importData(MultipartFile file) {
+ try {
+ String message = myProjectTaskService.importData(file);
+ return renderResult(Global.TRUE, "posfull:" + message);
+ } catch (Exception ex) {
+ return renderResult(Global.FALSE, "posfull:" + ex.getMessage());
+ }
+ }
+
+ /**
+ * 删除数据
+ */
+ @RequiresPermissions("biz:myProjectTask:edit")
+ @RequestMapping(value = "delete")
+ @ResponseBody
+ public String delete(MyProjectTask myProjectTask) {
+ myProjectTaskService.delete(myProjectTask);
+ return renderResult(Global.TRUE, text("删除任务成功!"));
+ }
+
+
+ @RequestMapping(value = "listAll")
+ @ResponseBody
+ public List listAll(MyProjectTask myProjectTask) {
+ return myProjectTaskService.findList(myProjectTask);
+ }
- /**
- * 导入数据
- */
- @ResponseBody
- @RequiresPermissions("biz:myProjectTask:edit")
- @PostMapping(value = "importData")
- public String importData(MultipartFile file) {
- try {
- String message = myProjectTaskService.importData(file);
- return renderResult(Global.TRUE, "posfull:"+message);
- } catch (Exception ex) {
- return renderResult(Global.FALSE, "posfull:"+ex.getMessage());
- }
- }
-
- /**
- * 删除数据
- */
- @RequiresPermissions("biz:myProjectTask:edit")
- @RequestMapping(value = "delete")
- @ResponseBody
- public String delete(MyProjectTask myProjectTask) {
- myProjectTaskService.delete(myProjectTask);
- return renderResult(Global.TRUE, text("删除任务成功!"));
- }
-
}
\ No newline at end of file
diff --git a/web-vue/.npmrc b/web-vue/.npmrc
deleted file mode 100644
index 746ac7d..0000000
--- a/web-vue/.npmrc
+++ /dev/null
@@ -1,5 +0,0 @@
-@jeesite:registry=https://maven.jeesite.net/repository/npm-package/
-registry=https://registry.npmmirror.com
-package-manager-strict=false
-auto-install-peers = true
-git-checks=false
diff --git a/web-vue/packages/biz/api/biz/myProjectContract.ts b/web-vue/packages/biz/api/biz/myProjectContract.ts
index 6a7889d..e067c00 100644
--- a/web-vue/packages/biz/api/biz/myProjectContract.ts
+++ b/web-vue/packages/biz/api/biz/myProjectContract.ts
@@ -35,6 +35,9 @@ export interface MyProjectContract extends BasicModel {
export const myProjectContractList = (params?: MyProjectContract | any) =>
defHttp.get({ url: adminPath + '/biz/myProjectContract/list', params });
+export const myProjectContractListAll = (params?: MyProjectContract | any) =>
+ defHttp.get({ url: adminPath + '/biz/myProjectContract/listAll', params });
+
export const myProjectContractListData = (params?: MyProjectContract | any) =>
defHttp.post>({ url: adminPath + '/biz/myProjectContract/listData', params });
diff --git a/web-vue/packages/biz/api/biz/myProjectTask.ts b/web-vue/packages/biz/api/biz/myProjectTask.ts
index 1de7344..da90520 100644
--- a/web-vue/packages/biz/api/biz/myProjectTask.ts
+++ b/web-vue/packages/biz/api/biz/myProjectTask.ts
@@ -33,6 +33,9 @@ export interface MyProjectTask extends BasicModel {
export const myProjectTaskList = (params?: MyProjectTask | any) =>
defHttp.get({ url: adminPath + '/biz/myProjectTask/list', params });
+export const myProjectTaskListAll = (params?: MyProjectTask | any) =>
+ defHttp.get({ url: adminPath + '/biz/myProjectTask/listAll', params });
+
export const myProjectTaskListData = (params?: MyProjectTask | any) =>
defHttp.post>({ url: adminPath + '/biz/myProjectTask/listData', params });
diff --git a/web-vue/packages/biz/views/biz/myProjectRequirement/form.vue b/web-vue/packages/biz/views/biz/myProjectRequirement/form.vue
index b902d30..ca65b7a 100644
--- a/web-vue/packages/biz/views/biz/myProjectRequirement/form.vue
+++ b/web-vue/packages/biz/views/biz/myProjectRequirement/form.vue
@@ -27,10 +27,14 @@
import { Icon } from '@jeesite/core/components/Icon';
import { BasicForm, FormSchema, useForm } from '@jeesite/core/components/Form';
import { BasicDrawer, useDrawerInner } from '@jeesite/core/components/Drawer';
- import { MyProjectRequirement, myProjectRequirementSave, myProjectRequirementForm } from '@jeesite/biz/api/biz/myProjectRequirement';
+ import {
+ MyProjectRequirement,
+ myProjectRequirementSave,
+ myProjectRequirementForm,
+ } from '@jeesite/biz/api/biz/myProjectRequirement';
import { formatToDateTime } from '@jeesite/core/utils/dateUtil';
import { useUserStore } from '@jeesite/core/store/modules/user';
-
+
const userStore = useUserStore();
const userinfo = computed(() => userStore.getUserInfo);
@@ -46,6 +50,10 @@
value: record.value.isNewRecord ? t('新增需求') : t('编辑需求'),
}));
+ function getRequirementNo() {
+ return `WS_${Date.now()}`;
+ }
+
const inputFormSchemas: FormSchema[] = [
{
label: t('基本信息'),
@@ -59,6 +67,7 @@
component: 'Input',
componentProps: {
maxlength: 64,
+ disabled: true,
},
required: true,
},
@@ -74,38 +83,38 @@
{
label: t('项目名称'),
field: 'projectId',
- fieldLabel: 'projectName',
- component: 'ListSelect',
- componentProps: {
- selectType: 'bizProjectSelect',
- },
+ fieldLabel: 'projectName',
+ component: 'ListSelect',
+ componentProps: {
+ selectType: 'bizProjectSelect',
+ },
+ required: true,
+ },
+ {
+ label: t('优先等级'),
+ field: 'priority',
+ component: 'Select',
+ componentProps: {
+ dictType: 'biz_priority',
+ allowClear: true,
+ },
required: true,
},
- {
- label: t('优先等级'),
- field: 'priority',
- component: 'Select',
- componentProps: {
- dictType: 'biz_priority',
- allowClear: true,
- },
- required: true,
- },
{
label: t('详细内容'),
field: 'requirementContent',
component: 'InputTextArea',
required: true,
- colProps: { md: 24, lg: 24 },
+ colProps: { md: 24, lg: 24 },
},
{
label: t('需求状态'),
field: 'requirementStatus',
- component: 'Select',
- componentProps: {
- dictType: 'requirement_status',
- allowClear: true,
- },
+ component: 'Select',
+ componentProps: {
+ dictType: 'requirement_status',
+ allowClear: true,
+ },
required: true,
},
{
@@ -138,7 +147,7 @@
label: t('需求备注'),
field: 'remark',
component: 'InputTextArea',
- colProps: { md: 24, lg: 24 },
+ colProps: { md: 24, lg: 24 },
},
{
label: t('附件上传'),
@@ -165,6 +174,9 @@
await resetFields();
const res = await myProjectRequirementForm(data);
record.value = (res.myProjectRequirement || {}) as MyProjectRequirement;
+ if (record.value.isNewRecord) {
+ record.value.requirementNo = getRequirementNo();
+ }
record.value.__t = new Date().getTime();
await setFieldsValue(record.value);
setDrawerProps({ loading: false });
@@ -178,13 +190,14 @@
isNewRecord: record.value.isNewRecord,
requirementId: record.value.requirementId || data.requirementId,
};
-
- if(record.value.isNewRecord){
- data.createUser = userinfo.value.loginCode;
- }
-
- data[record.value.isNewRecord ? 'createTime' : 'updateTime'] = formatToDateTime(new Date());
-
+
+ if (record.value.isNewRecord) {
+ data.createUser = userinfo.value.loginCode;
+ data.requirementNo = getRequirementNo();
+ }
+
+ data[record.value.isNewRecord ? 'createTime' : 'updateTime'] = formatToDateTime(new Date());
+
// console.log('submit', params, data, record);
const res = await myProjectRequirementSave(params, data);
showMessage(res.message);
diff --git a/web-vue/packages/biz/views/biz/myProjectRequirement/select.ts b/web-vue/packages/biz/views/biz/myProjectRequirement/select.ts
deleted file mode 100644
index 83472c4..0000000
--- a/web-vue/packages/biz/views/biz/myProjectRequirement/select.ts
+++ /dev/null
@@ -1,186 +0,0 @@
-import { useI18n } from '@jeesite/core/hooks/web/useI18n';
-import { BasicColumn, BasicTableProps, FormProps } from '@jeesite/core/components/Table';
-import { myProjectRequirementListData } from '@jeesite/biz/api/biz/myProjectRequirement';
-
-const { t } = useI18n('biz.myProjectRequirement');
-
-const modalProps = {
- title: t('需求选择'),
-};
-
-const searchForm: FormProps = {
- baseColProps: { md: 8, lg: 6 },
- labelWidth: 90,
- schemas: [
- {
- label: t('记录时间起'),
- field: 'createTime_gte',
- component: 'DatePicker',
- componentProps: {
- format: 'YYYY-MM-DD HH:mm',
- showTime: { format: 'HH:mm' },
- },
- },
- {
- label: t('记录时间止'),
- field: 'createTime_lte',
- component: 'DatePicker',
- componentProps: {
- format: 'YYYY-MM-DD HH:mm',
- showTime: { format: 'HH:mm' },
- },
- },
- {
- label: t('需求编号'),
- field: 'requirementNo',
- component: 'Input',
- },
- {
- label: t('需求标题'),
- field: 'requirementTitle',
- component: 'Input',
- },
- {
- label: t('项目编号'),
- field: 'projectId',
- component: 'Input',
- },
- {
- label: t('优先等级'),
- field: 'priority',
- component: 'Input',
- },
- {
- label: t('需求状态'),
- field: 'requirementStatus',
- component: 'Input',
- },
- ],
-};
-
-const tableColumns: BasicColumn[] = [
- {
- title: t('记录时间'),
- dataIndex: 'createTime',
- key: 'a.create_time',
- sorter: true,
- width: 230,
- align: 'left',
- slot: 'firstColumn',
- },
- {
- title: t('需求编号'),
- dataIndex: 'requirementNo',
- key: 'a.requirement_no',
- sorter: true,
- width: 130,
- align: 'left',
- },
- {
- title: t('需求标题'),
- dataIndex: 'requirementTitle',
- key: 'a.requirement_title',
- sorter: true,
- width: 130,
- align: 'left',
- },
- {
- title: t('项目编号'),
- dataIndex: 'projectId',
- key: 'a.project_id',
- sorter: true,
- width: 130,
- align: 'left',
- },
- {
- title: t('详细内容'),
- dataIndex: 'requirementContent',
- key: 'a.requirement_content',
- sorter: true,
- width: 130,
- align: 'left',
- },
- {
- title: t('优先等级'),
- dataIndex: 'priority',
- key: 'a.priority',
- sorter: true,
- width: 130,
- align: 'left',
- },
- {
- title: t('需求状态'),
- dataIndex: 'requirementStatus',
- key: 'a.requirement_status',
- sorter: true,
- width: 130,
- align: 'left',
- },
- {
- title: t('负责人员'),
- dataIndex: 'handler',
- key: 'a.handler',
- sorter: true,
- width: 130,
- align: 'left',
- },
- {
- title: t('计划完成时间'),
- dataIndex: 'planFinishTime',
- key: 'a.plan_finish_time',
- sorter: true,
- width: 130,
- align: 'center',
- },
- {
- title: t('实际完成时间'),
- dataIndex: 'actualFinishTime',
- key: 'a.actual_finish_time',
- sorter: true,
- width: 130,
- align: 'center',
- },
- {
- title: t('备注'),
- dataIndex: 'remark',
- key: 'a.remark',
- sorter: true,
- width: 130,
- align: 'left',
- },
- {
- title: t('创建人'),
- dataIndex: 'createUser',
- key: 'a.create_user',
- sorter: true,
- width: 130,
- align: 'left',
- },
- {
- title: t('更新时间'),
- dataIndex: 'updateTime',
- key: 'a.update_time',
- sorter: true,
- width: 130,
- align: 'center',
- },
-];
-
-const tableProps: BasicTableProps = {
- api: myProjectRequirementListData,
- beforeFetch: (params) => {
- params['isAll'] = true;
- return params;
- },
- columns: tableColumns,
- formConfig: searchForm,
- rowKey: 'requirementId',
-};
-
-export default {
- modalProps,
- tableProps,
- itemCode: 'requirementId',
- itemName: 'requirementId',
- isShowCode: false,
-};
diff --git a/web-vue/packages/biz/views/biz/myProjectTask/form.vue b/web-vue/packages/biz/views/biz/myProjectTask/form.vue
index a8fe34f..f1473f0 100644
--- a/web-vue/packages/biz/views/biz/myProjectTask/form.vue
+++ b/web-vue/packages/biz/views/biz/myProjectTask/form.vue
@@ -42,7 +42,7 @@
const { meta } = unref(router.currentRoute);
const record = ref({} as MyProjectTask);
- const requirementListParams = ref({ projectId: '-1' });
+ const requirementListParams = ref({ projectId: '-1',requirementStatus: '2' });
const getTitle = computed(() => ({
icon: meta.icon || 'i-ant-design:book-outlined',
diff --git a/web-vue/packages/biz/views/biz/myProjectTask/select.ts b/web-vue/packages/biz/views/biz/myProjectTask/select.ts
deleted file mode 100644
index ff25771..0000000
--- a/web-vue/packages/biz/views/biz/myProjectTask/select.ts
+++ /dev/null
@@ -1,194 +0,0 @@
-import { useI18n } from '@jeesite/core/hooks/web/useI18n';
-import { BasicColumn, BasicTableProps, FormProps } from '@jeesite/core/components/Table';
-import { myProjectTaskListData } from '@jeesite/biz/api/biz/myProjectTask';
-
-const { t } = useI18n('biz.myProjectTask');
-
-const modalProps = {
- title: t('任务选择'),
-};
-
-const searchForm: FormProps = {
- baseColProps: { md: 8, lg: 6 },
- labelWidth: 90,
- schemas: [
- {
- label: t('记录时间起'),
- field: 'createTime_gte',
- component: 'DatePicker',
- componentProps: {
- format: 'YYYY-MM-DD HH:mm',
- showTime: { format: 'HH:mm' },
- },
- },
- {
- label: t('记录时间止'),
- field: 'createTime_lte',
- component: 'DatePicker',
- componentProps: {
- format: 'YYYY-MM-DD HH:mm',
- showTime: { format: 'HH:mm' },
- },
- },
- {
- label: t('任务名称'),
- field: 'taskName',
- component: 'Input',
- },
- {
- label: t('项目标识'),
- field: 'projectId',
- component: 'Input',
- },
- {
- label: t('需求标识'),
- field: 'requirementId',
- component: 'Input',
- },
- {
- label: t('任务状态'),
- field: 'taskStatus',
- component: 'Input',
- },
- {
- label: t('备注'),
- field: 'remark',
- component: 'Input',
- },
- ],
-};
-
-const tableColumns: BasicColumn[] = [
- {
- title: t('记录时间'),
- dataIndex: 'createTime',
- key: 'a.create_time',
- sorter: true,
- width: 230,
- align: 'left',
- slot: 'firstColumn',
- },
- {
- title: t('任务名称'),
- dataIndex: 'taskName',
- key: 'a.task_name',
- sorter: true,
- width: 130,
- align: 'left',
- },
- {
- title: t('项目标识'),
- dataIndex: 'projectId',
- key: 'a.project_id',
- sorter: true,
- width: 130,
- align: 'left',
- },
- {
- title: t('需求标识'),
- dataIndex: 'requirementId',
- key: 'a.requirement_id',
- sorter: true,
- width: 130,
- align: 'left',
- },
- {
- title: t('任务状态'),
- dataIndex: 'taskStatus',
- key: 'a.task_status',
- sorter: true,
- width: 130,
- align: 'left',
- },
- {
- title: t('负责人员'),
- dataIndex: 'handler',
- key: 'a.handler',
- sorter: true,
- width: 130,
- align: 'left',
- },
- {
- title: t('计划开始'),
- dataIndex: 'planStartTime',
- key: 'a.plan_start_time',
- sorter: true,
- width: 130,
- align: 'center',
- },
- {
- title: t('计划结束'),
- dataIndex: 'planEndTime',
- key: 'a.plan_end_time',
- sorter: true,
- width: 130,
- align: 'center',
- },
- {
- title: t('实际开始'),
- dataIndex: 'actualStartTime',
- key: 'a.actual_start_time',
- sorter: true,
- width: 130,
- align: 'center',
- },
- {
- title: t('实际结束'),
- dataIndex: 'actualEndTime',
- key: 'a.actual_end_time',
- sorter: true,
- width: 130,
- align: 'center',
- },
- {
- title: t('工时'),
- dataIndex: 'workHours',
- key: 'a.work_hours',
- sorter: true,
- width: 130,
- align: 'right',
- },
- {
- title: t('备注'),
- dataIndex: 'remark',
- key: 'a.remark',
- sorter: true,
- width: 130,
- align: 'left',
- },
- {
- title: t('创建人员'),
- dataIndex: 'createUser',
- key: 'a.create_user',
- sorter: true,
- width: 130,
- align: 'left',
- },
- {
- title: t('更新时间'),
- dataIndex: 'updateTime',
- key: 'a.update_time',
- sorter: true,
- width: 130,
- align: 'center',
- },
-];
-
-const tableProps: BasicTableProps = {
- api: myProjectTaskListData,
- beforeFetch: (params) => {
- params['isAll'] = true;
- return params;
- },
- columns: tableColumns,
- formConfig: searchForm,
- rowKey: 'taskId',
-};
-
-export default {
- modalProps,
- tableProps,
- itemCode: 'taskId',
- itemName: 'taskId',
- isShowCode: false,
-};
diff --git a/web-vue/packages/biz/views/biz/myScreen/index.vue b/web-vue/packages/biz/views/biz/myScreen/index.vue
index 09a3abd..65dccfc 100644
--- a/web-vue/packages/biz/views/biz/myScreen/index.vue
+++ b/web-vue/packages/biz/views/biz/myScreen/index.vue
@@ -1,58 +1,78 @@
-
+
+
+
diff --git a/web-vue/packages/core/layouts/views/desktop/analysis/components/BizApps.vue b/web-vue/packages/core/layouts/views/desktop/analysis/components/BizApps.vue
index 90f45dc..10d5d95 100644
--- a/web-vue/packages/core/layouts/views/desktop/analysis/components/BizApps.vue
+++ b/web-vue/packages/core/layouts/views/desktop/analysis/components/BizApps.vue
@@ -43,6 +43,10 @@
diff --git a/web-vue/packages/core/layouts/views/desktop/analysis/components/QuickLogin.vue b/web-vue/packages/core/layouts/views/desktop/analysis/components/QuickLogin.vue
index d70f4e7..93b7942 100644
--- a/web-vue/packages/core/layouts/views/desktop/analysis/components/QuickLogin.vue
+++ b/web-vue/packages/core/layouts/views/desktop/analysis/components/QuickLogin.vue
@@ -157,6 +157,10 @@
diff --git a/web-vue/packages/core/layouts/views/desktop/workbench/components/NoteInfo.vue b/web-vue/packages/core/layouts/views/desktop/workbench/components/NoteInfo.vue
index 0123db6..37192e6 100644
--- a/web-vue/packages/core/layouts/views/desktop/workbench/components/NoteInfo.vue
+++ b/web-vue/packages/core/layouts/views/desktop/workbench/components/NoteInfo.vue
@@ -331,6 +331,10 @@
diff --git a/web-vue/packages/core/layouts/views/desktop/workbench/components/ScheduleInfo.vue b/web-vue/packages/core/layouts/views/desktop/workbench/components/ScheduleInfo.vue
index 32b25ae..3e04653 100644
--- a/web-vue/packages/core/layouts/views/desktop/workbench/components/ScheduleInfo.vue
+++ b/web-vue/packages/core/layouts/views/desktop/workbench/components/ScheduleInfo.vue
@@ -314,6 +314,10 @@