Browse Source

下达和撤销下达

ZaiZai 1 year ago
parent
commit
f08096753a
3 changed files with 75 additions and 4 deletions
  1. 16 0
      src/api/modules/alter/admin/order.js
  2. 14 0
      src/utils/tools.js
  3. 45 4
      src/views/alter/admin/order.vue

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

@@ -65,4 +65,20 @@ export default {
             params: form,
         }, msg)
     },
+    //下达变更
+    async executeChange(form, msg = false) {
+        return HcApi({
+            url: '/api/blade-meter/changeTokenForm/executeChange',
+            method: 'get',
+            params: form,
+        }, msg)
+    },
+    //撤销变更
+    async annulChange(form, msg = false) {
+        return HcApi({
+            url: '/api/blade-meter/changeTokenForm/annulChange',
+            method: 'get',
+            params: form,
+        }, msg)
+    },
 }

+ 14 - 0
src/utils/tools.js

@@ -26,6 +26,20 @@ export const getDictionaryData = async (code) => {
     return newArr
 }
 
+//操作确认
+export const actionConfirm = (cbk) => {
+    window?.$messageBox?.alert('请确认要执行此操作吗?', '操作确认', {
+        showCancelButton: true,
+        confirmButtonText: '确认',
+        cancelButtonText: '取消',
+        type: 'warning',
+        callback: (action) => {
+            if (action === 'confirm') {
+                cbk()
+            }
+        },
+    })
+}
 
 //删除提醒
 export const delMessage = (cbk) => {

+ 45 - 4
src/views/alter/admin/order.vue

@@ -26,9 +26,9 @@
                     <hc-table ref="tableRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-current-row is-new :index-style="{ width: 60 }" @row-click="tableRowClick">
                         <template #action="{ row }">
                             <template v-if="row.approveStatus === 2">
-                                <el-link v-if="row.commandStatus === 0" type="success">下达</el-link>
+                                <el-link v-if="row.commandStatus === 0" type="success" @click="rowExecuteChange(row.id)">下达</el-link>
                                 <el-link v-if="row.commandStatus === 0" type="danger" @click="delRowClick(row)">删除</el-link>
-                                <el-link v-if="row.commandStatus === 1 && row.citeStatus === 0" type="success">撤销下达</el-link>
+                                <el-link v-if="row.commandStatus === 1 && row.citeStatus === 0" type="success" @click="rowAnnulChange(row.id)">撤销下达</el-link>
                             </template>
                             <template v-if="row.approveStatus === 0">
                                 <el-link type="success" @click="rowEditClick(row)">修改</el-link>
@@ -132,9 +132,9 @@
 <script setup>
 import { nextTick, onMounted, ref } from 'vue'
 import { useAppStore } from '~src/store'
-import { getArrValue, getObjValue, getRandom } from 'js-fast-way'
+import { getArrValue, getObjValue, getRandom, isNullES } from 'js-fast-way'
 import mainApi from '~api/alter/admin/order'
-import { delMessage } from '~uti/tools'
+import { actionConfirm, delMessage } from '~uti/tools'
 import addModal from './components/order/addModal.vue'
 
 defineOptions({
@@ -293,6 +293,47 @@ const delRowClick = (row) => {
     })
 }
 
+//下达变更
+const rowExecuteChange = async (id) => {
+    if (isNullES(id)) {
+        window.$message.error('id异常')
+        return
+    }
+    // 确认发起请求
+    actionConfirm(async () => {
+        tableLoading.value = true
+        const { error, code, msg } = await mainApi.executeChange({ id })
+        tableLoading.value = false
+        if (!error && code === 200) {
+            window.$message.success('下达成功')
+            getTableData().then()
+        } else {
+            window.$message.error(msg ?? '下达失败')
+        }
+    })
+}
+
+//撤销下达
+const rowAnnulChange = async (id) => {
+    if (isNullES(id)) {
+        window.$message.error('id异常')
+        return
+    }
+    tableLoading.value = true
+    // 确认发起请求
+    actionConfirm(async () => {
+        tableLoading.value = true
+        const { error, code, msg } = await mainApi.annulChange({ id })
+        tableLoading.value = false
+        if (!error && code === 200) {
+            window.$message.success('撤销下达成功')
+            getTableData().then()
+        } else {
+            window.$message.error(msg ?? '撤销下达失败')
+        }
+    })
+}
+
 //是否上报
 const isReport = ref(false)
 const reportClick = () => {