|
@@ -83,6 +83,7 @@
|
|
|
</div>
|
|
|
<hc-tab-card :tabs="authBtnTabdata" :tab-key="authBtnTabKey" @change="authBtnTabClick">
|
|
|
<template #extra>
|
|
|
+ <el-button :disabled="ListItemDatas.length <= 0" hc-btn type="primary" @click="sortFormClick">排序</el-button>
|
|
|
<el-button :loading="nodeSaveLoading" hc-btn type="primary" @click="NodeSaveClick">辅助保存</el-button>
|
|
|
<HcTooltip keys="wbs_views_drawings">
|
|
|
<el-button :disabled="nodeDataInfo?.drawingsId === -1 || nodeDataInfo?.drawingsId === null" hc-btn color="#e03997" @click="viewsDrawings">图纸</el-button>
|
|
@@ -521,6 +522,20 @@
|
|
|
@close="uploadModalClose"
|
|
|
/>
|
|
|
</hc-new-dialog>
|
|
|
+
|
|
|
+ <!-- 表单排序 -->
|
|
|
+ <hc-new-dialog v-model="sortFormShow" is-table title="排序" widths="800px" is-footer-center @close="sortFormClose">
|
|
|
+ <hc-table
|
|
|
+ ref="tableSortFormRef"
|
|
|
+ :column="tableSortFormColumn" :datas="tableSortFormData"
|
|
|
+ is-row-drop is-sort quick-sort
|
|
|
+ @row-drop="sortFormDropTap" @row-sort="rowSortFormTap"
|
|
|
+ />
|
|
|
+ <template #footer>
|
|
|
+ <el-button hc-btn @click="sortFormClose">取消</el-button>
|
|
|
+ <el-button hc-btn type="primary" :loading="sortFormLoading" @click="sortFormSubmit">提交</el-button>
|
|
|
+ </template>
|
|
|
+ </hc-new-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -2147,6 +2162,68 @@ const NodeSaveClick = async () => {
|
|
|
window?.$message?.error(msg)
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+//排序
|
|
|
+const tableSortFormRef = ref(null)
|
|
|
+const sortFormShow = ref(false)
|
|
|
+const tableSortFormColumn = [
|
|
|
+ { key: 'nodeName', name: '名称' },
|
|
|
+]
|
|
|
+const tableSortFormData = ref([])
|
|
|
+const sortFormClick = () => {
|
|
|
+ sortFormShow.value = true
|
|
|
+ tableSortFormData.value = deepClone(ListItemDatas.value)
|
|
|
+}
|
|
|
+
|
|
|
+// 行拖拽
|
|
|
+const sortFormDropTap = (rows) => {
|
|
|
+ tableSortFormData.value = [] // 先清空,否则排序会异常
|
|
|
+ nextTick(() => {
|
|
|
+ tableSortFormRef.value?.setData(rows)
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 点击排序
|
|
|
+const rowSortFormTap = (rows) => {
|
|
|
+ tableSortFormData.value = [] // 先清空,否则排序会异常
|
|
|
+ nextTick(() => {
|
|
|
+ tableSortFormData.value = rows
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+//关闭排序
|
|
|
+const sortFormClose = () => {
|
|
|
+ sortFormShow.value = false
|
|
|
+ sortFormLoading.value = false
|
|
|
+ tableSortFormData.value = []
|
|
|
+}
|
|
|
+
|
|
|
+//提交排序
|
|
|
+const sortFormLoading = ref(false)
|
|
|
+const sortFormSubmit = async () => {
|
|
|
+ const treeId = primaryKeyId.value
|
|
|
+ if (isNullES(treeId)) {
|
|
|
+ window?.$message?.warning('请先在左侧项目树选择一个节点')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ const rows = tableSortFormData.value
|
|
|
+ //发起请求
|
|
|
+ nodeSaveLoading.value = true
|
|
|
+ const { error, code, msg } = await wbsApi.formTableSort({
|
|
|
+ projectId: projectId.value,
|
|
|
+ contractId: contractId.value,
|
|
|
+ classify: authBtnTabKey.value,
|
|
|
+ nodeIds: treeId,
|
|
|
+ ids: rows.join(),
|
|
|
+ }, false)
|
|
|
+ nodeSaveLoading.value = false
|
|
|
+ if (!error && code === 200) {
|
|
|
+ window?.$message?.success('操作成功')
|
|
|
+ window?.location?.reload() //刷新页面
|
|
|
+ } else {
|
|
|
+ window?.$message?.error(msg)
|
|
|
+ }
|
|
|
+}
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|