@@ -37,7 +37,7 @@
+
diff --git a/cdTMP/src/views/project/dut/index.vue b/cdTMP/src/views/project/dut/index.vue
index 2b41290..bfd01c1 100644
--- a/cdTMP/src/views/project/dut/index.vue
+++ b/cdTMP/src/views/project/dut/index.vue
@@ -2,17 +2,32 @@
-
+
{{ showType(record) }}
-
-
-
-
- 上传需求规格说明快捷录入
-
+
+
+
+
+
+ 上传需求规格说明快捷录入
+
+
+ 批量替换
+
@@ -20,6 +35,20 @@
+
+
@@ -27,13 +56,31 @@
import { ref } from "vue"
import useCrudOptions from "@/views/project/dut/hooks/useCrudOptions"
import useColumns from "./hooks/useColumns"
+import { Message } from "@arco-design/web-vue"
import { useRoute } from "vue-router"
import dutApi from "@/api/project/dut"
+import designApi from "@/api/project/designDemand"
import commonApi from "@/api/common"
import FileInputModal from "./components/FileInputModal/index.vue"
+import ReplaceModel from "@/views/project/opeSets/components/DesignTable/ReplaceModal.vue"
+
const route = useRoute()
const crudRef = ref()
const projectId = ref(route.query.id)
+
+// 5月28日新增功能:替换
+const replaceModal = ref()
+
+const handleReplaceClick = () => {
+ replaceModal.value?.open(crudRef.value.getSelecteds) // 把获取选中行的函数给传递给替换组件
+}
+
+const replaceSuccessHandle = async (count) => {
+ Message.success(`批量更新成功,尝试更新行数:${count}`)
+ // 批量更新后刷新表格
+ crudRef.value.refresh()
+}
+
// 5月8日修改设计需求标识就按SJ-FT-设计需求标识来
const demandTypeDict = ref([])
;(function () {
@@ -62,6 +109,7 @@ const showType = (record) => {
// crud组件
const crudOptions = useCrudOptions(crudRef)
const crudColumns = useColumns(crudRef)
+
// ~~~大功能打开ma-form-modal~~~
const fileInputRef = ref(null)
const handleAddFileInputDemand = () => {
@@ -78,4 +126,12 @@ defineOptions({
})
-
+
diff --git a/cdTMP/src/views/project/opeSets/components/CaseTable/ReplaceExetime.vue b/cdTMP/src/views/project/opeSets/components/CaseTable/ReplaceExetime.vue
index 88a327f..49fc8ca 100644
--- a/cdTMP/src/views/project/opeSets/components/CaseTable/ReplaceExetime.vue
+++ b/cdTMP/src/views/project/opeSets/components/CaseTable/ReplaceExetime.vue
@@ -30,8 +30,13 @@ import caseApi from "@/api/project/case"
const visible = ref(false)
const formData = ref({})
const exetime = ref("")
+const getSelectedsFunc = ref
(() => [])
+
// props
-const { selectRows } = defineProps<{ selectRows: any }>()
+const { selectRows } = defineProps<{ selectRows?: any }>()
+
+// emits
+const emit = defineEmits(["modifySuccess"])
// 2.异步执行替换操作,返回boolean-true则关闭弹窗
const submitReplace = async () => {
@@ -40,13 +45,15 @@ const submitReplace = async () => {
Message.error("请选择时间后,进行替换操作")
return false
}
- if (selectRows.length && selectRows.length > 0) {
+ const selecteds = selectRows || getSelectedsFunc.value() || []
+ if (selecteds.length && selecteds.length > 0) {
// 判断是否选择了行
// 请求后台执行
await caseApi.exetimeReplace({
- selectRows: selectRows,
+ selectRows: selecteds,
exetime: exetime.value
})
+ emit("modifySuccess")
Message.success("批量替换成功...")
return true
}
@@ -55,7 +62,8 @@ const submitReplace = async () => {
}
// 其他:打开modal
-const open = () => {
+const open = (getFunc: (() => number[]) | undefined) => {
+ if (getFunc) getSelectedsFunc.value = getFunc
exetime.value = ""
visible.value = true
}
diff --git a/cdTMP/src/views/project/opeSets/components/CaseTable/ReplacePerson.vue b/cdTMP/src/views/project/opeSets/components/CaseTable/ReplacePerson.vue
index 07b1c2a..d22ad45 100644
--- a/cdTMP/src/views/project/opeSets/components/CaseTable/ReplacePerson.vue
+++ b/cdTMP/src/views/project/opeSets/components/CaseTable/ReplacePerson.vue
@@ -56,9 +56,14 @@ const formData = ref({})
const designPerson = ref("不替换")
const testPerson = ref("不替换")
const monitorPerson = ref("不替换")
+const getSelectedsFunc = ref(() => [])
+
// props
const { selectRows } = defineProps<{ selectRows: any }>()
+// emits
+const emit = defineEmits(["modifySuccess"])
+
// 1.在created时候直接请求后端项目人员信息
const persons = ref([])
async function fetchPersonByProject() {
@@ -74,15 +79,17 @@ const submitReplace = async () => {
Message.error("至少选择一项替换")
return false
}
- if (selectRows.length && selectRows.length > 0) {
+ const selecteds = selectRows || getSelectedsFunc.value() || []
+ if (selecteds.length && selecteds.length > 0) {
// 判断是否选择了行
// 请求后台执行
await caseApi.personReplace({
- selectRows: selectRows,
+ selectRows: selecteds,
designPerson: designPerson.value,
testPerson: testPerson.value,
monitorPerson: monitorPerson.value
})
+ emit("modifySuccess")
Message.success("批量替换成功...")
return true
}
@@ -91,7 +98,8 @@ const submitReplace = async () => {
}
// 其他:打开modal
-const open = () => {
+const open = (getFunc: (() => number[]) | undefined) => {
+ if (getFunc) getSelectedsFunc.value = getFunc
designPerson.value = "不替换"
testPerson.value = "不替换"
monitorPerson.value = "不替换"
diff --git a/cdTMP/src/views/project/opeSets/components/CaseTable/index.vue b/cdTMP/src/views/project/opeSets/components/CaseTable/index.vue
index 8ec96ff..93e9d49 100644
--- a/cdTMP/src/views/project/opeSets/components/CaseTable/index.vue
+++ b/cdTMP/src/views/project/opeSets/components/CaseTable/index.vue
@@ -18,8 +18,8 @@
- 批量修改人员
- 批量修改时间
+ 批量修改人员
+ 批量修改时间
@@ -126,7 +126,7 @@
ref="replaceModal"
:selectRows="selecteds"
:api="caseApi.replace"
- :columns="columns"
+ :columns="columns.filter((it) => it.dataIndex !== 'ident')"
key="modal-case"
popup-key="case"
@replaceSuccess="replaceSuccessHandle"
@@ -152,8 +152,8 @@ import useDelete from "@/views/project/opeSets/components/DesignTable/useDelete"
import { Message } from "@arco-design/web-vue"
import ReplaceModal from "@/views/project/opeSets/components/DesignTable/ReplaceModal.vue"
// case专属组件
-import ReplacePerson from "./ReplacePerson.vue"
-import ReplaceExetime from "./ReplaceExetime.vue"
+import ReplacePerson from "@/views/project/opeSets/components/CaseTable/ReplacePerson.vue"
+import ReplaceExetime from "@/views/project/opeSets/components/CaseTable/ReplaceExetime.vue"
const columns = ref([
{
@@ -224,7 +224,7 @@ const { deletesMultipleAction } = useDelete(caseApi.delete, fetchData, selecteds
// 7.2.批量替换相关
const replaceModal = ref | null>(null)
const handleOpenReplaceModal = () => {
- replaceModal.value?.open()
+ replaceModal.value?.open(undefined)
}
const replaceSuccessHandle = async (count: number) => {
Message.success(`批量更新成功,尝试更新行数:${count}`)
@@ -242,13 +242,13 @@ const searchSubmit = (data: ISearchFormCase) => {
// 9.批量修改人员
const replacePersonModalRef = ref>()
const handlePerpleModal = () => {
- replacePersonModalRef.value!.open()
+ replacePersonModalRef.value!.open(undefined)
}
-// 10.批量修改事件
+// 10.批量修改时间
const replaceExetimeModalRef = ref>()
const handleExetimeModal = () => {
- replaceExetimeModalRef.value!.open()
+ replaceExetimeModalRef.value!.open(undefined)
}
diff --git a/cdTMP/src/views/project/opeSets/components/DemandTable/ReplacePriority.vue b/cdTMP/src/views/project/opeSets/components/DemandTable/ReplacePriority.vue
new file mode 100644
index 0000000..79dd08e
--- /dev/null
+++ b/cdTMP/src/views/project/opeSets/components/DemandTable/ReplacePriority.vue
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
diff --git a/cdTMP/src/views/project/opeSets/components/DemandTable/index.vue b/cdTMP/src/views/project/opeSets/components/DemandTable/index.vue
index f845f12..31edfcd 100644
--- a/cdTMP/src/views/project/opeSets/components/DemandTable/index.vue
+++ b/cdTMP/src/views/project/opeSets/components/DemandTable/index.vue
@@ -17,6 +17,8 @@
批量替换
+
+ 批量修改优先级
@@ -136,11 +138,13 @@
ref="replaceModal"
:selectRows="selecteds"
:api="demandApi.replace"
- :columns="columns"
+ :columns="columns.filter((it) => it.dataIndex !== 'priority' && it.dataIndex !== 'testType')"
key="modal-demand"
popup-key="demand"
@replaceSuccess="replaceSuccessHandle"
/>
+
+