Browse Source

变更令

ZaiZai 1 year ago
parent
commit
b39f7ebbb1

+ 68 - 0
src/api/modules/alter/admin/order.js

@@ -0,0 +1,68 @@
+import { HcApi } from '../../../request/index'
+//  变更令
+export default {
+    //分页
+    async getPage(form, msg = false) {
+        return HcApi({
+            url: '/api/blade-meter/changeTokenForm/page',
+            method: 'get',
+            params: form,
+        }, msg)
+    },
+    //修改
+    async edit(form, msg = false) {
+        return HcApi({
+            url: '/api/blade-meter/changeTokenForm/update',
+            method: 'post',
+            data: form,
+        }, msg)
+    },
+    //新增
+    async add(form, msg = false) {
+        return HcApi({
+            url: '/api/blade-meter/changeTokenForm/add',
+            method: 'post',
+            data: form,
+        }, msg)
+    },
+    //删除
+    async remove(form, msg = false) {
+        return HcApi({
+            url: '/api/blade-meter/changeTokenForm/delete',
+            method: 'post',
+            params: form,
+        }, msg)
+    },
+    //获取详情
+    async getDetail(form, msg = false) {
+        return HcApi({
+            url: '/api/blade-meter/changeTokenForm/detail',
+            method: 'get',
+            params: form,
+        }, msg)
+    },
+    //新增确认选择清单
+    async getSelectForm(form, msg = false) {
+        return HcApi({
+            url: '/api/blade-meter/changeTokenForm/selectForm',
+            method: 'get',
+            params: form,
+        }, msg)
+    },
+    //新增添加清单
+    async addForm(form, msg = false) {
+        return HcApi({
+            url: '/api/blade-meter/changeTokenForm/addForm',
+            method: 'get',
+            params: form,
+        }, msg)
+    },
+    //新增-获取变更申请部位
+    async getChangeNode(form, msg = false) {
+        return HcApi({
+            url: '/api/blade-meter/changeTokenForm/getChangeNode',
+            method: 'get',
+            params: form,
+        }, msg)
+    },
+}

+ 36 - 19
src/views/alter/admin/components/order/addModal.vue

@@ -6,7 +6,7 @@
                     <template #extra>
                         <el-link type="primary">添加</el-link>
                     </template>
-                    <hc-lazy-tree :h-props="treeProps" show-checkbox @load="treeLoadNode" />
+                    <hc-lazy-tree show-checkbox tree-key="id" :h-props="treeProps" @load="treeLoadNode" @nodeTap="treeNodeTap" />
                 </hc-card-item>
             </div>
             <div id="hc_add_dialog_table_card">
@@ -164,10 +164,18 @@
 </template>
 
 <script setup>
+import { getArrValue, getObjValue } from 'js-fast-way'
 import { nextTick, ref, watch } from 'vue'
+import { useAppStore } from '~src/store'
+
+//子组件
 import ChangeRequest from './changeRequest.vue'
 import ChangePre from './changePre.vue'
 
+//请求
+import unitApi from '~api/project/debit/contract/unit'
+import mainApi from '~api/alter/admin/zero'
+
 const props = defineProps({
     ids: {
         type: [String, Number],
@@ -178,6 +186,10 @@ const props = defineProps({
 //事件
 const emit = defineEmits(['finish', 'close'])
 
+const useAppState = useAppStore()
+const projectId = ref(useAppState.getProjectId || '')
+const contractId = ref(useAppState.getContractId || '')
+
 //双向绑定
 // eslint-disable-next-line no-undef
 const isShow = defineModel('modelValue', {
@@ -185,10 +197,9 @@ const isShow = defineModel('modelValue', {
 })
 
 //监听
-watch(() => [
-    props.ids,
-], ([ids]) => {
-    console.log('ids', ids)
+const dataId = ref(props.ids)
+watch(() => props.ids, (ids) => {
+    dataId.value = ids
 }, { immediate: true })
 
 //监听
@@ -212,27 +223,33 @@ const setSplitRef = () => {
 
 //数据格式
 const treeProps = {
-    label: 'name',
+    label: 'nodeName',
     children: 'children',
-    isLeaf: 'leaf',
+    isLeaf: 'notExsitChild',
 }
 
 //懒加载的数据
-const treeLoadNode = ({ level }, resolve) => {
-    if (level === 0) {
-        return resolve([{ name: 'region' }])
-    }
-    if (level > 3) {
-        return resolve([])
+const treeLoadNode = async ({ item, level }, resolve) => {
+    let id = 0
+    if (level !== 0) {
+        const nodeData = getObjValue(item)
+        id = nodeData?.id || ''
     }
-    setTimeout(() => {
-        resolve([
-            { name: 'leaf', leaf: true },
-            { name: 'zone' },
-        ])
-    }, 500)
+    //获取数据
+    const { data } = await unitApi.lazyTree({
+        contractId: contractId.value,
+        id: id,
+    })
+    resolve(getArrValue(data))
+}
+
+//节点树被点击
+const treeItem = ref({})
+const treeNodeTap = ({ data }) => {
+    treeItem.value = data
 }
 
+
 //基础表单
 const baseFormRef = ref(null)
 const baseForm = ref({})

+ 30 - 14
src/views/alter/admin/order.vue

@@ -12,11 +12,11 @@
         </template>
         <template #extra>
             <el-button hc-btn type="primary" @click="addModalClick">
-                <HcIcon name="add" />
+                <hc-icon name="add" />
                 <span>新增</span>
             </el-button>
             <el-button hc-btn type="warning" @click="reportClick">
-                <HcIcon name="send-plane-2" />
+                <hc-icon name="send-plane-2" />
                 <span>上报</span>
             </el-button>
         </template>
@@ -120,19 +120,24 @@
 
 <script setup>
 import { nextTick, onMounted, ref } from 'vue'
+import { useAppStore } from '~src/store'
+import { getArrValue, getRandom } from 'js-fast-way'
+import mainApi from '~api/alter/admin/order'
 import addModal from './components/order/addModal.vue'
-import { getRandom } from 'js-fast-way'
-
 
 defineOptions({
     name: 'AlterAdminOrder',
 })
 
 const uuid = getRandom(4)
+const useAppState = useAppStore()
+const projectId = ref(useAppState.getProjectId || '')
+const contractId = ref(useAppState.getContractId || '')
 
 //渲染完成
 onMounted(() => {
     setSplitRef()
+    getTableData()
 })
 
 //初始化设置拖动分割线
@@ -156,7 +161,6 @@ const tabTab = ref([
 
 const tabChange = (item) => {
     tabKey.value = item?.key
-    console.log(item)
 }
 
 //搜索表单
@@ -168,22 +172,34 @@ const searchForm = ref({
 const pageChange = ({ current, size }) => {
     searchForm.value.current = current
     searchForm.value.size = size
+    getTableData()
 }
 
 //表格数据
 const tableLoading = ref(false)
 const tableColumn = ref([
-    { key: 'key1', name: '变更编号' },
-    { key: 'key2', name: '变更名称' },
-    { key: 'key3', name: '变更金额' },
-    { key: 'key4', name: '变更类型' },
-    { key: 'key5', name: '变更批复日期' },
-    { key: 'key6', name: '审批状态' },
+    { key: 'changeNumber', name: '变更编号' },
+    { key: 'changeName', name: '变更名称' },
+    { key: 'changeMoney', name: '变更金额' },
+    { key: 'changeTypeName', name: '变更类型' },
+    { key: 'changeApprovalDate', name: '变更批复日期' },
+    { key: 'approveStatusName', name: '审批状态' },
     { key: 'action', name: '操作', width: 94 },
 ])
-const tableData = ref([
-    { key1: '1111' },
-])
+const tableData = ref([])
+const getTableData = async () => {
+    tableData.value = []
+    tableLoading.value = true
+    const { data } = await mainApi.getPage({
+        ...searchForm.value,
+        projectId: projectId.value,
+        contractId: contractId.value,
+    })
+    tableData.value = getArrValue(data['records'])
+    searchForm.value.total = data.total || 0
+    tableLoading.value = false
+}
+
 
 const rowEditClick = () => {
 

+ 0 - 1
src/views/alter/admin/zero.vue

@@ -122,7 +122,6 @@ const tableColumn = ref([
     { key: 'updateMoney', name: '修正金额' },
     { key: 'verifyTotal', name: '核实量' },
     { key: 'verifyMoney', name: '核实金额' },
-    { key: 'statusName', name: '状态' },
 ])
 const tableData = ref([])
 const getTableData = async () => {