Browse Source

更换插件

ZaiZai 2 năm trước cách đây
mục cha
commit
3f141b104e
3 tập tin đã thay đổi với 191 bổ sung152 xóa
  1. 2 2
      src/views/data-fill/components/WbsTree.vue
  2. 119 100
      src/views/gauge/bezier.vue
  3. 70 50
      src/views/gauge/station.vue

+ 2 - 2
src/views/data-fill/components/WbsTree.vue

@@ -59,7 +59,7 @@
 import {ref, nextTick, watch} from "vue";
 import dataFillQuery from '~api/data-fill/query';
 import {getTreeNodeType} from '~uti/utils';
-import {getArrValue, getObjValue, isAllNull, isArrItem} from "js-fast-way"
+import {getArrValue, getObjValue, isNullES, isArrItem} from "js-fast-way"
 
 //参数
 const props = defineProps({
@@ -294,7 +294,7 @@ const handleMenuSelect = async ({key}) => {
 
 const handleMenuClosed = () => {
     const node = treeRefNode.value;
-    if (!isAllNull(node)) {
+    if (!isNullES(node)) {
         treeRefNode.value['showTreeMenu'] = false
     }
 }

+ 119 - 100
src/views/gauge/bezier.vue

@@ -3,7 +3,7 @@
         <HcCard :scrollbar="false" actionSize="lg">
             <template #header>
                 <HcTooltip keys="gauge-bezier-add">
-                    <el-button type="primary" hc-btn @click="addLineEleModal" :disabled="searchForm.partId.length<1">
+                    <el-button :disabled="searchForm.partId.length<1" hc-btn type="primary" @click="addLineEleModal">
                         <HcIcon name="add-box"/>
                         <span>添加线元</span>
                     </el-button>
@@ -27,7 +27,7 @@
                     </el-button>
                 </HcTooltip>
                 <HcTooltip keys="gauge-bezier-export">
-                    <el-button hc-btn :loading="downloadLoading" @click="exportModalClick">
+                    <el-button :loading="downloadLoading" hc-btn @click="exportModalClick">
                         <HcIcon name="download"/>
                         <span>导出</span>
                     </el-button>
@@ -35,7 +35,8 @@
             </template>
             <template #extra>
                 <div class="w-60">
-                    <el-select v-model="searchForm.partId" block clearable size="large" placeholder="片段查询" @change="searchClick">
+                    <el-select v-model="searchForm.partId" block clearable placeholder="片段查询" size="large"
+                               @change="searchClick">
                         <el-option v-for="item in partData" :label="item.name" :value="item.id"/>
                     </el-select>
                 </div>
@@ -53,20 +54,20 @@
 
             <HcTable :column="tableColumn" :datas="tableData" :loading="tableLoading">
                 <template #name="{row}">
-                    {{row['valueStr']}}~{{row['valueEndStr']}}
+                    {{ row['valueStr'] }}~{{ row['valueEndStr'] }}
                 </template>
                 <template #type="{row}">
-                    {{getTypeName(row?.type)}}
+                    {{ getTypeName(row?.type) }}
                 </template>
                 <!-- <template #angle="{row}">
                     {{row['du']}}°{{row['fen']}}′{{row['miao']}}″
                 </template> -->
                 <template #action="{row}">
                     <HcTooltip keys="gauge-station-edit">
-                        <el-button type="primary" size="small" text @click="handleTableEdit(row)">编辑</el-button>
+                        <el-button size="small" text type="primary" @click="handleTableEdit(row)">编辑</el-button>
                     </HcTooltip>
                     <HcTooltip keys="gauge-station-del">
-                        <el-button type="danger" size="small" text @click="handleTableDelete(row)">删除</el-button>
+                        <el-button size="small" text type="danger" @click="handleTableDelete(row)">删除</el-button>
                     </HcTooltip>
                 </template>
             </HcTable>
@@ -75,31 +76,38 @@
             </template>
         </HcCard>
         <!--管理片段弹框-->
-        <el-dialog v-model="showAdminPartModal" title="管理片段" width="47rem" class="hc-modal-border">
+        <el-dialog v-model="showAdminPartModal" class="hc-modal-border" title="管理片段" width="47rem">
             <div class="admin-part-data-table">
                 <el-scrollbar>
                     <div class="hc-table-ref-box">
-                        <el-table hc :data="AdminPartTableData" stripe>
-                            <el-table-column prop="name" label="片段名称">
+                        <el-table :data="AdminPartTableData" hc stripe>
+                            <el-table-column label="片段名称" prop="name">
                                 <template #default="scope">
-                                    <el-input v-model="scope.row.name" placeholder="片段名称" v-if="scope.row.isEdit"/>
-                                    <div v-else>{{scope.row.name}}</div>
+                                    <el-input v-if="scope.row.isEdit" v-model="scope.row.name" placeholder="片段名称"/>
+                                    <div v-else>{{ scope.row.name }}</div>
                                 </template>
                             </el-table-column>
-                            <el-table-column prop="prefix" label="桩号前缀">
+                            <el-table-column label="桩号前缀" prop="prefix">
                                 <template #default="scope">
-                                    <el-input v-model="scope.row.prefix" placeholder="桩号前缀" v-if="scope.row.isEdit"/>
-                                    <div v-else>{{scope.row.prefix}}</div>
+                                    <el-input v-if="scope.row.isEdit" v-model="scope.row.prefix"
+                                              placeholder="桩号前缀"/>
+                                    <div v-else>{{ scope.row.prefix }}</div>
                                 </template>
                             </el-table-column>
-                            <el-table-column label="操作" align="center" width="130">
+                            <el-table-column align="center" label="操作" width="130">
                                 <template #default="scope">
-                                    <el-button type="primary" size="small" text @click="handleAdminPartSave(scope.row)" v-if="scope.row.isEdit">保存</el-button>
-                                    <HcTooltip keys="gauge-station-edit" v-else>
-                                        <el-button type="primary" size="small" text @click="handleAdminPartEdit(scope.row)">编辑</el-button>
+                                    <el-button v-if="scope.row.isEdit" size="small" text type="primary"
+                                               @click="handleAdminPartSave(scope.row)">保存
+                                    </el-button>
+                                    <HcTooltip v-else keys="gauge-station-edit">
+                                        <el-button size="small" text type="primary"
+                                                   @click="handleAdminPartEdit(scope.row)">编辑
+                                        </el-button>
                                     </HcTooltip>
                                     <HcTooltip keys="gauge-station-del">
-                                        <el-button type="danger" size="small" text @click="handleAdminPartDelete(scope.row,scope.$index)">删除</el-button>
+                                        <el-button size="small" text type="danger"
+                                                   @click="handleAdminPartDelete(scope.row,scope.$index)">删除
+                                        </el-button>
                                     </HcTooltip>
                                 </template>
                             </el-table-column>
@@ -110,12 +118,12 @@
             <template #footer>
                 <div class="dialog-footer">
                     <el-button size="large" @click="showAdminPartModal = false">取消</el-button>
-                    <el-button type="primary" hc-btn @click="AddAdminPart">新增</el-button>
+                    <el-button hc-btn type="primary" @click="AddAdminPart">新增</el-button>
                 </div>
             </template>
         </el-dialog>
         <!--新增片段弹框-->
-        <el-dialog v-model="showAddPartModal" title="新增片段" width="38rem" draggable class="hc-modal-border">
+        <el-dialog v-model="showAddPartModal" class="hc-modal-border" draggable title="新增片段" width="38rem">
             <el-form ref="partFormRef" :model="partForm" :rules="partRules" label-width="auto" size="large">
                 <el-form-item label="名称" prop="name">
                     <el-input v-model="partForm.name" placeholder="请输入名称"/>
@@ -127,12 +135,14 @@
             <template #footer>
                 <div class="dialog-footer">
                     <el-button size="large" @click="showAddPartModal = false">取消</el-button>
-                    <el-button type="primary" hc-btn :loading="savePartLoading" @click="savePartInfo">保存</el-button>
+                    <el-button :loading="savePartLoading" hc-btn type="primary" @click="savePartInfo">保存</el-button>
                 </div>
             </template>
         </el-dialog>
         <!--添加/编辑线元弹框-->
-        <el-dialog v-model="showLineEleModal" :title="(formLineEleValue.id === -1 || !formLineEleValue.id)?'添加线元':'编辑线元'" draggable width="40rem" class="hc-modal-border">
+        <el-dialog v-model="showLineEleModal"
+                   :title="(formLineEleValue.id === -1 || !formLineEleValue.id)?'添加线元':'编辑线元'" class="hc-modal-border"
+                   draggable width="40rem">
             <el-form :model="formLineEleValue" label-width="auto" size="large">
                 <el-form-item label="类型">
                     <el-radio-group v-model="formLineEleValue.type">
@@ -148,13 +158,13 @@
                 <el-form-item label="Y">
                     <el-input v-model="formLineEleValue.y" placeholder="请输入Y"/>
                 </el-form-item>
-                <el-form-item label="半径" v-if="formLineEleValue.type !== 0">
+                <el-form-item v-if="formLineEleValue.type !== 0" label="半径">
                     <el-input v-model="formLineEleValue.r" placeholder="请输入半径"/>
                 </el-form-item>
-                <el-form-item label="结束半径" v-if="formLineEleValue.type === 3">
+                <el-form-item v-if="formLineEleValue.type === 3" label="结束半径">
                     <el-input v-model="formLineEleValue.r2" placeholder="请输入半径"/>
                 </el-form-item>
-                <el-form-item label="转向" v-if="formLineEleValue.type !== 0">
+                <el-form-item v-if="formLineEleValue.type !== 0" label="转向">
                     <el-radio-group v-model="formLineEleValue.swing">
                         <el-radio label="左转">左转</el-radio>
                         <el-radio label="右转">右转</el-radio>
@@ -180,10 +190,10 @@
                         </el-input>
                     </el-form-item>
                 </div>
-                <el-form-item label="断链前里程" v-if="formLineEleValue.type !== 3">
+                <el-form-item v-if="formLineEleValue.type !== 3" label="断链前里程">
                     <el-input v-model="formLineEleValue.dlq" placeholder="请输入断链前里程"/>
                 </el-form-item>
-                <el-form-item label="断链后里程" v-if="formLineEleValue.type !== 3">
+                <el-form-item v-if="formLineEleValue.type !== 3" label="断链后里程">
                     <el-input v-model="formLineEleValue.dlh" placeholder="请输入断链后里程"/>
                 </el-form-item>
                 <el-form-item label="顺序">
@@ -193,13 +203,15 @@
             <template #footer>
                 <div class="dialog-footer">
                     <el-button size="large" @click="showLineEleModal = false">取消</el-button>
-                    <el-button size="large" @click="refreshable" v-if="formLineEleValue.id === -1 || !formLineEleValue.id">刷新</el-button>
-                    <el-button type="primary" hc-btn :loading="saveLoading" @click="saveLineEleClick">保存</el-button>
+                    <el-button v-if="formLineEleValue.id === -1 || !formLineEleValue.id" size="large"
+                               @click="refreshable">刷新
+                    </el-button>
+                    <el-button :loading="saveLoading" hc-btn type="primary" @click="saveLineEleClick">保存</el-button>
                 </div>
             </template>
         </el-dialog>
         <!--里程转换坐标-->
-        <el-dialog v-model="showToModal" title="里程转换坐标" width="38rem" draggable class="hc-modal-border">
+        <el-dialog v-model="showToModal" class="hc-modal-border" draggable title="里程转换坐标" width="38rem">
             <el-form :model="formToValue" label-width="auto" size="large">
                 <el-form-item label="里程">
                     <el-input v-model="formToValue.value" placeholder="请输入名称"/>
@@ -211,22 +223,22 @@
                     <el-input v-model="formToValue.jj" placeholder="请输入夹角"/>
                 </el-form-item>
                 <el-form-item label="X">
-                    <div class="form-item-div">{{formToValue.x}}</div>
+                    <div class="form-item-div">{{ formToValue.x }}</div>
                 </el-form-item>
                 <el-form-item label="Y">
-                    <div class="form-item-div">{{formToValue.y}}</div>
+                    <div class="form-item-div">{{ formToValue.y }}</div>
                 </el-form-item>
             </el-form>
             <template #footer>
                 <div class="dialog-footer">
                     <el-button size="large" @click="showToModal = false">取消</el-button>
-                    <el-button type="primary" hc-btn @click="queryPsChange">转换</el-button>
+                    <el-button hc-btn type="primary" @click="queryPsChange">转换</el-button>
                 </div>
             </template>
         </el-dialog>
         <!--逐桩坐标弹框-->
-        <el-dialog v-model="showPileModal" title="逐桩坐标" width="62rem" draggable class="hc-modal-border">
-            <el-form :model="formPileValue" label-width="auto" size="large" inline label-position="top">
+        <el-dialog v-model="showPileModal" class="hc-modal-border" draggable title="逐桩坐标" width="62rem">
+            <el-form :model="formPileValue" inline label-position="top" label-width="auto" size="large">
                 <el-form-item label="开始桩号">
                     <el-input v-model="formPileValue.x" placeholder="开始桩号"/>
                 </el-form-item>
@@ -240,34 +252,38 @@
                     <el-input v-model="formPileValue.b" placeholder="偏距"/>
                 </el-form-item>
                 <el-form-item label=" ">
-                    <el-button type="primary" attr-type="button" :loading="generateLoading" @click="generateClick">生成</el-button>
+                    <el-button :loading="generateLoading" attr-type="button" type="primary" @click="generateClick">
+                        生成
+                    </el-button>
                 </el-form-item>
             </el-form>
             <div class="admin-part-data-table">
                 <el-scrollbar>
                     <div class="hc-table-ref-box">
-                        <el-table hc :data="pileTable" stripe>
-                            <el-table-column prop="num" label="序号" width="80">
+                        <el-table :data="pileTable" hc stripe>
+                            <el-table-column label="序号" prop="num" width="80">
                                 <template #default="scope">
-                                    {{scope.$index + 1}}
+                                    {{ scope.$index + 1 }}
                                 </template>
                             </el-table-column>
-                            <el-table-column prop="valueStr" label="里程"/>
-                            <el-table-column prop="b" label="偏距"/>
-                            <el-table-column prop="xxStr" label="X"/>
-                            <el-table-column prop="yyStr" label="Y"/>
+                            <el-table-column label="里程" prop="valueStr"/>
+                            <el-table-column label="偏距" prop="b"/>
+                            <el-table-column label="X" prop="xxStr"/>
+                            <el-table-column label="Y" prop="yyStr"/>
                         </el-table>
                     </div>
                 </el-scrollbar>
             </div>
         </el-dialog>
         <!--导入弹框-->
-        <el-dialog v-model="showImportModal" title="导入线元" width="32rem" class="hc-modal-border">
+        <el-dialog v-model="showImportModal" class="hc-modal-border" title="导入线元" width="32rem">
             <div class="text-center">
-                <el-upload ref="uploadRef" :action="action" :headers="getTokenHeader()" :accept="accept" :data="addition" :limit="1" :auto-upload="false" v-model:file-list="fileList"
-                           :on-exceed="handleUploadExceed" :on-progress="handleUploadProgress" :on-success="handleUploadFinish" :on-error="handleUploadError">
+                <el-upload ref="uploadRef" v-model:file-list="fileList" :accept="accept" :action="action"
+                           :auto-upload="false" :data="addition" :headers="getTokenHeader()" :limit="1"
+                           :on-error="handleUploadError" :on-exceed="handleUploadExceed"
+                           :on-progress="handleUploadProgress" :on-success="handleUploadFinish">
                     <template #trigger>
-                        <el-button type="primary" :loading="importLoading">选择文件</el-button>
+                        <el-button :loading="importLoading" type="primary">选择文件</el-button>
                     </template>
                 </el-upload>
             </div>
@@ -278,7 +294,9 @@
                     </div>
                     <div class="right">
                         <el-button size="large" @click="showImportModal = false">取消</el-button>
-                        <el-button type="primary" hc-btn :disabled="fileList.length <= 0" :loading="importLoading" @click="handleImportClick">确认导入</el-button>
+                        <el-button :disabled="fileList.length <= 0" :loading="importLoading" hc-btn type="primary"
+                                   @click="handleImportClick">确认导入
+                        </el-button>
                     </div>
                 </div>
             </template>
@@ -291,14 +309,15 @@ import {ref, onMounted} from "vue";
 import {useAppStore} from "~src/store";
 import bezierApi from '~api/gauge/bezier';
 import {getTokenHeader} from '~src/api/request/header';
-import {isType, downloadBlob, formValidate, deepClone} from "vue-utils-plus"
+import {
+    downloadBlob, formValidate, deepClone, isObjNull, getObjValue, getArrValue
+} from "js-fast-way"
 import {genFileId} from "element-plus";
 
 //初始变量
 const useAppState = useAppStore()
 const projectId = ref(useAppState.getProjectId);
 const contractId = ref(useAppState.getContractId);
-const { isObjNull, getObjValue,  getArrValue } = isType()
 
 //渲染完成
 onMounted(() => {
@@ -308,7 +327,7 @@ onMounted(() => {
 //获取下拉列表
 const partData = ref([])
 const queryPartList = async () => {
-    const { error, code, data } = await bezierApi.queryPartList({
+    const {error, code, data} = await bezierApi.queryPartList({
         projectId: projectId.value,
         contractId: contractId.value
     })
@@ -318,7 +337,7 @@ const queryPartList = async () => {
         AdminPartTableData.value = deepClone(records);
         if (records.length > 0 && !searchForm.value.partId) {
             searchForm.value.partId = records[0].id;
-            partNo.value= records[0].prefix
+            partNo.value = records[0].prefix
             getTableData()
         }
     } else {
@@ -330,12 +349,12 @@ const queryPartList = async () => {
 
 //搜索表单
 const searchForm = ref({partId: '', current: 1, size: 20, total: 0})
-const partNo=ref('')
+const partNo = ref('')
 //重新搜索数据
 const searchClick = (id) => {
-    partData.value.forEach((ele)=>{
-        if(ele.id===id){
-           partNo.value=ele.prefix 
+    partData.value.forEach((ele) => {
+        if (ele.id === id) {
+            partNo.value = ele.prefix
         }
     })
     searchForm.value.current = 1
@@ -351,22 +370,22 @@ const pageChange = ({current, size}) => {
 
 //获取数据
 const tableColumn = ref([
-    {key:'name', name: '里程'},
-    {key:'orderNum', name: '排序'},
-    {key:'l', name: '长度'},
-    {key:'angleStr', name: '方位角'},
-    {key:'type', name: '类型'},
-    {key:'swing', name: '转向'},
-    {key:'xxStr', name: 'X'},
-    {key:'yyStr', name: 'Y'},
-    {key:'r', name: '半径'},
-    {key:'action', name: '操作', width: '130'}
+    {key: 'name', name: '里程'},
+    {key: 'orderNum', name: '排序'},
+    {key: 'l', name: '长度'},
+    {key: 'angleStr', name: '方位角'},
+    {key: 'type', name: '类型'},
+    {key: 'swing', name: '转向'},
+    {key: 'xxStr', name: 'X'},
+    {key: 'yyStr', name: 'Y'},
+    {key: 'r', name: '半径'},
+    {key: 'action', name: '操作', width: '130'}
 ])
 const tableData = ref([])
 const tableLoading = ref(false)
 const getTableData = async () => {
     tableLoading.value = true
-    const { error, code, data } = await bezierApi.queryListData(searchForm.value)
+    const {error, code, data} = await bezierApi.queryListData(searchForm.value)
     tableLoading.value = false
     if (!error && code === 200) {
         tableData.value = getArrValue(data['records'])
@@ -385,7 +404,7 @@ const handleTableEdit = (row) => {
     formLineEleValue.value['projectId'] = projectId.value;
     formLineEleValue.value['contractId'] = contractId.value;
     formLineEleValue.value['partId'] = searchForm.value.partId;
-    let mile = ['x', 'y', 'fen', 'miao', 'du', 'value', 'l',  'dlq', 'dlh', 'swing', 'r', 'r2', 'orderNum']
+    let mile = ['x', 'y', 'fen', 'miao', 'du', 'value', 'l', 'dlq', 'dlh', 'swing', 'r', 'r2', 'orderNum']
     mile.forEach((key) => {
         formLineEleValue.value[key] = form[key] + '';
     })
@@ -454,7 +473,7 @@ const saveLineEleClick = async () => {
     form.partId = searchForm.value.partId;
     if (form.id === -1 || !form.id) {
         saveLoading.value = true
-        const { error, code } = await bezierApi.saveAddMileage(form)
+        const {error, code} = await bezierApi.saveAddMileage(form)
         saveLoading.value = false
         if (!error && code === 200) {
             window?.$message?.success('保存成功')
@@ -463,7 +482,7 @@ const saveLineEleClick = async () => {
         }
     } else {
         saveLoading.value = true
-        const { error, code } = await bezierApi.saveUpdateMileage(form)
+        const {error, code} = await bezierApi.saveUpdateMileage(form)
         saveLoading.value = false
         if (!error && code === 200) {
             window?.$message?.success('保存成功')
@@ -474,7 +493,7 @@ const saveLineEleClick = async () => {
 }
 //获取数据
 const getNextMileagexy = async (obj = {}) => {
-    const { error, code, data } = await bezierApi.getNextMileagexy({
+    const {error, code, data} = await bezierApi.getNextMileagexy({
         ...obj,
         projectId: projectId.value,
         contractId: contractId.value
@@ -482,7 +501,7 @@ const getNextMileagexy = async (obj = {}) => {
     if (!error && code === 200) {
         const res = getObjValue(data)
         if (!isObjNull(res)) {
-            let mile = ['x', 'y', 'fen', 'miao', 'du', 'value', 'l',  'dlq', 'dlh', 'swing', 'r', 'r2', 'orderNum']
+            let mile = ['x', 'y', 'fen', 'miao', 'du', 'value', 'l', 'dlq', 'dlh', 'swing', 'r', 'r2', 'orderNum']
             mile.forEach((key) => {
                 formLineEleValue.value[key] = res[key] + '';
             })
@@ -574,7 +593,7 @@ const importModalClick = () => {
 
 //下载导入模板
 const tmportTmpClick = () => {
-    window.open('https://bladex-test-info.oss-cn-chengdu.aliyuncs.com//upload/20220614/a8bb45b57e409ff6bd5a5aad4bc7b22e.xlsx','_blank')
+    window.open('https://bladex-test-info.oss-cn-chengdu.aliyuncs.com//upload/20220614/a8bb45b57e409ff6bd5a5aad4bc7b22e.xlsx', '_blank')
 }
 //上传一个文件时,重置
 const handleUploadExceed = (files) => {
@@ -628,7 +647,7 @@ const downloadLoading = ref(false)
 const getExportExcel = async () => {
     //批量下载
     downloadLoading.value = true
-    const { error, disposition, res } = await bezierApi.getExportExcel({
+    const {error, disposition, res} = await bezierApi.getExportExcel({
         projectId: projectId.value,
         partId: searchForm.value.partId,
         partNo: partNo.value
@@ -637,7 +656,7 @@ const getExportExcel = async () => {
     downloadLoading.value = false
     if (!error) {
         if (disposition) {
-            downloadBlob(res,disposition)
+            downloadBlob(res, disposition)
         } else {
             window.$message?.error('数据异常')
         }
@@ -689,7 +708,7 @@ const savePartInfo = async () => {
     const validate = await formValidate(partFormRef.value)
     if (validate) {
         savePartLoading.value = true
-        const { error, code } = await bezierApi.savePartAdd({
+        const {error, code} = await bezierApi.savePartAdd({
             ...partForm.value,
             projectId: projectId.value,
             contractId: contractId.value
@@ -717,16 +736,16 @@ const handleAdminPartEdit = (row) => {
 //保存
 const handleAdminPartSave = async (row) => {
     //严格模式/^[A-Z]+((#\d+)?|\d+)$/
-    const reg = /^[A-Z#-\d]+$/  
+    const reg = /^[A-Z#-\d]+$/
     if (!row.name) {
         window?.$message?.warning('请输入名称')
-    } else if (!row.prefix&&row.name.indexOf('主线')<0) {
-      //没有前缀,且片段名称中不包含‘主线’
+    } else if (!row.prefix && row.name.indexOf('主线') < 0) {
+        //没有前缀,且片段名称中不包含‘主线’
         window?.$message?.warning('请输入桩号前缀')
-    } else if (!reg.test(row.prefix)&&row.name.indexOf('主线')<0) {
+    } else if (!reg.test(row.prefix) && row.name.indexOf('主线') < 0) {
         window?.$message?.warning('桩号前缀,只允许输入大写的英文字母')
     } else if (row.id) {
-        const { error, code } = await bezierApi.savePartUpdate({
+        const {error, code} = await bezierApi.savePartUpdate({
             ...row,
             projectId: projectId.value,
             contractId: contractId.value
@@ -737,7 +756,7 @@ const handleAdminPartSave = async (row) => {
             queryPartList()
         }
     } else if (!row.id) {
-        const { error, code ,data} = await bezierApi.savePartAdd({
+        const {error, code, data} = await bezierApi.savePartAdd({
             ...row,
             projectId: projectId.value,
             contractId: contractId.value
@@ -746,7 +765,7 @@ const handleAdminPartSave = async (row) => {
             window?.$message?.success('保存成功')
             row.isEdit = false
             alert(222);
-            row.id=data.id
+            row.id = data.id
             partData.value.push(data)
             //queryPartList()不要刷新
         }
@@ -757,13 +776,13 @@ const handleAdminPartSave = async (row) => {
 const handleAdminPartDelete = (row, index) => {
     if (!!row.id) {
         window?.$messageBox?.alert('关联平曲线一起删除', '是否删除当前数据?', {
-        showCancelButton: true,
-        confirmButtonText: '确定删除',
-        cancelButtonText: '取消',
-        callback: (action) => {
-            if (action === 'confirm') {
-                handleAdminPartDeleteSub(row, index)
-             }
+            showCancelButton: true,
+            confirmButtonText: '确定删除',
+            cancelButtonText: '取消',
+            callback: (action) => {
+                if (action === 'confirm') {
+                    handleAdminPartDeleteSub(row, index)
+                }
             }
         })
     } else {
@@ -772,14 +791,14 @@ const handleAdminPartDelete = (row, index) => {
 }
 
 const handleAdminPartDeleteSub = async (row, index) => {
-        const { error, code  } = await bezierApi.delPartData({
-            ids: row.id
-        })
-        if (!error && code === 200) {
-            window?.$message?.success('删除成功')
-            queryPartList()
-        }
-    
+    const {error, code} = await bezierApi.delPartData({
+        ids: row.id
+    })
+    if (!error && code === 200) {
+        window?.$message?.success('删除成功')
+        queryPartList()
+    }
+
 }
 
 

+ 70 - 50
src/views/gauge/station.vue

@@ -3,7 +3,7 @@
         <HcCard :scrollbar="false" actionSize="lg">
             <template #header>
                 <HcTooltip keys="gauge-station-add">
-                    <el-button type="primary" hc-btn @click="AddRowClick">
+                    <el-button hc-btn type="primary" @click="AddRowClick">
                         <HcIcon name="add-box"/>
                         <span>新增</span>
                     </el-button>
@@ -15,16 +15,17 @@
                     </el-button>
                 </HcTooltip>
                 <HcTooltip keys="gauge-station-export">
-                    <el-button hc-btn :loading="downloadLoading" @click="exportModalClick">
+                    <el-button :loading="downloadLoading" hc-btn @click="exportModalClick">
                         <HcIcon name="download"/>
                         <span>导出</span>
                     </el-button>
                 </HcTooltip>
                 <div class="w-60 ml-6">
-                    <el-input v-model="searchForm.name" size="large" placeholder="请输入测站点或关键字进行搜索" clearable @keyup="keyUpEvent"/>
+                    <el-input v-model="searchForm.name" clearable placeholder="请输入测站点或关键字进行搜索"
+                              size="large" @keyup="keyUpEvent"/>
                 </div>
                 <div class="ml-2">
-                    <el-button type="primary" size="large" @click="searchClick">
+                    <el-button size="large" type="primary" @click="searchClick">
                         <HcIcon name="search-2"/>
                         <span>搜索</span>
                     </el-button>
@@ -34,24 +35,25 @@
                 <HcNewSwitch :datas="tabsTypeData" :keys="tabsTypeKey" @change="tabsTypeChange"/>
             </template>
 
-            <HcTable :column="levelTableColumn" :datas="levelTable" :loading="tableLoading" v-if="tabsTypeKey === '0'">
+            <HcTable v-if="tabsTypeKey === '0'" :column="levelTableColumn" :datas="levelTable" :loading="tableLoading">
                 <template #action="{row}">
                     <HcTooltip keys="gauge-station-edit">
-                        <el-button type="primary" size="small" text @click="handleLevelEdit(row)">编辑</el-button>
+                        <el-button size="small" text type="primary" @click="handleLevelEdit(row)">编辑</el-button>
                     </HcTooltip>
                     <HcTooltip keys="gauge-station-del">
-                        <el-button type="danger" size="small" text @click="handleLevelDelete(row)">删除</el-button>
+                        <el-button size="small" text type="danger" @click="handleLevelDelete(row)">删除</el-button>
                     </HcTooltip>
                 </template>
             </HcTable>
 
-            <HcTable :column="traverseTableColumn" :datas="traverseTable" :loading="tableLoading" v-if="tabsTypeKey === '1'">
+            <HcTable v-if="tabsTypeKey === '1'" :column="traverseTableColumn" :datas="traverseTable"
+                     :loading="tableLoading">
                 <template #action="{row}">
                     <HcTooltip keys="gauge-station-edit">
-                        <el-button type="primary" size="small" text @click="handleTraverseEdit(row)">编辑</el-button>
+                        <el-button size="small" text type="primary" @click="handleTraverseEdit(row)">编辑</el-button>
                     </HcTooltip>
                     <HcTooltip keys="gauge-station-del">
-                        <el-button type="danger" size="small" text @click="handleTraverseDelete(row)">删除</el-button>
+                        <el-button size="small" text type="danger" @click="handleTraverseDelete(row)">删除</el-button>
                     </HcTooltip>
                 </template>
             </HcTable>
@@ -61,15 +63,18 @@
             </template>
         </HcCard>
         <!--新增/编辑 弹框-->
-        <el-dialog v-model="showRowModal" :title="`${formRowValue?.id ? '编辑' : '新增'}${tabsTypeKey==='1'?'导线点':'水准点'}`" width="47rem" class="hc-modal-border">
+        <el-dialog v-model="showRowModal"
+                   :title="`${formRowValue?.id ? '编辑' : '新增'}${tabsTypeKey==='1'?'导线点':'水准点'}`"
+                   class="hc-modal-border"
+                   width="47rem">
             <el-form ref="formRowRef" :model="formRowValue" :rules="rulesRow" label-width="auto" size="large">
                 <el-form-item label="点名称" prop="name">
                     <el-input v-model="formRowValue.name" placeholder="请输入点名称"/>
                 </el-form-item>
-                <el-form-item label="X坐标(m)" prop="x" v-if="tabsTypeKey === '1'">
+                <el-form-item v-if="tabsTypeKey === '1'" label="X坐标(m)" prop="x">
                     <el-input v-model="formRowValue.x" placeholder="请输入X坐标(m)"/>
                 </el-form-item>
-                <el-form-item label="Y坐标(m)" prop="y" v-if="tabsTypeKey === '1'">
+                <el-form-item v-if="tabsTypeKey === '1'" label="Y坐标(m)" prop="y">
                     <el-input v-model="formRowValue.y" placeholder="请输入Y坐标(m)"/>
                 </el-form-item>
                 <el-form-item label="高程(m)" prop="h">
@@ -77,49 +82,64 @@
                 </el-form-item>
                 <el-form-item label="等级">
                     <el-select v-model="formRowValue.level" block>
-                        <el-option v-for="item in personData" :label="item.label" :value="item.value" placeholder="请选择等级"/>
+                        <el-option v-for="item in personData" :label="item.label" :value="item.value"
+                                   placeholder="请选择等级"/>
                     </el-select>
                 </el-form-item>
                 <el-form-item label="备注">
-                    <el-input type="textarea" v-model="formRowValue.remark" placeholder="请输入文字说明" :autosize="{ minRows: 3, maxRows: 5 }"/>
+                    <el-input v-model="formRowValue.remark" :autosize="{ minRows: 3, maxRows: 5 }"
+                              placeholder="请输入文字说明"
+                              type="textarea"/>
                 </el-form-item>
             </el-form>
             <template #footer>
                 <div class="dialog-footer">
                     <el-button size="large" @click="showRowModal = false">取消</el-button>
-                    <el-button type="primary" hc-btn :loading="saveFormLoading" @click="saveFormClick">提交</el-button>
+                    <el-button :loading="saveFormLoading" hc-btn type="primary" @click="saveFormClick">提交</el-button>
                 </div>
             </template>
         </el-dialog>
         <!--导入 弹框-->
-        <el-dialog v-model="showImportModal" :title="`导入${tabsTypeKey==='1'?'导线点':'水准点'}`" width="47rem" class="hc-modal-border">
+        <el-dialog v-model="showImportModal" :title="`导入${tabsTypeKey==='1'?'导线点':'水准点'}`"
+                   class="hc-modal-border"
+                   width="47rem">
             <div class="hc-import-modal-box">
                 <div class="tip-box">
                     <span>请先下载导入模板(</span>
-                    <a class="text-link" href="https://bladex-test-info.oss-cn-chengdu.aliyuncs.com//upload/20220614/a4b08ea228dbf74db1c049c4d878fbe7.xlsx" target="_blank" v-if="tabsTypeKey==='1'">导线点导入模板</a>
-                    <a class="text-link" href="https://bladex-test-info.oss-cn-chengdu.aliyuncs.com//upload/20220629/5fa2abeaa1ad553ee4adf64118df4e2a.xlsx" target="_blank" v-if="tabsTypeKey==='0'">水准点导入模板</a>
+                    <a v-if="tabsTypeKey==='1'"
+                       class="text-link"
+                       href="https://bladex-test-info.oss-cn-chengdu.aliyuncs.com//upload/20220614/a4b08ea228dbf74db1c049c4d878fbe7.xlsx"
+                       target="_blank">导线点导入模板</a>
+                    <a v-if="tabsTypeKey==='0'"
+                       class="text-link"
+                       href="https://bladex-test-info.oss-cn-chengdu.aliyuncs.com//upload/20220629/5fa2abeaa1ad553ee4adf64118df4e2a.xlsx"
+                       target="_blank">水准点导入模板</a>
                     <span> ),按模板样式编辑测站点后,再点击"选择文件"按钮选择编辑好的文件,并点击底部的"确认导入"按钮即可导入成功!</span>
                 </div>
                 <div class="upload-box">
-                    <el-upload ref="uploadRef" :action="action" :headers="getTokenHeader()" :accept="accept" :data="addition" :limit="1" :auto-upload="false" v-model:file-list="fileList"
-                               :on-exceed="handleUploadExceed" :on-progress="handleUploadProgress" :on-success="handleUploadFinish" :on-error="handleUploadError">
+                    <el-upload ref="uploadRef" v-model:file-list="fileList" :accept="accept" :action="action"
+                               :auto-upload="false" :data="addition" :headers="getTokenHeader()" :limit="1"
+                               :on-error="handleUploadError" :on-exceed="handleUploadExceed"
+                               :on-progress="handleUploadProgress" :on-success="handleUploadFinish">
                         <template #trigger>
-                            <el-button type="primary" :loading="importLoading">选择文件</el-button>
+                            <el-button :loading="importLoading" type="primary">选择文件</el-button>
                         </template>
                     </el-upload>
                 </div>
                 <div class="text-orange">导入模板格式示例:</div>
-                <div class="demo-img-box" v-if="tabsTypeKey==='1'">
-                    <img src="../../assets/view/152221@2x.png" alt="">
+                <div v-if="tabsTypeKey==='1'" class="demo-img-box">
+                    <img alt="" src="../../assets/view/152221@2x.png">
                 </div>
-                <div class="demo-img-box" v-if="tabsTypeKey==='0'">
-                    <img src="../../assets/view/152211@2x.png" alt="">
+                <div v-if="tabsTypeKey==='0'" class="demo-img-box">
+                    <img alt="" src="../../assets/view/152211@2x.png">
                 </div>
             </div>
             <template #footer>
                 <div class="dialog-footer">
                     <el-button size="large" @click="showImportModal = false">取消</el-button>
-                    <el-button type="primary" hc-btn :disabled="fileList.length <= 0" :loading="importLoading" @click="handleImportClick">确认导入</el-button>
+                    <el-button :disabled="fileList.length <= 0" :loading="importLoading" hc-btn type="primary"
+                               @click="handleImportClick">确认导入
+                    </el-button>
                 </div>
             </template>
         </el-dialog>
@@ -127,13 +147,13 @@
 </template>
 
 <script setup>
-import {ref,onMounted} from "vue";
+import {ref, onMounted} from "vue";
 import {useRouter, useRoute} from 'vue-router'
 import {useAppStore} from "~src/store/index";
 import stationApi from '~api/gauge/station';
 import {getTokenHeader} from '~src/api/request/header';
-import {getArrValue, downloadBlob, formValidate} from "vue-utils-plus"
-import { genFileId } from 'element-plus'
+import {genFileId} from 'element-plus'
+import {getArrValue, downloadBlob, formValidate} from "js-fast-way"
 
 //初始变量
 const router = useRouter()
@@ -151,8 +171,8 @@ const contractId = ref(useAppState.getContractId);
 //类型tab数据和相关处理
 const tabsTypeKey = ref(typeName)
 const tabsTypeData = ref([
-    {key:'0',  name: '水准点'},
-    {key:'1', name: '导线点'}
+    {key: '0', name: '水准点'},
+    {key: '1', name: '导线点'}
 ]);
 const tabsTypeChange = (item) => {
     tabsTypeKey.value = item?.key
@@ -202,23 +222,23 @@ const pageChange = ({current, size}) => {
 
 //导线点
 const traverseTableColumn = ref([
-    {key:'name', name: '测站点名称'},
-    {key:'x', name: 'X坐标(m)'},
-    {key:'y', name: 'Y坐标(m)'},
-    {key:'h', name: '高程(m)'},
-    {key:'level', name: '等级'},
-    {key:'remark', name: '备注'},
-    {key:'action', name: '操作', width: '130'}
+    {key: 'name', name: '测站点名称'},
+    {key: 'x', name: 'X坐标(m)'},
+    {key: 'y', name: 'Y坐标(m)'},
+    {key: 'h', name: '高程(m)'},
+    {key: 'level', name: '等级'},
+    {key: 'remark', name: '备注'},
+    {key: 'action', name: '操作', width: '130'}
 ])
 const traverseTable = ref([])
 
 //水准点
 const levelTableColumn = ref([
-    {key:'name', name: '测站点名称'},
-    {key:'h', name: '高程(m)'},
-    {key:'level', name: '等级'},
-    {key:'remark', name: '备注'},
-    {key:'action', name: '操作', width: '130'}
+    {key: 'name', name: '测站点名称'},
+    {key: 'h', name: '高程(m)'},
+    {key: 'level', name: '等级'},
+    {key: 'remark', name: '备注'},
+    {key: 'action', name: '操作', width: '130'}
 ])
 const levelTable = ref([])
 
@@ -226,7 +246,7 @@ const levelTable = ref([])
 const tableLoading = ref(false)
 const getTableData = async () => {
     tableLoading.value = true
-    const { error, code, data } = await stationApi.queryListData({
+    const {error, code, data} = await stationApi.queryListData({
         projectId: projectId.value,
         contractId: contractId.value,
         ...searchForm.value
@@ -307,7 +327,7 @@ const saveFormClick = async () => {
         const form = formRowValue.value
         if (!!form.id) {
             saveFormLoading.value = true
-            const {error, code} = await stationApi.updateSave(form,false)
+            const {error, code} = await stationApi.updateSave(form, false)
             //判断状态
             saveFormLoading.value = false
             if (!error && code === 200) {
@@ -319,7 +339,7 @@ const saveFormClick = async () => {
             }
         } else {
             saveFormLoading.value = true
-            const {error, code} = await stationApi.addSave(form,false)
+            const {error, code} = await stationApi.addSave(form, false)
             //判断状态
             saveFormLoading.value = false
             if (!error && code === 200) {
@@ -403,7 +423,7 @@ const downloadLoading = ref(false)
 const getExportExcel = async () => {
     //批量下载
     downloadLoading.value = true
-    const { error, disposition, res } = await stationApi.getExportExcel({
+    const {error, disposition, res} = await stationApi.getExportExcel({
         projectId: projectId.value,
         contractId: contractId.value,
         type: tabsTypeKey.value,
@@ -413,7 +433,7 @@ const getExportExcel = async () => {
     downloadLoading.value = false
     if (!error) {
         if (disposition) {
-            downloadBlob(res,disposition)
+            downloadBlob(res, disposition)
         } else {
             window.$message?.error('数据异常')
         }
@@ -470,7 +490,7 @@ const handleTraverseDelete = (row) => {
 
 //删除请求
 const delData = async (id) => {
-    const {error, code} = await stationApi.delData({ids: id},false)
+    const {error, code} = await stationApi.delData({ids: id}, false)
     //判断状态
     if (!error && code === 200) {
         window?.$message?.success('删除成功')