Browse Source

升级依赖

duy 2 years ago
parent
commit
54aedebdf8

+ 1 - 1
package.json

@@ -18,7 +18,7 @@
         "dayjs": "^1.11.9",
         "echarts": "^5.4.2",
         "element-plus": "2.3.8",
-        "hc-vue3-ui": "^1.6.3",
+        "hc-vue3-ui": "^1.9.0",
         "js-base64": "^3.7.5",
         "js-cookie": "^3.0.5",
         "js-fast-way": "^0.2.1",

+ 35 - 0
src/api/modules/base/crops.js

@@ -0,0 +1,35 @@
+import { httpApi } from '../../request/httpApi'
+export default {
+        //获取分页
+        async getPage(form, msg = true) {
+            return httpApi({
+                url: '/api/blade-land/cropsInfo/page',
+                method: 'get',
+                params: form,
+            }, msg)
+        },
+        //新增或修改
+        async addOrUpdate(form, msg = true) {
+            return httpApi({
+                url: '/api/blade-land/cropsInfo/addOrUpdate',
+                method: 'post',
+                data: form,
+            }, msg)
+        },
+        //查询单个详情
+        async getDetail(form, msg = true) {
+            return httpApi({
+                url: '/api/blade-land/cropsInfo/detail',
+                method: 'get',
+                params: form,
+            }, msg)
+        },
+        //查询删除
+        async remove(form, msg = true) {
+            return httpApi({
+                url: '/api/blade-land/cropsInfo/remove',
+                method: 'post',
+                params: form,
+            }, msg)
+        },
+}

+ 35 - 0
src/api/modules/base/land.js

@@ -0,0 +1,35 @@
+import { httpApi } from '../../request/httpApi'
+export default {
+        //获取分页
+        async getPage(form, msg = true) {
+            return httpApi({
+                url: '/api/blade-land/landTypeInfo/page',
+                method: 'get',
+                params: form,
+            }, msg)
+        },
+        //新增或修改
+        async addOrUpdate(form, msg = true) {
+            return httpApi({
+                url: '/api/blade-land/landTypeInfo/addOrUpdate',
+                method: 'post',
+                data: form,
+            }, msg)
+        },
+        //查询单个详情
+        async getDetail(form, msg = true) {
+            return httpApi({
+                url: '/api/blade-land/landTypeInfo/detail',
+                method: 'get',
+                params: form,
+            }, msg)
+        },
+        //查询删除
+        async remove(form, msg = true) {
+            return httpApi({
+                url: '/api/blade-land/landTypeInfo/remove',
+                method: 'post',
+                params: form,
+            }, msg)
+        },
+}

+ 51 - 0
src/api/modules/base/policy.js

@@ -0,0 +1,51 @@
+import { httpApi } from '../../request/httpApi'
+export default {
+        //获取分页
+        async getPage(form, msg = true) {
+            return httpApi({
+                url: '/api/blade-land/policyInfo/page',
+                method: 'get',
+                params: form,
+            }, msg)
+        },
+        //新增或修改
+        async addOrUpdate(form, msg = true) {
+            return httpApi({
+                url: '/api/blade-land/policyInfo/addOrUpdate',
+                method: 'post',
+                data: form,
+            }, msg)
+        },
+        //查询单个详情
+        async getDetail(form, msg = true) {
+            return httpApi({
+                url: '/api/blade-land/policyInfo/detail',
+                method: 'get',
+                params: form,
+            }, msg)
+        },
+        //查询删除
+        async remove(form, msg = true) {
+            return httpApi({
+                url: '/api/blade-land/policyInfo/remove',
+                method: 'post',
+                params: form,
+            }, msg)
+        },
+        //文件上传
+        async addOrFile(form, msg = true) {
+            return httpApi({
+                url: '/api/blade-land/attachmentInfo/add-file',
+                method: 'post',
+                data: form,
+            }, msg)
+        },
+        //文件删除
+        async deleteFile(form, msg = true) {
+            return httpApi({
+                url: '/api/blade-land/attachmentInfo/delete',
+                method: 'get',
+                params: form,
+            }, msg)
+        },
+}

+ 43 - 0
src/api/modules/base/region.js

@@ -0,0 +1,43 @@
+import { httpApi } from '../../request/httpApi'
+export default {
+        //获取分页
+        async getPage(form, msg = true) {
+            return httpApi({
+                url: '/api/blade-land/landRole/page',
+                method: 'get',
+                params: form,
+            }, msg)
+        },
+        //新增或修改
+        async addOrUpdate(form, msg = true) {
+            return httpApi({
+                url: '/api/blade-land/landRole/addOrUpdate',
+                method: 'post',
+                data: form,
+            }, msg)
+        },
+        //查询单个详情
+        async getDetail(form, msg = true) {
+            return httpApi({
+                url: '/api/blade-land/landRole/detail',
+                method: 'get',
+                params: form,
+            }, msg)
+        },
+        //查询删除
+        async remove(form, msg = true) {
+            return httpApi({
+                url: '/api/blade-land/landRole/remove',
+                method: 'post',
+                params: form,
+            }, msg)
+        },
+        //查询当前项目业主方合同段id
+        async getOwnerId(form, msg = true) {
+            return httpApi({
+                url: '/api/blade-land/landRole/getOwnerId',
+                method: 'get',
+                params: form,
+            }, msg)
+        },
+}

+ 99 - 65
src/views/base/policy.vue

@@ -2,117 +2,134 @@
     <HcCard>
         <template #header>
             <div class="w-36">
-                <el-select v-model="searchForm.projectType" block clearable placeholder="请选择区域" size="large">
-                    <el-option v-for="item in projectType" :label="item.name" :value="item.key"/>
+                <el-select v-model="searchForm.areaId" block clearable placeholder="请选择区域" size="large">
+                    <el-option v-for="item in areaType" :label="item.name" :value="item.key" />
                 </el-select>
             </div>
             <div class="w-36 ml-4">
-                <el-date-picker class="block" v-model="searchForm.startTime" type="date" value-format="YYYY-MM-DD" placeholder="开始日期" clearable size="large"/>
+                <el-date-picker v-model="searchForm.startDate" class="block" type="date" value-format="YYYY-MM-DD" placeholder="开始日期" clearable size="large" />
+            </div>
+            <div class="mx-2">
+                ~
             </div>
-            <div class="mx-2">~</div>
             <div class="w-36">
-                <el-date-picker class="block" v-model="searchForm.endTime" type="date" value-format="YYYY-MM-DD" placeholder="结束日期" clearable size="large"/>
+                <el-date-picker v-model="searchForm.endDate" class="block" type="date" value-format="YYYY-MM-DD" placeholder="结束日期" clearable size="large" />
             </div>
             <div class="w-48 ml-2">
-                <el-input v-model="searchForm.queryValue" clearable placeholder="请输入名称进行查询" size="large"/>
+                <el-input v-model="searchForm.name" clearable placeholder="请输入名称进行查询" size="large" />
             </div>
             <div class="ml-4">
-                <el-button type="primary" @click="searchClick" size="large">
-                    <HcIcon name="search-2"/>
+                <el-button type="primary" size="large" @click="searchClick">
+                    <HcIcon name="search-2" />
                     <span>搜索</span>
                 </el-button>
             </div>
         </template>
         <template #extra>
             <el-button size="large" type="primary" hc-btn @click="addRowClick">
-                <HcIcon name="add"/>
+                <HcIcon name="add" />
                 <span>新增</span>
             </el-button>
             <el-button size="large" type="danger" hc-btn>
-                <HcIcon name="delete-bin"/>
+                <HcIcon name="delete-bin" />
                 <span>删除</span>
             </el-button>
         </template>
-        <HcTable :column="tableColumn" :datas="tableData" :loading="tableLoading" isCheck @selection-change="tableSelectionChange">
-            <template #action="{row,index}">
-                <el-button size="small" type="warning">查看附件</el-button>
-                <el-button size="small" type="primary" @click="editRowClick(row)">编辑</el-button>
-                <el-button size="small" type="danger">删除</el-button>
+        <HcTable :column="tableColumn" :datas="tableData" :loading="tableLoading" is-check @selection-change="tableSelectionChange">
+            <template #action="{ row, index }">
+                <el-button size="small" type="warning">
+                    查看附件
+                </el-button>
+                <el-button size="small" type="primary" @click="editRowClick(row)">
+                    编辑
+                </el-button>
+                <el-button size="small" type="danger">
+                    删除
+                </el-button>
             </template>
         </HcTable>
         <template #action>
-            <HcPages :pages="searchForm" @change="pageChange"/>
+            <HcPages :pages="searchForm" @change="pageChange" />
         </template>
 
-        <!--新增/编辑-->
-        <HcDialog isToBody bgColor="white" :show="rowModal" :title="formModel.id?'编辑':'新增'" widths="62rem" @save="rowModalSave" @close="rowModalClose">
+        <!-- 新增/编辑 -->
+        <HcDialog is-to-body bg-color="white" :show="rowModal" :title="formModel.id ? '编辑' : '新增'" widths="62rem" @save="rowModalSave" @close="rowModalClose">
             <el-form ref="formRef" :model="formModel" :rules="formRules" label-position="left" label-width="auto" size="large">
                 <div class="flex">
                     <div class="flex-1 mr-4">
-                        <el-form-item label="编号" prop="key">
-                            <el-input v-model="formModel.key"/>
+                        <el-form-item label="编号" prop="number">
+                            <el-input v-model="formModel.number" />
                         </el-form-item>
-                        <el-form-item label="名称" prop="key1">
-                            <el-input v-model="formModel.key1"/>
+                        <el-form-item label="名称" prop="name">
+                            <el-input v-model="formModel.name" />
                         </el-form-item>
-                        <el-form-item label="所属区域:" prop="key2">
-                            <el-select block v-model="formModel.key2">
-                                <el-option label="选项1" value="选项1"/>
-                                <el-option label="选项2" value="选项2"/>
+                        <el-form-item label="所属区域:" prop="areaId">
+                            <el-select v-model="formModel.areaId" block>
+                                <el-option label="选项1" value="选项1" />
+                                <el-option label="选项2" value="选项2" />
                             </el-select>
                         </el-form-item>
                         <el-form-item label="多个文件">
-                            <HcFormUpload :src="formModel.key4" @item="formItemClick" @upload="formItemUpload" @change="formItemChange"/>
+                            <HcFormUpload :src="formModel.pdfUrl" @item="formItemClick" @upload="formItemUpload" @change="formItemChange" />
                         </el-form-item>
                     </div>
                     <div class="flex-1 ml-4">
                         <el-form-item label="备注:">
-                            <el-input type="textarea" v-model="formModel.key3" :autosize="{ minRows: 6, maxRows: 10 }"/>
+                            <el-input v-model="formModel.remark" type="textarea" :autosize="{ minRows: 6, maxRows: 10 }" />
                         </el-form-item>
                     </div>
                 </div>
             </el-form>
         </HcDialog>
 
-        <HcUploadFile ref="HcUploadFileRef" :options="UploadFileOptions" @success="HcUploadFileSuccess"/>
+        <HcUploadFile ref="HcUploadFileRef" :options="UploadFileOptions" :params="{ projectId }" @success="HcUploadFileSuccess" @error="HcUploadFileEroor" />
     </HcCard>
 </template>
 
 <script setup>
-import {ref} from "vue";
-import {useRouter} from 'vue-router'
-import {getTokenHeader} from "~src/api/request/header";
+import { onMounted, ref } from 'vue'
+import { getTokenHeader } from '~src/api/request/header'
+import policyApi from '~api/base/policy.js'
+import { useAppStore } from '~src/store'
+import { getArrValue } from 'js-fast-way'
 
-const router = useRouter()
+const useAppState = useAppStore()
+const projectId = ref(useAppState.getProjectId)
 
+onMounted(()=>{
+    getTableData()
+})
 //上传配置
 const HcUploadFileRef = ref(null)
 const UploadFileOptions = {
-    headers: getTokenHeader()
+    headers: getTokenHeader(),
+    url:'/api/blade-land/attachmentInfo/add-file',
+    accept_tip:'只能上传doc或pdf文件',
+    accept:'application/pdf,.doc,.docx,application/msword',
 }
 
 //项目类型
-const projectType = ref([
-    {name: '二级路', key: '二级路'},
-    {name: '国道', key: '国道'},
-    {name: '水利水电', key: '水利水电'},
-    {name: '市政', key: '市政'},
+const areaType = ref([
+    { name: '二级路', key: '二级路' },
+    { name: '国道', key: '国道' },
+    { name: '水利水电', key: '水利水电' },
+    { name: '市政', key: '市政' },
 ])
 
 //搜索表单
 const searchForm = ref({
-    projectType: null, queryValue: null, startTime: null, endTime: null,
-    current: 1, size: 20, total: 0
+    areaId: null, name: null, startDate: null, endDate: null,
+    current: 1, size: 20, total: 0,
 })
 
 //搜索
 const searchClick = () => {
-    searchForm.value.current = 1;
+    searchForm.value.current = 1
     getTableData()
 }
 
 //分页被点击
-const pageChange = ({current, size}) => {
+const pageChange = ({ current, size }) => {
     searchForm.value.current = current
     searchForm.value.size = size
     getTableData()
@@ -121,23 +138,36 @@ const pageChange = ({current, size}) => {
 //获取数据
 const tableLoading = ref(false)
 const tableColumn = [
-    {key: 'key', name: '编号', width: '120'},
-    {key: 'key1', name: '名称'},
-    {key: 'key2', name: '上传日期', width: '140', align: 'center'},
-    {key: 'key3', name: '备注', width: '200', isTooltip: true},
-    {key: 'action', name: '操作', width: '220', align: 'center'},
+    { key: 'number', name: '编号', width: '120' },
+    { key: 'name', name: '名称' },
+    { key: 'uploadDate', name: '上传日期', width: '140', align: 'center' },
+    { key: 'remark', name: '备注', width: '200', isTooltip: true },
+    { key: 'action', name: '操作', width: '220', align: 'center' },
 ]
 const tableData = ref([
-    {id: 1, key: 'YS-01', key1: 'xxxx', key2: 'xxxx', key3: '65632', key4: ''},
-    {id: 2, key: 'YS-01', key1: 'xxxx', key2: 'xxxx', key3: '65632', key4: ''},
-    {id: 3, key: 'YS-01', key1: 'xxxx', key2: 'xxxx', key3: '65632', key4: ''},
-    {id: 4, key: 'YS-01', key1: 'xxxx', key2: 'xxxx', key3: '65632', key4: ''},
-    {id: 5, key: 'YS-01', key1: 'xxxx', key2: 'xxxx', key3: '65632', key4: ''},
-    {id: 6, key: 'YS-01', key1: 'xxxx', key2: 'xxxx', key3: '65632', key4: ''},
+    { id: 1, key: 'YS-01', key1: 'xxxx', key2: 'xxxx', key3: '65632', key4: '' },
+    { id: 2, key: 'YS-01', key1: 'xxxx', key2: 'xxxx', key3: '65632', key4: '' },
+    { id: 3, key: 'YS-01', key1: 'xxxx', key2: 'xxxx', key3: '65632', key4: '' },
+    { id: 4, key: 'YS-01', key1: 'xxxx', key2: 'xxxx', key3: '65632', key4: '' },
+    { id: 5, key: 'YS-01', key1: 'xxxx', key2: 'xxxx', key3: '65632', key4: '' },
+    { id: 6, key: 'YS-01', key1: 'xxxx', key2: 'xxxx', key3: '65632', key4: '' },
 ])
 
-const getTableData = () => {
-
+const getTableData = async () => {
+    tableLoading.value = true
+    const { error, code, data } = await policyApi.getPage({
+        ...searchForm.value,
+        projectId: projectId.value,
+        type:1,
+    })
+    tableLoading.value = false
+    if (!error && code === 200) {
+        tableData.value = getArrValue(data['records'])
+        searchForm.value.total = data['total'] || 0
+    } else {
+        tableData.value = []
+        searchForm.value.total = 0
+    }
 }
 
 //多选事件
@@ -148,12 +178,12 @@ const tableSelectionChange = (rows) => {
 //弹窗
 const rowModal = ref(false)
 const formRef = ref(null)
-const formModel = ref({})
+const formModel = ref({ pdfUrl:'key1' })
 const formRules = {
-    key: [{required: true, message: '请输入编号', trigger: 'blur'}],
-    key1: [{required: true, message: '请输入名称', trigger: 'blur'}],
-    key2: [{required: true, message: '请选择所属区域', trigger: 'change'}],
-    key3: [{required: true, message: '请输入备注', trigger: 'blur'}],
+    number: [{ required: true, message: '请输入编号', trigger: 'blur' }],
+    name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
+    areaId: [{ required: true, message: '请选择所属区域', trigger: 'change' }],
+    remark: [{ required: true, message: '请输入备注', trigger: 'blur' }],
 }
 
 //新增
@@ -181,20 +211,24 @@ const rowModalClose = () => {
 
 //上传
 const formItemUpload = () => {
-    HcUploadFileRef.value?.selectFile();
+    HcUploadFileRef.value?.selectFile()
 }
 
 // 文件上传成功的回调
 const HcUploadFileSuccess = (res) => {
     console.log('文件上传成功', res)
 }
-
-const formItemClick = ({item, index}) => {
+//文件上传失败HcUploadFileEroor
+const HcUploadFileEroor = ({ resData }) => {
+    console.log('文件失败', resData.response.data.msg)
+}
+const formItemClick = ({ item, index }) => {
 
 }
 
 //文件变化
 const formItemChange = (src) => {
-    formModel.value.key5 = src
+    console.log(src, 'src')
+    formModel.value.pdfUrl = src
 }
 </script>

File diff suppressed because it is too large
+ 362 - 311
yarn.lock


Some files were not shown because too many files changed in this diff